.app-container:has(.auth-page) { max-width:none; padding:0; }
.auth-page { min-height:calc(100dvh - 1px); padding:48px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:radial-gradient(ellipse at 50% 10%,#003d292e,transparent 60%),#080a09; font-family:var(--bs-font-monospace); }
.auth-brand { display:flex; align-items:center; gap:10px; color:#eee; font-size:13px; font-weight:700; letter-spacing:1px; text-decoration:none; margin-bottom:32px; }
.auth-brand img { border-radius:10px; }
.auth-card { width:100%; max-width:440px; padding:36px; border:1px solid #26302b; border-radius:24px; background:#0c100eee; box-shadow:0 24px 80px #0005; }
.auth-eyebrow { font-size:9px; letter-spacing:1.6px; color:#00c793; }
.auth-card h1 { font-size:27px; letter-spacing:-1px; margin:14px 0 10px; color:#f1f5f3; font-weight:700; }
.auth-intro { font-size:12px; line-height:1.7; color:#9ca9a2; margin-bottom:28px; }
.auth-field { margin-bottom:20px; }
.auth-field label { display:block; font-size:12px; color:#d6dfda; margin-bottom:9px; }
.auth-field input { display:block; width:100%; min-width:0; border:1px solid #303b35; border-radius:10px; background:#111813; color:#f2f6f4; padding:13px 14px; min-height:48px; font:inherit; font-size:16px; transition:border-color .15s,box-shadow .15s; }
.auth-field input::placeholder { color:#77827b; font-size:12px; }
.auth-field input:focus { outline:none; border-color:#00bd89; box-shadow:0 0 0 3px #00bd891a; }
.auth-password { position:relative; }
.auth-password input { padding-right:67px; }
.auth-password button { position:absolute; right:7px; top:5px; bottom:5px; padding:0 10px; border:0; border-radius:7px; background:transparent; color:#a5b7ab; font:inherit; font-size:11px; }
.auth-password button:hover { background:#233328; color:#fff; }
.auth-hint { font-size:10px; line-height:1.7; color:#8d9d93; margin:9px 0 0; }
.auth-submit { width:100%; display:flex; justify-content:center; align-items:center; gap:14px; margin-top:26px; min-height:48px; border:1px solid #00a77a; border-radius:12px; color:#fff; background:#009b70; font:inherit; font-size:13px; font-weight:700; box-shadow:0 5px 24px #00b87e18; }
.auth-submit:hover { background:#00ad7d; }
.auth-page a:focus-visible,.auth-page button:focus-visible { outline:2px solid #67e9be; outline-offset:4px; }
.auth-switch { margin:25px 0 0; padding-top:24px; border-top:1px solid #222e27; text-align:center; color:#97a69d; font-size:11px; line-height:1.8; }
.auth-switch a { color:#38dba7; text-decoration:none; white-space:nowrap; }
.auth-switch a:hover { text-decoration:underline; }
.auth-back { color:#91a298; margin-top:26px; font-size:11px; text-decoration:none; }
.auth-errors.validation-summary-valid { display:none; }
.auth-errors { background:#351816; border:1px solid #71332c; border-radius:10px; color:#ffb4a9; padding:12px 14px; margin-bottom:20px; font-size:12px; }
.auth-errors ul { padding-left:16px; margin:0; }
.auth-field .field-validation-error { display:block; color:#ffb4a9; font-size:11px; margin-top:8px; }
.auth-field [data-valmsg-for] { display:block; min-height:16px; margin-top:8px; font-size:11px; }
.auth-field input.input-validation-error { border-color:#cf6b60; }
@media(max-width:480px) { .auth-page { padding:32px 18px; justify-content:flex-start; } .auth-brand { margin:10px 0 28px; } .auth-card { padding:28px 23px; border-radius:20px; } .auth-card h1 { font-size:25px; } }
@media(prefers-reduced-motion:reduce) { .auth-field input { transition:none; } }
