:root{color-scheme:dark;--bg:#081019;--panel:#111d2a;--line:#24374a;--text:#edf5ff;--muted:#91a5ba;--accent:#43b9d5;--bad:#ff7e87}
*{box-sizing:border-box}
html{min-width:320px;min-height:100%;background:var(--bg)}
body{min-height:100vh;margin:0;color:var(--text);font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 50% 4%,#143652 0,transparent 43rem),radial-gradient(ellipse at 50% 100%,#10202b 0,transparent 32rem),var(--bg)}
.login-shell{min-height:100vh;display:grid;place-items:center;align-content:center;padding:28px 20px;gap:24px}
.login-card{width:min(100%,400px);padding:40px 40px 32px;text-align:center;background:linear-gradient(145deg,#132232f2,#0e1925f5);border:1px solid #2a4054;border-radius:20px;box-shadow:0 28px 90px #0008,inset 0 1px #ffffff0b;position:relative;overflow:hidden}
.login-card:before{content:"";position:absolute;inset:0 18% auto;height:1px;background:linear-gradient(90deg,transparent,#43b9d599,transparent)}
.brand-mark{width:72px;height:72px;margin:0 auto 19px;display:grid;place-items:center;border:1px solid #3d6477;border-radius:20px;background:linear-gradient(145deg,#193247,#10202d);box-shadow:0 10px 30px #0004}
.brand-mark img{width:52px;height:52px;object-fit:contain}
.eyebrow{margin:0 0 8px;color:#61c7df;font-size:.68rem;font-weight:750;letter-spacing:.16em}
h1{margin:0;font-size:1.8rem;line-height:1.2;letter-spacing:-.035em}
.intro{margin:9px 0 24px;color:var(--muted);font-size:.94rem}
.login-form{display:grid;gap:16px;text-align:left}
.field{min-width:0}
label{display:block;margin:0 0 7px;color:#c2d1df;font-size:.84rem;font-weight:650}
input{display:block;width:100%;height:48px;margin:0;padding:0 14px;border:1px solid #2d4357;border-radius:10px;outline:0;background:#09131e;color:var(--text);font:inherit;transition:border-color .16s,box-shadow .16s}
input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #43b9d526}
button{width:100%;height:49px;margin:3px 0 0;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;background:linear-gradient(110deg,#39b8dc,#59cbe0);color:#07131b;font:inherit;font-weight:780;cursor:pointer;box-shadow:0 8px 22px #34a8c333;transition:filter .16s,transform .16s}
button:hover{filter:brightness(1.08);transform:translateY(-1px)}
button:focus-visible{outline:3px solid #b5f1ff;outline-offset:3px}
button span{font-size:1.2rem;line-height:1}
.login-error{margin:0 0 14px;padding:10px 12px;border:1px solid #713b47;border-radius:9px;background:#401f2a;color:#ffd9dd;text-align:left;font-size:.86rem}
.secure-note{margin-top:23px;display:flex;justify-content:center;align-items:center;gap:8px;color:#91a5ba;font-size:.78rem}
.secure-dot{width:7px;height:7px;border-radius:50%;background:#39d98a;box-shadow:0 0 10px #39d98a99}
footer{color:#71869a;font-size:.76rem;text-align:center}
footer span{padding:0 5px;color:#40566a}
@media(max-width:480px){.login-shell{padding:20px 16px;gap:18px}.login-card{padding:34px 24px 26px;border-radius:18px}.brand-mark{width:68px;height:68px;border-radius:19px}.brand-mark img{width:48px;height:48px}h1{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
