/* Fixed Ocean Blue palette. */
:root {
  --paper:#f4faff; --ink:#173d58; --muted:#58758a; --green:#12669a; --line:#cde1ee;
  --theme-header:#e0f3ff; --theme-warm:#ffc38c; --theme-warm-ink:#7c3d17;
  --theme-soft:#e8f4fc; --theme-day:#e5f3fd; --theme-day-border:#acd4ec;
  --theme-pill:#c6e8fc; --theme-pill-ink:#165a7d; --theme-shadow:#dbeaf3;
  --theme-note:#d3edff; --theme-note-border:#a9d5f2; --theme-highlight:#ffcc9e;
  --theme-accent:#cf7131; --theme-demo:#edf6fc; --theme-demo-border:#c9e0ef;
}
.header { background:var(--theme-header); border-color:var(--line); }
.brand-icon { box-shadow:3px 3px 0 var(--theme-warm); }
.brand-icon span,.spark,.note-icon { color:var(--theme-accent); }
.intro .eyebrow,.section-toolbar .eyebrow { color:var(--green); }
.intro .eyebrow span { background:var(--theme-accent); }
h1 > span:not(.spark):after { background:var(--theme-highlight); }
.intro-copy { color:var(--muted); }
.intro-note { background:var(--theme-note); border-color:var(--theme-note-border); box-shadow:4px 5px 0 var(--theme-shadow); color:var(--ink); }
.intro-note small { color:var(--muted); }
.demo-strip { background:var(--theme-demo); border-color:var(--theme-demo-border); color:var(--muted); }
.demo-label,#booking-count { background:var(--theme-warm); color:var(--theme-warm-ink); }
.share-button { background:var(--green); border-color:var(--green); }
.filters button { border-color:var(--line); color:var(--muted); }
.filters button.selected { color:white; background:var(--green); border-color:var(--green); box-shadow:0 3px 0 var(--theme-shadow); }
.month,.month + .month,.upcoming-card { border-color:var(--line); box-shadow:0 5px 0 var(--theme-shadow); }
.upcoming-card:hover { box-shadow:0 7px 0 var(--theme-shadow); }
.month-title h3 b { color:var(--green); }
.month-title h3 b:after { background:var(--theme-highlight); }
.month-title span,.weekdays span { color:var(--muted); }
.weekdays span:nth-last-child(-n+2),.date-cell.weekend .number { color:var(--theme-accent); }
.date-cell.has-events { background:var(--theme-day); border-color:var(--theme-day-border); box-shadow:0 2px 0 var(--theme-shadow); }
.date-cell.has-events .number { color:var(--green); }
.date-cell.has-events:hover { background:var(--theme-pill); border-color:var(--green); }
.activity-count { background:var(--theme-pill); color:var(--theme-pill-ink); }
.date-cell.is-selected,.date-cell.is-selected:hover { background:var(--green); border-color:var(--green); box-shadow:0 3px 0 var(--theme-shadow); }
.date-cell.is-selected .number { color:white; }
.date-cell.is-selected .activity-count { background:var(--theme-warm); color:var(--theme-warm-ink); }
.date-cell.is-today .number,.today-sample { border-color:var(--theme-accent); background:var(--theme-demo); color:var(--theme-accent); }
.calendar-caption { color:var(--muted); }
.agenda { background:var(--theme-soft); border-color:var(--line); box-shadow:0 5px 0 var(--theme-shadow); }
.agenda-head { border-color:var(--line); }
.count-badge,.details-heading > span,.upcoming-foot > span:last-child { background:var(--theme-warm); color:var(--theme-warm-ink); }
.event-mini { border-right-color:var(--line); border-bottom-color:var(--line); border-left-color:var(--line); }
.event-mini.is-active { border-color:var(--green); box-shadow:0 0 0 2px var(--green); background:var(--white); }
.detail-button { color:var(--green); }
.event-details { border-color:var(--line); box-shadow:0 5px 0 var(--theme-shadow); scrollbar-color:var(--theme-day-border) transparent; }
.detail-sun { background:var(--theme-note); color:var(--theme-accent); }
.detail-empty li span { background:var(--theme-day); color:var(--green); }
.event-details .event-facts,.success { background:var(--theme-soft); }
.notice { background:var(--theme-demo); color:var(--muted); }
.upcoming,footer { border-color:var(--line); }
.close { background:var(--theme-note); color:var(--ink); }
.primary-button,.toast { background:var(--green); }
