:root{
    --bg1:#071324;
    --bg2:#0b1b33;
    --card:#0c1c34;
    --card-line:rgba(255,255,255,.08);
    --text:#e5e7eb;
    --muted:#94a3b8;
    --input-bg:#f1f5f9;
    --input-text:#0f172a;
    --primary:#3b82f6;
    --secondary:#fb923c;
    --shadow:0 20px 60px rgba(0,0,0,.35);
    --radius:18px;
}

*{box-sizing:border-box}

html,body{
    margin:0;
    min-height:100%;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;
    color:var(--text);
    background:
        radial-gradient(circle at top left, #0e2748 0%, transparent 30%),
        linear-gradient(135deg, var(--bg2) 0%, var(--bg1) 100%);
}

body{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.login-shell{
    width:100%;
    max-width:420px;
}

.login-card{
    background:rgba(12,28,52,.92);
    border:1px solid var(--card-line);
    border-radius:var(--radius);
    padding:28px 24px 22px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(8px);
    display:flex;
    flex-direction:column;
    gap:14px;
}

.login-logo{
    display:block;
    max-width:170px;
    width:100%;
    height:auto;
    margin:0 auto 4px;
}

.muted{
    margin:0 0 6px;
    color:var(--muted);
    font-size:14px;
    text-align:left;
}

input{
    width:100%;
    padding:14px 14px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.08);
    background:var(--input-bg);
    color:var(--input-text);
    font-size:15px;
    outline:none;
}

input:focus{
    border-color:#60a5fa;
    box-shadow:0 0 0 3px rgba(59,130,246,.18);
}

button{
    width:100%;
    padding:14px 16px;
    border:none;
    border-radius:12px;
    background:linear-gradient(90deg,var(--primary) 0%, var(--secondary) 100%);
    color:#fff;
    font-weight:700;
    font-size:15px;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(59,130,246,.18);
}

button:hover{
    filter:brightness(1.04);
}

.alert.error{
    background:rgba(127,29,29,.35);
    border:1px solid rgba(248,113,113,.25);
    color:#fecaca;
    padding:10px 12px;
    border-radius:12px;
    font-size:14px;
}
