:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#183447;background:#f5f7f9;font-synthesis:none;line-height:1.5;--navy:#102d40;--teal:#087e72;--muted:#607281;--border:#dfe6ea}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #14a797;outline-offset:4px}button{color:var(--navy)}.container{width:min(1160px,calc(100% - 64px));margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid var(--border)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:21px;font-weight:750;letter-spacing:-.7px}.brand-suffix{font-weight:400;color:var(--muted)}.brand-mark{width:32px;height:33px;display:grid;grid-template-columns:1fr 1fr;gap:4px;border-top:5px solid var(--navy);padding-top:5px}.brand-mark i{background:var(--navy);border-radius:2px}.brand-mark i:last-child{background:var(--teal)}.language{display:flex;gap:3px;padding:4px;background:#f0f3f5;border-radius:9px}.language a{text-decoration:none;font-size:14px;padding:5px 10px;color:var(--muted);border-radius:6px}.language a[aria-current]{color:var(--navy);font-weight:700;background:white;box-shadow:0 1px 4px #102d4010}.skip-link{position:fixed;top:-80px;left:16px;z-index:99;background:white;padding:16px}.skip-link:focus{top:12px}
.intro{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:36px 0 22px}.intro h1{margin:0;font-size:25px;letter-spacing:-.7px;line-height:1.2}.intro p{margin:7px 0 0;color:var(--muted);font-size:15px}.today-label{font-size:14px;color:var(--muted);text-align:right}.today-label strong{display:block;font-size:15px;color:var(--navy);font-weight:550}.workspace{display:grid;grid-template-columns:1.07fr 1fr;gap:24px;align-items:stretch}.week-panel{border-radius:18px;overflow:hidden;background:var(--navy);color:white;display:flex;flex-direction:column}.week-main{padding:30px 32px 26px;flex:1}.eyebrow{font-size:13px;letter-spacing:1.5px;font-weight:600;text-transform:uppercase;color:#add0dd;display:flex;align-items:center;gap:8px}.live-dot{width:7px;height:7px;border-radius:50%;background:#51decd}.week-number{display:flex;align-items:baseline;gap:18px;margin:0;line-height:1.1;letter-spacing:-7px;font-size:132px;font-weight:650;font-variant-numeric:tabular-nums}.week-number span{font-size:30px;letter-spacing:-1px;font-weight:450;color:#b8cdd7}.week-range{font-size:20px;letter-spacing:-.4px;margin:5px 0 21px}.week-progress{display:flex;gap:5px;margin-top:20px}.week-progress i{flex:1;height:4px;border-radius:2px;background:#ffffff24}.week-progress i.past{background:#51decd}.progress-text{color:#b8cdd7;font-size:13px;display:flex;justify-content:space-between;margin-top:8px}.week-strip{padding:21px 22px;display:grid;grid-template-columns:repeat(7,1fr);gap:3px;background:#ffffff08;border-top:1px solid #ffffff18}.week-day{display:flex;align-items:center;flex-direction:column;border-radius:10px;gap:7px;padding:9px 1px;min-width:0}.week-day span{font-size:13px;color:#b8cdd7}.week-day strong{font-size:19px;font-weight:550}.week-day.current{background:#51decd;color:var(--navy)}.week-day.current span{color:var(--navy)}
.calendar-panel{background:#fff;border:1px solid var(--border);border-radius:18px;padding:26px 26px 22px}.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px}.calendar-title{font-size:21px;margin:0;font-weight:650;letter-spacing:-.6px}.calendar-nav{display:flex;align-items:center;gap:5px}.icon-button,.small-button{border:1px solid var(--border);background:#fff;border-radius:8px;height:36px;min-width:36px;font-size:20px;display:inline-flex;justify-content:center;align-items:center}.small-button{font-size:13px;padding:0 10px}.calendar{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:2px 4px}.calendar th{font-weight:500;font-size:13px;color:var(--muted);height:24px}.calendar th:first-child{width:37px}.calendar td{text-align:center;height:43px}.calendar .week-cell{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.day-button{height:38px;width:38px;border:0;border-radius:9px;background:transparent;font-size:15px;padding:0}.day-button:hover{background:#edf4f5}.day-button.outside{color:#71818d}.day-button.weekend{color:var(--muted)}.day-button.today{background:var(--navy);color:#fff;font-weight:700}.day-button.selected:not(.today){box-shadow:inset 0 0 0 2px var(--teal);color:var(--teal);background:#e9f8f4}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);border-top:1px solid #edf0f2;padding-top:14px;margin-top:10px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:8px;height:8px;border-radius:3px;background:var(--navy)}.legend i.outline{background:transparent;outline:2px solid var(--teal)}
.calculator{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:26px 30px;background:white;border:1px solid var(--border);border-radius:16px;align-items:center}.calculator h2,.year-section h2{font-size:20px;letter-spacing:-.5px;font-weight:650;margin:0}.calculator p{font-size:14px;color:var(--muted);margin:4px 0 0}.date-controls{display:flex;align-items:end;gap:16px;flex-wrap:wrap;justify-content:space-between}.field{display:grid;gap:5px}.field label{font-size:13px;color:var(--muted)}input[type=date],select{height:44px;border:1px solid #c7d2da;background:white;border-radius:8px;color:var(--navy);padding:7px 12px;min-width:170px;max-width:100%}.result{min-width:135px}.result strong{display:block;font-size:27px;letter-spacing:-.7px;line-height:1.2;color:var(--teal);font-weight:650}.result span{display:block;font-size:12px;color:var(--muted);margin-top:6px}.date-error{color:#b82c2c!important;min-height:0}.year-section{margin-top:38px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;flex-wrap:wrap}.year-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.year-actions select{min-width:90px;height:38px;font-size:14px;padding:4px 8px}.action-button{background:white;border:1px solid #c7d2da;border-radius:8px;padding:8px 12px;font-size:14px;min-height:38px;display:flex;align-items:center;gap:7px}.action-button.primary{background:var(--navy);border-color:var(--navy);color:white}.year-summary{background:#e9eff3;border-radius:12px;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;font-size:14px;gap:20px}.year-summary p{margin:0;color:var(--muted)}.year-summary strong{color:var(--navy)}.year-tables{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.year-table{border-collapse:collapse;width:100%;font-size:13px;background:#fff;border:1px solid var(--border)}.year-table th{text-align:left;padding:10px 12px;background:#edf2f5;color:var(--muted);font-weight:500}.year-table td{padding:9px 12px;border-top:1px solid #edf0f2}.year-table td:first-child{font-weight:650}.year-table .current-week{background:#ddf5ee;color:#075e54}.help{display:grid;grid-template-columns:1fr 1fr;gap:36px;border-top:1px solid var(--border);margin-top:38px;padding-top:26px}.help h2{font-size:16px;margin:0 0 9px}.help p{font-size:14px;color:var(--muted);margin:0}.site-footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px;margin-top:38px;padding-block:22px;border-top:1px solid var(--border)}[hidden]{display:none!important}.print-heading{display:none}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1400px){.intro{padding-top:46px}.week-main{padding-top:36px}.week-number{font-size:144px}.calendar td{height:46px}}
@media(max-width:900px){.container{width:calc(100% - 40px)}.workspace{gap:16px;grid-template-columns:1fr 1fr}.week-main{padding:26px 24px}.week-number{font-size:116px}.week-range{font-size:17px}.calendar-panel{padding:20px 14px}.calendar-title{font-size:18px}.day-button{width:32px;height:35px}.calendar th:first-child{width:26px}.calculator{padding:23px;grid-template-columns:.8fr 1.2fr;gap:20px}.year-tables{gap:10px}.year-table td,.year-table th{padding:8px}.brand{font-size:19px}}
@media(max-width:680px){.container{width:calc(100% - 32px)}.header-inner{height:72px}.brand{font-size:18px;gap:9px}.brand-mark{width:25px;height:28px}.brand-suffix{display:none}.intro{padding:26px 0 18px;align-items:start}.intro h1{font-size:22px}.intro p{font-size:13px}.today-label{display:none}.workspace{grid-template-columns:1fr;gap:16px}.week-main{padding:25px 25px 20px}.week-number{font-size:122px}.week-range{font-size:19px}.week-strip{padding:14px 18px}.calendar-panel{padding:21px 16px}.calendar-title{font-size:21px}.calendar td{height:42px}.day-button{width:38px;height:38px}.calendar th:first-child{width:35px}.calculator{grid-template-columns:1fr;gap:18px;padding:23px}.date-controls{gap:12px;justify-content:start}.result{margin-left:auto}.year-section{margin-top:28px}.year-actions{width:100%}.year-summary{align-items:start;flex-direction:column;gap:4px}.year-tables{grid-template-columns:1fr}.help{grid-template-columns:1fr;gap:20px;margin-top:28px}.site-footer{flex-direction:column;gap:4px;margin-top:26px}.year-table td,.year-table th{padding:10px 15px}}
@media(max-width:360px){.container{width:calc(100% - 24px)}.calendar-panel{padding-inline:10px}.day-button{width:31px}.calendar-title{font-size:18px}.result{margin-left:0}.week-number{font-size:105px}}
@media print{@page{size:A4 portrait;margin:12mm}body{background:#fff;color:#000;font-size:10pt}.site-header,.intro,.workspace,.calculator,.section-heading,.year-summary,.help,.site-footer,.skip-link{display:none!important}.container{width:100%;max-width:none}.year-section{margin:0}.print-heading{display:block;margin:0 0 12px;font-size:20px}.print-heading small{display:block;font-size:10px;font-weight:400;margin-top:4px}.year-tables,.year-tables[hidden]{display:grid!important;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.year-table{font-size:9px;break-inside:avoid}.year-table th,.year-table td{padding:7px 5px;border-color:#bbb}.year-table th{background:white}.year-table .current-week{color:#000;background:#eee}a{text-decoration:none}}

.legal-body{max-width:780px;padding-block:36px}.legal-body h1{font-size:32px;letter-spacing:-1px}.legal-body h2{font-size:20px;margin-top:30px}.legal-body p,.legal-body address{font-size:16px;line-height:1.75}.legal-body address{font-style:normal}.legal-lead,.legal-date{color:var(--muted)}.legal-body a{text-decoration:underline;text-underline-offset:3px}
.ssr-day{display:inline-flex;align-items:center;justify-content:center;cursor:default}.seo-details{border-top:1px solid var(--border);margin-top:30px;padding-top:24px}.seo-details h2{font-size:18px;margin:0 0 16px}.seo-details p{font-size:14px;color:var(--muted);max-width:850px}.seo-details details{margin-top:14px}.seo-details summary{cursor:pointer;font-size:14px;font-weight:600}.year-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.year-links a{font-size:14px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:9px 12px;text-decoration:none}.year-links a:hover{border-color:var(--teal);color:var(--teal)}.date-note{font-size:12px!important}.breadcrumb{margin-top:26px;color:var(--muted);font-size:14px}.year-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.year-page-heading h1{font-size:28px;margin:0}.year-page .year-section{margin-top:24px}.year-page .year-section>p{font-size:14px}.print-credit{display:none}.ad-region{margin-top:30px;text-align:center;overflow:hidden}.ad-label{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.ad-region .adsbygoogle{height:90px}@media(max-width:680px){.ad-region .adsbygoogle{height:100px}}@media print{.seo-details,.breadcrumb,.year-page-heading button,.ad-region{display:none!important}.year-page .year-section{margin:0}.year-page-heading h1{font-size:22px}.print-credit{display:block;font-size:10px!important}}

.language-picker{display:grid;gap:3px}.language-picker label{font-size:11px;color:var(--muted)}.language-picker select{min-width:135px;height:40px;font-size:14px}.language-picker noscript nav{display:flex;gap:8px;flex-wrap:wrap}.location-panel{padding:18px 20px;background:#edf3f5;border:1px solid var(--border);border-radius:12px;margin:0 0 20px}.location-fields,.region-fields{display:flex;flex-wrap:wrap;gap:12px}.location-fields select{min-width:160px;max-width:280px;height:40px;font-size:14px}.location-note{font-size:12px;color:var(--muted);margin:10px 0 0}.holiday-section{margin-top:28px;padding:24px 28px;border:1px solid var(--border);background:white;border-radius:14px}.holiday-section h2{font-size:20px;margin:0}.holiday-section h3{font-size:14px;font-weight:600;margin:18px 0 10px}.holiday-area{font-size:13px;color:var(--muted)}.holiday-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.holiday-legend span{display:flex;align-items:center;gap:6px}.holiday-dot,.school-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#bc5631}.school-dot{background:#088e87}.day-button{position:relative}.day-events{position:absolute;bottom:2px;left:0;right:0;display:flex;justify-content:center;gap:3px}.day-button.public-holiday:not(.today){color:#a84626;font-weight:650}.day-button.school-holiday:not(.today):not(.selected){background:#e9f6f4}.day-button.today .holiday-dot{background:#ffb191}.day-button.today .school-dot{background:#6ce4d9}.holiday-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.holiday-item{display:grid;grid-template-columns:115px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid #edf1f3;font-size:13px}.holiday-item strong{font-weight:550}.holiday-item small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.event-dates{font-size:12px;color:var(--muted)}.selected-holiday{background:#f0faf7}.coverage-note,.holiday-source{font-size:11px;color:var(--muted);line-height:1.6}.holiday-source{display:flex;flex-wrap:wrap;gap:6px 16px}.coverage-note{margin:20px 0 8px}.data-gap,.empty-dates,#holiday-status{font-size:13px;color:var(--muted)}.data-gap{margin:10px 0}.more-dates,.long-breaks{margin-top:18px;font-size:13px}.more-dates summary,.long-breaks summary{cursor:pointer;font-weight:600}.long-breaks>p{color:var(--muted);font-size:12px;max-width:780px}.break-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.break-list li{display:flex;justify-content:space-between;gap:8px;background:#f2f6f7;border-radius:8px;padding:10px;font-size:12px}.data-disclaimer{margin-top:24px;border-top:1px solid var(--border);padding-top:18px}.data-disclaimer h2{font-size:13px;margin:0 0 8px}.data-disclaimer p{font-size:12px;color:var(--muted);line-height:1.65;max-width:1000px}.privacy-options{border:0;background:none;padding:0;color:inherit;text-decoration:underline;font-size:12px;text-align:left}
@media(max-width:900px){.holiday-list{grid-template-columns:1fr}.break-list{grid-template-columns:1fr 1fr}.holiday-item{grid-template-columns:120px 1fr}}
@media(max-width:680px){.header-inner{gap:8px}.language-picker select{min-width:120px;padding-inline:8px}.language-picker label{display:none}.location-panel{padding:16px}.location-fields,.region-fields{display:grid;grid-template-columns:1fr;width:100%;gap:10px}.location-fields select{width:100%;max-width:none;min-width:0}.holiday-section{padding:20px 16px}.holiday-item{grid-template-columns:95px 1fr;gap:10px}.break-list{grid-template-columns:1fr}.data-disclaimer p{font-size:11px}}
@media print{.location-panel,.holiday-section,.data-disclaimer,.privacy-options{display:none!important}}
