/* Match the shared Springfields inner-page canvas without changing the site header or footer. */
[data-sfe-page="class-timetables"]{width:100%;max-width:none!important;margin:0!important;background:#fff}
body:has([data-sfe-page="class-timetables"]) .wp-site-blocks{padding:0}
body:has([data-sfe-page="class-timetables"]) .wp-site-blocks>main,body:has([data-sfe-page="class-timetables"]) .wp-block-post-content{margin:0!important;padding:0;max-width:none!important}
.sfe-ct{--ct-navy:#001b3b;--ct-teal:#196869;--ct-gold:#d4b64f;--ct-red:#ad282a;--ct-line:#d7e0e4;--ct-gutter:clamp(20px,4vw,64px);color:var(--ct-navy);background:#fff;margin:0 auto;max-width:none;width:100%;font-family:"Springfields Lato",Arial,sans-serif;font-size:16px;isolation:isolate;line-height:1.6;min-width:0}
.sfe-ct :is(h1,h2,h3,h4){font-family:"Springfields Lato",Arial,sans-serif;font-weight:700}.sfe-ct-intro-inner,.sfe-ct-app{width:calc(100% - var(--ct-gutter) - var(--ct-gutter));max-width:1440px;margin-left:auto;margin-right:auto;min-width:0}
.sfe-ct *{box-sizing:border-box}.sfe-ct [hidden]{display:none!important}.sfe-ct button,.sfe-ct input,.sfe-ct select{font:inherit}.sfe-ct button,.sfe-ct select,.sfe-ct a{touch-action:manipulation}.sfe-ct button{cursor:pointer}.sfe-ct button:focus-visible,.sfe-ct a:focus-visible,.sfe-ct select:focus-visible,.sfe-ct input:focus-visible,.sfe-ct [tabindex]:focus-visible{outline:3px solid #c49520;outline-offset:4px}.sfe-ct p{margin:0}.sfe-ct a{color:var(--ct-teal)}
.sfe-ct .sfe-ct-intro{background:radial-gradient(at 100% 0,#196869 0,transparent 65%),#001b3b;padding:0;color:#fff;border-bottom:3px solid var(--ct-gold);position:relative;overflow:hidden}.sfe-ct-intro-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.6fr);align-items:center;gap:70px;padding:76px 0 88px;position:relative;z-index:1}.sfe-ct-intro-copy{min-width:0}.sfe-ct-intro:after{content:"";height:270px;width:270px;border:1px solid #ffffff20;border-radius:50%;position:absolute;right:-80px;top:-100px;pointer-events:none;box-shadow:0 0 0 45px #ffffff05,0 0 0 90px #ffffff04}
.sfe-ct .sfe-ct-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}.sfe-ct-intro .sfe-ct-eyebrow{color:#e7c85d}.sfe-ct-intro h1,.sfe-ct-intro h2{font-size:clamp(40px,4.7vw,72px);font-weight:300;line-height:1.08;letter-spacing:-.035em;color:#fff;margin:0 0 22px;max-width:760px}.sfe-ct-intro h1 span{color:var(--ct-gold);font-weight:700}.sfe-ct-intro-copy>p:last-child{font-size:17px;line-height:1.8;max-width:620px;color:#dfe9ed}.sfe-ct-intro-meta{display:flex;flex-direction:column;gap:9px;min-width:0;width:100%;max-width:360px;justify-self:end;position:relative;z-index:1;border:1px solid #ffffff24;border-top:3px solid var(--ct-gold);border-radius:4px;padding:28px 32px;background:#ffffff08;font-size:15px;color:#e5f0f3;box-shadow:0 8px 24px #00182d14}.sfe-ct-intro-meta .sfe-ct-year{font-size:34px;font-weight:800;letter-spacing:-.04em;color:#f3d675}.sfe-ct-intro-meta strong{font-size:16px}
.sfe-ct-app{position:relative;z-index:2;padding:0 0 58px;margin-top:-24px}.sfe-ct-controls{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:18px;padding:27px 28px;background:#fff;border:1px solid var(--ct-line);box-shadow:0 8px 24px #00223f0d;margin-bottom:38px;border-radius:5px}.sfe-ct-controls label{font-size:12px;letter-spacing:.02em;font-weight:800;color:#355363}.sfe-ct-controls select{display:block;width:100%;margin-top:8px;background:#f5f8fa;color:var(--ct-navy);font-size:16px;min-height:48px;border:1px solid #bccdd5;border-radius:8px;padding:10px 32px 10px 12px;appearance:auto}.sfe-ct-controls select:disabled{color:#5d6f79;background:#f3f5f6;opacity:1}.sfe-ct-save{min-height:48px;white-space:nowrap;border:1px solid var(--ct-teal);border-radius:8px;padding:11px 17px;background:#fff;color:var(--ct-teal);font-size:13px!important;font-weight:750!important}.sfe-ct-save.is-saved{background:var(--ct-teal);color:#fff}
.sfe-ct-branch-label{display:flex;flex-direction:column;gap:4px;align-self:center}.sfe-ct-branch-label>span{font-size:10px;font-weight:800;letter-spacing:.12em}.sfe-ct-branch-label>strong{font-size:19px}.sfe-ct-branch-label>a{font-size:12px}
.sfe-ct-classhead{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 28px}.sfe-ct-classhead .sfe-ct-eyebrow{margin:0 0 4px;color:var(--ct-teal)}.sfe-ct-classhead h2{font-size:clamp(29px,3vw,40px);font-weight:300;margin:0 0 6px;line-height:1.2;letter-spacing:-.025em;color:var(--ct-navy)}.sfe-ct-classhead p:last-child{font-size:13px;color:#465c68}.sfe-ct-status{max-width:355px;background:#f0f6f7;border-left:4px solid var(--ct-teal);padding:12px 17px;border-radius:0 9px 9px 0;font-size:13px;line-height:1.45}.sfe-ct-status[data-kind=now]{background:#edf7ed;border-color:#347946}
.sfe-ct-toolbar{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:20px 30px;align-items:end;margin-bottom:24px}.sfe-ct-view{display:flex;border:1px solid var(--ct-navy);border-radius:9px;overflow:hidden;flex-shrink:0}.sfe-ct-view button{border:0;border-radius:0;background:#fff;color:var(--ct-navy);padding:10px 17px;font-size:13px;font-weight:750;min-height:44px}.sfe-ct-view button[aria-pressed=true]{background:var(--ct-navy);color:#fff}.sfe-ct-search{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:800;min-width:0;width:100%;max-width:320px;justify-self:end}.sfe-ct-search input{width:100%;min-height:43px;padding:9px 12px;border:1px solid #b9cbd4;border-radius:8px;background:white;color:var(--ct-navy);font-size:13px;font-weight:400}.sfe-ct-tools{display:flex;flex-wrap:wrap;gap:8px}.sfe-ct-tools button{border:1px solid #cbd9df;background:#fff;color:var(--ct-navy);padding:9px 13px;border-radius:7px;min-height:43px;font-size:12px;font-weight:750}.sfe-ct-tools button:hover{border-color:var(--ct-teal);background:#f0f7f7}
.sfe-ct-days{display:flex;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--ct-line);margin-bottom:8px;overflow-x:auto}.sfe-ct-days button{flex:1;min-width:59px;min-height:45px;padding:9px 14px;border:1px solid #ccd9df;background:#fff;color:var(--ct-navy);font-size:13px;font-weight:750;border-radius:8px}.sfe-ct-days button[aria-selected=true]{background:var(--ct-teal);border-color:var(--ct-teal);color:#fff}.sfe-ct-days button.sfe-ct-today{flex:0 0 auto;margin-left:10px;border-color:var(--ct-gold);background:#fff8df;color:#483a0d}.sfe-ct-search-status{font-size:12px;color:#385864;min-height:24px;margin:0 0 12px!important}.sfe-ct-day-head,.sfe-ct-week-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:17px}.sfe-ct-day-head h3,.sfe-ct-week-head h3{color:var(--ct-navy);font-size:21px;margin:0}.sfe-ct-day-head>span,.sfe-ct-week-head>span{color:#56717d;font-size:12px}
.sfe-ct-grid-scroll{overflow:auto;max-height:735px;border:1px solid #cedde4;border-radius:12px;scrollbar-color:#71959f #edf2f4}.sfe-ct .sfe-ct-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:1010px;margin:0;font-size:13px;table-layout:fixed}.sfe-ct-grid thead th{background:#00223f;color:#fff;position:sticky;top:0;z-index:3;font-size:12px;padding:16px 9px;text-align:left;border-right:1px solid #ffffff18}.sfe-ct-grid thead th:first-child{width:133px;left:0;z-index:5}.sfe-ct-grid tbody th{width:133px;position:sticky;left:0;z-index:2;background:#f7f9fa;color:var(--ct-navy);padding:13px 11px;text-align:left;font-size:12px;font-weight:800;border-right:1px solid #dce6eb;border-bottom:1px solid #dce6eb}.sfe-ct-grid th small{display:block;font-size:10px;line-height:1.5;color:#526c78;font-weight:500;margin-top:5px}.sfe-ct-grid td{padding:6px;vertical-align:middle;border-right:1px solid #e0e8ed;border-bottom:1px solid #e0e8ed;background:#fff}.sfe-ct-grid .is-selected-day{background:#f2f8f8}.sfe-ct-grid thead .is-selected-day{background:var(--ct-teal)}.sfe-ct-grid-break th,.sfe-ct-grid-break td{background:#f0f3f5!important;padding:6px 10px!important;font-size:10px!important;color:#6a7b84}.sfe-ct-grid-break th small{font-size:9px;margin-top:0}.sfe-ct-grid-break td{text-align:center}
.sfe-ct .sfe-ct-lesson{--lesson:#174c67;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;width:100%;min-height:68px;border:1px solid #d7e3e8;border-left:4px solid var(--lesson);border-radius:7px;padding:11px 10px;background:#fff;color:#17394e;font-size:13px;line-height:1.35;font-weight:750;transition:box-shadow .15s,transform .15s}.sfe-ct-lesson small{font-size:9px;letter-spacing:.03em;font-weight:500;color:#57717d;margin-top:6px}.sfe-ct .sfe-ct-lesson:hover{transform:translateY(-2px);box-shadow:0 5px 13px #00223f17;border-color:var(--lesson)}.sfe-ct .sfe-ct-lesson.tone-gold{--lesson:#ac8415}.sfe-ct .sfe-ct-lesson.tone-teal{--lesson:#077d83}.sfe-ct .sfe-ct-lesson.tone-blue{--lesson:#346eae}.sfe-ct .sfe-ct-lesson.tone-red{--lesson:#b8494f}.sfe-ct .sfe-ct-lesson.tone-green{--lesson:#4a835e}.sfe-ct .sfe-ct-lesson.is-dim{opacity:.35}.sfe-ct .is-current .sfe-ct-lesson{box-shadow:0 0 0 2px #247147;background:#f4fbf4}.sfe-ct .is-current .sfe-ct-lesson:after{content:"Scheduled now";font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#216438;margin-top:5px}.sfe-ct-unspecified{display:block;color:#687f8a;text-align:center;font-size:12px;padding:10px}
.sfe-ct-agenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.sfe-ct-agenda>li{display:grid;grid-template-columns:150px 1fr;align-items:stretch;gap:18px;position:relative}.sfe-ct-period{display:flex;flex-direction:column;justify-content:center;gap:5px;color:var(--ct-navy);border-left:2px solid #c9dbe1;padding:5px 14px;font-size:13px}.sfe-ct-period span{font-size:11px;color:#58727e}.sfe-ct-agenda .sfe-ct-lesson{min-height:77px;font-size:17px}.sfe-ct-agenda .sfe-ct-lesson small{font-size:11px}.sfe-ct-agenda>li.sfe-ct-break{display:flex;justify-content:space-between;gap:12px;padding:10px 17px;background:#f1f4f6;border-radius:7px;color:#516b78;font-size:12px}.sfe-ct-break small{font-size:11px}.sfe-ct-empty-state{padding:38px 22px;background:#f3f7f8;border:1px solid #d4e2e7;border-radius:12px}.sfe-ct-empty-state strong{font-size:22px}.sfe-ct-empty-state p{margin:10px 0 20px;max-width:650px;font-size:14px}.sfe-ct-empty-state button{background:var(--ct-teal);color:#fff;border:0;padding:11px 17px;border-radius:7px;font-size:13px;font-weight:750}
.sfe-ct-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;padding-top:24px;border-top:1px solid var(--ct-line);margin-top:22px}.sfe-ct-foot p{font-size:11px;color:#5b717b;margin:0 0 6px;max-width:750px}.sfe-ct-foot .sfe-ct-note{border-left:3px solid #d4b64f;padding-left:10px;color:#6f5717;margin-top:12px}.sfe-ct-source{display:flex;flex-direction:column;gap:5px;min-width:180px;font-size:12px;font-weight:750}.sfe-ct-source span{font-size:10px;color:#67808c;font-weight:400}.sfe-ct-message{font-size:12px;color:var(--ct-teal);margin-top:14px!important;min-height:18px}.sfe-ct-share-url{width:100%;padding:12px;border:1px solid #b4ced5;border-radius:8px;margin-top:12px;color:var(--ct-navy);font-size:13px}.sfe-ct-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.sfe-ct-dialog{color:#00223f;background:#fff;border:0;border-top:5px solid #d4b64f;border-radius:15px;padding:32px;width:min(92vw,530px);max-height:85vh;overflow:auto;box-shadow:0 25px 90px #00182d55;font-family:"Springfields Lato",Arial,sans-serif}.sfe-ct-dialog h2{font-family:inherit!important;font-weight:300}.sfe-ct-dialog::backdrop{background:#00182db3;backdrop-filter:blur(4px)}.sfe-ct-dialog .sfe-ct-close{position:absolute;right:14px;top:14px;height:40px;width:40px;border-radius:50%;border:1px solid #d0dfe5;background:#f5f8f9;color:#00223f;font-size:25px;line-height:1}.sfe-ct-dialog .sfe-ct-eyebrow{max-width:85%;font-size:10px;letter-spacing:.1em;color:#0a727c;font-weight:800;text-transform:uppercase;margin:0 0 13px}.sfe-ct-dialog h2{font-size:31px;line-height:1.2;margin:0 0 24px;color:#00223f}.sfe-ct-dialog dl{margin:0 0 22px}.sfe-ct-dialog dl>div{display:grid;grid-template-columns:120px 1fr;gap:15px;padding:11px 0;border-bottom:1px solid #e1e9ed}.sfe-ct-dialog dt{font-size:12px;color:#5a7481}.sfe-ct-dialog dd{font-size:14px;font-weight:700;margin:0}.sfe-ct-dialog .sfe-ct-source-link{color:#08717b;font-size:13px;font-weight:750}.sfe-ct-dialog button:focus-visible,.sfe-ct-dialog a:focus-visible{outline:3px solid #c49520;outline-offset:3px}
.sfe-ct-fallback{padding:30px;overflow:auto}.sfe-ct-fallback table{font-size:12px;border-collapse:collapse}.sfe-ct-fallback td,.sfe-ct-fallback th{border:1px solid #d0dfe5;padding:8px}.sfe-ct-compact{margin-top:45px;margin-bottom:45px;border:1px solid var(--ct-line);border-radius:20px;overflow:clip}.sfe-ct-compact .sfe-ct-intro{padding:0}.sfe-ct-compact .sfe-ct-intro-inner{padding:35px 0 48px;gap:28px;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr)}.sfe-ct-compact .sfe-ct-app{padding-bottom:30px}.sfe-ct-compact .sfe-ct-intro-meta{padding:18px 22px}.sfe-ct-compact .sfe-ct-intro h2{font-size:33px;margin-bottom:12px}.sfe-ct-compact .sfe-ct-intro-meta{min-width:140px}.sfe-ct-compact .sfe-ct-intro-meta .sfe-ct-year{font-size:27px}
@media(max-width:1050px){.sfe-ct-controls{grid-template-columns:1.2fr 1fr 1fr}.sfe-ct-save{grid-column:1/-1;justify-self:start}.sfe-ct-toolbar{grid-template-columns:auto minmax(160px,1fr)}.sfe-ct-tools{grid-column:1/-1;margin-left:0}.sfe-ct-search{max-width:220px}.sfe-ct-intro-inner{gap:35px;grid-template-columns:minmax(0,1fr) minmax(220px,.5fr)}}
@media(max-width:760px){.sfe-ct{--ct-gutter:20px;margin-bottom:0}.sfe-ct .sfe-ct-intro{padding:0}.sfe-ct .sfe-ct-intro-inner{display:block;padding:44px 0 56px}.sfe-ct-intro h1,.sfe-ct-intro h2{font-size:40px;margin-bottom:17px}.sfe-ct-intro-copy>p:last-child{font-size:15px}.sfe-ct-intro-meta{padding:16px 18px;margin-top:26px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:13px;max-width:none;box-shadow:none}.sfe-ct-intro-meta .sfe-ct-year{flex-basis:100%}.sfe-ct-intro-meta .sfe-ct-year{font-size:21px}.sfe-ct-intro-meta strong{font-size:12px}.sfe-ct-app{padding:0 0 36px;margin-top:-22px}.sfe-ct-controls{padding:20px 16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:26px}.sfe-ct-controls>label:first-child,.sfe-ct-branch-label{grid-column:1/-1}.sfe-ct-controls .sfe-ct-save{width:100%;justify-self:stretch;font-size:12px!important}.sfe-ct-classhead{display:block;margin-bottom:22px}.sfe-ct-status{max-width:none;margin-top:16px;padding:12px;font-size:12px}.sfe-ct-classhead h2{font-size:29px}.sfe-ct-classhead p:last-child{font-size:12px}.sfe-ct-toolbar{display:grid;grid-template-columns:1fr;gap:16px}.sfe-ct-view{flex:1}.sfe-ct-view button{flex:1;padding:10px;font-size:12px}.sfe-ct-search{min-width:0;max-width:none;justify-self:stretch;font-size:11px}.sfe-ct-tools{width:100%;margin:0;grid-column:auto}.sfe-ct-tools button{flex:1;padding:9px 8px;font-size:11px}.sfe-ct-days{gap:5px;padding:0 0 13px;flex-wrap:wrap;overflow:visible}.sfe-ct-days button{flex:1 0 calc(25% - 5px)}.sfe-ct-days button{min-width:43px;font-size:11px;padding:9px 8px;min-height:43px}.sfe-ct-days button.sfe-ct-today{flex:1 0 calc(25% - 5px);margin-left:0;min-width:58px}.sfe-ct-week-head,.sfe-ct-day-head{display:block}.sfe-ct-week-head h3,.sfe-ct-day-head h3{font-size:19px;margin-bottom:6px}.sfe-ct-week-head>span,.sfe-ct-day-head>span{font-size:11px}.sfe-ct-agenda>li{grid-template-columns:100px 1fr;gap:10px}.sfe-ct-period{padding:5px 8px;font-size:12px}.sfe-ct-period span{font-size:10px}.sfe-ct-agenda .sfe-ct-lesson{font-size:15px;padding:13px 11px}.sfe-ct-foot{display:block}.sfe-ct-source{margin-top:22px;min-width:0}.sfe-ct-foot p{font-size:11px}.sfe-ct-compact{border-radius:13px;margin:30px 0}.sfe-ct-compact .sfe-ct-intro h2{font-size:29px}.sfe-ct-compact .sfe-ct-intro-meta{margin-top:18px}.sfe-ct-compact .sfe-ct-intro-meta .sfe-ct-year{font-size:21px}.sfe-ct-dialog{padding:27px 22px}.sfe-ct-dialog h2{font-size:27px}.sfe-ct-dialog dl>div{grid-template-columns:92px 1fr}}
@media(prefers-reduced-motion:reduce){.sfe-ct .sfe-ct-lesson{transition:none}.sfe-ct .sfe-ct-lesson:hover{transform:none}}
@media print{
 @page{size:landscape;margin:12mm}
 body.sfe-ct-print-mode *:not(.sfe-ct-print-target):not(.sfe-ct-print-target *):not(:has(.sfe-ct-print-target)){display:none!important}
 .sfe-ct-print-target{max-width:none!important;width:100%!important;margin:0!important;border:0!important;overflow:visible!important;color:#000!important}
 .sfe-ct-print-target .sfe-ct-intro,.sfe-ct-print-target .sfe-ct-controls,.sfe-ct-print-target .sfe-ct-toolbar,.sfe-ct-print-target .sfe-ct-days,.sfe-ct-print-target .sfe-ct-search-status,.sfe-ct-print-target .sfe-ct-message,.sfe-ct-print-target .sfe-ct-share-url,.sfe-ct-print-target .sfe-ct-day-view,.sfe-ct-print-target dialog,.sfe-ct-print-target .sfe-ct-status,.sfe-ct-print-target .sfe-ct-source,.sfe-ct-print-target .sfe-ct-week-head>span{display:none!important}
 .sfe-ct-print-target .sfe-ct-week-view[hidden]{display:block!important}.sfe-ct-print-target .sfe-ct-app{padding:0!important;width:100%!important;max-width:none!important;margin:0!important}.sfe-ct-print-target .sfe-ct-classhead{margin:0 0 12px!important}.sfe-ct-print-target .sfe-ct-classhead h2{font-size:25px!important}.sfe-ct-print-target .sfe-ct-grid-scroll{overflow:visible;max-height:none;border:1px solid #aaa}.sfe-ct-print-target .sfe-ct-grid{min-width:0!important;font-size:10px;table-layout:fixed}.sfe-ct-print-target .sfe-ct-grid th,.sfe-ct-print-target .sfe-ct-grid td{position:static!important;padding:3px!important;color:#000!important;background:#fff!important;width:auto!important}.sfe-ct-print-target .sfe-ct-grid th:first-child{width:100px!important}.sfe-ct-print-target .sfe-ct-grid th small{font-size:8px}.sfe-ct.sfe-ct-print-target .sfe-ct-lesson{display:flex!important;font-size:10px!important;min-height:30px!important;padding:5px!important;opacity:1!important;box-shadow:none!important;transform:none!important;break-inside:avoid}.sfe-ct-print-target .sfe-ct-lesson small,.sfe-ct-print-target .is-current .sfe-ct-lesson:after{display:none}.sfe-ct-print-target .sfe-ct-grid-break th,.sfe-ct-print-target .sfe-ct-grid-break td{font-size:8px!important;padding:2px!important}.sfe-ct-print-target .sfe-ct-foot{margin-top:10px;padding-top:8px}.sfe-ct-print-target .sfe-ct-foot p{font-size:9px}.sfe-ct-print-target tr{break-inside:avoid}
}
