/* Responsive admin navigation; table scroll stays inside each table container. */
.admin-mobile-bar{display:none}
.admin-main-column{min-width:0}
.admin-shell{grid-template-columns:minmax(0,1fr)}
.admin-shell>*{min-width:0}
.admin-table-wrap,.attendance-table-wrap{max-width:100%;overscroll-behavior-x:contain}
.admin-table td{font-size:14px}
.admin-table th,.admin-table small,.admin-status,.payroll-status{font-size:12px}
.admin-page-head p{font-size:14px}
.admin-body .btn,.admin-body .payroll-btn{font-size:14px;min-height:44px}
.admin-body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.admin-body select,.admin-body textarea{font-size:14px}
.payroll-person-page .teacher-master-card,.payroll-preview-page .payroll-card{padding:24px}
.payroll-person-page .teacher-master-card h2{font-family:var(--font-display);font-size:20px;margin:0 0 20px}
.allowance-edit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.6fr) auto;align-items:end;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.allowance-edit-row label{display:grid;gap:8px;font-size:14px;font-weight:700}
.allowance-edit-row input{width:100%;height:48px;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit}
.allowance-edit-row .allowance-remove{min-height:48px;background:transparent;border:1px solid var(--line);color:var(--danger);border-radius:10px;padding:10px 14px;font:inherit;font-size:13px;cursor:pointer}
.allowance-edit-row .allowance-remove:hover{background:#fff0ef;border-color:#efcecb}
.payroll-person-page .teacher-master-form>.btn{justify-self:end;min-height:48px}
.payroll-person-page>section{margin-top:24px}
.payroll-preview-page .payroll-card>p{font-size:14px;color:var(--muted);margin-bottom:20px}
.payroll-preview-page .payroll-card>form{margin-top:24px}
@media(max-width:1099px){
 :root{--admin-shell-inline:24px}
 .admin-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:var(--white);border-bottom:1px solid var(--line)}
 .admin-mobile-bar a{color:var(--primary);font-weight:800}
 .admin-menu-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--white);font:inherit;color:var(--primary)}
 .admin-sidebar{display:none;position:static;inset:auto;width:100%;border-right:0;border-bottom:1px solid var(--line)}
 .admin-nav-open .admin-sidebar{display:block}
 .admin-sidebar-inner{height:auto;max-height:65vh;padding:16px 24px;overflow:auto}
 .admin-sidebar-nav{max-height:none}
 .admin-sidebar-brand{display:none}
 .admin-with-sidebar .admin-main-column{margin-left:0;width:100%}
 .admin-with-sidebar .admin-shell{min-width:0}
 .admin-sidebar-bottom{margin-top:16px}
 .admin-page-head{align-items:flex-start;flex-wrap:wrap}
 .admin-page-head h1{overflow-wrap:anywhere}
 .admin-editor-form,.payroll-two-col,.teacher-detail-grid,.ppdb-detail-grid{grid-template-columns:minmax(0,1fr)}
 .admin-editor-side{position:static}
}
@media(max-width:640px){
 :root{--admin-shell-inline:16px}
 .admin-mobile-bar{padding:12px 16px}
 .admin-with-sidebar .admin-page-head{gap:16px}
 .admin-page-head h1{font-size:26px}
 .admin-page-head-actions,.admin-section-actions,.admin-action-toolbar,.payroll-period-banner,.payroll-net-card{flex-wrap:wrap;gap:12px}
 .admin-table{min-width:680px}
 .payroll-stats,.ppdb-stats,.teacher-data-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .teacher-master-grid,.payroll-detail-grid,.allowance-edit-row,.payroll-add-form,.ppdb-settings-grid{grid-template-columns:minmax(0,1fr)}
 .teacher-master-grid label.is-wide{grid-column:auto}
 .allowance-edit-row .allowance-remove{justify-self:end}
 .admin-body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.admin-body select,.admin-body textarea{font-size:16px;max-width:100%}
 .payroll-person-page .teacher-master-card,.payroll-preview-page .payroll-card{padding:20px}
 .payroll-payment-form,.payroll-workflow,.payroll-inline-form{width:100%;min-width:0}
 .payroll-inline-form{grid-template-columns:minmax(0,1fr)}
 .admin-login-wrap{padding:20px}
 .admin-login-card{margin:0}
}
