@font-face{font-family:'Noto Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/arabic-400.ttf') format('truetype')}
@font-face{font-family:'Noto Sans Arabic';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/arabic-600.ttf') format('truetype')}
@font-face{font-family:'Noto Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/arabic-700.ttf') format('truetype')}
:root{font-size:16px;--ink:#173936;--muted:#5d7068;--line:#dce5de;--paper:#f3f6f2;--teal:#174c47;--teal-dark:#123c3c;--mint:#e7f2ec;--gold:#97742f;--gold-soft:#f6f0e2;--shadow:0 5px 22px #233b3010;--font:'Noto Sans Arabic',Tahoma,Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.8;overflow-wrap:break-word}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ad8738;outline-offset:3px}svg{width:22px;height:22px;flex-shrink:0;stroke-width:1.7}input,select{min-width:0;max-width:100%}input[type=date],input[type=time]{direction:ltr}h1,h2,h3,p{margin-top:0}h1{font-size:1.625rem;line-height:1.6;font-weight:700;margin-bottom:7px;letter-spacing:-.4px}h2{font-size:1.25rem;line-height:1.7;font-weight:700;margin:0}h3{font-size:1.125rem;line-height:1.8;margin:0}strong{font-weight:600}bdi{unicode-bidi:isolate}.muted{color:var(--muted)}.small{font-size:.875rem}.no-wrap{white-space:nowrap}.skip-link{position:fixed;right:15px;top:-100px;background:white;padding:12px;z-index:100}.skip-link:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sidebar{position:fixed;inset-block:0;right:0;width:min(320px,calc(100vw - 48px));padding:28px 22px;background:var(--teal-dark);color:#d8e7e0;display:flex;flex-direction:column;z-index:40;transform:translateX(105%);visibility:hidden;transition:transform .2s,visibility .2s;overflow:auto}.sidebar.open{transform:none;visibility:visible}.brand{display:flex;align-items:center;gap:13px;color:white;font-size:1.625rem;font-weight:700;line-height:1.5;padding:4px 3px 32px}.brand small{display:block;font-size:.875rem;color:#c1d5ca;font-weight:400;margin-top:7px}.brand-symbol{width:49px;height:53px;display:grid;place-items:center;color:#dfc17d;font-size:2rem;font-weight:400;border:1px solid #809c8380;border-radius:13px 13px 5px 13px}.sidebar-caption{font-size:.875rem;color:#b3cdbf;padding:0 12px 12px}.sidebar nav{display:grid;gap:7px}.nav-link{display:flex;align-items:center;gap:12px;font-size:1rem;padding:12px;border-radius:9px;color:#d2e1d7;min-height:52px}.nav-link:hover{background:#ffffff0d;color:white}.nav-link.active{background:#ffffff16;color:white;border-right:3px solid #d6b56b}.nav-count{margin-right:auto;background:#ffffff15;border-radius:5px;min-width:28px;text-align:center;font: .875rem Arial}.sidebar-bottom{margin-top:auto;padding-top:30px}.academic-label{font-size:.875rem;display:flex;gap:8px;align-items:center}.status-dot{width:7px;height:7px;display:inline-block;background:#92b08c;border-radius:50%;flex-shrink:0}.sidebar-bottom>p{font-size:.875rem;color:#b2c9b9;margin:5px 15px 23px}.account{border-top:1px solid #ffffff25;padding-top:19px;display:flex;gap:12px;align-items:center;font-size:.875rem}.account small{display:block;color:#bbd0c1;font-size:.875rem}.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e9eee5;color:var(--teal);font-weight:600;flex-shrink:0}.account .avatar{background:#ffffff15;color:#e5ca8f}.menu-close{position:absolute;top:8px;left:8px;background:transparent!important;color:#e0eadc;border:0!important}.mobile-overlay{display:none}.sidebar.open~.mobile-overlay{display:block;position:fixed;inset:0;background:#102e2c88;z-index:39}
.app-shell{margin:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:15px;position:sticky;top:0;z-index:25}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:1rem;min-width:0}.breadcrumb>span{display:none}.breadcrumb strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-end{display:none}.topbar-divider{height:20px;width:1px;background:var(--line)}main{padding:22px 16px 30px;max-width:1800px;margin:auto;min-height:calc(100vh - 160px)}main[data-view=overview]{display:flex;flex-direction:column}.page-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:22px}.eyebrow{color:#82642c;font-size:.875rem;display:flex;gap:7px;align-items:center;margin-bottom:8px}.eyebrow svg{width:16px;height:16px}.page-heading p{color:var(--muted);font-size:1rem;margin:0}.page-heading>.button:not(.exit-tv){font-size:.875rem}.page-heading .exit-tv{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #cbd8cc;background:white;border-radius:9px;padding:10px 15px;font-size:1rem;line-height:1.7;min-height:48px;transition:.15s;white-space:normal;text-align:center}.button:hover{border-color:#91ad98;background:#f7faf4}.button.primary{background:var(--teal);color:white;border-color:var(--teal)}.button.primary:hover{background:#103d39}.button.soft{background:var(--mint);border-color:#d6e5d9;color:var(--teal)}.button.text{border:0;background:transparent;color:var(--teal);padding-inline:4px}.button svg{width:20px;height:20px}.icon-button{border:1px solid #cbd8cc;background:white;border-radius:8px;width:48px;height:48px;padding:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-button:hover{background:var(--mint)}.menu-toggle{display:inline-flex}.bottom-nav{position:fixed;inset-inline:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;background:#fff;border-top:1px solid var(--line);padding:7px 7px calc(7px + env(safe-area-inset-bottom));z-index:30;box-shadow:0 -5px 22px #193d2e08}.bottom-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:61px;border:0;border-radius:9px;background:white;color:#607469;font-size:.875rem;line-height:1.5;white-space:nowrap;min-width:0}.bottom-link svg{width:23px;height:23px}.bottom-link.active{background:#eaf2e8;color:#174c47;font-weight:600}.bottom-link:hover{background:#f0f5ed}
.time-toolbar{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'date date' 'time now' 'mode mode';gap:12px;margin-bottom:18px}.time-label,.toolbar-days,.toolbar-spacer,.clock-readout{display:none}.date-control{grid-area:date;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;min-width:0}.field-plain{border:1px solid #c5d4c6;background:#fff;padding:9px;border-radius:8px;font-size:1rem;color:var(--ink);height:48px;width:100%;text-align:center}.time-toolbar>input[type=time]{grid-area:time}.time-toolbar>.button{grid-area:now}.mode-chip{grid-area:mode;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.875rem;border-radius:7px;padding:7px 10px;color:#315e45;background:#edf5e9}.mode-chip.preview{color:#7b5d20;background:var(--gold-soft)}.coverage-note{display:flex;align-items:flex-start;gap:10px;background:#edf2e8;border:1px solid #d9e3d2;border-radius:10px;padding:14px;font-size:.875rem;color:#4e6247;margin-bottom:22px;line-height:1.9;flex-wrap:wrap}.coverage-note>svg{width:20px;height:20px;flex-shrink:0;margin-top:3px}.coverage-note>span{flex:1;min-width:190px}.coverage-note strong{color:#3d5737;font-weight:600}.coverage-note a{margin-right:30px;display:flex;align-items:center;gap:7px;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;min-height:44px}
.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}.stat-card{background:white;border:1px solid var(--line);border-radius:12px;padding:16px;text-align:right;width:100%;min-width:0;transition:.15s;display:flex;flex-direction:column}.stat-card:hover{box-shadow:var(--shadow);border-color:#afc3ac}.stat-card.featured{background:var(--teal);color:white;border-color:var(--teal)}.stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;font-size:.875rem;color:#526b58;line-height:1.8}.stat-icon{display:none}.featured .stat-top{color:#e0eadf}.stat-value{font-size:2.25rem;font-family:Arial,sans-serif;line-height:1.3;font-weight:600;display:block;margin-top:10px}.stat-bottom{font-size:.875rem;color:#60735c;margin-top:9px;display:flex;align-items:flex-start;gap:5px;line-height:1.9}.stat-bottom svg{display:none}.featured .stat-bottom{color:#d0e0cb}.section-heading{display:flex;flex-direction:column;align-items:stretch;gap:13px;margin:0 0 17px}.section-heading p{font-size:.875rem;color:var(--muted);margin:4px 0 0}.segment{display:flex;gap:4px;background:#e7eee3;padding:4px;border-radius:9px;flex-wrap:wrap}.segment button{border:0;border-radius:6px;background:transparent;color:#4c6646;font-size:.875rem;padding:9px 12px;min-height:46px;flex:1}.segment button.active{background:white;color:var(--teal);box-shadow:0 1px 5px #1c332516;font-weight:600}.count{font: .875rem Arial;border-radius:5px;padding:3px 8px;background:#eaf0e3;color:#49633f;display:inline-block;margin-right:5px;line-height:1.6}
.dept-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;margin-bottom:26px}.dept-card{border:1px solid var(--line);background:#fff;padding:18px;border-radius:12px;min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-areas:'icon title' 'icon meta' 'active active' 'bottom bottom';gap:8px 12px;align-items:center;transition:.15s}.dept-card:hover{box-shadow:var(--shadow);border-color:#afc6ac}.dept-card-top{display:contents}.dept-icon{grid-area:icon;width:44px;height:44px;border-radius:11px;background:var(--dept-bg,#eaf0e7);color:var(--dept-color,#708765);display:grid;place-items:center}.dept-card-top>.tag{display:none;grid-area:status;justify-self:start;max-width:none;grid-column:1/-1}.dept-card h3{grid-area:title;font-size:1.125rem;line-height:1.9}.dept-meta{grid-area:meta;font-size:.875rem;color:#5d7056;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.dept-active{grid-area:active;display:flex;align-items:baseline;gap:7px;font-size:.875rem;color:#4e6846;justify-self:end;grid-column:1/-1;margin-top:2px}.dept-active strong{font-size:1.75rem;line-height:1.3;color:var(--teal);font-family:Arial}.dept-active .dash{font-weight:400;color:#6e8063}.dept-lesson{display:none}.dept-card-bottom{grid-area:bottom;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e6ece1;padding-top:9px;margin-top:4px;font-size:.875rem;color:#5d7152}.dept-card-bottom .button{font-size:.875rem}.tag{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 9px;border-radius:6px;font-size:.875rem;line-height:1.7;white-space:normal;color:#3e6333;background:#eaf3e3;max-width:100%;text-align:center}.tag.neutral{color:#526648;background:#edf1e7}.tag.current{background:#e1f1e2;color:#245f32}.tag.upcoming{background:#f6eddb;color:#76591d}.tag.ended{background:#edf0e8;color:#55664d}.tag.warn{background:#fff0da;color:#78571d}
.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}.panel-head{padding:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-head h2{font-size:1.125rem}.panel-head p{font-size:.875rem;color:var(--muted);margin:5px 0 0}.panel-footer{display:flex;align-items:center;justify-content:center;border-top:1px solid var(--line);text-align:center;font-size:1rem;padding:12px;color:var(--teal);background:#f9fcf6;min-height:52px}.lower-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:25px}.insight-panel{display:none}.session-row{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px 12px;padding:18px;align-items:start;border-top:1px solid #e3eade;width:100%;background:white;text-align:right;border-inline:0;border-bottom:0;font-size:1rem;min-height:120px}.session-row:hover{background:#f7faf3}.session-time{font-family:Arial;color:var(--teal);font-size:1.125rem;border-left:2px solid #a3b997;text-align:center;line-height:1.6;padding-left:10px;direction:ltr;font-weight:600;grid-row:1/3;align-self:center}.session-time small{display:block;font-size:1rem;color:#526c4a;font-weight:400}.session-info{min-width:0}.session-info strong{display:block;font-size:1.125rem;font-weight:600}.session-info p{font-size:.875rem;color:#526b48;margin:6px 0 0;overflow-wrap:anywhere;line-height:1.9}.session-info bdi{font-family:Arial;font-size:1rem}.session-tail{grid-column:2;display:flex;align-items:center;gap:9px;justify-content:flex-start}.session-tail>svg{display:none}.empty{padding:28px 18px;text-align:center;color:var(--muted);font-size:1rem}.empty svg{width:32px;height:32px;margin-bottom:10px;color:#6d8760}.empty strong{display:block;color:#3d5b33;font-size:1.125rem;margin-bottom:8px}.empty p{max-width:510px;margin:0 auto;line-height:2}
.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0}.search-field{position:relative;min-width:0;flex:1 1 100%;max-width:100%;display:block}.search-field svg{position:absolute;width:21px;height:21px;right:14px;top:15px;color:#5c7651}.search-field input{width:100%;min-height:52px;padding:12px 45px 12px 12px;border:1px solid #c1d2be;border-radius:9px;background:#fff;font-size:1rem}.filters select{padding:10px 12px;min-height:50px;border:1px solid #c1d2be;border-radius:9px;background:#fff;font-size:1rem;flex:1 1 100%;width:100%}.filter-results{font-size:.875rem;color:var(--muted);margin:2px 0}.table-wrap{display:none}.teacher-cards{display:grid;grid-template-columns:minmax(0,1fr)}.teacher-card{padding:19px;border-bottom:1px solid var(--line)}.teacher-card:last-child{border:0}.person-link{border:0;padding:0;background:none;text-align:right;display:flex;align-items:center;gap:12px;min-height:48px;max-width:100%}.person-link strong{font-size:1rem;font-weight:600}.person-link:hover strong{color:#846625}.person-cell{display:flex;gap:12px;align-items:center}.person-cell small{display:block;font-size:.875rem;color:var(--muted)}.teacher-card small{font-size:.875rem;display:block;color:var(--muted)}.teacher-card p{font-size:1rem;color:#46613e;margin:15px 0 10px;line-height:1.9}.teacher-card p>span{font-size:.875rem;color:var(--muted);display:block}.teacher-card-actions{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:15px}.teacher-card .tag{justify-content:flex-start}.email-link{font-family:Arial;font-size:1rem;color:#365e47;direction:ltr;display:inline-block;overflow-wrap:anywhere}.page-total{font-size:.875rem;color:var(--muted);padding:16px 18px;background:#fafcf7;border-top:1px solid var(--line)}.row-button{border:1px solid #d0dfc8;background:#edf4e7;color:#345e28;padding:9px 12px;border-radius:7px;font-size:.875rem;min-height:44px}.program-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.program-card{padding:21px;border:1px solid var(--line);border-radius:12px;background:white;display:flex;flex-direction:column}.program-code{font-family:Arial;font-size:1rem;color:#375c2b;background:#edf3e4;border-radius:6px;padding:4px 10px;align-self:flex-start;margin-bottom:12px}.program-card h3{font-size:1.125rem}.program-card p{font-size:1rem;color:var(--muted);margin:5px 0 16px}.program-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-top:auto;font-size:.875rem;color:#526c45;flex-wrap:wrap}.course-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:26px}.course-card{border:1px solid var(--line);background:white;border-radius:10px;padding:18px;display:flex;gap:14px;align-items:center;text-align:right;min-height:90px}.course-card:hover{border-color:#8da67a}.course-card>svg{width:26px;height:26px;color:#5d7d47}.course-card strong{font-size:1rem;display:block}.course-card small{font-size:.875rem;color:#5b7151;display:block;margin-top:4px}.section-space{margin-top:28px}
.back-link{display:inline-flex;gap:8px;align-items:center;color:#4e6a45;font-size:1rem;margin-bottom:17px;min-height:44px}.back-link svg{width:20px;height:20px}.detail-banner{background:var(--teal);color:white;border-radius:12px;padding:21px;display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}.detail-banner .dept-icon{width:50px;height:50px;background:#ffffff16;color:#e5ce91;grid-area:auto}.detail-banner h1{font-size:1.5rem}.detail-banner p{font-size:1rem;color:#d7e6d2;margin:0}.detail-banner .banner-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:center;width:100%;margin-top:8px;padding-top:17px;border-top:1px solid #ffffff30}.banner-stats strong{display:block;font:1.875rem Arial;color:#f1dda7}.banner-stats small{font-size:.875rem;color:#e0ead7;display:block;line-height:1.9;margin-top:4px}.tabs{display:flex;gap:7px;border-bottom:1px solid #cddcc6;margin-bottom:22px;flex-wrap:wrap}.tabs button{border:0;border-bottom:3px solid transparent;padding:11px 8px;background:none;font-size:.875rem;color:#4e6a44;min-height:48px;flex:1}.tabs button.active{color:var(--teal);border-color:var(--teal);font-weight:600}.week-strip{display:flex;gap:8px;margin-bottom:18px;overflow:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}.week-day{border:1px solid var(--line);background:white;border-radius:9px;padding:10px 9px;text-align:center;font-size:.875rem;color:#536b48;min-width:94px;flex:1 0 94px;scroll-snap-align:start}.week-day strong{display:block;font:1.375rem Arial;color:var(--ink);margin:4px 0}.week-day small{font-size:.875rem;line-height:1.8;display:block}.week-day.active{background:var(--teal);color:#dce7d6;border-color:var(--teal)}.week-day.active strong{color:white}.schedule-controls{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-bottom:20px}.timeline-scroll{overflow:auto;direction:rtl}.timeline{min-width:1160px}.timeline-header{display:grid;grid-template-columns:200px 1fr;background:#f7faf2;border-block:1px solid var(--line)}.timeline-label{font-size:.875rem;padding:16px;border-left:1px solid var(--line)}.time-axis{position:relative;height:56px;direction:ltr;margin-inline:12px}.time-axis span{position:absolute;font: .875rem Arial;color:#506b44;top:20px;transform:translateX(-50%)}.timeline-row{display:grid;grid-template-columns:200px 1fr;min-height:88px;border-bottom:1px solid #e2eadb}.timeline-person{font-size:.875rem;padding:14px 16px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:4px}.timeline-person strong{font-weight:600;font-size:.875rem}.timeline-person small{color:#5c754e;font-size:.875rem}.timeline-track{position:relative;direction:ltr;background:repeating-linear-gradient(to right,transparent 0,transparent calc(8.3333% - 1px),#e3ebdc calc(8.3333% - 1px),#e3ebdc 8.3333%)}.timeline-block{position:absolute;top:10px;border:1px solid #cfddc2;border-radius:6px;background:#edf4e4;color:#466536;height:64px;padding:5px 7px;font-size:.875rem;text-align:right;overflow:hidden;white-space:nowrap;line-height:1.8}.timeline-block strong{display:block;font-size:.875rem;font-weight:600;text-overflow:ellipsis;overflow:hidden}.timeline-block.current{background:var(--teal);color:white;border-color:var(--teal)}.timeline-block.ended{background:#edf1e6;color:#546a46;border-color:#dbe4d0}.timeline-block:hover{filter:brightness(.96);z-index:3}.now-line{position:absolute;inset-block:0;border-left:2px solid #9c772b;pointer-events:none;z-index:2}.no-track-data{font-size:.875rem;color:#5b714e;position:absolute;top:25px;right:17px;direction:rtl}.timeline-legend{display:flex;align-items:center;gap:15px;padding:16px 18px;font-size:.875rem;color:#567049;flex-wrap:wrap}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-left:6px;background:var(--teal)}.legend-dot.future{background:#b0c498}.legend-dot.past{background:#dae3cf}.timeline-caption{font-size:.875rem;color:#536f45;margin-top:14px}
.source-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.source-card{padding:21px}.source-card h3{margin-bottom:14px}.source-item{display:flex;gap:12px;align-items:flex-start;border-top:1px solid #dfe8d8;padding:16px 0;font-size:1rem;color:#506b42;flex-wrap:wrap}.source-item>svg{width:22px;height:22px;margin-top:4px}.source-item>span:not(.tag){overflow-wrap:anywhere;flex:1;min-width:160px}.source-item small{display:block;font-size:.875rem;color:#58734b;margin-top:5px}.source-item .tag{margin-right:auto}.source-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:22px}.source-summary>div{background:white;border:1px solid var(--line);padding:20px;border-radius:11px;font-size:1rem;color:#536f45}.source-summary strong{font:2rem Arial;color:var(--teal);display:block;margin-bottom:8px}.source-card ul{padding-right:23px;color:#4e6c40;font-size:1rem;line-height:2}.source-card li{margin-bottom:10px}.source-card p{font-size:1rem;color:#506c43;line-height:2}.definition{padding:18px 0;border-top:1px solid var(--line);font-size:1rem;color:#536f45}.definition strong{display:block;color:#34562a;margin-bottom:6px;font-size:1rem}.room-review{padding:18px;border-top:1px solid var(--line)}.room-review>strong{font-size:1rem;display:block}.room-review p{font-size:.875rem;color:#536f45;margin:8px 0 12px}.room-review .actions{display:flex;gap:10px;flex-wrap:wrap}.inline-notice{background:#f8f1e4;border:1px solid #e7d6af;border-radius:10px;padding:15px 18px;font-size:1rem;color:#715723;margin-bottom:20px;line-height:2}.source-badge{font-size:.875rem;color:#5b754c;margin-top:10px}.source-card summary{min-height:48px;display:flex;align-items:center;cursor:pointer;gap:8px}.source-card summary:before{content:'+';font:1.25rem Arial}footer{display:flex;flex-direction:column;gap:7px;padding:22px 16px calc(106px + env(safe-area-inset-bottom));font-size:.875rem;color:#5b7250;border-top:1px solid #d9e4d1}.footer-dot{color:#7e936e;margin:0 5px}
.member-lookup{margin-bottom:26px}.lookup-heading{display:flex;align-items:flex-start;gap:11px;padding:20px 18px 0;flex-wrap:wrap}.lookup-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#edf3e7;color:#577743}.lookup-heading>div{flex:1;min-width:170px}.lookup-heading h2{font-size:1.125rem}.lookup-heading p{margin:6px 0 0;font-size:.875rem;color:#536e46;line-height:1.9}.lookup-heading>.tag{margin-right:53px}.lookup-picker{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:18px}.lookup-picker .search-field{max-width:none}.lookup-picker .search-field input{background:#fbfdf8}.lookup-select{display:block;min-width:0}.lookup-select select{width:100%;min-height:52px;border:1px solid #bfd0bb;border-radius:9px;background:white;padding:10px 12px;font-size:1rem}.lookup-prompt{margin:0;padding:0 18px 20px;font-size:1rem;color:#536d47}.lookup-footnote{display:flex;align-items:flex-start;gap:8px;font-size:.875rem;color:#536e46;background:#f6faf0;padding:13px 18px;border-top:1px solid #dce7d2;line-height:1.9}.lookup-footnote svg{width:18px;height:18px;margin-top:5px}.lookup-person{display:flex;gap:12px;align-items:center;padding:18px;border-top:1px solid var(--line);flex-wrap:wrap}.lookup-person>div:not(.lookup-actions){flex:1;min-width:0}.lookup-person strong{font-size:1.125rem;display:block;line-height:1.9}.lookup-person small{font-size:.875rem;color:#526e45;display:block;overflow-wrap:anywhere;margin-top:5px}.lookup-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;width:100%;margin-top:6px}.lookup-actions .button{font-size:.875rem}.lookup-summary{display:flex;align-items:center;gap:12px 23px;flex-wrap:wrap;padding:16px 18px;background:#eff5e7;color:#4f6a40;font-size:.875rem;border-block:1px solid #dce7d2}.lookup-summary strong{color:var(--teal);font-size:1.125rem;margin-left:5px}.lookup-lessons{max-height:none;overflow:visible}.lookup-lessons .session-row:first-child{border-top:0}.lookup-missing{display:flex;gap:12px;align-items:flex-start;margin:0 18px 20px;padding:18px;background:#f7f0e2;border:1px solid #eadbb9;border-radius:9px;color:#705720;font-size:1rem}.lookup-missing strong{font-size:1.125rem;color:#6b511a}.lookup-missing p{font-size:1rem;margin:6px 0 0}.lookup-missing svg{margin-top:5px}
.loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:65vh;color:#567049}.loading-dot{width:10px;height:10px;border-radius:50%;background:#809e69;animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.3}}dialog{border:0;padding:0;background:white;border-radius:15px;max-width:620px;width:calc(100% - 24px);max-height:90dvh;overflow:auto;color:var(--ink);box-shadow:0 20px 100px #102e3450}dialog::backdrop{background:#102b2b80;backdrop-filter:blur(3px)}.dialog-head{padding:20px;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line)}.dialog-head>div{flex:1;min-width:0}.dialog-head h2{font-size:1.375rem}.dialog-head p{font-size:.875rem;color:var(--muted);margin:6px 0 0}.dialog-head .icon-button{border:0;margin-right:auto}.dialog-body{padding:20px}.dialog-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:24px}.dialog-field small{font-size:.875rem;color:#5d754e;display:block;margin-bottom:6px}.dialog-field>span{font-size:1rem;font-weight:600;overflow-wrap:anywhere}.dialog-field.wide{grid-column:1/-1}.dialog-field bdi{font-family:Arial;font-size:1.0625rem}.dialog-note{background:#f0f6e8;border:1px solid #dfe9d3;color:#4e6c3e;font-size:.875rem;padding:15px;border-radius:8px;line-height:2}.dialog-body h3{margin:22px 0 14px}.dialog-body .session-row{padding-inline:0}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.dialog-source{font-size:.875rem;color:#5b744c;margin-top:15px}.dialog-body .button{font-size:.875rem}#toast{position:fixed;bottom:100px;left:16px;right:16px;background:var(--teal);color:white;border-radius:9px;padding:15px;box-shadow:var(--shadow);z-index:100;font-size:1rem;display:none}.alert-list{max-height:none}.group-code{font-family:Arial;direction:ltr;unicode-bidi:isolate}.hr{height:1px;background:var(--line);margin:24px 0}.badge-number{font: .875rem Arial;background:#e8f1dc;padding:4px 8px;border-radius:5px;color:#466a35}.mini-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.mini-chips .button{font-size:.875rem}.card-link{display:flex;gap:8px;align-items:center;color:var(--teal);font-size:1rem;cursor:pointer;min-height:48px}.teacher-coverage{font-size:.875rem;color:#526e45}.tv .sidebar,.tv .topbar,.tv footer,.tv .bottom-nav,.tv .coverage-note,.tv .page-heading>.button:not(.exit-tv),.tv .member-lookup{display:none}.tv .app-shell{margin:0}.tv main{max-width:1800px}.tv .dept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tv .page-heading .exit-tv{display:inline-flex}
main[data-view=overview]>.page-heading{order:0}main[data-view=overview]>.time-toolbar{order:1}main[data-view=overview]>.coverage-note{order:2}main[data-view=overview]>.stats-grid{order:3}main[data-view=overview]>.member-lookup{order:4}main[data-view=overview]>.lower-grid{order:5}main[data-view=overview]>.section-heading{order:6}main[data-view=overview]>.dept-grid{order:7}
@media(min-width:600px){main{padding-inline:25px}.course-grid,.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.source-summary>div{padding:19px}.lookup-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.lookup-heading{flex-wrap:nowrap}.lookup-heading>.tag{margin-right:auto}.dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dept-card{display:flex;flex-direction:column;align-items:stretch}.dept-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.dept-card-top .tag{display:inline-flex;max-width:65%}.dept-card h3{min-height:64px}.dept-meta{margin-bottom:9px}.dept-active{margin-top:5px;justify-self:auto}.dept-lesson{display:block;min-height:60px;font-size:.875rem;color:#526e45;line-height:1.9;margin:8px 0 13px}.dept-lesson strong{color:#355e2a}.dept-card-bottom{margin-top:auto}.session-row{grid-template-columns:85px minmax(0,1fr) auto;gap:15px;align-items:center}.session-time{grid-row:auto}.session-tail{grid-column:auto;justify-content:flex-end}.lookup-actions{width:auto;margin-right:auto}.lookup-person>div:not(.lookup-actions){flex:1}.source-card{padding:25px}.coverage-note a{margin-right:auto}.coverage-note>span{min-width:280px}.section-heading{flex-direction:row;align-items:center;justify-content:space-between}.segment{display:inline-flex;flex-wrap:nowrap}.segment button{flex:0 1 auto}.schedule-controls{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}.filters .search-field{flex:1 1 310px;max-width:450px}.filters select{flex:1 1 210px;width:auto;max-width:320px}.page-heading{flex-wrap:nowrap}.teacher-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-card:nth-child(odd){border-left:1px solid var(--line)}}
@media(min-width:900px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{padding:20px}.stat-icon{display:grid;width:32px;height:32px;border-radius:8px;background:#f0f5e9;color:#648253;place-items:center}.stat-icon svg{width:19px;height:19px}.featured .stat-icon{background:#ffffff15;color:#e4cf91}.time-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:17px}.date-control{display:flex;min-width:0;flex-shrink:0}.date-control .field-plain{width:172px}.time-toolbar>input[type=time]{width:135px}.time-toolbar .mode-chip{white-space:nowrap}.time-toolbar>.button{margin-right:auto;min-width:88px}.toolbar-days{display:inline;font-size:.875rem;font-weight:600;color:var(--teal)}.time-label{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#58724c}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-end{display:flex;align-items:center;gap:16px;font-size:.875rem;color:#536c46}.privacy-label{display:flex;align-items:center;gap:7px}.privacy-label svg{width:17px;height:17px}.header-date{font-size:.875rem}.breadcrumb>span{display:inline}.program-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible;padding:0}.week-day{min-width:0}.week-day small{font-size:.875rem}.teacher-cards{display:none}.table-wrap{display:block;overflow:auto}table{width:100%;border-collapse:collapse;text-align:right;font-size:1rem}th{font-size:.875rem;color:#4d6941;font-weight:600;background:#f6faf0;padding:15px 17px;border-block:1px solid var(--line);white-space:nowrap}td{padding:17px;border-bottom:1px solid #e1e9d8}tr:last-child td{border-bottom:0}.person-cell{min-width:235px}.person-cell strong{display:block;font-size:1rem}.table-wrap .person-link{min-width:215px}.table-wrap .tag{min-width:120px}.table-wrap .row-button{white-space:nowrap}.table-wrap td:nth-child(3){min-width:200px}.dialog-body .session-row{grid-template-columns:75px minmax(0,1fr) auto}.dialog-actions .button{font-size:1rem}footer{padding-inline:25px;flex-direction:row;justify-content:space-between;gap:20px}}
@media(min-width:1100px){.sidebar{width:258px;transform:none;visibility:visible;padding:30px 18px 23px}.app-shell{margin-right:258px}.menu-toggle,.menu-close,.bottom-nav{display:none}.sidebar.open~.mobile-overlay{display:none}.brand{font-size:1.5rem;gap:10px}.brand small{font-size:.875rem}.brand-symbol{width:43px;height:47px}.nav-link{font-size:.9375rem;padding:12px}.topbar{position:static;height:82px;padding-inline:30px}.breadcrumb{font-size:.875rem}.header-date{display:none}main{padding:30px;min-height:calc(100vh - 165px)}main[data-view=overview]{display:block}.page-heading p{font-size:1rem}.dept-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-top{font-size:1rem}.stat-bottom{font-size:.875rem}.stat-value{font-size:2.5rem}.stat-icon{display:none}.lower-grid{margin-bottom:0}.lookup-heading h2{font-size:1.25rem}.lookup-picker{grid-template-columns:1fr 1.1fr}.lookup-summary{font-size:1rem}.lookup-actions{gap:10px}.lookup-person strong{font-size:1.125rem}footer{padding:22px 30px;font-size:.875rem}.tv .dept-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tv .dept-card h3{font-size:1.375rem}.tv .dept-active strong{font-size:2.25rem}#toast{bottom:28px;left:28px;right:auto;max-width:500px}.timeline{min-width:1320px}}
@media(min-width:1400px){main{padding:34px 40px}.topbar{padding-inline:40px}.header-date{display:inline}.stat-icon{display:grid}.dept-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.program-grid,.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lower-grid{grid-template-columns:minmax(0,1fr) 310px}.insight-panel{padding:23px;display:flex;flex-direction:column}.insight-top{display:flex;gap:10px;align-items:center;margin-bottom:18px}.insight-top h2{font-size:1.125rem}.insight-top svg{color:var(--gold)}.coverage-big{font:2.5rem Arial;color:var(--teal)}.coverage-big small{font-size:1.125rem;color:#648153}.coverage-caption{font-size:.875rem;color:#57734b;margin:8px 0 17px}.coverage-bars{display:flex;gap:5px;direction:ltr;margin-bottom:18px}.coverage-bars span{height:7px;flex:1;background:#e3edd8;border-radius:4px}.coverage-bars span:first-child{background:#64894d}.insight-rule{border-top:1px solid var(--line);margin-bottom:18px}.insight-item{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;margin-bottom:18px;color:#526f43}.insight-item svg{width:18px;height:18px;flex-shrink:0;color:#90702e;margin-top:5px}.insight-item strong{display:block;color:#355c28;font-size:.875rem}.insight-panel>a{margin-top:auto}.detail-banner{flex-wrap:nowrap;padding:26px}.detail-banner .banner-stats{width:auto;margin-right:auto;border:0;padding:0;min-width:330px}.detail-banner h1{font-size:1.75rem}.coverage-note{flex-wrap:nowrap}.lookup-heading{padding:22px 24px 0}.lookup-picker,.lookup-person{padding:20px 24px}.lookup-summary,.lookup-footnote{padding-inline:24px}}
@media(min-width:1800px){.dept-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dept-card h3{min-height:66px}.program-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:359px){main{padding-inline:12px}.topbar{padding-inline:12px}.stats-grid{gap:9px}.stat-card{padding:12px}.stat-top,.stat-bottom{font-size:.875rem}.date-control{grid-template-columns:44px minmax(0,1fr) 44px;gap:5px}.date-control .icon-button{width:44px}.time-toolbar{padding:12px}.bottom-link{font-size:.8125rem}.session-row{grid-template-columns:65px minmax(0,1fr);gap:10px;padding:15px}.lookup-heading,.lookup-picker,.lookup-person{padding-inline:15px}.breadcrumb{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.time-toolbar,.filters,.button,.bottom-nav,footer{display:none!important}.app-shell{margin:0}main{padding:0;display:block!important}.panel,.dept-card,.stat-card{break-inside:avoid}.dept-grid{grid-template-columns:repeat(2,1fr)}body{background:white}.stat-card.featured{color:#123c3c;background:#edf3ec}.stat-top,.stat-bottom{color:#354e2b!important}dialog{display:none}.table-wrap{display:block}.teacher-cards{display:none}}

/* A compact time summary keeps the primary phone task within reach. */
.time-summary{width:100%;display:flex;align-items:center;gap:12px;border:1px solid #ccd9c7;border-radius:10px;background:#fff;padding:13px 16px;text-align:right;margin-bottom:18px;color:var(--teal);min-height:78px}.time-summary>span:not(.time-change){flex:1;min-width:0}.time-summary>span>span{display:block;font-size:.875rem;color:#526e45}.time-summary strong{font-size:1.125rem;display:block;line-height:1.6}.time-summary small{font-size:.875rem;font-weight:400;margin-right:5px}.time-change{font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:5px}.time-toolbar{display:none}.time-toolbar.expanded{display:grid}main[data-view=overview]>.time-summary{order:1}main[data-view=overview]>.member-lookup{order:3}main[data-view=overview]>.coverage-note{order:4}main[data-view=overview]>.stats-grid{order:5}main[data-view=overview]>.lower-grid{order:6}main[data-view=overview]>.section-heading{order:7}main[data-view=overview]>.dept-grid{order:8}.page-heading [data-action=tv]:not(.exit-tv){display:none}
@media(min-width:900px){.time-summary{display:none}.time-toolbar,.time-toolbar.expanded{display:flex}}
@media(min-width:1100px){.page-heading [data-action=tv]:not(.exit-tv){display:inline-flex}}
@media(max-width:359px){.bottom-link{font-size:.875rem}}

.eyebrow{display:none}.filter-disclosure{width:100%;min-width:0}.filter-disclosure summary{display:flex;align-items:center;gap:10px;min-height:52px;background:#fff;border:1px solid #c1d2be;border-radius:9px;padding:10px 13px;font-size:1rem;cursor:pointer;list-style:none}.filter-disclosure summary::-webkit-details-marker{display:none}.filter-disclosure summary>span{font-size:.875rem;color:#526e45;margin-right:auto}.filter-disclosure[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.filter-content{display:flex;flex-wrap:wrap;gap:12px;border:1px solid #c1d2be;border-top:0;background:#fff;padding:15px;border-bottom-left-radius:9px;border-bottom-right-radius:9px}.filter-content select{max-width:none}.filter-content .button{width:100%}.week-day small{display:none}main[data-view=schedule]{display:flex;flex-direction:column}main[data-view=schedule]>.page-heading{order:0}main[data-view=schedule]>.time-summary{order:1}main[data-view=schedule]>.time-toolbar{order:2}main[data-view=schedule]>.week-strip{order:3}main[data-view=schedule]>.filters{order:4}main[data-view=schedule]>.schedule-controls{order:5}main[data-view=schedule]>.inline-notice{order:6}main[data-view=schedule]>.section-heading{order:7}main[data-view=schedule]>.panel{order:8}main[data-view=schedule]>.timeline-caption{order:9}main[data-view=schedule]>.coverage-note{order:10}
@media(min-width:1000px){.filter-disclosure{width:auto;flex:1}.filter-disclosure summary{display:none}.filter-content{border:0;padding:0;background:transparent;gap:12px}.filter-content select{flex:1 1 180px;max-width:250px}.filter-content .button{width:auto}.week-day small{display:block}.schedule-filters .search-field{flex-basis:300px}.schedule-filters .filter-disclosure{flex-basis:500px}.eyebrow{display:flex}}
@media(min-width:1100px){main[data-view=schedule]{display:block}}

@media(max-width:999px){.page-heading>div{flex:1;min-width:0}.page-heading:has([data-action=exportSchedule]),.page-heading:has([data-action=exportTeachers]){flex-wrap:nowrap}.page-heading>.button[data-action=exportSchedule],.page-heading>.button[data-action=exportTeachers]{font-size:0;width:48px;min-width:48px;height:48px;padding:12px;align-self:flex-start}.page-heading [data-action=exportSchedule] svg,.page-heading [data-action=exportTeachers] svg{width:23px;height:23px}}
@media(min-width:900px) and (max-width:1399px){.time-toolbar .time-label{display:none}}

/* Supplied institutional mark, preserved without recoloring or cropping. */
.brand{flex-direction:column;text-align:center;gap:12px;padding-bottom:25px}.brand-logo{display:block;width:86px;height:86px;object-fit:contain;background:#fff;border-radius:10px;padding:5px}.brand>span{font-size:1.5rem}.brand small{font-size:.875rem}.header-logo{width:48px;height:48px;object-fit:contain;background:white;flex-shrink:0}.signout-button{width:100%;margin-bottom:19px;border-color:#75958a;background:#ffffff12;color:#eff6ec;min-height:48px}.signout-button:hover{background:#ffffff22;color:white}.sidebar-bottom{padding-top:24px}.topbar .breadcrumb{gap:10px}.breadcrumb>img.header-logo{display:block}.breadcrumb>strong{min-width:0}
.login-page{background:#edf3ec}.login-shell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:100dvh;padding:28px 16px 35px;max-width:none;margin:0}.login-card{width:min(100%,460px);background:white;border:1px solid #d7e3d2;border-radius:18px;padding:26px 22px;box-shadow:0 15px 50px #163b2b0b;text-align:center}.login-logo{display:block;object-fit:contain;width:120px;height:120px;margin:0 auto 17px}.login-institute{font-size:1rem;color:#526c46;margin-bottom:7px}.login-card h1{font-size:1.5rem;margin-bottom:10px}.login-description{font-size:1rem;color:#5a6e53;line-height:1.9;margin-bottom:15px}.login-form{display:grid;gap:10px;text-align:right;margin-top:23px}.login-form label{font-size:1rem;font-weight:600;color:#234b36}.login-form>input,.password-field>input{width:100%;height:54px;border:1px solid #b8ceb2;border-radius:9px;padding:11px 13px;background:#fcfefa;font-size:1rem;min-width:0;color:var(--ink)}.login-form>label:not(:first-child){margin-top:8px}.password-field{position:relative}.password-field>input{padding-left:58px}.password-field>button{width:48px;height:48px;position:absolute;left:3px;top:3px;border:0;background:transparent;border-radius:7px;color:#527146;display:grid;place-items:center}.password-field>button:hover{background:#edf4e7}.password-field svg{width:22px;height:22px}.login-form>button[type=submit]{width:100%;margin-top:12px;min-height:54px;font-size:1rem}.login-error{font-size:.875rem;color:#93382d;background:#fff0eb;border:1px solid #e7bdb1;border-radius:8px;padding:12px;margin:4px 0 0}.login-error[hidden]{display:none}.login-footnote{font-size:.875rem;color:#5d7352;margin:22px 0 0;line-height:1.9}.login-authority{font-size:.875rem;color:#526e46;text-align:center;margin:0}.login-page .login-card .tag{font-size:.875rem}.login-page main{min-height:100dvh}
@media(min-width:1100px){.header-logo{display:none!important}.brand>span{font-size:1.375rem}.brand{gap:10px;padding-bottom:24px}.login-card{padding:34px 32px}.login-logo{width:132px;height:132px}.login-card h1{font-size:1.625rem}}
@media(max-width:359px){.header-logo{width:40px;height:40px}.topbar .breadcrumb{gap:8px}.login-card{padding:23px 17px}.login-logo{width:105px;height:105px}}
