:root { --auth-primary:#14458c; --auth-ink:#0f172a; --auth-muted:#667085; --auth-border:#e4e7ec; --auth-soft:#f5f7fb; }
* { box-sizing:border-box; }
body.auth-body { min-height:100vh; margin:0; background: radial-gradient(circle at top right, rgba(20,69,140,.14), transparent 34%), var(--auth-soft); color:#344054; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.auth-header { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--auth-border); background:rgba(255,255,255,.92); padding:10px max(20px,4vw); backdrop-filter:blur(14px); }
.auth-header > a:last-child { color:var(--auth-primary); font-size:13px; font-weight:800; text-decoration:none; }
.auth-brand { display:inline-flex; align-items:center; gap:10px; color:var(--auth-ink); text-decoration:none; }
.auth-brand img, .auth-brand span { width:40px; height:40px; display:grid; place-items:center; border-radius:9px; object-fit:contain; background:linear-gradient(135deg,var(--auth-primary),#2671cf); color:#fff; font-weight:900; }
.auth-main { min-height:calc(100vh - 70px); display:grid; place-items:center; padding:42px 20px; }
.auth-messages { width:min(520px,100%); margin:0 auto 12px; }
.auth-message { border:1px solid #abefc6; border-radius:9px; background:#ecfdf3; padding:10px 12px; color:#067647; font-size:13px; font-weight:700; }
.auth-card { width:min(460px,100%); border:1px solid var(--auth-border); border-radius:20px; background:#fff; padding:clamp(26px,5vw,42px); box-shadow:0 28px 80px rgba(15,23,42,.12); }
.auth-card-wide { width:min(680px,100%); }
.auth-card-heading { margin-bottom:26px; text-align:center; }
.auth-kicker { color:var(--auth-primary); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.auth-card h1 { margin:8px 0 7px; color:var(--auth-ink); font-size:32px; line-height:1.08; letter-spacing:-.04em; }
.auth-card-heading p { margin:0; color:var(--auth-muted); font-size:14px; }
.auth-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.auth-field { display:grid; gap:7px; margin-bottom:17px; }
.auth-field-full { grid-column:1/-1; }
.auth-field label { color:var(--auth-ink); font-size:11px; font-weight:800; }
.auth-label-row { display:flex; justify-content:space-between; gap:12px; }
.auth-label-row a { color:var(--auth-primary); font-size:11px; font-weight:750; text-decoration:none; }
.auth-input, .auth-field input { width:100%; min-height:48px; border:1px solid #d0d5dd; border-radius:9px; background:#fff; padding:11px 13px; color:var(--auth-ink); font:inherit; font-size:14px; outline:none; }
.auth-input:focus, .auth-field input:focus { border-color:var(--auth-primary); box-shadow:0 0 0 4px rgba(20,69,140,.1); }
.auth-field > span { color:#b42318; font-size:11px; font-weight:700; }
.auth-field small { color:var(--auth-muted); font-size:10px; line-height:1.45; }
.auth-password-wrap { position:relative; }
.auth-password-wrap input { padding-right:64px; }
.auth-password-wrap button { position:absolute; top:50%; right:8px; transform:translateY(-50%); border:0; background:transparent; color:var(--auth-primary); font-size:11px; font-weight:800; cursor:pointer; }
.auth-submit, .auth-social { width:100%; min-height:48px; display:flex; align-items:center; justify-content:center; border-radius:9px; font:inherit; font-size:13px; font-weight:850; text-decoration:none; cursor:pointer; }
.auth-submit { border:1px solid var(--auth-primary); background:var(--auth-primary); color:#fff; box-shadow:0 12px 28px rgba(20,69,140,.2); }
.auth-social { border:1px solid var(--auth-border); background:#fff; color:var(--auth-ink); }
.auth-divider { display:flex; align-items:center; gap:12px; margin:22px 0; color:#98a2b3; font-size:10px; text-transform:uppercase; }
.auth-divider::before, .auth-divider::after { content:""; height:1px; flex:1; background:var(--auth-border); }
.auth-footer-copy { margin:20px 0 0; text-align:center; color:var(--auth-muted); font-size:12px; }
.auth-footer-copy a { color:var(--auth-primary); font-weight:800; text-decoration:none; }
.auth-form-alert { margin-bottom:16px; border:1px solid #fecdca; border-radius:9px; background:#fef3f2; padding:11px 12px; color:#b42318; font-size:12px; }
@media(max-width:620px){ .auth-grid{grid-template-columns:1fr}.auth-field-full{grid-column:auto}.auth-card{padding:25px 20px}.auth-header{padding-inline:14px}.auth-brand strong{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} }
