*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.mb-3{margin-bottom:.75rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.inline{display:inline}.table{display:table}.w-full{width:100%}.text-center{text-align:center}.text-right{text-align:right}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg:#f3f6fc;--surface:#fff;--surface-soft:#f8faff;--line:#e4e9f4;--text:#101a38;--muted:#6b7695;--primary:#3157d7;--primary-2:#6f8cf4;--primary-soft:#eaf0ff;--success:#168a63;--danger:#cf3e4f;--warning:#bd7b18;--shadow:0 16px 40px rgba(44,70,145,.12);--shadow-soft:0 8px 22px rgba(44,70,145,.08)}*{box-sizing:border-box}html{direction:rtl;background:var(--bg)}body{margin:0;min-height:100vh;font-family:Tajawal,Segoe UI,Tahoma,Arial,sans-serif;background:radial-gradient(circle at 88% -10%,rgba(111,140,244,.18),transparent 32rem),linear-gradient(180deg,#f9fbff 0,var(--bg) 46%,#eef3fb 100%);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding-bottom:94px}.top-strip{width:min(1120px,calc(100% - 24px));margin:12px auto 0;min-height:64px;padding:10px 12px 10px 16px;justify-content:space-between;gap:12px;background:hsla(0,0%,100%,.86);backdrop-filter:blur(16px);border:1px solid rgba(219,226,242,.9);border-radius:22px;box-shadow:var(--shadow-soft);position:relative;z-index:20}.brand-lockup,.top-strip{display:flex;align-items:center}.brand-lockup{gap:10px;min-width:0}.brand-lockup small,.brand-lockup strong{display:block}.brand-lockup strong{font-size:.93rem;font-weight:800}.brand-lockup small{color:var(--muted);font-size:.76rem;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.brand-mark{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(145deg,var(--primary-2),var(--primary));box-shadow:0 10px 20px rgba(49,87,215,.28)}.ghost-button{border:1px solid var(--line);background:#fff;color:var(--muted);padding:9px 13px;border-radius:12px;font-weight:700;font-size:.82rem}.ghost-button:hover{color:var(--primary);border-color:#cbd7fa;background:#f8faff}.page-wrap{width:min(1080px,calc(100% - 28px));margin:18px auto 0}.hero-panel{position:relative;overflow:hidden;padding:34px 30px;border-radius:30px;color:#fff;background:linear-gradient(135deg,#7894f5,#4266dd 44%,#2646bb);box-shadow:0 22px 45px rgba(49,87,215,.24)}.hero-panel:after{content:"";position:absolute;inset:auto -70px -100px auto;width:280px;height:280px;border-radius:50%;border:46px solid hsla(0,0%,100%,.08)}.compact-hero{padding-block:28px}.hero-panel h1{margin:4px 0 8px;font-size:clamp(1.55rem,4vw,2.35rem);line-height:1.2;font-weight:800;position:relative;z-index:1}.hero-panel p{margin:0;color:hsla(0,0%,100%,.86);max-width:700px}.eyebrow,.hero-panel p{position:relative;z-index:1}.eyebrow{display:inline-flex;color:#e8edff;font-weight:800;font-size:.76rem;letter-spacing:.02em}.eyebrow.dark{color:var(--primary)}.card{background:hsla(0,0%,100%,.96);border:1px solid rgba(226,232,244,.95);border-radius:22px;padding:20px;box-shadow:var(--shadow-soft)}.info-panel{margin-top:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.section-heading h2{margin:2px 0 0;font-size:1.16rem;font-weight:800}.muted-text{color:var(--muted);line-height:1.85}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:-18px;padding-inline:14px;position:relative;z-index:3}.admin-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:18px;padding:0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow-soft)}.stat-label{display:block;color:var(--muted);font-weight:700;font-size:.8rem}.stat-number{display:block;margin-top:5px;font-size:1.8rem;font-weight:800;color:var(--text)}.stat-note{display:block;margin-top:2px;color:var(--muted);font-size:.75rem}.dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-card{min-height:126px;border-radius:20px;padding:17px;background:linear-gradient(180deg,#fff,#f8faff);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 8px 20px rgba(44,70,145,.07);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.quick-card:hover{transform:translateY(-2px);border-color:#cad7fb;box-shadow:0 14px 28px rgba(44,70,145,.12)}.quick-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:900;font-size:1.1rem}.quick-card strong{font-size:.95rem}.quick-card small{color:var(--muted);line-height:1.5}.progress-track{width:100%;height:9px;margin-top:12px;overflow:hidden;border-radius:99px;background:#e9edf7}.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary-2),var(--primary));transition:width .35s ease}.list{display:grid;gap:10px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.list-row-main{min-width:0}.list-row strong{display:block;font-size:.9rem}.list-row small{color:var(--muted);font-size:.77rem}.badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:800;background:var(--primary-soft);color:var(--primary)}.badge.success{background:#e8f7f1;color:var(--success)}.badge.warning{background:#fff5df;color:var(--warning)}.form-page{width:min(760px,calc(100% - 28px));margin:18px auto 0}.form-stack{display:grid;gap:14px;margin-top:18px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field label{display:block;margin-bottom:7px;font-size:.82rem;font-weight:800;color:#364261}.input{width:100%;border:1.5px solid var(--line);border-radius:15px;padding:12px 13px;background:#fbfcff;color:var(--text);outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.input:focus{border-color:#8ca2ef;background:#fff;box-shadow:0 0 0 4px rgba(79,110,223,.09)}textarea.input{resize:vertical;min-height:100px}.btn-primary{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border-radius:15px;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--primary-2),var(--primary));box-shadow:0 13px 24px rgba(49,87,215,.24);transition:transform .2s ease,box-shadow .2s ease}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(49,87,215,.3)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{border:1px solid var(--line);background:#fff;color:var(--text);min-height:44px;padding:10px 14px;border-radius:14px;font-weight:800}.option-grid{display:flex;flex-wrap:wrap;gap:8px}.option-button{border:1px solid var(--line);background:#f8faff;color:#65718f;padding:9px 12px;border-radius:13px;font-size:.78rem;font-weight:800}.option-button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--primary-2),var(--primary));box-shadow:0 8px 16px rgba(49,87,215,.2)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;background:var(--primary-soft);color:var(--primary);font-size:.76rem;font-weight:800}.chip button{border:0;background:transparent;color:inherit;padding:0}.notice{padding:12px 14px;border-radius:14px;font-size:.82rem;line-height:1.65}.notice.error{background:#fff0f2;color:#a92f40;border:1px solid #ffd7dd}.notice.success{background:#ebf9f3;color:#126c50;border:1px solid #ccefe1}.notice.info{background:#eef3ff;color:#3854aa;border:1px solid #d8e2ff}.empty-state{text-align:center;padding:34px 18px;color:var(--muted)}.empty-state strong{display:block;color:var(--text);margin-bottom:5px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:26px 16px}.auth-card{width:min(430px,100%);padding:0;overflow:hidden;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 26px 60px rgba(39,65,136,.16)}.auth-cover{padding:28px 26px 24px;color:#fff;background:linear-gradient(140deg,#7894f5,#3157d7);position:relative;overflow:hidden}.auth-cover:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;border:32px solid hsla(0,0%,100%,.09);left:-55px;bottom:-95px}.auth-cover h1{margin:8px 0 4px;font-size:1.55rem;font-weight:800}.auth-cover p{margin:0;color:hsla(0,0%,100%,.84);font-size:.86rem;line-height:1.7}.auth-body{padding:24px;display:grid;gap:15px}.auth-footer{text-align:center;color:var(--muted);font-size:.82rem}.auth-footer a{color:var(--primary);font-weight:800}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.page-title-row h1{margin:0;font-size:1.45rem;font-weight:800}.page-title-row p{margin:4px 0 0;color:var(--muted);font-size:.85rem}.bottom-nav{position:fixed;z-index:40;bottom:14px;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 20px));display:grid;grid-template-columns:repeat(5,1fr);padding:7px;border:1px solid rgba(214,222,239,.95);border-radius:22px;background:hsla(0,0%,100%,.94);backdrop-filter:blur(18px);box-shadow:0 18px 45px rgba(39,65,136,.2)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:15px;padding:7px 3px;color:var(--muted);font-size:.64rem;font-weight:800}.bottom-nav-item:hover{color:var(--primary);background:#f3f6ff}.bottom-nav-icon{width:24px;height:24px;display:grid;place-items:center;font-size:1rem;color:var(--primary);font-weight:900}.timeline,.timeline-row{display:grid;gap:12px}.timeline-row{grid-template-columns:90px 1fr;align-items:start}.timeline-time{color:var(--primary);font-weight:800;font-size:.8rem;padding-top:11px}.timeline-card{padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:#fff}.timeline-card strong{display:block}.timeline-card small{color:var(--muted)}@media (max-width:860px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:620px){.top-strip{width:calc(100% - 16px);margin-top:8px;border-radius:18px}.form-page,.page-wrap{width:calc(100% - 20px);margin-top:12px}.hero-panel{border-radius:24px;padding:26px 20px}.stats-grid{padding-inline:5px;gap:8px}.stat-card{padding:14px;border-radius:17px}.stat-number{font-size:1.45rem}.field-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-card{min-height:116px;padding:14px}.auth-shell{padding:12px}.auth-card{border-radius:24px}.bottom-nav{bottom:8px}.timeline-row{grid-template-columns:70px 1fr}}.teacher-stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.status-big{display:block;margin-top:8px;font-size:1.12rem;font-weight:900;color:var(--text)}.status-big.success{color:var(--success)}.status-big.warning{color:var(--warning)}.status-big.danger{color:var(--danger)}.stat-link{display:inline-flex;margin-top:10px;color:var(--primary);font-size:.78rem;font-weight:800}.attention-banner{margin-top:16px;padding:15px 18px;border-radius:18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #f1d9a9;background:#fff9ec;color:#805a12;box-shadow:var(--shadow-soft)}.attention-banner strong{font-size:.92rem}.attention-banner span{color:inherit;opacity:.8;font-size:.8rem;flex:1;min-width:240px}.attention-banner.warning{border-color:#f1d9a9;background:#fff9ec;color:#805a12}.attention-banner.danger{border-color:#f3cbd0;background:#fff3f5;color:#a52f40}.admin-alert .badge{margin-inline-start:auto}.admin-nav{width:min(1080px,calc(100% - 28px));margin:12px auto 0;display:flex;gap:8px;flex-wrap:wrap}.admin-nav a{padding:9px 13px;border-radius:12px;border:1px solid var(--line);background:#fff;color:#4d5a7b;font-size:.8rem;font-weight:800;box-shadow:0 4px 12px rgba(44,70,145,.05)}.admin-nav a:hover{color:var(--primary);border-color:#cbd7fa;background:#f8faff}.admin-hero{background:linear-gradient(135deg,#506fd8,#2949ae 56%,#183480)}.admin-stats-6{grid-template-columns:repeat(6,minmax(0,1fr))}.danger-text{color:var(--danger)!important}.warning-text{color:var(--warning)!important}.admin-table-wrap,.report-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:16px}.admin-table,.report-table{width:100%;border-collapse:collapse;min-width:800px;background:#fff}.admin-table td,.admin-table th,.report-table td,.report-table th{padding:11px 12px;text-align:right;border-bottom:1px solid var(--line);vertical-align:top;font-size:.78rem}.admin-table th,.report-table th{background:#f6f8fd;color:#52607f;font-weight:900;position:sticky;top:0;z-index:1}.admin-table td strong{display:block}.admin-table td small{display:block;margin-top:2px;color:var(--muted)}.admin-table tbody tr:last-child td,.report-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:#fbfcff}.row-danger td{background:#fff7f8}.row-warning td{background:#fffbf2}.table-link{color:var(--primary);font-weight:900;white-space:nowrap}.badge.danger{background:#ffedf0;color:var(--danger)}.table-empty{text-align:center!important;padding:28px!important;color:var(--muted)}.report-page{padding-bottom:40px}.report-toolbar{margin-top:16px}.month-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.month-form .field{min-width:190px}.printable-report{margin-top:16px;padding:30px}.report-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;border-bottom:2px solid #e5eaf5}.report-header h1{margin:4px 0;font-size:1.55rem}.report-header p{margin:0;color:var(--muted)}.report-kicker{color:var(--primary);font-weight:900;font-size:.76rem}.report-status-box{min-width:130px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fafbff}.report-status-box>span{display:block;color:var(--muted);font-size:.72rem;margin-bottom:7px}.report-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.report-meta-grid>div{padding:12px 13px;border-radius:14px;border:1px solid var(--line);background:#fafbff}.report-meta-grid span,.report-summary-grid span{display:block;color:var(--muted);font-size:.7rem;margin-bottom:4px}.report-meta-grid strong{font-size:.84rem}.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}.report-summary-grid>div{padding:14px;border-radius:15px;background:linear-gradient(180deg,#f8faff,#fff);border:1px solid var(--line)}.report-summary-grid strong{display:block;font-size:1.35rem;color:var(--primary)}.report-table{min-width:1050px}.report-table td{line-height:1.55}.report-signatures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;margin-top:34px;padding-top:12px}.report-signatures span{color:#56627f;font-size:.8rem;font-weight:800}.signature-line{height:42px;border-bottom:1px solid #8d96ac}@media (max-width:980px){.admin-stats-6,.teacher-stats-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.admin-stats-6,.report-meta-grid,.report-summary-grid,.teacher-stats-3{grid-template-columns:1fr 1fr}.printable-report{padding:18px}.report-header{flex-direction:column}}@media (max-width:480px){.admin-stats-6,.report-meta-grid,.report-summary-grid,.teacher-stats-3{grid-template-columns:1fr}}@media print{@page{size:A4 portrait;margin:10mm}body,html{background:#fff!important}body{color:#111827;font-family:Segoe UI,Tahoma,Arial,sans-serif}.admin-nav,.bottom-nav,.no-print,.top-strip{display:none!important}.app-shell{padding:0!important}.page-wrap{width:100%!important;max-width:none!important;margin:0!important}.printable-report{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}.report-table-wrap{overflow:visible!important;border-color:#cbd5e1!important}.report-table{min-width:0!important;font-size:9pt}.report-table td,.report-table th{padding:5px 6px!important;font-size:8.5pt!important}.report-table th{position:static!important;background:#f1f5f9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-meta-grid>div,.report-status-box,.report-summary-grid>div{background:#fff!important;box-shadow:none!important}.badge{border:1px solid #cbd5e1;color:#111827!important}.badge,.row-danger td,.row-warning td{background:#fff!important}a{text-decoration:none!important}}.teacher-hours-admin{margin-bottom:16px}.hours-editor{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--line);background:#fbfcff;border-radius:16px}.hours-editor-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.hours-editor-copy strong{color:var(--text);font-size:.92rem}.hours-editor-copy span{color:var(--muted);font-size:.77rem;line-height:1.65}.hours-editor-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hours-input{width:74px;min-height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);font-weight:900;font-size:1rem;text-align:center;padding:7px 8px;outline:none}.hours-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(49,87,215,.1)}.hours-unit{color:var(--muted);font-size:.72rem;white-space:nowrap}.hours-message{display:block;font-weight:800;font-size:.68rem}.hours-editor-compact{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:0;border:0;background:transparent;min-width:145px}.hours-editor-compact .hours-editor-controls{flex-wrap:nowrap;gap:5px}.hours-editor-compact .hours-input{width:54px;min-height:34px;padding:4px 6px;font-size:.84rem;border-radius:9px}.hours-editor-compact .hours-unit{font-size:.64rem}.hours-save-small{border:0;border-radius:9px;min-height:34px;padding:5px 9px;background:var(--primary);color:#fff;font-size:.68rem;font-weight:900;cursor:pointer}.hours-save-small:disabled{opacity:.55;cursor:not-allowed}.success-text{color:#15803d}@media (max-width:760px){.hours-editor{align-items:flex-start;flex-direction:column}}.portal-hero{background:linear-gradient(135deg,#6f8df0,#3d61db 52%,#2648aa)}.portal-sections-card{margin-top:16px}.portal-sections-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.portal-section{min-height:110px;padding:16px;border:1px solid #dfe6f6;border-radius:18px;background:linear-gradient(180deg,#fff,#f8faff);display:flex;gap:12px;align-items:flex-start;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.portal-section:hover{transform:translateY(-2px);border-color:#c8d5fb;box-shadow:0 12px 26px rgba(52,84,175,.1)}.portal-section-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#edf2ff,#dfe8ff);color:var(--primary);font-weight:900;font-size:1.05rem}.portal-section strong{display:block;color:var(--text);font-size:.88rem;margin-bottom:4px}.portal-section small{display:block;color:var(--muted);line-height:1.55;font-size:.72rem}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;border:1px solid var(--line);border-radius:15px;background:#f4f7fd}.segmented-control button{border:0;border-radius:11px;padding:10px 8px;background:transparent;color:#6b7691;font-weight:800}.segmented-control button.active{background:#fff;color:var(--primary);box-shadow:0 5px 14px rgba(49,87,215,.12)}.session-time-grid{grid-template-columns:1.2fr 1fr 1fr}.student-picker{max-height:300px;overflow-y:auto;overscroll-behavior:contain}.selection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.select-tile{display:flex;align-items:center;gap:9px;text-align:right;border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:#fbfcff;color:var(--text);transition:.18s ease}.select-tile:hover{border-color:#cbd7fa;background:#f6f8ff}.select-tile.active{border-color:#9fb3f4;background:#eef3ff;color:#284bb9;box-shadow:inset 0 0 0 1px rgba(49,87,215,.05)}.check-dot{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:7px;border:1px solid #cfd8ed;background:#fff;color:#fff;font-size:.75rem;font-weight:900}.select-tile.active .check-dot{border-color:transparent;background:linear-gradient(135deg,var(--primary-2),var(--primary))}.section-note{margin:-2px 0 12px;color:var(--muted);font-size:.78rem;line-height:1.7}.input-with-suffix{position:relative}.input-with-suffix .input{padding-left:42px}.input-with-suffix>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:800}.sticky-save{position:sticky;bottom:88px;z-index:12}.compact-stack{gap:12px}.field-hint{display:block;margin-top:5px;color:var(--muted);font-size:.7rem;line-height:1.5}.file-input{padding:9px 12px}.timetable-document-card{margin-top:16px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:24px}.document-hero-icon{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;color:#fff;font-size:1rem;font-weight:900;background:linear-gradient(135deg,#ef6a73,#c93648);box-shadow:0 12px 25px rgba(199,54,72,.2)}.document-hero-copy h2{margin:4px 0 5px;font-size:1.15rem}.document-hero-copy p{margin:0;color:var(--muted);font-size:.8rem}.document-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.big-empty{padding:52px 20px}.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.danger-button{border:0;cursor:pointer;background:#fff0f2!important;color:var(--danger)!important}.filter-link-row{margin:14px 0;display:flex;gap:8px;flex-wrap:wrap}.admin-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.admin-action-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.admin-action-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--primary-soft);color:var(--primary);font-size:1.1rem;font-weight:900}.admin-action-card strong{display:block;color:var(--text);margin-bottom:3px}.admin-action-card small{display:block;color:var(--muted);font-size:.72rem;line-height:1.5}@media (max-width:900px){.portal-sections-grid,.selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-action-grid{grid-template-columns:1fr}.timetable-document-card{grid-template-columns:auto 1fr}.document-actions{grid-column:1/-1;justify-content:stretch}.document-actions a{flex:1}}@media (max-width:620px){.portal-sections-grid{grid-template-columns:1fr 1fr;gap:8px}.portal-section{min-height:108px;padding:13px;flex-direction:column;gap:8px}.portal-section-icon{width:34px;height:34px;flex-basis:34px}.selection-grid{grid-template-columns:1fr 1fr;gap:7px}.select-tile{padding:9px;font-size:.78rem}.session-time-grid,.timetable-document-card{grid-template-columns:1fr}.timetable-document-card{text-align:center}.document-hero-icon{margin:auto}.document-actions{flex-direction:column}.document-actions a{width:100%}.sticky-save{bottom:82px}}@media (max-width:410px){.portal-sections-grid,.selection-grid{grid-template-columns:1fr}}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.mode-switch{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:12px;color:#fff;font-size:.78rem;font-weight:900;background:linear-gradient(135deg,var(--primary-2),var(--primary));box-shadow:0 8px 18px rgba(49,87,215,.18)}.mode-switch:hover{transform:translateY(-1px)}.auth-cover h1,.document-hero-copy h2,.hero-panel h1,.page-title-row h1,.report-header h1,.section-heading h2{text-wrap:balance}.hero-panel h1{margin:8px 0 12px;line-height:1.32}.hero-panel p{margin-top:0;line-height:1.9;font-size:.92rem}.section-heading{align-items:flex-start;margin-bottom:18px}.section-heading>div{display:flex;flex-direction:column;gap:5px;min-width:0}.section-heading h2{margin:0;line-height:1.45}.section-description{margin:2px 0 0;color:var(--muted);line-height:1.8;font-size:.8rem;max-width:760px}.page-title-row h1{line-height:1.4;margin-bottom:6px}.page-title-row p{line-height:1.8;margin-top:0}.card h2+.muted-text,.card h2+.section-note,.card>h1+p,.card>h2+p{margin-top:10px}.empty-state{line-height:1.9}.empty-state strong{margin-bottom:9px;line-height:1.5}.portal-section div{min-width:0}.portal-section strong{line-height:1.5;margin-bottom:7px}.portal-section small{line-height:1.75}.accounts-stack{display:grid;gap:16px;margin-top:18px}.accounts-stats{margin-top:18px;padding:0}.account-create-card{display:grid;gap:16px}.account-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.accounts-table{min-width:820px}.mini-select{min-height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px 9px;color:var(--text);font-weight:800}.compact-btn{min-height:34px;padding:6px 10px;font-size:.72rem}@media (max-width:760px){.top-strip{align-items:flex-start}.top-actions{max-width:52%}.ghost-button,.mode-switch{font-size:.7rem;padding:7px 9px}.account-fields{grid-template-columns:1fr}.section-heading{gap:10px}.section-heading .badge{margin-top:2px}}.admin-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.admin-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.admin-action-grid{grid-template-columns:1fr}}.report-print-sheet{--report-navy:#0b356d;--report-teal:#14899a;--report-light:#eef8fa;--report-line:#9cb8cf;--report-ink:#16243a;max-width:980px;margin:18px auto 0;padding:28px 30px 24px;direction:rtl;color:var(--report-ink);background:#fff;border:1px solid #d7e0ea;border-radius:8px;box-shadow:0 16px 42px rgba(20,48,88,.1)}.report-portrait{max-width:840px}.report-landscape{max-width:1180px}.print-report-header{margin-bottom:18px}.print-report-brand{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:90px}.print-school-logo{width:94px;height:94px;-o-object-fit:contain;object-fit:contain;flex:0 0 auto}.print-brand-copy{margin-inline-start:auto;text-align:right;display:flex;flex-direction:column;gap:4px}.print-brand-copy strong{color:var(--report-navy);font-size:1.05rem;letter-spacing:.02em}.print-brand-copy span{color:#3e536c;font-size:.8rem;font-weight:800}.print-report-title{text-align:center;margin-top:8px}.print-report-title h1{margin:0;color:var(--report-navy);font-size:1.65rem;line-height:1.45}.print-report-title p{margin:6px 0 3px;color:var(--report-teal);font-weight:900;font-size:1rem}.print-report-title>span{color:#66768c;font-size:.78rem;font-weight:800}.print-header-rule{height:4px;margin-top:14px;background:linear-gradient(90deg,var(--report-teal) 0 33%,var(--report-navy) 33% 67%,var(--report-teal) 67% 100%);border-radius:999px}.print-info-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1.5px solid var(--report-line);border-radius:7px;overflow:hidden;margin:18px 0 12px}.print-info-box>div{display:grid;grid-template-columns:118px 1fr;gap:8px;align-items:center;padding:9px 11px;min-height:44px;border-bottom:1px solid #d8e4ed}.print-info-box>div:nth-child(odd){border-inline-end:1px solid #d8e4ed}.print-info-box>div:nth-last-child(-n+2){border-bottom:0}.print-info-box span{color:#53657c;font-size:.72rem;font-weight:800}.print-info-box strong{color:#172b45;font-size:.8rem;overflow-wrap:anywhere}.print-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 18px}.print-kpi-row>div{min-height:82px;border:1px solid #b8ccdc;border-radius:6px;overflow:hidden;text-align:center;background:#fff}.print-kpi-row span{display:block;padding:7px 6px;color:#fff;background:var(--report-navy);font-size:.7rem;font-weight:900}.print-kpi-row strong{display:inline-block;margin-top:9px;color:var(--report-navy);font-size:1.35rem;line-height:1}.print-kpi-row small{margin-inline-start:4px;color:#5e7088;font-size:.68rem;font-weight:700}.admin-print-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.print-status-line{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-4px 0 16px;padding:8px 12px;border:1px solid #cddce7;background:#f8fbfd;border-radius:6px;font-size:.76rem}.print-status-line span{color:#607086;font-weight:800}.print-status-line strong{color:var(--report-navy)}.print-status-line.missing strong{color:#a62f3d}.print-status-line.partial strong{color:#9a6800}.print-status-line.complete strong{color:#147a54}.print-table-section{margin-top:8px}.print-table-section h2{margin:0;padding:8px 12px;color:#fff;background:var(--report-navy);border-radius:6px 6px 0 0;text-align:center;font-size:.86rem}.report-print-sheet .report-table-wrap{border:1px solid var(--report-line);border-top:0;border-radius:0 0 6px 6px;overflow:auto}.report-print-sheet .report-table{min-width:0;table-layout:fixed}.report-print-sheet .report-table td,.report-print-sheet .report-table th{border-bottom:1px solid #cbd9e4;border-inline-start:1px solid #d5e1e9;padding:7px 6px;font-size:.68rem;vertical-align:middle;line-height:1.5}.report-print-sheet .report-table th{position:static;color:#173456;background:#e9f5f7;font-weight:900;text-align:center}.report-print-sheet .report-table td{text-align:center}.report-print-sheet .report-table td:nth-child(6),.report-print-sheet .report-table td:nth-child(8){text-align:right}.report-print-sheet .report-table tfoot td{color:#173456;background:#e9f5f7;font-weight:900}.print-detail-table th:first-child{width:8%}.print-detail-table th:nth-child(2),.print-detail-table th:nth-child(3){width:12%}.print-detail-table th:nth-child(4){width:8%}.print-detail-table th:nth-child(5){width:10%}.print-detail-table th:nth-child(6){width:21%}.print-detail-table th:nth-child(7){width:13%}.print-detail-table th:nth-child(8){width:16%}.print-notes-box{margin-top:16px;border:1px solid var(--report-line);border-radius:6px;overflow:hidden}.print-notes-box>span{display:block;width:-moz-max-content;width:max-content;min-width:140px;margin-inline-start:0;padding:6px 12px;color:#fff;background:var(--report-navy);font-size:.72rem;font-weight:900;text-align:center}.print-notes-box>div{height:70px;background:repeating-linear-gradient(180deg,#fff 0,#fff 23px,#d8e2ea 24px)}.print-notes-box.compact>div{height:48px}.print-signatures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px;margin:20px 34px 8px}.print-signatures>div{text-align:center}.print-signatures span{color:#334b66;font-size:.74rem;font-weight:900}.print-signatures .signature-line{height:34px;border-bottom:1px solid #7d8ca0}.print-report-footer{margin-top:18px;padding-top:8px;border-top:3px solid var(--report-teal);color:#53677d;text-align:center;font-size:.62rem;font-weight:800;letter-spacing:.01em}@media (max-width:720px){.report-print-sheet{padding:18px 14px}.print-report-brand{min-height:76px}.print-school-logo{width:74px;height:74px}.print-report-title h1{font-size:1.25rem}.print-info-box{grid-template-columns:1fr}.print-info-box>div:nth-child(odd){border-inline-end:0}.print-info-box>div:nth-last-child(-n+2){border-bottom:1px solid #d8e4ed}.print-info-box>div:last-child{border-bottom:0}.admin-print-kpis,.print-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.print-signatures{gap:26px;margin-inline:4px}}@page portraitReport{size:A4 portrait;margin:10mm}@page landscapeReport{size:A4 portrait;margin:10mm}.report-landscape,.report-portrait{page:portraitReport}@media print{body,html{background:#fff!important}body{color:#172b45;font-family:Tahoma,Arial,sans-serif}.admin-nav,.bottom-nav,.no-print,.top-strip{display:none!important}.app-shell,.page-wrap{width:100%!important}.app-shell,.page-wrap,.report-print-sheet{max-width:none!important;margin:0!important;padding:0!important}.report-print-sheet{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}.print-info-box,.print-kpi-row,.print-notes-box,.print-report-footer,.print-report-header,.print-signatures,.print-status-line{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}.print-report-brand{min-height:24mm}.print-school-logo{width:24mm;height:24mm}.print-brand-copy strong{font-size:10pt}.print-brand-copy span{font-size:8pt}.print-report-title h1{font-size:18pt}.print-report-title p{font-size:10pt}.print-report-title>span{font-size:8pt}.print-header-rule{height:1.2mm;margin-top:3mm}.print-info-box{margin:4mm 0 3mm}.print-info-box>div{min-height:9mm;padding:1.8mm 2.5mm;grid-template-columns:31mm 1fr}.print-info-box span{font-size:7.5pt}.print-info-box strong{font-size:8pt}.print-kpi-row{gap:2.5mm;margin:3mm 0 4mm}.print-kpi-row>div{min-height:18mm}.print-kpi-row span{padding:1.7mm 1mm;font-size:7pt}.print-kpi-row strong{margin-top:2.2mm;font-size:14pt}.print-kpi-row small{font-size:7pt}.print-table-section h2{padding:1.8mm 2mm;font-size:8pt}.report-print-sheet .report-table-wrap{overflow:visible!important}.report-print-sheet .report-table{width:100%!important;min-width:0!important}.report-print-sheet .report-table td,.report-print-sheet .report-table th{padding:1.3mm 1.1mm!important;font-size:6.8pt!important;line-height:1.35!important}.report-print-sheet .report-table tfoot td,.report-print-sheet .report-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#e9f5f7!important}.print-kpi-row span,.print-notes-box>span,.print-table-section h2{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#0b356d!important;color:#fff!important}.print-header-rule{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-notes-box{margin-top:3.5mm}.print-notes-box>div{height:15mm}.print-notes-box.compact>div{height:10mm}.print-signatures{gap:24mm;margin:4mm 8mm 1mm}.print-signatures .signature-line{height:8mm}.print-report-footer{margin-top:4mm;padding-top:2mm;font-size:6pt}.badge,.row-danger td,.row-warning td{background:#fff!important;color:inherit!important}a{text-decoration:none!important}thead{display:table-header-group}tfoot{display:table-row-group}tr{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}}.report-print-sheet .print-report-brand{position:relative;justify-content:flex-start}.report-print-sheet .print-school-logo{position:absolute;left:50%;transform:translateX(-50%)}.report-print-sheet .print-brand-copy{margin:0;text-align:right}.row-pending td{background:#fffaf0}.pending-invites-card{margin-top:18px}.admin-summary-portrait .print-admin-summary-table th:first-child{width:4%}.admin-summary-portrait .print-admin-summary-table th:nth-child(2){width:19%}.admin-summary-portrait .print-admin-summary-table th:nth-child(3){width:22%}.admin-summary-portrait .print-admin-summary-table th:nth-child(4),.admin-summary-portrait .print-admin-summary-table th:nth-child(5){width:12%}.admin-summary-portrait .print-admin-summary-table th:nth-child(6),.admin-summary-portrait .print-admin-summary-table th:nth-child(7){width:8%}.admin-summary-portrait .print-admin-summary-table th:nth-child(8){width:15%}@media print{.admin-summary-portrait,.report-landscape,.report-portrait{page:portraitReport!important}.admin-summary-portrait .admin-print-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:2mm}.admin-summary-portrait .print-kpi-row>div{min-height:15mm}.admin-summary-portrait .print-kpi-row strong{font-size:12pt}.admin-summary-portrait .print-admin-summary-table td,.admin-summary-portrait .print-admin-summary-table th{padding:1.05mm .7mm!important;font-size:5.8pt!important;line-height:1.25!important;overflow-wrap:anywhere}.admin-summary-portrait .print-admin-summary-table td:nth-child(2),.admin-summary-portrait .print-admin-summary-table td:nth-child(3){text-align:right!important}}