:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172b40;background:#f4f7fa;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}[hidden]{display:none!important}
.auth-body{min-height:100svh;display:grid;place-items:center;padding:48px 20px;background:radial-gradient(ellipse at 15% 10%,#dceee9aa,transparent 50%),radial-gradient(ellipse at 95% 90%,#e0e9f1bb,transparent 50%),#f4f7fa}
.auth-shell{width:min(100%,440px)}.auth-settings{width:min(100%,520px)}
.auth-brand{display:flex;align-items:center;justify-content:center;gap:11px;margin:0 auto 28px;text-decoration:none;color:#173951;letter-spacing:2px;font-weight:750;font-size:22px}
.auth-brand small{display:block;font-size:9px;font-weight:600;letter-spacing:3px;margin-top:4px}.auth-brand img{flex-shrink:0}
.auth-card{background:#fff;border:1px solid #e0e7ed;border-radius:20px;padding:34px;box-shadow:0 12px 48px #233c5410}
.auth-eyebrow{display:block;font-size:10px;letter-spacing:1.7px;font-weight:700;color:#648079;margin-bottom:12px}
h1{font-size:29px;letter-spacing:-1.1px;line-height:1.15;margin:0 0 13px;font-weight:650}h2{font-size:15px;margin:22px 0 9px;letter-spacing:-.2px}
.auth-description{font-size:14px;line-height:1.65;color:#738293;margin:0 0 25px}
label{display:block;font-size:12px;font-weight:650;margin:18px 0 8px}
input{width:100%;border:1px solid #d4dfe6;background:#fcfdfe;border-radius:9px;min-height:46px;padding:12px 13px;color:#172b40;font-size:16px;transition:border-color .15s,box-shadow .15s}
input:focus{outline:none;border-color:#367a69;box-shadow:0 0 0 3px #367a6915;background:white}
button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #4d9c88;outline-offset:4px}
.auth-primary,.auth-secondary{width:100%;min-height:46px;border-radius:9px;font-size:13px;font-weight:650;margin-top:18px;padding:11px 15px}
.auth-primary{background:#153e38;color:white;border:1px solid #153e38;display:flex;align-items:center;justify-content:center;gap:12px}.auth-primary:hover{background:#205449}.auth-primary span{font-size:18px;line-height:1}
.auth-secondary{background:#f8fafb;color:#354d60;border:1px solid #dce5eb}.auth-secondary:hover{background:#edf3f6}
.auth-text-button{border:0;background:none;color:#496576;font-size:12px;padding:10px 0}.auth-text-button:hover{color:#153e38;text-decoration:underline}
#login-back{display:block;margin:12px auto 0}
.auth-hint{font-size:12px;color:#728393;line-height:1.7;margin:12px 0}
.auth-message{font-size:12px;line-height:1.65;color:#506c7d;margin:0}.auth-message:not(:empty){padding:11px 13px;border-radius:8px;background:#f0f5f7;margin-bottom:15px}.auth-message.error{color:#983d39;background:#fff1ef}.auth-message.success{color:#246655;background:#edf8f1}
.auth-footnote{display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid #edf1f4;margin-top:26px;padding-top:19px;font-size:10px;color:#8b99a6}.auth-dot{width:5px;height:5px;border-radius:50%;background:#5d927d}
.auth-caption{text-align:center;font-size:10px;color:#8b99a6;margin:22px 0 0;letter-spacing:.3px}
.auth-back{display:inline-block;text-decoration:none;font-size:11px;color:#718394;margin-bottom:25px}.auth-back:hover{color:#1c5347}
.auth-status{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;padding:16px 0;margin:0 0 16px;border-top:1px solid #edf1f4;border-bottom:1px solid #edf1f4}.auth-status strong{border-radius:20px;padding:5px 10px;font-size:10px;white-space:nowrap;background:#f0f3f6;color:#718394}.auth-status strong.enabled{background:#e9f5ee;color:#28715a}
.auth-qr{display:block;margin:18px auto;background:white;width:240px;max-width:100%;height:auto;border:1px solid #e1e8ed;border-radius:12px}
details{font-size:12px;color:#64798b;line-height:1.7}summary{cursor:pointer;padding:7px 0}.auth-manual code{display:block;word-break:break-all;background:#f4f7f9;padding:12px;border-radius:8px;font-size:12px;user-select:all}
.auth-recovery{padding:0 16px 16px;margin:22px 0;background:#f5f9f6;border:1px solid #dceadf;border-radius:12px}.auth-codes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.auth-codes code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;color:#285b4b;user-select:all}
.auth-session{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #edf1f4;margin-top:26px;padding-top:14px;color:#8b99a6;font-size:10px}
@media(max-width:480px){.auth-body{padding:26px 16px}.auth-card{padding:26px 22px;border-radius:16px}h1{font-size:27px}.auth-brand{margin-bottom:24px}.auth-codes{grid-template-columns:1fr}.auth-status{font-size:11px}.auth-session{align-items:flex-start}}
