@font-face{font-family:Mizaan;src:local("Segoe UI");font-display:swap}
:root{font-family:Mizaan,Tahoma,Arial,sans-serif;font-size:16px;color:#182d29;background:#f3f6f5;--green:#164c40;--deep:#123e36;--lime:#d0efa9;--muted:#61736d;--line:#dde6e1;--red:#b74443;--amber:#99601a;--radius:16px;line-height:1.65}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #39846f;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:1.8rem;letter-spacing:-.7px;margin-bottom:4px;line-height:1.45}h2{font-size:1.13rem;line-height:1.5;margin-bottom:6px}h3{font-size:1rem;margin-bottom:4px}p{margin-bottom:12px}small,.small{font-size:.82rem}.muted{color:var(--muted)}.ltr{direction:ltr;unicode-bidi:embed}.icon{width:21px;height:21px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.skip{position:fixed;top:-100px;right:20px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.boot{display:grid;place-content:center;text-align:center;min-height:100vh;gap:12px}.brand-symbol{display:grid;place-items:center;width:44px;height:44px;background:var(--lime);color:var(--deep);border-radius:13px;font-size:1.8rem;font-weight:800}.boot .brand-symbol{margin:auto}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--deep);color:#fff;padding:32px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin-bottom:42px}.brand strong{font-size:1.8rem;line-height:1.2}.brand small{display:block;color:#a8c4ba;font-size:.78rem;margin-top:3px}.nav-label{font-size:.78rem;color:#9cb9ae;padding:0 14px;margin-bottom:10px}.nav{display:flex;flex-direction:column;gap:8px}.nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;font-size:.92rem;color:#c4d7d0}.nav a:hover{background:#ffffff0d}.nav a.active{background:var(--lime);color:var(--deep);font-weight:700}.sidebar-bottom{margin-top:auto;padding-top:24px}.account{display:flex;align-items:center;gap:10px;padding:15px 0;border-top:1px solid #ffffff20}.avatar{border-radius:50%;width:38px;height:38px;background:#e6eee9;color:var(--green);display:grid;place-items:center;font-weight:700;flex-shrink:0}.sidebar .avatar{background:#ffffff15;color:#d0efa9}.account-text{min-width:0;flex:1}.account-text strong{font-size:.85rem;display:block;overflow:hidden;text-overflow:ellipsis}.account-text small{display:block;color:#a8c4ba}.plain{background:none;color:inherit;padding:8px}.workspace{min-width:0}.topbar{height:80px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:16px}.breadcrumb{display:flex;gap:12px;align-items:center;font-size:.88rem;color:var(--muted)}.breadcrumb strong{font-weight:500;color:#203c31}.public-badge{display:flex;gap:7px;align-items:center;font-size:.82rem;color:var(--green);background:#edf5ef;border:1px solid #dceade;border-radius:30px;padding:5px 12px}.public-badge .icon{width:16px;height:16px}.main{padding:32px 40px 48px;max-width:1680px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head p{color:var(--muted);font-size:.88rem;margin:0}.eyebrow{color:var(--green);font-size:.82rem;font-weight:600;display:flex;gap:6px;align-items:center;margin-bottom:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:10px 17px;background:var(--green);color:white;font-weight:600;font-size:.88rem;min-height:43px;white-space:nowrap}.btn:hover{background:#21614f}.btn.secondary{background:#fff;border:1px solid #ccd9d0;color:var(--green)}.btn.secondary:hover{background:#edf4ee}.btn.danger{background:#b23c3d;color:white}.btn.small{padding:6px 11px;min-height:35px;font-size:.82rem}.btn .icon{width:18px;height:18px}.inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:white;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:22px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>label,.field>.label{font-size:.84rem;color:#4d635b}.field input,.field select,.field textarea,.control{background:white;border:1px solid #d5e0d9;border-radius:8px;padding:9px 11px;color:#203d31;min-height:43px;max-width:100%;min-width:0}.field input:disabled,.field select:disabled,.control:disabled{background:#f1f4f2;color:#84938b;cursor:not-allowed}.field input[type=date],.field input[type=time],.control[type=number]{font-size:.88rem}.field textarea{min-height:85px;resize:vertical}.field.grow{flex:1;min-width:175px}.segments{display:flex;background:#f0f4f1;border:1px solid #e0e7e2;border-radius:9px;padding:4px;gap:3px;min-height:43px}.segments button{padding:5px 13px;border-radius:6px;background:none;color:var(--muted);font-size:.85rem;white-space:nowrap}.segments button.selected{background:#fff;box-shadow:0 1px 4px #1c332312;color:var(--green);font-weight:700}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:25px 0 12px}.section-title h2{margin:0}.section-title small{color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kpi{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;min-height:149px;position:relative}.kpi .kpi-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:.86rem;color:var(--muted);gap:8px}.kpi .kpi-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:#f1f5f2;color:var(--green)}.kpi strong{font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:-1px}.kpi .unit{font-size:.82rem;margin-right:6px;color:var(--muted);letter-spacing:0;font-weight:400}.kpi p{font-size:.8rem;color:var(--muted);margin:9px 0 0}.kpi.featured{background:var(--green);border-color:var(--green);color:white}.kpi.featured .kpi-top,.kpi.featured p,.kpi.featured .unit{color:#c3dccf}.kpi.featured .kpi-icon{background:#ffffff14;color:var(--lime)}.kpi.featured strong{color:var(--lime)}.kpi.alert .kpi-icon{background:#fff0ed;color:var(--red)}.kpi.warning .kpi-icon{background:#fff5e6;color:var(--amber)}.metric-pair{display:flex;align-items:baseline;gap:6px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:20px}.card-head p{font-size:.82rem;color:var(--muted);margin:0}.grid-panels{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:20px;margin-top:20px}.legend{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}.legend span{display:flex;gap:5px;align-items:center}.dot{width:8px;height:8px;border-radius:50%;background:#236c53;display:inline-block}.dot.red{background:#da826b}.dot.gray{background:#dce6df}.chart{width:100%;height:210px;display:block}.chart text{font-family:inherit;fill:#708178;font-size:12px}.chart .gridline{stroke:#e8eee9;stroke-dasharray:4 4}.chart .present-bar{fill:#27735a}.chart .absent-bar{fill:#db8e79}.chart .leave-bar{fill:#d4e5d7}.notice{display:flex;align-items:start;gap:10px;padding:12px 16px;background:#f2f6e8;border:1px solid #e2ead3;color:#566739;border-radius:10px;font-size:.85rem;margin:18px 0}.notice .icon{width:19px;height:19px;margin-top:2px}.notice.warning{background:#fff7e9;border-color:#f1e1bd;color:#805d26}.notice.error{background:#fff0ed;border-color:#efcfca;color:#923d33}.notice p{margin:0}.coverage{display:flex;align-items:center;gap:12px;font-size:.82rem;color:var(--muted);margin-top:13px}.coverage progress{flex:1;width:100%;max-width:180px;height:6px}.breakdown{display:flex;flex-direction:column;gap:18px}.breakdown-row>div{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;margin-bottom:6px}.breakdown-row strong{font-weight:600}.breakdown-row progress{width:100%;height:6px}progress{appearance:none;border:0;border-radius:10px;overflow:hidden;background:#e9efeb}progress::-webkit-progress-bar{background:#e9efeb;border-radius:10px}progress::-webkit-progress-value{background:#43896c;border-radius:10px}progress::-moz-progress-bar{background:#43896c;border-radius:10px}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:right;white-space:nowrap;font-size:.86rem}th{font-weight:500;color:#708178;background:#f6f8f6;font-size:.8rem;padding:12px 14px;border-bottom:1px solid var(--line)}td{padding:14px;border-bottom:1px solid #eaf0eb}tr:last-child td{border-bottom:0}.employee-cell{display:flex;align-items:center;gap:10px}.employee-cell strong{display:block;font-weight:600}.employee-cell small{display:block;color:var(--muted)}.employee-cell .avatar{width:34px;height:34px;font-size:.82rem}.link-button{background:none;padding:0;color:#244d3b;font-weight:600;text-align:right}.link-button:hover{text-decoration:underline}.rank{font-size:.82rem;color:var(--muted)}.rank.first{background:#e9f2df;border-radius:7px;color:#4b7334;display:grid;place-content:center;width:27px;height:27px;font-weight:700}.pill{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;padding:3px 9px;border-radius:6px;background:#eff3f0;color:#5f7367;white-space:nowrap}.pill.green{background:#e9f4eb;color:#327044}.pill.red{background:#fceeea;color:#a84e40}.pill.amber{background:#fff3da;color:#987120}.score{display:flex;align-items:center;gap:10px}.score progress{width:58px;height:5px}.score strong{color:#347153;min-width:37px}.empty{text-align:center;padding:40px 24px;color:var(--muted)}.empty .icon{width:35px;height:35px;margin-bottom:9px;color:#83a18e}.empty h3{color:#335441}.empty p{max-width:430px;margin:6px auto 16px;font-size:.9rem}.footer{display:flex;justify-content:space-between;gap:16px;color:#8a9890;font-size:.76rem;margin-top:28px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px;border-bottom:1px solid var(--line);padding-bottom:12px}.tabs button{background:none;padding:7px 14px;color:var(--muted);border-radius:8px;font-size:.87rem}.tabs button.active{background:#e1eddf;color:var(--green);font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span-2{grid-column:span 2}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.help{font-size:.8rem;color:var(--muted);margin-top:5px}.check-group{display:flex;gap:16px;flex-wrap:wrap}.check-group label{display:flex;align-items:center;gap:6px}.checkbox,input[type=checkbox]{accent-color:var(--green);width:17px;height:17px;cursor:pointer}.entry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.entry-toolbar .control{max-width:220px}.entry-stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.entry-table td{padding:10px 8px}.entry-table .control{padding:6px 8px;min-height:37px;font-size:.84rem}.entry-table .minutes{width:66px}.entry-table .status-select{min-width:157px}.entry-table .note-input{width:115px}.entry-table tr.exception{background:#fffcf5}.entry-table tr[hidden]{display:none}.entry-name{min-width:170px}.save-bar{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);padding:16px 20px;border-radius:12px;margin-top:18px;box-shadow:0 8px 30px #173d2510;z-index:5}.save-bar p{font-size:.82rem;color:var(--muted);margin:0}.busy{pointer-events:none;opacity:.6}.login-wrap{max-width:440px;margin:60px auto}.login-wrap .card{padding:32px}.login-wrap .brand-symbol{margin-bottom:20px}.login-wrap .field{margin-top:16px}.login-wrap .btn{width:100%;margin-top:22px}.login-wrap h1{font-size:1.5rem}.login-wrap p{font-size:.88rem;color:var(--muted)}.settings-block{margin-bottom:26px}.settings-block h3{margin-bottom:15px}.audit-detail{direction:rtl;white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:.85rem;background:#f4f7f4;padding:15px;border-radius:8px;max-height:50vh;overflow:auto}dialog{border:1px solid var(--line);border-radius:18px;padding:0;width:min(640px,calc(100% - 32px));max-height:90vh;color:inherit;box-shadow:0 20px 90px #09281d33}dialog::backdrop{background:#153b2e55;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:21px 26px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0}.modal-body{padding:24px 26px}.modal-head button{border-radius:6px;background:#eff4ef;padding:5px 8px;color:#52755c}.modal-head .icon{width:20px;height:20px}#toast{position:fixed;bottom:24px;left:24px;max-width:min(420px,calc(100vw - 48px));padding:13px 20px;background:var(--deep);color:#fff;border-radius:10px;box-shadow:0 7px 25px #10231c25;z-index:100;font-size:.88rem;display:none}#toast.show{display:block}#toast.error{background:#923d33}.hide{display:none!important}.loading{padding:40px;text-align:center;color:var(--muted)}.mobile-menu{display:none}.split-note{display:grid;grid-template-columns:1fr 1fr;gap:14px}.definition{font-size:.84rem;color:var(--muted);padding:15px 0 0}.definition summary{cursor:pointer;color:#385c48}.definition p{margin:10px 0 0}.badge-count{margin-inline-start:auto;background:#ffffff16;border-radius:4px;padding:0 5px}.period-subline{font-size:.82rem;color:var(--muted)}
.gap-top{margin-top:20px}.no-bottom{margin-bottom:0}.align-start{align-items:flex-start}.full-width{width:100%}.break-text{white-space:normal;min-width:180px}.form-error{margin-bottom:16px}
/* School identity: original logo, navy and blue from its lettering. */
:root{--green:#21556b;--deep:#102f48;--lime:#f8d988;background:#f3f6f8;--line:#dde5ea;color:#173443}
.school-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:30px;text-align:center}
.school-logo-box{background:white;border-radius:14px;padding:12px 15px;display:flex;align-items:center;justify-content:center;width:100%;min-height:114px}
.school-logo{display:block;width:100%;max-width:155px;height:110px;object-fit:contain}
.school-brand strong{font-size:1.08rem}.school-brand small{display:block;color:#aec4d3;font-size:.79rem;margin-top:2px}
.login-logo{display:block;object-fit:contain;width:150px;height:120px;margin:0 auto 20px}.login-wrap h1,.login-wrap> .card>p{text-align:center}
.sidebar .nav a{color:#c0d2df}.sidebar .nav a.active{color:#17354b;background:#f8d988}.sidebar .nav-label,.account-text small{color:#aec4d3}
.kpi.featured .kpi-top,.kpi.featured p,.kpi.featured .unit{color:#d0e0e8}.kpi.featured .kpi-icon{color:#f8d988}.kpi.featured strong{color:#f8d988}
.school-badge{width:36px;height:36px;object-fit:contain}.demo-banner{background:#fff4d9;color:#77571c;font-size:.82rem;padding:8px 20px;text-align:center;border-bottom:1px solid #ebdeb9}
.employee-modal{width:min(920px,calc(100% - 32px))}.employee-modal .modal-head{position:sticky;top:0;background:#fff;z-index:2}.employee-section{border:0;padding:0 0 24px;margin:0 0 24px;min-width:0;border-bottom:1px solid var(--line)}.employee-section:last-of-type{border-bottom:0;margin-bottom:0}.employee-section legend{font-size:1rem;font-weight:700;color:var(--deep);padding:0 0 16px;width:100%}.employee-section .field>label{font-size:.9rem}.qualification-row{border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:14px;background:#f8fafb}.qualification-row .form-grid{grid-template-columns:1.15fr 1.15fr .7fr}.qualification-remove{color:var(--red);display:flex;align-items:center;gap:6px;font-size:.875rem;margin:8px -8px -8px 0}.license-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;margin-bottom:16px}.employee-modal [hidden]{display:none!important}.employee-save{position:sticky;bottom:-24px;background:#fff;padding:16px 0;margin-top:0;z-index:1}.employee-modal .modal-body{padding-bottom:24px}
@media(max-width:640px){.employee-modal{width:calc(100% - 20px)}.employee-modal .form-grid,.qualification-row .form-grid{grid-template-columns:1fr}.employee-modal .span-2{grid-column:span 1}.employee-modal .modal-body{padding:18px}.employee-save{bottom:-18px}.employee-section{margin-bottom:20px;padding-bottom:20px}}
@media(min-width:1500px){.main{padding:38px 55px}.kpi strong{font-size:2.3rem}.kpi{min-height:158px}}
@media(max-width:1150px){.shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:27px 14px}.main{padding:26px 24px}.topbar{padding:0 24px}.kpis{gap:12px}.kpi{padding:16px}.kpi strong{font-size:1.7rem}.grid-panels{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr)}.filter-bar{padding:14px}.segments button{padding:5px 9px}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{display:none;position:fixed;z-index:20;width:240px;right:0}.sidebar.open{display:flex;box-shadow:-15px 0 80px #0d2c2a50}.mobile-menu{display:inline-flex}.topbar{height:66px;padding:0 20px}.main{padding:24px 20px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-panels{grid-template-columns:1fr}.breadcrumb .org-crumb{display:none}.chart{height:220px}.filter-bar>.field{flex:1;min-width:145px}.filter-bar>.field.grow{min-width:190px}}
@media(max-width:520px){.main{padding:22px 14px}.topbar{padding:0 14px}.page-head{align-items:flex-start;gap:10px}.page-head h1{font-size:1.45rem}.page-head p{font-size:.82rem}.page-head .btn{padding:9px 11px;font-size:.8rem}.kpi{padding:14px;min-height:148px;border-radius:12px}.kpi .kpi-top{font-size:.78rem;align-items:start}.kpi strong{font-size:1.65rem}.kpi .kpi-icon{width:28px;height:28px}.kpi p{font-size:.76rem}.card{padding:17px}.filter-bar{padding:12px;gap:10px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.modal-body{padding:20px}.split-note{grid-template-columns:1fr}.save-bar{align-items:flex-start;padding:12px}.save-bar p{font-size:.76rem}.public-badge{font-size:.75rem;padding:4px 8px}.footer{flex-direction:column;gap:4px}.login-wrap{margin:20px auto}.login-wrap .card{padding:24px}.card-head{flex-wrap:wrap}.form-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){.btn,.nav a{transition:background .15s ease}.kpi{animation:appear .3s ease both}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
