:root{--brand:#2563eb;--brand2:#1d4ed8;--text:#0f172a;--muted:#64748b;--card:#fff;--line:#e2e8f0}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(135deg,#eef4ff 0%,#f8fafc 55%,#eaf7f2 100%);color:var(--text)}
.accountbg{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;opacity:.16;filter:blur(1px);background-size:cover!important;background-position:center!important;z-index:0}
.accountbg:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.45)}
.wrapper-page{position:relative;z-index:1;width:min(440px,calc(100% - 32px));margin:6vh auto 32px!important}
.card{border:1px solid rgba(226,232,240,.9)!important;border-radius:20px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 20px 55px rgba(15,23,42,.14)!important;overflow:hidden}
.card-body{padding:34px 32px 28px!important}
.logo.logo-admin{display:flex;justify-content:center;align-items:center;min-height:64px;text-decoration:none}
.logo.logo-admin img{max-width:180px;height:auto!important;max-height:64px;object-fit:contain;border-radius:8px}
h3.text-center{margin-bottom:18px!important}
.login-brand-fallback{font-size:25px;font-weight:800;letter-spacing:-.5px;color:var(--brand);text-align:center}
.login-title{font-size:22px!important;font-weight:700!important;color:var(--text)!important;line-height:1.35!important;margin-bottom:6px!important}
.login-school{font-size:13px!important;color:var(--muted)!important}
.form-horizontal{margin-top:24px!important}
.form-group{margin-bottom:16px!important}
.form-control{height:50px!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:0 14px!important;font-size:15px!important;background:#fff!important;box-shadow:none!important}
.form-control:focus{border-color:var(--brand)!important;box-shadow:0 0 0 3px rgba(37,99,235,.12)!important}
.custom-control-label{font-size:14px;color:var(--muted)}
.btn{border:0!important;border-radius:10px!important;height:48px;display:flex!important;align-items:center;justify-content:center;font-weight:700;transition:.15s ease;box-shadow:none!important}
.btn-info{background:var(--brand)!important}.btn-info:hover{background:var(--brand2)!important;transform:translateY(-1px)}
.btn-danger{background:#fff!important;color:var(--muted)!important;border:1px solid var(--line)!important}.btn-danger:hover{background:#f8fafc!important;color:var(--text)!important}
.text-muted a,.text-muted{color:var(--muted)!important}
@media(max-width:480px){.wrapper-page{width:calc(100% - 20px);margin:3vh auto 20px!important}.card-body{padding:26px 20px 22px!important}.login-title{font-size:20px!important}}

/* Stage 8 alignment fix */
.form-horizontal .form-group.row{margin-left:0!important;margin-right:0!important}
.form-horizontal .col-12{padding-left:0!important;padding-right:0!important;width:100%!important;max-width:100%!important;flex:0 0 100%!important}
.form-horizontal .form-control{display:block!important;width:100%!important}
.form-horizontal .btn-block,.form-horizontal button[type=submit]{display:flex!important;width:100%!important;min-width:100%!important}
.form-horizontal .btn{width:100%!important}
.form-horizontal .custom-control{padding-left:1.5rem!important}
.form-horizontal .custom-control-input{position:absolute!important}
.form-horizontal .form-group.text-center{width:100%!important}

/* Stage 8 alignment correction: form controls must fill the form parent. */
.p-3,
.form-horizontal,
.form-horizontal .form-group,
.form-horizontal .row,
.form-horizontal .col-12{width:100%!important;max-width:none!important}
.form-horizontal .form-group.row{margin-left:0!important;margin-right:0!important}
.form-horizontal .col-12{padding-left:0!important;padding-right:0!important;flex:0 0 100%!important}
.form-horizontal .form-control{display:block!important;width:100%!important;max-width:none!important}
.form-horizontal .btn,
.form-horizontal .btn-block{display:flex!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.form-horizontal .custom-control{width:100%!important}
