@import url('https://fonts.googleapis.com/css2?family=Almarai:wght@400;700&family=Cairo:wght@400;600;700;800;900&family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&family=Tajawal:wght@400;500;700;800&display=swap');
:root{color-scheme:light;--p:#2177ad;--accent:#0caa70;--dark:#113d56;--sub:#e8f6f2;--gold:#e3a866;--shadow:#132b3a12;--ink:#214457;--bg:#f4f8fa;--line:#e0ebef;--font:'Tajawal',system-ui,sans-serif}
body.girls{--p:#63297c;--accent:#ed8d37;--dark:#37164d;--sub:#f8effb;--gold:#ed8d37;--bg:#faf7fc;--line:#eadff0}
*{box-sizing:border-box}html{direction:rtl}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3{font-family:'Cairo',var(--font);margin:0}h1{font-size:clamp(20px,2.2vw,28px)}h2{font-size:19px}h3{font-size:15px}p{line-height:1.8}small,.small{font-size:11px;color:#728a98}.app{min-height:100vh}.top{background:linear-gradient(125deg,var(--dark),var(--p));color:#fff;padding:15px clamp(14px,2.2vw,28px);display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px}.brand img{width:43px;height:43px;object-fit:contain;background:#ffffff16;border-radius:11px}.brand strong{font:800 17px 'Cairo',sans-serif}.brand small{display:block;color:#d5e7eb}.controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pill{display:inline-block;padding:6px 11px;border-radius:20px;background:var(--sub);color:var(--p);font-size:11px;font-weight:800}.pill.light{background:#ffffff24;color:white;border:1px solid #ffffff30}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 76px)}.side{background:var(--dark);color:white;padding:18px 10px;display:flex;flex-direction:column;gap:4px}.navbtn{border:0;background:transparent;color:#e1eaf3bf;text-align:right;display:flex;align-items:center;gap:11px;padding:12px;border-radius:11px;font-weight:700;width:100%;transition:transform .15s,background .15s}.navbtn:hover{transform:translateX(-2px);background:#ffffff13}.navbtn.active{background:#ffffff22;color:white;border-right:3px solid var(--accent)}.ico{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;flex:0 0 auto}.ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.side .foot{margin-top:auto;font-size:10px;color:#c2d9e0;padding:12px;line-height:1.8}.content{padding:22px;max-width:1550px;width:100%;margin:0 auto}.titlebar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:17px}.titlebar p{margin:3px 0 0;font-size:12px;color:#728692}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:14px 0}.stat,.panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 4px 14px var(--shadow)}.stat{padding:15px;display:flex;align-items:center;gap:12px}.stat .orb{background:var(--sub);color:var(--p);width:43px;height:43px;border-radius:13px;display:grid;place-items:center}.stat b{display:block;font:800 22px 'Cairo',sans-serif}.panel{padding:18px;min-width:0}.panel + .panel{margin-top:13px}.panel h3{margin:0 0 12px}.columns{display:grid;grid-template-columns:320px minmax(0,1fr);gap:15px;align-items:start}.stack{display:grid;gap:13px;align-content:start}.stack .panel+.panel{margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fieldlabel{display:block;font-size:11px;font-weight:800;color:#4e6b7c;margin:0 0 5px}.field{background:white;border:1px solid #d6e4e9;border-radius:10px;width:100%;padding:11px;min-height:40px;color:var(--ink)}.field:focus{outline:2px solid var(--accent);outline-offset:1px}.btn{border:1px solid #d7e7eb;border-radius:10px;background:white;color:var(--dark);padding:10px 14px;display:inline-flex;gap:7px;align-items:center;justify-content:center;font-weight:800;font-size:12px;text-decoration:none;min-height:39px;transition:filter .18s,transform .18s,box-shadow .18s}.btn:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 4px 9px var(--shadow)}.btn.primary{background:linear-gradient(120deg,var(--p),var(--accent));color:white;border-color:transparent}.btn.secondary{background:var(--sub);color:var(--p);border-color:var(--line)}.btn.dark{background:var(--dark);border-color:var(--dark);color:white}.btn.warn{background:#fff3df;border-color:#f7daa6;color:#985e18}.btn.danger{color:#a24545;background:#fff4f4;border-color:#efcbcb}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.between{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.note{background:var(--sub);padding:12px;border:1px solid var(--line);border-radius:10px;color:#537180;font-size:11px;line-height:1.8}.warning{background:#fff7e8;border:1px solid #f1dcb4;color:#885c17}.disclaimer{font-size:10px;color:#738b96;text-align:center;padding:12px;border-top:1px solid var(--line);background:#fff}.lesson-container{max-height:400px;overflow:auto}.unit{background:var(--sub);border-radius:8px;margin:9px 0;padding:8px;color:var(--p);font-weight:900}.lesson{display:flex;gap:8px;align-items:center;border-bottom:1px solid #ecf1f3;padding:10px 4px;font-size:11px}.lesson label{flex:1;cursor:pointer}.lesson input{accent-color:var(--accent)}.lesson small{color:#8198a3;font-size:9px}.scroller{overflow:auto}.timetable{width:100%;min-width:580px;border-collapse:separate;border-spacing:5px;text-align:center}.timetable th{background:#eef3f7;border-radius:7px;padding:9px 5px;color:#416276;font-size:10px}.timetable td{vertical-align:middle;min-width:90px;height:66px;background:#f8fbfc;border:1px dashed #d3e1e6;border-radius:8px;padding:5px}.timetable td.has{background:var(--sub);border:1px solid var(--accent)}.timetable td.closed{background:repeating-linear-gradient(135deg,#f0f1f2,#f0f1f2 7px,#e5e9ed 7px,#e5e9ed 14px);color:#929da6}.timetable .name{font-size:11px;font-weight:800;line-height:1.5}.tiny{border:0;background:transparent;color:var(--p);font-size:10px;font-weight:800;padding:5px}.status{display:inline-block;padding:5px 8px;border-radius:8px;font-size:10px;background:#e9f5ed;color:#117747}.status.sent{background:#e7f1fd;color:#2369a3}.status.draft{background:#f4f4f4;color:#677}.muted{color:#7b92a0}.split{border:0;border-top:1px solid var(--line);margin:14px 0}.file{display:flex;align-items:center;gap:10px;border:1px dashed #bcd2db;background:#fafdfd;border-radius:11px;padding:10px;margin:9px 0}.file input{font-size:10px;max-width:145px}.file div{flex:1;min-width:0}.file strong{font-size:11px}.file small{display:block}.sm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sm-item{background:var(--sub);border-radius:11px;padding:11px;color:var(--dark);display:grid;gap:7px}.sm-item .ico{color:var(--p)}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:11px;border-bottom:1px solid var(--line);font-size:11px;text-align:right}.table th{background:#f4f8fa}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#193d50;color:white;padding:13px 20px;border-radius:13px;box-shadow:0 7px 25px #0002;z-index:10000;max-width:95vw;text-align:center;display:none}.modal{position:fixed;inset:0;background:#102f4488;z-index:9999;display:grid;place-items:center;padding:15px}.dialog{width:min(600px,100%);max-height:86vh;overflow:auto;background:white;border-radius:17px;padding:20px;box-shadow:0 25px 70px #0003}.checkbox{accent-color:var(--accent);height:16px;width:16px}.printable{display:none}.overbar{border-radius:13px;padding:14px;background:var(--sub);color:var(--dark);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.metric{height:7px;background:#e8eef0;border-radius:7px;overflow:hidden}.metric i{display:block;background:var(--accent);height:100%;border-radius:7px;transition:width .25s}.float-icon{animation:bob 3s ease-in-out infinite}.hero-icon{width:46px;height:46px;background:var(--sub);border-radius:15px;color:var(--p);display:grid;place-items:center}.sales{max-width:1180px;margin:auto;padding:30px 16px 60px}.sales .tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sales .tile{border-radius:20px;color:white;padding:35px;min-height:290px;background:linear-gradient(130deg,#36134e,#743a8e);display:flex;flex-direction:column;align-items:flex-start;gap:15px}.sales .tile.boy{background:linear-gradient(130deg,#113f62,#0b8c6d)}.sales .tile h2{font-size:24px}.sales .tile p{color:#f2f5f8;font-size:13px}.sales .tile .btn{margin-top:auto}.disabled-label{opacity:.65}.badge-announce{font-size:10px;border:1px solid #ffffff7f;background:#ffffff1e;padding:6px 11px;border-radius:20px;color:white}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:1000px){.columns{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.layout{display:block}.side{display:flex;flex-direction:row;gap:5px;overflow-x:auto;padding:8px}.side .foot{display:none}.navbtn{width:auto;white-space:nowrap;padding:10px;font-size:11px}.navbtn span:last-child{display:none}.content{padding:10px}.panel{padding:13px}.top{padding:12px}.brand strong{font-size:13px}.cards{gap:7px}.stat{padding:10px;gap:7px}.stat b{font-size:17px}.stat .orb{width:35px;height:35px}.grid{gap:8px}.sales .tiles{grid-template-columns:1fr}.sales .tile{min-height:220px;padding:22px}}
@media print{body{background:white!important;color:#000!important}#app{display:none!important}.printable{display:block!important;margin:0;color:#111;font-family:var(--printfont,'Cairo'),sans-serif;font-size:var(--printsize,10pt)}.printable h1{text-align:center}.printable table{width:100%;border-collapse:collapse}.printable td,.printable th{border:1px solid #888;padding:8px;text-align:center;vertical-align:top}.printable .sign{display:flex;justify-content:space-between;margin-top:25px}.printable.monochrome *{color:black!important;background:white!important;box-shadow:none!important}}

/* V1.1 | Direct weekly allocation action, deliberately shared by both marketing themes */
.direct-distribution{background:linear-gradient(120deg,var(--dark),var(--p));color:#fff;border-radius:16px;padding:18px;display:flex;gap:15px;align-items:center;margin-bottom:13px;box-shadow:0 9px 25px var(--shadow)}
.direct-icon{height:52px;width:52px;border-radius:15px;background:#ffffff1d;color:#fff;display:grid;place-items:center;flex-shrink:0}.direct-icon .ico svg{width:28px;height:28px}
.direct-content{flex:1;min-width:180px}.direct-content h2{color:#fff;font-size:17px;margin:0}.direct-content p{color:#f8faff;font-size:11px;line-height:1.8;margin:5px 0 0}
.btn.quick-distribute{background:var(--accent);border:1px solid #ffffff50;box-shadow:0 6px 20px #0002;white-space:nowrap;min-height:48px;font-size:13px;padding-inline:19px}
.distribution-result{background:var(--sub);color:var(--dark);padding:13px 17px;border-radius:12px;border:1px solid var(--accent);margin-bottom:13px;font-size:12px;line-height:1.9}
.daily-overview{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:7px;overflow-x:auto}
.day-overview{min-width:110px;background:var(--sub);border-radius:11px;padding:9px;display:flex;flex-direction:column;gap:7px}
.day-head{display:flex;align-items:center;justify-content:space-between;gap:5px;border-bottom:1px solid var(--line);padding-bottom:7px;color:var(--dark);font-size:11px}.day-head span{font-size:10px;opacity:.75}
.day-lesson{padding:8px;background:#fff;border-radius:8px;font-size:11px;min-height:56px;display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere;line-height:1.5}.day-lesson small{font-size:9px;color:var(--p)}.day-lesson.ready{border-right:3px solid var(--accent)}.day-lesson.empty{color:#8d9eaa;border:1px dashed var(--line)}
.matrix-toggle{padding:11px;background:var(--sub);color:var(--dark);border-radius:9px;cursor:pointer;font-size:12px;font-weight:800}
@media(max-width:800px){.direct-distribution{flex-wrap:wrap}.btn.quick-distribute{width:100%;white-space:normal}.daily-overview{grid-template-columns:repeat(5,minmax(145px,1fr))}}
@media(prefers-reduced-motion:reduce){.direct-icon *,.btn.quick-distribute{animation:none!important;transition:none!important}}

/* ONE canonical weekly print layout shared by girls and boys — A4 portrait/landscape */
.sheet-preview-wrap{background:#eaf0f4;border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:12px;overflow:auto}
.sheet-preview-title{font-weight:800;font-size:13px;color:var(--dark);margin-bottom:8px}
.tkm-sheet{box-sizing:border-box;display:block;direction:rtl;background:#fff;color:#1c2c38;width:100%;max-width:1120px;min-width:690px;margin:auto;padding:12px;border:1px solid #b2c5ce;border-top:4px solid var(--p);font:var(--sheet-size,10pt)/1.2 var(--sheet-font,'Cairo'),sans-serif;box-shadow:0 10px 26px #0001}
.tkm-sheet.sheet-portrait{max-width:775px}
.sheet-top{display:grid;grid-template-columns:1.25fr .8fr 1.25fr;align-items:center;gap:6px;padding:0 3px 7px;border-bottom:2px solid #557185}
.sheet-school{display:flex;flex-direction:column;text-align:right;line-height:1.18;gap:2px}
.sheet-school span{font-size:.86em}
.sheet-brand{text-align:center;display:flex;flex-direction:column;gap:3px;align-items:center;font-weight:800;color:var(--p)}
.sheet-brand .brand-symbol{width:37px;height:37px;border:1px solid #bdd1d8;border-radius:50%;display:grid;place-items:center;background:#f8fbfa}
.sheet-brand .brand-symbol svg{width:25px;height:25px}
.sheet-brand .school-logo{height:39px;width:auto;max-width:80px;object-fit:contain}
.sheet-meta{display:flex;flex-direction:column;text-align:left;align-items:flex-start;gap:2px;line-height:1.2}
.sheet-meta strong{color:var(--dark)}
.sheet-fill{display:grid;grid-template-columns:1fr 1.4fr;gap:5px;margin:6px 0}
.sheet-student,.sheet-range{min-width:0;border:1px solid #91aeb8;border-radius:3px;display:flex;align-items:center;gap:6px;padding:4px 7px;min-height:25px}
.sheet-student b,.sheet-range b{white-space:nowrap}
.sheet-student span,.sheet-range span{min-width:0;flex:1}
.sheet-table{direction:rtl;width:100%;table-layout:fixed;border-collapse:collapse;font-family:inherit}
.sheet-table col.col-day{width:12%}.sheet-table col.col-period{width:4%}.sheet-table col.col-subject{width:15%}.sheet-table col.col-lesson{width:26%}.sheet-table col.col-homework{width:23%}.sheet-table col.col-sign{width:10%}.sheet-table col.col-notes{width:10%}
.sheet-table th,.sheet-table td{border:1px solid #9fb2b8;text-align:center;vertical-align:middle;padding:2px 3px;font-size:.88em;line-height:1.18;overflow-wrap:break-word}
.sheet-table thead th{color:#fff;background:#394c59;font-size:.92em;font-weight:800}
.sheet-table tbody tr{background:#fff}
.sheet-table .sheet-day-name{font-size:1.01em;font-weight:900;color:#183c50;min-width:0}
.sheet-table .sheet-day-name small{display:block;margin-top:3px;font-size:.78em;font-weight:500}
.sheet-table .sheet-day-0{background:#fce7e7}.sheet-table .sheet-day-1{background:#e8f4fa}.sheet-table .sheet-day-2{background:#eaf7e9}.sheet-table .sheet-day-3{background:#fff1dc}.sheet-table .sheet-day-4{background:#f0e7fb}
.sheet-table .sheet-lesson-row td{background:inherit}
.sheet-table .sheet-lesson-row.sheet-holiday td{background:#eeece6;color:#716a5a}
.sheet-table .sheet-conflict td{background:#ffe0dd!important;color:#8a3a20}
.sheet-table .sheet-subject-cell{font-weight:800}
.sheet-table .sheet-lesson-cell{font-weight:700}
.sheet-table .sheet-lesson-cell small{font-weight:500}
.sheet-table .sheet-homework{font-size:.72em;white-space:nowrap;overflow-wrap:normal;letter-spacing:-.1px}
.sheet-skills{display:flex;gap:6px;align-items:center;border:1px solid #b5c7cc;background:#f4f9fc;padding:5px;margin-top:6px;border-radius:3px;font-size:.82em}
.sheet-skills b{white-space:nowrap}
.sheet-footer{display:flex;justify-content:space-between;gap:8px;margin-top:6px;padding-top:5px;border-top:1px solid #a5b9c0;font-weight:700}
.sheet-end{display:flex;justify-content:space-between;margin-top:4px;font-size:.72em;color:#627883}
.tkm-sheet.sheet-mono,.tkm-sheet.sheet-mono *{background:#fff!important;color:#111!important;border-color:#777!important;box-shadow:none!important}
@media(max-width:760px){.sheet-preview-wrap{padding:8px}.sheet-preview-wrap .tkm-sheet{margin:0;min-width:690px}.print-options .grid{grid-template-columns:1fr}}
@media print{
 body{margin:0!important;background:#fff!important;color:#000!important}
 #app,#popup,#toast,.disclaimer{display:none!important}
 .printable{display:block!important;width:100%!important;margin:0!important;padding:0!important}
 .printable .tkm-sheet{border:0!important;border-top:1px solid #718a92!important;box-shadow:none!important;min-width:0!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;width:100%!important;font-size:var(--sheet-size)!important}
 .printable .tkm-sheet.sheet-portrait{font-size:8.2pt!important}
 .printable .tkm-sheet.sheet-landscape{font-size:7.5pt!important}
 .printable .tkm-sheet.sheet-portrait[data-profile="٧-٧-٧-٧-٧"]{font-size:7.2pt!important}
 .printable .tkm-sheet.sheet-landscape[data-profile="٧-٧-٧-٧-٧"]{font-size:6.5pt!important}
 .printable .sheet-top{padding-bottom:1.1mm!important;gap:2mm}
 .printable .sheet-school{gap:0;line-height:1.1}
 .printable .sheet-brand .brand-symbol{height:8mm;width:8mm}
 .printable .sheet-brand .brand-symbol svg{height:6mm;width:6mm}
 .printable .sheet-brand .school-logo{max-height:9mm}
 .printable .sheet-fill{margin:1.1mm 0!important;gap:1mm}
 .printable .sheet-student,.printable .sheet-range{padding:.7mm 1.3mm!important;min-height:0!important}
 .printable .sheet-table{width:100%!important;table-layout:fixed!important}
 .printable .sheet-table th,.printable .sheet-table td{padding:.4mm .7mm!important;font-size:1em!important;line-height:1.1!important}
 .printable .sheet-table thead th{padding:.6mm .7mm!important;font-weight:900}
 .printable .sheet-table .sheet-day-name{font-size:1.05em!important}
 .printable .sheet-table .sheet-homework{font-size:.75em!important;white-space:nowrap!important;overflow-wrap:normal!important;letter-spacing:-.12px!important}
 .printable .sheet-table .sheet-lesson-row{height:4.2mm!important}
 .printable .sheet-footer{margin-top:1mm!important;padding-top:1mm!important}
 .printable .sheet-end{margin-top:.8mm!important}
 .printable .sheet-skills{margin-top:1mm!important;padding:.7mm!important}
 .printable .sheet-day-0,.printable .sheet-day-1,.printable .sheet-day-2,.printable .sheet-day-3,.printable .sheet-day-4,.printable .sheet-table thead th{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 .printable .sheet-mono *{background:#fff!important;color:#111!important;border-color:#777!important}
}
