@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-ext-400-normal.UNsKFIBq.woff2)format("woff2"),url(/_astro/source-sans-3-latin-ext-400-normal.BGPHfnm_.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-latin-ext-600-normal.AEyhgUpm.woff2)format("woff2"),url(/_astro/source-sans-3-latin-ext-600-normal.Wy7HIzqC.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-latin-ext-700-normal.6Xi0A2be.woff2)format("woff2"),url(/_astro/source-sans-3-latin-ext-700-normal.ChH_v7nA.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-400-normal.DQi5PRDE.woff2)format("woff2"),url(/_astro/source-sans-3-latin-400-normal.AFMiCETP.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-latin-600-normal.DeckBYAU.woff2)format("woff2"),url(/_astro/source-sans-3-latin-600-normal.BvDVuF-j.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-latin-700-normal.CkzU-mV9.woff2)format("woff2"),url(/_astro/source-sans-3-latin-700-normal.BBbVrHF_.woff)format("woff")}:root{--bg:#f4f6f5;--surface:#fff;--ink:#192a25;--muted:#53645d;--green:#176247;--dark:#104834;--pale:#eaf4ee;--line:#d7e0db;--warning:#854512;--red:#a12a32;--radius:12px;color:var(--ink);background:var(--bg);font-synthesis:none;font-family:"Source Sans 3",system-ui,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:4px}button,input,select{font:inherit}button,select,input[type=date],input[type=search]{min-height:44px}button,.button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--pale);border-color:var(--green)}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:var(--dark);color:#fff}button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}input,select{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #879b90;border-radius:8px;padding:9px 12px}label{margin-bottom:5px;font-size:15px;font-weight:600;display:block}h1,h2,h3,p{margin:0}h1{letter-spacing:-.025em;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;line-height:1.15}h2{font-size:1.4rem;line-height:1.25}h3{font-size:1.12rem;line-height:1.3}p{margin-top:8px}img{max-width:100%;height:auto}.muted,.meta{color:var(--muted)}.meta{font-size:.9rem}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:.8rem}.skip{z-index:1000;background:#fff;padding:12px;position:fixed;top:-100px;left:12px}.skip:focus{top:8px}:focus-visible{outline-offset:3px;outline:3px solid #9b4c0a}main:focus{outline:none}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;max-width:1440px;margin:auto;padding:16px 20px;display:flex}.brand{align-items:center;max-width:220px;min-height:44px;display:flex}.brand img{display:block}.menu-toggle{margin-left:auto}nav{gap:4px;width:100%;display:none}nav a{min-height:44px;color:var(--muted);border-radius:8px;align-items:center;padding:10px 16px;font-weight:600;text-decoration:none;display:flex}nav a[aria-current]{color:var(--green);background:var(--pale)}.menu-toggle[aria-expanded=true]+nav{display:grid}main{min-width:0;max-width:1440px;min-height:70vh;margin:auto;padding:28px 20px 56px}.page-heading{margin-bottom:24px}.page-heading>p:last-child{max-width:65ch}.back{align-items:center;min-height:44px;margin-bottom:8px;display:inline-flex}.status:empty{display:none}.status{color:var(--muted);margin:0 0 16px;font-size:.9rem}.status.error,.notice{color:#743d13;background:#fff5e8;border-left:3px solid #b46320;border-radius:6px;margin:16px 0;padding:14px 18px}.grid{gap:20px;min-width:0;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0;padding:22px}.panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-heading a{align-items:center;min-height:44px;display:inline-flex}.actions{flex-wrap:wrap;gap:10px;display:flex}.quick-links{gap:12px;margin-bottom:24px;display:grid}.quick-link{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;padding:24px;text-decoration:none;display:block}.quick-link:first-child{background:var(--green);color:#fff}.quick-link strong{font-size:1.35rem;display:block}.quick-link span{margin-top:5px;display:block}.quick-link .arrow{float:right;font-size:1.5rem}.row{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:16px 0}.row:last-child{border-bottom:0}.row:first-child{padding-top:0}.link-row{color:var(--ink);min-height:44px;text-decoration:none;display:block}.link-row:hover h3{color:var(--green);text-decoration:underline}.empty{color:var(--muted);padding:24px 0}.toolbar{gap:14px;margin-bottom:20px;display:grid}.date-controls{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;display:grid}.date-controls button{padding:6px}.segments{flex-wrap:wrap;gap:6px;display:flex}.filters{gap:16px;display:grid}.schedule-layout{gap:20px;min-width:0;display:grid}.schedule-content{min-width:0}.day-grid{gap:12px;min-width:0;display:grid}.day-column{min-width:0}.day-title{text-transform:capitalize;margin:0 0 12px;font-size:1rem}.lesson{border:1px solid var(--line);border-left:3px solid var(--green);overflow-wrap:anywhere;break-inside:avoid;background:#fff;border-radius:8px;margin-bottom:10px;padding:14px}.lesson .time{font-variant-numeric:tabular-nums;color:var(--muted);margin-bottom:8px;font-size:.9rem;font-weight:700}.lesson .details{color:var(--muted);margin-top:6px;font-size:.94rem}.lesson.substitution,.lesson.duty-change{background:#fffaf1;border-left-color:#a65a13}.lesson.transfer{background:#edf6fc;border-left-color:#246a99}.lesson.removed,.lesson.moved-out,.lesson.cancelled{border-left-color:var(--red);background:#fcf4f4}.lesson.removed h3,.lesson.moved-out h3{text-decoration:line-through}.lesson.duty{background:var(--pale)}.badge{color:var(--ink);background:#edf1ef;border-radius:4px;margin:0 4px 8px 0;padding:3px 7px;font-size:.8rem;font-weight:600;line-height:1.35;display:inline-block}.badge.warning{color:#743d13;background:#fbe8cd}.badge.danger{color:#8c2028;background:#f4dce0}.table-wrap{border-radius:8px;max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.94rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px}th{background:var(--pale)}.site-footer{border-top:1px solid var(--line);max-width:1440px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:auto;padding:24px 20px;font-size:.9rem;display:flex}.site-footer div{flex-wrap:wrap;gap:20px;display:flex}.site-footer a{align-items:center;min-height:44px;display:inline-flex}.event-date{color:var(--green);font-size:.9rem;font-weight:600}.calendar-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-width:650px;display:grid}.calendar-day{border:1px solid var(--line);overflow-wrap:anywhere;background:#fff;min-height:120px;padding:8px}.calendar-day a{min-height:44px;margin:6px 0;font-size:.85rem;display:block}.calendar-year{gap:16px;display:grid}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.contact-name{font-size:1.2rem;font-weight:600}.contact-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.contact-actions strong{color:var(--green);font-size:1.3rem}@media (width>=768px){.header-inner{padding:20px 32px}.menu-toggle{display:none}nav{width:auto;display:flex}.brand{max-width:240px}main{padding:36px 32px 64px}.quick-links,.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{grid-template-columns:minmax(230px,1fr) minmax(200px,1fr)}.calendar-year{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{padding:24px 32px}}@media (width>=1200px){.grid.dashboard{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.schedule-layout{grid-template-columns:250px minmax(0,1fr);align-items:start}.filters{position:sticky;top:20px}.day-grid.week{grid-template-columns:repeat(5,minmax(0,1fr))}.day-grid.week .lesson{padding:10px}.calendar-year{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1199px){.day-grid.week{scroll-snap-type:x mandatory;padding-bottom:12px;display:flex;overflow:auto}.day-grid.week .day-column{scroll-snap-align:start;flex:0 0 min(85vw,350px)}}@media (prefers-reduced-motion:no-preference){button,a{transition:background-color .12s,color .12s}}@media print{.site-header,.site-footer,.filters,.toolbar,.actions,.back,.status,.skip,.page-heading .eyebrow{display:none!important}body{background:#fff}main{max-width:none;padding:0}.schedule-layout{display:block}.day-grid.week{grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:visible}.lesson{padding:8px;font-size:10pt}.day-grid.week .day-column{min-width:0}.page-heading{margin-bottom:16px}@page{size:A4 landscape;margin:10mm}}.tv-mode{color:#fff;background:#112a21;width:1080px;height:1920px;overflow:hidden}.tv-mode .site-header{background:#fff}.tv-mode nav,.tv-mode .menu-toggle,.tv-mode .back,.tv-mode .eyebrow,.tv-mode .site-footer,.tv-mode .skip{display:none}.tv-mode .header-inner{height:112px;padding:24px 48px}.tv-mode .brand{max-width:330px}.tv-mode main{height:1808px;padding:24px 40px}.tv-mode h1{font-size:44px}.tv-mode .page-heading{margin-bottom:12px}.tv-mode .status{color:#c7ddd1;height:40px;font-size:22px}.tv-mode #tv-clock{text-transform:capitalize;height:66px;font-size:32px;font-weight:600}.tv-mode #tv-content{grid-template-rows:repeat(2,730px);grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.tv-card{background:#1c392d;border:1px solid #456456;border-radius:8px;min-width:0;padding:24px}.tv-card h2{border-bottom:2px solid #89ad99;padding-bottom:16px;font-size:60px;line-height:1.1}.tv-card h2 small{font-size:24px;display:block}.tv-lesson{overflow-wrap:anywhere;border-bottom:1px solid #456456;padding:18px 0}.tv-lesson h3{font-size:28px;line-height:1.15}.tv-lesson p{font-size:28px;line-height:1.2}.tv-lesson .tv-time{margin:0 0 10px;font-size:32px;font-weight:600}.tv-badge{color:#39220a;background:#ffe4b1;margin-bottom:8px;padding:4px 8px;font-size:24px;display:inline-block}.tv-empty{grid-column:1/-1;padding:60px 0;font-size:40px}.tv-mode #tv-progress{transform-origin:0;background:#9ad3b0;height:4px;margin-top:20px;animation:10s linear infinite progress}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.tv-mode #tv-progress{animation:none}}.selector-details summary{cursor:pointer;overflow-wrap:anywhere;align-content:center;min-height:44px;font-weight:600;display:list-item}.selector-details[open] summary{margin-bottom:16px}.selector-details .filters{position:static}@media (width>=1200px){.selector-details summary{font-size:.9rem}.schedule-layout>aside{position:sticky;top:20px}}@media (width<=767px){.schedule-layout>aside{padding:12px 16px}.toolbar{gap:10px}.page-heading:has(+.status+#app .schedule-layout){margin-bottom:12px}}.tv-live{float:right;background:#294c3c;border-radius:5px;padding:5px 10px;font-size:24px}#calendar{min-height:700px}#home-duty{min-height:310px}#home-calendar{min-height:350px}.brand img{aspect-ratio:1968/417;object-fit:contain}.status{min-height:24px}@media (width<=767px){.status{min-height:43px}}.event-details summary{cursor:pointer;min-height:44px;color:var(--green);align-content:center}.row:target{outline:2px solid var(--green);outline-offset:4px}#contacts-current{max-width:700px}#contacts-current h2{margin-bottom:16px}.grid.two{align-items:start}.tv-mode #tv-clock{text-transform:none}.calendar-year a{align-content:center;min-height:44px;display:block}
