:root{
    --brand:#1D4DBF;
    --ink:#121417;
    --muted:#6b7280;
    --surface:#ffffff;
    --bg:#f6f8fb;
    --radius:16px;
}
html,body{height:100%;}
body{
    font-family:Poppins, Ubuntu, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji", "Segoe UI Symbol";
    background: radial-gradient(1200px 600px at 15% -10%, rgba(29,77,191,.12), transparent 60%),
    radial-gradient(900px 500px at 110% 10%, rgba(29,77,191,.08), transparent 60%),
    var(--bg);
    color:var(--ink);
}
.auth-wrap{
    min-height:100dvh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:32px 16px;
}
.auth-card{
    width:100%;
    max-width:480px;
    background:var(--surface);
    border-radius:var(--radius);
    box-shadow:0 20px 50px rgba(17,24,39,.08);
    overflow:hidden;
    border:1px solid rgba(17,24,39,.06);
}
.brand-top{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px 24px 8px;
}
.brand-top img{max-width:220px;height:auto;}
.auth-head{
    text-align:center;
    padding:0 24px 8px;
}
.auth-head h1{
    font-size:1.35rem;
    margin:0;
    font-weight:600;
    color:var(--ink);
}
.auth-sub{
    text-align:center;
    padding:0 24px 12px;
    color:var(--muted);
    font-size:.95rem;
}
.auth-body{
    padding: 8px 24px 24px;
}
.form-label{
    font-size:.85rem;
    color:#374151;
    margin-bottom:.35rem;
    font-weight:500;
}
.form-control, .form-select{
    border-radius:12px;
    padding:.7rem .9rem;
    border:1px solid #e5e7eb;
}
.form-control:focus{
    border-color:var(--brand);
    box-shadow:0 0 0 .2rem rgba(29,77,191,.125);
}
.btn-brand{
    background:var(--brand);
    border-color:var(--brand);
    color:#fff;
    border-radius:12px;
    padding:.75rem 1rem;
    font-weight:600;
    width:100%;
}
.btn-brand:hover{filter:brightness(.95);}
.link-row{
    display:flex;
    justify-content:flex-end;
    gap:12px;
    padding:6px 24px 24px;
    font-size:.95rem;
}
.btn-link{
    color:var(--brand);
    text-decoration:none;
    font-weight:500;
}
.btn-link:hover{text-decoration:underline;}
.footer-note{
    text-align:center;
    margin-top:16px;
    color:var(--muted);
    font-size:.9rem;
}
.alert{
    border-radius:12px;
}
/* Make Symfony flash errors breathe a bit */
.flash-stack > .alert{margin-bottom:.5rem;}
