:root{--bg:#f8f6f1;--surface:#fffaf2;--surface-strong:#ffffff;--ink:#241f1b;--muted:#6f665f;--line:#ddd4c8;--accent:#b7372f;--accent-dark:#7f211d;--gold:#c7933f;--green:#336b57;--blue:#315a84}*{box-sizing:border-box}html{min-width:320px;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:rgba(248,246,241,.94);padding:14px clamp(18px,5vw,64px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar,.topbar-left{display:flex;align-items:center}.topbar-left{gap:14px;min-width:0}.back-link{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);padding:9px 13px;font-size:.9rem;line-height:1}.back-link:hover{border-color:var(--accent-dark)}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-mark{display:block;border-radius:8px}.brand-text{display:grid;grid-gap:2px;gap:2px}.brand strong{font-size:1rem;line-height:1.1}.brand span{color:var(--muted);font-size:.78rem}.nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.language-switcher button,.nav a{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);padding:9px 12px;font-size:.9rem}.language-switcher{display:flex;flex-wrap:wrap;gap:6px}.language-switcher button{cursor:default}.language-switcher button[data-active=true]{border-color:var(--accent);background:var(--accent);color:white}.main{padding:clamp(22px,5vw,64px)}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:clamp(28px,4vw,56px);gap:clamp(28px,4vw,56px);align-items:start}.eyebrow{color:var(--accent-dark);font-size:.86rem;font-weight:700;text-transform:uppercase}.eyebrow,h1{letter-spacing:0}h1{max-width:780px;margin:12px 0 16px;font-size:clamp(2.35rem,7vw,5.5rem);line-height:.97}.lead{max-width:680px;color:var(--muted);font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.55}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;padding:0 18px;font-weight:700}.button.primary{background:var(--accent);color:white}.button.secondary{background:var(--surface)}.button.secondary,.panel{border:1px solid var(--line)}.panel{border-radius:8px;background:var(--surface-strong);overflow:hidden}.panel-header{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:18px}.panel-header h2{margin:0;font-size:1.05rem}.panel-header span{color:var(--muted);font-size:.9rem}.triage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.metric-panel{display:grid;grid-gap:8px;gap:8px;padding:18px}.metric-panel span{color:var(--muted);font-size:.9rem;font-weight:700}.metric-panel strong{font-size:2rem}.calendar-panel-header{align-items:center}.calendar-tabs,.calendar-toolbar{display:flex;flex-wrap:wrap;gap:8px}.calendar-tabs a,.calendar-toolbar a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:0 12px;font-size:.88rem;font-weight:700;text-transform:capitalize}.calendar-tabs a[aria-current=page]{border-color:var(--accent);background:var(--accent);color:white}.calendar-toolbar{justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 18px}.calendar-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;border-bottom:1px solid var(--line);padding:14px 18px}.calendar-filters label{display:flex;flex-direction:column;gap:4px;min-width:140px;flex:1 1 140px;font-size:.78rem;font-weight:700}.calendar-filters select{min-height:34px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:0 10px;font-size:.88rem}.calendar-filter-actions{display:flex;align-items:center;gap:8px}.calendar-filter-actions a{display:inline-flex;align-items:center;min-height:34px;font-size:.88rem;font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));overflow-x:auto}.calendar-grid.week .calendar-cell{min-height:360px}.calendar-weekday{border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface);color:var(--muted);padding:10px;font-size:.82rem;font-weight:800}.calendar-weekday:nth-child(7){border-right:0}.calendar-cell{min-height:148px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface-strong);padding:10px}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell[data-muted=true]{background:#fbf7ef;color:var(--muted)}.calendar-cell[data-selected=true]{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-cell-date{display:inline-flex;min-width:28px;min-height:28px;align-items:center;justify-content:center;border-radius:999px;font-weight:800}.calendar-cell-events{display:grid;grid-gap:6px;gap:6px;margin-top:8px}.calendar-event{display:grid;grid-template-columns:48px minmax(0,1fr);grid-gap:6px;gap:6px;border-left:4px solid var(--accent);border-radius:4px;background:#f9ebe8;padding:7px 8px;font-size:.84rem}.calendar-event.compact{grid-template-columns:38px minmax(0,1fr);padding:6px;font-size:.78rem}.calendar-event span,.calendar-event strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{color:var(--ink)}.calendar-event,.event-card{border-left-color:var(--event-color,var(--accent))}.calendar-event{background:color-mix(in srgb,var(--event-color,var(--accent)) 11%,#ffffff)}.calendar-more{color:var(--muted);font-size:.78rem;font-weight:800}.calendar-board{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));grid-gap:1px;gap:1px;overflow-x:auto;background:var(--line)}.calendar-board-day{display:grid;align-content:start;grid-gap:8px;gap:8px;background:var(--surface-strong);padding-bottom:12px}.calendar-board-header{display:flex;align-items:baseline;gap:6px;border-bottom:1px solid var(--line);padding:12px 12px 10px;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.calendar-board-daynum{color:var(--ink);font-size:1.25rem;font-weight:800;letter-spacing:0}.calendar-board-day[data-today] .calendar-board-header{border-bottom-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.calendar-board-today{border-radius:999px;background:var(--accent);padding:2px 8px;color:#fff;font-size:.68rem;letter-spacing:.04em}.calendar-board-events{display:grid;grid-gap:8px;gap:8px;padding:0 10px}.calendar-board-event{display:grid;grid-template-columns:18px minmax(0,1fr);border-radius:6px;background:color-mix(in srgb,var(--event-color,var(--accent)) 13%,#ffffff);overflow:hidden}.calendar-board-event:hover{background:color-mix(in srgb,var(--event-color,var(--accent)) 22%,#ffffff)}.calendar-board-category{display:flex;align-items:center;justify-content:center;background:var(--event-color,var(--accent));padding:6px 0;color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}.calendar-board-body{display:grid;grid-gap:3px;gap:3px;min-width:0;padding:9px 10px}.calendar-board-time{color:var(--muted);font-size:.78rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-board-time em{font-style:italic}.calendar-board-body strong{font-size:.88rem;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.calendar-board-venue{color:var(--muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-board-cancelled{justify-self:start;border-radius:4px;background:var(--accent-dark);padding:1px 6px;color:#fff;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.calendar-board-event[data-cancelled]{opacity:.72}.calendar-board-event[data-cancelled] strong{text-decoration:line-through}.calendar-empty{margin:0;padding:22px 18px;color:var(--muted)}.calendar-filter-group{grid-column:1/-1;margin:0;border:0;padding:0}.calendar-filter-group legend{margin-bottom:6px;padding:0;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.calendar-filter-checks{display:flex;flex-wrap:wrap;gap:8px 16px}.calendar-filters .calendar-filter-check{display:inline-flex;flex:0 0 auto;flex-direction:row;align-items:center;gap:7px;min-width:0;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:6px 13px 6px 10px;font-size:.86rem;font-weight:500;cursor:pointer}.calendar-filters .calendar-filter-check:hover{border-color:var(--event-color,var(--accent))}.calendar-filters .calendar-filter-check:has(input:checked){border-color:var(--event-color,var(--accent));background:color-mix(in srgb,var(--event-color,var(--accent)) 14%,#ffffff)}.calendar-filter-check input{position:absolute;opacity:0;pointer-events:none}.calendar-filter-check .calendar-legend-swatch{border-radius:999px}.calendar-subscribe{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;border-bottom:1px solid var(--line);padding:14px 18px}.calendar-subscribe-text{display:grid;grid-gap:3px;gap:3px;max-width:52ch}.calendar-subscribe-text strong{font-size:.95rem}.calendar-subscribe-text span{color:var(--muted);font-size:.84rem}.calendar-subscribe-actions{display:flex;flex-wrap:wrap;gap:8px}.calendar-subscribe-actions .button{font-size:.88rem}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 16px;border-bottom:1px solid var(--line);padding:12px 18px}.calendar-legend-item{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.82rem}.calendar-legend-swatch{width:12px;height:12px;flex-shrink:0;border-radius:3px;background:var(--event-color,var(--accent))}.day-agenda,.event-list{display:grid}.event-day-group{display:grid;border-bottom:1px solid var(--line)}.event-day-group:last-child{border-bottom:0}.event-day-header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);padding:12px 18px}.event-day-header h3{margin:0;font-size:.95rem}.event-day-header span{color:var(--muted);font-size:.86rem}.event-card{display:grid;grid-template-columns:92px minmax(0,1fr);grid-gap:16px;gap:16px;border-left:4px solid transparent;border-bottom:1px solid var(--line);padding:18px}.event-card:last-child{border-bottom:0}.event-card[data-layout=plain]{grid-template-columns:minmax(0,1fr)}.event-card[data-selected=true]{background:var(--surface);box-shadow:inset 4px 0 0 var(--accent)}.time{color:var(--accent-dark);font-weight:800}.event-card h3{margin:0 0 8px;font-size:1rem}.event-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.9rem}.pill{border-radius:999px;background:#f0e7da;color:var(--ink);padding:4px 8px;font-size:.78rem;font-weight:700}.pill[data-readiness=ready]{background:#e4f4e8;color:var(--green)}.pill[data-readiness=blocked]{background:#fff0ee;color:var(--accent-dark)}.readiness-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 8px;color:var(--muted);font-size:.9rem}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);grid-gap:16px;gap:16px}.definition-list{display:grid;grid-gap:0;gap:0;margin:0;padding:8px 18px 18px}.definition-list div{display:grid;grid-template-columns:150px minmax(0,1fr);grid-gap:18px;gap:18px;border-bottom:1px solid var(--line);padding:12px 0}.definition-list div:last-child{border-bottom:0}.definition-list dt{color:var(--muted);font-weight:700}.definition-list dd{margin:0}.checklist{display:grid;grid-gap:10px;gap:10px;margin:0;padding:18px 22px 22px 38px}.checklist li{line-height:1.45}.action-row{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding:18px}.action-row a,.action-row button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);padding:0 14px;font-weight:700}.action-row button:disabled{cursor:not-allowed;opacity:.55}.action-row .danger-button{border-color:#e0b2ad;background:#fff0ee;color:var(--accent-dark)}.compact-actions{margin-top:12px;border-top:0;padding:0}.empty-state{margin:0;padding:18px;color:var(--muted)}.success-box{display:grid;grid-gap:8px;gap:8px;border-top:1px solid var(--line);background:#eef7f1;padding:18px}.success-box strong{color:var(--green)}.error-box{margin:0;border-top:1px solid var(--line);padding:18px}.cancelled-notice,.error-box{background:#fff0ee;color:var(--accent-dark)}.cancelled-notice{margin:0 0 18px;border-left:4px solid var(--accent-dark);border-radius:4px;padding:14px 18px}.calendar-event[data-cancelled=true],.event-card[data-cancelled=true]{opacity:.62}.calendar-event[data-cancelled=true] span,.event-card[data-cancelled=true] .time,.event-card[data-cancelled=true] h3{text-decoration:line-through}.occurrence-form{margin-top:12px}.venue-map{height:420px;border-bottom:1px solid var(--line);background:var(--surface)}.map-pin-dot{display:block;width:18px;height:18px;border:3px solid var(--surface-strong);border-radius:50%;background:var(--accent-dark);box-shadow:0 1px 4px rgba(0,0,0,.35)}.map-popup{display:grid;grid-gap:4px;gap:4px;min-width:180px}.map-popup strong{font-size:.98rem}.panel-note{border-bottom:1px solid var(--line);padding:0 18px 18px;font-size:.92rem}.panel-note,.plain-list{margin:0;color:var(--muted)}.plain-list{padding:18px 18px 18px 36px;display:grid;grid-gap:10px;gap:10px;font-size:.95rem}.plain-list li{padding-left:4px}.directions-row{align-items:baseline}.directions-label{color:var(--muted);font-size:.9rem}.map-popup-directions{display:flex;flex-wrap:wrap;gap:10px}.report-message{margin:8px 0;border-left:3px solid var(--line);padding-left:12px;white-space:pre-wrap}.field-hint{display:block;margin-top:4px;color:var(--muted);font-size:.85rem;font-weight:400}.report-form textarea{border:1px solid var(--line);border-radius:6px;padding:10px;font:inherit;resize:vertical}.candidate-list{margin-top:12px}.candidate-list li{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:12px}.candidate-list li+li{margin-top:8px}@media (max-width:640px){.venue-map{height:320px}}.form-panel{align-self:start}.admin-nav{gap:14px;font-weight:700}.admin-bar,.admin-nav{display:flex;flex-wrap:wrap}.admin-bar{align-items:center;justify-content:space-between;gap:12px;margin:0 auto;max-width:1080px;padding:12px 24px;border-bottom:1px solid var(--line);font-size:14px}.form-grid{display:grid;grid-gap:14px;gap:14px;padding:18px}.form-grid label{display:grid;grid-gap:6px;gap:6px}.form-grid label span{color:var(--muted);font-weight:700}.form-grid input:not([type=checkbox]),.form-grid select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:0 12px}.form-grid input:disabled{background:var(--surface);color:var(--muted)}.checkbox-row{grid-template-columns:auto minmax(0,1fr);align-items:center}.checkbox-row input{width:18px;height:18px}.section{margin-top:clamp(34px,6vw,72px)}.section h2{margin:0 0 18px;font-size:clamp(1.5rem,3vw,2.2rem)}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.quick-link{min-height:132px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);padding:16px}.quick-link strong{display:block;margin-bottom:8px;font-size:1.8rem}.quick-link span{color:var(--muted)}@media (max-width:880px){.topbar{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.hero{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid,.triage-grid{grid-template-columns:1fr}}@media (max-width:560px){.main{padding:20px 14px 44px}.definition-list div,.event-card,.quick-grid{grid-template-columns:1fr}.definition-list div{gap:4px}}