:root{
    --raff-navy:#243b7c;
    --raff-navy-dark:#18295b;
    --raff-red:#c8102e;
    --raff-yellow:#ffd100;
    --raff-green:#198754;
}

body{
    min-height:100vh;
    margin:0;
    font-family:'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    background:
        linear-gradient(135deg, rgba(18,31,72,.9), rgba(36,59,124,.74)),
        url("../login_background.jpg") center/cover no-repeat fixed;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#1f2937;
}

.login-shell{
    width:min(390px, calc(100vw - 32px));
}

.login-card{
    border:1px solid rgba(255,255,255,.38);
    border-radius:16px;
    background:rgba(255,255,255,.94);
    box-shadow:0 26px 80px rgba(0,0,0,.34);
    backdrop-filter:blur(18px);
    padding:34px 34px 28px;
}

.login-header{
    text-align:center;
    margin-bottom:30px;
}

.login-logo{
    width:min(172px, 58vw);
    height:auto;
    display:block;
    margin:0 auto 24px;
    object-fit:contain;
}

.login-title{
    color:var(--raff-navy);
    font-size:36px;
    font-weight:900;
    letter-spacing:0;
    line-height:1;
    margin:0 0 10px;
}

.login-subtitle{
    color:#64748b;
    font-size:13px;
    font-weight:600;
}

.login-body{
    padding:0;
}

.form-label{
    color:#374151;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.form-control{
    min-height:46px;
    border-radius:10px;
    border-color:#dbe4f0;
    background:#fbfdff;
}

.form-control:focus{
    border-color:var(--raff-navy);
    box-shadow:0 0 0 .18rem rgba(36,59,124,.14);
}

.btn-login{
    min-height:48px;
    border:0;
    border-radius:10px;
    background:var(--raff-navy);
    color:white;
    font-weight:800;
    box-shadow:0 12px 24px rgba(36,59,124,.22);
}

.btn-login:hover{
    background:var(--raff-navy-dark);
    color:white;
}

.login-footer{
    color:#6b7280;
    font-size:11px;
    line-height:1.5;
    text-align:center;
    margin-top:24px;
}

.form-check{
    min-height:auto;
    margin-bottom:22px;
}

.form-check-input{
    border-color:#b8c3d5;
}

.form-check-input:checked{
    background-color:var(--raff-navy);
    border-color:var(--raff-navy);
}

@media (max-width:420px){
    .login-shell{
        margin-top:0;
    }

    .login-card{
        padding:30px 24px 24px;
    }

    .login-logo{
        width:150px;
        margin-bottom:22px;
    }

    .login-title{
        font-size:32px;
    }
}
.btn-login{display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s,box-shadow .15s;letter-spacing:0;text-decoration:none}
.btn-login:focus-visible{outline:3px solid #ffd100;outline-offset:3px}
.btn-login:active{background:var(--raff-navy-dark);color:white}
.auth-heading{color:var(--raff-navy);font-size:24px;font-weight:800;line-height:1.3;text-align:center;margin:0 0 10px}
.auth-intro{color:#64748b;font-size:13px;line-height:1.6;text-align:center;margin:0 0 24px}
.auth-note{color:#64748b;font-size:12px;line-height:1.6;margin:18px 0 4px}
.auth-back{display:block;text-align:center;margin-top:18px;color:var(--raff-navy);font-size:13px;font-weight:600;text-underline-offset:3px}
.auth-code{font-size:24px;letter-spacing:.3em;text-align:center}
.auth-languages{display:flex;justify-content:flex-end;gap:6px;margin-bottom:18px}
.auth-languages a{color:var(--raff-navy);border:1px solid #dbe4f0;border-radius:6px;padding:4px 8px;font-size:12px;text-decoration:none}
.auth-languages a[aria-current="true"]{background:var(--raff-navy);border-color:var(--raff-navy);color:white}
body{padding:24px 0}

