/* Fallback colours here are deliberately neutral. They only apply when a theme has not
   defined --horizon-mid or --theme-accent; a vivid fallback made the whole window read as
   one particular preset under a custom theme. */
/* FM Calendar. The window body carries .fm-surface-body, so headings, tabs, fields and
   buttons come from the shared Horizon system in fm-horizon-surfaces.css; this file only
   adds what a calendar needs on top of it. Colours are taken from the same
   --fm-surface-* tokens so Theme Studio overrides reach this window too. */
#win-calendar {min-width:520px;min-height:420px;}
/* The panel and form rules below set display, which would otherwise beat the browser's
   own [hidden] rule and leave every side panel on screen at once. */
#win-calendar [hidden] {display:none!important;}
#win-calendar .fm-cal-body {display:flex;flex-direction:column;gap:12px;overflow:hidden;}
#win-calendar .fm-cal-toolbar {display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:wrap;}
#win-calendar .fm-cal-period {font:750 15px/1.2 var(--font-ui,system-ui,sans-serif);color:var(--fm-surface-ink,#302d2a);margin:0 4px 0 0;min-width:9ch;}
#win-calendar .fm-cal-views {display:flex;align-items:center;gap:4px;padding:4px;border-radius:12px;background:var(--fm-surface-soft,#eee8e0);}
#win-calendar .fm-cal-views button {min-height:30px;padding:6px 12px;border:0;border-radius:9px;background:transparent;color:var(--fm-surface-muted,#625951);font-size:12px;font-weight:650;cursor:pointer;}
#win-calendar .fm-cal-views button[aria-current="page"] {background:var(--fm-surface-selection,#dfeaec);color:var(--fm-surface-ink,#302d2a);box-shadow:0 2px 6px #183c3612;}
#win-calendar .fm-cal-views button:hover {background:var(--fm-surface-header,#e9f0f1);color:var(--fm-surface-ink,#302d2a);}
#win-calendar .fm-cal-spacer {flex:1 1 auto;}
#win-calendar .fm-cal-zone-row {display:flex;align-items:center;gap:6px;font-size:11px;color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-zone-row code {font:inherit;background:var(--fm-surface-soft,#eee8e0);padding:2px 7px;border-radius:7px;color:var(--fm-surface-ink,#302d2a);}

#win-calendar .fm-cal-quick {display:flex;gap:8px;align-items:stretch;flex:0 0 auto;}
#win-calendar .fm-cal-quick input {flex:1;min-width:0;height:38px;padding:0 12px;border:1px solid var(--fm-surface-line,#e2d9cd);border-radius:11px;background:var(--fm-surface-field,#fffdf8);color:var(--fm-surface-ink,#302d2a);-webkit-text-fill-color:var(--fm-surface-ink,#302d2a);caret-color:var(--fm-surface-ink,#302d2a);font-size:13px;}
#win-calendar .fm-cal-quick input::placeholder {color:var(--fm-surface-muted,#625951);-webkit-text-fill-color:var(--fm-surface-muted,#625951);opacity:1;}

#win-calendar .fm-cal-workspace {display:flex;gap:12px;flex:1;min-height:0;}
#win-calendar .fm-cal-main {flex:1 1 60%;min-width:0;display:flex;flex-direction:column;border-radius:14px;background:var(--fm-surface-field,#fffdf8);border:1px solid var(--fm-surface-line,#e2d9cd);overflow:hidden;}
#win-calendar .fm-cal-side {flex:1 1 40%;min-width:0;max-width:420px;display:flex;flex-direction:column;border-radius:14px;background:var(--fm-surface-field,#fffdf8);border:1px solid var(--fm-surface-line,#e2d9cd);overflow:auto;}
#win-calendar .fm-cal-side > * {padding:14px;}

#win-calendar .fm-cal-weekdays {display:grid;grid-template-columns:repeat(7,1fr);background:var(--fm-surface-soft,#eee8e0);border-bottom:1px solid var(--fm-surface-line,#e2d9cd);}
#win-calendar .fm-cal-weekdays span {padding:7px 6px;text-align:center;font:650 11px/1.2 var(--font-ui,system-ui,sans-serif);color:var(--fm-surface-muted,#625951);letter-spacing:.03em;}
#win-calendar .fm-cal-days {display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(66px,1fr);flex:1;min-height:0;overflow:auto;}
/* The calendar is inside the shared Horizon surface system, which styles every button in
   the window as a 34px-tall control. That is right for actions and wrong for a grid of
   dates and event chips, so those two opt back out explicitly. */
#win-calendar .fm-cal-day {display:flex;flex-direction:column;gap:2px;padding:4px;border-right:1px solid var(--fm-surface-line,#e2d9cd);border-bottom:1px solid var(--fm-surface-line,#e2d9cd);min-width:0;min-height:0;overflow:hidden;cursor:pointer;}
#win-calendar .fm-cal-day:hover {background:color-mix(in srgb,var(--horizon-mid,#5b6b73) 6%,transparent);}
#win-calendar .fm-cal-day:focus-visible {outline:2px solid var(--horizon-mid,#5b6b73);outline-offset:-2px;}
#win-calendar .fm-cal-day:nth-child(7n) {border-right:0;}
#win-calendar .fm-cal-day-outside {background:color-mix(in srgb,var(--fm-surface-soft,#eee8e0) 55%,transparent);}
#win-calendar .fm-cal-day-outside .fm-cal-daynum {opacity:.55;}
#win-calendar .fm-cal-day-today {box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--horizon-mid,#5b6b73) 55%,transparent);}
/* The day you picked stays marked until you pick another. The first attempt used a 15%
   tint, which measured correctly and was invisible in practice — this reads at a glance:
   a solid theme fill, a full-strength ring, and a filled day number. */
#win-calendar .fm-cal-day-selected {
 background:color-mix(in srgb,var(--horizon-mid,#5b6b73) 42%,#ffffff)!important;
 box-shadow:inset 0 0 0 3px var(--horizon-mid,#5b6b73)!important;
 position:relative;z-index:1;
}
#win-calendar .fm-cal-day-selected:hover {background:color-mix(in srgb,var(--horizon-mid,#5b6b73) 48%,#ffffff)!important;}
#win-calendar .fm-cal-day-selected .fm-cal-daynum {
 background:var(--horizon-mid,#5b6b73)!important;color:#ffffff!important;
 min-width:22px!important;text-align:center!important;box-shadow:0 1px 3px #0f2a3040!important;
}
#win-calendar .fm-cal-day-selected .fm-cal-chip {box-shadow:0 1px 3px #0f2a3033!important;}
/* Outside-month cells are dimmed; a selected one must not be. */
#win-calendar .fm-cal-day-outside.fm-cal-day-selected .fm-cal-daynum {opacity:1;}
#win-calendar .fm-cal-daynum {
 display:block!important;align-self:flex-start;flex:0 0 auto;box-sizing:border-box;
 min-width:20px!important;min-height:0!important;height:18px!important;padding:0 5px!important;
 border:0!important;border-radius:6px!important;background:transparent!important;box-shadow:none!important;
 color:var(--fm-surface-ink,#302d2a)!important;font:650 11px/18px var(--font-ui,system-ui,sans-serif)!important;text-align:left;
}
#win-calendar .fm-cal-day-today .fm-cal-daynum {background:var(--fm-surface-action,#2c5a66)!important;color:#fffaf3!important;}
#win-calendar .fm-cal-day-events {display:flex;flex-direction:column;gap:2px;min-width:0;min-height:0;flex:1 1 auto;overflow:hidden;}
#win-calendar .fm-cal-more {font-size:10px;color:var(--fm-surface-muted,#625951);padding-left:4px;}

#win-calendar .fm-cal-chip {
 display:flex!important;align-items:baseline;gap:4px;width:100%;box-sizing:border-box;
 min-height:0!important;height:auto!important;padding:1px 5px!important;
 border:0!important;border-left:3px solid var(--horizon-mid,#5b6b73)!important;border-radius:5px!important;box-shadow:none!important;
 background:var(--fm-surface-header,#e9f0f1)!important;color:var(--fm-surface-ink,#302d2a)!important;
 font:600 10.5px/1.5 var(--font-ui,system-ui,sans-serif)!important;text-align:left;cursor:pointer;min-width:0;flex:0 0 auto;
}
#win-calendar .fm-cal-chip:hover {background:var(--fm-surface-selection,#dfeaec);}
#win-calendar .fm-cal-chip[aria-current="true"] {background:var(--fm-surface-selection,#dfeaec);box-shadow:0 0 0 2px color-mix(in srgb,var(--horizon-mid,#5b6b73) 45%,transparent);}
#win-calendar .fm-cal-chip-time {flex:0 0 auto;font-weight:700;font-size:9.5px;color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-chip-title {flex:1 1 auto!important;min-width:0;width:auto!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* A month cell is roughly 60–120px wide. The name is what identifies an event there, so
   the clock gives up its space; the full time stays in the tooltip, agenda and detail. */
#win-calendar .fm-cal-day-events .fm-cal-chip-time {display:none;}
#win-calendar .fm-cal-chip-broadcast {border-left-color:var(--theme-accent,#8a6a52);}
#win-calendar .fm-cal-chip-occasion {border-left-color:#b5804a;background:color-mix(in srgb,#e8c99a 30%,var(--fm-surface-field,#fffdf8));}
#win-calendar .fm-cal-chip-pending {border-left-style:dashed;}
#win-calendar .fm-cal-chip-declined .fm-cal-chip-title {text-decoration:line-through;opacity:.7;}
#win-calendar .fm-cal-chip-cancelled {opacity:.62;}
#win-calendar .fm-cal-chip-cancelled .fm-cal-chip-title {text-decoration:line-through;}

#win-calendar .fm-cal-agenda {flex:1;min-height:0;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:6px;}
#win-calendar .fm-cal-agenda-day {margin:10px 0 2px;font:700 12px/1.3 var(--font-ui,system-ui,sans-serif);color:var(--fm-surface-muted,#625951);letter-spacing:.02em;}
#win-calendar .fm-cal-agenda-day:first-child {margin-top:0;}
#win-calendar .fm-cal-agenda-row {display:flex;align-items:center;gap:10px;}
#win-calendar .fm-cal-agenda-row .fm-cal-chip {flex:1;padding:7px 10px;font-size:12px;}
#win-calendar .fm-cal-agenda-meta {flex:0 0 auto;font-size:11px;color:var(--fm-surface-muted,#625951);}

#win-calendar .fm-cal-empty-note {margin:6px 0;font-size:12px;line-height:1.5;color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-placeholder {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;text-align:center;color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-placeholder h3 {margin:0;font:700 15px/1.3 var(--font-ui,system-ui,sans-serif);color:var(--fm-surface-ink,#302d2a);}
#win-calendar .fm-cal-placeholder p {margin:0;font-size:12px;max-width:34ch;line-height:1.5;}

#win-calendar .fm-cal-detail-kind {display:inline-block;padding:3px 9px;border-radius:999px;background:var(--fm-surface-soft,#eee8e0);color:var(--fm-surface-muted,#625951);font:700 10px/1.4 var(--font-ui,system-ui,sans-serif);letter-spacing:.05em;text-transform:uppercase;}
#win-calendar #fm-cal-detail-head h3 {margin:7px 0 4px;font:750 17px/1.25 var(--font-ui,system-ui,sans-serif);color:var(--fm-surface-ink,#302d2a);}
#win-calendar .fm-cal-detail-when {margin:0 0 2px;font-size:12px;font-weight:650;color:var(--fm-surface-ink,#302d2a);}
#win-calendar :is(.fm-cal-detail-where,.fm-cal-detail-host) {margin:0 0 2px;font-size:12px;color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-detail-desc {margin:10px 0;font-size:12.5px;line-height:1.55;color:var(--fm-surface-ink,#302d2a);white-space:pre-wrap;overflow-wrap:anywhere;}

#win-calendar .fm-cal-rsvp {display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;border-radius:12px;background:var(--fm-surface-soft,#eee8e0);}
#win-calendar .fm-cal-rsvp > span {font-size:12px;font-weight:650;color:var(--fm-surface-ink,#302d2a);margin-right:2px;}
#win-calendar .fm-cal-rsvp-btn {min-height:30px;padding:5px 12px;border:1px solid var(--fm-surface-line,#e2d9cd);border-radius:9px;background:var(--fm-surface-field,#fffdf8);color:var(--fm-surface-ink,#302d2a);font-size:12px;font-weight:650;cursor:pointer;}
#win-calendar .fm-cal-rsvp-btn:hover {background:var(--fm-surface-header,#e9f0f1);}
#win-calendar .fm-cal-rsvp-on {background:var(--fm-surface-action,#2c5a66);color:#fffaf3;border-color:transparent;}

#win-calendar .fm-cal-guests h4, #win-calendar .fm-cal-notes-section h4, #win-calendar .fm-cal-polls-section h4 {margin:16px 0 6px;font:700 12px/1.3 var(--font-ui,system-ui,sans-serif);color:var(--fm-surface-muted,#625951);letter-spacing:.03em;text-transform:uppercase;}
#win-calendar .fm-cal-guests ul {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;}
#win-calendar .fm-cal-guests li {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border-radius:9px;background:var(--fm-surface-soft,#eee8e0);font-size:12px;color:var(--fm-surface-ink,#302d2a);}
#win-calendar .fm-cal-guests small {font-size:11px;font-weight:650;color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-guests small[data-rsvp="going"] {color:#1f6b43;}
#win-calendar .fm-cal-guests small[data-rsvp="declined"] {color:#9a3630;}

#win-calendar .fm-cal-note {padding:9px 11px;border-radius:11px;background:var(--fm-surface-soft,#eee8e0);margin-bottom:6px;}
#win-calendar .fm-cal-note-pinned {background:var(--fm-surface-header,#e9f0f1);box-shadow:inset 3px 0 0 var(--theme-accent,#8a6a52);}
#win-calendar .fm-cal-note-head {display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:11px;color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-note-head strong {font-size:12px;color:var(--fm-surface-ink,#302d2a);}
#win-calendar .fm-cal-note p {margin:5px 0 0;font-size:12.5px;line-height:1.5;color:var(--fm-surface-ink,#302d2a);white-space:pre-wrap;overflow-wrap:anywhere;}
#win-calendar .fm-cal-note-actions {display:flex;align-items:center;gap:6px;margin-top:7px;}
#win-calendar .fm-cal-note-actions button {min-height:26px;padding:3px 9px;border:1px solid var(--fm-surface-line,#e2d9cd);border-radius:8px;background:var(--fm-surface-field,#fffdf8);color:var(--fm-surface-ink,#302d2a);font-size:11px;cursor:pointer;}
#win-calendar .fm-cal-note-flag {margin-right:auto;font:700 10px/1.4 var(--font-ui,system-ui,sans-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--theme-accent,#8a6a52);}
#win-calendar :is(.fm-cal-note-form,.fm-cal-poll-form) {display:flex;flex-direction:column;gap:7px;margin-top:9px;}
#win-calendar :is(.fm-cal-note-form,.fm-cal-poll-form) > div {display:flex;align-items:center;justify-content:space-between;gap:10px;}
/* These forms are built by the engine rather than sitting inside .fm-cal-form, so they
   need the same field and button treatment declared for them directly. */
#win-calendar :is(.fm-cal-note-form,.fm-cal-poll-form) :is(input,textarea) {width:100%;box-sizing:border-box;min-height:34px;padding:7px 11px;border:1px solid var(--fm-surface-line,#e2d9cd);border-radius:10px;background:var(--fm-surface-field,#fffdf8);color:var(--fm-surface-ink,#302d2a);-webkit-text-fill-color:var(--fm-surface-ink,#302d2a);caret-color:var(--fm-surface-ink,#302d2a);font:400 13px/1.45 var(--font-ui,system-ui,sans-serif);resize:vertical;}
#win-calendar :is(.fm-cal-note-form,.fm-cal-poll-form) ::placeholder {color:var(--fm-surface-muted,#625951);-webkit-text-fill-color:var(--fm-surface-muted,#625951);opacity:1;font-family:var(--font-ui,system-ui,sans-serif);}
#win-calendar :is(.fm-cal-note-form,.fm-cal-poll-form) :is(input[type="checkbox"]) {width:auto;min-height:0;}
#win-calendar :is(.fm-cal-note-form,.fm-cal-poll-form) button {min-height:32px;padding:6px 14px;border:1px solid var(--fm-surface-line,#e2d9cd);border-radius:10px;background:var(--fm-surface-field,#fffdf8);color:var(--fm-surface-ink,#302d2a);font-size:12px;font-weight:650;cursor:pointer;}
#win-calendar :is(.fm-cal-note-form,.fm-cal-poll-form) button.fm-c-primary {background:var(--fm-surface-action,#2c5a66);color:#fffaf3;border-color:transparent;}
#win-calendar .fm-cal-inline {white-space:nowrap;}
#win-calendar .fm-cal-detail-actions button {min-height:32px;padding:6px 14px;border:1px solid var(--fm-surface-line,#e2d9cd);border-radius:10px;background:var(--fm-surface-field,#fffdf8);color:var(--fm-surface-ink,#302d2a);font-size:12px;font-weight:650;cursor:pointer;}

#win-calendar .fm-cal-poll {padding:11px 12px;border-radius:12px;border:1px solid var(--fm-surface-line,#e2d9cd);background:var(--fm-surface-field,#fffdf8);margin-bottom:8px;}
#win-calendar .fm-cal-poll-head {display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;}
#win-calendar .fm-cal-poll-head h5 {margin:0;font:700 13px/1.35 var(--font-ui,system-ui,sans-serif);color:var(--fm-surface-ink,#302d2a);}
#win-calendar .fm-cal-poll-head span {font-size:11px;color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-poll-options {display:flex;flex-direction:column;gap:5px;margin:9px 0 8px;}
#win-calendar .fm-cal-poll-option {position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 11px;border:1px solid var(--fm-surface-line,#e2d9cd);border-radius:9px;background:var(--fm-surface-soft,#eee8e0);color:var(--fm-surface-ink,#302d2a);font-size:12px;text-align:left;cursor:pointer;overflow:hidden;}
#win-calendar .fm-cal-poll-option::before {content:"";position:absolute;inset:0 auto 0 0;width:var(--share,0%);background:color-mix(in srgb,var(--horizon-mid,#5b6b73) 20%,transparent);transition:width .25s ease;}
#win-calendar .fm-cal-poll-option:disabled {cursor:default;opacity:.85;}
#win-calendar .fm-cal-poll-mine {border-color:var(--horizon-mid,#5b6b73);box-shadow:inset 0 0 0 1px var(--horizon-mid,#5b6b73);font-weight:700;}
#win-calendar :is(.fm-cal-poll-label,.fm-cal-poll-count) {position:relative;}
#win-calendar .fm-cal-poll-count {flex:0 0 auto;font-size:11px;font-weight:650;color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-poll-footer {display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-poll-footer button {min-height:26px;padding:3px 10px;border:1px solid var(--fm-surface-line,#e2d9cd);border-radius:8px;background:var(--fm-surface-field,#fffdf8);color:var(--fm-surface-ink,#302d2a);font-size:11px;cursor:pointer;}

#win-calendar .fm-cal-form {display:flex;flex-direction:column;gap:9px;}
#win-calendar .fm-cal-form label {display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:650;color:var(--fm-surface-ink,#302d2a);}
#win-calendar .fm-cal-form label[data-disabled="true"] {opacity:.5;}
#win-calendar .fm-cal-form :is(input,textarea,select) {min-height:34px;padding:7px 11px;border:1px solid var(--fm-surface-line,#e2d9cd);border-radius:10px;background:var(--fm-surface-field,#fffdf8);color:var(--fm-surface-ink,#302d2a);-webkit-text-fill-color:var(--fm-surface-ink,#302d2a);caret-color:var(--fm-surface-ink,#302d2a);font:400 13px/1.45 var(--font-ui,system-ui,sans-serif);}
#win-calendar .fm-cal-form textarea {min-height:64px;resize:vertical;}
#win-calendar .fm-cal-form ::placeholder {color:var(--fm-surface-muted,#625951);-webkit-text-fill-color:var(--fm-surface-muted,#625951);opacity:1;}
#win-calendar .fm-cal-row {display:flex;gap:9px;}
#win-calendar .fm-cal-row > label {flex:1;min-width:0;}
#win-calendar .fm-cal-inline {flex-direction:row!important;align-items:center;gap:7px;font-weight:600!important;}
#win-calendar .fm-cal-inline input {min-height:0;flex:0 0 auto;}
#win-calendar .fm-cal-form-actions, #win-calendar .fm-cal-detail-actions {display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;}
#win-calendar .fm-cal-danger {color:#9a3630!important;}
#win-calendar .fm-cal-slot {display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;padding:9px 12px;margin-bottom:5px;border:1px solid var(--fm-surface-line,#e2d9cd);border-radius:10px;background:var(--fm-surface-soft,#eee8e0);color:var(--fm-surface-ink,#302d2a);font-size:12px;text-align:left;cursor:pointer;}
#win-calendar .fm-cal-slot:hover {background:var(--fm-surface-header,#e9f0f1);}
#win-calendar .fm-cal-suggest-note {margin:0 0 8px;font-size:11.5px;line-height:1.5;color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-visually-hidden {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
#win-calendar .fm-c-feedback[data-error="true"] {color:#9a3630;}
#win-calendar :is(button,input,textarea,select):focus-visible {outline:2px solid var(--horizon-mid,#5b6b73);outline-offset:2px;}

@media (max-width:760px) {
 #win-calendar .fm-cal-workspace {flex-direction:column;}
 #win-calendar .fm-cal-side {max-width:none;flex:1 1 auto;}
 #win-calendar .fm-cal-days {grid-auto-rows:minmax(62px,1fr);}
}
@media (prefers-reduced-motion:reduce) {
 #win-calendar .fm-cal-poll-option::before {transition:none;}
}

/* Right-click menu for a day. It sits on document.body rather than inside the window so
   it is never clipped by the grid's own scrolling, and carries the Horizon menu colours
   directly because it is outside #win-calendar's scope. */
.fm-cal-daymenu {
 position:fixed;z-index:10000;min-width:210px;padding:6px;
 border:1px solid var(--fm-surface-line,#e2d9cd);border-radius:12px;
 background:var(--fm-surface-field,#fffdf8);color:var(--fm-surface-ink,#302d2a);
 box-shadow:0 14px 34px #0f2a3033,0 2px 6px #0f2a301a;
 font:400 13px/1.4 var(--font-ui,system-ui,sans-serif);
}
.fm-cal-daymenu .fm-cal-daymenu-head {
 margin:0 0 4px;padding:5px 9px 6px;border-bottom:1px solid var(--fm-surface-line,#e2d9cd);
 font:700 11px/1.3 var(--font-ui,system-ui,sans-serif);letter-spacing:.02em;
 color:var(--fm-surface-muted,#625951);
}
.fm-cal-daymenu button {
 display:block;width:100%;min-height:32px;padding:7px 10px;margin:0;
 border:0;border-radius:8px;background:transparent;color:var(--fm-surface-ink,#302d2a);
 font:600 13px/1.4 var(--font-ui,system-ui,sans-serif);text-align:left;cursor:pointer;
}
.fm-cal-daymenu button:hover {background:var(--fm-surface-header,#e9f0f1);}
.fm-cal-daymenu button:focus-visible {outline:2px solid var(--horizon-mid,#5b6b73);outline-offset:-2px;}

/* Day preview: what is on the day you picked, before you decide to add anything. */
#win-calendar .fm-cal-daylist-row {
 display:flex;align-items:flex-start;gap:10px;width:100%;box-sizing:border-box;
 min-height:0!important;height:auto!important;padding:9px 11px!important;margin-bottom:6px;
 border:1px solid var(--fm-surface-line,#e2d9cd)!important;border-left:3px solid var(--horizon-mid,#5b6b73)!important;
 border-radius:10px!important;background:var(--fm-surface-soft,#eee8e0)!important;
 color:var(--fm-surface-ink,#302d2a)!important;text-align:left;cursor:pointer;box-shadow:none!important;
}
#win-calendar .fm-cal-daylist-row:hover {background:var(--fm-surface-header,#e9f0f1)!important;}
#win-calendar .fm-cal-daylist-row[data-occasion="true"] {border-left-color:#b5804a!important;cursor:default;}
#win-calendar .fm-cal-daylist-time {flex:0 0 auto;min-width:6.5ch;font:700 11px/1.5 var(--font-ui,system-ui,sans-serif);color:var(--fm-surface-muted,#625951);}
#win-calendar .fm-cal-daylist-body {display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto;}
#win-calendar .fm-cal-daylist-body strong {font:700 13px/1.35 var(--font-ui,system-ui,sans-serif);overflow-wrap:anywhere;}
#win-calendar .fm-cal-daylist-body small {font-size:11px;color:var(--fm-surface-muted,#625951);}
