:root{
  --bg:#f1f5f9;--panel:#fff;--panel-2:#f8fafc;--text:#1e293b;--muted:#64748b;--border:#dbe3ee;
  --primary:#075b4c;--primary-dark:#06483d;--success:#059669;--warning:#d97706;--danger:#e11d48;
  --sidebar:#043d34;--sidebar-2:#075b4c;--shadow:0 16px 50px rgba(15,23,42,.08);--radius:14px
}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:"Cairo",Tahoma,"Segoe UI",Arial,sans-serif;direction:rtl;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:10px}.ltr{direction:ltr;text-align:left}.nowrap{white-space:nowrap}.grow{flex:1}.no-margin{margin:0}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}
.boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.boot-screen img{filter:drop-shadow(0 14px 25px rgba(7,91,76,.18))}.boot-screen h1{margin:16px 0 5px;font-size:30px}.boot-screen p{color:var(--muted);margin:0 0 20px}
.primary-btn,.secondary-btn,.danger-btn,.ghost-btn,.success-btn,.warning-btn,.icon-btn{border:0;border-radius:9px;padding:10px 15px;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;transition:.18s ease;min-height:38px}.primary-btn{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(7,91,76,.16)}.primary-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.secondary-btn{background:#e2e8f0;color:#334155}.secondary-btn:hover{background:#cbd5e1}.ghost-btn{background:#fff;border:1px solid var(--border);color:#475569}.ghost-btn:hover{background:#f8fafc;border-color:#94a3b8}.danger-btn{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.danger-btn:hover{background:#ffe4e6}.success-btn{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.warning-btn{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.icon-btn{padding:8px;width:38px;height:38px;background:#f8fafc;border:1px solid var(--border);color:#475569}.btn-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-row.end{justify-content:flex-end}.btn-row.between{justify-content:space-between}.btn-row.center{justify-content:center}
.login-page{min-height:100vh;display:grid;place-items:center;padding:30px 16px;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#075b4c,#0b6b5a,#c89a35)}.login-card-wrap{width:min(450px,100%);position:relative;z-index:1}.login-brand{text-align:center;margin-bottom:22px}.login-logo{width:112px;height:112px;object-fit:contain;border-radius:22px;background:#fff;padding:3px;box-shadow:0 18px 35px rgba(7,91,76,.2)}.login-brand h1{font-size:29px;margin:14px 0 5px}.login-brand p{font-size:13px;color:var(--muted);margin:0}.login-tabs{display:flex;gap:7px;background:#fff;border:1px solid var(--border);padding:7px;border-radius:14px 14px 0 0}.login-tabs button{flex:1;border:0;border-radius:9px;background:transparent;color:#64748b;padding:11px;font-weight:800;font-size:12px}.login-tabs button.active{background:var(--primary);color:#fff}.login-card{background:#fff;border:1px solid var(--border);border-top:0;border-radius:0 0 14px 14px;box-shadow:var(--shadow);padding:28px 34px}.field{margin-bottom:16px}.field label,.field-title{display:block;font-size:12px;font-weight:800;color:#334155;margin-bottom:7px}.field input,.field select,.field textarea,.compact-input{width:100%;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;color:#0f172a;padding:10px 11px;outline:none;transition:.15s}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.compact-input:focus{border-color:#36a58d;background:#fff;box-shadow:0 0 0 3px rgba(7,91,76,.08)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .span-2{grid-column:1/-1}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check-card{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:#f8fafc;border-radius:9px;padding:9px;font-size:12px}.check-card input{width:auto}.login-error,.alert{border-radius:10px;padding:11px 12px;margin-bottom:15px;font-size:12px;line-height:1.7}.login-error,.alert.error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.alert.info{background:#ecf7f4;color:#06483d;border:1px solid #b7ddd4}.alert.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.alert.warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.quick-login{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.quick-login p{font-size:11px;color:var(--muted);text-align:center}
.app-shell{min-height:100vh;display:flex}.sidebar{width:270px;position:fixed;top:0;bottom:0;right:0;background:linear-gradient(180deg,var(--sidebar),#111827);color:#cbd5e1;z-index:30;display:flex;flex-direction:column;box-shadow:-8px 0 30px rgba(15,23,42,.12)}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand img{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:12px;padding:2px}.sidebar-brand strong{display:block;color:#fff;font-size:15px}.sidebar-brand small{display:block;color:#94a3b8;font-size:10px;margin-top:2px}.school-box{margin:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:11px;padding:11px 12px}.school-box small{color:#94a3b8}.school-box strong{display:block;color:#f8fafc;font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-list{padding:4px 10px 20px;overflow:auto;flex:1}.nav-item{width:100%;border:0;background:transparent;color:#cbd5e1;text-align:right;border-radius:9px;padding:10px 11px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;margin:3px 0}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:#075b4c;color:#fff;box-shadow:0 8px 18px rgba(7,91,76,.2)}.nav-badge{margin-right:auto;min-width:20px;height:20px;border-radius:10px;background:#e11d48;color:#fff;font-size:10px;display:inline-grid;place-items:center;padding:0 5px}.sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.08)}.user-box{display:flex;align-items:center;gap:9px;padding:9px}.user-avatar{width:36px;height:36px;border-radius:50%;background:#334155;display:grid;place-items:center;color:#fff;font-weight:900}.user-box strong{display:block;color:#fff;font-size:11px}.user-box small{color:#94a3b8;font-size:10px}.logout-btn{width:100%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#cbd5e1;border-radius:8px;padding:9px;font-size:11px;font-weight:700}.main-area{margin-right:270px;width:calc(100% - 270px);min-height:100vh}.topbar{height:70px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar-title h1{font-size:16px;margin:0}.topbar-title p{font-size:10px;color:var(--muted);margin:3px 0 0}.topbar-actions{display:flex;align-items:center;gap:8px}.mobile-menu{display:none}.content{padding:22px;max-width:1640px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head h2{font-size:21px;margin:0}.page-head p{font-size:12px;color:var(--muted);margin:4px 0 0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 18px rgba(15,23,42,.035);padding:18px}.panel + .panel{margin-top:16px}.panel-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid #edf2f7}.panel-head h3{font-size:14px;margin:0}.panel-head p{font-size:11px;color:var(--muted);margin:3px 0 0}.panel-title{font-size:14px;font-weight:800;margin:0 0 13px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:16px;display:flex;align-items:center;gap:13px;box-shadow:0 4px 16px rgba(15,23,42,.03)}.stat-icon{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;font-size:20px}.stat-icon.blue{background:#ecf7f4;color:#075b4c}.stat-icon.green{background:#ecfdf5;color:#059669}.stat-icon.amber{background:#fffbeb;color:#d97706}.stat-icon.violet{background:#f5f3ff;color:#7c3aed}.stat-card strong{font-size:21px;display:block}.stat-card span{font-size:11px;color:var(--muted)}.quality-meter{height:11px;background:#e2e8f0;border-radius:999px;overflow:hidden}.quality-meter span{display:block;height:100%;background:linear-gradient(90deg,#10b981,#22c55e);border-radius:999px}.rule-list{list-style:none;padding:0;margin:0}.rule-list li{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid #f1f5f9;font-size:12px}.rule-list li:last-child{border-bottom:0}.rule-num{width:23px;height:23px;border-radius:50%;background:#ecf7f4;color:#075b4c;display:grid;place-items:center;font-size:10px;font-weight:900;flex:none}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.badge.blue{background:#ecf7f4;color:#06483d}.badge.green{background:#ecfdf5;color:#047857}.badge.amber{background:#fffbeb;color:#b45309}.badge.red{background:#fff1f2;color:#be123c}.badge.gray{background:#f1f5f9;color:#475569}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.data-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:11px}.data-table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}.data-table th{background:#f8fafc;color:#475569;font-size:10px;font-weight:900;padding:10px;border-bottom:1px solid var(--border);text-align:center;white-space:nowrap}.data-table td{font-size:11px;padding:10px;border-bottom:1px solid #edf2f7;text-align:center;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdff}.table-actions{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}.table-btn{border:1px solid var(--border);background:#fff;color:#475569;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:800}.table-btn:hover{border-color:#7cc8b7;color:#06483d}.table-btn.danger{color:#be123c;border-color:#fecdd3}.subject-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.subject-tag{font-size:9px;background:#f1f5f9;color:#475569;border-radius:999px;padding:3px 7px}.teacher-color{width:10px;height:10px;border-radius:50%;display:inline-block;margin-left:5px}.empty-state{text-align:center;padding:38px 20px;color:var(--muted)}.empty-state .empty-icon{font-size:36px;opacity:.55}.empty-state h3{color:#334155;font-size:14px;margin:8px 0 3px}.empty-state p{font-size:11px;margin:0}.cards-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.entity-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff}.entity-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.entity-card h3{font-size:14px;margin:0}.entity-meta{font-size:10px;color:var(--muted);margin-top:4px}.quota-row{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed #e2e8f0;padding:7px 0;font-size:10px}.quota-row:first-child{border-top:0}.mini-progress{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden;width:85px}.mini-progress span{display:block;height:100%;background:#0b6b5a}
.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:12px;padding:13px;margin-bottom:14px}.filters .field{margin:0;min-width:170px;flex:1}.filters .field.narrow{min-width:125px;flex:0 1 180px}.segment{display:inline-flex;background:#f1f5f9;border:1px solid var(--border);border-radius:9px;padding:3px;gap:3px}.segment button{border:0;background:transparent;padding:8px 12px;border-radius:7px;font-size:11px;font-weight:800;color:#64748b}.segment button.active{background:#fff;color:#06483d;box-shadow:0 2px 8px rgba(15,23,42,.08)}.schedule-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:12px}.schedule-table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px;table-layout:fixed}.schedule-table th{position:sticky;top:0;background:#f8fafc;color:#334155;font-size:10px;font-weight:900;padding:10px;border-bottom:1px solid var(--border);border-left:1px solid #e2e8f0;z-index:2}.schedule-table th:first-child{right:0;z-index:3}.schedule-table td{border-left:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:5px;height:92px;vertical-align:top;background:#fff}.schedule-table td:first-child{position:sticky;right:0;background:#f8fafc;z-index:1;width:105px;text-align:center;vertical-align:middle;font-size:10px;font-weight:900}.schedule-cell{width:100%;height:100%;min-height:78px;border:1px solid #cfe9e3;background:#ecf7f4;border-radius:9px;padding:8px;text-align:right;display:flex;flex-direction:column;justify-content:space-between;gap:4px;transition:.15s}.schedule-cell.editable:hover{border-color:#36a58d;box-shadow:0 5px 15px rgba(7,91,76,.08);transform:translateY(-1px)}.schedule-cell.empty{background:#f8fafc;border:1px dashed #cbd5e1;color:#94a3b8;align-items:center;justify-content:center;text-align:center}.schedule-cell.cancelled{background:#fff1f2;border-color:#fecdd3;color:#be123c;align-items:center;justify-content:center}.schedule-cell .subject{font-size:10px;font-weight:900;line-height:1.5}.schedule-cell .teacher{font-size:9px;color:#475569}.schedule-cell .time{font-size:8px;color:#94a3b8;direction:ltr;text-align:left}.schedule-title{text-align:center;margin:0 0 13px}.schedule-title h3{font-size:15px;margin:0}.schedule-title p{font-size:10px;color:var(--muted);margin:3px 0 0}.cell-validity{font-size:10px;line-height:1.6;margin-top:8px}.valid{color:#047857}.invalid{color:#be123c}.teacher-option.invalid-option{color:#94a3b8}
.report-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.report-tab{border:1px solid var(--border);background:#fff;color:#475569;border-radius:9px;padding:9px 12px;font-size:11px;font-weight:800}.report-tab.active{background:#075b4c;color:#fff;border-color:#075b4c}.report-page{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px}.report-header{text-align:center;border-bottom:2px solid #1e293b;padding-bottom:12px;margin-bottom:15px}.report-header h2{font-size:18px;margin:0 0 6px}.report-header p{font-size:10px;margin:2px;color:#475569}.report-footer{display:flex;justify-content:space-between;margin-top:24px;padding-top:16px;border-top:1px solid #94a3b8;font-size:10px}.signature{width:200px;text-align:center}.signature strong{display:block;margin-bottom:25px}.report-card{border:1px solid var(--border);border-radius:10px;margin-bottom:16px;overflow:hidden;break-inside:avoid}.report-card h3{font-size:13px;margin:0;padding:10px;background:#f8fafc;border-bottom:1px solid var(--border)}
.notification-list{display:flex;flex-direction:column;gap:9px}.notification-item{border:1px solid var(--border);border-radius:10px;padding:11px 12px;background:#fff;display:flex;gap:10px;align-items:flex-start}.notification-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none}.notification-item.success .notification-icon{background:#ecfdf5;color:#059669}.notification-item.warning .notification-icon{background:#fffbeb;color:#d97706}.notification-item.error .notification-icon{background:#fff1f2;color:#e11d48}.notification-item.info .notification-icon{background:#ecf7f4;color:#075b4c}.notification-item p{font-size:11px;margin:0;line-height:1.7}.notification-item time{font-size:9px;color:#94a3b8;display:block;margin-top:3px}.violation-card{border:1px solid var(--border);border-right:4px solid #f59e0b;border-radius:10px;padding:12px;background:#fff;margin-bottom:9px}.violation-card.error{border-right-color:#e11d48}.violation-card p{font-size:11px;margin:0 0 8px}.violation-card .meta{font-size:9px;color:#94a3b8}
.snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.snapshot-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:#f8fafc}.snapshot-card strong{font-size:11px;display:block}.snapshot-card time{font-size:9px;color:#94a3b8}.snapshot-card .btn-row{margin-top:9px}
.supervision-chip{display:flex;align-items:center;justify-content:space-between;gap:7px;background:#ecf7f4;color:#075b4c;border:1px solid #b7ddd4;border-radius:8px;padding:6px 8px;font-size:9px;margin:3px}.supervision-chip .loc{color:#64748b}.chips{display:flex;flex-wrap:wrap;justify-content:center}.location-list{display:flex;flex-wrap:wrap;gap:6px}.location-tag{display:inline-flex;align-items:center;gap:6px;background:#f1f5f9;color:#475569;border:1px solid var(--border);border-radius:999px;padding:5px 9px;font-size:10px}.location-tag button{border:0;background:transparent;color:#be123c;padding:0;font-weight:900}
.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(4px);z-index:100;display:grid;place-items:center;padding:18px}.modal{background:#fff;border-radius:16px;box-shadow:0 28px 80px rgba(15,23,42,.28);width:min(760px,100%);max-height:92vh;overflow:auto}.modal.small{width:min(500px,100%)}.modal.large{width:min(980px,100%)}.modal-head{position:sticky;top:0;background:#fff;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}.modal-head h3{font-size:15px;margin:0}.modal-close{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:#f8fafc;color:#64748b;font-size:18px}.modal-body{padding:18px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--border);background:#f8fafc}.booking-grid{display:grid;grid-template-columns:110px 80px repeat(7,minmax(54px,1fr));gap:5px;align-items:center}.booking-head,.booking-day{font-size:9px;font-weight:800;text-align:center;padding:7px}.booking-slot{border:1px solid var(--border);border-radius:7px;padding:7px;text-align:center;font-size:9px;background:#fff}.booking-slot input{width:auto}.booking-all{background:#fff7ed}
.toast-stack{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 36px))}.toast{background:#fff;border:1px solid var(--border);border-right:4px solid #075b4c;border-radius:11px;box-shadow:0 18px 45px rgba(15,23,42,.16);padding:12px;display:flex;gap:9px;align-items:flex-start;animation:toastIn .22s ease}.toast.success{border-right-color:#059669}.toast.warning{border-right-color:#d97706}.toast.error{border-right-color:#e11d48}.toast p{font-size:11px;margin:0}.toast small{display:block;color:#94a3b8;margin-top:3px}@keyframes toastIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.sync-status{font-size:10px;display:flex;align-items:center;gap:5px;color:#64748b}.sync-dot{width:7px;height:7px;border-radius:50%;background:#94a3b8}.sync-status.saved .sync-dot{background:#10b981}.sync-status.saving .sync-dot{background:#f59e0b;animation:pulse 1s infinite}.sync-status.offline .sync-dot{background:#e11d48}@keyframes pulse{50%{opacity:.35}}
.ios-steps{display:flex;flex-direction:column;gap:9px}.ios-step{display:flex;gap:9px;background:#f8fafc;border:1px solid var(--border);border-radius:9px;padding:10px;font-size:11px}.step-num{width:22px;height:22px;border-radius:50%;background:#075b4c;color:#fff;display:grid;place-items:center;font-size:10px;flex:none}
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.sidebar{transform:translateX(105%);transition:.2s}.sidebar.open{transform:none}.main-area{margin-right:0;width:100%}.mobile-menu{display:inline-flex}.content{padding:15px}.topbar{padding:0 14px}.grid-2,.grid-3{grid-template-columns:1fr}.cards-list{grid-template-columns:1fr}.page-head{flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.sidebar-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:25}.booking-grid{grid-template-columns:90px repeat(7,50px);overflow:auto}.topbar-title p{display:none}}
@media(max-width:560px){.stats-grid,.grid-4,.snapshot-grid{grid-template-columns:1fr}.login-card{padding:22px 18px}.topbar-actions .hide-mobile{display:none}.content{padding:11px}.panel{padding:13px}.filters{align-items:stretch}.filters .field,.filters .field.narrow{min-width:100%;flex:1}.check-grid{grid-template-columns:1fr}.report-page{padding:12px}.btn-row.mobile-stack{flex-direction:column;align-items:stretch}.btn-row.mobile-stack>*{width:100%}}
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print,.sidebar,.topbar,.toast-stack,.modal-overlay{display:none!important}body{background:#fff!important;color:#000!important;font-size:9pt}.main-area{margin:0!important;width:100%!important}.content{padding:0!important;max-width:none!important}.panel,.report-page,.report-card{border:0!important;box-shadow:none!important;padding:0!important}.print-only{display:block!important}.data-table-wrap,.schedule-wrap{overflow:visible;border:0}.data-table,.schedule-table{min-width:0;width:100%!important;border-collapse:collapse!important}.data-table th,.data-table td,.schedule-table th,.schedule-table td{border:1px solid #000!important;padding:4px!important;position:static!important}.schedule-table td{height:auto}.schedule-cell{min-height:58px;border:0!important;box-shadow:none!important}.report-card{page-break-inside:avoid}.print-page-break{page-break-after:always;break-after:page}.report-footer{margin-top:18px}}

.inline-field{display:flex;gap:8px;align-items:stretch}.inline-field input,.inline-field select{flex:1;min-width:0}.portal-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:15px;border-top:1px solid var(--border)}.portal-links a{font-size:10px;color:var(--primary);font-weight:800}.school-code{display:block;color:#b7ddd4;font-size:9px;margin-top:5px}.subscription-link{display:inline-flex;margin-top:8px;color:#f1d38a;font-size:10px;font-weight:800}.subscription-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#edf7f4,#fff 55%,#f8efda)}.subscription-gate-card{width:min(720px,100%);background:#fff;border:1px solid #cfe2dc;border-radius:24px;box-shadow:0 24px 70px rgba(7,91,76,.14);padding:32px;text-align:center}.subscription-gate-card>img{width:140px;height:140px;object-fit:contain}.subscription-gate-card h1{font-size:25px;margin:12px 0 5px}.subscription-gate-card>p{color:var(--muted);font-size:12px;max-width:560px;margin:0 auto 22px}.subscription-state{display:table;margin:0 auto;border-radius:999px;padding:5px 11px;font-size:10px;font-weight:900;background:#fef3c7;color:#92400e}.subscription-state.active{background:#dcfce7;color:#166534}.subscription-state.expired,.subscription-state.cancelled,.subscription-state.suspended{background:#fee2e2;color:#991b1b}.subscription-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 24px}.subscription-info>div{background:#f7faf9;border:1px solid var(--border);border-radius:13px;padding:13px}.subscription-info small,.subscription-info strong{display:block}.subscription-info small{font-size:9px;color:var(--muted)}.subscription-info strong{font-size:12px;margin-top:4px}.whatsapp-btn{background:#118c61!important}.boot-screen img{object-fit:contain}.sidebar{background:linear-gradient(180deg,var(--sidebar),#032f29)}
@media(max-width:560px){.inline-field{flex-direction:column}.subscription-info{grid-template-columns:1fr}.subscription-gate-card{padding:22px 16px}.subscription-gate-card>img{width:112px;height:112px}}
