:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#090e14;--panel:#111923;--surface:#182431;--border:#2b3c4c;--border-strong:#405669;--text:#edf4f8;--muted:#91a4b4;--accent:#4ca6df;--accent-strong:#75bee9;--accent-soft:#16354a;--good:#45c785;--bad:#ef7180;--bad-soft:#44232a}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);line-height:1.45}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);padding:34px;border:1px solid var(--border-strong);border-top:4px solid var(--accent);border-radius:20px;background:var(--panel);box-shadow:0 24px 70px rgba(31,55,72,.18)}
.brand-mark{display:flex;align-items:center;gap:12px;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--border)}.brand-mark img{width:54px;height:54px;object-fit:contain}.brand-mark div{display:grid;font-weight:850;letter-spacing:.13em}.brand-mark span{color:var(--accent-strong)}.brand-mark small{margin-top:2px;color:var(--muted);font-size:.63rem}.eyebrow{margin:0 0 7px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1{margin:0 0 8px;font-size:clamp(1.65rem,5vw,2.1rem);line-height:1.2;letter-spacing:-.025em}.intro>p:last-child{margin:0 0 24px;color:var(--muted)}
form{display:grid;gap:8px}label{margin-top:7px;color:var(--text);font-size:.8rem;font-weight:720}input{width:100%;min-height:44px;padding:11px 13px;border:1px solid var(--border-strong);border-radius:9px;outline:none;background:#fff;color:var(--text);font:inherit;transition:border-color .14s ease,box-shadow .14s ease}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(23,111,168,.15)}.password-field{position:relative}.password-field input{padding-right:48px}
.password-toggle{position:absolute;top:50%;right:6px;width:36px;height:36px;margin:0;padding:8px;transform:translateY(-50%);border:0;border-radius:8px;background:transparent;box-shadow:none;color:var(--muted)}.password-toggle:hover{background:var(--accent-soft);color:var(--accent-strong);filter:none}.password-toggle svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.password-toggle.visible{color:var(--accent)}
button{min-height:44px;margin-top:13px;padding:10px 13px;border:1px solid transparent;border-radius:9px;background:var(--accent);color:#fff;font:inherit;font-weight:800;cursor:pointer;transition:background-color .14s ease,box-shadow .14s ease,transform .08s ease}button:hover{background:var(--accent-strong);box-shadow:0 4px 12px rgba(13,89,137,.2)}button:active{transform:translateY(1px)}button:disabled{opacity:.58;cursor:wait;box-shadow:none}.error{margin-top:8px;padding:10px 12px;border:1px solid #dc969d;border-left:4px solid var(--bad);border-radius:9px;background:var(--bad-soft);color:#8f2632;font-size:.82rem}
.requirements{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:5px 0;color:var(--muted);font-size:.74rem}.requirements span::before{content:"○";margin-right:6px}.requirements span.met{color:var(--good)}.requirements span.met::before{content:"✓"}.text-button{margin-top:2px;border-color:var(--border-strong);background:#fff;box-shadow:none;color:var(--accent-strong);font-size:.8rem}.text-button:hover{border-color:var(--accent);background:var(--accent-soft);box-shadow:none}footer{margin-top:24px;padding-top:17px;border-top:1px solid var(--border);color:var(--muted);font-size:.73rem;text-align:center}.status-dot{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--good)}:focus-visible{outline:3px solid rgba(23,111,168,.28);outline-offset:2px}
@media(max-width:480px){.login-shell{padding:12px}.login-card{padding:25px 20px;border-radius:16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Dark authentication theme */
input{background:#0c131b}input:focus{box-shadow:0 0 0 3px rgba(76,166,223,.18)}
button{background:#287fb5}button:hover{background:#3495cf;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.error{border-color:#75404a;border-left-color:var(--bad);background:var(--bad-soft);color:#ffc2c9}
.text-button{border-color:var(--border-strong);background:#172633;color:#b9dff5}.text-button:hover{border-color:var(--accent);background:var(--accent-soft)}
:focus-visible{outline-color:rgba(76,166,223,.32)}
