:root{--navy:#0d2b6b;--navy-2:#092158;--maroon:#8b0000;--bg:#f4f6fb;--text:#172033;--muted:#6b7280;--line:rgba(15,23,42,.12)}
*{box-sizing:border-box}
html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--text);background:var(--bg);font-size:1rem}
button,input{font:inherit}
.login-page{min-height:100vh;background:radial-gradient(circle at top left,rgba(168,213,227,.9),transparent 32%),radial-gradient(circle at bottom right,rgba(255,120,172,.55),transparent 34%),linear-gradient(135deg,var(--navy),var(--maroon))}
.container{width:100%;max-width:1140px;margin-inline:auto;padding-inline:24px}
.min-vh-100{min-height:100vh}.d-flex{display:flex}.align-items-center{align-items:center}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.flex-column{flex-direction:column}.py-5{padding-block:3rem}.p-4{padding:1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.w-100{width:100%}.small{font-size:.875rem}.fw-bold{font-weight:700}.text-white{color:#fff}.text-white-75{color:rgba(255,255,255,.78)}.text-muted{color:var(--muted)!important}.bg-white{background:#fff}.border{border:1px solid var(--line)!important}
.login-card{width:min(980px,100%);background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(2,6,23,.28)}
.row{display:flex;flex-wrap:wrap}.g-0{gap:0}.col-lg-5{width:41.66666667%}.col-lg-7{width:58.33333333%}
.login-brand-panel{min-height:540px;background:radial-gradient(circle at 18% 12%,rgba(168,213,227,.24),transparent 30%),radial-gradient(circle at 88% 82%,rgba(255,120,172,.18),transparent 32%),linear-gradient(155deg,rgba(13,43,107,.98),rgba(139,0,0,.94));background-size:cover;background-position:center}
.login-madrasah-logo-box,.brand-logo{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;padding:8px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.55);border-radius:18px;box-shadow:0 14px 32px rgba(2,6,23,.24);overflow:hidden}
.login-madrasah-logo{display:block;width:100%;height:100%;max-width:60px;max-height:60px;object-fit:contain}.login-logo-fallback{color:var(--navy);font-weight:800;letter-spacing:.04em}
.h3{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.2;margin-top:0}.h4{font-size:1.35rem;line-height:1.25}.rounded-end-4{border-radius:0 1rem 1rem 0}.rounded-pill{border-radius:999px}.badge{display:inline-block;padding:.4rem .72rem;font-size:.75rem;font-weight:600;line-height:1;color:#334155;background:#f8fafc}.text-bg-light{background:#f8fafc!important}
.form-label{display:inline-block;margin-bottom:.45rem;font-weight:600;color:#334155}.form-control{display:block;width:100%;padding:.8rem .95rem;font-size:1rem;line-height:1.5;color:#1e293b;background:#fff;border:1px solid var(--line);border-radius:14px;outline:0;transition:border-color .15s,box-shadow .15s}.form-control-lg{min-height:50px;font-size:1rem}.form-control:focus{border-color:rgba(13,43,107,.48);box-shadow:0 0 0 .22rem rgba(13,43,107,.11)}
.input-group{display:flex;width:100%;align-items:stretch}.input-group>.form-control{min-width:0;flex:1 1 auto;border-radius:14px 0 0 14px}.input-group>.btn{border-radius:0 14px 14px 0;margin-left:-1px}.input-group-lg>.form-control,.input-group-lg>.btn{min-height:50px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:14px;padding:.7rem 1rem;font-weight:600;line-height:1.5;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}.btn-lg{min-height:50px;font-size:1rem}.btn-primary{color:#fff;background:var(--navy);border-color:var(--navy)}.btn-primary:hover{background:var(--navy-2);border-color:var(--navy-2)}.btn-outline-secondary{color:#475569;background:#fff;border-color:#cbd5e1}.btn-outline-secondary:hover{background:#f8fafc}
.alert{position:relative;padding:.85rem 1rem;border:1px solid transparent;border-radius:14px}.alert-danger{color:#842029;background:#f8d7da;border-color:#f5c2c7}.alert-info{color:#055160;background:#cff4fc;border-color:#b6effb}
.shadow-lg{box-shadow:0 24px 70px rgba(2,6,23,.28)!important}
@media(min-width:768px){.p-md-5{padding:3rem}}
@media(min-width:992px){.d-lg-flex{display:flex!important}}
@media(max-width:991.98px){.d-none{display:none!important}.col-lg-5{display:none!important}.col-lg-7{width:100%}.rounded-end-4{border-radius:18px}.login-card{width:min(620px,100%)}.py-5{padding-block:1.5rem}}
@media(max-width:575.98px){.container{padding-inline:14px}.p-4,.p-md-5{padding:1.3rem!important}.login-card{border-radius:18px}.alert{font-size:.84rem}.h4{font-size:1.2rem}}
