:root { --blue:#1859f4; --ink:#0b1533; --muted:#58647f; --line:#e1e7f0; }
* { box-sizing:border-box; }
html { line-height:1.5; }
body { margin:0; min-height:100vh; color:var(--ink); background:#fff; font-family:"DM Sans",system-ui,sans-serif; }
a { text-decoration:none; }
.container { width:100%; margin-inline:auto; }
.card { background:#fff; }
.card-body { width:100%; }
.card-title { margin-top:0; }
.form-label { display:block; margin-bottom:7px; font-size:13px; font-weight:600; }
.form-control { display:block; width:100%; padding:13px 14px; color:var(--ink); background:#fff; border:1px solid var(--line); }
.form-floating { display:flex; flex-direction:column; margin-bottom:16px; }
.form-floating > label { order:-1; margin-bottom:7px; font-size:13px; font-weight:600; }
.form-floating > .form-control::placeholder { color:transparent; }
.form-check { display:flex; align-items:center; gap:9px; }
.form-check-input { width:17px; height:17px; margin:0; }
.form-check-label { font-size:13px; }
.btn { display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; color:#fff; cursor:pointer; }
.w-100,.d-grid .btn { width:100%; }.d-grid{display:grid}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mt-3{margin-top:1rem}.text-center{text-align:center}.d-inline{display:inline}.text-danger{color:#b42318}.alert{padding:12px 14px;margin-bottom:18px;border-radius:8px;font-size:13px}.alert-danger{color:#8b1e16;background:#fff0ee;border:1px solid #ffd0ca}.alert-success{color:#146c43;background:#eaf8f0;border:1px solid #bde8cf}
.auth-brand { position:fixed; z-index:2; top:28px; left:42px; display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; font-size:22px; font-weight:700; letter-spacing:-.04em; }
.auth-brand > span { width:28px; height:28px; display:grid; grid-template-columns:1fr 1fr; gap:3px; transform:rotate(-10deg); }
.auth-brand i { display:block; border-radius:10px 2px; background:var(--blue); }.auth-brand i+i { border-radius:2px 10px; background:#fff; }
.auth-shell { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; }
.auth-story { position:relative; overflow:hidden; padding:130px max(45px,8vw) 70px; display:flex; flex-direction:column; justify-content:center; color:#fff; background:radial-gradient(circle at 15% 85%,#173378 0,transparent 30%),var(--ink); }
.auth-story:after { content:""; position:absolute; right:-170px; bottom:-170px; width:440px; height:440px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); }
.auth-story > * { position:relative; z-index:1; }
.auth-story h1 { max-width:630px; margin:22px 0; font-size:clamp(48px,5.8vw,82px); line-height:.96; letter-spacing:-.055em; font-weight:700; }
.auth-story p { max-width:520px; color:#bdc7dd; font-size:17px; line-height:1.6; }
.auth-kicker { color:#8eaeff; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:700; }
.auth-story ul { display:flex; flex-wrap:wrap; gap:12px 24px; margin:45px 0 0; padding:0; list-style:none; color:#dce4f7; font-size:12px; }.auth-story b { margin-right:7px; color:#7ea2ff; }
.auth-form { display:grid; place-items:center; padding:90px 40px 40px; background:radial-gradient(circle at 80% 20%,#edf2ff,#fff 42%); }
.auth-form > .container { width:100%; max-width:580px; padding:0!important; }
.auth-form .card { width:100%!important; max-width:500px; margin:auto; border:1px solid var(--line); border-radius:14px; box-shadow:0 22px 60px rgba(22,44,94,.1)!important; }
.auth-form .card-body { padding:38px; }
.auth-form .card-title { margin-bottom:30px!important; font-size:30px; letter-spacing:-.035em; font-weight:700; }
.auth-form .form-control { min-height:58px; border-color:var(--line); border-radius:8px; }.auth-form .form-control:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(24,89,244,.12); }
.auth-form .btn-primary { min-height:50px; border:0; border-radius:7px; background:var(--blue); font-weight:700; }.auth-form .btn-primary:hover { background:#1048cf; }
.auth-form a { color:var(--blue); font-weight:600; }.auth-form p { color:var(--muted); font-size:13px; }
@media(max-width:850px){.auth-brand{top:22px;left:24px}.auth-shell{grid-template-columns:1fr}.auth-story{min-height:430px;padding:110px 24px 55px}.auth-story h1{font-size:48px}.auth-form{padding:55px 20px}.auth-form .card-body{padding:28px}}
