:root{--ink:#15271f;--muted:#607168;--paper:#f6f3ea;--card:#fffdf7;--line:#dce2d8;--green:#176b4d;--green-dark:#0d4934;--mint:#dff3e8;--gold:#d99c2b;--red:#b84343;--blue:#316eb5;--shadow:0 18px 55px #1c332817}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit}button,input,select{font:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.skip-link{z-index:20;background:#fff;padding:.75rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:.75rem}.site-header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f3eaf0;border-bottom:1px solid #15271f14;position:sticky;top:0}.nav{align-items:center;gap:1.5rem;max-width:1180px;min-height:72px;margin:auto;padding:.75rem 1.25rem;display:flex}.brand{align-items:center;gap:.75rem;margin-right:auto;font-family:Georgia,serif;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--green);border-radius:12px;place-items:center;width:38px;height:38px;display:grid;box-shadow:inset 0 -4px #0000001f}.nav-links{align-items:center;gap:1rem;font-size:.92rem;display:flex}.nav-links a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.nav-links a:hover{color:var(--green)}.languages{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px;display:flex}.languages a{border-radius:999px;padding:.28rem .52rem;font-size:.78rem;text-decoration:none}.languages a[aria-current=true]{color:#fff;background:var(--green)}.main{min-height:calc(100vh - 160px)}.container{width:min(1120px,100% - 2rem);margin:0 auto}.hero{background:linear-gradient(135deg,#e9f3e8 0%,#f6f3ea 58%,#f4e7c8 100%);padding:5.5rem 0 4.5rem;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;border:7rem solid #176b4d0f;border-radius:50%;width:34rem;height:34rem;position:absolute;top:-12rem;right:-8vw}.hero>.container{z-index:1;position:relative}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-size:.77rem;font-weight:800}.hero h1,.page-heading h1{letter-spacing:-.035em;margin:.75rem 0 1rem;font-family:Georgia,serif;font-weight:500;line-height:1.05}.hero h1{max-width:780px;font-size:clamp(3rem,7vw,6rem)}.hero p{max-width:610px;color:var(--muted);font-size:1.15rem}.actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:.8rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--green-dark)}.button.secondary{color:var(--green);background:0 0}.button.secondary:hover{background:var(--mint)}.section{padding:4rem 0}.section.alt{border-block:1px solid var(--line);background:#ffffff73}.section-head{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.section-head h2{margin:0;font:500 clamp(1.8rem,4vw,3rem)/1.1 Georgia,serif}.section-head p{color:var(--muted);margin:.25rem 0 0}.year-navigation{flex:none;align-items:center;gap:.6rem;display:flex}.year-navigation a{min-width:88px;min-height:42px;color:var(--green-dark);background:var(--card);border:1px solid #b9c9bf;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .75rem;font-size:.86rem;font-weight:800;text-decoration:none;display:inline-flex}.year-navigation a:hover{border-color:var(--green);background:var(--mint)}.year-navigation-placeholder{width:88px}.preview-notice{background:#fff7d9;border:1px solid #e4c573;border-radius:12px;align-items:flex-start;gap:.8rem;margin:1.25rem auto;padding:.8rem 1rem;font-size:.9rem;display:flex}.preview-notice strong{white-space:nowrap}.event-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.event-card{border:1px solid var(--line);background:var(--card);border-radius:18px;min-height:170px;padding:1.25rem;text-decoration:none;position:relative;box-shadow:0 6px 22px #1c33280a}.event-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.date{color:var(--green);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.event-card h2,.event-card h3{margin:.5rem 0 .9rem;font:500 1.35rem/1.2 Georgia,serif}.badges{flex-wrap:wrap;gap:.4rem;display:flex}.badge{color:#415048;background:#edf0ec;border-radius:999px;padding:.28rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.badge.public_holiday{color:#7d2929;background:#f9dddd}.badge.school_holiday{color:#245787;background:#dcecff}.badge.observance{color:#77510e;background:#f9e9c6}.badge.confirmed{color:var(--green-dark);background:var(--mint)}.badge.scheduled{color:#67528c;background:#ede5fb}.category-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.category-card{color:#fff;background:var(--green);border-radius:18px;flex-direction:column;justify-content:end;min-height:150px;padding:1.3rem;text-decoration:none;display:flex}.category-card:nth-child(2){background:#9b6a24}.category-card:nth-child(3){background:#884c48}.category-card:nth-child(4){background:#405b85}.category-card strong{font:500 1.4rem Georgia,serif}.page-heading{padding:3.5rem 0 2rem}.page-heading h1{font-size:clamp(2.4rem,6vw,4.8rem)}.page-heading p{color:var(--muted);max-width:680px}.filter-bar{border:1px solid var(--line);background:var(--card);border-radius:16px;flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.field{flex:1;gap:.35rem;min-width:180px;display:grid}.field label,.fieldset legend{font-size:.82rem;font-weight:800}.field select,.field input{background:#fff;border:1px solid #bdc9c1;border-radius:9px;width:100%;padding:.68rem}.view-tabs{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:1.25rem;padding:4px;display:inline-flex}.view-tabs button{cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.55rem .8rem}.view-tabs button[aria-selected=true]{background:var(--green);color:#fff}.month-stack{gap:1.25rem;display:grid}.month-panel{border:1px solid var(--line);background:var(--card);border-radius:18px;overflow:hidden}.month-panel h2{border-bottom:1px solid var(--line);margin:0;padding:1rem 1.25rem;font:500 1.45rem Georgia,serif}.month-events{grid-template-columns:repeat(2,1fr);display:grid}.month-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(5rem,auto) 1fr;gap:.75rem;padding:1rem 1.25rem;text-decoration:none;display:grid}.month-row:nth-child(odd){border-right:1px solid var(--line)}.month-date{color:var(--green);white-space:nowrap;align-self:start;font:700 .9rem/1.3 system-ui,sans-serif}.month-row strong{display:block}.month-row small{color:var(--muted)}.builder{grid-template-columns:1.05fr .95fr;align-items:start;gap:1.5rem;display:grid}.panel{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:20px;padding:1.35rem}.fieldset{border:0;gap:.65rem;margin:1.5rem 0;padding:0;display:grid}.check{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:.6rem;padding:.65rem;display:flex}.check input{width:1.1rem;height:1.1rem;accent-color:var(--green)}.result-url{word-break:break-all;background:#edf3ef;border-radius:10px;padding:.9rem;font-family:monospace;font-size:.86rem}.detail-layout{grid-template-columns:1fr 320px;gap:2rem;display:grid}.detail-copy{font-size:1.08rem}.facts{margin:0}.facts div{border-bottom:1px solid var(--line);padding:.8rem 0}.facts dt{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:800}.facts dd{margin:.2rem 0 0}.empty{text-align:center;color:var(--muted);border:1px dashed #aab7af;border-radius:18px;padding:4rem 1rem}.admin-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.metric{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.25rem}.metric strong{font:500 2rem Georgia,serif;display:block}.admin-page{padding-bottom:4rem}.admin-nav{z-index:5;border:1px solid var(--line);background:#fffdf7f5;border-radius:14px;gap:.45rem;margin:1.25rem 0 0;padding:.55rem;display:flex;position:sticky;top:84px;overflow-x:auto;box-shadow:0 8px 24px #1c33280f}.admin-nav a{border-radius:8px;flex:none;padding:.45rem .7rem;font-size:.82rem;font-weight:700;text-decoration:none}.admin-nav a:hover{background:var(--mint);color:var(--green-dark)}.admin-section{padding:3rem 0 0;scroll-margin-top:145px}.admin-section .section-head{margin-bottom:1rem}.admin-section .section-head h2{font-size:clamp(1.65rem,3vw,2.35rem)}.table-note{color:var(--muted);margin-top:.2rem;font-size:.75rem;display:block}.table-message{overflow-wrap:anywhere;min-width:220px;max-width:460px}.table-empty{text-align:center;color:var(--muted);padding:2rem}.admin-download{white-space:nowrap;color:var(--green);font-weight:700;display:inline-block}.badge.admin-healthy,.badge.admin-published,.badge.admin-active,.badge.admin-passed,.badge.admin-recovered{color:var(--green-dark);background:var(--mint)}.badge.admin-failing,.badge.admin-failed,.badge.admin-rejected,.badge.admin-critical,.badge.admin-open{color:#7d2929;background:#f9dddd}.badge.admin-warning,.badge.admin-running,.badge.admin-staged{color:#77510e;background:#f9e9c6}.badge.admin-info,.badge.admin-unchanged,.badge.admin-retired,.badge.admin-pending,.badge.admin-disabled{color:#415b78;background:#e3edf7}.table-wrap{border:1px solid var(--line);background:var(--card);border-radius:14px;overflow-x:auto}.holiday-table-wrap{border:1px solid var(--line);background:var(--card);border-radius:18px;overflow-x:auto;box-shadow:0 8px 28px #1c33280d}.holiday-table{min-width:760px;font-size:.94rem}.holiday-table th{color:var(--green-dark);letter-spacing:.06em;text-transform:uppercase;padding:.9rem 1rem;font-size:.76rem}.holiday-table td{vertical-align:middle;padding:1rem}.holiday-month-divider th{color:var(--green-dark);letter-spacing:.1em;background:#e3eee5;border-bottom:1px solid #cad9ce;padding:.62rem 1rem;font-size:.78rem}.holiday-month-group:not(:first-of-type) .holiday-month-divider th{border-top:1px solid #cad9ce}.holiday-type-cell{white-space:nowrap}.badge.holiday-scope{white-space:nowrap;justify-content:center;align-items:center;width:max-content;line-height:1.2}.badge.holiday-scope.national{color:#0d593f;background:#d9eee4}.badge.holiday-scope.state{color:#31567d;background:#e1ebf5}.holiday-table tbody:last-child tr:last-child td{border-bottom:0}.holiday-table tbody tr:not(.holiday-month-divider):hover{background:#faf8f1}.holiday-date{color:var(--green);white-space:nowrap;font-weight:800}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.75rem}th{background:#edf2ed}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:2rem 0;font-size:.85rem}@media (max-width:800px){.nav{flex-wrap:wrap;gap:.5rem 1rem;padding-block:.6rem}.nav-links{border-top:1px solid var(--line);order:3;gap:.25rem;width:100%;padding-top:.45rem}.nav-links a{text-align:center;border-radius:8px;flex:1 1 0;justify-content:center;padding:.35rem .25rem;font-size:.8rem;line-height:1.2}.nav-links a:hover{background:var(--mint)}.event-grid,.category-grid,.admin-grid{grid-template-columns:repeat(2,1fr)}.builder,.detail-layout,.month-events{grid-template-columns:1fr}.month-row:nth-child(odd){border-right:0}.section-head{flex-direction:column;align-items:flex-start}.year-navigation{justify-content:space-between;width:100%}.year-navigation-placeholder{display:none}}@media (max-width:520px){.event-grid,.category-grid,.admin-grid{grid-template-columns:1fr}.hero{padding-top:3.5rem}.hero h1{font-size:3rem}.brand span:last-child{display:none}.actions .button{flex:100%}}
