@font-face{font-family:Plex;src:url('/assets/IBMPlexSansArabic-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/IBMPlexSansArabic-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/IBMPlexSansArabic-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/IBMPlexSansArabic-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--bg:#f6f8f7;--surface:#fff;--text:#213c35;--muted:#71817b;--line:#e5ebe8;--accent:#138366;--accent-soft:#e9f5ef;--soft:#f0f4f2;--shadow:0 16px 65px #15392b14;--mint-bg:#e6f4ee;--mint-ink:#27765c;--blue-bg:#eaf1f8;--blue-ink:#396c9e;--peach-bg:#fcf0e4;--peach-ink:#a36b38;--violet-bg:#f1ecf9;--violet-ink:#7c5aa7;--yellow-bg:#f7f4dc;--yellow-ink:#8a7731;--rose-bg:#f9ebee;--rose-ink:#a2546c;color-scheme:light}
html[data-theme=dark]{--bg:#14231e;--surface:#1b2c25;--text:#e1eee7;--muted:#a0b4a9;--line:#304139;--accent:#70d4ad;--accent-soft:#263e32;--soft:#23372d;--shadow:0 16px 65px #0003;--mint-bg:#254537;--mint-ink:#94d9b6;--blue-bg:#273c4b;--blue-ink:#a2cbe9;--peach-bg:#45362b;--peach-ink:#e7ba93;--violet-bg:#3b304d;--violet-ink:#c8afe4;--yellow-bg:#413e26;--yellow-ink:#dcd18a;--rose-bg:#462f38;--rose-ink:#e5acbb;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:400 14px/1.7 Plex,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.5;font-weight:600;letter-spacing:-.6px}h2{font-size:19px;font-weight:600}h3{font-size:16px;font-weight:600}small{font-size:12px}.muted{color:var(--muted)}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip-link{position:fixed;top:-80px;right:20px;background:var(--surface);padding:12px;z-index:1000}.skip-link:focus{top:10px}.shell{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100vh}.sidebar{border-left:1px solid var(--line);background:var(--surface);padding:32px 21px;display:flex;flex-direction:column;height:100dvh;position:sticky;top:0}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);padding:0 9px 34px}.brand img{width:42px;height:42px}.brand b{font-size:29px;line-height:1.3;letter-spacing:-1px}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:0}.nav-label{font-size:11px;color:var(--muted);padding:0 13px;margin:6px 0 11px}.nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;min-height:47px;border-radius:9px;padding:11px 14px;width:100%;text-align:right;font-weight:500;color:var(--muted);transition:background .18s,color .18s}.nav-item:hover{background:var(--soft);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-item .count{margin-right:auto;min-width:21px;background:var(--soft);font-size:11px;border-radius:6px;padding:0 5px;text-align:center}.sidebar-foot{margin-top:auto;padding:22px 10px 0}.local-status{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;flex-shrink:0}.profile{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.avatar{height:35px;width:35px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:600}.profile strong{display:block;font-size:12px}.profile small{font-size:10px;color:var(--muted)}.workspace{min-width:0}.topbar{height:75px;padding:0 36px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--surface)}.breadcrumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.breadcrumb b{font-weight:500;color:var(--text)}.top-actions{display:flex;align-items:center;gap:14px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;transition:background .18s}.icon-btn:hover{background:var(--soft)}.top-date{font-size:12px;color:var(--muted)}main{padding:30px 34px 45px;max-width:1700px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 25px}.eyebrow{font-size:11px;color:var(--muted);margin-bottom:5px}.subtitle{color:var(--muted);font-size:12px;margin-top:3px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;min-height:40px;padding:9px 16px;font-weight:500;font-size:12px;border:1px solid var(--line);background:var(--surface);transition:background .18s,transform .18s;white-space:nowrap}.button:hover{background:var(--soft)}.button:active{transform:translateY(1px)}.button.primary{color:white;background:#138366;border-color:#138366;box-shadow:0 3px 6px #13836615}.button.primary:hover{background:#0d7056}.button.danger{color:#be4a4a;border-color:#f2dada}.button.subtle{background:transparent;border-color:transparent}.button.small{padding:6px 10px;min-height:33px;font-size:11px}.button .icon{width:17px;height:17px}.demo-banner{display:flex;align-items:center;gap:9px;background:var(--accent-soft);padding:10px 14px;border-radius:8px;margin-bottom:21px;font-size:11px;color:var(--accent)}.demo-banner p{flex:1}.demo-banner button{font-size:11px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.demo-banner .icon-btn{width:25px;height:25px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 238px;gap:25px;align-items:start}.table-section{min-width:0}.table-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap}.select-table{display:flex;align-items:center;gap:9px}.select-table>select{max-width:200px;background:transparent;border:0;padding:6px 0 6px 20px;font-weight:600;font-size:16px;color:var(--text);cursor:pointer}.select-table .icon-btn{border:1px solid var(--line);width:30px;height:30px;border-radius:7px}.select-table .icon{width:15px;height:15px}.segmented{display:flex;background:var(--line);border:1px solid var(--line);padding:3px;border-radius:8px;gap:3px}.segmented button{border-radius:5px;padding:4px 16px;font-size:11px;color:var(--muted);font-weight:500;min-height:29px}.segmented .selected{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000008}.week-strip{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:8px}.week-controls{display:flex;align-items:center;gap:3px}.week-controls .icon-btn{width:28px;height:28px}.week-label{font-size:12px;font-weight:500;margin:0 4px}.week-note{font-size:10px;color:var(--muted)}.schedule-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.week-grid{display:grid;grid-template-columns:61px repeat(var(--cols),minmax(0,1fr));min-width:550px}.week-grid .corner{background:var(--surface);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);color:var(--muted)}.day-heading{padding:15px 3px 13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;font-size:11px;color:var(--muted)}.day-heading b{display:block;color:var(--text);font-size:18px;font-weight:500;margin-top:2px}.day-heading.is-today{background:var(--accent-soft);color:var(--accent)}.day-heading.is-today b{background:var(--accent);color:var(--surface);width:29px;height:29px;line-height:29px;border-radius:50%;margin:2px auto 0}.time-rail{position:relative;height:var(--height);font-size:9px;color:var(--muted)}.time-rail span{position:absolute;left:8px;transform:translateY(-50%);direction:ltr}.day-track{height:var(--height);position:relative;border-right:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hour-height,92px) - 1px),var(--line) calc(var(--hour-height,92px) - 1px),var(--line) var(--hour-height,92px))}.slot-add{position:absolute;width:100%;height:var(--hour-height,92px);left:0;color:var(--muted);z-index:0;opacity:0;transition:opacity .15s;background:var(--soft)}.slot-add:hover,.slot-add:focus-visible{opacity:1}.lesson{background:var(--class-bg);color:var(--class-ink);border-radius:7px;border-right:3px solid var(--class-ink);padding:8px 9px;text-align:right;overflow:hidden;position:absolute;left:5px;right:5px;z-index:1;transition:filter .18s,transform .18s;display:flex;flex-direction:column;justify-content:center;gap:2px}.lesson:hover{filter:brightness(.975);transform:translateY(-2px);z-index:2}.lesson strong{font-size:11px;font-weight:600;line-height:1.6}.lesson .lesson-time{font-size:9px;direction:ltr;text-align:right;opacity:.85}.lesson small{font-size:9px;opacity:.85;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mint{--class-bg:var(--mint-bg);--class-ink:var(--mint-ink)}.blue{--class-bg:var(--blue-bg);--class-ink:var(--blue-ink)}.peach{--class-bg:var(--peach-bg);--class-ink:var(--peach-ink)}.violet{--class-bg:var(--violet-bg);--class-ink:var(--violet-ink)}.yellow{--class-bg:var(--yellow-bg);--class-ink:var(--yellow-ink)}.rose{--class-bg:var(--rose-bg);--class-ink:var(--rose-ink)}.schedule-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;color:var(--muted);font-size:10px}.schedule-bottom .icon{height:13px;width:13px}.inline{display:inline-flex;align-items:center;gap:6px}.context{padding-top:1px;display:flex;flex-direction:column;gap:25px}.next-card{padding:21px;border-radius:12px;background:#e5f2eb;color:#255b46;position:relative;overflow:hidden}.next-card .overline{display:flex;align-items:center;gap:7px;font-size:10px;color:#54816b;margin-bottom:19px}.next-card h3{font-size:21px;font-weight:600;line-height:1.5}.next-card .next-time{font-size:13px;margin-top:6px;direction:ltr;text-align:right}.next-card .next-room{display:flex;align-items:center;gap:6px;font-size:10px;margin-top:15px;color:#54816b}.next-card .next-room .icon{width:14px;height:14px}.next-card .day-pill{display:inline-block;padding:3px 10px;border-radius:5px;font-size:10px;background:#ffffff80;margin-top:13px}.context-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.context-heading h3{font-size:13px}.text-link{color:var(--accent);font-size:10px;padding:5px 0;display:flex;align-items:center;gap:3px}.text-link .icon{width:12px;height:12px}.mini-task{display:flex;align-items:start;gap:9px;padding:12px 0;border-bottom:1px solid var(--line)}.check-task{flex-shrink:0;border:1.5px solid #c8d5cf;border-radius:5px;width:17px;height:17px;padding:0;display:grid;place-items:center;margin-top:4px;transition:background .2s}.check-task:hover{background:var(--accent-soft);border-color:var(--accent)}.check-task.checked{background:var(--accent);border-color:var(--accent);color:var(--surface)}.check-task .icon{width:12px;height:12px}.mini-task p{font-size:11px;font-weight:500;line-height:1.8}.mini-task small{font-size:9px;color:var(--muted)}.overview-line{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:12px}.overview-line b{font-weight:500;color:var(--text)}.subjects-legend{display:flex;flex-wrap:wrap;gap:12px 17px;margin-top:20px}.legend-item{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.color-dot{display:inline-block;width:7px;height:7px;background:var(--class-ink);border-radius:50%}.mobile-nav,.mobile-brand{display:none}.day-tabs{display:flex;gap:8px;margin-bottom:18px;overflow:auto;padding:3px}.day-tab{flex:1;min-width:48px;padding:9px 6px;border-radius:9px;font-size:10px;color:var(--muted);border:1px solid var(--line);background:var(--surface)}.day-tab b{display:block;font-size:17px;font-weight:500}.day-tab.active{background:var(--accent);color:var(--surface);border-color:var(--accent)}.day-lessons{display:flex;flex-direction:column;gap:10px}.day-lesson{display:flex;align-items:stretch;gap:18px}.day-lesson>.time{width:65px;flex-shrink:0;color:var(--muted);font-size:11px;text-align:left;direction:ltr;padding-top:15px}.day-lesson>.time small{display:block;opacity:.7;font-size:9px}.day-lesson .lesson{position:static;flex:1;min-height:99px;padding:15px 19px;border-radius:9px}.day-lesson .lesson strong{font-size:15px}.day-lesson .lesson small{font-size:11px}.day-lesson .lesson .lesson-time{font-size:10px}.day-end{margin:20px 83px 0 0;color:var(--muted);font-size:10px}.empty{padding:48px 20px;text-align:center;border:1px dashed var(--line);border-radius:12px;background:var(--surface)}.empty>.icon{width:37px;height:37px;color:var(--accent);margin-bottom:10px}.empty h3{margin-bottom:5px}.empty p{font-size:12px;color:var(--muted);margin-bottom:15px}.view-panel{animation:fade .23s ease-out}.page-actions{display:flex;gap:9px}.filter-row{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap}.search-field{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:0 12px;min-height:41px;width:260px;color:var(--muted)}.search-field input{border:0;outline:none!important;background:transparent;width:100%;font-size:12px;color:var(--text);min-width:0}.search-field .icon{width:17px}.task-list{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.task-row{display:flex;align-items:center;gap:15px;padding:20px;border-bottom:1px solid var(--line)}.task-row:last-child{border:0}.task-main{flex:1;min-width:0;text-align:right}.task-main strong{font-size:14px;font-weight:500}.task-meta{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:10px;flex-wrap:wrap;margin-top:5px}.task-row.done .task-main strong{text-decoration:line-through;color:var(--muted)}.task-row .check-task{width:21px;height:21px}.tag{display:inline-block;background:var(--class-bg,var(--soft));color:var(--class-ink,var(--muted));font-size:10px;padding:2px 8px;border-radius:4px}.task-due{font-size:11px;color:var(--muted)}.overdue{color:#bb6444}.subjects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.subject-card{padding:22px;border:1px solid var(--line);background:var(--surface);border-radius:12px}.subject-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.subject-symbol{width:39px;height:39px;background:var(--class-bg);color:var(--class-ink);display:grid;place-items:center;border-radius:10px}.subject-card h3{font-size:18px;margin-bottom:7px}.subject-card p{font-size:11px;color:var(--muted)}.subject-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-top:19px;font-size:10px;color:var(--muted)}.settings-layout{max-width:840px}.settings-block{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:20px}.settings-block h2{font-size:17px;margin-bottom:4px}.settings-description{color:var(--muted);font-size:11px;margin-bottom:22px}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>label,.field>span{font-size:12px;font-weight:500}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);min-height:44px;font-size:12px}.field textarea{min-height:85px;resize:vertical}.field input[type=time],.field input[type=date],.field input[type=number]{direction:ltr;text-align:right}.field small{color:var(--muted);font-size:10px}.field.full{grid-column:1/-1}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.settings-row:last-child{border:0;padding-bottom:0}.settings-row h3{font-size:13px}.settings-row p{font-size:11px;color:var(--muted);margin-top:4px;max-width:500px}.switch{position:relative;width:41px;height:24px;flex-shrink:0;cursor:pointer}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.switch span{display:block;width:100%;height:100%;background:#ccd7d1;border-radius:14px;pointer-events:none}.switch span:after{content:'';position:absolute;width:18px;height:18px;border-radius:50%;top:3px;right:3px;background:white;transition:transform .2s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translateX(-17px)}.switch input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.settings-footer{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.settings-block .days-checkboxes{display:flex;flex-wrap:wrap;gap:7px}.day-check{cursor:pointer;position:relative}.day-check input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;min-height:0;padding:0;margin:0;inset-inline-start:0;top:0}.day-check span{display:block;border:1px solid var(--line);padding:7px 10px;border-radius:7px;font-size:11px}.day-check input:checked+span{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.day-check input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.cal-head{text-align:center;font-size:11px;color:var(--muted);padding:13px 4px;background:var(--soft)}.cal-day{min-height:106px;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:10px;text-align:right;min-width:0}.cal-day:nth-child(7n){border-left:0}.cal-day.other{background:var(--bg);color:var(--muted)}.cal-day.today .day-number{background:var(--accent);color:var(--surface)}.cal-day.selected{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}.day-number{display:inline-grid;place-items:center;font-size:13px;width:25px;height:25px;border-radius:50%;margin-bottom:7px}.cal-task{display:block;font-size:9px;background:var(--peach-bg);color:var(--peach-ink);padding:2px 6px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}.cal-lessons{display:block;font-size:9px;color:var(--muted)}.notice{font-size:11px;color:var(--muted);background:var(--soft);padding:12px 14px;border-radius:7px;line-height:1.9}.vacation-banner{background:var(--yellow-bg);color:var(--yellow-ink)}.calendar-agenda{margin-top:22px}.calendar-agenda h3{margin-bottom:14px}.agenda-item{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.agenda-item span:last-child{margin-right:auto;direction:ltr;font-size:11px;color:var(--muted)}dialog{width:min(510px,calc(100vw - 28px));max-height:90dvh;overflow-y:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);padding:0;box-shadow:var(--shadow)}dialog::backdrop{background:#10271e6b;backdrop-filter:blur(3px)}dialog[open]{animation:modal-in .2s ease-out}.dialog-head{padding:22px 24px 16px;display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:21px}.dialog-body{padding:0 24px 24px}.dialog-body .fields-grid{gap:16px}.dialog-footer{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:17px 24px;background:var(--bg)}.dialog-footer .spacer{flex:1}.form-error{color:#be4a4a;font-size:12px;min-height:1em;margin-top:10px}.color-options{display:flex;gap:11px}.color-choice{position:relative;cursor:pointer}.color-choice{position:relative}.color-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;margin:0;inset-inline-start:0;top:0}.color-choice span{width:31px;height:31px;border-radius:50%;display:block;background:var(--class-bg);border:2px solid transparent;box-shadow:inset 0 0 0 6px var(--class-ink)}.color-choice input:checked+span{outline:2px solid var(--class-ink);outline-offset:3px}.color-choice input:focus-visible+span{outline:3px solid var(--text);outline-offset:4px}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);background:#213c35;color:white;border-radius:9px;padding:12px 21px;box-shadow:var(--shadow);font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.toast button{color:#a2e6c9;font-size:12px;margin-right:15px;text-decoration:underline;pointer-events:auto}.save-warning{background:#fff2e4;color:#965622;padding:10px 16px;border-radius:7px;margin-bottom:20px;font-size:12px}.print-title{display:none}.mode-label{font-size:10px;color:var(--muted);margin-right:8px}.import-info{margin:15px 0}.screen-note{margin-top:20px;color:var(--muted);font-size:10px}
@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1500px){main{padding:40px 50px}.layout{grid-template-columns:minmax(0,1fr) 268px;gap:30px}.lesson strong{font-size:13px}.lesson small,.lesson .lesson-time{font-size:10px}.shell{grid-template-columns:238px minmax(0,1fr)}}
@media(max-width:1200px){.shell{grid-template-columns:184px minmax(0,1fr)}.sidebar{padding:26px 14px}.brand{padding:0 6px 30px}.brand b{font-size:26px}.brand img{width:37px;height:37px}main{padding:25px 24px}.topbar{padding:0 24px}.layout{grid-template-columns:minmax(0,1fr) 207px;gap:19px}.lesson{padding:5px 6px;left:4px;right:4px}.lesson strong{font-size:10px}.lesson .lesson-time{font-size:8px}.week-grid{grid-template-columns:48px repeat(var(--cols),minmax(0,1fr));min-width:470px}.time-rail span{left:6px;font-size:8px}.next-card{padding:18px}.subjects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1030px){.context{display:none}.layout{grid-template-columns:1fr}.shell{grid-template-columns:190px minmax(0,1fr)}.lesson strong{font-size:12px}.lesson .lesson-time{font-size:9px}.lesson small{font-size:10px}.schedule-box{overflow-x:auto}}
@media(max-width:720px){.shell{display:block}.sidebar{display:none}.topbar{height:64px;padding:0 20px}.breadcrumb,.top-date{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:23px;font-weight:600}.mobile-brand img{width:30px;height:30px}.top-actions{gap:4px}main{padding:24px 18px 105px}.page-head{margin-bottom:22px;align-items:flex-start;gap:10px}.page-head h1{font-size:25px}.eyebrow{font-size:10px}.subtitle{font-size:11px}.page-actions .button{font-size:11px;padding:9px 11px;min-height:38px}.page-actions .button.secondary-head{display:none}.page-actions{margin-top:10px}.mobile-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:space-around;border-top:1px solid var(--line);background:var(--surface);padding:7px 8px calc(8px + env(safe-area-inset-bottom))}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 10px;flex:1;color:var(--muted);font-size:9px;min-height:47px}.mobile-nav button.active{color:var(--accent)}.mobile-nav button.active .icon{stroke-width:2.2}.mobile-nav button .icon{height:21px;width:21px}.demo-banner{font-size:10px;align-items:flex-start;padding:10px 11px;gap:7px;flex-wrap:wrap;margin-bottom:22px}.demo-banner>.icon{width:15px;height:15px;margin-top:3px}.demo-banner p{min-width:180px}.demo-banner button{font-size:10px}.table-toolbar{margin-bottom:17px;gap:8px}.select-table>select{font-size:14px;max-width:165px}.segmented button{padding:3px 12px;min-height:28px}.week-note{display:none}.week-label{font-size:11px}.week-strip{margin-bottom:18px}.subjects-legend{gap:9px 15px}.schedule-bottom{font-size:9px;flex-wrap:wrap}.day-lesson{gap:12px}.day-lesson>.time{width:55px;font-size:10px}.day-lesson .lesson{padding:16px;min-height:102px}.day-lesson .lesson strong{font-size:16px}.day-lesson .lesson small{font-size:11px}.day-end{margin-right:67px}.day-tabs{gap:5px}.day-tab{min-width:43px;font-size:9px}.day-tab b{font-size:16px}.week-grid{min-width:660px}.lesson strong{font-size:11px}.context{display:none}.subjects-grid{grid-template-columns:1fr 1fr;gap:10px}.subject-card{padding:16px}.subject-card h3{font-size:15px}.subject-top{margin-bottom:17px}.subject-symbol{width:34px;height:34px}.subject-card p{font-size:10px}.subject-foot{font-size:9px}.filter-row{gap:12px}.search-field{width:100%}.task-row{padding:17px 14px;gap:10px;flex-wrap:wrap}.task-main strong{font-size:12px}.task-row .task-due{font-size:10px;max-width:85px}.task-row .icon-btn{width:29px}.task-meta{font-size:9px;gap:7px}.task-list{border-radius:10px}.settings-block{padding:19px 17px}.fields-grid{gap:15px}.settings-row{gap:15px}.settings-row h3{font-size:12px}.settings-row p{font-size:10px}.settings-footer .button{font-size:10px;padding:8px 12px}.calendar-grid{border-radius:9px}.cal-head{font-size:9px;padding:11px 1px}.cal-day{min-height:76px;padding:5px 3px}.day-number{font-size:12px;margin-bottom:3px}.cal-task{font-size:7px;padding:2px 3px}.cal-lessons{font-size:7px}.calendar-head h2{font-size:17px}.dialog-body{padding:0 20px 20px}.dialog-head{padding:18px 20px 14px}.dialog-head h2{font-size:19px}.dialog-footer{padding:15px 20px}.toast{bottom:88px;font-size:11px;min-width:230px}.screen-note{font-size:9px}.subject-foot .button{font-size:9px;padding:4px 7px}.mode-label{display:none}}
@media(max-width:370px){main{padding-inline:13px}.page-head h1{font-size:23px}.subjects-grid{grid-template-columns:1fr}.day-tab{min-width:39px}.fields-grid{grid-template-columns:1fr}.task-row .task-due{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;color:#213c35}.sidebar,.topbar,.mobile-nav,.page-actions,.context,.demo-banner,.schedule-bottom,.week-strip button,.table-toolbar,.toast,.subjects-legend{display:none!important}.shell,.layout{display:block}main{padding:0;max-width:none}.week-grid{min-width:0}.schedule-box{border-radius:0;overflow:visible}.lesson{-webkit-print-color-adjust:exact;print-color-adjust:exact}.page-head{margin:0 0 15px}.subtitle:after{content:' — جدولي'}.print-title{display:block}.view-panel{animation:none}.day-lesson{break-inside:avoid}.day-heading,.lesson{break-inside:avoid}}

.lesson .lesson-time,.next-card .next-time,.agenda-item>span:last-child{direction:rtl;display:flex;gap:4px;align-items:center;flex-wrap:wrap}.lesson .lesson-time{flex-wrap:nowrap;white-space:nowrap}.lesson{padding-block:6px}.lesson strong{line-height:1.5}.day-lesson .lesson{padding-block:16px}.day-end{display:flex;align-items:center;gap:7px}.day-end>.icon{width:14px;height:14px}

/* A school timetable uses numbered columns; time-based views stay available. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.school-layout{grid-template-columns:minmax(0,1fr);gap:0}.school-view-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.school-view-meta p{font-size:12px;color:var(--muted)}.school-view-meta .button{background:var(--surface)}.school-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);isolation:isolate}.school-table{border-collapse:separate;border-spacing:0;width:100%;min-width:960px;table-layout:fixed;font-size:12px}.school-table th{font-weight:500}.school-table th,.school-table td{border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line)}.school-table tr>:last-child{border-inline-end:0}.school-table tbody tr:last-child>*{border-bottom:0}.school-table .school-event{border-bottom:0}.school-table thead th{height:120px;background:var(--surface)}.school-table th>button{width:100%;height:100%;padding:12px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text)}.school-table th>button:hover{background:var(--accent-soft)}.period-heading span{color:var(--muted);font-size:10px}.period-heading b{font-size:25px;line-height:1.25;font-weight:600}.school-table th small{display:block;font-size:9px;line-height:1.7;color:var(--muted);margin-top:4px;white-space:nowrap}.school-table th small span{display:block;font-size:9px}.school-table .event-heading{width:68px;background:var(--soft)}.event-heading b{font-size:11px;line-height:1.5;margin:5px 0}.event-heading .icon{width:18px;height:18px;color:var(--accent)}.school-day-label{position:static;z-index:2;width:92px;background:var(--surface);padding:13px 8px;text-align:center;border-inline-end:1px solid var(--line);box-shadow:-3px 0 6px #15392b04}.school-day-label strong{font-size:12px;font-weight:600;display:block}.school-day-label.is-today{background:var(--accent-soft);color:var(--accent)}.school-cell{height:102px;padding:5px;vertical-align:middle}.period-lesson{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:90px;width:100%;padding:10px 7px;text-align:right;background:var(--class-bg);color:var(--class-ink);border-radius:7px;border-inline-start:3px solid var(--class-ink);transition:filter .15s,transform .15s}.period-lesson:hover{filter:brightness(.97);transform:translateY(-2px)}.period-lesson strong{font-size:12px;line-height:1.7;font-weight:500;overflow-wrap:anywhere}.period-lesson small{font-size:9px;line-height:1.6;opacity:.8}.period-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:90px;width:100%;border-radius:7px;color:var(--muted);font-size:9px}.period-empty .icon{height:16px;width:16px;opacity:.4}.period-empty span{opacity:0}.period-empty:hover,.period-empty:focus-visible{background:var(--accent-soft);color:var(--accent)}.period-empty:hover span,.period-empty:focus-visible span{opacity:1}.school-event{background:var(--soft);text-align:center;vertical-align:middle;padding:0 3px}.school-event.prayer{background:var(--accent-soft)}.school-event button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;min-height:180px;color:var(--muted);font-size:11px}.school-event .icon{width:20px;height:20px;opacity:.7}.school-event span{line-height:2;max-width:52px}.school-event small{font-size:9px;white-space:nowrap}.school-scroll-hint{display:none}.custom-lessons{margin-top:20px;padding:18px 0;border-top:1px solid var(--line)}.custom-lessons h3{font-size:13px}.custom-lessons h3 span{font-size:11px;color:var(--muted);margin-inline-start:5px}.custom-lessons p{font-size:11px;color:var(--muted);margin:6px 0 12px}.custom-lessons>div{display:flex;gap:8px;flex-wrap:wrap}.school-form-intro{margin-bottom:20px}.school-event-fields{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.school-event-fields h3,.school-preview h3{font-size:13px;font-weight:600;margin-bottom:12px}.school-event-fields[hidden],.prayer-fields[hidden]{display:none}.prayer-fields{margin-top:15px}.field-help{font-size:10px;color:var(--muted);line-height:1.8;margin-top:12px}.school-preview{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}#school-preview{display:flex;flex-wrap:wrap;gap:7px;font-size:11px;color:var(--muted)}.preview-slot{padding:7px 10px;background:var(--soft);border-radius:6px;display:flex;flex-direction:column;gap:4px}.preview-slot b{font-size:10px;font-weight:500}.preview-slot small{font-size:9px}.preview-slot.class{background:var(--accent-soft);color:var(--accent)}
@media(max-width:720px){.table-toolbar{flex-wrap:wrap;gap:15px}.table-toolbar>.segmented{flex-shrink:0}.school-view-meta{align-items:center}.school-view-meta p{font-size:10px}.school-view-meta .button{font-size:10px}.school-scroll-hint{display:block;color:var(--muted);font-size:10px;margin:0 0 10px}.school-table{min-width:1000px}.school-day-label{width:78px}.school-cell{height:100px}.period-lesson strong{font-size:12px}.school-table .event-heading{width:70px}.school-scroll{border-radius:10px}.period-empty span{opacity:1}.school-table th>button{min-height:120px}.school-view-meta .button{min-height:40px}}
@media print{.school-view-meta,.school-scroll-hint,.custom-lessons{display:none!important}.school-scroll{overflow:visible;border-radius:0}.school-table{min-width:0;font-size:9px}.school-day-label{position:static;width:60px}.school-table .event-heading{width:45px}.school-table thead th{height:100px}.school-table th>button{min-height:0;padding:6px 2px}.school-cell{height:75px;padding:3px}.period-lesson{min-height:65px;padding:5px}.period-lesson strong{font-size:9px}.period-lesson small{font-size:7px}.school-table th small,.school-table th small span{font-size:7px}.school-day-label strong{font-size:10px}.event-heading b,.school-event button{font-size:8px}.school-event button{min-height:0}.period-empty .icon,.period-empty span{display:none}.period-lesson,.school-event,.school-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.school-table tr{break-inside:avoid}}
.schedule-now{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);margin:-3px 0 14px;min-height:19px}.schedule-now:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--muted);flex-shrink:0}.schedule-now.active{color:#c83f43}.schedule-now.active:before{background:#e4474b;box-shadow:0 0 0 3px #e4474b15}.school-timeline{position:relative;min-width:960px}.now-marker{position:absolute;z-index:3;pointer-events:none;background:#e4474b}.now-marker span{position:absolute;background:#e4474b;color:white;font-size:9px;line-height:1.6;padding:1px 5px;border-radius:3px;white-space:nowrap}.now-horizontal{height:2px;left:0;right:0}.now-horizontal:before{content:'';position:absolute;right:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:#e4474b}.now-horizontal span{right:5px;bottom:4px}.now-vertical{width:2px;top:0;bottom:0}.now-vertical:before{content:'';position:absolute;top:0;left:-4px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid #e4474b}.now-vertical span{top:5px;right:6px}.school-cell.is-current-slot{box-shadow:inset 0 0 0 2px #e4474b}.day-lesson{position:relative}.school-day-label{z-index:4}
@media(max-width:720px){.school-timeline{min-width:1000px}.schedule-now{font-size:9px;margin-bottom:12px}}
@media print{.now-marker,.schedule-now{display:none!important}.school-timeline{min-width:0}.school-cell.is-current-slot{box-shadow:none}}

/* Keep form controls inside their layout, including native date inputs. */
.fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.field input,.field select,.field textarea{min-width:0;max-width:100%}
.settings-row>div{min-width:0;flex:1}.settings-row>button,.settings-row>select{flex-shrink:0;max-width:100%}
.settings-block{padding:0;min-width:0}
.settings-block>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 25px;cursor:pointer;list-style:none}
.settings-block>summary::-webkit-details-marker{display:none}
.settings-block>summary h2{margin:0}.settings-block>summary small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.settings-block>summary .icon{transition:transform .18s;flex-shrink:0}
.settings-block[open]>summary .icon{transform:rotate(180deg)}
.settings-block>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}
.settings-body{padding:0 25px 25px;min-width:0}
.mobile-school-tools{display:none}
@media(max-width:720px){
  .topbar{height:48px;padding:0 12px}.mobile-brand{font-size:20px;gap:6px}.mobile-brand img{width:26px;height:26px}
  main{padding:12px 10px calc(72px + env(safe-area-inset-bottom))}.page-head{margin-bottom:10px;align-items:center;gap:8px}.page-head h1{font-size:21px;line-height:1.5}.page-head .eyebrow,.page-head .subtitle{display:none}.page-head>div:first-child{min-width:0}
  .page-actions{margin:0;flex-shrink:0;gap:5px}.page-actions .button{min-height:38px;padding:7px 10px;font-size:11px}
  .mobile-nav{padding:3px 4px calc(3px + env(safe-area-inset-bottom))}.mobile-nav button{gap:2px;padding:3px 4px;min-height:48px;font-size:10px}.mobile-nav button .icon{width:20px;height:20px}
  .demo-banner{padding:6px 8px;gap:6px;margin-bottom:10px;align-items:center;flex-wrap:nowrap;font-size:10px}.demo-banner>.icon{display:none}.demo-banner p{min-width:0}.demo-banner button{flex-shrink:0}.demo-banner .icon-btn{width:28px;height:32px}
  .table-toolbar{gap:8px;flex-wrap:nowrap;margin-bottom:6px}.select-table{min-width:0;flex:1;gap:5px}.select-table>select{width:100%;max-width:150px;min-width:0;font-size:12px;padding-block:6px}.select-table .icon-btn{flex-shrink:0;width:32px;height:36px}.segmented{padding:2px;gap:1px;flex-shrink:0}.segmented button{padding:4px 9px;min-height:32px;font-size:11px}
  .week-strip{margin-bottom:4px;gap:4px}.week-controls{gap:0;min-width:0}.week-controls .icon-btn{width:32px;height:36px}.week-label{font-size:11px;margin:0 2px}.week-controls .button{min-height:36px;padding:4px 7px}.mobile-school-tools{display:inline-flex}.mobile-school-tools .icon-btn{width:36px;height:36px;border:1px solid var(--line)}
  .schedule-now{font-size:10px;min-height:17px;margin:0 0 6px;line-height:1.5}.school-view-meta{display:none}.school-scroll-hint{font-size:10px;margin:0 0 5px}.school-scroll{border-radius:8px}.school-timeline,.school-table{min-width:740px}
  .school-day-label{width:62px;padding:6px 4px}.school-day-label strong{font-size:11px}.school-day-label small{font-size:8px}.school-table .event-heading{width:44px}.school-table thead th{height:78px}.school-table th>button{padding:5px 2px;min-height:78px;gap:0}.period-heading span{font-size:9px}.period-heading b{font-size:20px}.school-table th small,.school-table th small span{font-size:8px;line-height:1.5;margin-top:2px}.event-heading b{font-size:9px;margin:2px 0}.event-heading .icon{width:14px;height:14px}
  .school-cell{height:66px;padding:3px}.period-lesson{min-height:60px;padding:5px 4px;gap:3px;border-radius:5px;border-inline-start-width:2px}.period-lesson strong{font-size:11px;line-height:1.4}.period-lesson small{font-size:9px;line-height:1.4}.period-empty{min-height:60px;gap:2px}.school-event{padding:0 2px}.school-event button{font-size:10px;gap:8px;min-height:0}.school-event span{line-height:1.6}.school-event small{font-size:8px}.school-event .icon{width:16px;height:16px}
  .schedule-bottom{padding-top:7px;gap:4px;font-size:9px}.subjects-legend{margin-top:8px;gap:5px 10px}.legend-item{font-size:9px}.school-scroll-hint+.school-scroll{margin:0}.custom-lessons{margin-top:12px;padding:10px 0}
  .week-grid{min-width:540px;grid-template-columns:45px repeat(var(--cols),minmax(0,1fr))}.day-heading{padding:7px 2px;font-size:10px}.day-heading b{font-size:16px}.lesson{left:3px;right:3px;padding:4px 5px}.lesson strong{font-size:10px;line-height:1.4}.lesson .lesson-time{font-size:8px}
  .day-tabs{gap:4px;margin-bottom:8px;padding:2px}.day-tab{padding:5px 3px;min-width:38px;line-height:1.5}.day-tab b{font-size:15px}.day-lessons{gap:7px}.day-lesson{gap:8px}.day-lesson>.time{width:46px;font-size:10px;padding-top:9px}.day-lesson .lesson{min-height:70px;padding:9px 11px;gap:1px}.day-lesson .lesson strong{font-size:13px}.day-lesson .lesson small{font-size:10px}.day-end{margin:10px 54px 0 0}
  .settings-block{margin-bottom:8px;border-radius:9px}.settings-block>summary{padding:12px;min-height:68px}.settings-block>summary h2{font-size:14px}.settings-block>summary small{font-size:11px}.settings-block>summary .icon{width:17px;height:17px}.settings-body{padding:0 12px 12px}.settings-description{font-size:11px;line-height:1.6;margin-bottom:12px}.settings-footer{gap:6px;margin-top:12px}.settings-footer .button{min-height:38px;padding:7px 9px;font-size:11px;white-space:normal}.settings-row{padding:10px 0;gap:10px}.settings-row h3{font-size:12px}.settings-row p{font-size:11px;line-height:1.5;margin-top:2px}.settings-row>select{font-size:12px;max-width:45%}.settings-row .button{min-height:38px}.fields-grid,.dialog-body .fields-grid{gap:10px}.field{gap:4px}.field>label,.field>span{font-size:11px}.field input,.field select,.field textarea{padding:7px 8px;font-size:16px;min-height:40px}.field small{font-size:10px;line-height:1.5}.field textarea{min-height:65px}.settings-block .days-checkboxes{gap:5px}.day-check span{padding:7px 8px;font-size:11px;min-height:36px}.screen-note{margin-top:12px;font-size:10px;line-height:1.6}
  .subjects-grid{gap:8px}.subject-card{padding:12px;min-width:0;border-radius:9px}.subject-top{margin-bottom:8px}.subject-symbol{width:29px;height:29px;border-radius:7px}.subject-card h3{font-size:14px;overflow-wrap:anywhere;line-height:1.5;margin-bottom:4px}.subject-card p{overflow-wrap:anywhere}.subject-foot{margin-top:10px;padding-top:8px;gap:4px;flex-wrap:wrap}.subject-foot .button{min-height:32px}.subject-top .icon-btn{width:32px;height:32px}
  .filter-row{gap:7px;margin-bottom:10px}.search-field{min-height:38px}.search-field input{font-size:16px}.task-row{padding:12px 10px;gap:8px}.task-main strong{font-size:12px;line-height:1.5}.task-meta{gap:5px;margin-top:3px}.task-row .icon-btn{width:32px;height:36px}.task-row .task-due{max-width:73px;font-size:9px}
  .calendar-head{margin-bottom:10px;gap:5px}.calendar-head h2{font-size:16px}.cal-head{padding:7px 1px}.cal-day{min-height:58px;padding:4px 2px}.cal-task{font-size:8px}.cal-lessons{font-size:8px}.empty{padding:24px 12px}
  dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:12px}.dialog-head{padding:12px}.dialog-head h2{font-size:18px}.dialog-body{padding:0 12px 12px}.dialog-footer{padding:10px 12px;gap:5px}.dialog-footer .button{padding:8px 10px;min-height:40px}.school-form-intro{margin-bottom:10px}.school-event-fields,.school-preview{padding-top:12px;margin-top:12px}.school-event-fields h3,.school-preview h3{margin-bottom:8px}.field-help{margin-top:8px}.preview-slot{padding:5px 7px}.toast{bottom:calc(66px + env(safe-area-inset-bottom))}
}
@media(max-width:370px){.fields-grid{grid-template-columns:1fr}.subjects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head h1{font-size:19px}.segmented button{padding-inline:6px}.settings-row{flex-wrap:wrap}.settings-row>div{flex-basis:55%}}
@media(prefers-reduced-motion:reduce){.settings-block>summary .icon{transition:none}}

/* Readable, horizontally scrollable school timetable on phones and tablets. */
.slot-time-full bdi{display:block}
.lesson-context{display:flex;flex-direction:column;gap:4px;padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.lesson-context strong{font-size:15px;font-weight:500}.lesson-context>span{display:flex;gap:5px;align-items:center;color:var(--muted);font-size:12px}.lesson-context .icon{width:14px;height:14px}
@media screen and (max-width:1030px){
  .school-scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;border:0;border-radius:0;background:transparent}.school-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .school-timeline,.school-table{width:100%;min-width:var(--school-min-width,850px)}.school-table{border-spacing:4px;font-size:12px}.school-table th,.school-table td{border:0}
  .school-day-label{position:static;z-index:4;width:58px;padding:6px 4px;border-radius:6px;box-shadow:-4px 0 0 var(--bg);line-height:1.5}.school-day-label strong{font-size:11px}.school-table .school-date-full{font-size:9px;margin-top:4px}
  .school-table thead th{height:82px}.school-table th>button{min-height:82px;padding:6px 4px;gap:0}.school-table .period-heading{background:var(--accent);border-radius:6px}.period-heading>button>span{display:none}.period-heading b{font-size:20px;line-height:1.2;color:var(--surface)}.school-table .slot-time-full{width:100%;margin-top:4px;font-size:11px;line-height:1.5}.period-heading .slot-time-full bdi{padding:1px 3px;margin-top:3px;border-radius:4px;background:var(--surface);color:var(--text);font-weight:500}
  .school-table .event-heading{width:44px;padding:0;border-radius:6px;background:var(--soft)}.event-heading b{font-size:10px;line-height:1.4;margin:3px 0}.event-heading .icon{width:15px;height:15px}.school-table .event-heading .slot-time-full{font-size:9px;line-height:1.5;margin-top:3px}.school-event{padding:0 3px;border-radius:6px}.school-event button{font-size:11px;gap:9px;min-height:60px;padding:0}.school-event span{line-height:1.6}.school-event small{font-size:9px}.school-event .icon{width:17px;height:17px}
  .school-cell{height:80px;padding:0}.period-lesson{min-height:76px;padding:7px 4px;gap:4px;text-align:center;border:0;border-radius:6px;box-shadow:none;container-type:normal}.period-lesson strong{display:block;font-size:14px;font-weight:600;line-height:1.4;color:var(--text);overflow-wrap:anywhere}.period-lesson small{display:block;font-size:12px;font-weight:500;line-height:1.4;color:var(--text);opacity:.85;white-space:normal;overflow-wrap:anywhere}.period-empty{min-height:76px;padding:0;border-radius:6px;background:var(--soft)}.period-empty span{display:none}.period-empty .icon{width:16px;height:16px}
  .school-cell.is-current-slot{box-shadow:none}.school-cell.is-current-slot>.period-lesson,.school-cell.is-current-slot>.period-empty{box-shadow:inset 0 0 0 2px #e4474b}.now-vertical span{font-size:9px}
}
@media(hover:none){.period-lesson:hover{transform:none}}

/* Keep everyday schedule actions to two rows; management lives in Settings. */
.schedule-controls{display:contents}.mobile-schedule-actions,.table-demo-badge{display:none}
@media screen and (max-width:720px){
  .schedule-page>.page-head{display:contents}.schedule-page>.page-head .page-actions{display:none}.schedule-page>.page-head h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .schedule-page>.sample-banner,.schedule-page .school-scroll-hint,.schedule-controls .select-table{display:none}
  .table-demo-badge{display:inline;font-size:10px;font-weight:400;color:var(--muted)}
  .schedule-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:4px 8px;margin-bottom:5px}.schedule-controls .table-toolbar{display:contents}
  .mobile-schedule-actions{grid-column:3;grid-row:1;display:flex}.mobile-schedule-actions>.icon-btn{width:40px;height:40px;background:var(--accent);color:var(--surface);border-radius:8px}.mobile-schedule-actions>.icon-btn:hover{filter:brightness(.95)}.mobile-schedule-actions .icon{width:19px;height:19px}
  .schedule-controls .segmented{grid-column:1;grid-row:1;justify-self:start;width:max-content;max-width:100%;margin:0}.schedule-controls .segmented button{min-height:32px;padding:4px 8px}
  .schedule-controls .schedule-now{grid-column:2;grid-row:1;justify-content:flex-end;min-width:0;min-height:0;margin:0;font-size:10px;line-height:1.5;text-align:left;gap:5px}.schedule-controls .schedule-now:before{flex-shrink:0}
  .schedule-controls .week-strip{grid-column:1/-1;grid-row:2;margin:0;gap:0}.schedule-controls .week-controls{width:100%;gap:0}.schedule-controls .week-label{flex:1;min-width:0;text-align:center;white-space:nowrap;margin:0}.schedule-controls .week-controls .icon-btn{height:32px;width:32px}.schedule-controls .week-controls .button{min-height:32px;padding:4px 8px}.schedule-controls .mobile-school-tools{display:none}
}
@media screen and (max-width:370px){.schedule-controls{column-gap:5px}.schedule-controls .segmented button{padding-inline:6px}.schedule-controls .schedule-now{font-size:9px}}

/* The weekday rail is a sibling of the scroller, not a sticky table layer. */
.school-grid{position:relative;min-width:0}
.school-day-rail{position:absolute;top:0;right:0;z-index:5;background:var(--surface);border-start-start-radius:12px;overflow:hidden}
.school-day-rail .school-day-label{position:absolute;display:flex;flex-direction:column;justify-content:center;font-size:12px;font-weight:500;border-bottom:1px solid var(--line)}
.school-day-rail .school-day-label:last-child{border-bottom:0}
.school-day-label small{display:block;font-size:9px;line-height:1.7;color:var(--muted);margin-top:4px;white-space:nowrap}
@media screen and (max-width:1030px){
  .school-day-rail{background:var(--bg);border-radius:0}
  .school-day-rail .school-day-label{border:0}
}
@media print{.school-day-rail{display:none}}

/* Home Screen apps keep their controls clear of the notch and Home indicator. */
.install-steps{margin:16px 0;padding-inline-start:24px}.install-steps li{padding-inline-start:4px;margin-bottom:10px}.install-steps+p{font-size:12px}
@media screen and (max-width:720px){
  .topbar{height:calc(48px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  main{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .mobile-nav{padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right))}
  dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
}
