/* =====================================================================
   IDMan — Auth pages (login / password)
   ===================================================================== */
:root{
    --bg-deep:  #0f172a;
    --bg-mid:   #1e3a8a;
    --card:     #ffffff;
    --primary:  #2563eb;
    --primary-dark: #1d4ed8;
    --text:     #1e293b;
    --muted:    #64748b;
    --border:   #e2e8f0;
    --danger:   #991b1b;
    --success:  #166534;
    --warning:  #92400e;
    --info:     #1e40af;
}
*{box-sizing:border-box}
body.auth-body{
    margin:0;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    color:var(--text);
    background:linear-gradient(135deg,var(--bg-mid) 0%,var(--bg-deep) 100%);
}
.auth-wrapper{width:100%;max-width:420px}
.auth-card{
    background:var(--card);
    border-radius:16px;
    box-shadow:0 25px 50px -12px rgba(0,0,0,.4);
    padding:36px 32px;
}
.auth-brand{text-align:center;margin-bottom:24px}
.auth-brand h1{margin:0 0 6px;font-size:24px;color:var(--text)}
.auth-brand p{margin:0;color:var(--muted);font-size:14px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.form-group input{
    width:100%;
    padding:11px 14px;
    border:1px solid var(--border);
    border-radius:8px;
    font-size:15px;
    background:#f8fafc;
    font-family:inherit;
    transition:border-color .15s, background .15s;
}
.form-group input:focus{
    outline:none;
    border-color:var(--primary);
    background:#fff;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.btn{
    display:inline-block;
    padding:11px 20px;
    border-radius:8px;
    border:0;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    text-align:center;
    text-decoration:none;
    transition:background .15s;
}
.btn-primary{background:var(--primary);color:#fff;width:100%}
.btn-primary:hover{background:var(--primary-dark)}
.alert{padding:10px 14px;border-radius:8px;font-size:13.5px;margin-bottom:16px;border:1px solid transparent}
.alert-danger{background:#fee2e2;color:var(--danger);border-color:#fecaca}
.alert-success{background:#dcfce7;color:var(--success);border-color:#bbf7d0}
.alert-warning{background:#fef3c7;color:var(--warning);border-color:#fde68a}
.alert-info{background:#dbeafe;color:var(--info);border-color:#bfdbfe}
.auth-footer{text-align:center;margin-top:20px;color:#94a3b8;font-size:12px}