:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#667085;--border:#e4e7ec;--primary:#1f5f46;--danger:#b42318}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{color:#1f5f46}
.login-page,.install-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card,.install-card{width:min(520px,100%);background:#fff;border:1px solid var(--border);border-radius:18px;padding:30px;box-shadow:0 14px 40px rgba(16,24,40,.08)}
.install-card{width:min(720px,100%)}h1{margin-top:0}h2{margin-top:28px}.muted{color:var(--muted)}.small{font-size:13px}
label{display:block;font-weight:700;font-size:14px;margin:13px 0 6px}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #d0d5dd;border-radius:9px;font:inherit;background:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;text-decoration:none;border:0;border-radius:9px;padding:11px 16px;font-weight:700;cursor:pointer;margin-top:16px}
.alert{padding:12px 14px;border-radius:10px;margin:14px 0}.alert.error{background:#fef3f2;color:#b42318}.alert.success{background:#ecfdf3;color:#027a48}.alert.info{background:#eff6ff;color:#1d4ed8}
.top{height:70px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.container{max-width:1200px;margin:auto;padding:28px}.container.narrow{max-width:760px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--border)}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}th{background:#f9fafb;color:#475467}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px}.card span{color:var(--muted)}.card strong{font-size:30px;display:block;margin-top:7px}.card.blue{background:#eff6ff;border-color:#bfdbfe}.card.purple{background:#f5f3ff;border-color:#ddd6fe}
@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}.container{padding:18px}}@media(max-width:520px){.grid{grid-template-columns:1fr}.top{padding:0 15px}}

.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.module-box{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff;margin:0}.module-box input{width:auto;margin-top:3px}.module-box small{display:block;color:var(--muted);margin-top:4px}.module-box em{display:inline-block;margin-top:6px;background:#ecfdf3;color:#027a48;padding:3px 7px;border-radius:99px;font-size:11px;font-style:normal}.module-box.core{background:#f0fdf4;border-color:#bbf7d0}@media(max-width:650px){.module-grid{grid-template-columns:1fr}}

/* =========================================================
   KallRecord Platform - scalable Institute Module Access UI
   ========================================================= */
.institute-edit-page{max-width:1180px}
.page-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.page-heading-row h1{margin:5px 0 4px}.page-eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800;color:#667085}.institute-code-line{margin:0}.institute-code-line strong{color:#344054}
.status-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.03em;background:#f2f4f7;color:#475467}.status-active{background:#ecfdf3;color:#027a48}.status-suspended,.status-closed{background:#fef3f2;color:#b42318}.status-pending{background:#fffaeb;color:#b54708}
.settings-panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 2px 10px rgba(16,24,40,.03)}.settings-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.settings-panel-head h2{margin:5px 0 5px}.settings-panel-head p{margin:0}
.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.field-span-2{grid-column:1/-1}.field-help{font-size:12px;color:var(--muted);margin:5px 0 0}
.module-access-panel{padding-bottom:26px}.module-access-head{align-items:center}.module-count-card{min-width:105px;text-align:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:13px;padding:12px 14px}.module-count-card strong{display:block;color:#027a48;font-size:24px;line-height:1}.module-count-card span{display:block;color:#667085;font-size:12px;margin-top:6px}
.module-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.module-search-wrap{flex:1;min-width:240px;max-width:460px}.module-search-wrap input{margin:0}.module-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.button-secondary{border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:9px;padding:10px 12px;font-weight:700;cursor:pointer}.button-secondary:hover{background:#f9fafb}
.module-help-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;color:#667085;background:#f8fafc;border:1px solid #eef2f6;border-radius:10px;padding:10px 12px;margin-bottom:16px}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.legend-core{background:#12b76a}.legend-optional{background:#2e90fa;margin-left:10px}.module-future-note{margin-left:auto;font-weight:600;color:#475467}
.scalable-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;margin-top:0;max-height:620px;overflow:auto;padding:2px 4px 8px 2px;scrollbar-gutter:stable}
label.kr-module-card{display:flex;position:relative;align-items:flex-start;gap:13px;margin:0;padding:16px;border:1px solid #e4e7ec;border-radius:13px;background:#fff;cursor:pointer;min-height:104px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease;font-weight:400}
label.kr-module-card:hover{border-color:#b8c4d4;box-shadow:0 5px 16px rgba(16,24,40,.06);transform:translateY(-1px)}label.kr-module-card.is-enabled{border-color:#a7d7c5;background:linear-gradient(135deg,#f5fffa,#fff)}label.kr-module-card.is-core{background:linear-gradient(135deg,#ecfdf3,#fff);border-color:#a6f4c5;cursor:default}
.kr-module-toggle{flex:0 0 23px;position:relative;margin-top:1px}.kr-module-toggle input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.kr-toggle-ui{width:22px;height:22px;border:2px solid #98a2b3;border-radius:6px;background:#fff;display:grid;place-items:center;transition:.15s ease}.kr-module-toggle input:checked + .kr-toggle-ui{background:#1f5f46;border-color:#1f5f46}.kr-module-toggle input:checked + .kr-toggle-ui:after{content:"✓";color:#fff;font-size:14px;font-weight:900;line-height:1}.kr-module-toggle input:disabled + .kr-toggle-ui{background:#12b76a;border-color:#12b76a;opacity:.9}
.kr-module-content{display:block;min-width:0;flex:1}.kr-module-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.kr-module-title{display:block;font-size:15px;line-height:1.3;color:#101828}.kr-module-description{display:block;font-size:13px;line-height:1.45;color:#667085;margin-top:7px;font-weight:400}.kr-module-badge{display:inline-flex;flex:none;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.04em}.core-badge{background:#dcfae6;color:#067647}.optional-badge{background:#eff8ff;color:#175cd3}
.empty-module-search{text-align:center;padding:24px;color:#667085;border:1px dashed #d0d5dd;border-radius:12px;background:#fafafa}
.sticky-save-bar{position:sticky;bottom:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:15px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid #e4e7ec;border-radius:14px;padding:13px 16px;margin:20px 0 10px;box-shadow:0 -4px 18px rgba(16,24,40,.07)}.sticky-save-bar>div>strong{display:block}.sticky-save-bar>div>span{display:block;font-size:12px;margin-top:3px}.save-institute-btn{margin:0;min-width:145px}
@media(max-width:800px){.profile-form-grid{grid-template-columns:1fr}.field-span-2{grid-column:auto}.page-heading-row,.settings-panel-head{flex-direction:column}.module-count-card{align-self:flex-start}.module-future-note{margin-left:0;width:100%}.scalable-module-grid{grid-template-columns:1fr;max-height:none}.sticky-save-bar>div{display:none}.sticky-save-bar{justify-content:stretch}.save-institute-btn{width:100%}}

/* KallRecord Platform - Institute Admin account recovery */
.recovery-panel{border-top:4px solid #7f56d9}.recovery-code-card{background:#f4f3ff;border:1px solid #d9d6fe;border-radius:12px;padding:11px 15px;min-width:170px}.recovery-code-card span{display:block;color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.recovery-code-card strong{display:block;color:#5925dc;font-size:19px;margin-top:4px}.temporary-password-box{display:flex;align-items:center;gap:14px;background:#fffaeb;border:1px solid #fedf89;border-radius:12px;padding:14px;margin-bottom:16px;flex-wrap:wrap}.temporary-password-box>div{flex:1;min-width:220px}.temporary-password-box>div strong{display:block;color:#93370d}.temporary-password-box>div span{display:block;color:#b54708;font-size:12px;margin-top:3px}.temporary-password-box code{font-size:16px;font-weight:800;background:#fff;border:1px dashed #f79009;border-radius:8px;padding:9px 12px;color:#7a2e0e}.recovery-admin-list{display:grid;gap:12px}.recovery-admin-card{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(190px,.8fr) minmax(280px,1.2fr);gap:18px;align-items:center;border:1px solid #e4e7ec;border-radius:13px;padding:15px;background:#fff}.recovery-admin-main{display:flex;gap:12px;align-items:center}.recovery-avatar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f4f3ff;color:#5925dc;font-weight:900;font-size:18px}.recovery-admin-main strong{display:block;color:#101828}.recovery-admin-main span{display:block;color:#667085;font-size:12px;margin-top:3px}.recovery-admin-meta{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#667085}.account-status{display:inline-flex;width:max-content;padding:3px 7px;border-radius:999px;font-weight:800;font-size:10px}.account-status.active{background:#ecfdf3;color:#027a48}.account-status.inactive{background:#fef3f2;color:#b42318}.force-change-badge{color:#b54708;font-weight:700}.recovery-admin-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.recovery-admin-actions form{margin:0}.reset-password-form{display:flex;gap:7px;align-items:center;flex:1;min-width:280px}.reset-password-form input{margin:0;min-width:170px}.reset-password-form .button-secondary,.recovery-admin-actions>form>.button-secondary{white-space:nowrap}.recovery-security-note{margin-top:16px;background:#f8fafc;border:1px solid #eef2f6;border-radius:10px;padding:11px 13px;color:#475467;font-size:12px;line-height:1.5}.password-change-card{border-top:4px solid #7f56d9}
@media(max-width:950px){.recovery-admin-card{grid-template-columns:1fr}.recovery-admin-actions{justify-content:flex-start}.reset-password-form{max-width:560px}.recovery-code-card{align-self:flex-start}}
@media(max-width:600px){.reset-password-form{flex-direction:column;align-items:stretch;min-width:0;width:100%}.recovery-admin-actions{display:grid;grid-template-columns:1fr}.recovery-admin-actions form{width:100%}.recovery-admin-actions button{width:100%}.temporary-password-box code{width:100%;overflow:auto}.recovery-code-card{width:100%}}

/* Institute profile */
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:#667085}
.btn-light{background:#fff;color:#172033;border:1px solid var(--border)}
.institute-top{min-height:70px;height:auto;padding-top:10px;padding-bottom:10px}
.institute-brand-mini{display:flex;align-items:center;gap:11px;min-width:0}
.institute-brand-mini img,.institute-logo-placeholder{width:42px;height:42px;border-radius:11px;object-fit:contain;background:#fff;border:1px solid var(--border)}
.institute-logo-placeholder{display:grid;place-items:center;font-size:13px;font-weight:800;color:#1f5f46}
.institute-brand-mini strong{display:block;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.institute-brand-mini small{display:block;color:var(--muted);margin-top:2px}
.profile-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start}
.profile-layout>.card:nth-child(3),.profile-layout>.profile-use-card{grid-column:2}
.profile-logo-card{grid-row:span 2}
.profile-logo-preview{height:190px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;display:grid;place-items:center;margin:16px 0}
.profile-logo-preview img{max-width:85%;max-height:155px;object-fit:contain}
.profile-logo-empty{color:#94a3b8;font-weight:700}
.profile-code-box{margin-top:20px;padding:15px;border-radius:12px;background:#f8fafc;border:1px solid var(--border)}
.profile-code-box span,.profile-code-box small{display:block;color:var(--muted)}
.profile-code-box strong{display:block;font-size:20px;margin:4px 0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.profile-use-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.profile-use-list>div{padding:13px;border-radius:10px;background:#f8fafc;border:1px solid var(--border)}
.profile-use-list strong,.profile-use-list span{display:block}
.profile-use-list span{margin-top:4px;color:var(--muted);font-size:13px}
.profile-savebar{position:sticky;bottom:0;z-index:5;margin-top:18px;background:rgba(255,255,255,.96);border:1px solid var(--border);box-shadow:0 -8px 25px rgba(15,23,42,.06);padding:12px 16px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.profile-savebar .btn{margin-top:0}
.profile-savebar span{display:block;font-size:13px;margin-top:3px}
.institute-profile-summary{border-left:4px solid #1f5f46}
@media(max-width:900px){
 .profile-layout{grid-template-columns:1fr}
 .profile-layout>.card:nth-child(3),.profile-layout>.profile-use-card{grid-column:auto}
 .profile-logo-card{grid-row:auto}
}
@media(max-width:650px){
 .form-grid,.profile-use-list{grid-template-columns:1fr}
 .institute-top{align-items:flex-start;gap:10px;flex-direction:column}
 .profile-savebar{align-items:stretch;flex-direction:column}
}


/* Institute Profile compact layout v2 */
.container.profile-container{max-width:1180px;padding-top:20px;padding-bottom:24px}
.profile-container .toolbar{margin-bottom:12px}
.profile-container .toolbar h1{font-size:28px;margin:3px 0 4px}
.profile-container .toolbar p{margin:0}
.profile-layout.compact-profile{grid-template-columns:250px minmax(0,1fr);gap:14px}
.compact-profile .card{padding:16px;border-radius:12px}
.compact-profile h2{font-size:19px;margin:5px 0 10px}
.compact-profile label{margin:9px 0 5px;font-size:13px}
.compact-profile input,.compact-profile select,.compact-profile textarea{padding:9px 10px;border-radius:8px}
.compact-profile textarea{min-height:82px}
.compact-profile .profile-logo-card{grid-row:span 2}
.compact-profile .profile-logo-preview{height:120px;margin:10px 0 8px;border-radius:11px}
.compact-profile .profile-logo-preview img{max-height:96px}
.compact-profile .profile-code-box{margin-top:12px;padding:11px}
.compact-profile .profile-code-box strong{font-size:17px}
.compact-profile .form-grid{gap:0 11px}
.compact-profile .profile-use-list{gap:8px}
.compact-profile .profile-use-list>div{padding:10px}
.compact-profile .profile-use-list strong{font-size:13px}
.compact-profile .profile-use-list span{font-size:12px}
.profile-savebar.compact-savebar{margin-top:12px;padding:9px 13px;border-radius:12px}
.profile-savebar.compact-savebar .btn{padding:9px 15px}
.profile-logo-help{font-size:12px;line-height:1.35;margin:5px 0 0}
@media(max-width:900px){
 .profile-layout.compact-profile{grid-template-columns:1fr}
 .compact-profile .profile-logo-card{grid-row:auto}
 .compact-profile .profile-logo-preview{height:140px}
}

.institute-brand-link{color:inherit;text-decoration:none;border-radius:10px;transition:background .15s ease,box-shadow .15s ease}
.institute-brand-link:hover{background:#f8fafc;box-shadow:0 0 0 6px #f8fafc}
.institute-brand-link:focus-visible{outline:2px solid #1f5f46;outline-offset:4px}

/* Migration Center */
.migration-stepbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:12px 14px;background:#fff;border:1px solid var(--border);border-radius:12px}
.migration-stepbar div{display:flex;align-items:center;gap:7px}.migration-stepbar b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e9f7f0;color:#166447;font-size:12px}.migration-stepbar span{font-size:13px;font-weight:700}.migration-stepbar i{font-style:normal;color:#98a2b3}
.migration-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em;background:#f2f4f7;color:#475467}
.status-completed,.status-imported,.status-valid{background:#ecfdf3;color:#027a48}.status-validated,.status-mapped{background:#eff6ff;color:#1d4ed8}.status-warning{background:#fffaeb;color:#b54708}.status-error,.status-failed{background:#fef3f2;color:#b42318}.status-rolled_back{background:#f4f3ff;color:#5925dc}
.table-sub{display:block;margin-top:3px;color:var(--muted);font-weight:400}.btn-sm{padding:7px 10px;margin:0}.migration-safety{margin-top:18px;display:flex;gap:12px;align-items:flex-start;background:#fffdf5}.migration-safety span{color:var(--muted)}
.migration-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.migration-metrics .green{border-left:4px solid #12b76a}.migration-metrics .amber{border-left:4px solid #f79009}.migration-metrics .red{border-left:4px solid #f04438}
.migration-json{font-size:11px;white-space:normal;word-break:break-word;color:#475467}.mig-error{font-size:12px;color:#b42318;margin:2px 0}.mig-warning{font-size:12px;color:#b54708;margin:2px 0}.migration-dashboard-card{border-left:4px solid #2563eb}
.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions form{margin:0}.actions .btn{margin-top:0}
@media(max-width:800px){.migration-metrics{grid-template-columns:1fr 1fr}.migration-stepbar i{display:none}}

/* =========================================================
   KallRecord Admin Shell - fixed header + WordPress-style menu
   ========================================================= */
.kr-admin-body{background:#f4f6f9;overflow-x:hidden}
.kr-admin-shell{min-height:100vh}
.kr-sidebar{position:fixed;z-index:60;left:0;top:0;bottom:0;width:244px;background:#102a22;color:#fff;overflow-y:auto;border-right:1px solid rgba(255,255,255,.06)}
.kr-sidebar-brand{display:flex;align-items:center;gap:11px;min-height:74px;padding:14px 16px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08)}
.kr-sidebar-brand img,.kr-brand-placeholder{width:42px;height:42px;border-radius:10px;object-fit:contain;background:#fff;flex:0 0 auto}
.kr-brand-placeholder{display:grid;place-items:center;color:#174734;font-weight:900;font-size:12px}
.kr-brand-copy{min-width:0}.kr-brand-copy strong{display:block;font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kr-brand-copy small{display:block;color:#9fb4ac;margin-top:4px;font-size:11px}
.kr-nav{padding:12px 9px 28px}.kr-nav-section{padding:17px 11px 7px;color:#789188;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.kr-nav-item{min-height:40px;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:7px;color:#dce8e3;text-decoration:none;font-size:13.5px;position:relative;margin:2px 0}
.kr-nav-item:hover{background:#173c30;color:#fff}.kr-nav-item.active{background:#1f684f;color:#fff;box-shadow:inset 3px 0 0 #78d6ad}
.kr-nav-icon{width:20px;text-align:center;font-size:15px;opacity:.9}.kr-nav-item.disabled{color:#81978f;cursor:default}.kr-nav-item.disabled:hover{background:transparent;color:#81978f}.kr-nav-item em{margin-left:auto;font-size:9px;font-style:normal;text-transform:uppercase;background:rgba(255,255,255,.08);padding:2px 5px;border-radius:5px;color:#8ca098}
.kr-admin-main{margin-left:244px;min-height:100vh}
.kr-admin-topbar{height:64px;position:fixed;z-index:50;top:0;left:244px;right:0;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-shadow:0 1px 2px rgba(16,24,40,.02)}
.kr-topbar-title{display:flex;flex-direction:column;min-width:0}.kr-topbar-title small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#667085;font-weight:800}.kr-topbar-title strong{font-size:17px;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kr-topbar-user{display:flex;align-items:center;gap:12px;font-size:12px}.kr-topbar-user>span{text-align:right}.kr-topbar-user>span strong{display:block;font-size:12px}.kr-topbar-user>span small{display:block;color:#98a2b3;margin-top:2px}.kr-top-link,.kr-logout-link{padding:7px 9px;border-radius:7px;text-decoration:none}.kr-top-link{color:#175c44;background:#f1f8f5}.kr-logout-link{color:#344054;border:1px solid #e4e7ec}
.kr-admin-content{padding:88px 24px 32px;max-width:1500px;margin:0 auto}.kr-page-subtitle{margin:-8px 0 18px;color:#667085;font-size:13px}.kr-mobile-menu{display:none;border:0;background:#f2f4f7;border-radius:7px;width:36px;height:36px;font-size:18px}
.page-title-actions,.dashboard-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.page-title-actions h1,.dashboard-title-row h1,.profile-page-heading h1{margin:2px 0 0;font-size:27px}.profile-page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.current-year-chip{background:#fff;border:1px solid #e4e7ec;border-radius:10px;padding:9px 13px;min-width:155px}.current-year-chip span{display:block;font-size:10px;color:#667085;text-transform:uppercase;font-weight:800}.current-year-chip strong{display:block;margin-top:2px;font-size:15px}
.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-stat-grid .card{min-height:112px}.dashboard-stat-grid .card small{display:block;margin-top:6px;color:#667085}.dashboard-stat-grid .text-value{font-size:21px}
.dashboard-panel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.dashboard-panel-grid .card{min-height:170px;display:flex;flex-direction:column}.dashboard-panel-grid h2{font-size:19px;margin:7px 0}.dashboard-card-actions{margin-top:auto;padding-top:12px}.academic-dashboard-card{border-left:4px solid #7f56d9}
.table-scroll{overflow-x:auto}

/* Academic Setup */
.academic-summary-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-bottom:16px}.academic-summary-grid .card{padding:16px}.academic-summary-grid span,.academic-summary-grid small{display:block;color:#667085}.academic-summary-grid strong{font-size:23px;margin:4px 0;display:block}.academic-current-card{border-left:4px solid #1f684f;background:#f8fdfa}
.academic-block{margin-bottom:16px;padding:18px}.academic-block-head h2{margin:4px 0;font-size:20px}.academic-block-head p{margin:0 0 14px;font-size:13px}
.academic-add-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:end;padding:12px;background:#f8fafc;border:1px solid #eaecf0;border-radius:10px;margin-bottom:12px}.academic-add-row label,.academic-class-add label{font-size:11px;margin-top:0}.academic-add-row .btn,.academic-class-add .btn{margin:0;height:41px}
.academic-list{border:1px solid #eaecf0;border-radius:10px;overflow:hidden}.academic-list-row{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr 1.25fr;gap:9px;align-items:center;padding:10px;border-bottom:1px solid #eaecf0;background:#fff}.academic-list-row:last-child{border-bottom:0}.academic-list-row.current{background:#f4fcf8}.academic-row-title strong{display:inline-block}.academic-row-title small{display:block;color:#667085;margin-top:3px}.academic-current-badge{display:inline-block;margin-left:6px;font-size:9px;font-weight:800;color:#027a48;background:#d1fadf;border-radius:999px;padding:3px 6px}.academic-row-actions{display:flex;gap:5px;justify-content:flex-end}.academic-row-actions .btn{margin:0;white-space:nowrap}
.academic-class-add{display:grid;grid-template-columns:2fr .8fr auto;gap:10px;align-items:end;padding:12px;background:#f8fafc;border:1px solid #eaecf0;border-radius:10px;margin-bottom:14px}
.class-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.class-setup-card{border:1px solid #dfe6e2;border-radius:11px;background:#fff;overflow:hidden}.class-setup-card.inactive{opacity:.68}.class-edit-form{padding:13px;background:#f8fbfa;border-bottom:1px solid #eaecf0}.class-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.class-card-head strong{display:block;font-size:16px}.class-card-head small{display:block;color:#667085;margin-top:3px}.switch-line{display:flex!important;align-items:center;gap:5px!important;font-size:11px!important;margin:0!important;white-space:nowrap}.switch-line input,.section-row input[type=checkbox]{width:auto}.class-inline-fields{display:grid;grid-template-columns:1fr 80px auto;gap:7px;margin-top:10px}.class-inline-fields .btn{margin:0}
.section-list{padding:9px}.section-row{display:grid;grid-template-columns:45px 1fr 65px 80px auto;gap:6px;align-items:center;padding:6px 4px;border-bottom:1px solid #f0f2f4}.section-row>span{font-size:11px;color:#667085}.section-row label{font-size:10px;margin:0;display:flex;gap:4px;align-items:center}.section-row .btn,.section-add-row .btn{margin:0}.section-row.inactive{opacity:.55}.section-add-row{display:grid;grid-template-columns:45px 1fr 65px auto;gap:6px;align-items:center;padding:8px 4px 3px}.btn-xs{padding:6px 8px;font-size:11px}.academic-migration-note{font-size:12px}

@media(max-width:1100px){.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-panel-grid{grid-template-columns:1fr 1fr}.academic-add-row,.academic-list-row{grid-template-columns:1fr 1fr}.academic-row-title{grid-column:1/-1}.academic-row-actions{justify-content:flex-start}.class-setup-grid{grid-template-columns:1fr}}
@media(max-width:780px){.kr-sidebar{transform:translateX(-100%);transition:transform .2s ease}.kr-sidebar-open .kr-sidebar{transform:translateX(0);box-shadow:20px 0 40px rgba(0,0,0,.2)}.kr-admin-main{margin-left:0}.kr-admin-topbar{left:0;padding:0 14px}.kr-mobile-menu{display:block}.kr-topbar-title{margin-right:auto;margin-left:8px}.kr-topbar-user>span,.kr-top-link{display:none}.kr-admin-content{padding:82px 14px 24px}.dashboard-panel-grid,.academic-summary-grid{grid-template-columns:1fr}.academic-add-row,.academic-class-add{grid-template-columns:1fr}.section-row{grid-template-columns:35px 1fr 55px auto}.section-row label{display:none}.profile-page-heading,.page-title-actions,.dashboard-title-row{align-items:stretch;flex-direction:column}.current-year-chip{min-width:0}}
@media(max-width:520px){.dashboard-stat-grid{grid-template-columns:1fr}.academic-list-row{grid-template-columns:1fr}.class-inline-fields{grid-template-columns:1fr 70px}.class-inline-fields .btn{grid-column:1/-1}.section-row{grid-template-columns:30px 1fr auto}.section-row input[type=number]{display:none}}

/* Profile Usage: compact professional treatment inside the admin shell */
.profile-use-card{padding:15px!important}.profile-use-card h2{font-size:16px!important;margin:4px 0 2px!important}.profile-use-card>p{font-size:12px!important;margin:0 0 10px!important}.profile-use-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.profile-use-list>div{padding:8px 10px!important;border:1px solid #eaecf0!important;border-radius:8px!important;background:#fafbfc!important;min-height:0!important}.profile-use-list strong{font-size:12px!important;line-height:1.25!important}.profile-use-list span{font-size:10.5px!important;line-height:1.3!important;margin-top:2px!important;color:#667085!important}
@media(max-width:650px){.profile-use-list{grid-template-columns:1fr!important}}

/* Students Module v1 */
.student-page-head{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.student-page-head>.btn{margin-top:0}
.student-metrics{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;flex:1}.student-metrics .card{padding:15px}.student-metrics span,.student-metrics small{display:block;color:var(--muted)}.student-metrics strong{display:block;font-size:25px;margin:5px 0}
.student-filter-bar{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:16px;padding:14px}.student-filter-bar label{margin-top:0}.student-filter-bar .btn{margin:0 0 1px}
.student-list-card{padding:0;overflow:hidden}.responsive-table{overflow:auto}.student-table-person{display:flex;align-items:center;gap:10px;min-width:190px}.student-table-person img,.student-table-person>span{width:38px;height:38px;border-radius:10px;object-fit:cover;background:#eef2f6;display:grid;place-items:center;font-weight:800}.student-table-person a{text-decoration:none;color:inherit}.student-table-person small{display:block;color:var(--muted);margin-top:2px}.student-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.student-status.status-active{background:#ecfdf3;color:#027a48}.student-status.status-inactive{background:#f2f4f7;color:#475467}.student-status.status-left{background:#fff4ed;color:#b93815}.student-status.status-passed_out{background:#eff8ff;color:#175cd3}
.student-form-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.student-form-grid>section:nth-child(n+3){grid-column:2}.student-photo-card{grid-row:span 3}.student-photo-preview{height:185px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;display:grid;place-items:center;margin:12px 0}.student-photo-preview img{width:100%;height:100%;object-fit:contain;border-radius:14px}.student-photo-preview span{color:#94a3b8;font-weight:700}.student-code-panel{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.student-code-panel small{display:block;color:var(--muted);margin-top:5px}
.age-recommendation{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px;padding:11px 13px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe}.age-recommendation span{color:#1e40af}
.student-rte-note{margin:12px 0 0}.guardian-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.guardian-box{padding:14px;border:1px solid var(--border);border-radius:12px;background:#f9fafb}.guardian-box>strong{display:block;margin-bottom:8px}
.student-savebar{position:sticky;bottom:0;z-index:6;margin-top:16px;padding:10px 14px;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:12px;display:flex;justify-content:flex-end;gap:8px;box-shadow:0 -8px 25px rgba(15,23,42,.05)}.student-savebar .btn{margin-top:0}.student-savebar.inline{position:static;background:transparent;border:0;box-shadow:none;padding:14px 0 0}
.student-profile-head{display:flex;align-items:center;gap:16px}.student-profile-photo{width:92px;height:92px;border-radius:16px;background:#eef2f6;display:grid;place-items:center;overflow:hidden;font-size:28px;font-weight:800}.student-profile-photo img{width:100%;height:100%;object-fit:cover}.student-profile-main{flex:1}.student-profile-main h1{margin:5px 0 8px}.student-profile-tags{display:flex;gap:7px;flex-wrap:wrap}.student-profile-tags>span{padding:5px 8px;border-radius:999px;background:#f2f4f7;font-size:12px;font-weight:700}.student-profile-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}.profile-kv{display:grid;grid-template-columns:1fr 1fr}.profile-kv>div{padding:10px 0;border-bottom:1px solid #eef2f6}.profile-kv>div:nth-child(odd){padding-right:14px}.profile-kv span,.profile-kv strong{display:block}.profile-kv span{font-size:12px;color:var(--muted);margin-bottom:3px}.profile-kv .wide{grid-column:1/-1}.guardian-profile-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eef2f6}.guardian-profile-row span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.student-edit-grid{display:grid;grid-template-columns:180px 1fr;gap:18px}.student-edit-photo{width:150px;height:150px;object-fit:cover;border-radius:14px;margin-top:10px;border:1px solid var(--border)}.form-divider{border:0;border-top:1px solid var(--border);margin:22px 0}
@media(max-width:1100px){.student-filter-bar{grid-template-columns:1fr 1fr 1fr}.student-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.student-form-grid{grid-template-columns:1fr}.student-form-grid>section:nth-child(n+3){grid-column:auto}.student-photo-card{grid-row:auto}.student-profile-grid{grid-template-columns:1fr}.student-edit-grid{grid-template-columns:1fr}.guardian-grid{grid-template-columns:1fr}}@media(max-width:650px){.student-page-head{flex-direction:column}.student-metrics{grid-template-columns:1fr;width:100%}.student-filter-bar{grid-template-columns:1fr}.profile-kv{grid-template-columns:1fr}.profile-kv .wide{grid-column:auto}.student-profile-head{align-items:flex-start;flex-wrap:wrap}.student-profile-head .actions{width:100%}}

/* Student ID Cards */
.id-filter-card{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:16px;padding:14px}.id-filter-card .btn{margin:0 0 1px}
.id-card-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.check-all{margin:0;font-weight:700}.check-all input{width:auto;margin-right:6px}
.id-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.id-field-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.id-field-checks label{margin:0;font-weight:600}.id-field-checks input{width:auto;margin-right:6px}
@media(max-width:900px){.id-filter-card{grid-template-columns:1fr 1fr}.id-settings-grid{grid-template-columns:1fr}}@media(max-width:650px){.id-filter-card{grid-template-columns:1fr}.id-card-actions{align-items:stretch;flex-direction:column}.id-field-checks{grid-template-columns:1fr}}

/* Fees & Dues v1 */
.fees-topbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}.fees-year-select{min-width:230px}.fees-year-select label{font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.fees-tabs{display:flex;gap:4px;padding:5px;background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:16px}.fees-tabs a{padding:7px 11px;border-radius:7px;text-decoration:none;color:#475467;font-size:12.5px;font-weight:700}.fees-tabs a.active{background:#eaf7f1;color:#166447}.fees-tabs a:hover{background:#f2f4f7}
.fees-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.fees-summary-grid .card{padding:15px}.fees-summary-grid .card>span,.fees-summary-grid .card>small{display:block;color:#667085}.fees-summary-grid .card>strong{display:block!important;font-size:24px!important;line-height:1.05!important;margin:6px 0!important}.fees-summary-grid .blue{border-top:3px solid #3b82f6}.fees-summary-grid .green{border-top:3px solid #16a36a}.fees-summary-grid .amber{border-top:3px solid #f59e0b}.fees-summary-grid .red{border-top:3px solid #ef4444}
.fees-student-card table{font-size:12.5px}.fees-student-card td strong,.fees-due-grid td strong,.kr-admin-content .fees-student-card td strong{display:inline!important;font-size:13px!important;margin:0!important;line-height:1.2!important}.fee-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fees-generate-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.fees-checklist{margin:8px 0 0;padding-left:20px}.fees-checklist li{margin:8px 0;color:#475467}
.fee-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10.5px;font-weight:800}.fee-status.status-paid{background:#ecfdf3;color:#027a48}.fee-status.status-partial{background:#fffaeb;color:#b54708}.fee-status.status-unpaid{background:#fef3f2;color:#b42318}
.fees-due-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fees-due-grid table,.fees-due-grid+ .card table{font-size:12.5px}
@media(max-width:1000px){.fees-summary-grid{grid-template-columns:1fr 1fr}.fee-class-grid{grid-template-columns:1fr 1fr}.fees-generate-grid,.fees-due-grid{grid-template-columns:1fr}}
@media(max-width:650px){.fees-topbar{align-items:stretch;flex-direction:column}.fees-year-select{min-width:0;width:100%}.fees-summary-grid,.fee-class-grid{grid-template-columns:1fr}.fees-tabs a{flex:1;text-align:center}}

/* Fees flexible plans v1.1 */
.fees-custom-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:16px;margin-top:18px}
.custom-fee-grid{grid-template-columns:1fr 1fr}
.custom-fee-list{display:flex;flex-direction:column;gap:8px}
.custom-fee-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}
.custom-fee-item strong{display:block!important;font-size:13px!important;line-height:1.25!important;margin:0!important}
.custom-fee-item span{display:block;color:#667085;font-size:11px;margin-top:3px}
.custom-fee-amount{font-size:15px;font-weight:800;white-space:nowrap}
.custom-fee-item form{margin:0}
.generation-plan-list{display:flex;flex-direction:column;gap:6px}
.generation-plan-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #eef2f6}
.generation-plan-list span strong,.generation-plan-list>div>strong{display:block!important;font-size:13px!important;line-height:1.2!important;margin:0!important}
.generation-plan-list small{display:block;color:#667085;font-size:11px;margin-top:3px}
@media(max-width:950px){.fees-custom-grid{grid-template-columns:1fr}}
@media(max-width:650px){.custom-fee-grid{grid-template-columns:1fr}.custom-fee-item{grid-template-columns:1fr auto}.custom-fee-item form{grid-column:1/-1}}

/* Fees UI hotfix: INR inputs + normal ledger/due amounts */
.money-input{
    display:flex;
    align-items:stretch;
    width:100%;
}
.money-input > span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    padding:0 10px;
    border:1px solid #d0d5dd;
    border-right:0;
    border-radius:8px 0 0 8px;
    background:#f9fafb;
    color:#344054;
    font-size:14px;
    font-weight:700;
}
.money-input > input{
    border-radius:0 8px 8px 0 !important;
    min-width:0;
}

/* Never let ordinary fee-table values inherit dashboard/stat-card 30px strong styling. */
.kr-admin-content .fees-student-card td strong,
.kr-admin-content .fees-due-grid td strong,
.kr-admin-content .fees-due-grid + .card td strong,
.kr-admin-content .responsive-table td strong,
.kr-admin-content .card table td strong{
    display:inline !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
}

/* Student Fee Ledger table: compact and consistent amounts */
.kr-admin-content table .fee-balance,
.kr-admin-content table .fee-amount{
    display:inline !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
}

/* Monthly Outstanding / Due tables should be readable, not headline-sized */
.fees-due-grid table td,
.fees-due-grid + .card table td{
    font-size:12.5px;
}
.fees-due-grid table td:last-child,
.fees-due-grid + .card table td:last-child{
    font-size:13px;
    font-weight:700;
}

/* Payments & Receipts v1 */
.payments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.payment-date-filter{display:grid;grid-template-columns:180px 180px auto;gap:10px;align-items:end;padding:12px;flex:1}.payment-date-filter .btn{margin:0 0 1px}
.payment-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:16px}.payment-summary-grid .card{padding:14px}.payment-summary-grid span,.payment-summary-grid small{display:block;color:#667085}.payment-summary-grid .card>strong{display:block!important;font-size:21px!important;line-height:1.05!important;margin:6px 0!important}.payment-summary-grid .green{border-top:3px solid #16a36a}.payment-summary-grid .blue{border-top:3px solid #3b82f6}.payment-summary-grid .purple{border-top:3px solid #8b5cf6}.payment-summary-grid .amber{border-top:3px solid #f59e0b}
.payment-table-amount{font-size:13px;font-weight:800}
.payment-student-filter{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:10px;align-items:end;margin-bottom:16px}.payment-student-filter .btn{margin:0 0 1px}
.payment-student-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.payment-student-summary h2{margin:4px 0}.payment-student-summary>div:last-child{text-align:right}.payment-student-summary>div:last-child span{display:block;color:#667085;font-size:11px}.payment-student-summary>div:last-child strong{display:block!important;font-size:24px!important;margin:4px 0!important}
.payment-form-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px}.payment-form-grid h2{font-size:18px;margin:5px 0 12px}
.payment-quick-buttons{display:flex;gap:6px;margin-top:10px}.payment-quick-buttons button{border:1px solid #d0d5dd;background:#fff;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer}.payment-quick-buttons button:hover{background:#f9fafb}
.money-input.compact>span{min-width:30px;padding:0 7px;font-size:12px}.money-input.compact>input{padding:7px 8px;font-size:12px}
.manual-total{text-align:right;margin-top:10px;font-size:12px;font-weight:700;color:#475467}
.payment-form-grid td strong,.payment-student-filter+ .card td strong,.kr-admin-content .payment-form-grid td strong{display:inline!important;font-size:13px!important;margin:0!important;line-height:1.2!important}
@media(max-width:1200px){.payment-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.payment-form-grid{grid-template-columns:1fr}.payment-student-filter{grid-template-columns:1fr 1fr}.payments-head{flex-direction:column}.payment-date-filter{width:100%}}
@media(max-width:650px){.payment-summary-grid,.payment-date-filter,.payment-student-filter{grid-template-columns:1fr}.payment-student-summary{align-items:flex-start;flex-direction:column}.payment-student-summary>div:last-child{text-align:left}}

/* Cash Book v1 */
.cashbook-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.cashbook-filter{display:grid;grid-template-columns:170px 190px 150px 150px auto;gap:8px;align-items:end;padding:12px;flex:1}.cashbook-filter .btn{margin:0 0 1px}
.cashbook-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.cashbook-summary-grid .card{padding:14px}.cashbook-summary-grid span,.cashbook-summary-grid small{display:block;color:#667085}.cashbook-summary-grid .card>strong{display:block!important;font-size:22px!important;line-height:1.05!important;margin:6px 0!important}.cashbook-summary-grid .green{border-top:3px solid #16a36a}.cashbook-summary-grid .red{border-top:3px solid #ef4444}.cashbook-summary-grid .blue{border-top:3px solid #3b82f6}
.cashbook-exportbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.cashbook-exportbar h2{margin:4px 0 0;font-size:18px}
.cashbook-table{font-size:12px}.cashbook-table th,.cashbook-table td{padding:9px}.cashbook-table td:nth-last-child(-n+3){white-space:nowrap}.cashbook-balance{font-weight:800}.bf-row{background:#f9fafb}
.cashbook-monthly-card{margin-top:16px}.cashbook-monthly-card h2{font-size:18px;margin:5px 0 12px}.cashbook-monthly-card table{font-size:12px}
.accounts-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px}.accounts-grid h2{font-size:18px}.account-opening-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #eef2f6}.account-opening-row strong{display:block!important;font-size:13px!important;margin:0!important}.account-opening-row small{display:block;color:#667085;font-size:10px;margin-top:3px}
.cashbook-entry-form{max-width:900px}.cashbook-entry-form .student-savebar{margin-top:14px}
@media(max-width:1100px){.cashbook-filter{grid-template-columns:1fr 1fr 1fr}.cashbook-actions{flex-direction:column}.cashbook-actions>.actions{width:100%}.cashbook-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.accounts-grid{grid-template-columns:1fr}.cashbook-filter{grid-template-columns:1fr 1fr}.cashbook-exportbar{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.cashbook-filter,.cashbook-summary-grid{grid-template-columns:1fr}.account-opening-row{grid-template-columns:1fr}.cashbook-exportbar .actions{width:100%}}

/* Cash Book corrections v1.1 */
.cashbook-row-actions{white-space:nowrap}.cashbook-row-actions .btn{margin-right:4px}
.correction-warning{margin-top:12px;padding:11px 12px;border:1px solid #fedf89;border-radius:9px;background:#fffaeb;color:#7a2e0e;font-size:12px;line-height:1.45}
.correction-review{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 16px}.correction-review>div{padding:14px;border-bottom:1px solid #eef2f6}.correction-review span{display:block;color:#667085;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.correction-review strong{display:block!important;margin:4px 0 0!important;font-size:14px!important;line-height:1.25!important}.correction-review .wide{grid-column:1/-1}
.btn-danger-soft{background:#fff1f0!important;color:#b42318!important;border:1px solid #fecdca!important}.btn-danger-soft:hover{background:#fee4e2!important}
@media(max-width:750px){.correction-review{grid-template-columns:1fr 1fr}}@media(max-width:480px){.correction-review{grid-template-columns:1fr}}

/* Payments correction / reversal v1.1 */
.payment-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.02em}.payment-status-success{background:#ecfdf3;color:#027a48}.payment-status-void{background:#fef3f2;color:#b42318}.payment-actions{white-space:nowrap}.payment-actions .btn{margin-right:4px}

/* Cash Book Source filter v1.2 */
.cashbook-filter{grid-template-columns:160px 180px 175px 145px 145px auto}
.cashbook-filter-note{display:grid;grid-template-columns:1.25fr .7fr .7fr 2fr;gap:12px;align-items:center;margin:-2px 0 16px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:10px;background:#f9fafb;font-size:12px}
.cashbook-filter-note span{display:block;color:#667085;font-size:10px}.cashbook-filter-note strong{font-size:12px}
@media(max-width:1200px){.cashbook-filter{grid-template-columns:1fr 1fr 1fr}.cashbook-filter-note{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.cashbook-filter-note{grid-template-columns:1fr}}

/* Cash Book All Accounts v1.3 */
.cashbook-filter{grid-template-columns:160px 180px 170px 145px 145px auto}
.transfer-neutral{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:10px;font-weight:700;white-space:nowrap}
.cashbook-table th:nth-child(4),.cashbook-table td:nth-child(4){max-width:240px}
@media(max-width:1200px){.cashbook-filter{grid-template-columns:1fr 1fr 1fr}}

/* Expenses v1 */
.expenses-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.expenses-filter{display:grid;grid-template-columns:145px 170px 160px 130px 145px 145px minmax(190px,1fr) auto;gap:8px;align-items:end;padding:12px;flex:1}.expenses-filter .btn{margin:0 0 1px}
.expense-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.expense-summary-grid .card{padding:14px}.expense-summary-grid span,.expense-summary-grid small{display:block;color:#667085}.expense-summary-grid .card>strong{display:block!important;font-size:22px!important;line-height:1.05!important;margin:6px 0!important}.expense-summary-grid .red{border-top:3px solid #ef4444}.expense-summary-grid .amber{border-top:3px solid #f59e0b}.expense-summary-grid .purple{border-top:3px solid #8b5cf6}.expense-summary-grid .expense-period{font-size:15px!important}
.expenses-exportbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.expenses-exportbar h2{margin:4px 0 0;font-size:18px}
.expense-table{font-size:12px}.expense-table td strong{display:inline!important;font-size:12.5px!important;margin:0!important}.expense-amount{font-weight:800;white-space:nowrap}.expense-row-actions{white-space:nowrap}.expense-row-actions .btn{margin-right:4px}.expense-type{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9.5px;font-weight:800}.expense-type-revenue{background:#eef4ff;color:#3538cd}.expense-type-capital{background:#f4f3ff;color:#5925dc}
.expense-category-summary{margin-top:16px}.expense-category-summary h2{font-size:18px;margin:5px 0 12px}.expense-category-summary table{font-size:12px}
.expense-form{max-width:1050px}.expense-post-note{margin-top:12px;padding:11px 12px;border:1px solid #abefc6;background:#ecfdf3;color:#05603a;border-radius:9px;font-size:12px}
.expense-category-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:16px}.expense-category-grid h2{font-size:18px}.expense-category-list{display:flex;flex-direction:column;gap:7px}.expense-category-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid #e4e7ec;border-radius:9px}.expense-category-rename{display:grid;grid-template-columns:1fr auto;gap:6px}.expense-category-row form{margin:0}
@media(max-width:1350px){.expenses-filter{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1000px){.expenses-actions{flex-direction:column}.expense-summary-grid{grid-template-columns:1fr 1fr}.expense-category-grid{grid-template-columns:1fr}}
@media(max-width:700px){.expenses-filter{grid-template-columns:1fr 1fr}.expenses-exportbar{flex-direction:column;align-items:flex-start}}
@media(max-width:520px){.expenses-filter,.expense-summary-grid{grid-template-columns:1fr}}

/* Asset Register v1 */
.asset-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.asset-filter{display:grid;grid-template-columns:180px 140px 160px minmax(240px,1fr) auto;gap:8px;align-items:end;padding:12px;flex:1}.asset-filter .btn{margin:0 0 1px}
.asset-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.asset-summary-grid .card{padding:14px}.asset-summary-grid span,.asset-summary-grid small{display:block;color:#667085}.asset-summary-grid .card>strong{display:block!important;font-size:22px!important;line-height:1.05!important;margin:6px 0!important}.asset-summary-grid .blue{border-top:3px solid #3b82f6}.asset-summary-grid .green{border-top:3px solid #16a36a}.asset-summary-grid .purple{border-top:3px solid #8b5cf6}
.assets-exportbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.assets-exportbar h2{margin:4px 0 0;font-size:18px}
.asset-table{font-size:11.5px}.asset-table td strong{display:inline!important;font-size:12px!important;margin:0!important}.asset-value{font-weight:800;white-space:nowrap}.asset-row-actions{white-space:nowrap}.asset-row-actions .btn{margin-right:3px}.asset-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800}.asset-status-active{background:#ecfdf3;color:#027a48}.asset-status-damaged{background:#fffaeb;color:#b54708}.asset-status-lost{background:#fef3f2;color:#b42318}.asset-status-disposed{background:#f2f4f7;color:#475467}.asset-expense-link{font-weight:700;color:#116149}
.asset-category-summary{margin-top:16px}.asset-category-summary h2{font-size:18px;margin:5px 0 12px}.asset-category-summary table{font-size:12px}
.asset-form{max-width:1050px}.asset-linked-expense-banner{margin-bottom:14px;padding:12px 14px;border:1px solid #b2ddff;border-radius:10px;background:#eff8ff;color:#1849a9;font-size:12px}.asset-linked-expense-banner span{color:#475467}.asset-no-double-post{margin-top:12px;padding:11px 12px;border:1px solid #abefc6;background:#ecfdf3;color:#05603a;border-radius:9px;font-size:12px}
.asset-profile-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.asset-profile-head h2{margin:5px 0}.asset-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.asset-detail-grid h2{font-size:18px}.asset-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:0}.asset-detail-list>div{padding:11px 0;border-bottom:1px solid #eef2f6}.asset-detail-list span{display:block;color:#667085;font-size:10px}.asset-detail-list strong{display:block!important;font-size:13px!important;margin:4px 0 0!important}.asset-expense-card{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.asset-expense-card h2{font-size:18px;margin:5px 0}.asset-disposal-card{margin-top:16px}.asset-disposal-fields{margin-top:12px;padding:12px;border:1px solid #e4e7ec;border-radius:10px;background:#f9fafb}
@media(max-width:1000px){.asset-actions{flex-direction:column}.asset-filter{grid-template-columns:1fr 1fr 1fr}.asset-summary-grid{grid-template-columns:1fr 1fr}.asset-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.asset-filter{grid-template-columns:1fr 1fr}.assets-exportbar{flex-direction:column;align-items:flex-start}.asset-detail-list{grid-template-columns:1fr}}
@media(max-width:520px){.asset-filter,.asset-summary-grid{grid-template-columns:1fr}}

/* Income / Other Receipts v1 */
.income-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.income-filter{display:grid;grid-template-columns:145px 170px 160px 145px 145px 145px minmax(200px,1fr) auto;gap:8px;align-items:end;padding:12px;flex:1}.income-filter .btn{margin:0 0 1px}
.income-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.income-summary-grid .card{padding:14px}.income-summary-grid span,.income-summary-grid small{display:block;color:#667085}.income-summary-grid .card>strong{display:block!important;font-size:22px!important;line-height:1.05!important;margin:6px 0!important}.income-summary-grid .green{border-top:3px solid #16a36a}.income-summary-grid .blue{border-top:3px solid #3b82f6}.income-summary-grid .purple{border-top:3px solid #8b5cf6}.income-summary-grid .income-period{font-size:15px!important}
.income-exportbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.income-exportbar h2{margin:4px 0 0;font-size:18px}
.income-table{font-size:12px}.income-table td strong{display:inline!important;font-size:12.5px!important;margin:0!important}.income-amount{font-weight:800;white-space:nowrap}.income-row-actions{white-space:nowrap}.income-row-actions .btn{margin-right:4px}.income-type{display:inline-flex;padding:4px 7px;border-radius:999px;background:#ecfdf3;color:#027a48;font-size:9.5px;font-weight:800}
.income-category-summary{margin-top:16px}.income-category-summary h2{font-size:18px;margin:5px 0 12px}.income-category-summary table{font-size:12px}.income-form{max-width:1050px}.income-post-note{margin-top:12px;padding:11px 12px;border:1px solid #abefc6;background:#ecfdf3;color:#05603a;border-radius:9px;font-size:12px}
@media(max-width:1350px){.income-filter{grid-template-columns:repeat(4,1fr)}}@media(max-width:1000px){.income-actions{flex-direction:column}.income-summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.income-filter{grid-template-columns:1fr 1fr}.income-exportbar{flex-direction:column;align-items:flex-start}}@media(max-width:520px){.income-filter,.income-summary-grid{grid-template-columns:1fr}}

/* Finance Suite v1 */
.bank-recon-filter,.budget-year,.report-filter{display:grid;grid-template-columns:repeat(3,minmax(160px,220px)) auto;gap:10px;align-items:end;margin-bottom:16px}.bank-recon-summary{grid-template-columns:repeat(5,1fr);margin-bottom:16px}.bank-recon-summary .card{padding:14px}.bank-recon-summary span,.bank-recon-summary small{display:block;color:#667085}.bank-recon-summary strong{display:block!important;font-size:20px!important;margin:5px 0!important}.bank-recon-summary .amber{border-top:3px solid #f59e0b}.bank-recon-summary .red{border-top:3px solid #ef4444}.bank-recon-summary .green{border-top:3px solid #16a36a}.bank-recon-head{display:grid;grid-template-columns:220px 1fr 1fr;gap:14px;align-items:end;margin-bottom:16px}.bank-recon-formula{padding:10px;border-radius:8px;background:#f8fafc;font-size:11px}.bank-recon-formula strong{display:block!important;font-size:17px!important;margin:4px 0 0!important}
.budget-year{grid-template-columns:220px auto 1fr}.budget-status{text-align:right;padding:10px}.budget-add{display:grid;grid-template-columns:130px 160px 1fr 180px 180px 180px auto;gap:8px;align-items:end;margin-bottom:16px}.budget-type{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800}.budget-income{background:#ecfdf3;color:#027a48}.budget-expense{background:#fef3f2;color:#b42318}.variance-over{color:#b42318;font-weight:700}.variance-under{color:#027a48;font-weight:700}
.financial-report-note{margin-bottom:14px;padding:11px 12px;border:1px solid #fedf89;background:#fffaeb;border-radius:9px;color:#7a2e0e;font-size:12px}.report-filter{grid-template-columns:180px 150px 150px 180px auto}.report-tabs{margin-bottom:16px}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.statement-grid h2{font-size:18px;margin:0 0 12px}.statement-row,.statement-total{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid #eef2f6}.statement-row strong,.statement-total strong{font-size:13px!important;margin:0!important}.statement-total{margin-top:8px;border-top:2px solid #101828;border-bottom:0;font-weight:800}.report-surplus{margin-top:16px;display:flex;justify-content:space-between;align-items:center}.report-surplus strong{font-size:22px!important}.report-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.report-adjustment-form{display:grid;grid-template-columns:190px 1fr 180px 1fr auto;gap:10px;align-items:end;margin-bottom:16px}
@media(max-width:1100px){.bank-recon-summary{grid-template-columns:1fr 1fr}.budget-add{grid-template-columns:1fr 1fr 1fr}.statement-grid{grid-template-columns:1fr}.report-adjustment-form{grid-template-columns:1fr 1fr}.bank-recon-head{grid-template-columns:1fr}}
@media(max-width:700px){.bank-recon-filter,.budget-year,.report-filter,.budget-add,.report-adjustment-form{grid-template-columns:1fr}.bank-recon-summary{grid-template-columns:1fr}}


/* =========================================================
   Student navigation tabs fix v1
   Restores the shared Students / ID Cards / Promotion /
   Bulk Import-Export tab bar across every Student page.
   ========================================================= */

.student-subnav{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:4px !important;
    width:100% !important;
    margin:0 0 16px !important;
    padding:5px !important;
    min-height:42px !important;
    background:#fff !important;
    border:1px solid #e4e7ec !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
    box-shadow:0 1px 2px rgba(16,24,40,.03) !important;
}

.student-subnav > a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:31px !important;
    margin:0 !important;
    padding:7px 11px !important;
    border:0 !important;
    border-radius:7px !important;
    background:transparent !important;
    color:#475467 !important;
    text-decoration:none !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    box-shadow:none !important;
}

.student-subnav > a:visited{
    color:#475467 !important;
}

.student-subnav > a:hover,
.student-subnav > a:focus{
    background:#f2f4f7 !important;
    color:#172033 !important;
    text-decoration:none !important;
}

.student-subnav > a.active,
.student-subnav > a.active:visited{
    background:#eaf7f1 !important;
    color:#166447 !important;
}

/* Protect the tab bar from generic/global anchor rules. */
.kr-admin-content .student-subnav a,
main .student-subnav a{
    text-decoration:none !important;
}

/* Keep Student workflow typography consistent immediately below the tabs. */
.student-subnav + .card label,
.student-subnav ~ .card label{
    font-size:11.5px;
}

.student-subnav + .card input,
.student-subnav + .card select,
.student-subnav ~ .card input,
.student-subnav ~ .card select{
    font-size:12px;
}

@media(max-width:700px){
    .student-subnav{
        gap:3px !important;
        padding:4px !important;
    }
    .student-subnav > a{
        flex:1 1 calc(50% - 4px) !important;
        white-space:normal !important;
        text-align:center !important;
        font-size:11.5px !important;
    }
}

/* Financial Reports v1 */
.report-tabs{display:flex!important;flex-wrap:wrap!important;gap:4px!important;padding:5px!important;background:#fff!important;border:1px solid #e4e7ec!important;border-radius:10px!important}
.report-tabs>a{display:inline-flex!important;align-items:center!important;min-height:32px!important;padding:7px 11px!important;border-radius:7px!important;text-decoration:none!important;color:#475467!important;font-size:12px!important;font-weight:700!important}
.report-tabs>a.active{background:#eaf7f1!important;color:#166447!important}
.report-budget-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.report-budget-summary .card{padding:14px}.report-budget-summary span{display:block;color:#667085}.report-budget-summary strong{display:block!important;font-size:20px!important;margin:6px 0 0!important}.report-budget-summary .green{border-top:3px solid #16a36a}.report-budget-summary .red{border-top:3px solid #ef4444}
.budget-source-help{grid-column:1/-1;padding:8px 10px;border-radius:8px;background:#f8fafc;color:#475467;font-size:11px}
@media(max-width:900px){.report-budget-summary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.report-budget-summary{grid-template-columns:1fr}}

/* Payroll / Salary Register v1 */
.payroll-top-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.payroll-filter{display:grid;grid-template-columns:220px 150px 180px auto;gap:10px;align-items:end;flex:1}.payroll-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.payroll-summary .card{padding:14px}.payroll-summary span,.payroll-summary small{display:block;color:#667085}.payroll-summary strong{display:block!important;font-size:21px!important;margin:6px 0!important}.payroll-summary .blue{border-top:3px solid #3b82f6}.payroll-summary .amber{border-top:3px solid #f59e0b}.payroll-summary .green{border-top:3px solid #16a36a}
.payroll-empty{display:flex;align-items:center;justify-content:space-between;gap:20px}.payroll-empty h2{margin:5px 0;font-size:20px}.payroll-runbar{display:flex;justify-content:space-between;align-items:center;margin:2px 0 10px}.payroll-runbar h2{font-size:18px;margin:4px 0}.payroll-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:800}.payroll-draft{background:#fffaeb;color:#b54708}.payroll-posted{background:#ecfdf3;color:#027a48}
.payroll-table{font-size:11px;min-width:1250px}.payroll-table td strong{font-size:11.5px!important;margin:0!important}.payroll-money{display:flex;min-width:110px}.payroll-money span{display:flex;align-items:center;padding:0 7px;border:1px solid #d0d5dd;border-right:0;border-radius:7px 0 0 7px;background:#f9fafb}.payroll-money input{min-width:0;border-radius:0 7px 7px 0!important}
.payroll-post-card{display:grid;grid-template-columns:180px 220px 240px 1fr auto;gap:12px;align-items:end;margin-top:16px}.payroll-post-note{padding:10px;border:1px solid #abefc6;background:#ecfdf3;border-radius:8px;color:#05603a;font-size:11px}.payroll-posted-info{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.payroll-posted-info span{display:block;color:#667085;font-size:10px}.payroll-posted-info strong{display:block!important;font-size:13px!important;margin:4px 0 0!important}.payroll-posted-actions{display:flex;justify-content:flex-end;gap:8px;margin:10px 0}.payroll-reopen{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.payroll-profile-list{display:flex;flex-direction:column;gap:10px}.payroll-profile-row{display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(6,minmax(115px,1fr)) 120px minmax(150px,1fr) auto;gap:8px;align-items:end}.payroll-profile-person strong{display:block!important;font-size:13px!important;margin:0!important}.payroll-profile-person small{display:block;color:#667085;margin-top:4px}.payroll-profile-net span{display:block;color:#667085;font-size:10px}.payroll-profile-net strong{display:block!important;font-size:15px!important;margin:4px 0 7px!important}
.payroll-settings-form{display:grid;grid-template-columns:1fr 1fr 180px auto;gap:12px;align-items:end;max-width:1050px}.payroll-settings-form small{display:block;color:#667085;margin-top:5px}.payroll-accounting-note{max-width:1050px;margin-top:16px}.payroll-accounting-note h2{font-size:17px;margin-top:0}
@media(max-width:1250px){.payroll-profile-row{grid-template-columns:repeat(4,1fr)}.payroll-post-card{grid-template-columns:1fr 1fr}.payroll-post-note{grid-column:1/-1}}
@media(max-width:900px){.payroll-top-actions{flex-direction:column}.payroll-filter,.payroll-summary,.payroll-settings-form,.payroll-posted-info{grid-template-columns:1fr 1fr}.payroll-empty{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.payroll-filter,.payroll-summary,.payroll-settings-form,.payroll-posted-info,.payroll-post-card,.payroll-profile-row,.payroll-reopen{grid-template-columns:1fr}}

/* Payroll v1.1 */
.payroll-run-actions{display:flex;align-items:center;gap:8px}.payroll-run-actions form{margin:0}
.payroll-post-note strong{font-size:11px!important;margin:0!important;display:inline!important}

/* Staff Management v1 */
.staff-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.staff-summary .card{padding:14px}.staff-summary span{display:block;color:#667085}.staff-summary strong{display:block!important;font-size:21px!important;margin:5px 0 0!important}.staff-summary .blue{border-top:3px solid #3b82f6}.staff-summary .purple{border-top:3px solid #8b5cf6}.staff-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}.staff-filter{display:grid;grid-template-columns:1fr 200px 190px auto;gap:10px;align-items:end;margin-bottom:14px}.staff-person{display:flex;align-items:center;gap:10px}.staff-person img,.staff-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover}.staff-avatar{display:flex;align-items:center;justify-content:center;background:#eef2ff;color:#4338ca;font-weight:800}.staff-person strong,.staff-person small{display:block}.staff-person strong{font-size:12px!important;margin:0!important}.staff-person small{font-size:10px;color:#667085}.staff-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800}.staff-active{background:#ecfdf3;color:#027a48}.staff-inactive{background:#f2f4f7;color:#475467}.staff-left{background:#fef3f2;color:#b42318}.staff-form-grid{display:grid;grid-template-columns:260px 1fr;gap:16px}.staff-form-grid .span-main{grid-column:1/-1}.staff-photo-preview{height:190px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:center;margin:12px 0}.staff-photo-preview img{max-width:150px;max-height:170px}.staff-photo-preview span{font-size:40px;font-weight:800}.form-grid-2,.form-grid-3{display:grid;gap:10px}.form-grid-2{grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:repeat(3,1fr)}.span-2,.span-3{grid-column:1/-1}.staff-profile-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.staff-profile-person{display:flex;align-items:center;gap:14px}.staff-profile-person img,.staff-profile-avatar{width:76px;height:76px;border-radius:12px;object-fit:cover}.staff-profile-avatar{display:flex;align-items:center;justify-content:center;background:#eef2ff;font-size:28px;font-weight:800}.staff-profile-head h1{font-size:24px;margin:4px 0}.staff-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.detail-grid>div{padding:9px 0;border-bottom:1px solid #eef2f6}.detail-grid span,.salary-mini-grid span{display:block;color:#667085;font-size:10px}.detail-grid strong,.salary-mini-grid strong{display:block!important;font-size:13px!important;margin:4px 0 0!important}.salary-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.salary-mini-grid>div{padding:12px;background:#f8fafc;border-radius:8px}@media(max-width:900px){.staff-summary,.staff-profile-grid{grid-template-columns:1fr 1fr}.staff-form-grid{grid-template-columns:1fr}.staff-form-grid .span-main{grid-column:auto}.form-grid-3{grid-template-columns:1fr 1fr}}@media(max-width:600px){.staff-summary,.staff-profile-grid,.staff-filter,.form-grid-2,.form-grid-3,.salary-mini-grid{grid-template-columns:1fr}}

/* UDISE Student Import v1 */
.btn-udise{background:#0b6b50!important;color:#fff!important;border-color:#0b6b50!important}.udise-chip{display:inline-flex;padding:4px 7px;border-radius:999px;background:#e8f7f1;color:#0b6b50;font-size:9px;font-weight:800}.udise-upload-card{max-width:900px}.udise-privacy{max-width:900px;margin-top:14px}.udise-privacy h2{font-size:17px}.udise-year-card{display:grid;grid-template-columns:minmax(300px,520px) 1fr;gap:18px;align-items:end}.udise-year-help{font-size:11px;color:#667085;line-height:1.5}.udise-class-grid{display:flex;flex-direction:column;gap:7px;margin-top:12px}.udise-map-row{display:grid;grid-template-columns:160px 26px minmax(260px,1fr);gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #eef2f6}.udise-map-row>span{text-align:center;color:#98a2b3}.udise-check{display:flex!important;align-items:center;gap:8px;margin-top:14px;font-size:12px!important}.udise-check input{width:auto!important}.udise-report-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.udise-report-metrics .card{padding:14px}.udise-report-metrics span{display:block;color:#667085}.udise-report-metrics strong{display:block!important;font-size:22px!important;margin:6px 0 0!important}.udise-report-metrics .green{border-top:3px solid #12b76a}.udise-report-metrics .blue{border-top:3px solid #3b82f6}.udise-report-metrics .purple{border-top:3px solid #8b5cf6}
@media(max-width:800px){.udise-year-card{grid-template-columns:1fr}.udise-report-metrics{grid-template-columns:1fr 1fr}.udise-map-row{grid-template-columns:110px 22px 1fr}}@media(max-width:520px){.udise-report-metrics{grid-template-columns:1fr}.udise-map-row{grid-template-columns:1fr}.udise-map-row>span{display:none}}

/* Pre-Primary Classes + UDISE Auto-Mapping v1 */
.udise-class-grid .udise-map-row select:valid{background-color:#fff}
.udise-auto-note{font-size:11px;color:#475467}

/* UDISE Post-Import Visibility Fix v1 */
.udise-diagnostic-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.udise-diagnostic-metrics .card{padding:14px}.udise-diagnostic-metrics span,.udise-diagnostic-metrics small{display:block;color:#667085}.udise-diagnostic-metrics strong{display:block!important;font-size:22px!important;margin:5px 0!important}.udise-diagnostic-metrics .amber{border-top:3px solid #f59e0b}.udise-diagnostic-metrics .red{border-top:3px solid #ef4444}.udise-repair-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.udise-repair-card h2{margin:0 0 4px}.student-import-view a{font-weight:700}
@media(max-width:900px){.udise-diagnostic-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:550px){.udise-diagnostic-metrics{grid-template-columns:1fr}.udise-repair-card{align-items:flex-start;flex-direction:column}}

/* UDISE Post-Import Audit + Repair v1 */
.udise-audit-metrics{grid-template-columns:repeat(6,minmax(0,1fr));margin:14px 0}.udise-audit-metrics .card{padding:13px}.udise-audit-metrics span{display:block;color:#667085;font-size:11px}.udise-audit-metrics strong{display:block!important;font-size:21px!important;margin:5px 0 0!important}.udise-audit-metrics .green{border-top:3px solid #12b76a}.udise-audit-metrics .red{border-top:3px solid #f04438}.udise-audit-metrics .amber{border-top:3px solid #f79009}.udise-audit-metrics .purple{border-top:3px solid #7f56d9}.udise-audit-metrics .blue{border-top:3px solid #2e90fa}.udise-full-repair{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0}.udise-full-repair h2{margin:0 0 5px;font-size:18px}.udise-full-repair p{margin:0;color:#475467}.udise-audit-table table{min-width:1250px}.udise-audit-table td{vertical-align:top}.udise-audit-collision{background:#fff8f7}.udise-audit-missing{background:#fffcf5}.udise-audit-ambiguous{background:#fafaff}.udise-audit-issue{color:#b42318;max-width:260px}.status-found{background:#ecfdf3;color:#027a48}.status-collision{background:#fef3f2;color:#b42318}.status-missing{background:#fffaeb;color:#b54708}.status-ambiguous{background:#f4f3ff;color:#5925dc}.status-warning{background:#fffaeb;color:#b54708}
@media(max-width:1100px){.udise-audit-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.udise-audit-metrics{grid-template-columns:1fr 1fr}.udise-full-repair{align-items:flex-start;flex-direction:column}}

/* Migration Admin Shell UI v1.3 */
@media(min-width:781px){body.kr-admin-body .kr-sidebar{display:block!important;visibility:visible!important;transform:none!important}body.kr-admin-body .kr-admin-main{margin-left:244px!important}body.kr-admin-body .kr-admin-topbar{left:244px!important}}
body.kr-admin-body .kr-admin-content{font-size:13px}body.kr-admin-body .kr-admin-content h1{font-size:27px;line-height:1.15}body.kr-admin-body .kr-admin-content h2{font-size:18px;line-height:1.25}.udise-audit-table table{font-size:12px}.udise-audit-table th{font-size:11px}.udise-audit-table td strong{font-size:12px!important}.udise-audit-table .table-sub{font-size:9.5px!important;line-height:1.25}.udise-full-repair .btn{white-space:nowrap}.udise-verified-panel{display:flex;align-items:center;gap:12px;margin:14px 0;border:1px solid #abefc6;background:#ecfdf3}.udise-verified-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#12b76a;color:#fff;font-size:20px;font-weight:900}.udise-verified-panel strong,.udise-verified-panel span{display:block}.udise-verified-panel strong{font-size:14px}.udise-verified-panel span{margin-top:3px;color:#475467;font-size:11px}

/* Student Profile / UDISE UI & Warning Cleanup v1.1 */
.student-profile-tags{align-items:center}.student-profile-tags>span{display:inline-flex;align-items:center;line-height:1.2}.student-profile-tags .student-status{white-space:nowrap}
.guardian-profile-row>div{min-width:0}.guardian-profile-row>div>strong{display:block!important;font-size:13px!important;margin:0!important}.guardian-profile-row>strong{font-size:12px!important;margin:0!important;white-space:nowrap}
.udise-profile-ok{margin-top:12px;padding:10px 12px;border:1px solid #abefc6;background:#ecfdf3;color:#067647;border-radius:8px;font-size:11px;font-weight:600}
.udise-record-status{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border-radius:10px;margin-bottom:12px;font-size:11px}.udise-record-status strong{font-size:12px}.udise-record-status-ok{border:1px solid #abefc6;background:#ecfdf3;color:#067647}.udise-record-status-warning{border:1px solid #fec84b;background:#fffaeb;color:#93370d}.udise-edit-help{padding:9px 12px;margin:0 0 12px;border:1px solid #d0d5dd;background:#f8fafc;border-radius:8px;color:#475467;font-size:10.5px}
.student-gov-head .student-profile-tags{gap:7px}.student-gov-head .student-profile-tags>span{padding:5px 8px;border-radius:999px;background:#f2f4f7;font-size:11px;font-weight:700}

/* Student UDISE Form Binding v1.2 */
.udise-binding-note{margin:0 0 12px;padding:9px 11px;border:1px solid #d0d5dd;border-radius:8px;background:#f8fafc;color:#475467;font-size:10.5px}.udise-binding-note strong{color:#344054}


/* Student Profile UI Polish v1.3 */
.student-profile-main h1{
    margin:4px 0 10px!important;
    font-size:24px!important;
    line-height:1.2!important;
    letter-spacing:-.01em;
}
.student-profile-tags{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:6px!important;
}
.student-profile-tags>span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:25px!important;
    padding:5px 9px!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:11px!important;
    font-weight:700!important;
    line-height:1!important;
    white-space:nowrap!important;
}
.student-profile-tags .student-code-tag{
    background:#f2f4f7!important;
    color:#344054!important;
}
.student-profile-tags .student-class-tag{
    background:#eff8ff!important;
    color:#175cd3!important;
}
.student-profile-tags .student-section-tag{
    min-width:27px!important;
    background:#f4f3ff!important;
    color:#5925dc!important;
}
.student-profile-tags .student-status{
    border:0!important;
}
.student-profile-head>.actions{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:7px!important;
}
.student-profile-head>.actions form{
    margin:0!important;
}
.student-profile-head>.actions .btn{
    white-space:nowrap;
}

.guardian-profile-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    min-height:58px;
    padding:12px 0!important;
}
.guardian-profile-person{
    min-width:0;
    flex:1;
}
.guardian-profile-person>strong{
    display:block!important;
    margin:0 0 5px!important;
    font-size:13px!important;
    font-weight:750!important;
    line-height:1.25!important;
    color:#101828;
}
.guardian-profile-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
}
.guardian-profile-meta>span{
    display:inline-flex!important;
    align-items:center;
    margin:0!important;
    color:#667085!important;
    font-size:11px!important;
    line-height:1.2!important;
}
.guardian-profile-meta .guardian-primary-badge{
    padding:3px 6px!important;
    border-radius:999px;
    background:#ecfdf3;
    color:#027a48!important;
    font-size:9px!important;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.guardian-profile-mobile{
    flex:0 0 auto;
    color:#344054!important;
    text-decoration:none!important;
    font-size:11px!important;
    font-weight:700!important;
}
.guardian-profile-mobile:hover{
    text-decoration:underline!important;
}
.profile-kv strong{
    font-size:12.5px!important;
    line-height:1.35!important;
}

@media(max-width:700px){
    .student-profile-main h1{font-size:21px!important}
    .student-profile-tags>span{font-size:10.5px!important;padding:5px 8px!important}
    .guardian-profile-row{align-items:flex-start!important}
}

/* Student Profile Semantic UI v1.4 */
.student-profile-separator{
    display:inline-flex!important;
    align-items:center!important;
    padding:0!important;
    margin:0 1px!important;
    min-height:auto!important;
    background:transparent!important;
    color:#98a2b3!important;
    border-radius:0!important;
    font-size:12px!important;
    font-weight:700!important;
}
.guardian-meta-separator{
    color:#98a2b3!important;
    font-size:10px!important;
    font-weight:700!important;
    margin:0!important;
}
.udise-loaded-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:10px 0 14px;
}
.udise-loaded-summary>div{
    padding:9px 10px;
    background:#f8fafc;
    border:1px solid #eaecf0;
    border-radius:8px;
}
.udise-loaded-summary span{
    display:block;
    color:#667085;
    font-size:9.5px;
    line-height:1.2;
}
.udise-loaded-summary strong{
    display:block!important;
    margin:4px 0 0!important;
    color:#101828;
    font-size:11.5px!important;
    line-height:1.3!important;
    overflow-wrap:anywhere;
}
.field-current-value{
    display:block!important;
    margin-top:4px!important;
    color:#667085!important;
    font-size:9.5px!important;
}
@media(max-width:900px){
    .udise-loaded-summary{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
    .udise-loaded-summary{grid-template-columns:1fr}
}


/* =========================================================
   Student / UDISE Professional Profile UI v1.5
   ========================================================= */

/* Main profile shell */
.student-profile-head.card,
.student-gov-head.card{
    padding:18px 20px!important;
    border:1px solid #e4e7ec!important;
    border-radius:14px!important;
    box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
    background:#fff!important;
}
.student-profile-head{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:16px!important;
    align-items:center!important;
}
.student-profile-photo{
    width:76px!important;
    height:76px!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#f2f4f7!important;
    border:1px solid #eaecf0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
}
.student-profile-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}
.student-profile-photo span{
    font-size:22px!important;
    line-height:1!important;
    font-weight:800!important;
    color:#475467!important;
}
.student-profile-main{
    min-width:0!important;
}
.student-profile-main .eyebrow,
.student-gov-head .eyebrow{
    margin-bottom:3px!important;
    font-size:9px!important;
    letter-spacing:.09em!important;
    color:#667085!important;
}
.student-profile-main h1,
.student-gov-head h1{
    margin:0 0 9px!important;
    font-size:24px!important;
    line-height:1.18!important;
    font-weight:750!important;
    letter-spacing:-.02em!important;
    color:#101828!important;
}

/* Compact identity chips */
.student-profile-tags{
    gap:5px!important;
}
.student-profile-tags>span{
    min-height:22px!important;
    padding:4px 7px!important;
    font-size:9.5px!important;
    line-height:1!important;
    font-weight:700!important;
}
.student-profile-tags .student-profile-separator{
    min-height:auto!important;
    padding:0 1px!important;
    font-size:10px!important;
    color:#98a2b3!important;
    background:transparent!important;
}
.student-profile-tags .student-status{
    text-transform:uppercase!important;
    letter-spacing:.03em!important;
}

/* Actions */
.student-profile-head>.actions,
.student-gov-head>.actions{
    display:flex!important;
    gap:7px!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
    align-items:center!important;
}
.student-profile-head>.actions .btn,
.student-gov-head>.actions .btn{
    min-height:34px!important;
    padding:8px 11px!important;
    border-radius:8px!important;
    font-size:11px!important;
    font-weight:650!important;
}

/* Professional cards */
.professional-profile-grid,
.student-profile-grid{
    gap:14px!important;
}
.professional-profile-grid>.card,
.professional-record-card,
.professional-gov-grid>.card{
    border:1px solid #e4e7ec!important;
    border-radius:14px!important;
    box-shadow:0 1px 2px rgba(16,24,40,.025)!important;
    background:#fff!important;
}
.professional-profile-grid>.card{
    padding:18px!important;
}
.professional-profile-grid h2,
.professional-record-card h2,
.professional-gov-grid h2{
    margin:3px 0 13px!important;
    font-size:16px!important;
    line-height:1.3!important;
    font-weight:750!important;
    color:#101828!important;
}
.professional-profile-grid .eyebrow,
.professional-record-card .eyebrow,
.professional-gov-grid .eyebrow{
    font-size:8.5px!important;
    letter-spacing:.1em!important;
    color:#667085!important;
}

/* Detail values: stop oversized typography */
.profile-kv{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    column-gap:18px!important;
}
.profile-kv>div{
    padding:9px 0!important;
    border-bottom:1px solid #f2f4f7!important;
}
.profile-kv span,
.detail-grid span,
.udise-profile-summary-grid span{
    display:block!important;
    margin:0!important;
    font-size:9.5px!important;
    line-height:1.25!important;
    color:#667085!important;
    font-weight:500!important;
}
.profile-kv strong,
.detail-grid strong,
.udise-profile-summary-grid strong{
    display:block!important;
    margin:4px 0 0!important;
    font-size:13px!important;
    line-height:1.35!important;
    font-weight:650!important;
    color:#101828!important;
    overflow-wrap:anywhere!important;
}

/* Government Records summary */
.student-udise-summary{
    padding:18px 20px!important;
}
.student-udise-title{
    margin-bottom:6px!important;
}
.student-udise-title .btn{
    min-height:34px!important;
    padding:8px 11px!important;
    font-size:11px!important;
    border-radius:8px!important;
}
.udise-profile-summary-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0 22px!important;
}
.udise-profile-summary-grid>div{
    min-height:59px!important;
    padding:10px 0!important;
    border-bottom:1px solid #f2f4f7!important;
}
/* This is the important fix: no H1-sized values inside the Government Records card */
.student-udise-summary .udise-profile-summary-grid strong{
    font-size:13px!important;
    font-weight:650!important;
    line-height:1.35!important;
}
.student-udise-summary .udise-profile-summary-grid>div:first-child strong{
    font-size:13px!important;
}
.student-udise-summary .udise-profile-summary-grid strong:empty::after{
    content:"—";
}
.udise-profile-warning,
.udise-profile-ok{
    margin-top:12px!important;
    padding:9px 11px!important;
    border-radius:8px!important;
    font-size:10.5px!important;
    line-height:1.4!important;
}

/* Guardian card */
.guardian-profile-row{
    min-height:54px!important;
    padding:10px 0!important;
    border-bottom:1px solid #f2f4f7!important;
}
.guardian-profile-row:last-child{
    border-bottom:0!important;
}
.guardian-profile-person>strong{
    font-size:12.5px!important;
    font-weight:700!important;
    margin-bottom:4px!important;
}
.guardian-profile-meta{
    gap:4px!important;
}
.guardian-profile-meta>span{
    font-size:10px!important;
}
.guardian-profile-meta .guardian-primary-badge{
    padding:2px 5px!important;
    font-size:8px!important;
}
.guardian-meta-separator{
    font-size:9px!important;
}

/* Academic history */
.professional-record-card{
    padding:18px 20px!important;
}
.professional-record-card table{
    font-size:11px!important;
}
.professional-record-card th{
    padding:9px 10px!important;
    font-size:9.5px!important;
    font-weight:700!important;
    color:#475467!important;
    background:#f9fafb!important;
}
.professional-record-card td{
    padding:10px!important;
    font-size:11px!important;
    line-height:1.35!important;
    vertical-align:middle!important;
}
.professional-record-card td strong{
    font-size:11.5px!important;
    font-weight:700!important;
}
.professional-record-card .student-status{
    font-size:8.5px!important;
    padding:4px 6px!important;
}

/* UDISE detail screen */
.udise-sensitive-note,
.udise-record-status,
.udise-edit-help,
.udise-binding-note{
    font-size:10.5px!important;
    line-height:1.45!important;
    border-radius:9px!important;
}
.udise-profile-year{
    padding:14px!important;
    border-radius:12px!important;
}
.udise-profile-year label{
    font-size:9.5px!important;
}
.udise-profile-year select,
.udise-profile-year .btn{
    min-height:36px!important;
    font-size:11px!important;
}
.udise-loaded-summary{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
}
.udise-loaded-summary>div{
    min-height:58px!important;
    padding:9px 10px!important;
}
.udise-loaded-summary span{
    font-size:9px!important;
}
.udise-loaded-summary strong{
    font-size:11.5px!important;
    font-weight:650!important;
}

.professional-gov-grid{
    gap:14px!important;
}
.professional-gov-grid>.card{
    padding:18px!important;
}
.professional-gov-grid label{
    display:block!important;
    margin-bottom:5px!important;
    font-size:9.5px!important;
    line-height:1.2!important;
    color:#344054!important;
    font-weight:650!important;
}
.professional-gov-grid input,
.professional-gov-grid select,
.professional-gov-grid textarea{
    min-height:38px!important;
    padding:8px 10px!important;
    border:1px solid #d0d5dd!important;
    border-radius:8px!important;
    font-size:11px!important;
    color:#101828!important;
    background:#fff!important;
}
.professional-gov-grid textarea{
    min-height:76px!important;
}
.professional-gov-grid input:focus,
.professional-gov-grid select:focus,
.professional-gov-grid textarea:focus{
    outline:none!important;
    border-color:#84ad9b!important;
    box-shadow:0 0 0 3px rgba(31,106,82,.08)!important;
}
.field-current-value{
    margin-top:4px!important;
    font-size:9px!important;
    line-height:1.2!important;
}
.udise-aadhaar-rule{
    font-size:10px!important;
    line-height:1.4!important;
}

/* Save bars */
.student-savebar{
    margin-top:14px!important;
    padding:12px 14px!important;
    border:1px solid #e4e7ec!important;
    border-radius:12px!important;
    background:#fff!important;
}
.student-savebar .btn{
    min-height:36px!important;
    padding:8px 13px!important;
    font-size:11px!important;
}

/* Prevent giant value text inherited from older generic card CSS */
.student-profile-grid .card strong,
.student-udise-summary strong,
.student-gov-grid .card strong{
    max-width:100%;
}
.student-udise-summary h1,
.student-udise-summary h3,
.student-profile-grid .card h3{
    font-size:16px!important;
}

/* Responsive */
@media(max-width:980px){
    .student-profile-head{
        grid-template-columns:auto minmax(0,1fr)!important;
    }
    .student-profile-head>.actions{
        grid-column:1/-1!important;
        justify-content:flex-start!important;
    }
    .udise-loaded-summary{
        grid-template-columns:1fr 1fr!important;
    }
}
@media(max-width:700px){
    .student-profile-head{
        grid-template-columns:1fr!important;
        align-items:flex-start!important;
    }
    .student-profile-photo{
        width:64px!important;
        height:64px!important;
    }
    .student-profile-main h1,
    .student-gov-head h1{
        font-size:21px!important;
    }
    .profile-kv,
    .udise-profile-summary-grid{
        grid-template-columns:1fr!important;
    }
    .professional-profile-grid{
        grid-template-columns:1fr!important;
    }
    .student-gov-head{
        align-items:flex-start!important;
    }
}
@media(max-width:520px){
    .udise-loaded-summary{
        grid-template-columns:1fr!important;
    }
    .student-profile-head.card,
    .student-gov-head.card,
    .professional-profile-grid>.card,
    .professional-record-card,
    .professional-gov-grid>.card{
        padding:14px!important;
    }
}

/* Staff Profile + Documents v1.2 */
.professional-staff-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:18px 20px!important;border-radius:14px!important}.professional-staff-head .staff-profile-person{min-width:0}.professional-staff-head h1{margin:3px 0 7px!important;font-size:23px!important;line-height:1.2!important}.staff-profile-tags{display:flex;align-items:center;flex-wrap:wrap;gap:5px;color:#667085;font-size:10.5px}.staff-profile-tags>span{display:inline-flex;align-items:center}.professional-staff-head>.actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.professional-staff-head>.actions .btn{min-height:34px;padding:8px 11px;font-size:11px}
.professional-staff-grid{grid-template-columns:1fr 1fr!important;gap:14px!important}.professional-staff-grid>.card{padding:18px!important;border:1px solid #e4e7ec!important;border-radius:14px!important;box-shadow:0 1px 2px rgba(16,24,40,.025)!important}.professional-staff-grid h2{margin:3px 0 13px!important;font-size:16px!important}.professional-staff-grid .detail-grid strong{font-size:12.5px!important;font-weight:650!important}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title-row>a{font-size:10.5px;font-weight:700;text-decoration:none}.staff-doc-count{display:flex;align-items:baseline;gap:8px;margin:10px 0}.staff-doc-count strong{font-size:28px!important;margin:0!important}.staff-doc-count span{font-size:11px;color:#667085}.staff-doc-summary p{margin:0;color:#667085;font-size:10.5px;line-height:1.5}
.staff-subnav{display:flex;align-items:center;gap:4px;margin-bottom:12px;padding:5px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.staff-subnav a{padding:7px 10px;border-radius:7px;text-decoration:none;font-size:11px;font-weight:700;color:#475467}.staff-subnav a.active{background:#eaf7f1;color:#166447}.staff-doc-person{display:flex;align-items:center;gap:12px;padding:14px 16px!important;margin-bottom:12px}.staff-doc-person>div:first-child{width:52px;height:52px;border-radius:10px;overflow:hidden;background:#f2f4f7;display:flex;align-items:center;justify-content:center;font-weight:800}.staff-doc-person img{width:100%;height:100%;object-fit:cover}.staff-doc-person h1{margin:2px 0 3px;font-size:18px}.staff-doc-person p{margin:0;color:#667085;font-size:10.5px}.staff-document-stats{margin-bottom:12px}.staff-documents-grid{align-items:start}.staff-documents-grid h2{font-size:16px}.staff-documents-grid label{font-size:9.5px;font-weight:650}.staff-documents-grid input,.staff-documents-grid select,.staff-documents-grid textarea{font-size:11px}.staff-documents-grid .document-row{border-color:#eaecf0}.staff-documents-grid .document-main>span,.staff-documents-grid .document-main>small{font-size:9.5px}.staff-documents-grid .document-title-line strong{font-size:11.5px!important}.staff-documents-grid .document-verify-form input{min-width:180px}
@media(max-width:950px){.professional-staff-head{align-items:flex-start;flex-direction:column}.professional-staff-head>.actions{justify-content:flex-start}.professional-staff-grid{grid-template-columns:1fr!important}.staff-documents-grid{grid-template-columns:1fr!important}}@media(max-width:600px){.staff-subnav{overflow-x:auto}.staff-subnav a{white-space:nowrap}.staff-doc-person{align-items:flex-start}.staff-documents-grid .toolbar{align-items:flex-start;flex-direction:column}.document-filters{width:100%}}


/* Staff Appointment Memo + Payroll Salary Profile UI v1.3 */

/* Employment/service details stay readable when new fields are added */
.staff-profile-grid .detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.staff-profile-grid .detail-grid>div{
    min-width:0;
}
.staff-profile-grid .detail-grid strong{
    overflow-wrap:anywhere;
}

/* Salary Profiles: prevent horizontal page overflow */
.payroll-profile-list{
    width:100%;
    max-width:100%;
    overflow:hidden;
}
.payroll-profile-row-v13{
    display:grid!important;
    grid-template-columns:
        minmax(180px,1.35fr)
        repeat(6,minmax(120px,1fr))
        minmax(120px,.85fr)
        minmax(150px,1fr)
        auto!important;
    gap:10px!important;
    align-items:end!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding:16px!important;
}
.payroll-profile-row-v13>div,
.payroll-profile-row-v13 .payroll-profile-person{
    min-width:0!important;
}
.payroll-profile-row-v13 label{
    display:block!important;
    margin:0 0 5px!important;
    font-size:10px!important;
    line-height:1.2!important;
    white-space:normal!important;
}
.payroll-profile-row-v13 input{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}
.payroll-profile-row-v13 .payroll-money{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
}
.payroll-profile-row-v13 .payroll-money span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
}
.payroll-profile-row-v13 .payroll-profile-person strong{
    display:block!important;
    font-size:12px!important;
    line-height:1.3!important;
    overflow-wrap:anywhere!important;
}
.payroll-profile-row-v13 .payroll-profile-person small{
    display:block!important;
    margin-top:3px!important;
    font-size:9.5px!important;
    line-height:1.3!important;
    color:#667085!important;
    overflow-wrap:anywhere!important;
}
.payroll-profile-row-v13 .payroll-profile-net{
    align-self:end!important;
    min-width:0!important;
    padding-bottom:5px!important;
}
.payroll-profile-row-v13 .payroll-profile-net span{
    display:block!important;
    font-size:9px!important;
    color:#667085!important;
}
.payroll-profile-row-v13 .payroll-profile-net strong{
    display:block!important;
    margin-top:3px!important;
    font-size:14px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
}
.payroll-profile-save{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    min-width:0!important;
}
.payroll-profile-save .btn{
    min-height:38px!important;
    padding:8px 14px!important;
    white-space:nowrap!important;
}

/* At ordinary desktop widths use two lines instead of pushing Save outside viewport */
@media(max-width:1450px){
    .payroll-profile-row-v13{
        grid-template-columns:
            minmax(190px,1.4fr)
            repeat(3,minmax(125px,1fr))
            minmax(120px,.8fr)!important;
    }
    .payroll-profile-row-v13 .payroll-profile-person{
        grid-row:span 2;
        align-self:center!important;
    }
    .payroll-profile-row-v13 .payroll-profile-save{
        justify-content:flex-start!important;
    }
}
@media(max-width:980px){
    .payroll-profile-row-v13{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .payroll-profile-row-v13 .payroll-profile-person{
        grid-column:1/-1!important;
        grid-row:auto!important;
    }
    .payroll-profile-row-v13 .payroll-profile-net,
    .payroll-profile-row-v13 .payroll-profile-save{
        grid-column:auto!important;
    }
}
@media(max-width:600px){
    .payroll-profile-row-v13{
        grid-template-columns:1fr!important;
    }
    .payroll-profile-row-v13 .payroll-profile-person,
    .payroll-profile-row-v13 .payroll-profile-net,
    .payroll-profile-row-v13 .payroll-profile-save{
        grid-column:auto!important;
    }
    .payroll-profile-save .btn{
        width:100%!important;
    }
}

/* Staff Attendance + Leave Management v1 */
.staff-subnav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 14px;padding:6px;background:#fff;border:1px solid #e4e7ec;border-radius:10px}.staff-subnav a{padding:7px 10px;border-radius:7px;text-decoration:none;color:#344054;font-size:11px;font-weight:650}.staff-subnav a.active{background:#eaf7f1;color:#116149}
.attendance-day-card,.attendance-summary-card{margin-bottom:14px}.attendance-bulk-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.attendance-table select,.attendance-table input{min-width:150px;font-size:11px}.inline-filter{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.inline-filter label{font-size:9.5px}.inline-filter input,.inline-filter select{min-height:36px;font-size:11px}.attendance-summary-actions{display:flex;justify-content:flex-end;gap:7px;margin:10px 0}
.attendance-pill,.leave-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.attendance-present,.leave-approved{background:#ecfdf3;color:#027a48}.attendance-absent,.leave-rejected,.leave-cancelled{background:#fef3f2;color:#b42318}.attendance-half_day,.leave-pending{background:#fffaeb;color:#b54708}.attendance-leave{background:#eef4ff;color:#3538cd}.attendance-holiday,.attendance-weekly_off{background:#f2f4f7;color:#475467}
.staff-leave-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-bottom:14px}.leave-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.leave-actions input[name="approval_note"]{min-width:150px}.check-inline{display:inline-flex!important;align-items:center!important;gap:5px!important;font-size:10px!important}.check-inline input{width:auto!important;min-height:auto!important}
.payroll-attendance-sub{display:block;margin-top:3px;font-size:8.5px;color:#667085;white-space:nowrap}.attendance-payroll-note{margin:10px 0;padding:9px 11px;border:1px solid #d0d5dd;border-radius:8px;background:#f9fafb;color:#475467;font-size:10px}
@media(max-width:900px){.staff-leave-layout{grid-template-columns:1fr}}@media(max-width:650px){.attendance-table select,.attendance-table input{min-width:120px}.inline-filter{align-items:stretch}.inline-filter>*{width:100%}.attendance-summary-actions{justify-content:flex-start}}

/* Staff Attendance + Leave Professional UI v1.1 */
.staff-subnav{
    padding:7px!important;
    gap:7px!important;
    border-radius:12px!important;
}
.staff-subnav a{
    padding:9px 13px!important;
    font-size:12px!important;
    border-radius:8px!important;
}
.attendance-day-card,
.attendance-summary-card,
.staff-leave-layout>.card{
    padding:20px!important;
}
.attendance-day-card h2,
.attendance-summary-card h2,
.staff-leave-layout h2{
    font-size:20px!important;
    line-height:1.25!important;
    margin:4px 0 8px!important;
}
.attendance-day-card .eyebrow,
.attendance-summary-card .eyebrow,
.staff-leave-layout .eyebrow{
    font-size:10px!important;
}
.attendance-bulk-tools{
    margin:14px 0!important;
    padding:10px!important;
    border-radius:10px!important;
    background:#f8fafc!important;
}
.attendance-bulk-tools .btn{
    min-height:38px!important;
    font-size:11px!important;
}
.attendance-table th,
.attendance-summary-table th{
    padding:11px 12px!important;
    font-size:11px!important;
}
.attendance-table td,
.attendance-summary-table td{
    padding:12px!important;
    font-size:12px!important;
    vertical-align:middle!important;
}
.attendance-table td strong,
.attendance-summary-table td strong{
    font-size:13px!important;
}
.attendance-table .table-sub,
.attendance-summary-table .table-sub{
    margin-top:3px!important;
    font-size:10px!important;
}
.attendance-table select,
.attendance-table input{
    min-height:38px!important;
    font-size:11.5px!important;
    border-radius:8px!important;
}
.attendance-summary-head{
    align-items:flex-end!important;
}
.attendance-period-filter{
    display:flex!important;
    align-items:flex-end!important;
    gap:8px!important;
    flex-wrap:wrap!important;
}
.attendance-period-filter>div{
    min-width:145px!important;
}
.attendance-period-filter label{
    display:block!important;
    margin-bottom:5px!important;
    font-size:10px!important;
    font-weight:700!important;
    color:#475467!important;
}
.attendance-period-filter select,
.attendance-period-filter input{
    width:100%!important;
    min-height:38px!important;
    padding:7px 9px!important;
    border:1px solid #d0d5dd!important;
    border-radius:8px!important;
    font-size:11.5px!important;
}
.attendance-range-shortcuts{
    display:flex!important;
    gap:6px!important;
    flex-wrap:wrap!important;
    margin:14px 0 6px!important;
}
.attendance-range-shortcuts a{
    padding:7px 11px!important;
    border:1px solid #d0d5dd!important;
    border-radius:999px!important;
    text-decoration:none!important;
    color:#344054!important;
    background:#fff!important;
    font-size:10.5px!important;
    font-weight:700!important;
}
.attendance-range-shortcuts a.active{
    background:#eaf7f1!important;
    color:#116149!important;
    border-color:#a9dfc9!important;
}
.attendance-summary-actions{
    margin:10px 0!important;
}
.attendance-summary-actions .btn{
    min-height:38px!important;
    font-size:11px!important;
}
.attendance-num{
    font-size:13px!important;
    font-weight:650!important;
}
.attendance-num-present{color:#027a48!important}
.attendance-num-absent{color:#b42318!important}
.attendance-num-leave{color:#3538cd!important}
.attendance-num-total{
    font-size:14px!important;
    font-weight:800!important;
    color:#101828!important;
}
.attendance-pill,.leave-status{
    padding:5px 8px!important;
    font-size:9px!important;
}
.leave-policy-card{
    background:#fbfcfd!important;
}
.leave-policy-card h2{
    font-size:18px!important;
}
.leave-policy-card p{
    font-size:11.5px!important;
    line-height:1.5!important;
}
.staff-leave-layout label{
    font-size:10.5px!important;
}
.staff-leave-layout input,
.staff-leave-layout select,
.staff-leave-layout textarea{
    min-height:40px!important;
    font-size:11.5px!important;
}
.staff-leave-layout textarea{
    min-height:70px!important;
}
.leave-actions input[name="approval_note"]{
    min-height:34px!important;
    font-size:10.5px!important;
}
.responsive-table table{
    width:100%!important;
}
@media(max-width:1100px){
    .attendance-summary-head{
        align-items:flex-start!important;
        flex-direction:column!important;
    }
    .attendance-period-filter{
        width:100%!important;
    }
}
@media(max-width:650px){
    .attendance-period-filter{
        display:grid!important;
        grid-template-columns:1fr!important;
    }
    .attendance-period-filter>div,
    .attendance-period-filter>.btn{
        width:100%!important;
    }
}

/* Staff Bulk Multi-Date Attendance v1.2 */
.attendance-multidate-card{
    margin-bottom:14px!important;
    padding:20px!important;
}
.attendance-multidate-card h2{
    margin:4px 0 5px!important;
    font-size:20px!important;
}
.attendance-selected-counter{
    min-width:110px;
    padding:9px 13px;
    text-align:center;
    background:#f0f9f4;
    border:1px solid #b7e4cf;
    border-radius:10px;
}
.attendance-selected-counter strong{
    display:block;
    font-size:20px!important;
    line-height:1.1!important;
    color:#116149;
}
.attendance-selected-counter span{
    display:block;
    margin-top:3px;
    font-size:9px;
    color:#667085;
}
.attendance-multidate-layout{
    display:grid;
    grid-template-columns:minmax(420px,1.2fr) minmax(290px,.8fr);
    gap:18px;
    margin-top:16px;
}
.attendance-calendar-box{
    border:1px solid #e4e7ec;
    border-radius:12px;
    padding:14px;
    background:#fff;
}
.attendance-calendar-toolbar{
    display:grid;
    grid-template-columns:38px 1fr 38px;
    gap:8px;
    align-items:center;
    margin-bottom:10px;
}
.attendance-calendar-toolbar>div{
    text-align:center;
}
.attendance-calendar-toolbar strong{
    display:block!important;
    font-size:15px!important;
}
.attendance-calendar-toolbar small{
    display:block;
    margin-top:3px;
    color:#667085;
    font-size:9.5px;
}
.calendar-nav{
    width:38px;height:38px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;
    font-size:22px;line-height:1;cursor:pointer;color:#344054;
}
.attendance-calendar-weekdays,
.attendance-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:5px;
}
.attendance-calendar-weekdays{
    margin-bottom:5px;
}
.attendance-calendar-weekdays span{
    padding:5px 0;
    text-align:center;
    font-size:9px;
    font-weight:750;
    color:#667085;
}
.attendance-calendar-day{
    min-height:42px;
    border:1px solid #e4e7ec;
    border-radius:8px;
    background:#fff;
    color:#101828;
    font-size:11px;
    font-weight:650;
    cursor:pointer;
}
.attendance-calendar-day:hover{
    border-color:#7fc7a9;
    background:#f5fbf8;
}
.attendance-calendar-day.selected{
    border-color:#1f6a52;
    background:#eaf7f1;
    color:#0d5b43;
    box-shadow:inset 0 0 0 1px #1f6a52;
}
.attendance-calendar-day.sunday:not(.selected){
    background:#fff8f7;
    color:#b42318;
}
.attendance-calendar-day.outside{
    opacity:.28;
    cursor:default;
}
.attendance-calendar-actions{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin-top:10px;
}
.attendance-calendar-actions .btn{
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:10px!important;
}
.attendance-bulk-options{
    display:flex;
    flex-direction:column;
    gap:11px;
}
.attendance-bulk-options label{
    display:block;
    margin-bottom:5px;
    font-size:10px;
    font-weight:700;
    color:#344054;
}
.attendance-bulk-options select,
.attendance-bulk-options input[type="text"],
.attendance-bulk-options input:not([type]){
    width:100%;
    min-height:40px;
    padding:8px 10px;
    border:1px solid #d0d5dd;
    border-radius:8px;
    font-size:11.5px;
}
.attendance-overwrite-check{
    display:flex!important;
    align-items:center;
    gap:7px;
    padding:9px 10px;
    margin:0!important;
    border:1px solid #e4e7ec;
    border-radius:8px;
    background:#f9fafb;
    font-size:10.5px!important;
    font-weight:600!important;
}
.attendance-overwrite-check input{
    width:auto!important;
    min-height:auto!important;
}
.attendance-bulk-safety{
    padding:10px;
    border-radius:8px;
    background:#f0f9f4;
    border:1px solid #b7e4cf;
}
.attendance-bulk-safety strong{
    display:block!important;
    margin:0 0 3px!important;
    font-size:10.5px!important;
    color:#116149;
}
.attendance-bulk-safety span{
    display:block;
    font-size:9.5px;
    line-height:1.4;
    color:#475467;
}
.attendance-selected-dates{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    min-height:28px;
}
.attendance-selected-dates>span:not(.muted){
    padding:4px 7px;
    border-radius:999px;
    background:#f2f4f7;
    color:#344054;
    font-size:9px;
    font-weight:650;
}
.attendance-bulk-save{
    width:100%;
    min-height:42px!important;
    margin-top:auto;
}
.attendance-bulk-save:disabled{
    opacity:.45;
    cursor:not-allowed;
}
@media(max-width:950px){
    .attendance-multidate-layout{grid-template-columns:1fr}
}
@media(max-width:600px){
    .attendance-calendar-day{min-height:36px;font-size:10px}
    .attendance-calendar-box{padding:10px}
    .attendance-calendar-actions .btn{flex:1}
}

/* Staff Bulk Multi-Date Attendance v1.3 - staff-scoped selection */
.bulk-staff-picker{
    border:1px solid #e4e7ec;
    border-radius:10px;
    padding:10px;
    background:#fff;
}
.bulk-staff-picker-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
}
.bulk-staff-picker-head label{
    margin:0 0 2px!important;
}
.bulk-staff-picker-head small{
    display:block;
    color:#667085;
    font-size:9px;
    line-height:1.35;
}
.bulk-staff-picker-actions{
    display:flex;
    gap:5px;
}
.bulk-staff-picker-actions .btn{
    min-height:30px!important;
    padding:5px 9px!important;
    font-size:9px!important;
}
.bulk-staff-list{
    display:flex;
    flex-direction:column;
    gap:5px;
    max-height:220px;
    overflow:auto;
    padding-right:3px;
}
.bulk-staff-option{
    display:grid!important;
    grid-template-columns:18px minmax(0,1fr);
    align-items:center;
    gap:8px;
    margin:0!important;
    padding:8px 9px;
    border:1px solid #eaecf0;
    border-radius:8px;
    cursor:pointer;
    background:#fff;
}
.bulk-staff-option:hover{
    background:#f9fafb;
    border-color:#d0d5dd;
}
.bulk-staff-option:has(input:checked){
    background:#f0f9f4;
    border-color:#a9dfc9;
}
.bulk-staff-option input{
    width:15px!important;
    height:15px!important;
    min-height:auto!important;
    margin:0!important;
}
.bulk-staff-option span{
    min-width:0;
}
.bulk-staff-option strong{
    display:block!important;
    margin:0!important;
    font-size:10.5px!important;
    line-height:1.3!important;
    color:#101828;
}
.bulk-staff-option small{
    display:block;
    margin-top:2px;
    font-size:8.5px;
    color:#667085;
    overflow-wrap:anywhere;
}
.bulk-staff-count{
    margin-top:8px;
    padding-top:7px;
    border-top:1px solid #f2f4f7;
    font-size:9.5px;
    color:#667085;
}
.bulk-staff-count strong{
    font-size:11px!important;
    color:#116149;
}
.bulk-options-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}
@media(max-width:600px){
    .bulk-staff-picker-head{align-items:flex-start;flex-direction:column}
    .bulk-options-grid{grid-template-columns:1fr}
}

/* Staff ID Cards + Service Register v1 */
.staff-id-filter{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr)) auto;gap:10px;align-items:end;margin-bottom:14px}.staff-id-filter label{font-size:10px}.staff-id-filter select{min-height:38px;font-size:11px}.service-register-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.service-register-head h2{margin:3px 0;font-size:20px}.service-register-head p{margin:0;color:#667085;font-size:11px}.service-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-bottom:14px}.service-current-card p{font-size:10px;line-height:1.45}.service-timeline{position:relative}.service-event{display:grid;grid-template-columns:74px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid #eaecf0}.service-event:last-child{border-bottom:0}.service-event-date{text-align:center;padding:8px;background:#f8fafc;border:1px solid #eaecf0;border-radius:10px;height:max-content}.service-event-date strong{display:block!important;font-size:20px!important;line-height:1!important}.service-event-date span{display:block;margin-top:4px;font-size:9px;color:#667085}.service-event-top{display:flex;justify-content:space-between;gap:10px}.service-event-top h3{font-size:14px;margin:4px 0}.service-type{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eaf7f1;color:#116149;font-size:8.5px;font-weight:800;text-transform:uppercase}.service-event-meta{display:flex;flex-wrap:wrap;gap:6px;margin:5px 0}.service-event-meta span{padding:4px 7px;border-radius:6px;background:#f2f4f7;font-size:9px;color:#475467}.service-event-main p{font-size:10.5px;line-height:1.45;color:#344054}.empty-state{padding:20px;text-align:center;color:#667085;font-size:11px}.id-settings-grid input[type=color]{min-height:40px}.id-card-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.check-all{font-size:11px;font-weight:650}@media(max-width:900px){.service-layout{grid-template-columns:1fr}.staff-id-filter{grid-template-columns:1fr 1fr}.service-register-head{align-items:flex-start;flex-direction:column;gap:10px}}@media(max-width:600px){.staff-id-filter{grid-template-columns:1fr}.service-event{grid-template-columns:58px 1fr}.service-event-date strong{font-size:17px!important}}

/* Salary Slip + Payroll Register v1 */
.payroll-register-toolbar{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    margin-bottom:14px!important;
}
.payroll-register-toolbar .actions{
    display:flex!important;
    gap:7px!important;
    flex-wrap:wrap!important;
}
.payroll-register-summary{
    margin-bottom:14px!important;
}
.payroll-register-card{
    padding:0!important;
    overflow:hidden!important;
}
.payroll-register-table{
    width:100%!important;
    font-size:11px!important;
}
.payroll-register-table th{
    padding:10px 9px!important;
    font-size:9.5px!important;
    white-space:nowrap!important;
}
.payroll-register-table td{
    padding:11px 9px!important;
    white-space:nowrap!important;
    vertical-align:middle!important;
}
.payroll-register-table td:first-child{
    white-space:normal!important;
    min-width:170px!important;
}
.payroll-register-table td strong{
    font-size:11.5px!important;
}
.payroll-register-table tfoot th{
    background:#f8fafc!important;
    border-top:2px solid #101828!important;
    font-weight:800!important;
}
.payroll-register-note{
    margin-top:12px;
    padding:10px 12px;
    border:1px solid #d0d5dd;
    background:#f9fafb;
    border-radius:9px;
    font-size:10.5px;
    color:#475467;
}
.payroll-run-actions{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    flex-wrap:wrap!important;
}
.payroll-run-actions form{margin:0!important}
.payroll-posted-actions{
    display:flex!important;
    justify-content:flex-end!important;
    gap:7px!important;
    flex-wrap:wrap!important;
}
@media(max-width:850px){
    .payroll-register-toolbar{align-items:flex-start!important;flex-direction:column!important}
    .payroll-posted-actions{justify-content:flex-start!important}
}

/* PF / ESI Statutory Register v1 */
.statutory-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important;margin-bottom:14px!important}
.statutory-toolbar .actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important}
.statutory-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin-bottom:14px!important}
.statutory-summary .card strong{font-size:18px!important}
.statutory-info{margin-bottom:14px;padding:10px 12px;border:1px solid #f5cf72;border-radius:9px;background:#fffaeb;color:#7a2e0e;font-size:10.5px;line-height:1.45}
.statutory-register-card{padding:18px!important;margin-bottom:14px!important}
.statutory-register-card h2{font-size:18px!important;margin:3px 0!important}
.statutory-table{width:100%!important;font-size:10.5px!important}
.statutory-table th{padding:9px 7px!important;font-size:9px!important;white-space:nowrap!important}
.statutory-table td{padding:9px 7px!important;vertical-align:middle!important;white-space:nowrap!important}
.statutory-table td:first-child{min-width:160px!important;white-space:normal!important}
.statutory-table input{width:112px!important;min-height:34px!important;padding:6px 7px!important;font-size:10px!important;border:1px solid #d0d5dd!important;border-radius:7px!important}
.statutory-table td:last-child input{width:150px!important}
.statutory-table .money-fixed{font-weight:700!important}
.statutory-table tfoot th{background:#f8fafc!important;border-top:2px solid #101828!important;font-weight:800!important}
.statutory-remit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.statutory-remit-card{padding:18px!important}
.statutory-remit-card.remitted{border-color:#a9dfc9!important;background:#fbfffd!important}
.statutory-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8.5px;font-weight:800}
.statutory-status.open{background:#fff7ed;color:#b54708}.statutory-status.done{background:#ecfdf3;color:#027a48}
.statutory-remit-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.statutory-remit-values>div{padding:10px;border:1px solid #e4e7ec;border-radius:8px;background:#fff}
.statutory-remit-values span{display:block;font-size:9px;color:#667085}.statutory-remit-values strong{display:block!important;margin-top:4px!important;font-size:14px!important}
.remittance-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.remittance-form label{display:block;margin-bottom:4px;font-size:9.5px;font-weight:700}.remittance-form input{width:100%;min-height:37px;border:1px solid #d0d5dd;border-radius:8px;padding:7px 9px;font-size:10.5px}.remittance-form .span-2{grid-column:1/-1}
.statutory-remit-meta{display:flex;flex-direction:column;gap:5px;margin:10px 0;padding:10px;border-radius:8px;background:#f8fafc;font-size:10px;color:#475467}
@media(max-width:1100px){.statutory-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.statutory-remit-grid{grid-template-columns:1fr}}
@media(max-width:600px){.statutory-summary{grid-template-columns:1fr!important}.remittance-form{grid-template-columns:1fr}.remittance-form .span-2{grid-column:auto}}
/* Payroll Statutory v1.1 */
.statutory-profile-panel{grid-column:1/-1;border-top:1px solid #e5e7eb;margin-top:4px;padding-top:10px}.statutory-profile-panel summary{cursor:pointer;font-weight:800;color:#155f49;padding:8px 0}.statutory-profile-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;align-items:end}.statutory-profile-grid>div{min-width:0}.statutory-profile-grid input,.statutory-profile-grid select{width:100%;box-sizing:border-box}.statutory-profile-grid .statutory-scheme{grid-column:span 2;align-self:stretch;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc}.statutory-profile-grid .statutory-scheme h3{font-size:14px;margin:0 0 7px}.statutory-profile-grid .checkline{display:flex!important;gap:7px;align-items:center;font-size:11px!important;margin:5px 0!important}.statutory-profile-grid .checkline input{width:auto!important}.statutory-profile-grid .span-all{grid-column:1/-1}.statutory-help{font-size:11px;color:#667085;margin:10px 0 0}.statutory-auto-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e9fbf2;color:#087443;font-size:10px;font-weight:800}.statutory-manual-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:10px;font-weight:800}
@media(max-width:1200px){.statutory-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.statutory-profile-grid{grid-template-columns:1fr}.statutory-profile-grid .statutory-scheme,.statutory-profile-grid .span-all{grid-column:auto}}


/* Payroll Statutory v1.1.1 - salary-profile UI polish */
.statutory-profile-panel-v111{
    grid-column:1/-1!important;
    margin-top:10px!important;
    padding-top:0!important;
    border-top:1px solid #e4e7ec!important;
}
.statutory-profile-panel-v111>summary{
    list-style:none;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:13px 2px 10px!important;
    cursor:pointer!important;
    color:#0f513f!important;
}
.statutory-profile-panel-v111>summary::-webkit-details-marker{display:none}
.statutory-profile-panel-v111>summary span{font-size:12.5px!important;font-weight:800!important}
.statutory-profile-panel-v111>summary small{font-size:9.5px!important;color:#667085!important;font-weight:500!important}
.statutory-profile-panel-v111[open]>summary{margin-bottom:8px!important}
.statutory-profile-body{padding:0 0 4px}
.statutory-identity-strip{
    display:grid;
    grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;
    gap:8px;
    align-items:center;
    margin-bottom:10px;
    padding:9px;
    border:1px solid #e4e7ec;
    border-radius:10px;
    background:#f8fafc;
}
.statutory-identity-strip>div{min-width:0;padding:1px 5px}
.statutory-identity-strip span{display:block;font-size:8.5px;color:#667085;margin-bottom:2px}
.statutory-identity-strip strong{display:block!important;margin:0!important;font-size:10.5px!important;color:#101828;overflow-wrap:anywhere}
.statutory-identity-strip .btn{white-space:nowrap}
.statutory-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.statutory-config-card{
    min-width:0;
    border:1px solid #dfe5e2;
    border-radius:12px;
    padding:13px;
    background:#fff;
    transition:opacity .18s ease,background .18s ease,border-color .18s ease;
}
.statutory-config-pf{border-top:3px solid #1f6a52}
.statutory-config-esi{border-top:3px solid #3b82f6}
.statutory-config-card.is-disabled{background:#fafafa;border-color:#eaecf0;opacity:.82}
.statutory-config-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;border-bottom:1px solid #eef1f4}
.statutory-kicker{display:inline-flex;padding:3px 6px;border-radius:999px;background:#edf7f3;color:#116149;font-size:8px!important;font-weight:800;letter-spacing:.05em}
.statutory-config-esi .statutory-kicker{background:#eef4ff;color:#3538cd}
.statutory-config-head h3{margin:5px 0 3px!important;font-size:14px!important;line-height:1.2!important;color:#101828}
.statutory-config-head p{margin:0!important;max-width:360px;font-size:9.3px!important;line-height:1.4!important;color:#667085}
.statutory-toggle-stack{display:flex;flex-direction:column;gap:7px;min-width:140px}
.statutory-switch{display:grid!important;grid-template-columns:30px 1fr;align-items:center;gap:7px;margin:0!important;cursor:pointer;font-size:9.5px!important;color:#344054}
.statutory-switch input{position:absolute;opacity:0;pointer-events:none}
.statutory-switch>span{position:relative;width:30px;height:17px;border-radius:999px;background:#d0d5dd;transition:.18s}
.statutory-switch>span:after{content:"";position:absolute;width:13px;height:13px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.18);transition:.18s}
.statutory-switch input:checked+span{background:#1f6a52}
.statutory-config-esi .statutory-switch input:checked+span{background:#3b82f6}
.statutory-switch input:checked+span:after{transform:translateX(13px)}
.statutory-switch input:disabled+span{opacity:.5}
.statutory-switch b{font-size:9.5px!important;font-weight:700!important}
.statutory-config-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:11px}
.statutory-config-fields-esi{grid-template-columns:repeat(2,minmax(0,1fr))}
.statutory-config-fields>div{min-width:0}
.statutory-config-fields label,.statutory-notes-row label{display:block!important;margin:0 0 5px!important;font-size:9px!important;font-weight:700!important;color:#344054}
.statutory-config-fields input,.statutory-config-fields select,.statutory-notes-row input{width:100%!important;min-width:0!important;min-height:36px!important;box-sizing:border-box!important;border:1px solid #d0d5dd!important;border-radius:7px!important;padding:7px 8px!important;font-size:10.5px!important;background:#fff!important;color:#101828!important}
.statutory-config-fields input:disabled,.statutory-config-fields select:disabled{background:#f2f4f7!important;color:#98a2b3!important;cursor:not-allowed!important}
.statutory-config-fields small{display:block;margin-top:4px;font-size:8px;line-height:1.25;color:#98a2b3}
.statutory-config-fields .payroll-money{grid-template-columns:30px minmax(0,1fr)!important}
.statutory-config-fields .payroll-money span{min-height:36px!important;font-size:10px!important}
.statutory-percent{display:grid;grid-template-columns:minmax(0,1fr) 30px}
.statutory-percent input{border-radius:7px 0 0 7px!important}
.statutory-percent span{display:flex;align-items:center;justify-content:center;border:1px solid #d0d5dd;border-left:0;border-radius:0 7px 7px 0;background:#f8fafc;font-size:9px;font-weight:700;color:#667085}
.statutory-notes-row{margin-top:10px;padding-top:10px;border-top:1px solid #eef1f4}
.statutory-help{margin:8px 0 0!important;padding:8px 10px;border-radius:8px;background:#fffaeb;color:#7a2e0e!important;font-size:9px!important;line-height:1.4!important}
@media(max-width:1180px){.statutory-cards{grid-template-columns:1fr}.statutory-config-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.statutory-config-fields-esi{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.statutory-identity-strip{grid-template-columns:1fr 1fr}.statutory-identity-strip .btn{grid-column:1/-1;width:max-content}.statutory-config-fields,.statutory-config-fields-esi{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.statutory-profile-panel-v111>summary{align-items:flex-start!important;flex-direction:column!important}.statutory-identity-strip{grid-template-columns:1fr}.statutory-identity-strip .btn{grid-column:auto}.statutory-config-head{flex-direction:column}.statutory-toggle-stack{width:100%;display:grid;grid-template-columns:1fr 1fr}.statutory-config-fields,.statutory-config-fields-esi{grid-template-columns:1fr}}

/* Payroll Statutory v1.1.2 — switch alignment / clipping fix */
.statutory-profile-panel-v111 .statutory-toggle-stack{
    flex:0 0 150px;
    min-width:150px;
    align-items:stretch;
    gap:9px;
}
.statutory-profile-panel-v111 .statutory-switch{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    width:100%!important;
    min-width:0!important;
    min-height:20px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    line-height:1.2!important;
}
.statutory-profile-panel-v111 .statutory-switch input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    pointer-events:none!important;
}
.statutory-profile-panel-v111 .statutory-switch>span{
    display:block!important;
    flex:0 0 30px!important;
    width:30px!important;
    min-width:30px!important;
    height:17px!important;
    margin:0!important;
    padding:0!important;
}
.statutory-profile-panel-v111 .statutory-switch>b{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
    font-size:9.5px!important;
    line-height:17px!important;
}
@media(max-width:560px){
    .statutory-profile-panel-v111 .statutory-toggle-stack{
        flex:none;
        min-width:0;
        width:100%;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
}

/* Payroll Dashboard + Monthly Workflow v1.2 */
.payroll-dashboard-top{display:flex;justify-content:space-between;align-items:stretch;gap:12px;margin-bottom:14px}.payroll-dashboard-top>.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.payroll-dashboard-filter{display:flex!important;align-items:center!important;gap:18px!important;padding:14px 16px!important;min-width:min(600px,100%)}.payroll-dashboard-filter label{display:block;margin-bottom:5px;font-size:10px;font-weight:700}.payroll-dashboard-filter select{min-width:220px;min-height:38px;font-size:12px}.payroll-dashboard-fy-meta{display:flex;flex-direction:column;gap:3px;font-size:10px;color:#667085}.payroll-dashboard-fy-meta strong{font-size:10px!important;color:#344054!important}.payroll-dashboard-summary{grid-template-columns:repeat(5,minmax(0,1fr))!important;margin-bottom:14px}.payroll-dashboard-summary .card strong{font-size:20px!important}.payroll-next-action{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:18px 20px!important;margin-bottom:14px;border-left:4px solid #1f6a52!important}.payroll-next-action h2{margin:3px 0 4px;font-size:20px}.payroll-next-action p{margin:0;color:#667085;font-size:11px}.payroll-next-action>.actions{display:flex;gap:7px;flex-wrap:wrap}.payroll-next-status{min-width:150px;padding:10px 13px;border-radius:10px;text-align:center}.payroll-next-status span{display:block;font-size:9px;color:#667085}.payroll-next-status strong{display:block;margin-top:3px;font-size:12px!important}.payroll-next-draft{background:#fff7ed}.payroll-next-warning{background:#fffaeb}.payroll-next-complete{background:#ecfdf3}.payroll-next-not-started{background:#eff8ff}.payroll-workflow-guide{padding:18px 20px!important;margin-bottom:14px}.payroll-workflow-guide h2{font-size:18px;margin:3px 0 13px}.payroll-workflow-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.payroll-workflow-steps>div{display:flex;gap:9px;align-items:center;padding:10px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.payroll-workflow-steps b,.monthly-workflow-steps b{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#eaf7f1;color:#116149;font-size:11px}.payroll-workflow-steps span strong{display:block;font-size:10.5px}.payroll-workflow-steps span small{display:block;margin-top:2px;font-size:8.5px;color:#667085;line-height:1.3}.payroll-months-card{padding:18px!important}.payroll-months-card h2{font-size:18px;margin:3px 0}.payroll-month-table{width:100%!important;font-size:10.5px!important}.payroll-month-table th{font-size:9px!important;padding:9px 7px!important;white-space:nowrap}.payroll-month-table td{padding:10px 7px!important;vertical-align:middle}.payroll-month-table tr.current-month{background:#f7fbf9}.payroll-month-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800;white-space:nowrap}.payroll-month-not-started{background:#eff8ff;color:#175cd3}.payroll-month-draft{background:#fff7ed;color:#b54708}.payroll-month-warning{background:#fffaeb;color:#b54708}.payroll-month-complete{background:#ecfdf3;color:#027a48}.workflow-next-cell{min-width:175px;color:#475467;font-size:9.5px}.month-actions{display:flex;gap:4px;justify-content:flex-end;flex-wrap:wrap}.monthly-payroll-workflow{padding:13px 16px!important;margin-bottom:14px}.monthly-workflow-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}.monthly-workflow-steps>div{display:flex;align-items:center;gap:7px;padding:8px 9px;border-radius:8px;background:#f8fafc;border:1px solid #e4e7ec;opacity:.6}.monthly-workflow-steps>div.active{opacity:1;border-color:#84ad9b;background:#f0f9f4}.monthly-workflow-steps>div.done{opacity:1;background:#ecfdf3;border-color:#a9dfc9}.monthly-workflow-steps>div.ready{opacity:1;background:#eff8ff;border-color:#b2ddff}.monthly-workflow-steps span{font-size:9.5px;font-weight:700}.monthly-workflow-steps small{display:block;margin-top:2px;font-size:8px;font-weight:400;color:#667085}
@media(max-width:1200px){.payroll-dashboard-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}.payroll-workflow-steps{grid-template-columns:repeat(3,1fr)}.payroll-next-action{grid-template-columns:1fr auto}.payroll-next-action>.actions{grid-column:1/-1}.monthly-workflow-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.payroll-dashboard-top{flex-direction:column}.payroll-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.payroll-workflow-steps,.monthly-workflow-steps{grid-template-columns:1fr}.payroll-next-action{grid-template-columns:1fr}.payroll-next-status{width:100%}.payroll-dashboard-filter{flex-direction:column!important;align-items:stretch!important}.payroll-dashboard-filter select{width:100%;min-width:0}}
@media(max-width:520px){.payroll-dashboard-summary{grid-template-columns:1fr!important}}

/* Examination v1.0 — Subject & Assessment Scheme Builder */
.exam-subnav{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px;padding:6px;background:#fff;border:1px solid #e4e7ec;border-radius:10px}.exam-subnav a{padding:8px 11px;border-radius:7px;text-decoration:none;color:#344054;font-size:11px;font-weight:700}.exam-subnav a.active{background:#eaf7f1;color:#116149}.exam-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin-bottom:14px}.exam-workflow{display:flex;align-items:center;gap:8px;padding:12px 14px;margin-bottom:14px;border:1px solid #e4e7ec;border-radius:11px;background:#fff;overflow:auto}.exam-workflow i{font-style:normal;color:#98a2b3}.exam-step{display:flex;align-items:center;gap:8px;min-width:180px}.exam-step b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f2f4f7;color:#475467}.exam-step.done b{background:#d1fadf;color:#027a48}.exam-step span{font-size:11px;font-weight:800}.exam-step small{display:block;margin-top:2px;font-size:8.5px;font-weight:500;color:#667085}.exam-block{padding:18px!important;margin-bottom:14px}.exam-block h2,.exam-subject-scheme h2{font-size:18px!important;margin:4px 0!important}.exam-badge{display:inline-flex;padding:3px 6px;border-radius:999px;font-size:8px;font-weight:800}.exam-badge.default{background:#eef4ff;color:#3538cd}.exam-badge.active{background:#ecfdf3;color:#027a48}.exam-badge.inactive{background:#f2f4f7;color:#667085}.exam-subject-add{display:grid;grid-template-columns:2fr 1fr 1fr .7fr auto auto auto;gap:9px;align-items:end}.exam-subject-add label,.exam-filter label,.exam-scheme-create label,.exam-scheme-settings label{display:block;margin-bottom:5px;font-size:10px;font-weight:700}.exam-subject-add input,.exam-subject-add select,.exam-filter input,.exam-filter select,.exam-scheme-create input,.exam-scheme-create select,.exam-scheme-settings input,.exam-scheme-settings select{width:100%;min-height:38px;border:1px solid #d0d5dd;border-radius:8px;padding:7px 9px;font-size:11px}.exam-subject-list{display:flex;flex-direction:column;gap:7px}.exam-subject-row{display:grid;grid-template-columns:2fr 1fr 1fr .6fr auto auto auto auto;gap:7px;align-items:center;padding:9px;border:1px solid #eaecf0;border-radius:9px}.exam-subject-row.inactive{opacity:.6;background:#f9fafb}.exam-subject-row input,.exam-subject-row select{width:100%;min-height:34px;border:1px solid #d0d5dd;border-radius:7px;padding:6px;font-size:10.5px}.exam-filter-card{padding:14px!important;margin-bottom:14px}.exam-filter{display:flex;align-items:end;gap:9px}.exam-filter>div{min-width:220px}.exam-assign-subject{display:flex;gap:7px}.exam-assign-subject select{min-width:230px;min-height:36px;border:1px solid #d0d5dd;border-radius:8px;padding:6px}.mini-input{width:75px;min-height:32px;border:1px solid #d0d5dd;border-radius:7px;padding:5px}.exam-inline{display:flex;gap:7px}.exam-inline input{min-width:240px;min-height:36px;border:1px solid #d0d5dd;border-radius:8px;padding:6px 9px}.grade-scheme-card{margin-top:12px;border:1px solid #e4e7ec;border-radius:10px;padding:12px}.grade-scheme-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.grade-scheme-head strong{font-size:14px}.grade-rule-add{display:grid;grid-template-columns:90px 90px 90px 90px 1.3fr 75px auto;gap:6px;margin-top:8px}.grade-rule-add input{min-height:34px;border:1px solid #d0d5dd;border-radius:7px;padding:6px;font-size:10px}.exam-scheme-create{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:end}.exam-scheme-create .span-3{grid-column:1/-1}.exam-scheme-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-items:end}.exam-scheme-settings .span-4{grid-column:1/-1}.exam-subject-scheme{padding:18px!important;margin-bottom:14px}.exam-subject-scheme-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.exam-subject-total{text-align:right}.exam-subject-total span{display:block;font-size:9px;color:#667085}.exam-subject-total strong{display:block;font-size:22px!important}.exam-component-table input,.exam-component-table select{min-height:32px;max-width:135px;border:1px solid #d0d5dd;border-radius:6px;padding:5px;font-size:10px}.exam-component-add{display:grid;grid-template-columns:1.5fr .7fr .8fr .65fr auto auto .55fr auto;gap:7px;align-items:center;margin-top:10px;padding:10px;border:1px dashed #d0d5dd;border-radius:9px;background:#fafbfc}.exam-component-add input,.exam-component-add select{min-height:35px;border:1px solid #d0d5dd;border-radius:7px;padding:6px;font-size:10px}.inline-form{display:inline}.check-inline{display:inline-flex!important;align-items:center!important;gap:5px!important}.check-inline input{width:auto!important;min-height:auto!important}@media(max-width:1100px){.exam-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.exam-subject-add,.exam-subject-row,.exam-scheme-create,.exam-scheme-settings,.exam-component-add{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-scheme-create .span-3,.exam-scheme-settings .span-4{grid-column:1/-1}.grade-rule-add{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.exam-summary{grid-template-columns:1fr!important}.exam-filter{flex-direction:column;align-items:stretch}.exam-filter>div{min-width:0}.exam-subject-add,.exam-subject-row,.exam-scheme-create,.exam-scheme-settings,.exam-component-add,.grade-rule-add{grid-template-columns:1fr}.exam-scheme-create .span-3,.exam-scheme-settings .span-4{grid-column:auto}.exam-subject-scheme-head{align-items:flex-start}.exam-workflow{align-items:flex-start}}


/* Examination v1.0.1 — Multi-Exam Year + Subject Groups */
.exam-summary-v101{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.exam-structure-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.exam-structure-summary .card{padding:15px!important}.exam-structure-summary span{display:block;font-size:9px;color:#667085}.exam-structure-summary strong{display:block!important;margin-top:4px!important;font-size:20px!important}.exam-structure-summary small{display:block;margin-top:3px;font-size:8.5px;color:#667085}
.exam-class-settings{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;align-items:end}.exam-class-settings .span-3{grid-column:1/-1}.exam-class-settings label,.exam-add-cycle label,.exam-cycle-row label,.exam-group-add label,.exam-group-row label{display:block;margin-bottom:5px;font-size:9.5px;font-weight:700;color:#475467}.exam-class-settings input,.exam-class-settings select,.exam-add-cycle input,.exam-add-cycle select,.exam-cycle-row input,.exam-cycle-row select,.exam-group-add input,.exam-group-row input{width:100%;min-height:37px;border:1px solid #d0d5dd;border-radius:8px;padding:7px 9px;font-size:10.5px}.exam-mode-help{margin-top:11px;padding:9px 11px;border:1px solid #dbe7e1;border-radius:8px;background:#f7fbf9;font-size:10px;line-height:1.45;color:#475467}
.exam-add-cycle{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;align-items:end}.exam-add-cycle .span-3{grid-column:span 3}.exam-cycle-list{display:flex;flex-direction:column;gap:9px}.exam-cycle-row{display:grid;grid-template-columns:1.35fr 1.2fr 1.3fr .55fr .65fr .8fr .9fr .9fr auto auto 1.2fr auto;gap:7px;align-items:end;padding:11px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.exam-cycle-row .check-inline{padding-bottom:8px}.exam-weight-warning{display:inline-flex;padding:6px 9px;border-radius:999px;background:#fff4e5;color:#b54708;font-size:9px;font-weight:800}.empty-state{padding:18px;text-align:center;color:#667085;font-size:10.5px;border:1px dashed #d0d5dd;border-radius:9px}
.exam-group-mode{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px!important;margin-bottom:14px}.exam-group-mode h2{font-size:18px!important;margin:4px 0!important}.exam-group-mode p{margin:5px 0 0;font-size:10px;color:#667085}.exam-group-add{display:grid;grid-template-columns:1.2fr 1.4fr .5fr auto;gap:7px;align-items:end}.exam-group-list{display:flex;flex-direction:column;gap:7px;margin-top:12px}.exam-group-row{display:grid;grid-template-columns:1.2fr 1.4fr .5fr auto .65fr auto;gap:7px;align-items:end;padding:9px;border:1px solid #e4e7ec;border-radius:9px}.exam-group-row.inactive{opacity:.6;background:#f9fafb}.exam-group-tag{padding:8px 9px;border-radius:7px;background:#f2f4f7;color:#475467;font-size:9px;font-weight:700;text-align:center}.exam-group-select{min-width:150px;min-height:32px;border:1px solid #d0d5dd;border-radius:7px;padding:5px;font-size:10px}
@media(max-width:1350px){.exam-summary-v101{grid-template-columns:repeat(3,minmax(0,1fr))!important}.exam-cycle-row{grid-template-columns:repeat(4,minmax(0,1fr))}.exam-add-cycle{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-add-cycle .span-3{grid-column:1/-1}}
@media(max-width:900px){.exam-structure-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-class-settings{grid-template-columns:1fr}.exam-class-settings .span-3{grid-column:auto}.exam-group-mode{align-items:flex-start;flex-direction:column}.exam-group-add,.exam-group-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.exam-summary-v101,.exam-structure-summary{grid-template-columns:1fr!important}.exam-add-cycle,.exam-cycle-row,.exam-group-add,.exam-group-row{grid-template-columns:1fr}.exam-add-cycle .span-3{grid-column:auto}}


/* Examination UI Polish v1.0.3 ------------------------------------------------ */
:root{
  --exam-text:#172033;
  --exam-muted:#667085;
  --exam-border:#e1e6ed;
  --exam-soft:#f8fafc;
  --exam-green:#17664f;
}
.exam-subnav{
  padding:7px!important;
  gap:5px!important;
  border-radius:12px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03);
}
.exam-subnav a{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  padding:8px 12px!important;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}
.exam-block,
.exam-filter-card,
.exam-group-mode,
.grade-scheme-card,
.exam-subject-scheme{
  border-color:var(--exam-border)!important;
  box-shadow:0 1px 2px rgba(16,24,40,.025);
}
.exam-block{
  padding:22px!important;
  border-radius:14px!important;
}
.exam-block .eyebrow,
.exam-group-mode .eyebrow,
.exam-subject-scheme .eyebrow{
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
  color:#5d6b82!important;
}
.exam-block h2,
.exam-subject-scheme h2,
.exam-group-mode h2{
  font-size:21px!important;
  line-height:1.25!important;
  margin:5px 0 8px!important;
  color:var(--exam-text)!important;
}
.exam-section-help{
  margin:0 0 16px!important;
  color:var(--exam-muted)!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.exam-block label,
.exam-filter label,
.exam-class-settings label,
.exam-add-cycle label,
.exam-cycle-row label,
.exam-group-add label,
.exam-group-row label,
.grade-rule-add label{
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:700!important;
  color:#344054!important;
  margin-bottom:6px!important;
}
.exam-block input,
.exam-block select,
.exam-filter input,
.exam-filter select,
.exam-class-settings input,
.exam-class-settings select,
.exam-add-cycle input,
.exam-add-cycle select,
.exam-cycle-row input,
.exam-cycle-row select,
.exam-group-add input,
.exam-group-row input,
.exam-group-row select,
.exam-inline input,
.grade-rule-add input{
  min-height:42px!important;
  font-size:12px!important;
  line-height:1.2!important;
  border-color:#cfd6df!important;
  border-radius:9px!important;
  padding:9px 11px!important;
  background:#fff;
}
.exam-block input:focus,
.exam-block select:focus,
.exam-filter input:focus,
.exam-filter select:focus,
.grade-rule-add input:focus{
  border-color:#77b7a2!important;
  box-shadow:0 0 0 3px rgba(23,102,79,.10)!important;
  outline:none!important;
}
.exam-block small:not(.table-sub),
.exam-add-cycle small,
.exam-subject-add small{
  display:block;
  margin-top:5px;
  font-size:10px!important;
  line-height:1.35!important;
  color:#7a8699!important;
}
.exam-block .btn,
.exam-filter .btn,
.exam-group-mode .btn{
  min-height:40px!important;
  padding:9px 14px!important;
  font-size:11.5px!important;
  line-height:1.15!important;
  border-radius:9px!important;
  white-space:nowrap;
}
.exam-block .btn-xs{
  min-height:31px!important;
  padding:6px 9px!important;
  font-size:10px!important;
}
.exam-primary-action{
  min-height:44px!important;
  font-size:12px!important;
}
.exam-option-tile{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  margin:0!important;
  min-height:64px;
  padding:10px 12px;
  border:1px solid var(--exam-border);
  border-radius:10px;
  background:#fbfcfd;
  cursor:pointer;
}
.exam-option-tile.compact{min-height:58px}
.exam-option-tile input{
  width:17px!important;
  height:17px!important;
  min-height:17px!important;
  margin:2px 0 0!important;
  flex:0 0 auto;
}
.exam-option-tile span{display:block;min-width:0}
.exam-option-tile strong{
  display:block!important;
  font-size:11px!important;
  line-height:1.25!important;
  color:#202939!important;
}
.exam-option-tile small{
  display:block!important;
  margin-top:3px!important;
  font-size:9.5px!important;
  line-height:1.3!important;
  font-weight:500!important;
  color:#7a8699!important;
}
.exam-subject-add-v103{
  grid-template-columns:minmax(230px,2fr) minmax(110px,.85fr) minmax(150px,1fr) minmax(120px,.75fr) minmax(180px,1.05fr) minmax(200px,1.15fr) auto!important;
  align-items:start!important;
  gap:12px!important;
}
.exam-subject-add-v103>div{min-width:0}
.exam-subject-add-v103>.btn{align-self:end;margin-bottom:0}
.exam-subject-row{
  padding:11px 12px!important;
  gap:9px!important;
  border-radius:10px!important;
}
.exam-subject-row input,
.exam-subject-row select{
  min-height:38px!important;
  font-size:11px!important;
}
.exam-filter-card{padding:16px 18px!important;border-radius:12px!important}
.exam-filter{gap:12px!important}
.exam-filter>div{min-width:250px!important}
.exam-summary .card,
.exam-structure-summary .card{
  min-height:104px;
  padding:17px!important;
  border-radius:12px!important;
}
.exam-summary .card>span,
.exam-structure-summary .card>span{
  font-size:11px!important;
  line-height:1.3!important;
}
.exam-summary .card>strong,
.exam-structure-summary .card>strong{
  font-size:22px!important;
  line-height:1.15!important;
  margin-top:6px!important;
}
.exam-summary .card>small,
.exam-structure-summary .card>small{
  font-size:10px!important;
  line-height:1.35!important;
  margin-top:5px!important;
}
.exam-workflow{
  min-height:74px;
  gap:10px!important;
  padding:13px 16px!important;
  border-radius:12px!important;
}
.exam-step{min-width:175px!important}
.exam-step b{width:30px!important;height:30px!important;font-size:11px!important}
.exam-step span{font-size:11.5px!important;line-height:1.25!important}
.exam-step small{font-size:9.5px!important;line-height:1.3!important}
.exam-structure-summary{gap:14px!important}
.exam-class-settings,
.exam-add-cycle{
  gap:12px!important;
}
.exam-add-cycle{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.exam-add-cycle .span-3{grid-column:1/-1!important}
.exam-cycle-row{
  padding:14px!important;
  gap:10px!important;
  border-radius:11px!important;
}
.exam-mode-help,
.alert.info{
  font-size:11px!important;
  line-height:1.5!important;
}
.exam-group-mode p{font-size:11px!important;line-height:1.5!important}
.exam-group-tag{font-size:9.5px!important}
.exam-group-select{min-height:38px!important;font-size:11px!important}
/* tables */
.exam-block table,
.exam-subject-scheme table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.exam-block table th,
.exam-subject-scheme table th{
  padding:11px 12px!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  color:#475467!important;
  background:#f8fafc!important;
  white-space:nowrap;
}
.exam-block table td,
.exam-subject-scheme table td{
  padding:12px!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  vertical-align:middle!important;
}
.exam-block table td strong,
.exam-subject-scheme table td strong{
  font-size:12px!important;
}
.exam-block .table-sub,
.exam-subject-scheme .table-sub{
  display:block;
  margin-top:3px;
  font-size:9.5px!important;
  color:#7a8699!important;
}
/* grading */
.grade-scheme-card{
  margin-top:16px!important;
  padding:16px!important;
  border-radius:12px!important;
  background:#fff;
}
.grade-scheme-head{margin-bottom:12px!important}
.grade-scheme-head strong{font-size:16px!important;line-height:1.25!important}
.grade-rule-add-v103{
  display:grid!important;
  grid-template-columns:minmax(90px,.7fr) minmax(90px,.7fr) minmax(90px,.7fr) minmax(90px,.7fr) minmax(220px,1.7fr) minmax(85px,.65fr) auto!important;
  gap:9px!important;
  align-items:end!important;
  margin-top:12px!important;
  padding:12px!important;
  border:1px solid #e4e7ec;
  border-radius:10px;
  background:#f9fafb;
}
.grade-rule-add-v103>div{min-width:0}
.grade-add-action .btn{width:100%}
.exam-inline{align-items:end!important}
.exam-inline input{min-width:300px!important}
.exam-badge{font-size:9px!important;padding:4px 7px!important}
/* assessment scheme editor */
.exam-subject-total span{font-size:10px!important}
.exam-subject-total strong{font-size:24px!important}
.exam-component-table input,
.exam-component-table select{
  min-height:38px!important;
  font-size:11px!important;
}
.exam-component-add{
  padding:12px!important;
  gap:9px!important;
  border-radius:10px!important;
}
.exam-component-add input,
.exam-component-add select{
  min-height:39px!important;
  font-size:11px!important;
}
@media(max-width:1350px){
  .exam-subject-add-v103{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .exam-option-tile{min-height:60px}
  .grade-rule-add-v103{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .grade-remark-field{grid-column:span 2}
  .exam-add-cycle{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .exam-subject-add-v103,.grade-rule-add-v103,.exam-add-cycle{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .grade-remark-field{grid-column:1/-1}
  .exam-add-cycle .span-3{grid-column:1/-1!important}
  .exam-filter>div{min-width:0!important;flex:1}
}
@media(max-width:650px){
  .exam-block{padding:16px!important}
  .exam-block h2,.exam-subject-scheme h2,.exam-group-mode h2{font-size:18px!important}
  .exam-subject-add-v103,.grade-rule-add-v103,.exam-add-cycle{grid-template-columns:1fr!important}
  .grade-remark-field,.exam-add-cycle .span-3{grid-column:auto!important}
  .exam-inline{width:100%;flex-direction:column;align-items:stretch!important}
  .exam-inline input{min-width:0!important;width:100%!important}
  .exam-option-tile{min-height:0}
}

/* Examination Component Builder v1.0.4 */
.exam-component-builder-card{
    padding:20px!important;
    margin-bottom:16px!important;
}
.exam-subject-total small{
    display:block;
    margin-top:3px;
    font-size:9px;
    color:#667085;
}
.exam-component-empty{
    margin:14px 0;
    padding:12px 14px;
    border:1px dashed #a9b8c8;
    border-radius:10px;
    background:#f8fafc;
}
.exam-component-empty strong{
    display:block!important;
    margin-bottom:4px!important;
    font-size:12px!important;
}
.exam-component-empty span{
    display:block;
    color:#667085;
    font-size:10.5px;
    line-height:1.45;
}
.exam-template-panel{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin:14px 0;
    padding:12px;
    border:1px solid #e4e7ec;
    border-radius:10px;
    background:#fbfcfd;
}
.exam-template-intro{
    min-width:150px;
}
.exam-template-intro strong{
    display:block!important;
    margin:0 0 3px!important;
    font-size:11px!important;
}
.exam-template-intro span{
    display:block;
    font-size:9.5px;
    line-height:1.4;
    color:#667085;
}
.exam-template-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    justify-content:flex-end;
}
.exam-template-buttons .btn{
    min-height:32px!important;
    padding:6px 9px!important;
    font-size:9.5px!important;
}
.exam-component-table-v104 th{
    font-size:9px!important;
    white-space:nowrap!important;
}
.exam-component-table-v104 td{
    vertical-align:middle!important;
}
.exam-component-table-v104 input,
.exam-component-table-v104 select{
    min-height:34px!important;
    font-size:10px!important;
}
.exam-component-table-v104 td:nth-child(1) input{min-width:130px}
.exam-component-table-v104 td:nth-child(2) input,
.exam-component-table-v104 td:nth-child(4) input,
.exam-component-table-v104 td:nth-child(7) input{width:95px!important}
.exam-component-table-v104 .center-check{
    text-align:center!important;
}
.exam-component-table-v104 .center-check input{
    width:16px!important;
    height:16px!important;
    min-height:auto!important;
}
.exam-component-actions{
    display:flex;
    align-items:center;
    gap:5px;
    white-space:nowrap;
}
.exam-manual-component{
    margin-top:14px;
    padding:14px;
    border:1px solid #cfd8e3;
    border-radius:10px;
    background:#fff;
}
.exam-manual-component-title{
    margin-bottom:10px;
}
.exam-manual-component-title strong{
    display:block!important;
    margin:0 0 3px!important;
    font-size:12px!important;
}
.exam-manual-component-title span{
    display:block;
    font-size:9.5px;
    color:#667085;
    line-height:1.4;
}
.exam-component-add-v104{
    display:grid!important;
    grid-template-columns:1.3fr .8fr .9fr .8fr 1.15fr 1.15fr .65fr auto!important;
    gap:8px!important;
    align-items:end!important;
}
.exam-component-add-v104>div label{
    display:block;
    margin-bottom:5px;
    font-size:9.5px;
    font-weight:700;
}
.exam-component-add-v104 input,
.exam-component-add-v104 select{
    width:100%!important;
    min-height:38px!important;
}
.exam-component-add-v104 .exam-option-tile{
    min-height:58px!important;
    margin:0!important;
}
.exam-component-add-v104 .btn{
    min-height:38px!important;
    white-space:nowrap;
}
.exam-component-example{
    margin-top:10px;
    padding:9px 11px;
    border-left:3px solid #3b82f6;
    background:#eff6ff;
    border-radius:0 8px 8px 0;
    font-size:9.5px;
    line-height:1.45;
    color:#475467;
}
.exam-component-example strong{
    color:#1d4ed8;
}
@media(max-width:1180px){
    .exam-component-add-v104{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:800px){
    .exam-template-panel{flex-direction:column}
    .exam-template-buttons{justify-content:flex-start}
    .exam-component-add-v104{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
    .exam-component-add-v104{grid-template-columns:1fr!important}
}

/* Examination Component Builder v1.0.5 - clean compact UI */
.exam-manual-component-v105{
    margin-top:16px!important;
    padding:16px!important;
    border:1px solid #d8dee8!important;
    border-radius:12px!important;
    background:#fff!important;
}
.exam-manual-component-v105 .exam-manual-component-title{
    display:block!important;
    margin:0 0 14px!important;
    padding:0 0 12px!important;
    border-bottom:1px solid #edf0f4!important;
}
.exam-manual-component-v105 .exam-manual-component-title strong{
    display:block!important;
    margin:0 0 4px!important;
    font-size:14px!important;
    line-height:1.25!important;
    font-weight:750!important;
    color:#172033!important;
}
.exam-manual-component-v105 .exam-manual-component-title span{
    display:block!important;
    margin:0!important;
    font-size:10.5px!important;
    line-height:1.45!important;
    color:#667085!important;
}
.exam-component-add-v105{
    display:block!important;
}
.exam-component-fields{
    display:grid!important;
    grid-template-columns:1.35fr .8fr .9fr .8fr!important;
    gap:12px!important;
    align-items:start!important;
}
.exam-field{
    min-width:0!important;
}
.exam-field label{
    display:block!important;
    margin:0 0 6px!important;
    font-size:10.5px!important;
    line-height:1.2!important;
    font-weight:700!important;
    color:#344054!important;
}
.exam-field label span{
    color:#d92d20!important;
}
.exam-field input,
.exam-field select{
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    padding:8px 10px!important;
    border:1px solid #cfd6e1!important;
    border-radius:8px!important;
    background:#fff!important;
    font-size:11px!important;
    line-height:1.2!important;
    color:#101828!important;
}
.exam-field small{
    display:block!important;
    margin-top:5px!important;
    font-size:8.75px!important;
    line-height:1.35!important;
    color:#98a2b3!important;
}
.exam-component-options-row{
    display:grid!important;
    grid-template-columns:1fr 1fr 150px auto!important;
    gap:12px!important;
    align-items:stretch!important;
    margin-top:14px!important;
}
.exam-check-card{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
    min-width:0!important;
    min-height:64px!important;
    margin:0!important;
    padding:11px 12px!important;
    border:1px solid #d8dee8!important;
    border-radius:9px!important;
    background:#f9fafb!important;
    cursor:pointer!important;
}
.exam-check-card input{
    flex:0 0 auto!important;
    width:17px!important;
    height:17px!important;
    min-height:17px!important;
    margin:1px 0 0!important;
}
.exam-check-card span{
    min-width:0!important;
}
.exam-check-card strong{
    display:block!important;
    margin:0 0 3px!important;
    font-size:10.5px!important;
    line-height:1.25!important;
    font-weight:700!important;
    color:#344054!important;
}
.exam-check-card small{
    display:block!important;
    margin:0!important;
    font-size:8.75px!important;
    line-height:1.35!important;
    color:#667085!important;
}
.exam-order-field{
    align-self:start!important;
}
.exam-add-component-btn{
    align-self:start!important;
    min-width:155px!important;
    height:40px!important;
    min-height:40px!important;
    margin-top:22px!important;
    padding:8px 14px!important;
    white-space:nowrap!important;
    font-size:10.5px!important;
}
.exam-component-example-v105{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
    margin:12px 0 0!important;
    padding:10px 12px!important;
    border:1px solid #cfe0ff!important;
    border-left:3px solid #3b82f6!important;
    border-radius:8px!important;
    background:#f5f9ff!important;
    color:#475467!important;
}
.exam-component-example-v105 .exam-example-icon{
    display:grid!important;
    place-items:center!important;
    flex:0 0 22px!important;
    width:22px!important;
    height:22px!important;
    border-radius:50%!important;
    background:#3b82f6!important;
    color:#fff!important;
    font-size:10px!important;
    font-weight:800!important;
}
.exam-component-example-v105 strong{
    display:block!important;
    margin:0 0 2px!important;
    font-size:10.5px!important;
    line-height:1.3!important;
    font-weight:750!important;
    color:#1d4ed8!important;
}
.exam-component-example-v105 span{
    display:block!important;
    margin:0!important;
    font-size:9.5px!important;
    line-height:1.45!important;
    color:#667085!important;
}
.exam-component-example-v105 b{
    font-weight:700!important;
    color:#344054!important;
}
.exam-template-panel{
    align-items:center!important;
}
.exam-template-intro strong{
    font-size:11px!important;
}
.exam-template-buttons{
    gap:7px!important;
}
.exam-template-buttons .btn{
    height:36px!important;
    min-height:36px!important;
    padding:7px 11px!important;
    border-radius:8px!important;
    font-size:9.5px!important;
}
@media(max-width:1100px){
    .exam-component-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .exam-component-options-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .exam-add-component-btn{margin-top:0!important;width:100%!important}
}
@media(max-width:650px){
    .exam-component-fields,
    .exam-component-options-row{grid-template-columns:1fr!important}
    .exam-add-component-btn{min-width:0!important}
}

/* Examination v1.1 - Marks Entry */
.exam-marks-launcher{padding:20px!important;margin-bottom:14px!important}
.exam-marks-launcher h2{margin:3px 0 4px!important;font-size:19px!important}
.exam-marks-filter{display:grid!important;grid-template-columns:1fr 1fr 1.35fr .8fr 1.25fr auto auto!important;gap:10px!important;align-items:end!important;margin-top:16px!important}
.exam-marks-filter label{display:block;margin-bottom:5px;font-size:10px;font-weight:700;color:#344054}
.exam-marks-filter select{width:100%;height:40px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:7px 9px;font-size:11px}
.exam-marks-filter .btn{height:40px;min-height:40px;white-space:nowrap}
.exam-marks-register-list th{white-space:nowrap}
.exam-marks-register-list td{vertical-align:middle}
.exam-mark-entry-head{padding:18px!important;margin-bottom:12px!important}
.exam-mark-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.exam-mark-title h2{margin:3px 0 4px!important;font-size:20px!important}
.exam-mark-title p{margin:0;color:#667085;font-size:10.5px}
.exam-mark-head-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.exam-mark-lock{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:8.5px;font-weight:800;letter-spacing:.03em}
.exam-mark-lock.draft{background:#fff7ed;color:#b54708}.exam-mark-lock.locked{background:#ecfdf3;color:#027a48}
.exam-mark-component-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid #eaecf0}
.exam-mark-component-summary>div{min-width:130px;padding:9px 11px;border:1px solid #e4e7ec;border-radius:8px;background:#fff}
.exam-mark-component-summary span{display:block;font-size:9px;color:#667085}.exam-mark-component-summary strong{display:block!important;margin-top:2px!important;font-size:13px!important}.exam-mark-component-summary small{display:block;margin-top:3px;font-size:8px;color:#98a2b3}
.exam-mark-component-summary .total{background:#f0f9f4;border-color:#b7e4cf}
.exam-mark-sheet-card{padding:0!important;overflow:hidden!important}
.exam-spreadsheet-help{padding:10px 14px;border-bottom:1px solid #e4e7ec;background:#f8fafc;color:#475467;font-size:9.5px}
.exam-spreadsheet-help kbd{padding:1px 4px;border:1px solid #d0d5dd;border-radius:4px;background:#fff;font-size:8px}
.exam-mark-scroll{max-height:64vh;overflow:auto!important}
.exam-mark-sheet{width:100%;border-collapse:separate!important;border-spacing:0!important;font-size:10px!important}
.exam-mark-sheet th{position:sticky;top:0;z-index:3;background:#f8fafc!important;padding:9px 7px!important;white-space:nowrap!important;border-bottom:1px solid #d0d5dd!important}
.exam-mark-sheet th small{display:block;margin-top:2px;font-size:8px;color:#667085;font-weight:500}
.exam-mark-sheet td{padding:7px!important;vertical-align:middle!important;border-bottom:1px solid #eef1f4!important;background:#fff}
.exam-mark-sheet .sticky-col{position:sticky;left:0;z-index:2;background:#fff!important}
.exam-mark-sheet th.sticky-col{z-index:4;background:#f8fafc!important}
.exam-mark-sheet .student-col{min-width:200px}
.exam-mark-sheet .student-col strong{display:block!important;margin:0!important;font-size:10.5px!important}.exam-mark-sheet .student-col small{display:block;margin-top:2px;font-size:8px;color:#667085}
.mark-input-wrap{display:grid;grid-template-columns:minmax(72px,1fr) 78px;gap:4px;min-width:155px}
.mark-input-wrap input,.mark-input-wrap select{height:34px!important;min-height:34px!important;border:1px solid #d0d5dd!important;border-radius:6px!important;padding:5px 6px!important;font-size:9.5px!important;background:#fff}
.mark-input-wrap select{padding-right:2px!important}
.mark-input-wrap input:disabled{background:#f2f4f7!important;color:#98a2b3}
.mark-input-wrap input.invalid{border-color:#f04438!important;background:#fff5f5!important}
.row-total{font-weight:800;font-size:11px}
.exam-result-pill{display:inline-flex;padding:4px 6px;border-radius:999px;font-size:8px;font-weight:800;white-space:nowrap}
.exam-result-pill.pass{background:#ecfdf3;color:#027a48}.exam-result-pill.fail{background:#fef3f2;color:#b42318}
.exam-result-pill.absent,.exam-result-pill.medical,.exam-result-pill.not.assessed,.exam-result-pill.exempted,.exam-result-pill.withheld{background:#f2f4f7;color:#475467}
.exam-mark-savebar{position:sticky;bottom:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid #d0d5dd;border-radius:10px;background:rgba(255,255,255,.97);box-shadow:0 -4px 14px rgba(16,24,40,.06)}
.exam-mark-savebar>div:first-child strong{display:block!important;margin:0 0 2px!important;font-size:11px!important}.exam-mark-savebar>div:first-child span{display:block;font-size:9px;color:#667085}
.exam-mark-savebar .actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:1150px){.exam-marks-filter{grid-template-columns:repeat(3,minmax(0,1fr))!important}.exam-marks-filter .btn{width:100%}.exam-mark-title{flex-direction:column}.exam-mark-head-actions{justify-content:flex-start}}
@media(max-width:650px){.exam-marks-filter{grid-template-columns:1fr!important}.exam-mark-savebar{align-items:flex-start;flex-direction:column}.exam-mark-savebar .actions{width:100%}.exam-mark-savebar .actions .btn{flex:1}.exam-mark-sheet .student-col{min-width:160px}}
@media print{.exam-subnav,.exam-mark-head-actions,.exam-spreadsheet-help,.exam-mark-savebar,.app-sidebar,.admin-header{display:none!important}.exam-mark-scroll{max-height:none!important;overflow:visible!important}.exam-mark-sheet th{position:static!important}.exam-mark-sheet .sticky-col{position:static!important}.mark-input-wrap select{display:none!important}.mark-input-wrap{display:block!important;min-width:60px}.mark-input-wrap input{border:0!important;padding:0!important;height:auto!important}}

/* Examination v1.1.2 - Simple / no-component subjects */
.exam-subject-mode-panel{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin:14px 0;
    padding:14px;
    border:1px solid #d8dee8;
    border-radius:10px;
    background:#f8fafc;
}
.exam-subject-mode-copy{max-width:470px}
.exam-subject-mode-copy strong{display:block!important;margin:0 0 4px!important;font-size:12px!important;color:#172033!important}
.exam-subject-mode-copy span{display:block;font-size:9.5px;line-height:1.45;color:#667085}
.exam-subject-mode-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.exam-subject-mode-form label{display:block;margin-bottom:5px;font-size:9px;font-weight:700;color:#344054}
.exam-subject-mode-form select,.exam-subject-mode-form input{height:36px;min-height:36px;border:1px solid #d0d5dd;border-radius:7px;background:#fff;padding:6px 8px;font-size:9.5px}
.exam-subject-mode-form select{min-width:250px}
.exam-simple-settings{display:flex;gap:7px}
.exam-simple-settings input{width:105px}
.exam-simple-settings.is-hidden{display:none!important}
.exam-simple-ready{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:12px 14px;border:1px solid #a9dfc9;border-radius:10px;background:#f0fdf6}
.exam-simple-ready-icon{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#12b76a;color:#fff;font-weight:800;font-size:11px}
.exam-simple-ready strong{display:block!important;margin:0 0 3px!important;font-size:11px!important;color:#05603a!important}
.exam-simple-ready span{display:block;font-size:9.5px;line-height:1.45;color:#475467}
.exam-assessment-mode-mini{min-width:110px;height:34px;border:1px solid #d0d5dd;border-radius:7px;background:#fff;padding:5px;font-size:9px}
.exam-simple-inline{display:flex;gap:5px;min-width:140px}
.exam-simple-inline .mini-input{width:67px!important}
@media(max-width:900px){.exam-subject-mode-panel{align-items:flex-start;flex-direction:column}.exam-subject-mode-form{justify-content:flex-start}.exam-subject-mode-form select{min-width:220px}}

/* Examination v1.1.3 - marks register setup resync */
.exam-register-mismatch{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
}
.exam-register-mismatch>div{min-width:0}
.exam-register-mismatch form{flex:0 0 auto;margin:0}
.exam-register-mismatch .btn{white-space:nowrap}
@media(max-width:760px){
    .exam-register-mismatch{align-items:flex-start!important;flex-direction:column!important}
}

/* Examination v1.2 - Result Calculation + Preview */
.result-settings-v12{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.result-settings-v12>div>small{display:block;margin-top:4px;font-size:8.75px;line-height:1.35;color:#98a2b3}
.result-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.result-summary-grid .card{padding:14px!important}
.result-summary-grid span{display:block;font-size:10px;color:#667085}
.result-summary-grid strong{display:block!important;margin-top:5px!important;font-size:18px!important;color:#101828}
.result-summary-grid small{display:block;margin-top:3px;font-size:8.5px;color:#667085}
.result-summary-grid .green{border-top:3px solid #12b76a}.result-summary-grid .amber{border-top:3px solid #f79009}
.result-preview-card{padding:18px!important}
.result-preview-table th{white-space:nowrap}
.result-preview-table td{vertical-align:middle}
.result-preview-table td:first-child strong{display:block!important;margin:0!important;font-size:10.5px!important}
.result-preview-table td:first-child small{display:block;margin-top:2px;font-size:8px;color:#667085}
.result-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800;white-space:nowrap;background:#f2f4f7;color:#475467}
.result-status.pass{background:#ecfdf3;color:#027a48}.result-status.fail{background:#fef3f2;color:#b42318}
.result-status.incomplete,.result-status.missing,.result-status.draft,.result-status.config-error{background:#fff7ed;color:#b54708}
.result-status.display-only{background:#eff8ff;color:#175cd3}.result-status.withheld{background:#f2f4f7;color:#344054}
.result-status.absent,.result-status.medical,.result-status.not-assessed,.result-status.exempted{background:#f9f5ff;color:#6941c6}
.student-result-hero{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;padding:18px!important;margin-bottom:14px!important}
.student-result-hero h2{margin:3px 0 4px!important;font-size:22px!important}.student-result-hero p{margin:0;font-size:10px;color:#667085}
.student-result-kpis{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.student-result-kpis>div{min-width:105px;padding:9px 11px;border:1px solid #e4e7ec;border-radius:8px;background:#fff}
.student-result-kpis span{display:block;font-size:8.5px;color:#667085}.student-result-kpis strong{display:block!important;margin-top:3px!important;font-size:13px!important}
.result-group-card,.result-detail-card{padding:18px!important;margin-bottom:14px!important}
.result-group-card h2,.result-detail-card h2{font-size:18px!important;margin:3px 0 12px!important}
.result-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.result-group-grid>div{padding:11px;border:1px solid #e4e7ec;border-radius:8px;background:#fafbfc}
.result-group-grid span{display:block;font-size:9px;color:#667085}.result-group-grid strong{display:block!important;margin-top:4px!important;font-size:14px!important}.result-group-grid small{display:block;margin-top:3px;font-size:8.5px;color:#667085}
.result-detail-table th{white-space:nowrap;vertical-align:bottom}.result-detail-table th small{display:block;margin-top:2px;font-size:7.5px;color:#667085;font-weight:500}
.result-detail-table td{vertical-align:middle;min-width:110px}.result-detail-table td:first-child{min-width:160px}.result-detail-table td:first-child strong{display:block!important;margin:0!important;font-size:10px!important}.result-detail-table td:first-child small{display:block;margin-top:2px;font-size:8px;color:#667085}
.result-detail-table td strong{display:block!important;margin:0!important;font-size:10px!important}.result-detail-table td small{display:block;margin-top:2px;font-size:8px;color:#667085}
.result-cell-status{font-size:8.5px;color:#667085;font-weight:700}
.result-formula-note{font-size:9.5px!important;line-height:1.45!important}
@media(max-width:1150px){.result-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-settings-v12{grid-template-columns:repeat(2,minmax(0,1fr))!important}.student-result-hero{flex-direction:column}.student-result-kpis{justify-content:flex-start}.result-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.result-summary-grid,.result-settings-v12,.result-group-grid{grid-template-columns:1fr!important}}

/* Examination v1.3 - Marksheet Designer / Generator */
.marksheet-designer-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;align-items:start}
.marksheet-template-list{padding:16px!important;position:sticky;top:14px}
.marksheet-template-list h2{font-size:17px!important;margin:3px 0 10px!important}
.marksheet-template-list>.btn{width:100%;margin-bottom:8px}
.marksheet-template-item{display:block;padding:10px;border:1px solid #e4e7ec;border-radius:8px;margin:7px 0;text-decoration:none;color:#172033;background:#fff}
.marksheet-template-item:hover,.marksheet-template-item.active{border-color:#9fd5bf;background:#f0f9f4}
.marksheet-template-item strong{display:block;font-size:10px}.marksheet-template-item span{display:block;margin-top:3px;font-size:8px;color:#667085}
.marksheet-designer-form{display:grid;gap:14px}
.marksheet-designer-form>.card{padding:18px!important}
.marksheet-designer-form h2{font-size:17px!important;margin:3px 0 12px!important}
.marksheet-option-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
.marksheet-option-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.signature-config-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:9px;align-items:center}
.signature-config-grid .span-2{grid-column:1/-1}
.marksheet-save-btn{width:100%;margin-top:12px}
.marksheet-generator-filter{display:grid!important;grid-template-columns:1fr 1fr .8fr 1.2fr auto!important;gap:10px!important;align-items:end!important;margin-top:14px}
.marksheet-generator-filter label{display:block;margin-bottom:5px;font-size:10px;font-weight:700}
.marksheet-generator-filter select{width:100%;height:40px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:7px 9px;font-size:11px}
.marksheet-student-list td:first-child strong{display:block!important;margin:0!important;font-size:10.5px!important}.marksheet-student-list td:first-child small{display:block;margin-top:2px;font-size:8px;color:#667085}
@media(max-width:1100px){.marksheet-designer-layout{grid-template-columns:1fr}.marksheet-template-list{position:static}.marksheet-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marksheet-generator-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){.marksheet-option-grid,.marksheet-option-grid.two,.signature-config-grid,.marksheet-generator-filter{grid-template-columns:1fr!important}}

/* Examination v1.3.2 - Term-wise marksheet generator */
.marksheet-generator-filter.term-report-filter{
    grid-template-columns:1fr 1fr .75fr 1.45fr 1.15fr auto!important;
}
@media(max-width:1250px){
    .marksheet-generator-filter.term-report-filter{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
    .marksheet-generator-filter.term-report-filter{grid-template-columns:1fr!important}
}

/* Examination v1.3.3 - Rank List / Notice Board */
.rank-list-config,.rank-list-preview{padding:18px!important;margin-bottom:14px!important}
.rank-list-filter{display:grid;grid-template-columns:1fr 1fr .8fr .55fr .55fr 1.6fr;gap:10px;align-items:end}
.rank-list-filter .wide{grid-column:auto}
.rank-list-filter>div>label{display:block;margin-bottom:5px;font-size:9.5px;font-weight:700;color:#344054}
.rank-list-filter input,.rank-list-filter select{width:100%;height:38px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:7px 9px;font-size:10px}
.rank-list-filter .exam-option-tile{min-height:60px}
.rank-list-filter>.btn{height:38px;min-height:38px}
.rank-list-count{min-width:105px;padding:8px 10px;border:1px solid #dce3e9;border-radius:8px;background:#f8fafc;text-align:center}
.rank-list-count span{display:block;font-size:8px;color:#667085}.rank-list-count strong{display:block;margin-top:3px;font-size:18px}
.rank-list-table th{white-space:nowrap}.rank-list-table td{vertical-align:middle}.rank-list-table td:nth-child(2){text-align:left}
.rank-number{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border-radius:999px;background:#eef8f4;color:#176447;font-weight:800;font-size:12px}
@media(max-width:1200px){.rank-list-filter{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.rank-list-filter{grid-template-columns:1fr}}

/* Examination v1.3.4 - Term-wise Rank Lists */
.rank-list-filter-v134{
    grid-template-columns:1fr 1fr .8fr 1.35fr .55fr .55fr 1.55fr!important;
}
.rank-scope-note{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 10px;
    padding:9px 11px;
    border:1px solid #b7e4cf;
    border-radius:8px;
    background:#f0f9f4;
}
.rank-scope-note strong{font-size:10px;color:#176447}
.rank-scope-note span{font-size:9px;color:#667085}
@media(max-width:1300px){
    .rank-list-filter-v134{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
    .rank-list-filter-v134{grid-template-columns:1fr!important}
    .rank-scope-note{align-items:flex-start;flex-direction:column}
}

/* Examination v1.4 - Academic Progress / Promotion */
.grade-master-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grade-master-actions form{margin:0}
.grade-rule-add-v103{grid-template-columns:.7fr .7fr .8fr .7fr 1.1fr 1.1fr 1.5fr .55fr auto!important}
.progress-settings-panel{padding-top:12px;border-top:1px solid #e4e7ec;margin-top:4px}.progress-settings-panel h3{margin:3px 0 4px;font-size:14px}
.academic-progress-card{padding:18px!important;margin-bottom:14px!important}.academic-progress-card h2{font-size:18px!important;margin:3px 0 12px!important}
.academic-progress-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.academic-progress-grid>div{padding:10px;border:1px solid #e4e7ec;border-radius:8px;background:#fff}.academic-progress-grid .wide{grid-column:span 2}.academic-progress-grid .promotion{grid-column:span 3;border-color:#9ed5bd;background:#f0f9f4}.academic-progress-grid span{display:block;font-size:8.5px;color:#667085}.academic-progress-grid strong{display:block;margin-top:4px;font-size:11px}.academic-progress-grid .promotion strong{font-size:13px;color:#176447}
.progress-override-editor{margin-top:12px;border-top:1px solid #e4e7ec;padding-top:10px}.progress-override-editor summary{cursor:pointer;font-size:10px;font-weight:700;color:#176447}.progress-override-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.progress-override-form .wide{grid-column:1/-1}.progress-override-form label{display:block;margin-bottom:5px;font-size:9px;font-weight:700}.progress-override-form input{width:100%;height:38px;border:1px solid #d0d5dd;border-radius:8px;padding:7px 9px}.progress-override-form .btn{align-self:end}
@media(max-width:1100px){.grade-rule-add-v103{grid-template-columns:repeat(3,minmax(0,1fr))!important}.academic-progress-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.academic-progress-grid .wide,.academic-progress-grid .promotion{grid-column:span 3}}
@media(max-width:700px){.grade-rule-add-v103,.academic-progress-grid,.progress-override-form{grid-template-columns:1fr!important}.academic-progress-grid .wide,.academic-progress-grid .promotion,.progress-override-form .wide{grid-column:auto!important}}

/* Student Attendance v1.0 */
.attendance-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.attendance-subnav a{display:inline-flex;padding:8px 11px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;text-decoration:none;font-size:10px;font-weight:700}.attendance-subnav a.active{background:#176447;border-color:#176447;color:#fff}
.student-attendance-filter,.student-attendance-card{padding:18px!important;margin-bottom:14px!important}.student-attendance-filter h2,.student-attendance-card h2{font-size:18px!important;margin:3px 0 5px!important}
.student-attendance-filter-grid,.attendance-report-filter{display:grid;grid-template-columns:1.1fr 1fr .8fr 1fr auto;gap:10px;align-items:end;margin-top:12px}.student-attendance-filter-grid label,.attendance-report-filter label{display:block;margin-bottom:5px;font-size:9.5px;font-weight:700;color:#344054}.student-attendance-filter-grid select,.student-attendance-filter-grid input,.attendance-report-filter select,.attendance-report-filter input{width:100%;height:39px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:7px 9px;font-size:10px}.student-attendance-filter-grid .btn,.attendance-report-filter .btn{height:39px;white-space:nowrap}
.attendance-report-filter{grid-template-columns:1.1fr 1fr .8fr .9fr 1fr auto}
.attendance-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px}.attendance-kpis .card{padding:12px!important}.attendance-kpis span{display:block;font-size:8.5px;color:#667085}.attendance-kpis strong{display:block;margin-top:4px;font-size:18px;color:#101828}
.attendance-actions,.report-actions{display:flex;gap:7px;flex-wrap:wrap}.student-attendance-table th,.attendance-report-table th{white-space:nowrap}.student-attendance-table td,.attendance-report-table td{vertical-align:middle}.student-attendance-table td:nth-child(2) strong,.attendance-report-table td:nth-child(2) strong{display:block!important;margin:0!important;font-size:10.5px!important}.student-attendance-table td:nth-child(2) small,.attendance-report-table td:nth-child(2) small{display:block;margin-top:2px;font-size:8px;color:#667085}.student-attendance-table select,.student-attendance-table input{width:100%;height:36px;border:1px solid #d0d5dd;border-radius:7px;background:#fff;padding:6px 8px;font-size:9.5px}.student-attendance-table td:first-child{width:70px}.student-attendance-table td:nth-child(3){width:150px}.student-savebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #eaecf0}
@media(max-width:1100px){.student-attendance-filter-grid,.attendance-report-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.student-attendance-filter-grid,.attendance-report-filter,.attendance-kpis{grid-template-columns:1fr}.student-savebar{align-items:stretch;flex-direction:column}.student-savebar .btn{width:100%}}

/* Student Certificates & TC v1.0 */
.certificate-tabs{display:flex;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line,#dfe4ec);border-radius:16px;padding:8px;margin-bottom:18px}.certificate-tabs a{padding:10px 15px;border-radius:11px;text-decoration:none;color:#344054;font-weight:700}.certificate-tabs a.active{background:#edf7f2;color:#126346}.certificate-filter-card,.certificate-picker{margin-bottom:18px}.certificate-filter-grid,.certificate-picker-grid,.certificate-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}.certificate-filter-grid{grid-template-columns:220px 250px minmax(260px,1fr) auto}.certificate-picker-grid{grid-template-columns:240px minmax(300px,1fr) auto}.certificate-filter-grid .wide,.certificate-picker-grid .wide,.certificate-form-grid .wide{grid-column:auto}.certificate-list-card small{display:block;color:#667085;margin-top:3px}.certificate-status{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#eaf8ef;color:#0b7a3d}.certificate-status.cancelled{background:#fff0f0;color:#b42318}.certificate-student-summary{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #e3e7ef;margin-bottom:18px}.certificate-tc-fields{margin:18px 0;padding:18px;border-radius:14px;background:#f8fafc;border:1px solid #e3e7ef}.certificate-view-toolbar form{margin:0}.certificate-preview-card{max-width:900px;margin:18px auto}.certificate-preview-school{text-align:center;border-bottom:2px solid #243eea;padding-bottom:14px}.certificate-preview-school strong{display:block;font-size:24px}.certificate-preview-school span{display:block;color:#667085;margin-top:5px}.certificate-preview-title{text-align:center;font-size:22px;font-weight:800;text-transform:uppercase;margin:24px 0}.certificate-issue-form textarea{width:100%}@media(max-width:800px){.certificate-filter-grid,.certificate-picker-grid,.certificate-form-grid{grid-template-columns:1fr}.certificate-student-summary{display:block}.certificate-student-summary .btn{margin-top:12px}}

/* Notices & Parent Communication v1.0 */
.notice-tabs{display:flex;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line,#dfe4ec);border-radius:16px;padding:8px;margin-bottom:18px}.notice-tabs a{padding:10px 15px;border-radius:11px;text-decoration:none;color:#344054;font-weight:700}.notice-tabs a.active{background:#edf7f2;color:#126346}.notice-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.notice-kpis .card{padding:17px!important}.notice-kpis span{display:block;color:#667085;font-size:13px}.notice-kpis strong{display:block;margin-top:6px;font-size:27px}.notice-filter{display:grid;grid-template-columns:210px 190px 180px minmax(260px,1fr) auto;gap:12px;align-items:end;margin-bottom:18px}.notice-filter label,.notice-form-grid label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.notice-filter input,.notice-filter select,.notice-form-grid input,.notice-form-grid select,.notice-form-grid textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;background:#fff;padding:10px 12px}.notice-filter input,.notice-filter select,.notice-form-grid input,.notice-form-grid select{height:43px}.notice-list-card small{display:block;color:#667085;margin-top:4px}.notice-status{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800}.notice-status.published{background:#eaf8ef;color:#067647}.notice-status.draft{background:#fff4e5;color:#b54708}.notice-status.archived{background:#f2f4f7;color:#475467}.notice-editor{max-width:1050px;margin:0 auto}.notice-editor h2{margin-top:4px}.notice-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.notice-form-grid .span-2{grid-column:1/-1}.notice-target-box{margin-top:22px;padding:18px;border:1px solid #dce3e9;border-radius:14px;background:#f8fafc}.notice-target-box h3{margin:4px 0 14px}.notice-recipient-note{margin:12px 0 0}.notice-view{max-width:1000px;margin:0 auto 18px}.notice-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e4e7ec;padding-bottom:16px}.notice-view-head h1{margin:4px 0 6px}.notice-view-head p{margin:0;color:#667085}.notice-body{font-size:15px;line-height:1.7;padding:24px 0;white-space:normal}.notice-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.notice-meta-grid>div{padding:12px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.notice-meta-grid span{display:block;font-size:11px;color:#667085}.notice-meta-grid strong{display:block;margin-top:5px}.notice-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #e4e7ec;padding-top:16px}.notice-actions form{display:flex;gap:8px}.notice-recipient-card{max-width:1000px;margin:0 auto}.notice-recipient-card small{display:block;color:#667085}.notice-recipient-card td strong{display:block}
@media(max-width:1100px){.notice-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.notice-kpis,.notice-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.notice-filter,.notice-kpis,.notice-form-grid,.notice-meta-grid{grid-template-columns:1fr}.notice-form-grid .span-2{grid-column:auto}.notice-view-head,.notice-actions{flex-direction:column}.notice-actions form{width:100%;flex-wrap:wrap}}

/* Notices, Activities & Parent Communication v1.1 */
.activity-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-filter{grid-template-columns:210px 190px 170px minmax(260px,1fr) auto}.activity-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.activity-gallery a{display:block;border:1px solid #e4e7ec;border-radius:12px;overflow:hidden;background:#f8fafc;aspect-ratio:4/3}.activity-gallery img{width:100%;height:100%;object-fit:cover;display:block}.activity-gallery.compact{grid-template-columns:repeat(6,minmax(0,1fr));max-width:900px}.activity-empty-photo,.whatsapp-empty{padding:24px;border:1px dashed #cfd7e3;border-radius:12px;background:#f8fafc;color:#667085;margin:16px 0}.whatsapp-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}.whatsapp-map-form,.whatsapp-map-list,.whatsapp-share-card{padding:18px!important}.whatsapp-map-form h2,.whatsapp-map-list h2,.whatsapp-share-card h2{margin:4px 0 14px}.whatsapp-map-form label,.communication-filter label{display:block;font-size:12px;font-weight:700;margin:12px 0 6px}.whatsapp-map-form input,.whatsapp-map-form select,.whatsapp-map-list select,.communication-filter select{width:100%;height:42px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;padding:8px 10px}.checkbox-line{display:flex!important;align-items:center;gap:8px}.checkbox-line input{width:auto!important;height:auto!important}.row-actions{display:flex;gap:6px;align-items:center}.row-actions form{margin:0}.whatsapp-share-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:18px;margin-top:18px}.whatsapp-share-grid h3,.wa-media-block h3,.wa-log-block h3{margin:0 0 10px}.wa-target{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e4e7ec;border-radius:10px;padding:11px;margin-bottom:8px}.wa-target strong,.wa-target small{display:block}.wa-target small{color:#667085;margin-top:3px}.whatsapp-share-grid textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:12px;font:inherit;line-height:1.5}.wa-copy{margin-top:8px}.wa-media-block,.wa-log-block{border-top:1px solid #e4e7ec;padding-top:18px;margin-top:18px}.wa-prepare-actions{display:flex;gap:8px;flex-wrap:wrap}.wa-prepare-actions form{margin:0}.wa-prepared{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid #b7dfca;background:#f0f9f4;border-radius:11px;padding:12px}.wa-prepared span{display:block;font-size:10px;color:#667085}.wa-prepared strong{display:block;margin-top:3px}.wa-mark-shared{margin-top:10px}.communication-filter{display:grid;grid-template-columns:220px 220px auto;gap:12px;align-items:end;margin-bottom:18px}.communication-filter label{margin-top:0}.history-message{max-width:480px;white-space:normal;line-height:1.55;padding:10px 0;color:#344054}.notice-tabs{overflow-x:auto}
@media(max-width:1050px){.whatsapp-layout,.whatsapp-share-grid{grid-template-columns:1fr}.activity-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-gallery.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.activity-gallery,.activity-gallery.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-filter,.communication-filter{grid-template-columns:1fr}.wa-target{align-items:flex-start;flex-direction:column}.whatsapp-map-form,.whatsapp-map-list,.whatsapp-share-card{padding:14px!important}}

/* Notices & Parent Communication v1.1.1 - WhatsApp share */
.wa-share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;align-items:center}.wa-share-actions .wa-copy{margin-top:0}.btn-whatsapp{background:#128c4a!important;border-color:#128c4a!important;color:#fff!important}.btn-whatsapp:hover{background:#0f7a40!important;border-color:#0f7a40!important}.btn-whatsapp:disabled{opacity:.65;cursor:wait}.wa-share-help{margin:8px 0 0}.wa-share-status{min-height:20px;margin-top:8px;font-size:12px;font-weight:600;color:#067647}.wa-share-status.error-text{color:#b42318}


/* Vans & Routes v1.0.2 - compliance notifications */
.kr-nav-item{position:relative}.kr-nav-badge{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff!important;font-size:10px;font-weight:900;line-height:1;box-shadow:0 0 0 2px rgba(255,255,255,.12)}
.vehicle-compliance-card{margin:18px 0;border-left:4px solid #12b76a}.vehicle-compliance-card.has-alerts{border-left-color:#d92d20;background:linear-gradient(90deg,#fff7f6 0,#fff 28%)}.vehicle-compliance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.vehicle-compliance-head h2{margin:4px 0 5px;font-size:20px}.vehicle-compliance-head p{margin:0}.vehicle-compliance-head .btn{margin:0}.vehicle-alert-list{margin-top:14px;border-top:1px solid #eaecf0}.vehicle-alert-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid #eaecf0}.vehicle-alert-row>div strong,.vehicle-alert-row>div span{display:block}.vehicle-alert-row>div strong{font-size:13px;margin:0}.vehicle-alert-row>div span{font-size:11px;margin-top:2px}.vehicle-alert-status{display:inline-flex!important;padding:4px 7px;border-radius:999px;font-size:9px!important;font-weight:900!important}.severity-expired .vehicle-alert-status,.severity-urgent .vehicle-alert-status{background:#fee4e2;color:#b42318}.severity-warning .vehicle-alert-status{background:#fef0c7;color:#b54708}.severity-upcoming .vehicle-alert-status{background:#eff8ff;color:#175cd3}.vehicle-alert-more{font-size:11px;color:#667085;margin:10px 0 0}.vehicle-expiry-summary{background:#fef3f2;color:#b42318;border:1px solid #fecdca}.vehicle-expiry-summary a{color:#912018;font-weight:800}
@media(max-width:650px){.vehicle-compliance-head{flex-direction:column}.vehicle-alert-row{grid-template-columns:1fr auto}.vehicle-alert-row>div:nth-child(2){grid-column:1/-1;grid-row:2}.kr-nav-badge{margin-left:auto}}
/* Final Audit v1.0 */
.audit-year-bar{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.audit-year-bar>div:first-child{min-width:250px}.audit-year-status{margin-left:auto}.audit-year-status span{display:block;font-size:11px;color:#667085}.audit-status{display:inline-flex;margin-top:5px;padding:6px 10px;border-radius:999px;font-size:11px}.audit-status.draft,.audit-status.reopened{background:#f2f4f7;color:#344054}.audit-status.finalized{background:#dcfae6;color:#067647}.audit-year-actions{display:flex;gap:8px}.audit-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0}.audit-score-card.good{border-top:4px solid #12b76a}.audit-score-card.warn{border-top:4px solid #f79009}.audit-score-card.bad{border-top:4px solid #f04438}.audit-finance-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.audit-finance-summary .card{padding:15px}.audit-finance-summary span{font-size:11px;color:#667085}.audit-finance-summary strong{display:block;margin-top:4px;font-size:17px}.audit-checks-card{padding:0;overflow:hidden}.audit-checks-card .toolbar{padding:20px 22px;margin:0;border-bottom:1px solid #eaecf0}.audit-checks-card h2{margin:4px 0 0}.audit-check-list{padding:0 22px}.audit-check-row{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #eaecf0}.audit-check-row:last-child{border-bottom:0}.audit-check-icon{display:flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;font-weight:900}.audit-check-row.pass .audit-check-icon{background:#dcfae6;color:#067647}.audit-check-row.fail.severity-critical .audit-check-icon{background:#fee4e2;color:#b42318}.audit-check-row.fail.severity-warning .audit-check-icon{background:#fef0c7;color:#b54708}.audit-check-copy>div{display:flex;align-items:center;gap:8px}.audit-check-copy p{margin:4px 0 0;color:#667085;font-size:12px}.audit-severity{display:inline-flex;padding:3px 6px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:9px;font-weight:900}.severity-critical .audit-severity{background:#fee4e2;color:#b42318}.severity-warning .audit-severity{background:#fef0c7;color:#b54708}.severity-info .audit-severity{background:#eff8ff;color:#175cd3}.audit-close-card{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.audit-close-card h2{margin:4px 0 6px}.audit-reopen-form{display:flex;gap:8px;align-items:center;min-width:420px}.audit-reopen-form input{min-width:250px}@media(max-width:950px){.audit-stat-grid,.audit-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-close-card{align-items:stretch;flex-direction:column}.audit-reopen-form{min-width:0;flex-direction:column;align-items:stretch}.audit-reopen-form input{min-width:0}}@media(max-width:600px){.audit-stat-grid,.audit-finance-summary{grid-template-columns:1fr}.audit-check-row{grid-template-columns:34px 1fr}.audit-check-row>a{grid-column:2}.audit-year-status{margin-left:0}.audit-year-actions{width:100%}}

/* ========================================================================== */
/* KallRecord Design System v2.0                                               */
/* Compatibility-first UI modernization layer.                                */
/* Added after legacy rules so existing module markup can migrate gradually.   */
/* ========================================================================== */
:root{
  --kr-primary-900:#0b3b2e;
  --kr-primary-800:#0f513d;
  --kr-primary-700:#176448;
  --kr-primary-600:#1f7657;
  --kr-primary-100:#e8f4ef;
  --kr-primary-50:#f3faf7;
  --kr-success-700:#147a45;
  --kr-success-100:#e9f8ef;
  --kr-warning-700:#9a6200;
  --kr-warning-100:#fff5d9;
  --kr-danger-700:#b42318;
  --kr-danger-100:#feeceb;
  --kr-info-700:#175cd3;
  --kr-info-100:#eaf2ff;
  --kr-neutral-950:#101828;
  --kr-neutral-800:#1d2939;
  --kr-neutral-700:#344054;
  --kr-neutral-600:#475467;
  --kr-neutral-500:#667085;
  --kr-neutral-400:#98a2b3;
  --kr-neutral-300:#d0d5dd;
  --kr-neutral-200:#e4e7ec;
  --kr-neutral-100:#f2f4f7;
  --kr-neutral-50:#f9fafb;
  --kr-text-primary:var(--kr-neutral-950);
  --kr-text-secondary:var(--kr-neutral-600);
  --kr-border:var(--kr-neutral-200);
  --kr-background:#f5f7fa;
  --kr-surface:#ffffff;
  --kr-space-1:4px;
  --kr-space-2:8px;
  --kr-space-3:12px;
  --kr-space-4:16px;
  --kr-space-5:24px;
  --kr-space-6:32px;
  --kr-radius-sm:8px;
  --kr-radius-md:12px;
  --kr-radius-lg:16px;
  --kr-shadow-sm:0 1px 2px rgba(16,24,40,.05);
  --kr-shadow-md:0 4px 12px rgba(16,24,40,.07);
  --kr-font-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --kr-font-page:27px;
  --kr-font-section:19px;
  --kr-font-card:15px;
  --kr-font-body:14px;
  --kr-font-table:13px;
  --kr-font-label:13px;
  --kr-font-helper:12px;
  --kr-control-h:40px;
  --kr-touch-h:44px;
  --kr-content-max:1600px;
}

html{font-family:var(--kr-font-sans);color:var(--kr-text-primary);background:var(--kr-background);}
body{font-family:var(--kr-font-sans);color:var(--kr-text-primary);background:var(--kr-background);line-height:1.45;text-rendering:optimizeLegibility;}

/* Accessibility foundation */
.kr-skip-link{position:fixed;left:12px;top:-80px;z-index:99999;padding:10px 14px;border-radius:var(--kr-radius-sm);background:var(--kr-neutral-950);color:#fff;text-decoration:none;font-weight:700;transition:top .15s ease;}
.kr-skip-link:focus{top:12px;}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(23,92,211,.32);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}}

/* Typography compatibility */
.kr-admin-content h1,.container h1{font-size:var(--kr-font-page);line-height:1.18;letter-spacing:-.02em;color:var(--kr-text-primary);}
.kr-admin-content h2,.container h2{font-size:var(--kr-font-section);line-height:1.25;letter-spacing:-.01em;color:var(--kr-text-primary);}
.kr-admin-content h3,.container h3{font-size:var(--kr-font-card);line-height:1.3;color:var(--kr-text-primary);}
.kr-admin-content p,.kr-admin-content li,.container p,.container li{line-height:1.5;}
.kr-page-subtitle,.muted,.help,.helper,.form-help{color:var(--kr-text-secondary);font-size:var(--kr-font-helper);line-height:1.45;}
.eyebrow{font-size:12px;letter-spacing:.08em;font-weight:800;color:var(--kr-neutral-600);}

/* Card primitives and compatibility */
.kr-card,.card{background:var(--kr-surface);border:1px solid var(--kr-border);border-radius:var(--kr-radius-lg);box-shadow:var(--kr-shadow-sm);}
.kr-card--compact{padding:var(--kr-space-3);}
.kr-card--standard{padding:var(--kr-space-4);}
.kr-card--roomy{padding:var(--kr-space-5);}
.kr-card-title{font-size:var(--kr-font-card);font-weight:750;line-height:1.3;margin:0;color:var(--kr-text-primary);}
/* Legacy cards often use strong as a KPI. Keep KPI scale but stop generic text from becoming 30px. */
.kr-admin-content .card:not(.stat-card):not([class*="-stat"]):not([class*="-score"]):not(.red):not(.amber):not(.green)>strong{font-size:inherit;line-height:inherit;}

/* Button system */
.kr-btn,.btn,.button-secondary{min-height:var(--kr-control-h);display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:var(--kr-radius-md);padding:0 15px;font:700 13px/1 var(--kr-font-sans);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .05s ease;vertical-align:middle;margin-top:0;}
.kr-btn:active,.btn:active,.button-secondary:active{transform:translateY(1px);}
.kr-btn:disabled,.btn:disabled,.button-secondary:disabled,[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:none;}
.kr-btn--primary,.btn:not(.btn-light):not(.btn-danger-soft):not(.btn-success-soft):not(.secondary):not(.btn-outline):not(.btn-ghost){background:var(--kr-primary-700);border-color:var(--kr-primary-700);color:#fff;}
.kr-btn--primary:hover,.btn:not(.btn-light):not(.btn-danger-soft):not(.btn-success-soft):not(.secondary):not(.btn-outline):not(.btn-ghost):hover{background:var(--kr-primary-800);border-color:var(--kr-primary-800);color:#fff;}
.kr-btn--secondary,.btn.secondary,.button-secondary,.btn-light{background:#fff;border-color:var(--kr-neutral-300);color:var(--kr-neutral-800);box-shadow:var(--kr-shadow-sm);}
.kr-btn--secondary:hover,.btn.secondary:hover,.button-secondary:hover,.btn-light:hover{background:var(--kr-neutral-50);border-color:var(--kr-neutral-400);color:var(--kr-neutral-950);}
.kr-btn--danger,.btn-danger-soft{background:var(--kr-danger-100);border-color:#fecdca;color:var(--kr-danger-700);}
.kr-btn--danger:hover,.btn-danger-soft:hover{background:#fdd8d5;border-color:#fda29b;color:#912018;}
.kr-btn--success,.btn-success-soft{background:var(--kr-success-100);border-color:#a6f4c5;color:var(--kr-success-700);}
.kr-btn--outline,.btn-outline{background:transparent;border-color:var(--kr-neutral-300);color:var(--kr-neutral-700);}
.kr-btn--ghost,.btn-ghost{background:transparent;border-color:transparent;color:var(--kr-neutral-700);box-shadow:none;}
.kr-btn--sm,.btn-sm{min-height:34px;padding:0 11px;font-size:12px;border-radius:var(--kr-radius-sm);}
.kr-btn--xs,.btn-xs{min-height:32px;padding:0 10px;font-size:12px;border-radius:var(--kr-radius-sm);}
.kr-btn--icon{width:var(--kr-control-h);padding:0;}

/* Form primitives */
.kr-field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.kr-field label,.kr-label,.kr-admin-content label,.container label{font-size:var(--kr-font-label);line-height:1.3;font-weight:700;color:var(--kr-neutral-700);}
.kr-required{color:var(--kr-danger-700);font-weight:800;}
.kr-help{font-size:var(--kr-font-helper);line-height:1.4;color:var(--kr-text-secondary);}
.kr-error{font-size:var(--kr-font-helper);line-height:1.4;color:var(--kr-danger-700);font-weight:650;}
.kr-admin-content :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea),
.container :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea){min-height:var(--kr-control-h);border:1px solid var(--kr-neutral-300);border-radius:var(--kr-radius-md);background:#fff;color:var(--kr-text-primary);font:500 var(--kr-font-body)/1.35 var(--kr-font-sans);padding:9px 12px;box-shadow:0 1px 2px rgba(16,24,40,.02);max-width:100%;}
.kr-admin-content textarea,.container textarea{min-height:96px;resize:vertical;}
.kr-admin-content :where(input,select,textarea):focus,.container :where(input,select,textarea):focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(23,92,211,.12);outline:none;}
.kr-admin-content :where(input,select,textarea):disabled,.container :where(input,select,textarea):disabled{background:var(--kr-neutral-100);color:var(--kr-neutral-500);cursor:not-allowed;}
.kr-admin-content :where(input[type="checkbox"],input[type="radio"]),.container :where(input[type="checkbox"],input[type="radio"]){width:18px;height:18px;accent-color:var(--kr-primary-700);vertical-align:middle;}
.kr-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kr-space-4);}

/* Filter/search primitive and compatibility */
.kr-filter-bar,.student-filters,.staff-filters,.cashbook-filter,.expense-filter,.income-filter,.fee-filters,.attendance-filter,.report-filters{display:flex;flex-wrap:wrap;align-items:end;gap:var(--kr-space-3);background:var(--kr-surface);border:1px solid var(--kr-border);border-radius:var(--kr-radius-lg);padding:var(--kr-space-4);box-shadow:var(--kr-shadow-sm);}
.kr-filter-bar>.kr-field,.student-filters>div,.staff-filters>div,.cashbook-filter>div,.expense-filter>div,.income-filter>div{min-width:150px;flex:1 1 170px;}
.kr-filter-actions{display:flex;gap:var(--kr-space-2);align-items:center;flex:0 0 auto;}

/* Tables */
.kr-table-responsive,.responsive-table{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-radius:var(--kr-radius-md);}
.kr-table,.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--kr-font-table);color:var(--kr-neutral-800);}
.kr-table thead th,.table thead th{background:var(--kr-neutral-50);color:var(--kr-neutral-700);font-size:12px;line-height:1.25;font-weight:800;padding:11px 12px;border-bottom:1px solid var(--kr-border);white-space:nowrap;text-align:left;}
.kr-table tbody td,.table tbody td{padding:11px 12px;border-bottom:1px solid var(--kr-border);vertical-align:middle;}
.kr-table tbody tr:hover,.table tbody tr:hover{background:#fbfcfd;}
.kr-table tbody tr:last-child td,.table tbody tr:last-child td{border-bottom:0;}
.kr-table .num,.table .num,[data-type="number"],[data-type="currency"]{font-variant-numeric:tabular-nums;text-align:right;}
.kr-empty-state{padding:28px 18px;text-align:center;color:var(--kr-text-secondary);font-size:13px;}

/* Badges / status */
.kr-badge,.status-pill,.student-status,.staff-status,.payment-status,.fee-status,.asset-status,.payroll-status,.certificate-status,.doc-status{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:3px 9px;border-radius:999px;font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.01em;white-space:nowrap;}
.kr-badge--success,.status-active,.status-paid,.status-verified,.status-passed{background:var(--kr-success-100);color:var(--kr-success-700);}
.kr-badge--warning,.status-warning,.status-partial,.status-upcoming{background:var(--kr-warning-100);color:var(--kr-warning-700);}
.kr-badge--danger,.status-danger,.status-expired,.status-failed,.status-overdue{background:var(--kr-danger-100);color:var(--kr-danger-700);}
.kr-badge--info,.status-info,.status-progress{background:var(--kr-info-100);color:var(--kr-info-700);}
.kr-badge--neutral,.status-draft,.status-inactive{background:var(--kr-neutral-100);color:var(--kr-neutral-700);}

/* Alerts */
.kr-alert,.alert{border:1px solid var(--kr-border);border-radius:var(--kr-radius-md);padding:12px 14px;font-size:13px;line-height:1.45;font-weight:600;}
.alert.success,.kr-alert--success{background:var(--kr-success-100);border-color:#abefc6;color:#05603a;}
.alert.error,.kr-alert--danger{background:var(--kr-danger-100);border-color:#fecdca;color:#912018;}
.alert.warning,.kr-alert--warning{background:var(--kr-warning-100);border-color:#fedf89;color:#7a2e0e;}
.alert.info,.kr-alert--info{background:var(--kr-info-100);border-color:#b2ccff;color:#1849a9;}

/* Tabs / sub-navigation */
.kr-tabs,.student-tabs,.staff-subnav,.exam-subnav,.notice-tabs,.certificate-tabs,.report-tabs,.transport-tabs{display:flex;align-items:center;gap:4px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:5px;background:#fff;border:1px solid var(--kr-border);border-radius:var(--kr-radius-lg);}
.kr-tabs a,.student-tabs a,.staff-subnav a,.exam-subnav a,.notice-tabs a,.certificate-tabs a,.report-tabs a,.transport-tabs a{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:10px;color:var(--kr-neutral-700);font-size:13px;font-weight:750;text-decoration:none;white-space:nowrap;}
.kr-tabs a:hover,.student-tabs a:hover,.staff-subnav a:hover,.exam-subnav a:hover,.notice-tabs a:hover,.certificate-tabs a:hover,.report-tabs a:hover,.transport-tabs a:hover{background:var(--kr-neutral-50);color:var(--kr-neutral-950);}
.kr-tabs a.active,.student-tabs a.active,.staff-subnav a.active,.exam-subnav a.active,.notice-tabs a.active,.certificate-tabs a.active,.report-tabs a.active,.transport-tabs a.active{background:var(--kr-primary-100);color:var(--kr-primary-800);}

/* Admin shell/navigation */
.kr-admin-content{max-width:var(--kr-content-max);width:100%;margin:0 auto;padding:24px;}
.kr-sidebar{background:var(--kr-primary-900);}
.kr-nav-item{min-height:42px;border-radius:9px;font-size:13px;font-weight:650;}
.kr-nav-item:hover{background:rgba(255,255,255,.08);}
.kr-nav-item.active{background:rgba(255,255,255,.13);box-shadow:inset 3px 0 0 #7dd3ae;}
.kr-nav-icon{width:22px;display:inline-flex;justify-content:center;opacity:.9;}
.kr-nav-section{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:800;}
.kr-nav-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#d92d20;color:#fff;font-size:11px;font-weight:850;line-height:1;}
.kr-admin-topbar{min-height:72px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--kr-border);backdrop-filter:saturate(140%) blur(8px);}
.kr-topbar-title small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--kr-neutral-500);}
.kr-topbar-title strong{font-size:20px;line-height:1.2;color:var(--kr-neutral-950);}
.kr-top-link,.kr-logout-link{min-height:40px;display:inline-flex;align-items:center;padding:0 12px;border-radius:10px;border:1px solid var(--kr-border);text-decoration:none;font-size:13px;font-weight:700;}
.kr-top-link{background:var(--kr-primary-50);color:var(--kr-primary-800);border-color:transparent;}
.kr-logout-link{background:#fff;color:var(--kr-neutral-700);}
.kr-mobile-menu{min-width:44px;min-height:44px;border:1px solid var(--kr-border);border-radius:10px;background:#fff;color:var(--kr-neutral-800);font-size:20px;}
.kr-sidebar-backdrop{display:none;}

/* Final Audit: result must lead visually; severity is secondary metadata. */
.audit-check-row.pass{border-color:#abefc6;background:#fbfffc;}
.audit-check-row.fail{border-color:#fecdca;background:#fffafa;}
.audit-check-row.pass .audit-check-icon{background:var(--kr-success-100);color:var(--kr-success-700);}
.audit-check-row.fail .audit-check-icon{background:var(--kr-danger-100);color:var(--kr-danger-700);}
.audit-result-badge{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:850;}
.audit-result-badge.pass{background:var(--kr-success-100);color:var(--kr-success-700);}
.audit-result-badge.fail{background:var(--kr-danger-100);color:var(--kr-danger-700);}
.audit-severity{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:var(--kr-neutral-100);color:var(--kr-neutral-600);font-size:11px;font-weight:750;}
.audit-check-row.fail.severity-critical .audit-severity{background:var(--kr-danger-100);color:var(--kr-danger-700);}
.audit-check-row.fail.severity-warning .audit-severity{background:var(--kr-warning-100);color:var(--kr-warning-700);}
.audit-check-row.pass.severity-critical .audit-severity,.audit-check-row.pass.severity-warning .audit-severity{background:var(--kr-neutral-100);color:var(--kr-neutral-600);}

/* Platform shell compatibility */
.top{min-height:64px;padding:0 24px;background:var(--kr-primary-900);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.top a{color:#fff;text-decoration:none;font-weight:700;}
.container{max-width:1280px;margin:0 auto;padding:24px;}
.container.narrow{max-width:760px;}

/* Intermediate laptop/tablet layout: compact sidebar before mobile drawer. */
@media screen and (min-width:769px) and (max-width:1199px){
  .kr-sidebar{width:84px;}
  .kr-admin-main{margin-left:84px;}
  .kr-sidebar-brand{justify-content:center;padding-inline:10px;}
  .kr-sidebar-brand img,.kr-brand-placeholder{width:42px;height:42px;flex:0 0 42px;}
  .kr-brand-copy,.kr-nav-item>span:not(.kr-nav-icon):not(.kr-nav-badge),.kr-nav-section,.kr-nav-item em{display:none;}
  .kr-nav-item{justify-content:center;padding-inline:10px;position:relative;}
  .kr-nav-icon{width:auto;font-size:18px;}
  .kr-nav-badge{position:absolute;top:3px;right:4px;min-width:19px;height:19px;padding:0 4px;font-size:10px;}
  .kr-admin-content{padding:20px;}
}

@media screen and (max-width:768px){
  :root{--kr-font-page:23px;--kr-font-section:18px;--kr-font-body:14px;--kr-font-table:13px;}
  .kr-admin-content{padding:16px;}
  .kr-admin-topbar{min-height:64px;padding-inline:12px;}
  .kr-topbar-title strong{font-size:18px;}
  .kr-topbar-user>span{display:none;}
  .kr-top-link,.kr-logout-link{min-height:40px;padding-inline:10px;}
  .kr-sidebar-open .kr-sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:899;}
  .kr-sidebar{z-index:900;}
  .kr-btn,.btn,.button-secondary{min-height:var(--kr-touch-h);}
  .kr-btn--sm,.btn-sm,.kr-btn--xs,.btn-xs{min-height:40px;font-size:12px;}
  .kr-admin-content :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea),
  .container :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea){min-height:var(--kr-touch-h);font-size:16px;}
  .kr-filter-bar,.student-filters,.staff-filters,.cashbook-filter,.expense-filter,.income-filter,.fee-filters,.attendance-filter,.report-filters{padding:12px;gap:10px;}
  .kr-filter-bar>* ,.student-filters>* ,.staff-filters>* ,.cashbook-filter>* ,.expense-filter>* ,.income-filter>*{flex:1 1 100%;min-width:0;width:100%;}
  .kr-filter-actions{width:100%;}
  .kr-filter-actions>*{flex:1;}
  .kr-form-grid{grid-template-columns:1fr;gap:12px;}
  .kr-table thead th,.table thead th,.kr-table tbody td,.table tbody td{padding:10px 10px;}
  .container{padding:16px;}
}

@media screen and (max-width:480px){
  .kr-admin-content{padding:12px;}
  .kr-topbar-user{gap:6px;}
  .kr-top-link,.kr-logout-link{padding-inline:9px;font-size:12px;}
  .kr-card,.card{border-radius:var(--kr-radius-md);}
  .kr-tabs,.student-tabs,.staff-subnav,.exam-subnav,.notice-tabs,.certificate-tabs,.report-tabs,.transport-tabs{margin-inline:-2px;border-radius:var(--kr-radius-md);}
  .kr-tabs a,.student-tabs a,.staff-subnav a,.exam-subnav a,.notice-tabs a,.certificate-tabs a,.report-tabs a,.transport-tabs a{min-height:42px;padding-inline:11px;}
}

@media print{
  .kr-skip-link,.kr-sidebar-backdrop{display:none!important;}
}

/* Authentication + platform consistency */
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#f3faf7 0,#f5f7fa 42%,#eef2f6 100%);}
.login-card{width:min(100%,430px);padding:28px;background:#fff;border:1px solid var(--kr-border);border-radius:var(--kr-radius-lg);box-shadow:var(--kr-shadow-md);}
.login-card h1{margin:0 0 4px;font-size:28px;line-height:1.18;letter-spacing:-.025em;}
.login-card form{display:grid;gap:8px;margin-top:20px;}
.login-card .btn{margin-top:8px;width:100%;}
.login-card .kr-password-toggle{margin-top:2px;width:auto;justify-self:start;}
.login-card .small{font-size:12px;text-align:center;margin-top:18px;}
.login-card .small a{color:var(--kr-primary-700);font-weight:700;}
.platform-page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
@media screen and (max-width:480px){.login-page{padding:14px;align-items:start;padding-top:8vh}.login-card{padding:22px 18px}.top{padding-inline:14px;min-height:58px}.top span{font-size:12px}.container{padding:14px}}

/* Readability bridge for legacy dense modules (screen only). */
@media screen{
  .staff-status,.student-status,.payment-status,.fee-status,.asset-status,.payroll-status,.certificate-status,.doc-status,
  .result-status,.result-cell-status,.vehicle-alert-status{font-size:11px!important;line-height:1.2;}
  .staff-doc-form label,.student-attendance-filter-grid label,.attendance-report-filter label,.rank-list-filter>div>label,
  .marksheet-generator-filter label,.progress-override-form label{font-size:12px!important;line-height:1.3;color:var(--kr-neutral-700);}
  .student-attendance-filter-grid select,.student-attendance-filter-grid input,.attendance-report-filter select,.attendance-report-filter input,
  .rank-list-filter input,.rank-list-filter select{font-size:13px!important;}
  .attendance-kpis span,.student-result-kpis span,.result-group-grid span,.academic-progress-grid span,.rank-list-count span,
  .marksheet-template-item span,.student-result-hero p{font-size:11px!important;line-height:1.35;}
  .student-attendance-table td:nth-child(2) strong,.attendance-report-table td:nth-child(2) strong,
  .result-detail-table td:first-child strong,.result-detail-table td strong,.marksheet-template-item strong,
  .marksheet-student-list td:first-child strong{font-size:12px!important;line-height:1.3;}
  .student-attendance-table td:nth-child(2) small,.attendance-report-table td:nth-child(2) small,
  .result-detail-table td:first-child small,.result-detail-table td small,.marksheet-student-list td:first-child small,
  .result-preview-table td:first-child small,.result-summary-grid small{font-size:11px!important;line-height:1.35;}
  .result-summary-grid span,.rank-scope-note span,.wa-prepared span{font-size:11px!important;}
  .result-formula-note,.rank-scope-note strong{font-size:12px!important;}
  .attendance-subnav a{font-size:12px!important;min-height:38px;align-items:center;}
}

/* Keep data-heavy tables usable: scroll the data region rather than the page. */
.payroll-table,.udise-audit-table table{font-size:12px;}
@media screen and (max-width:768px){
  .activity-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
  .activity-gallery.compact{grid-template-columns:repeat(3,minmax(0,1fr));}
  .whatsapp-layout,.whatsapp-share-grid{grid-template-columns:1fr;}
  .communication-filter{grid-template-columns:1fr;}
  .student-savebar{align-items:stretch;flex-direction:column;}
  .student-savebar .btn{width:100%;}
}
@media screen and (max-width:430px){
  .activity-gallery,.activity-gallery.compact{grid-template-columns:1fr 1fr;}
  .audit-check-copy>div{align-items:flex-start;flex-wrap:wrap;}
}

/* =========================================================
   KallRecord UI/UX Phase 2.0.1 — fixed-header offset repair
   Keep all page/module content below the shared fixed top bar.
   ========================================================= */
.kr-admin-content{
  padding:96px 24px 32px;
}

@media screen and (min-width:769px) and (max-width:1199px){
  .kr-admin-topbar{left:84px;}
  .kr-admin-content{padding:92px 20px 28px;}
}

@media screen and (max-width:768px){
  .kr-admin-topbar{left:0;}
  .kr-admin-content{padding:84px 16px 24px;}
}

@media screen and (max-width:480px){
  .kr-admin-content{padding:80px 12px 20px;}
}

/* ========================================================================== 
   KallRecord UI/UX Phase 2 v2.0.2 — nested strong typography containment
   Legacy `.card strong` is intentionally retained for KPI cards, but it must
   not inflate ordinary labels/titles nested inside cards.
   ========================================================================== */
@media screen {
  /* Final Audit check titles are descriptive text, not KPI values. */
  .audit-check-copy > div > strong {
    display:inline !important;
    margin:0 !important;
    font-size:16px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
  }
  .audit-check-copy > div {
    align-items:center;
    flex-wrap:wrap;
  }
  .audit-check-copy p {
    font-size:13px !important;
    line-height:1.5 !important;
  }

  /* Platform/Super Admin module cards: module names must not inherit KPI size. */
  .card .kr-module-title,
  .module-access-panel .kr-module-title {
    display:block !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
  }
  .card .kr-module-description,
  .module-access-panel .kr-module-description {
    font-size:13px !important;
    line-height:1.45 !important;
  }

  /* Dashboard / vehicle compliance text must remain normal body typography. */
  .vehicle-compliance-card p strong,
  .vehicle-compliance-card .muted strong {
    display:inline !important;
    margin:0 !important;
    font-size:inherit !important;
    line-height:inherit !important;
  }
  .vehicle-alert-row strong {
    display:block !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.35 !important;
  }
  .vehicle-alert-row > div:nth-child(2) strong {
    font-size:12px !important;
    font-weight:750 !important;
  }
  .dashboard-selected-year-card > div > strong {
    display:block !important;
    margin:4px 0 0 !important;
    font-size:18px !important;
    line-height:1.3 !important;
  }

  /* Common nested explanatory text inside cards should never become a 30px KPI. */
  .card p strong,
  .card small strong,
  .card td strong,
  .card th strong,
  .card li strong,
  .card .muted strong,
  .card .table-sub strong,
  .card .help strong,
  .card .helper strong {
    display:inline !important;
    margin:0 !important;
    font-size:inherit !important;
    line-height:inherit !important;
  }
}

@media(max-width:640px){
  .audit-check-copy > div > strong{font-size:15px !important;}
  .audit-check-copy p{font-size:13px !important;}
}

/* ==========================================================
   KallRecord Dashboard v2.1 — live operational overview
   ========================================================== */
.dashboard-kpi-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px;
  margin:18px 0;
}
.dashboard-kpi-card{
  min-height:138px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-decoration:none;
  color:var(--kr-text-primary,#101828);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.dashboard-kpi-card:hover{
  border-color:#a7cdbf;
  box-shadow:0 5px 16px rgba(16,24,40,.08);
  transform:translateY(-1px);
}
.dashboard-kpi-card:focus-visible{outline:3px solid rgba(18,183,106,.28);outline-offset:2px}
.dashboard-kpi-card>span{font-size:13px;font-weight:700;color:#667085}
.dashboard-kpi-card>strong{
  display:block;
  margin:8px 0 6px;
  font-size:34px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.02em;
  color:#101828;
}
.dashboard-kpi-card>small{font-size:12px;line-height:1.35;color:#667085}
.dashboard-kpi-card.kpi-total{border-top:3px solid #1570ef}

.dashboard-live-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:0 0 18px;
}
.dashboard-live-card{min-height:190px}
.dashboard-live-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.dashboard-live-head h2{margin:3px 0 0;font-size:17px;line-height:1.25}
.dashboard-live-head .btn{margin:0}
.dashboard-live-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dashboard-live-metrics>div{padding:10px 8px;border-radius:10px;background:#f8fafc;border:1px solid #eef2f6;min-width:0}
.dashboard-live-metrics strong{display:block;font-size:21px!important;line-height:1.1!important;font-weight:800!important;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-live-metrics span{display:block;margin-top:5px;font-size:11px;color:#667085}
.dashboard-fee-live{grid-template-columns:1fr 1fr}
.dashboard-fee-live strong{font-size:19px!important}
.dashboard-empty-live{display:flex;flex-direction:column;justify-content:center;min-height:90px;padding:14px;border:1px dashed #d0d5dd;border-radius:12px;background:#fcfcfd}
.dashboard-empty-live strong{font-size:15px!important;margin-bottom:4px}.dashboard-empty-live span{font-size:12px;color:#667085}
.dashboard-live-note{margin-top:12px;padding:9px 10px;border-radius:9px;font-size:11px;font-weight:700;line-height:1.4}
.dashboard-live-note.is-warning{background:#fff7ed;color:#9a3412}.dashboard-live-note.is-ok{background:#ecfdf3;color:#027a48}

@media(max-width:1300px){
  .dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard-live-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-live-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .dashboard-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}
  .dashboard-kpi-card{min-height:118px;padding:14px}
  .dashboard-kpi-card>strong{font-size:30px!important}
  .dashboard-live-metrics{grid-template-columns:1fr 1fr}
  .dashboard-fee-live{grid-template-columns:1fr}
}

/* ==========================================================================\n   KallRecord Dashboard v2.2 — Operational Dashboard\n   ========================================================================== */
.kr-live-dashboard{display:flex;flex-direction:column;gap:14px;max-width:1600px;margin:0 auto}.kr-dash-welcome{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.kr-dash-welcome h1{margin:2px 0 4px;font-size:25px;line-height:1.2;color:#101828}.kr-dash-welcome p{margin:0;color:#667085;font-size:12px}.kr-dash-year{display:grid;gap:5px;min-width:245px}.kr-dash-year label{font-size:10px;font-weight:800;color:#475467}.kr-dash-year select{height:40px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;padding:0 12px;font-size:12px;font-weight:700;color:#1d2939}.kr-dash-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.kr-dash-kpi{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;min-height:116px;padding:14px;border:1px solid #e4e7ec;border-radius:13px;text-decoration:none;color:#101828;box-shadow:0 2px 6px rgba(16,24,40,.05);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.kr-dash-kpi:hover{transform:translateY(-2px);box-shadow:0 7px 20px rgba(16,24,40,.09)}.kr-dash-kpi:focus-visible{outline:3px solid rgba(18,183,106,.28);outline-offset:2px}.kr-kpi-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;font-size:19px;font-weight:900}.kr-dash-kpi>div>span{display:block;font-size:11px;font-weight:800;color:#344054;line-height:1.25}.kr-dash-kpi strong{display:block!important;margin:8px 0 3px!important;font-size:24px!important;line-height:1.05!important;letter-spacing:-.5px;color:#101828!important}.kr-dash-kpi small{font-size:9.5px;color:#667085;line-height:1.3}.kr-dash-kpi.tone-green{background:linear-gradient(135deg,#f3fff8,#fff);border-color:#ccebdc}.kr-dash-kpi.tone-green .kr-kpi-icon{background:#dcfae6;color:#087443}.kr-dash-kpi.tone-purple{background:linear-gradient(135deg,#f8f6ff,#fff);border-color:#e4dcff}.kr-dash-kpi.tone-purple .kr-kpi-icon{background:#eee8ff;color:#6941c6}.kr-dash-kpi.tone-blue{background:linear-gradient(135deg,#f3f9ff,#fff);border-color:#d4e9ff}.kr-dash-kpi.tone-blue .kr-kpi-icon{background:#e0f2fe;color:#175cd3}.kr-dash-kpi.tone-emerald{background:linear-gradient(135deg,#f1fff9,#fff);border-color:#c9eddf}.kr-dash-kpi.tone-emerald .kr-kpi-icon{background:#d1fadf;color:#027a48}.kr-dash-kpi.tone-amber{background:linear-gradient(135deg,#fffaf0,#fff);border-color:#f8e1ba}.kr-dash-kpi.tone-amber .kr-kpi-icon{background:#fef0c7;color:#b54708}.kr-dash-kpi.tone-red{background:linear-gradient(135deg,#fff5f6,#fff);border-color:#f6d4d8}.kr-dash-kpi.tone-red .kr-kpi-icon{background:#fee4e2;color:#d92d20}.kr-dash-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kr-dash-row-primary{grid-template-columns:repeat(4,minmax(0,1fr))}.kr-span-2{grid-column:span 2}.kr-dash-panel{position:relative;min-width:0;padding:14px;background:#fff;border:1px solid #e4e7ec;border-radius:13px;box-shadow:0 2px 6px rgba(16,24,40,.045)}.kr-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.kr-panel-head h2,.kr-dash-quick h2{margin:1px 0 0;font-size:14px;line-height:1.25;color:#101828}.kr-panel-head p{margin:2px 0 0;font-size:9.5px;color:#667085}.kr-panel-head>a,.kr-panel-link{font-size:9.5px;font-weight:800;color:#1570ef;text-decoration:none;white-space:nowrap}.kr-panel-kicker{display:block;font-size:8px;line-height:1.2;text-transform:uppercase;letter-spacing:.7px;font-weight:900;color:#667085}.kr-dash-empty{display:grid;place-items:center;min-height:110px;padding:18px;text-align:center;color:#667085;font-size:11px;border:1px dashed #d0d5dd;border-radius:9px;background:#fcfcfd}.kr-bar-chart{height:165px;display:flex;align-items:stretch;gap:7px;padding:15px 6px 0;border-bottom:1px solid #e4e7ec;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#f2f4f7 40px)}.kr-bar-col{flex:1;min-width:0;display:grid;grid-template-rows:16px 1fr 22px;align-items:end;text-align:center}.kr-bar-value{font-size:8px;font-weight:800;color:#667085;opacity:0;transition:opacity .15s}.kr-bar-col:hover .kr-bar-value{opacity:1}.kr-bar-track{height:100%;display:flex;align-items:flex-end;justify-content:center}.kr-bar{width:min(28px,70%);min-height:3px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#32d583,#12b76a);box-shadow:0 1px 2px rgba(2,122,72,.12)}.kr-bar-col>span{align-self:center;font-size:8px;color:#667085;white-space:nowrap}.kr-donut-layout{display:flex;align-items:center;justify-content:center;gap:18px;min-height:170px}.kr-donut,.kr-progress-ring,.kr-compliance-ring{position:relative;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.kr-donut{background:conic-gradient(#3b82f6 0 calc(var(--p)*1%),#ec4899 calc(var(--p)*1%) 100%)}.kr-donut:after,.kr-progress-ring:after,.kr-compliance-ring:after{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff}.kr-donut>div,.kr-progress-ring>div,.kr-compliance-ring>div{position:relative;z-index:1;text-align:center}.kr-donut strong,.kr-progress-ring strong,.kr-compliance-ring strong{display:block!important;font-size:20px!important;line-height:1!important}.kr-donut span,.kr-progress-ring span,.kr-compliance-ring span{display:block;margin-top:4px;font-size:9px;color:#667085}.kr-donut-legend{display:grid;gap:11px;min-width:105px}.kr-donut-legend>span{display:grid;grid-template-columns:8px 1fr auto;column-gap:6px;align-items:center;font-size:9.5px;color:#475467}.kr-donut-legend i{width:8px;height:8px;border-radius:3px}.kr-donut-legend i.male{background:#3b82f6}.kr-donut-legend i.female{background:#ec4899}.kr-donut-legend strong{font-size:10px!important}.kr-donut-legend small{grid-column:2/-1;font-size:8px;color:#98a2b3}.kr-strength-list{display:grid;gap:7px}.kr-strength-list a{display:grid;grid-template-columns:70px 1fr 28px;gap:7px;align-items:center;text-decoration:none;color:#344054;font-size:9.5px}.kr-strength-list b{height:8px;background:#f2f4f7;border-radius:999px;overflow:hidden}.kr-strength-list b i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#32d583,#12b76a)}.kr-strength-list strong{font-size:9.5px!important;text-align:right}.kr-line-chart{position:relative;height:145px;margin-top:6px;padding:6px 8px 10px 34px;overflow:hidden;background:linear-gradient(180deg,rgba(18,183,106,.04),transparent);border-bottom:1px solid #e4e7ec}.kr-line-chart svg{position:absolute;left:34px;right:8px;top:6px;width:calc(100% - 42px);height:calc(100% - 16px);color:#087443;overflow:visible;filter:drop-shadow(0 2px 2px rgba(8,116,67,.12))}.kr-line-grid{position:absolute;inset:6px 8px 10px 34px;background:repeating-linear-gradient(to bottom,#f2f4f7 0,#f2f4f7 1px,transparent 1px,transparent 25%)}.kr-line-scale{position:absolute;top:2px;bottom:8px;left:0;width:30px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;font-size:7.5px;color:#98a2b3}.kr-chart-foot{display:flex;justify-content:space-between;gap:8px;padding-top:6px;font-size:8px;color:#98a2b3}.kr-chart-foot strong{font-size:9px!important;color:#087443!important}.kr-progress-ring{margin:8px auto 12px;background:conic-gradient(#087443 0 calc(var(--p)*1%),#eaecf0 calc(var(--p)*1%) 100%)}.kr-money-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.kr-money-summary span{padding:7px 8px;border-radius:8px;background:#f8fafc}.kr-money-summary b{display:block;font-size:8px;color:#667085}.kr-money-summary strong{display:block!important;margin-top:3px;font-size:10.5px!important;line-height:1.2!important}.kr-money-summary span:last-child{grid-column:1/-1}.kr-panel-link{display:block;text-align:right;margin-top:7px}.kr-compliance-ring{margin:8px auto 12px;background:conic-gradient(#12b76a 0 100%)}.kr-compliance-ring.has-alert{background:conic-gradient(#f04438 0 34%,#f79009 34% 67%,#fdb022 67% 100%)}.kr-compliance-legend{display:grid;gap:5px}.kr-compliance-legend span{display:grid;grid-template-columns:8px 1fr auto;gap:6px;align-items:center;font-size:8.5px;color:#475467}.kr-compliance-legend i{width:7px;height:7px;border-radius:3px}.kr-compliance-legend .danger i{background:#f04438}.kr-compliance-legend .warning i{background:#f79009}.kr-compliance-legend .info i{background:#fdb022}.kr-dash-lists{grid-template-columns:repeat(3,minmax(0,1fr))}.kr-mini-table,.kr-notice-list{display:grid}.kr-mini-table>a,.kr-notice-list>a{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;min-height:42px;padding:7px 2px;border-top:1px solid #f2f4f7;text-decoration:none;color:#344054}.kr-mini-table>a:first-child,.kr-notice-list>a:first-child{border-top:0}.kr-mini-table span strong,.kr-notice-list span strong{display:block!important;font-size:9.5px!important;line-height:1.25!important;color:#344054!important}.kr-mini-table small,.kr-notice-list small{display:block;margin-top:2px;font-size:8px;color:#98a2b3}.kr-mini-table b{font-size:9px;color:#087443}.kr-mini-table time,.kr-notice-list time{font-size:8px;color:#98a2b3;white-space:nowrap}.kr-notice-list>a{grid-template-columns:7px 1fr auto}.kr-notice-list>a>i{width:6px;height:6px;border-radius:50%;background:#12b76a}.kr-dash-quick{display:grid;grid-template-columns:auto 1fr 230px;align-items:center;gap:18px;padding:13px 14px;background:linear-gradient(90deg,#f3fff8,#fff);border:1px solid #d1eadc;border-radius:13px}.kr-dash-quick nav{display:flex;gap:7px;flex-wrap:wrap}.kr-dash-quick nav a{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;text-decoration:none;font-size:9px;font-weight:800;box-shadow:0 1px 2px rgba(16,24,40,.04)}.kr-dash-quick nav a.primary{background:#116149;border-color:#116149;color:#fff}.kr-dash-quick blockquote{margin:0;padding-left:14px;border-left:1px solid #d1eadc;font-size:9px;line-height:1.45;color:#475467;font-style:italic}.kr-dash-quick blockquote small{display:block;margin-top:4px;color:#98a2b3}.kr-dash-quick h2{font-size:13px}
@media(max-width:1350px){.kr-dash-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kr-dash-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kr-dash-row-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.kr-dash-lists{grid-template-columns:repeat(2,minmax(0,1fr))}.kr-dash-quick{grid-template-columns:1fr}.kr-dash-quick blockquote{display:none}}
@media(max-width:900px){.kr-dash-welcome{align-items:stretch}.kr-dash-year{min-width:220px}.kr-dash-lists{grid-template-columns:1fr}.kr-dash-quick nav a{min-height:40px;font-size:10.5px}}
@media(max-width:700px){.kr-live-dashboard{gap:12px}.kr-dash-welcome{flex-direction:column}.kr-dash-year{width:100%;min-width:0}.kr-dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kr-dash-kpi{grid-template-columns:34px 1fr;min-height:112px;padding:12px}.kr-kpi-icon{width:34px;height:34px}.kr-dash-kpi strong{font-size:21px!important}.kr-dash-row,.kr-dash-row-primary{grid-template-columns:1fr}.kr-span-2{grid-column:auto}.kr-bar-chart{height:150px;gap:4px}.kr-donut-layout{min-height:145px}.kr-dash-panel{padding:12px}.kr-dash-quick{padding:12px}.kr-dash-quick nav{display:grid;grid-template-columns:1fr 1fr}.kr-dash-quick nav a{justify-content:center}}
@media(max-width:430px){.kr-dash-welcome h1{font-size:21px}.kr-dash-kpis{grid-template-columns:1fr 1fr}.kr-dash-kpi{display:block;min-height:104px}.kr-kpi-icon{display:none}.kr-dash-kpi>div>span{font-size:10px}.kr-dash-kpi strong{margin-top:6px!important;font-size:20px!important}.kr-dash-kpi small{font-size:8.5px}.kr-bar-chart{overflow-x:auto}.kr-bar-col{min-width:24px}.kr-donut-layout{gap:10px}.kr-donut,.kr-progress-ring,.kr-compliance-ring{width:100px;height:100px}.kr-dash-quick nav{grid-template-columns:1fr}.kr-panel-head h2{font-size:13px}}

/* =========================================================
   KallRecord Login History & Online Presence v1.0
   ========================================================= */
.kr-dash-kpi.tone-cyan{background:linear-gradient(135deg,#f0fdfa 0%,#ecfeff 100%);border-color:#a5f3fc}
.kr-dash-kpi.tone-cyan .kr-kpi-icon{background:#cffafe;color:#0e7490}
.kr-dash-kpi.tone-cyan:hover{border-color:#67e8f9}
.kr-security-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
.kr-security-stat{display:flex;align-items:center;gap:14px;min-height:118px;padding:18px 20px;background:#fff;border:1px solid var(--kr-border,#d9e2ec);border-radius:var(--kr-radius-lg,16px);box-shadow:var(--kr-shadow-sm,0 1px 2px rgba(16,24,40,.05))}
.kr-security-stat.online{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:#bbf7d0}
.kr-security-stat small{display:block;color:var(--kr-text-secondary,#667085);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.kr-security-stat strong{display:block!important;margin-top:4px;color:var(--kr-text-primary,#101828);font-size:28px!important;line-height:1.1!important}
.kr-security-stat p{margin:7px 0 0;color:var(--kr-text-secondary,#667085);font-size:12px}
.kr-online-pulse,.kr-online-dot{display:inline-block;flex:0 0 auto;border-radius:999px;background:#12b76a}
.kr-online-pulse{width:18px;height:18px;box-shadow:0 0 0 7px rgba(18,183,106,.12)}
.kr-online-dot{width:10px;height:10px;box-shadow:0 0 0 4px rgba(18,183,106,.1)}
.kr-online-panel{margin-bottom:16px}
.kr-online-user-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kr-online-user-grid article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid #e4e7ec;border-radius:12px;background:#fbfdfc}
.kr-online-user-grid strong,.kr-online-user-grid small{display:block}
.kr-online-user-grid strong{font-size:14px!important;line-height:1.3!important}
.kr-online-user-grid small,.kr-online-user-grid time{font-size:11px;color:#667085}
.kr-login-history-filter{margin:0 0 16px}
.kr-login-history-table td{vertical-align:top}
.kr-login-history-table td>strong,.kr-login-history-table td>small{display:block}
.kr-login-history-table td>strong{font-size:13px!important;line-height:1.35!important}
.kr-login-history-table td>small{margin-top:4px;color:#667085;font-size:11px;max-width:320px}
.kr-login-history-table .kr-badge{margin-bottom:4px}
.kr-badge--success{background:#ecfdf3!important;color:#027a48!important;border-color:#abefc6!important}
.kr-badge--danger{background:#fef3f2!important;color:#b42318!important;border-color:#fecdca!important}
@media(max-width:1024px){.kr-security-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.kr-online-user-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.kr-security-summary,.kr-online-user-grid{grid-template-columns:1fr}.kr-security-stat{min-height:96px}.kr-login-history-table{min-width:900px}}


/* =============================================================
   KallRecord Students v2.3 — visual academic-year overview +
   server-side 25-row pagination. Scoped to Students index UI.
   ============================================================= */
.student-page-head-v23{display:flex;align-items:flex-start;gap:14px;margin:16px 0 14px}
.student-overview-v23{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;flex:1;min-width:0}
.student-stat-v23{position:relative;display:flex;align-items:center;gap:12px;min-height:104px;padding:15px;border:1px solid var(--kr-border,#dce3ec);border-radius:16px;background:#fff;text-decoration:none;color:var(--kr-text-primary,#101828);box-shadow:0 4px 12px rgba(16,24,40,.04);overflow:hidden}
.student-stat-v23:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:currentColor;opacity:.55}
.student-stat-v23>div{min-width:0}.student-stat-v23>div>span{display:block;color:#475467;font-size:12px;font-weight:800;line-height:1.2;margin-bottom:4px}
.student-stat-v23 strong{display:block!important;margin:0!important;font-size:27px!important;line-height:1.05!important;color:#101828!important;letter-spacing:-.02em}
.student-stat-v23 small{display:block;margin-top:7px;color:#667085;font-size:11.5px;line-height:1.35}.student-stat-v23 small b{color:#344054;font-weight:800}
.student-stat-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;font-size:20px;font-weight:900;background:#eef8f3;color:#067647}
.student-stat-v23.stat-total{color:#12a36d;background:linear-gradient(135deg,#fff 45%,#f1fbf6)}.student-stat-v23.stat-total .student-stat-icon{background:#dcfae6;color:#067647}
.student-stat-v23.stat-pre{color:#7f56d9;background:linear-gradient(135deg,#fff 45%,#f7f3ff)}.student-stat-v23.stat-pre .student-stat-icon{background:#eee7ff;color:#6941c6}
.student-stat-v23.stat-primary{color:#2e90fa;background:linear-gradient(135deg,#fff 45%,#eff8ff)}.student-stat-v23.stat-primary .student-stat-icon{background:#dff1ff;color:#175cd3}
.student-stat-v23.stat-rte{color:#f79009;background:linear-gradient(135deg,#fff 45%,#fffaeb)}.student-stat-v23.stat-rte .student-stat-icon{background:#fef0c7;color:#b54708}
.student-stat-v23.stat-van{color:#f04438;background:linear-gradient(135deg,#fff 45%,#fff4f3)}.student-stat-v23.stat-van .student-stat-icon{background:#fee4e2;color:#b42318}
.student-stat-v23[href]:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(16,24,40,.08)}
.student-overview-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.student-overview-actions .btn{margin:0;white-space:nowrap}

.student-class-visual-v23{padding:17px 18px;margin-bottom:14px}
.student-class-visual-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.student-class-visual-head h2{font-size:17px!important;line-height:1.2!important;margin:2px 0 0!important}.student-class-visual-head>.muted{font-size:11.5px}
.student-class-bars-v23{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:10px}
.student-class-row-v23{display:grid;grid-template-columns:82px minmax(110px,1fr) 118px;align-items:center;gap:10px;min-width:0}
.student-class-row-v23>strong{font-size:12px!important;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.student-class-track-v23{display:flex;height:10px;border-radius:999px;background:#f2f4f7;overflow:hidden}.student-class-track-v23 span{display:block;height:100%}.student-class-track-v23 .male{background:#3b82f6}.student-class-track-v23 .female{background:#ec4899}
.student-class-gender-v23{display:flex;align-items:center;gap:4px;color:#667085;font-size:10.5px;white-space:nowrap}.student-class-gender-v23 b{margin-left:auto;color:#101828;font-size:12px}.student-class-gender-v23 i{display:inline-block;width:7px;height:7px;border-radius:50%}.male-dot{background:#3b82f6}.female-dot{background:#ec4899}

.student-list-summary-v23{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 2px 8px;color:#667085;font-size:11.5px}.student-list-summary-v23>div{display:flex;align-items:baseline;gap:9px}.student-list-summary-v23 strong{color:#101828;font-size:14px}
.student-pagination-v23{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0;padding:4px 0}.student-pagination-v23 .btn{margin:0;min-width:92px}.student-pagination-v23 .btn.disabled{pointer-events:none;opacity:.45}
.student-page-numbers-v23{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:center}.student-page-numbers-v23 a,.student-page-numbers-v23 span{display:grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border-radius:9px;text-decoration:none;color:#344054;font-size:12px;font-weight:800}.student-page-numbers-v23 a{border:1px solid #e4e7ec;background:#fff}.student-page-numbers-v23 a:hover{background:#f8fafc}.student-page-numbers-v23 a.active{background:#15704f;color:#fff;border-color:#15704f}

@media(max-width:1380px){.student-page-head-v23{flex-direction:column}.student-overview-v23{width:100%;grid-template-columns:repeat(5,minmax(150px,1fr))}.student-overview-actions{width:100%;justify-content:flex-end}}
@media(max-width:1180px){.student-overview-v23{grid-template-columns:repeat(3,minmax(0,1fr))}.student-class-bars-v23{grid-template-columns:1fr}}
@media(max-width:760px){.student-overview-v23{grid-template-columns:repeat(2,minmax(0,1fr))}.student-stat-v23{min-height:96px;padding:12px;gap:9px}.student-stat-icon{width:38px;height:38px;flex-basis:38px}.student-stat-v23 strong{font-size:23px!important}.student-class-row-v23{grid-template-columns:68px minmax(90px,1fr) 104px}.student-list-summary-v23{align-items:flex-start}.student-list-summary-v23>div{display:block}.student-list-summary-v23>div span{display:block;margin-top:2px}.student-pagination-v23{align-items:stretch;flex-wrap:wrap}.student-page-numbers-v23{order:-1;width:100%}}
@media(max-width:480px){.student-overview-v23{grid-template-columns:1fr}.student-overview-actions{display:grid;grid-template-columns:1fr 1fr}.student-overview-actions .btn{width:100%}.student-class-visual-v23{padding:14px}.student-class-visual-head{display:block}.student-class-visual-head>.muted{display:block;margin-top:4px}.student-class-row-v23{grid-template-columns:62px 1fr}.student-class-gender-v23{grid-column:2}.student-list-summary-v23>span{display:none}.student-pagination-v23>.btn{flex:1;min-height:44px}.student-page-numbers-v23 a,.student-page-numbers-v23 span{min-width:34px;height:34px}}

/* =========================================================
   KallRecord Staff v2.4 — Visual Overview
   ========================================================= */
.staff-overview-v24{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 14px}.staff-stat-v24{min-height:112px;border:1px solid var(--kr-border,#dfe4ea);border-radius:16px;padding:14px;display:flex;gap:12px;align-items:flex-start;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.045)}.staff-stat-v24>div{min-width:0}.staff-stat-v24 span:not(.staff-stat-icon-v24){display:block;color:#344054;font-size:12px;font-weight:750}.staff-stat-v24 strong{display:block!important;margin:6px 0 3px!important;font-size:26px!important;line-height:1!important;color:#101828}.staff-stat-v24 small{display:block;color:#667085;font-size:10.5px;line-height:1.35}.staff-stat-icon-v24{width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:grid;place-items:center;font-size:18px;font-weight:900}.staff-stat-v24.tone-green{background:#f5fffa;border-color:#cfeedd}.staff-stat-v24.tone-green .staff-stat-icon-v24{background:#dff8e9;color:#0c8a59}.staff-stat-v24.tone-blue{background:#f5f9ff;border-color:#d8e7ff}.staff-stat-v24.tone-blue .staff-stat-icon-v24{background:#e3efff;color:#2472e7}.staff-stat-v24.tone-purple{background:#faf7ff;border-color:#e5dcff}.staff-stat-v24.tone-purple .staff-stat-icon-v24{background:#eee6ff;color:#7c4ce0}.staff-stat-v24.tone-sky{background:#f5faff;border-color:#d5eaff}.staff-stat-v24.tone-sky .staff-stat-icon-v24{background:#e1f0ff;color:#1777d8}.staff-stat-v24.tone-pink{background:#fff6f9;border-color:#ffd9e5}.staff-stat-v24.tone-pink .staff-stat-icon-v24{background:#ffe3ec;color:#e83e74}.staff-stat-v24.tone-active{background:#f5fffa;border-color:#d6f0df}.staff-stat-v24.tone-active .staff-stat-icon-v24{background:#def7e8;color:#12905e}
.staff-visual-grid-v24{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px}.staff-visual-grid-lower-v24{grid-template-columns:1.45fr .8fr .75fr}.staff-visual-card-v24{margin:0;padding:16px!important;min-width:0}.staff-visual-title-v24{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.staff-visual-title-v24 .eyebrow{display:block;font-size:9px;letter-spacing:.08em;font-weight:850;color:#667085;margin-bottom:3px}.staff-visual-title-v24 h2{font-size:16px!important;line-height:1.25;margin:0!important;color:#101828}.staff-visual-title-v24>.muted{font-size:10px}
.staff-gender-layout-v24,.staff-status-layout-v24{display:flex;align-items:center;justify-content:center;gap:24px;min-height:150px}.staff-donut-v24,.staff-status-donut-v24{width:138px;height:138px;flex:0 0 138px;border-radius:50%;position:relative;display:grid;place-items:center;background:conic-gradient(#3485f6 0 calc(var(--male)*1%),#ef4d88 calc(var(--male)*1%) calc((var(--male) + var(--female))*1%),#8b5cf6 calc((var(--male) + var(--female))*1%) calc((var(--male) + var(--female) + var(--other))*1%),#cbd5e1 calc((var(--male) + var(--female) + var(--other))*1%) 100%)}.staff-donut-v24:before,.staff-status-donut-v24:before{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}.staff-donut-v24>div,.staff-status-donut-v24>div{position:relative;z-index:1;text-align:center}.staff-donut-v24 strong,.staff-status-donut-v24 strong{display:block!important;font-size:25px!important;line-height:1!important;margin:0 0 4px!important}.staff-donut-v24 span,.staff-status-donut-v24 span{font-size:10px;color:#667085}.staff-status-donut-v24{background:conic-gradient(#22a06b 0 calc(var(--active)*1%),#f5b93f calc(var(--active)*1%) calc((var(--active) + var(--inactive))*1%),#ef4444 calc((var(--active) + var(--inactive))*1%) 100%)}
.staff-legend-v24{display:grid;gap:10px;min-width:145px}.staff-legend-v24>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;font-size:11px}.staff-legend-v24 i{width:9px;height:9px;border-radius:50%}.staff-legend-v24 i.male{background:#3485f6}.staff-legend-v24 i.female{background:#ef4d88}.staff-legend-v24 i.other{background:#8b5cf6}.staff-legend-v24 i.unknown{background:#cbd5e1}.staff-legend-v24 i.active{background:#22a06b}.staff-legend-v24 i.inactive{background:#f5b93f}.staff-legend-v24 i.left{background:#ef4444}.staff-legend-v24 span{color:#475467}.staff-legend-v24 b{font-size:11px;color:#344054;white-space:nowrap}
.staff-category-bars-v24{display:grid;gap:18px;padding-top:3px}.staff-category-row-v24{display:grid;gap:7px}.staff-category-label-v24{display:flex;justify-content:space-between;font-size:11px;color:#344054}.staff-category-label-v24 strong,.staff-category-label-v24 b{font-size:11px!important;margin:0!important}.staff-stacked-track-v24{height:18px;border-radius:999px;overflow:hidden;background:#eef2f6;display:flex}.staff-stacked-track-v24 span{height:100%}.staff-stacked-track-v24 .male{background:#3485f6}.staff-stacked-track-v24 .female{background:#ef4d88}.staff-stacked-track-v24 .other{background:#8b5cf6}.staff-stacked-track-v24 .unknown{background:#cbd5e1}.staff-category-row-v24 small{font-size:10px;color:#667085}.staff-category-row-v24 small i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.staff-category-row-v24 .male-dot{background:#3485f6}.staff-category-row-v24 .female-dot{background:#ef4d88}
.staff-designation-bars-v24{display:grid;gap:11px}.staff-designation-row-v24{display:grid;grid-template-columns:minmax(90px,1fr) 2fr 28px;gap:10px;align-items:center;font-size:11px}.staff-designation-row-v24>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#475467}.staff-designation-row-v24>div{height:14px;border-radius:999px;background:#eef2f6;overflow:hidden}.staff-designation-row-v24 i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#20b67a,#3b82f6)}.staff-designation-row-v24 b{font-size:11px;text-align:right}.staff-empty-visual-v24{min-height:140px;display:grid;place-items:center;color:#667085;font-size:11px;border:1px dashed #d0d5dd;border-radius:12px}
.staff-join-chart-v24{height:170px;display:grid;grid-template-columns:repeat(12,1fr);gap:6px;align-items:end;padding:14px 6px 0;border-bottom:1px solid #e4e7ec;background:linear-gradient(to top,rgba(32,182,122,.035),transparent)}.staff-join-bar-v24{text-align:center;min-width:0}.staff-join-bar-v24>div{height:125px;display:flex;align-items:flex-end;justify-content:center;position:relative}.staff-join-bar-v24 i{display:block;width:min(28px,68%);min-height:2px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#2ac986,#16845d)}.staff-join-bar-v24 b{position:absolute;bottom:calc(var(--bar-h,0%) + 4px);font-size:9px;color:#166534}.staff-join-bar-v24 span{display:block;margin-top:7px;font-size:9px;color:#667085}.staff-status-layout-v24{gap:18px;min-height:170px}.staff-status-donut-v24{width:128px;height:128px;flex-basis:128px}
.staff-quick-actions-v24{display:grid;grid-template-columns:1fr 1fr;gap:8px}.staff-quick-actions-v24 .btn:first-child{grid-column:1/-1}.staff-quick-actions-v24 .btn{margin:0!important;min-height:40px;text-align:center;justify-content:center;font-size:11px!important}
.staff-filter-v24{margin-bottom:10px}.staff-list-summary-v24{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:0 2px 9px;color:#667085}.staff-list-summary-v24>div{display:grid;gap:2px}.staff-list-summary-v24 strong{font-size:12px;color:#344054}.staff-list-summary-v24 span{font-size:10px}.staff-gender-badge-v24{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800}.staff-gender-badge-v24.gender-male{background:#e8f2ff;color:#1d67c8}.staff-gender-badge-v24.gender-female{background:#ffe8f0;color:#c83266}.staff-gender-badge-v24.gender-other{background:#f0eaff;color:#6941c6}.staff-gender-badge-v24.gender-not_specified{background:#f2f4f7;color:#667085}
.staff-pagination-v24{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.staff-pagination-v24>div{display:flex;gap:5px}.staff-pagination-v24>div a{width:34px;height:34px;border:1px solid #d0d5dd;border-radius:9px;display:grid;place-items:center;text-decoration:none;color:#344054;font-size:11px;font-weight:800;background:#fff}.staff-pagination-v24>div a.active{background:#176b4f;border-color:#176b4f;color:#fff}.staff-pagination-v24 .disabled{opacity:.45;pointer-events:none}
@media(max-width:1200px){.staff-overview-v24{grid-template-columns:repeat(3,1fr)}.staff-visual-grid-v24,.staff-visual-grid-lower-v24{grid-template-columns:1fr 1fr}.staff-quick-v24{grid-column:1/-1}.staff-quick-actions-v24{grid-template-columns:repeat(5,1fr)}.staff-quick-actions-v24 .btn:first-child{grid-column:auto}}
@media(max-width:768px){.staff-overview-v24{grid-template-columns:repeat(2,1fr)}.staff-visual-grid-v24,.staff-visual-grid-lower-v24{grid-template-columns:1fr}.staff-quick-v24{grid-column:auto}.staff-quick-actions-v24{grid-template-columns:1fr 1fr}.staff-quick-actions-v24 .btn:first-child{grid-column:1/-1}.staff-join-chart-v24{overflow-x:auto;grid-template-columns:repeat(12,minmax(34px,1fr))}.staff-list-summary-v24{align-items:flex-start;flex-direction:column}.staff-pagination-v24{justify-content:space-between}}
@media(max-width:480px){.staff-overview-v24{gap:9px}.staff-stat-v24{min-height:104px;padding:11px;gap:8px}.staff-stat-icon-v24{width:34px;height:34px;flex-basis:34px}.staff-stat-v24 strong{font-size:22px!important}.staff-gender-layout-v24,.staff-status-layout-v24{gap:14px;justify-content:flex-start}.staff-donut-v24{width:116px;height:116px;flex-basis:116px}.staff-status-donut-v24{width:108px;height:108px;flex-basis:108px}.staff-donut-v24:before,.staff-status-donut-v24:before{inset:15px}.staff-legend-v24{min-width:0;flex:1}.staff-quick-actions-v24{grid-template-columns:1fr}.staff-quick-actions-v24 .btn:first-child{grid-column:auto}.staff-pagination-v24{flex-wrap:wrap}.staff-pagination-v24>div{order:3;width:100%;justify-content:center}}


/* KallRecord Staff Professional Qualification v2.5 */
.staff-qualification-overview-v25{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}.staff-qualification-card-v25{min-height:96px;border:1px solid var(--kr-border,#dfe4ea);border-radius:16px;padding:13px 14px;display:flex;align-items:flex-start;gap:12px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04)}.staff-qualification-card-v25>div{min-width:0}.staff-qualification-card-v25>div>span{display:block;color:#344054;font-size:12px;font-weight:800}.staff-qualification-card-v25 strong{display:block!important;font-size:25px!important;line-height:1!important;margin:6px 0 3px!important;color:#101828}.staff-qualification-card-v25 small{display:block;font-size:10.5px;line-height:1.35;color:#667085}.staff-qualification-icon-v25{width:48px;height:40px;flex:0 0 48px;border-radius:12px;display:grid;place-items:center;font-size:10px;font-weight:900;letter-spacing:-.02em}.staff-qualification-card-v25.tone-bed{background:#f5f9ff;border-color:#d8e7ff}.staff-qualification-card-v25.tone-bed .staff-qualification-icon-v25{background:#e3efff;color:#1769d3}.staff-qualification-card-v25.tone-deled{background:#faf7ff;border-color:#e5dcff}.staff-qualification-card-v25.tone-deled .staff-qualification-icon-v25{background:#eee6ff;color:#7446ce}.staff-qualification-card-v25.tone-qualified{background:#f5fffa;border-color:#d3efdf}.staff-qualification-card-v25.tone-qualified .staff-qualification-icon-v25{background:#def7e8;color:#0b8b58;font-size:18px}.staff-qualification-card-v25.tone-both{background:#fffaf2;border-color:#f6e2b7}.staff-qualification-card-v25.tone-both .staff-qualification-icon-v25{background:#fff0c9;color:#b7791f;font-size:18px}
.staff-prof-qualification-v25{border:1px solid #e0e7ef;border-radius:14px;background:#f8fafc;padding:14px}.staff-prof-qualification-head-v25{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.staff-prof-qualification-head-v25 strong{display:block;font-size:14px!important;margin-top:2px}.staff-prof-qualification-head-v25 small{font-size:11px;color:#667085}.staff-prof-qualification-options-v25{display:grid;grid-template-columns:1fr 1fr;gap:10px}.staff-qual-option-v25{display:flex;align-items:flex-start;gap:10px;border:1px solid #d7dee8;border-radius:12px;padding:12px;background:#fff;cursor:pointer}.staff-qual-option-v25 input{width:18px;height:18px;margin-top:2px;accent-color:#15704f}.staff-qual-option-v25 b{display:block;font-size:13px;color:#101828}.staff-qual-option-v25 small{display:block;font-size:10.5px;color:#667085;margin-top:2px}.staff-qual-option-v25:has(input:checked){border-color:#8bd5b4;background:#f1fbf6;box-shadow:0 0 0 2px rgba(21,112,79,.07)}
.staff-qual-value-v25{display:inline-flex!important;align-items:center;width:max-content;padding:4px 9px;border-radius:999px;font-size:11px!important;margin:0!important}.staff-qual-value-v25.yes{background:#e8f8ef;color:#067647}.staff-qual-value-v25.no{background:#f2f4f7;color:#667085}.staff-qualification-badges-v25{display:flex;gap:5px;flex-wrap:wrap}.staff-qual-badge-v25{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10.5px;font-weight:800;white-space:nowrap}.staff-qual-badge-v25.bed{background:#e7f0ff;color:#175cd3}.staff-qual-badge-v25.deled{background:#f0eaff;color:#6941c6}
@media(max-width:1200px){.staff-qualification-overview-v25{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.staff-qualification-overview-v25{grid-template-columns:1fr 1fr;gap:9px}.staff-qualification-card-v25{min-height:92px;padding:11px;gap:8px}.staff-qualification-icon-v25{width:42px;flex-basis:42px}.staff-qualification-card-v25 strong{font-size:22px!important}.staff-prof-qualification-options-v25{grid-template-columns:1fr}.staff-prof-qualification-head-v25{display:block}.staff-prof-qualification-head-v25 small{display:block;margin-top:4px}}


/* =========================================================
   KallRecord Sprint 11G Batch 1 — CSP-safe utility classes
   Replaces static inline style attributes only.
   ========================================================= */
.kr-m-0{margin:0}
.kr-mt-10{margin-top:10px}
.kr-mt-12{margin-top:12px}
.kr-mt-14{margin-top:14px}
.kr-mt-16{margin-top:16px}
.kr-mt-18{margin-top:18px}
.kr-mb-4{margin-bottom:4px}
.kr-mb-14{margin-bottom:14px}
.kr-mb-16{margin-bottom:16px}
.kr-text-right{text-align:right}
.kr-text-center{text-align:center}
.kr-block{display:block}
.kr-nowrap{white-space:nowrap}
.kr-overflow-x-auto{overflow-x:auto}
.kr-w-80{width:80px}
.kr-flex-gap-6{display:flex;gap:6px}
.kr-flex-gap-8{display:flex;gap:8px}
.kr-flex-between-start-wrap-16{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.kr-inline-check{display:flex;gap:8px;align-items:center}
.kr-page-actions-inline{display:flex;gap:8px;justify-content:flex-end;margin-bottom:14px}
.kr-toolbar-wrap{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kr-user-edit-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}
.kr-balance-emphasis{font-size:1.35rem;font-weight:700}


/* =========================================================
   KallRecord Sprint 11G Batch 2 — remaining static style closure
   ========================================================= */
.kr-mt-5{margin-top:5px}
.kr-mt-15{margin-top:15px}
.kr-my-16{margin:16px 0}
.kr-items-end{align-items:end}
.kr-log-pre{white-space:pre-wrap;word-break:break-word;font-size:12px}
.reversed-banner--corrected{background:#fffaeb;border-color:#fedf89;color:#7a2e0e}
.fee-filter-grid{grid-template-columns:2fr 1fr 1fr auto;align-items:end;margin-bottom:20px}
.login-institute-code{text-transform:uppercase}


/* Sprint 11G Batch 3 — CSP-safe dynamic percentage utilities */
.kr-w0{width:0%}.kr-h0{height:0%}.kr-p0{--p:0}.kr-male-p0{--male:0}.kr-female-p0{--female:0}.kr-other-p0{--other:0}.kr-unknown-p0{--unknown:0}.kr-active-p0{--active:0}.kr-inactive-p0{--inactive:0}.kr-left-p0{--left:0}
.kr-w1{width:1%}.kr-h1{height:1%}.kr-p1{--p:1}.kr-male-p1{--male:1}.kr-female-p1{--female:1}.kr-other-p1{--other:1}.kr-unknown-p1{--unknown:1}.kr-active-p1{--active:1}.kr-inactive-p1{--inactive:1}.kr-left-p1{--left:1}
.kr-w2{width:2%}.kr-h2{height:2%}.kr-p2{--p:2}.kr-male-p2{--male:2}.kr-female-p2{--female:2}.kr-other-p2{--other:2}.kr-unknown-p2{--unknown:2}.kr-active-p2{--active:2}.kr-inactive-p2{--inactive:2}.kr-left-p2{--left:2}
.kr-w3{width:3%}.kr-h3{height:3%}.kr-p3{--p:3}.kr-male-p3{--male:3}.kr-female-p3{--female:3}.kr-other-p3{--other:3}.kr-unknown-p3{--unknown:3}.kr-active-p3{--active:3}.kr-inactive-p3{--inactive:3}.kr-left-p3{--left:3}
.kr-w4{width:4%}.kr-h4{height:4%}.kr-p4{--p:4}.kr-male-p4{--male:4}.kr-female-p4{--female:4}.kr-other-p4{--other:4}.kr-unknown-p4{--unknown:4}.kr-active-p4{--active:4}.kr-inactive-p4{--inactive:4}.kr-left-p4{--left:4}
.kr-w5{width:5%}.kr-h5{height:5%}.kr-p5{--p:5}.kr-male-p5{--male:5}.kr-female-p5{--female:5}.kr-other-p5{--other:5}.kr-unknown-p5{--unknown:5}.kr-active-p5{--active:5}.kr-inactive-p5{--inactive:5}.kr-left-p5{--left:5}
.kr-w6{width:6%}.kr-h6{height:6%}.kr-p6{--p:6}.kr-male-p6{--male:6}.kr-female-p6{--female:6}.kr-other-p6{--other:6}.kr-unknown-p6{--unknown:6}.kr-active-p6{--active:6}.kr-inactive-p6{--inactive:6}.kr-left-p6{--left:6}
.kr-w7{width:7%}.kr-h7{height:7%}.kr-p7{--p:7}.kr-male-p7{--male:7}.kr-female-p7{--female:7}.kr-other-p7{--other:7}.kr-unknown-p7{--unknown:7}.kr-active-p7{--active:7}.kr-inactive-p7{--inactive:7}.kr-left-p7{--left:7}
.kr-w8{width:8%}.kr-h8{height:8%}.kr-p8{--p:8}.kr-male-p8{--male:8}.kr-female-p8{--female:8}.kr-other-p8{--other:8}.kr-unknown-p8{--unknown:8}.kr-active-p8{--active:8}.kr-inactive-p8{--inactive:8}.kr-left-p8{--left:8}
.kr-w9{width:9%}.kr-h9{height:9%}.kr-p9{--p:9}.kr-male-p9{--male:9}.kr-female-p9{--female:9}.kr-other-p9{--other:9}.kr-unknown-p9{--unknown:9}.kr-active-p9{--active:9}.kr-inactive-p9{--inactive:9}.kr-left-p9{--left:9}
.kr-w10{width:10%}.kr-h10{height:10%}.kr-p10{--p:10}.kr-male-p10{--male:10}.kr-female-p10{--female:10}.kr-other-p10{--other:10}.kr-unknown-p10{--unknown:10}.kr-active-p10{--active:10}.kr-inactive-p10{--inactive:10}.kr-left-p10{--left:10}
.kr-w11{width:11%}.kr-h11{height:11%}.kr-p11{--p:11}.kr-male-p11{--male:11}.kr-female-p11{--female:11}.kr-other-p11{--other:11}.kr-unknown-p11{--unknown:11}.kr-active-p11{--active:11}.kr-inactive-p11{--inactive:11}.kr-left-p11{--left:11}
.kr-w12{width:12%}.kr-h12{height:12%}.kr-p12{--p:12}.kr-male-p12{--male:12}.kr-female-p12{--female:12}.kr-other-p12{--other:12}.kr-unknown-p12{--unknown:12}.kr-active-p12{--active:12}.kr-inactive-p12{--inactive:12}.kr-left-p12{--left:12}
.kr-w13{width:13%}.kr-h13{height:13%}.kr-p13{--p:13}.kr-male-p13{--male:13}.kr-female-p13{--female:13}.kr-other-p13{--other:13}.kr-unknown-p13{--unknown:13}.kr-active-p13{--active:13}.kr-inactive-p13{--inactive:13}.kr-left-p13{--left:13}
.kr-w14{width:14%}.kr-h14{height:14%}.kr-p14{--p:14}.kr-male-p14{--male:14}.kr-female-p14{--female:14}.kr-other-p14{--other:14}.kr-unknown-p14{--unknown:14}.kr-active-p14{--active:14}.kr-inactive-p14{--inactive:14}.kr-left-p14{--left:14}
.kr-w15{width:15%}.kr-h15{height:15%}.kr-p15{--p:15}.kr-male-p15{--male:15}.kr-female-p15{--female:15}.kr-other-p15{--other:15}.kr-unknown-p15{--unknown:15}.kr-active-p15{--active:15}.kr-inactive-p15{--inactive:15}.kr-left-p15{--left:15}
.kr-w16{width:16%}.kr-h16{height:16%}.kr-p16{--p:16}.kr-male-p16{--male:16}.kr-female-p16{--female:16}.kr-other-p16{--other:16}.kr-unknown-p16{--unknown:16}.kr-active-p16{--active:16}.kr-inactive-p16{--inactive:16}.kr-left-p16{--left:16}
.kr-w17{width:17%}.kr-h17{height:17%}.kr-p17{--p:17}.kr-male-p17{--male:17}.kr-female-p17{--female:17}.kr-other-p17{--other:17}.kr-unknown-p17{--unknown:17}.kr-active-p17{--active:17}.kr-inactive-p17{--inactive:17}.kr-left-p17{--left:17}
.kr-w18{width:18%}.kr-h18{height:18%}.kr-p18{--p:18}.kr-male-p18{--male:18}.kr-female-p18{--female:18}.kr-other-p18{--other:18}.kr-unknown-p18{--unknown:18}.kr-active-p18{--active:18}.kr-inactive-p18{--inactive:18}.kr-left-p18{--left:18}
.kr-w19{width:19%}.kr-h19{height:19%}.kr-p19{--p:19}.kr-male-p19{--male:19}.kr-female-p19{--female:19}.kr-other-p19{--other:19}.kr-unknown-p19{--unknown:19}.kr-active-p19{--active:19}.kr-inactive-p19{--inactive:19}.kr-left-p19{--left:19}
.kr-w20{width:20%}.kr-h20{height:20%}.kr-p20{--p:20}.kr-male-p20{--male:20}.kr-female-p20{--female:20}.kr-other-p20{--other:20}.kr-unknown-p20{--unknown:20}.kr-active-p20{--active:20}.kr-inactive-p20{--inactive:20}.kr-left-p20{--left:20}
.kr-w21{width:21%}.kr-h21{height:21%}.kr-p21{--p:21}.kr-male-p21{--male:21}.kr-female-p21{--female:21}.kr-other-p21{--other:21}.kr-unknown-p21{--unknown:21}.kr-active-p21{--active:21}.kr-inactive-p21{--inactive:21}.kr-left-p21{--left:21}
.kr-w22{width:22%}.kr-h22{height:22%}.kr-p22{--p:22}.kr-male-p22{--male:22}.kr-female-p22{--female:22}.kr-other-p22{--other:22}.kr-unknown-p22{--unknown:22}.kr-active-p22{--active:22}.kr-inactive-p22{--inactive:22}.kr-left-p22{--left:22}
.kr-w23{width:23%}.kr-h23{height:23%}.kr-p23{--p:23}.kr-male-p23{--male:23}.kr-female-p23{--female:23}.kr-other-p23{--other:23}.kr-unknown-p23{--unknown:23}.kr-active-p23{--active:23}.kr-inactive-p23{--inactive:23}.kr-left-p23{--left:23}
.kr-w24{width:24%}.kr-h24{height:24%}.kr-p24{--p:24}.kr-male-p24{--male:24}.kr-female-p24{--female:24}.kr-other-p24{--other:24}.kr-unknown-p24{--unknown:24}.kr-active-p24{--active:24}.kr-inactive-p24{--inactive:24}.kr-left-p24{--left:24}
.kr-w25{width:25%}.kr-h25{height:25%}.kr-p25{--p:25}.kr-male-p25{--male:25}.kr-female-p25{--female:25}.kr-other-p25{--other:25}.kr-unknown-p25{--unknown:25}.kr-active-p25{--active:25}.kr-inactive-p25{--inactive:25}.kr-left-p25{--left:25}
.kr-w26{width:26%}.kr-h26{height:26%}.kr-p26{--p:26}.kr-male-p26{--male:26}.kr-female-p26{--female:26}.kr-other-p26{--other:26}.kr-unknown-p26{--unknown:26}.kr-active-p26{--active:26}.kr-inactive-p26{--inactive:26}.kr-left-p26{--left:26}
.kr-w27{width:27%}.kr-h27{height:27%}.kr-p27{--p:27}.kr-male-p27{--male:27}.kr-female-p27{--female:27}.kr-other-p27{--other:27}.kr-unknown-p27{--unknown:27}.kr-active-p27{--active:27}.kr-inactive-p27{--inactive:27}.kr-left-p27{--left:27}
.kr-w28{width:28%}.kr-h28{height:28%}.kr-p28{--p:28}.kr-male-p28{--male:28}.kr-female-p28{--female:28}.kr-other-p28{--other:28}.kr-unknown-p28{--unknown:28}.kr-active-p28{--active:28}.kr-inactive-p28{--inactive:28}.kr-left-p28{--left:28}
.kr-w29{width:29%}.kr-h29{height:29%}.kr-p29{--p:29}.kr-male-p29{--male:29}.kr-female-p29{--female:29}.kr-other-p29{--other:29}.kr-unknown-p29{--unknown:29}.kr-active-p29{--active:29}.kr-inactive-p29{--inactive:29}.kr-left-p29{--left:29}
.kr-w30{width:30%}.kr-h30{height:30%}.kr-p30{--p:30}.kr-male-p30{--male:30}.kr-female-p30{--female:30}.kr-other-p30{--other:30}.kr-unknown-p30{--unknown:30}.kr-active-p30{--active:30}.kr-inactive-p30{--inactive:30}.kr-left-p30{--left:30}
.kr-w31{width:31%}.kr-h31{height:31%}.kr-p31{--p:31}.kr-male-p31{--male:31}.kr-female-p31{--female:31}.kr-other-p31{--other:31}.kr-unknown-p31{--unknown:31}.kr-active-p31{--active:31}.kr-inactive-p31{--inactive:31}.kr-left-p31{--left:31}
.kr-w32{width:32%}.kr-h32{height:32%}.kr-p32{--p:32}.kr-male-p32{--male:32}.kr-female-p32{--female:32}.kr-other-p32{--other:32}.kr-unknown-p32{--unknown:32}.kr-active-p32{--active:32}.kr-inactive-p32{--inactive:32}.kr-left-p32{--left:32}
.kr-w33{width:33%}.kr-h33{height:33%}.kr-p33{--p:33}.kr-male-p33{--male:33}.kr-female-p33{--female:33}.kr-other-p33{--other:33}.kr-unknown-p33{--unknown:33}.kr-active-p33{--active:33}.kr-inactive-p33{--inactive:33}.kr-left-p33{--left:33}
.kr-w34{width:34%}.kr-h34{height:34%}.kr-p34{--p:34}.kr-male-p34{--male:34}.kr-female-p34{--female:34}.kr-other-p34{--other:34}.kr-unknown-p34{--unknown:34}.kr-active-p34{--active:34}.kr-inactive-p34{--inactive:34}.kr-left-p34{--left:34}
.kr-w35{width:35%}.kr-h35{height:35%}.kr-p35{--p:35}.kr-male-p35{--male:35}.kr-female-p35{--female:35}.kr-other-p35{--other:35}.kr-unknown-p35{--unknown:35}.kr-active-p35{--active:35}.kr-inactive-p35{--inactive:35}.kr-left-p35{--left:35}
.kr-w36{width:36%}.kr-h36{height:36%}.kr-p36{--p:36}.kr-male-p36{--male:36}.kr-female-p36{--female:36}.kr-other-p36{--other:36}.kr-unknown-p36{--unknown:36}.kr-active-p36{--active:36}.kr-inactive-p36{--inactive:36}.kr-left-p36{--left:36}
.kr-w37{width:37%}.kr-h37{height:37%}.kr-p37{--p:37}.kr-male-p37{--male:37}.kr-female-p37{--female:37}.kr-other-p37{--other:37}.kr-unknown-p37{--unknown:37}.kr-active-p37{--active:37}.kr-inactive-p37{--inactive:37}.kr-left-p37{--left:37}
.kr-w38{width:38%}.kr-h38{height:38%}.kr-p38{--p:38}.kr-male-p38{--male:38}.kr-female-p38{--female:38}.kr-other-p38{--other:38}.kr-unknown-p38{--unknown:38}.kr-active-p38{--active:38}.kr-inactive-p38{--inactive:38}.kr-left-p38{--left:38}
.kr-w39{width:39%}.kr-h39{height:39%}.kr-p39{--p:39}.kr-male-p39{--male:39}.kr-female-p39{--female:39}.kr-other-p39{--other:39}.kr-unknown-p39{--unknown:39}.kr-active-p39{--active:39}.kr-inactive-p39{--inactive:39}.kr-left-p39{--left:39}
.kr-w40{width:40%}.kr-h40{height:40%}.kr-p40{--p:40}.kr-male-p40{--male:40}.kr-female-p40{--female:40}.kr-other-p40{--other:40}.kr-unknown-p40{--unknown:40}.kr-active-p40{--active:40}.kr-inactive-p40{--inactive:40}.kr-left-p40{--left:40}
.kr-w41{width:41%}.kr-h41{height:41%}.kr-p41{--p:41}.kr-male-p41{--male:41}.kr-female-p41{--female:41}.kr-other-p41{--other:41}.kr-unknown-p41{--unknown:41}.kr-active-p41{--active:41}.kr-inactive-p41{--inactive:41}.kr-left-p41{--left:41}
.kr-w42{width:42%}.kr-h42{height:42%}.kr-p42{--p:42}.kr-male-p42{--male:42}.kr-female-p42{--female:42}.kr-other-p42{--other:42}.kr-unknown-p42{--unknown:42}.kr-active-p42{--active:42}.kr-inactive-p42{--inactive:42}.kr-left-p42{--left:42}
.kr-w43{width:43%}.kr-h43{height:43%}.kr-p43{--p:43}.kr-male-p43{--male:43}.kr-female-p43{--female:43}.kr-other-p43{--other:43}.kr-unknown-p43{--unknown:43}.kr-active-p43{--active:43}.kr-inactive-p43{--inactive:43}.kr-left-p43{--left:43}
.kr-w44{width:44%}.kr-h44{height:44%}.kr-p44{--p:44}.kr-male-p44{--male:44}.kr-female-p44{--female:44}.kr-other-p44{--other:44}.kr-unknown-p44{--unknown:44}.kr-active-p44{--active:44}.kr-inactive-p44{--inactive:44}.kr-left-p44{--left:44}
.kr-w45{width:45%}.kr-h45{height:45%}.kr-p45{--p:45}.kr-male-p45{--male:45}.kr-female-p45{--female:45}.kr-other-p45{--other:45}.kr-unknown-p45{--unknown:45}.kr-active-p45{--active:45}.kr-inactive-p45{--inactive:45}.kr-left-p45{--left:45}
.kr-w46{width:46%}.kr-h46{height:46%}.kr-p46{--p:46}.kr-male-p46{--male:46}.kr-female-p46{--female:46}.kr-other-p46{--other:46}.kr-unknown-p46{--unknown:46}.kr-active-p46{--active:46}.kr-inactive-p46{--inactive:46}.kr-left-p46{--left:46}
.kr-w47{width:47%}.kr-h47{height:47%}.kr-p47{--p:47}.kr-male-p47{--male:47}.kr-female-p47{--female:47}.kr-other-p47{--other:47}.kr-unknown-p47{--unknown:47}.kr-active-p47{--active:47}.kr-inactive-p47{--inactive:47}.kr-left-p47{--left:47}
.kr-w48{width:48%}.kr-h48{height:48%}.kr-p48{--p:48}.kr-male-p48{--male:48}.kr-female-p48{--female:48}.kr-other-p48{--other:48}.kr-unknown-p48{--unknown:48}.kr-active-p48{--active:48}.kr-inactive-p48{--inactive:48}.kr-left-p48{--left:48}
.kr-w49{width:49%}.kr-h49{height:49%}.kr-p49{--p:49}.kr-male-p49{--male:49}.kr-female-p49{--female:49}.kr-other-p49{--other:49}.kr-unknown-p49{--unknown:49}.kr-active-p49{--active:49}.kr-inactive-p49{--inactive:49}.kr-left-p49{--left:49}
.kr-w50{width:50%}.kr-h50{height:50%}.kr-p50{--p:50}.kr-male-p50{--male:50}.kr-female-p50{--female:50}.kr-other-p50{--other:50}.kr-unknown-p50{--unknown:50}.kr-active-p50{--active:50}.kr-inactive-p50{--inactive:50}.kr-left-p50{--left:50}
.kr-w51{width:51%}.kr-h51{height:51%}.kr-p51{--p:51}.kr-male-p51{--male:51}.kr-female-p51{--female:51}.kr-other-p51{--other:51}.kr-unknown-p51{--unknown:51}.kr-active-p51{--active:51}.kr-inactive-p51{--inactive:51}.kr-left-p51{--left:51}
.kr-w52{width:52%}.kr-h52{height:52%}.kr-p52{--p:52}.kr-male-p52{--male:52}.kr-female-p52{--female:52}.kr-other-p52{--other:52}.kr-unknown-p52{--unknown:52}.kr-active-p52{--active:52}.kr-inactive-p52{--inactive:52}.kr-left-p52{--left:52}
.kr-w53{width:53%}.kr-h53{height:53%}.kr-p53{--p:53}.kr-male-p53{--male:53}.kr-female-p53{--female:53}.kr-other-p53{--other:53}.kr-unknown-p53{--unknown:53}.kr-active-p53{--active:53}.kr-inactive-p53{--inactive:53}.kr-left-p53{--left:53}
.kr-w54{width:54%}.kr-h54{height:54%}.kr-p54{--p:54}.kr-male-p54{--male:54}.kr-female-p54{--female:54}.kr-other-p54{--other:54}.kr-unknown-p54{--unknown:54}.kr-active-p54{--active:54}.kr-inactive-p54{--inactive:54}.kr-left-p54{--left:54}
.kr-w55{width:55%}.kr-h55{height:55%}.kr-p55{--p:55}.kr-male-p55{--male:55}.kr-female-p55{--female:55}.kr-other-p55{--other:55}.kr-unknown-p55{--unknown:55}.kr-active-p55{--active:55}.kr-inactive-p55{--inactive:55}.kr-left-p55{--left:55}
.kr-w56{width:56%}.kr-h56{height:56%}.kr-p56{--p:56}.kr-male-p56{--male:56}.kr-female-p56{--female:56}.kr-other-p56{--other:56}.kr-unknown-p56{--unknown:56}.kr-active-p56{--active:56}.kr-inactive-p56{--inactive:56}.kr-left-p56{--left:56}
.kr-w57{width:57%}.kr-h57{height:57%}.kr-p57{--p:57}.kr-male-p57{--male:57}.kr-female-p57{--female:57}.kr-other-p57{--other:57}.kr-unknown-p57{--unknown:57}.kr-active-p57{--active:57}.kr-inactive-p57{--inactive:57}.kr-left-p57{--left:57}
.kr-w58{width:58%}.kr-h58{height:58%}.kr-p58{--p:58}.kr-male-p58{--male:58}.kr-female-p58{--female:58}.kr-other-p58{--other:58}.kr-unknown-p58{--unknown:58}.kr-active-p58{--active:58}.kr-inactive-p58{--inactive:58}.kr-left-p58{--left:58}
.kr-w59{width:59%}.kr-h59{height:59%}.kr-p59{--p:59}.kr-male-p59{--male:59}.kr-female-p59{--female:59}.kr-other-p59{--other:59}.kr-unknown-p59{--unknown:59}.kr-active-p59{--active:59}.kr-inactive-p59{--inactive:59}.kr-left-p59{--left:59}
.kr-w60{width:60%}.kr-h60{height:60%}.kr-p60{--p:60}.kr-male-p60{--male:60}.kr-female-p60{--female:60}.kr-other-p60{--other:60}.kr-unknown-p60{--unknown:60}.kr-active-p60{--active:60}.kr-inactive-p60{--inactive:60}.kr-left-p60{--left:60}
.kr-w61{width:61%}.kr-h61{height:61%}.kr-p61{--p:61}.kr-male-p61{--male:61}.kr-female-p61{--female:61}.kr-other-p61{--other:61}.kr-unknown-p61{--unknown:61}.kr-active-p61{--active:61}.kr-inactive-p61{--inactive:61}.kr-left-p61{--left:61}
.kr-w62{width:62%}.kr-h62{height:62%}.kr-p62{--p:62}.kr-male-p62{--male:62}.kr-female-p62{--female:62}.kr-other-p62{--other:62}.kr-unknown-p62{--unknown:62}.kr-active-p62{--active:62}.kr-inactive-p62{--inactive:62}.kr-left-p62{--left:62}
.kr-w63{width:63%}.kr-h63{height:63%}.kr-p63{--p:63}.kr-male-p63{--male:63}.kr-female-p63{--female:63}.kr-other-p63{--other:63}.kr-unknown-p63{--unknown:63}.kr-active-p63{--active:63}.kr-inactive-p63{--inactive:63}.kr-left-p63{--left:63}
.kr-w64{width:64%}.kr-h64{height:64%}.kr-p64{--p:64}.kr-male-p64{--male:64}.kr-female-p64{--female:64}.kr-other-p64{--other:64}.kr-unknown-p64{--unknown:64}.kr-active-p64{--active:64}.kr-inactive-p64{--inactive:64}.kr-left-p64{--left:64}
.kr-w65{width:65%}.kr-h65{height:65%}.kr-p65{--p:65}.kr-male-p65{--male:65}.kr-female-p65{--female:65}.kr-other-p65{--other:65}.kr-unknown-p65{--unknown:65}.kr-active-p65{--active:65}.kr-inactive-p65{--inactive:65}.kr-left-p65{--left:65}
.kr-w66{width:66%}.kr-h66{height:66%}.kr-p66{--p:66}.kr-male-p66{--male:66}.kr-female-p66{--female:66}.kr-other-p66{--other:66}.kr-unknown-p66{--unknown:66}.kr-active-p66{--active:66}.kr-inactive-p66{--inactive:66}.kr-left-p66{--left:66}
.kr-w67{width:67%}.kr-h67{height:67%}.kr-p67{--p:67}.kr-male-p67{--male:67}.kr-female-p67{--female:67}.kr-other-p67{--other:67}.kr-unknown-p67{--unknown:67}.kr-active-p67{--active:67}.kr-inactive-p67{--inactive:67}.kr-left-p67{--left:67}
.kr-w68{width:68%}.kr-h68{height:68%}.kr-p68{--p:68}.kr-male-p68{--male:68}.kr-female-p68{--female:68}.kr-other-p68{--other:68}.kr-unknown-p68{--unknown:68}.kr-active-p68{--active:68}.kr-inactive-p68{--inactive:68}.kr-left-p68{--left:68}
.kr-w69{width:69%}.kr-h69{height:69%}.kr-p69{--p:69}.kr-male-p69{--male:69}.kr-female-p69{--female:69}.kr-other-p69{--other:69}.kr-unknown-p69{--unknown:69}.kr-active-p69{--active:69}.kr-inactive-p69{--inactive:69}.kr-left-p69{--left:69}
.kr-w70{width:70%}.kr-h70{height:70%}.kr-p70{--p:70}.kr-male-p70{--male:70}.kr-female-p70{--female:70}.kr-other-p70{--other:70}.kr-unknown-p70{--unknown:70}.kr-active-p70{--active:70}.kr-inactive-p70{--inactive:70}.kr-left-p70{--left:70}
.kr-w71{width:71%}.kr-h71{height:71%}.kr-p71{--p:71}.kr-male-p71{--male:71}.kr-female-p71{--female:71}.kr-other-p71{--other:71}.kr-unknown-p71{--unknown:71}.kr-active-p71{--active:71}.kr-inactive-p71{--inactive:71}.kr-left-p71{--left:71}
.kr-w72{width:72%}.kr-h72{height:72%}.kr-p72{--p:72}.kr-male-p72{--male:72}.kr-female-p72{--female:72}.kr-other-p72{--other:72}.kr-unknown-p72{--unknown:72}.kr-active-p72{--active:72}.kr-inactive-p72{--inactive:72}.kr-left-p72{--left:72}
.kr-w73{width:73%}.kr-h73{height:73%}.kr-p73{--p:73}.kr-male-p73{--male:73}.kr-female-p73{--female:73}.kr-other-p73{--other:73}.kr-unknown-p73{--unknown:73}.kr-active-p73{--active:73}.kr-inactive-p73{--inactive:73}.kr-left-p73{--left:73}
.kr-w74{width:74%}.kr-h74{height:74%}.kr-p74{--p:74}.kr-male-p74{--male:74}.kr-female-p74{--female:74}.kr-other-p74{--other:74}.kr-unknown-p74{--unknown:74}.kr-active-p74{--active:74}.kr-inactive-p74{--inactive:74}.kr-left-p74{--left:74}
.kr-w75{width:75%}.kr-h75{height:75%}.kr-p75{--p:75}.kr-male-p75{--male:75}.kr-female-p75{--female:75}.kr-other-p75{--other:75}.kr-unknown-p75{--unknown:75}.kr-active-p75{--active:75}.kr-inactive-p75{--inactive:75}.kr-left-p75{--left:75}
.kr-w76{width:76%}.kr-h76{height:76%}.kr-p76{--p:76}.kr-male-p76{--male:76}.kr-female-p76{--female:76}.kr-other-p76{--other:76}.kr-unknown-p76{--unknown:76}.kr-active-p76{--active:76}.kr-inactive-p76{--inactive:76}.kr-left-p76{--left:76}
.kr-w77{width:77%}.kr-h77{height:77%}.kr-p77{--p:77}.kr-male-p77{--male:77}.kr-female-p77{--female:77}.kr-other-p77{--other:77}.kr-unknown-p77{--unknown:77}.kr-active-p77{--active:77}.kr-inactive-p77{--inactive:77}.kr-left-p77{--left:77}
.kr-w78{width:78%}.kr-h78{height:78%}.kr-p78{--p:78}.kr-male-p78{--male:78}.kr-female-p78{--female:78}.kr-other-p78{--other:78}.kr-unknown-p78{--unknown:78}.kr-active-p78{--active:78}.kr-inactive-p78{--inactive:78}.kr-left-p78{--left:78}
.kr-w79{width:79%}.kr-h79{height:79%}.kr-p79{--p:79}.kr-male-p79{--male:79}.kr-female-p79{--female:79}.kr-other-p79{--other:79}.kr-unknown-p79{--unknown:79}.kr-active-p79{--active:79}.kr-inactive-p79{--inactive:79}.kr-left-p79{--left:79}
.kr-w80{width:80%}.kr-h80{height:80%}.kr-p80{--p:80}.kr-male-p80{--male:80}.kr-female-p80{--female:80}.kr-other-p80{--other:80}.kr-unknown-p80{--unknown:80}.kr-active-p80{--active:80}.kr-inactive-p80{--inactive:80}.kr-left-p80{--left:80}
.kr-w81{width:81%}.kr-h81{height:81%}.kr-p81{--p:81}.kr-male-p81{--male:81}.kr-female-p81{--female:81}.kr-other-p81{--other:81}.kr-unknown-p81{--unknown:81}.kr-active-p81{--active:81}.kr-inactive-p81{--inactive:81}.kr-left-p81{--left:81}
.kr-w82{width:82%}.kr-h82{height:82%}.kr-p82{--p:82}.kr-male-p82{--male:82}.kr-female-p82{--female:82}.kr-other-p82{--other:82}.kr-unknown-p82{--unknown:82}.kr-active-p82{--active:82}.kr-inactive-p82{--inactive:82}.kr-left-p82{--left:82}
.kr-w83{width:83%}.kr-h83{height:83%}.kr-p83{--p:83}.kr-male-p83{--male:83}.kr-female-p83{--female:83}.kr-other-p83{--other:83}.kr-unknown-p83{--unknown:83}.kr-active-p83{--active:83}.kr-inactive-p83{--inactive:83}.kr-left-p83{--left:83}
.kr-w84{width:84%}.kr-h84{height:84%}.kr-p84{--p:84}.kr-male-p84{--male:84}.kr-female-p84{--female:84}.kr-other-p84{--other:84}.kr-unknown-p84{--unknown:84}.kr-active-p84{--active:84}.kr-inactive-p84{--inactive:84}.kr-left-p84{--left:84}
.kr-w85{width:85%}.kr-h85{height:85%}.kr-p85{--p:85}.kr-male-p85{--male:85}.kr-female-p85{--female:85}.kr-other-p85{--other:85}.kr-unknown-p85{--unknown:85}.kr-active-p85{--active:85}.kr-inactive-p85{--inactive:85}.kr-left-p85{--left:85}
.kr-w86{width:86%}.kr-h86{height:86%}.kr-p86{--p:86}.kr-male-p86{--male:86}.kr-female-p86{--female:86}.kr-other-p86{--other:86}.kr-unknown-p86{--unknown:86}.kr-active-p86{--active:86}.kr-inactive-p86{--inactive:86}.kr-left-p86{--left:86}
.kr-w87{width:87%}.kr-h87{height:87%}.kr-p87{--p:87}.kr-male-p87{--male:87}.kr-female-p87{--female:87}.kr-other-p87{--other:87}.kr-unknown-p87{--unknown:87}.kr-active-p87{--active:87}.kr-inactive-p87{--inactive:87}.kr-left-p87{--left:87}
.kr-w88{width:88%}.kr-h88{height:88%}.kr-p88{--p:88}.kr-male-p88{--male:88}.kr-female-p88{--female:88}.kr-other-p88{--other:88}.kr-unknown-p88{--unknown:88}.kr-active-p88{--active:88}.kr-inactive-p88{--inactive:88}.kr-left-p88{--left:88}
.kr-w89{width:89%}.kr-h89{height:89%}.kr-p89{--p:89}.kr-male-p89{--male:89}.kr-female-p89{--female:89}.kr-other-p89{--other:89}.kr-unknown-p89{--unknown:89}.kr-active-p89{--active:89}.kr-inactive-p89{--inactive:89}.kr-left-p89{--left:89}
.kr-w90{width:90%}.kr-h90{height:90%}.kr-p90{--p:90}.kr-male-p90{--male:90}.kr-female-p90{--female:90}.kr-other-p90{--other:90}.kr-unknown-p90{--unknown:90}.kr-active-p90{--active:90}.kr-inactive-p90{--inactive:90}.kr-left-p90{--left:90}
.kr-w91{width:91%}.kr-h91{height:91%}.kr-p91{--p:91}.kr-male-p91{--male:91}.kr-female-p91{--female:91}.kr-other-p91{--other:91}.kr-unknown-p91{--unknown:91}.kr-active-p91{--active:91}.kr-inactive-p91{--inactive:91}.kr-left-p91{--left:91}
.kr-w92{width:92%}.kr-h92{height:92%}.kr-p92{--p:92}.kr-male-p92{--male:92}.kr-female-p92{--female:92}.kr-other-p92{--other:92}.kr-unknown-p92{--unknown:92}.kr-active-p92{--active:92}.kr-inactive-p92{--inactive:92}.kr-left-p92{--left:92}
.kr-w93{width:93%}.kr-h93{height:93%}.kr-p93{--p:93}.kr-male-p93{--male:93}.kr-female-p93{--female:93}.kr-other-p93{--other:93}.kr-unknown-p93{--unknown:93}.kr-active-p93{--active:93}.kr-inactive-p93{--inactive:93}.kr-left-p93{--left:93}
.kr-w94{width:94%}.kr-h94{height:94%}.kr-p94{--p:94}.kr-male-p94{--male:94}.kr-female-p94{--female:94}.kr-other-p94{--other:94}.kr-unknown-p94{--unknown:94}.kr-active-p94{--active:94}.kr-inactive-p94{--inactive:94}.kr-left-p94{--left:94}
.kr-w95{width:95%}.kr-h95{height:95%}.kr-p95{--p:95}.kr-male-p95{--male:95}.kr-female-p95{--female:95}.kr-other-p95{--other:95}.kr-unknown-p95{--unknown:95}.kr-active-p95{--active:95}.kr-inactive-p95{--inactive:95}.kr-left-p95{--left:95}
.kr-w96{width:96%}.kr-h96{height:96%}.kr-p96{--p:96}.kr-male-p96{--male:96}.kr-female-p96{--female:96}.kr-other-p96{--other:96}.kr-unknown-p96{--unknown:96}.kr-active-p96{--active:96}.kr-inactive-p96{--inactive:96}.kr-left-p96{--left:96}
.kr-w97{width:97%}.kr-h97{height:97%}.kr-p97{--p:97}.kr-male-p97{--male:97}.kr-female-p97{--female:97}.kr-other-p97{--other:97}.kr-unknown-p97{--unknown:97}.kr-active-p97{--active:97}.kr-inactive-p97{--inactive:97}.kr-left-p97{--left:97}
.kr-w98{width:98%}.kr-h98{height:98%}.kr-p98{--p:98}.kr-male-p98{--male:98}.kr-female-p98{--female:98}.kr-other-p98{--other:98}.kr-unknown-p98{--unknown:98}.kr-active-p98{--active:98}.kr-inactive-p98{--inactive:98}.kr-left-p98{--left:98}
.kr-w99{width:99%}.kr-h99{height:99%}.kr-p99{--p:99}.kr-male-p99{--male:99}.kr-female-p99{--female:99}.kr-other-p99{--other:99}.kr-unknown-p99{--unknown:99}.kr-active-p99{--active:99}.kr-inactive-p99{--inactive:99}.kr-left-p99{--left:99}
.kr-w100{width:100%}.kr-h100{height:100%}.kr-p100{--p:100}.kr-male-p100{--male:100}.kr-female-p100{--female:100}.kr-other-p100{--other:100}.kr-unknown-p100{--unknown:100}.kr-active-p100{--active:100}.kr-inactive-p100{--inactive:100}.kr-left-p100{--left:100}
