.calendar-page{color:#161616;background:#f5f5f5;min-height:100vh;font-size:16px}.calendar-header{color:#fff;background:#090909;justify-content:space-between;align-items:center;gap:24px;padding:24px 5vw;display:flex}.calendar-header>a{letter-spacing:.04em;font-size:22px;font-weight:900}.calendar-header>a span{letter-spacing:.2em;font-size:12px;display:block}.calendar-header nav{gap:24px;font-size:14px;display:flex}.calendar-shell{max-width:1440px;margin:auto;padding:48px 5vw}.calendar-shell h1{font-family:var(--font-display),sans-serif;text-transform:uppercase;margin:12px 0 20px;font-size:clamp(38px,6vw,64px);line-height:1.05}.cal-intro{max-width:850px;line-height:1.6}.cal-notice{background:#fff;border-left:4px solid #c8202c;margin:24px 0;padding:16px 20px;font-size:14px;line-height:1.5}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;gap:16px;margin:24px 0;display:flex}.cal-date-nav,.cal-view,.cal-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cal-date-nav h2{margin:0 8px;font-size:21px}.calendar-page button,.calendar-page select,.calendar-page input{font:inherit}.calendar-page button{cursor:pointer;color:#111;background:#fff;border:1px solid #ccc;border-radius:4px;padding:9px 13px}.calendar-page button:hover{background:#eee}.calendar-page button[aria-pressed=true]{color:#fff;background:#191919}.calendar-page button:focus-visible,.calendar-page a:focus-visible{outline-offset:3px;outline:3px solid #bb1925}.calendar-page button:disabled{opacity:.5;cursor:wait}.cal-filters{gap:18px;margin:18px 0;font-size:14px}.cal-filters select{background:#fff;border:1px solid #ccc;padding:8px}.legend{border-left:5px solid;padding-left:8px}.legend.training{border-color:#c71c2a}.legend.available{border-color:#207557}.legend.blocked{border-color:#555}.calendar-scroll{background:#fff;border:1px solid #ccc;border-radius:6px;overflow-x:auto}.month-grid{grid-template-columns:repeat(7,minmax(105px,1fr));min-width:770px;display:grid}.day-heading{text-align:center;color:#fff;background:#191919;padding:14px;font-size:14px;font-weight:700}.month-day{border-bottom:1px solid #ddd;border-right:1px solid #ddd;min-height:165px;padding:7px;overflow:hidden}.month-day.outside{background:#f0f0f0}.month-day.selected{box-shadow:inset 0 0 0 2px #bd1b28}.calendar-page .day-number{border:0;margin-bottom:5px;padding:5px 9px;font-size:14px;font-weight:700}.calendar-page .cal-event{text-align:left;white-space:normal;overflow-wrap:anywhere;background:#f9e9eb;border:0;border-left:3px solid #c71c2a;border-radius:3px;width:100%;margin:4px 0;padding:8px;line-height:1.4;display:block}.cal-event strong{font-size:14px;display:block}.cal-event span{font-size:12px;display:block}.calendar-page .cal-event.available{background:#e4f3ec;border-color:#207557}.calendar-page .cal-event.blocked{background:#e9e9e9;border-color:#555}.calendar-page .cal-event.cancelled{opacity:.65;text-decoration:line-through}.calendar-page .more-events{background:0 0;border:0;padding:6px 0;font-size:12px;text-decoration:underline}.week-grid{grid-template-columns:repeat(7,minmax(140px,1fr));min-width:980px;min-height:500px;display:grid}.week-day{border-right:1px solid #ddd;padding:8px}.week-day h3{margin:0 0 16px}.week-day h3 button{color:#fff;background:#191919;width:100%}.week-day p{color:#555;font-size:14px}.day-agenda{margin:28px 0}.day-agenda h2,.event-detail h2,.calendar-editor h2{margin:0 0 16px;font-size:25px}.agenda-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.event-detail,.calendar-editor{background:#fff;border:1px solid #ccc;margin:24px 0;padding:28px;line-height:1.6}.close-detail{float:right}.event-detail .section-kicker{font-size:13px}.calendar-editor form{grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;display:grid}.calendar-editor label{flex-direction:column;gap:7px;font-size:14px;font-weight:600;display:flex}.calendar-editor input,.calendar-editor select{background:#fff;border:1px solid #bbb;border-radius:3px;width:100%;padding:11px}.calendar-editor .check-label{flex-direction:row;align-items:center;gap:10px}.check-label input{width:auto}.calendar-editor fieldset{border:1px solid #ccc;flex-wrap:wrap;grid-column:1/-1;gap:14px;padding:15px;display:flex}.calendar-editor .button{color:#fff;background:#c21c29;align-self:end}.cal-error{background:#ffe6e6;padding:24px}.save-status{color:#fff;z-index:4;background:#181818;padding:18px;position:sticky;bottom:12px}.calendar-contact{margin-top:30px;line-height:1.6}.calendar-contact a{text-decoration:underline}@media (width<=700px){.calendar-header{align-items:flex-start}.calendar-header nav{flex-direction:column;gap:10px}.calendar-shell{padding:32px 5vw}.calendar-editor form{grid-template-columns:1fr}.cal-date-nav h2{font-size:18px}.calendar-page button{font-size:14px}.event-detail,.calendar-editor{padding:20px}.cal-view{gap:6px}.close-detail{float:none;margin-bottom:20px}}
