/* ARNDALE administration — modern responsive design system */
:root{--a-brand:#2563eb;--a-brand-dark:#1d4ed8;--a-brand-soft:#eff6ff;--a-accent:#8b5cf6;--a-ink:#0f172a;--a-muted:#64748b;--a-line:#e2e8f0;--a-canvas:#f5f7fb;--a-surface:#fff;--a-radius-sm:11px;--a-radius:17px;--a-radius-lg:23px;--a-shadow:0 10px 30px rgba(15,23,42,.065);--a-shadow-hover:0 20px 46px rgba(15,23,42,.115);--a-sidebar:270px}
html{scroll-behavior:smooth}body{color:var(--a-ink)!important;background:var(--a-canvas)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important}body::before{content:"";position:fixed;inset:0 0 auto var(--a-sidebar);height:320px;z-index:-1;pointer-events:none;background:radial-gradient(circle at 86% 5%,rgba(139,92,246,.12),transparent 28%),linear-gradient(180deg,#eef5ff 0%,rgba(245,247,251,0) 100%)}*,*::before,*::after{box-sizing:border-box}a,button,input,select,textarea{transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}:is(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(37,99,235,.22)!important;outline-offset:2px}

/* Application shell shared by admin, director, principal, VP and HR */
.admin-container{background:transparent!important}.admin-sidebar{width:var(--a-sidebar)!important;padding:14px 11px;background:linear-gradient(165deg,#0b1220 0%,#172033 56%,#1e3a5f 100%)!important;border-right:1px solid rgba(255,255,255,.07);box-shadow:12px 0 34px rgba(15,23,42,.14)!important}.sidebar-header{padding:10px 9px 18px!important;border:0!important}.sidebar-logo{gap:11px!important}.logo-icon{width:43px!important;height:43px!important;border-radius:14px!important;background:linear-gradient(135deg,var(--a-brand),var(--a-accent))!important;box-shadow:0 9px 20px rgba(37,99,235,.22)}.logo-text{font-size:1.03rem!important;letter-spacing:-.02em}.sidebar-menu{padding:3px 0 16px!important}.menu-title{padding:10px 12px 5px!important;color:#94a3b8!important;font-size:.65rem!important;letter-spacing:.12em!important}.menu-list{padding:3px 0!important}.menu-item{margin:3px 0!important}.menu-link{min-height:45px;padding:10px 12px!important;border:0!important;border-radius:12px!important;color:#cbd5e1!important;gap:11px!important}.menu-link i{width:22px!important;font-size:.94rem!important}.menu-link:hover{color:#fff!important;background:rgba(255,255,255,.075)!important;transform:translateX(2px)}.menu-link.active,.menu-item.active>.menu-link{color:#fff!important;background:linear-gradient(135deg,rgba(37,99,235,.96),rgba(139,92,246,.8))!important;box-shadow:0 9px 22px rgba(37,99,235,.2)}.menu-badge{margin-left:auto!important;border-radius:999px!important;background:rgba(255,255,255,.14)!important;color:#fff!important}.submenu{margin:4px 0 6px 13px!important;padding-left:9px!important;border-left:1px solid rgba(255,255,255,.1)}.sidebar-footer{padding:14px 4px 2px!important;border-top:1px solid rgba(255,255,255,.09)!important}.user-profile{padding:9px!important;border-radius:13px!important;background:rgba(255,255,255,.06)}.user-avatar{border-radius:12px!important;background:linear-gradient(135deg,var(--a-brand),var(--a-accent))!important}.sidebar-footer .logout-btn{border:0!important;color:#fecaca!important;background:rgba(239,68,68,.1)!important}.sidebar-footer .logout-btn:hover{background:rgba(239,68,68,.18)!important}
.admin-main{margin-left:var(--a-sidebar)!important;min-width:0;width:calc(100% - var(--a-sidebar))!important;background:transparent!important}.admin-header{margin:15px 22px 0!important;min-height:71px!important;border:1px solid rgba(226,232,240,.9)!important;border-radius:18px;background:rgba(255,255,255,.9)!important;box-shadow:0 8px 25px rgba(15,23,42,.05)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.header-content{min-height:69px;padding:9px 12px!important}.sidebar-toggle,.notification-btn{display:grid!important;place-items:center;width:43px!important;height:43px!important;padding:0!important;border:1px solid var(--a-line)!important;border-radius:13px!important;color:var(--a-ink)!important;background:#fff!important;box-shadow:0 4px 12px rgba(15,23,42,.05)}.header-title h1{margin:0!important;color:var(--a-ink)!important;font-size:1.08rem!important;font-weight:760!important;letter-spacing:-.025em}.header-title h1 i{color:var(--a-brand)}.header-actions>.logout-btn{min-height:42px!important;border-radius:12px!important;background:#fff!important;color:#475569!important;border:1px solid var(--a-line)!important}.admin-content{width:100%;max-width:1700px;margin:0 auto;padding:24px 22px 44px!important}.breadcrumb{margin-bottom:20px!important;padding:0!important;background:transparent!important;font-size:.81rem}.breadcrumb a{color:var(--a-brand)!important;text-decoration:none}

/* Page components and dense management screens */
:is(.card,.stat-card,.stats-card,.summary-card,.dashboard-card,.content-card,.table-card,.filter-card,.form-card,.info-card,.action-card,.student-card,.teacher-card,.class-card,.subject-card,.report-card,.config-card,.setting-card,.audit-card,.assessment-card){border:1px solid var(--a-line)!important;border-radius:var(--a-radius)!important;background:var(--a-surface)!important;box-shadow:var(--a-shadow)!important;overflow:hidden}:is(.card,.student-card,.teacher-card,.class-card,.subject-card,.action-card):hover{border-color:#cbd5e1!important;box-shadow:var(--a-shadow-hover)!important}.card-header{padding:17px 19px!important;border-bottom:1px solid var(--a-line)!important;color:var(--a-ink)!important;background:#fff!important}.card-body{padding:19px!important}h1,h2,h3,h4,h5,h6{color:var(--a-ink);letter-spacing:-.025em}.text-muted{color:var(--a-muted)!important}.page-header,.content-header,.dashboard-header{margin-bottom:24px!important;padding:clamp(19px,3vw,28px)!important;border:1px solid var(--a-line)!important;border-radius:var(--a-radius-lg)!important;color:var(--a-ink)!important;background:linear-gradient(135deg,#fff 0%,#eff6ff 72%,#f5f3ff 100%)!important;box-shadow:var(--a-shadow)!important}.page-header h1,.content-header h1,.dashboard-header h1{font-weight:780!important}
.btn{min-height:41px;padding:.58rem .92rem!important;border-radius:11px!important;font-weight:650!important}.btn:hover{transform:translateY(-1px)}.btn-primary{border-color:var(--a-brand)!important;background:linear-gradient(135deg,var(--a-brand),var(--a-brand-dark))!important;box-shadow:0 7px 16px rgba(37,99,235,.17)}.btn-success{background:#059669!important;border-color:#059669!important}.btn-outline-primary{color:var(--a-brand)!important;border-color:#bfdbfe!important;background:#fff!important}.btn-outline-primary:hover{color:#fff!important;background:var(--a-brand)!important}.badge,.status-badge{padding:.45em .7em!important;border-radius:999px!important;font-weight:650!important}
.form-control,.form-select,.form-input{min-height:44px;border:1px solid #cbd5e1!important;border-radius:11px!important;color:var(--a-ink)!important;background-color:#fff!important}.form-control:focus,.form-select:focus,.form-input:focus{border-color:var(--a-brand)!important;box-shadow:0 0 0 4px rgba(37,99,235,.1)!important}.form-label{color:#334155!important;font-weight:650!important}textarea.form-control{min-height:105px}.input-group>:first-child{border-radius:11px 0 0 11px!important}.input-group>:last-child{border-radius:0 11px 11px 0!important}
.table-responsive,.dataTables_wrapper{width:100%;max-width:100%}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--a-line);border-radius:15px;background:#fff}.table{width:100%;margin-bottom:0!important;color:#334155!important}.table>:not(caption)>*>*{padding:.82rem .88rem!important;border-bottom-color:var(--a-line)!important;vertical-align:middle}.table thead th{white-space:nowrap;color:#475569!important;background:#f8fafc!important;font-size:.71rem;text-transform:uppercase;letter-spacing:.05em}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{margin-bottom:14px}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{min-height:38px;border:1px solid #cbd5e1!important;border-radius:9px!important}.dataTables_wrapper .row{align-items:center}.dataTables_scrollBody{-webkit-overflow-scrolling:touch}.pagination{gap:4px}.page-link{border:1px solid var(--a-line)!important;border-radius:9px!important;color:var(--a-brand)!important}.active>.page-link{color:#fff!important;background:var(--a-brand)!important}
.alert{border:0!important;border-radius:13px!important;box-shadow:0 6px 18px rgba(15,23,42,.06)}.modal-content{border:0!important;border-radius:21px!important;box-shadow:0 26px 74px rgba(15,23,42,.23)!important}.modal-header,.modal-footer{border-color:var(--a-line)!important}.dropdown-menu{padding:8px!important;border:1px solid var(--a-line)!important;border-radius:14px!important;box-shadow:var(--a-shadow-hover)!important}.dropdown-item{padding:9px 11px;border-radius:9px}.nav-tabs{gap:5px;border-bottom-color:var(--a-line)!important}.nav-tabs .nav-link{border-radius:10px 10px 0 0!important;color:#64748b!important}.nav-tabs .nav-link.active{color:var(--a-brand)!important;font-weight:700!important}.accordion-item{border-color:var(--a-line)!important}.accordion-button{font-weight:650}.accordion-button:not(.collapsed){color:var(--a-brand-dark)!important;background:var(--a-brand-soft)!important}

/* Standalone login */
body.admin-login-page{position:relative;padding:24px!important;background:radial-gradient(circle at 12% 12%,rgba(139,92,246,.16),transparent 31%),radial-gradient(circle at 88% 88%,rgba(37,99,235,.18),transparent 34%),#f8fafc!important}.admin-login-page .login-container{max-width:480px!important}.admin-login-page .login-card{padding:clamp(24px,5vw,42px)!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:27px!important;box-shadow:0 28px 78px rgba(15,23,42,.15)!important}.admin-login-page .admin-icon,.admin-login-page .login-icon{width:74px!important;height:74px!important;border-radius:22px!important;background:linear-gradient(135deg,var(--a-brand),var(--a-accent))!important;box-shadow:0 11px 25px rgba(37,99,235,.2)!important}.admin-login-page .admin-title,.admin-login-page .login-title{color:var(--a-ink)!important;font-size:clamp(1.55rem,5vw,2rem)!important}.admin-login-page .admin-subtitle,.admin-login-page .login-subtitle{color:var(--a-muted)!important}
/* Printable report */
body.admin-report-page{padding:20px;background:#eef2f7!important}.admin-report-page .report-card,.admin-report-page .container{max-width:1100px;margin-inline:auto;border-radius:18px;background:#fff;box-shadow:var(--a-shadow)}.admin-report-page img{max-width:100%;height:auto}

@media(max-width:991.98px){body::before{left:0}.admin-sidebar{width:min(88vw,320px)!important;transform:translateX(-105%);border-radius:0 22px 22px 0}.admin-sidebar.show,.admin-sidebar.active{transform:translateX(0)!important}.admin-main{width:100%!important;margin-left:0!important}.admin-header{margin:11px 13px 0!important;min-height:64px!important;border-radius:16px}.header-content{min-height:62px}.admin-content{padding:20px 13px 90px!important}.header-title h1{max-width:53vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions .notification-btn{display:none!important}.sidebar-overlay.show{background:rgba(2,6,23,.55)!important;backdrop-filter:blur(3px)}}
@media(max-width:575.98px){h1{font-size:1.62rem!important}h2{font-size:1.38rem!important}.row{--bs-gutter-x:.8rem}.card-body,.card-header{padding:15px!important}.btn{width:100%;min-height:44px}.btn-group .btn,.input-group .btn,td .btn,.d-flex .btn{width:auto}.table>:not(caption)>*>*{padding:.7rem!important}.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length{float:none!important;text-align:left!important}.dataTables_wrapper .dataTables_filter input{width:100%;margin:6px 0 0!important}.admin-login-page{align-items:flex-start!important;padding:14px!important;overflow-y:auto}.admin-login-page .login-container{margin:auto 0}.admin-login-page .login-card{padding:25px 20px!important;border-radius:22px!important}body.admin-report-page{padding:0}.admin-report-page .report-card,.admin-report-page .container{border-radius:0;box-shadow:none}}
@media print{body.admin-report-page{padding:0;background:#fff!important}.admin-report-page .report-card,.admin-report-page .container{max-width:none;border-radius:0;box-shadow:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
