*{box-sizing:border-box}
:root,:root[data-theme="dark"]{--page-1:#101e2a;--page-2:#07111a;--page-3:#040b11;--panel:rgba(10,23,33,.90);--panel-border:rgba(128,149,164,.30);--field:rgba(6,17,26,.72);--field-border:#3a4a57;--field-hover:#536572;--field-focus:#e33431;--text:#f5f7f8;--muted:#9aa7b1;--label:#edf1f3;--placeholder:#73828d;--icon:#85939d;--divider:rgba(119,140,153,.15);--shadow:0 26px 70px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.025);color-scheme:dark}
:root[data-theme="light"]{--page-1:#f7f9fb;--page-2:#eef2f5;--page-3:#e8edf1;--panel:rgba(255,255,255,.94);--panel-border:rgba(55,77,92,.16);--field:#fff;--field-border:#cfd7de;--field-hover:#b5c0c9;--field-focus:#df312f;--text:#13202a;--muted:#73808a;--label:#1f2d37;--placeholder:#9aa5ad;--icon:#84939d;--divider:rgba(74,96,111,.12);--shadow:0 26px 70px rgba(24,42,55,.13),inset 0 1px 0 rgba(255,255,255,.8);color-scheme:light}
html,body{margin:0;width:100%;min-height:100%;font-family:Inter,"Segoe UI",Arial,sans-serif}
body.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:26px 18px;color:var(--text);background:radial-gradient(circle at 50% 5%,rgba(48,83,109,.25),transparent 37%),radial-gradient(circle at 50% 100%,rgba(16,51,74,.18),transparent 42%),linear-gradient(155deg,var(--page-1) 0%,var(--page-2) 62%,var(--page-3) 100%)}
:root[data-theme="light"] body.auth-page{background:radial-gradient(circle at 18% 8%,rgba(100,126,143,.10),transparent 32%),radial-gradient(circle at 82% 95%,rgba(223,49,47,.055),transparent 35%),linear-gradient(155deg,var(--page-1) 0%,var(--page-2) 62%,var(--page-3) 100%)}
.theme-toggle{position:fixed;top:20px;right:22px;min-width:84px;height:36px;padding:0 13px;border:1px solid var(--panel-border);border-radius:999px;background:var(--panel);color:var(--text);font:700 12px/1 Inter,"Segoe UI",Arial,sans-serif;cursor:pointer}
.login-card{width:min(100%,490px);padding:40px 42px 32px;background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.login-card.wide{width:min(100%,570px)}.logo-area{height:92px;display:flex;align-items:center;justify-content:center;margin-bottom:21px}.logo-area img{display:block;width:auto;height:auto;max-width:145px;max-height:88px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18))}.logo-fallback{display:grid;place-items:center;width:88px;height:88px;background:#ed0016;color:#fff;font-size:26px;font-weight:800;font-style:italic}
.title-area{text-align:center;margin-bottom:32px}.portal-title{margin:0 0 7px;color:var(--text);font-size:27px;line-height:1.22;font-weight:750;letter-spacing:-.35px}.portal-subtitle{margin:0;color:var(--muted);font-size:16px;line-height:1.4}
.error-message{margin:0 0 18px;padding:10px 12px;color:#ffd8da;background:rgba(126,21,27,.34);border:1px solid rgba(229,54,61,.45);border-radius:8px;font-size:13px;line-height:1.4}:root[data-theme="light"] .error-message{color:#8d1718;background:rgba(223,49,47,.08);border-color:rgba(223,49,47,.24)}
.login-form{margin:0}.form-group{margin-bottom:18px}.form-label{display:block;margin-bottom:7px;color:var(--label);font-size:14px;line-height:1.3;font-weight:500}.input-wrap{position:relative}
.form-input{display:block;width:100%;height:54px;padding:0 44px;color:var(--text);background:var(--field);border:1px solid var(--field-border);border-radius:8px;outline:none;font-family:inherit;font-size:15px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.form-input::placeholder{color:var(--placeholder)}.form-input:hover{border-color:var(--field-hover)}.form-input:focus{border-color:var(--field-focus);box-shadow:0 0 0 3px rgba(227,52,49,.10)}
.input-icon{position:absolute;left:15px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--icon);pointer-events:none}.input-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.password-toggle{position:absolute;right:12px;top:50%;width:32px;height:32px;transform:translateY(-50%);display:grid;place-items:center;padding:0;color:var(--muted);background:transparent;border:0;border-radius:6px;cursor:pointer}.password-toggle:hover{color:var(--text);background:rgba(255,255,255,.04)}.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-button{width:100%;height:56px;margin-top:8px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#e83a37,#ce2826);border:1px solid rgba(255,255,255,.05);border-radius:8px;font-family:inherit;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 10px 23px rgba(215,39,36,.16)}.login-button:hover{filter:brightness(1.06);box-shadow:0 14px 28px rgba(215,39,36,.23)}
.security-footer{margin-top:25px;padding-top:20px;border-top:1px solid var(--divider);color:var(--muted);text-align:center;font-size:11px;line-height:1.55}.security-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:2px}.security-row svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.account-box{margin-bottom:18px;padding:11px 13px;border:1px solid var(--field-border);border-radius:8px;background:var(--field);color:var(--muted);font-size:13px}.account-box strong{color:var(--text)}
.otp-input{padding:0 18px;text-align:center;letter-spacing:8px;font-size:22px;font-variant-numeric:tabular-nums}.help-text{margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.55;text-align:center}
.recovery-details{margin-top:18px;padding-top:15px;border-top:1px solid var(--divider)}.recovery-details summary{cursor:pointer;color:var(--muted);font-size:12px;text-align:center}.logout-form{margin-top:21px;text-align:center}.logout-link{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}
.qr-layout{display:grid;grid-template-columns:188px 1fr;gap:24px;align-items:center;margin-bottom:22px}.qr-box{width:188px;height:188px;padding:10px;border-radius:10px;background:#fff;border:1px solid rgba(128,149,164,.28);display:grid;place-items:center}.qr-box img{width:166px;height:166px;display:block}.qr-copy h2{margin:0 0 8px;color:var(--text);font-size:18px}.qr-copy p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.55}.manual-key{margin-top:15px;padding-top:13px;border-top:1px solid var(--divider)}.manual-key summary{color:var(--muted);cursor:pointer;font-size:12px}.setup-key{display:block;margin-top:10px;padding:10px;border:1px solid var(--field-border);border-radius:7px;background:var(--field);color:var(--text);overflow-wrap:anywhere;font:600 12px/1.45 ui-monospace,Consolas,monospace}
.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.recovery-code{padding:11px 8px;border:1px solid var(--field-border);border-radius:8px;background:var(--field);color:var(--text);text-align:center;font:600 12px/1.3 ui-monospace,Consolas,monospace}
@media(max-width:600px){body.auth-page{padding:18px 13px}.theme-toggle{top:12px;right:12px}.login-card{width:100%;padding:28px 22px 25px;border-radius:15px}.logo-area{height:72px;margin-bottom:18px}.logo-area img{max-width:115px;max-height:70px}.portal-title{font-size:23px}.portal-subtitle{font-size:14px}.title-area{margin-bottom:26px}.form-input{height:52px}.login-button{height:53px}.qr-layout{grid-template-columns:1fr;text-align:center}.qr-box{margin:0 auto}.recovery-grid{grid-template-columns:1fr}}
