
:root{
 --bg:#06111f;--bg2:#0b1d32;--card:rgba(8,23,41,.88);
 --border:rgba(255,255,255,.11);--text:#f5f9ff;
 --muted:#9db1c7;--blue:#3b82f6;--blue2:#60a5fa;--cyan:#38bdf8
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{
 min-height:100vh;color:var(--text);
 font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 background:
 radial-gradient(circle at 12% 18%,rgba(56,189,248,.18),transparent 30%),
 radial-gradient(circle at 88% 82%,rgba(59,130,246,.16),transparent 32%),
 linear-gradient(135deg,var(--bg),var(--bg2))
}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}
.welcome-panel{
 position:relative;display:flex;align-items:center;
 padding:clamp(48px,7vw,110px);overflow:hidden
}
.welcome-panel:after{
 content:"";position:absolute;inset:0;opacity:.12;
 background-image:
 linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
 background-size:42px 42px;
 mask-image:linear-gradient(to right,#000,transparent 92%)
}
.welcome-content{position:relative;z-index:2;max-width:720px}
.brand,.mobile-brand{display:flex;align-items:center;gap:14px}
.brand{margin-bottom:55px}
.brand-mark{
 width:54px;height:54px;display:grid;place-items:center;
 border-radius:16px;font-size:23px;font-weight:900;
 background:linear-gradient(135deg,var(--cyan),var(--blue));
 box-shadow:0 14px 38px rgba(56,189,248,.25)
}
.brand-name{font-size:20px;font-weight:750}
.brand-name span{
 display:block;margin-top:2px;color:var(--muted);font-size:11px;
 font-weight:600;letter-spacing:.17em;text-transform:uppercase
}
.eyebrow{
 margin-bottom:18px;color:var(--cyan);font-size:13px;
 font-weight:800;letter-spacing:.18em;text-transform:uppercase
}
.welcome-content h1{
 margin:0 0 27px;font-size:clamp(44px,5.1vw,76px);
 line-height:.99;letter-spacing:-.055em
}
.welcome-content h1 strong{color:var(--blue2)}
.welcome-copy{
 max-width:600px;margin:0;color:var(--muted);
 font-size:18px;line-height:1.75
}
.network-status{
 display:flex;align-items:center;gap:10px;margin-top:42px;
 color:#b9cadb;font-size:13px
}
.status-dot{
 width:9px;height:9px;border-radius:50%;background:#34d399;
 box-shadow:0 0 15px rgba(52,211,153,.9)
}
.login-side{
 display:flex;align-items:center;justify-content:center;
 padding:42px;position:relative;z-index:3
}
.login-card{
 width:100%;max-width:470px;padding:45px;border-radius:28px;
 border:1px solid var(--border);background:var(--card);
 box-shadow:0 30px 90px rgba(0,0,0,.42);
 backdrop-filter:blur(22px)
}
.mobile-brand{display:none}
.login-card h2{margin:0 0 9px;font-size:32px;letter-spacing:-.04em}
.login-subtitle{margin:0 0 34px;color:var(--muted);line-height:1.6}
.field{margin-bottom:21px}
.field label{
 display:block;margin-bottom:9px;color:#dbe8f7;
 font-size:13px;font-weight:700
}
.input-wrap{position:relative}
.field input{
 width:100%;height:55px;padding:0 16px;border-radius:13px;
 border:1px solid rgba(255,255,255,.14);
 outline:none;background:rgba(2,11,22,.58);
 color:#fff;font:inherit;font-size:15px;transition:.18s
}
.field input::placeholder{color:#687e94}
.field input:focus{
 border-color:var(--blue2);background:rgba(4,16,30,.82);
 box-shadow:0 0 0 4px rgba(59,130,246,.13)
}
.password-input{padding-right:65px!important}
.show-password{
 position:absolute;right:9px;top:50%;transform:translateY(-50%);
 padding:7px 9px;border:0;border-radius:8px;background:transparent;
 color:#91a8c0;font-weight:650;cursor:pointer
}
.show-password:hover{color:#fff;background:rgba(255,255,255,.06)}
.form-options{display:flex;justify-content:flex-end;margin:-5px 0 26px}
.forgot-link{color:var(--blue2);font-size:13px;font-weight:700;text-decoration:none}
.forgot-link:hover{text-decoration:underline}
.sign-in{
 width:100%;min-height:56px;border:0;border-radius:13px;
 color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6 55%,#0ea5e9);
 box-shadow:0 13px 30px rgba(37,99,235,.28);
 font:inherit;font-size:15px;font-weight:800;cursor:pointer
}
.sign-in:hover{transform:translateY(-1px)}
.alert{
 margin-bottom:24px;padding:13px 15px;border-radius:11px;
 border:1px solid rgba(248,113,113,.28);
 background:rgba(127,29,29,.28);color:#fecaca;font-size:13px
}
.login-footer{
 margin-top:30px;text-align:center;color:#70869d;
 font-size:12px;line-height:1.65
}
.login-footer strong{color:#9eb3c9}
@media(max-width:900px){
 .login-page{grid-template-columns:1fr}
 .welcome-panel{display:none}
 .login-side{min-height:100vh;padding:24px}
 .mobile-brand{display:flex;margin-bottom:35px}
 .login-card{max-width:500px}
}
@media(max-width:520px){
 .login-side{padding:16px}
 .login-card{padding:30px 23px;border-radius:22px}
 .login-card h2{font-size:28px}
}
