.calendar{gap:var(--space-4);flex-direction:column;display:flex}.calendar-nav{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.calendar-nav-button{width:36px;height:36px;margin:var(--tap-grow-sm);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-ink);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease);border:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.calendar-nav-button:before{content:"";position:absolute;inset:-6px}.calendar-nav-button:hover:not(:disabled){background:var(--color-canvas-alt)}.calendar-nav-button:focus-visible{outline:2px solid var(--color-amber);outline-offset:2px}.calendar-nav-button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.calendar-month-label{text-align:center;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-ink);letter-spacing:var(--letter-spacing-tight);flex:1;margin:0}.calendar-grid{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.calendar-header-cell{text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);color:var(--color-ink-soft);padding:var(--space-2) 0}.calendar-cell{aspect-ratio:1;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-ink);cursor:pointer;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;display:flex;position:relative;transform:translateZ(0)}.calendar-cell-markers{align-items:center;gap:var(--space-2);display:inline-flex}.calendar-cell:hover:not(:disabled){background:var(--color-canvas-alt)}.calendar-cell:focus-visible{outline:2px solid var(--color-amber);outline-offset:-2px}.calendar-cell.calendar-cell-static,.calendar-cell.calendar-cell-static:hover:not(:disabled){cursor:default;background:0 0}.calendar-cell-disabled{color:var(--color-ink-soft);opacity:.4;cursor:not-allowed}.calendar-cell-outside{color:var(--color-ink-soft);opacity:.35}.calendar-cell-today{border:1.5px solid var(--color-ink);color:var(--color-ink);opacity:.85;background:0 0}.calendar-cell-selected{background:var(--color-ink);color:var(--color-canvas)}.calendar-cell-selected:hover{background:var(--color-ink)}.calendar-cell-selected.calendar-cell-today{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-canvas);opacity:1}.calendar-cell-selected .day-marker-arrival,.calendar-cell-selected .day-marker-occupied{background:var(--color-amber)}.calendar-cell-selected .day-marker-departure{border-color:var(--color-amber)}.calendar-legend{justify-content:center;gap:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--color-hairline);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);color:var(--color-ink-soft);flex-wrap:wrap;display:flex}.calendar-legend-sentence{letter-spacing:normal}.calendar-legend-item{align-items:center;gap:var(--space-2);display:inline-flex}.calendar-cell-range{background:var(--color-canvas-alt);border-radius:0}.calendar-cell-range-start,.calendar-cell-range-end{background:var(--color-ink);color:var(--color-canvas)}.calendar-cell-range-start{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.calendar-cell-range-end{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.calendar-cell-range-start:hover,.calendar-cell-range-end:hover{background:var(--color-ink)}.calendar-cell-range-start.calendar-cell-today,.calendar-cell-range-end.calendar-cell-today{border-color:var(--color-ink);opacity:1}.calendar-cell-range-start .day-marker-arrival,.calendar-cell-range-start .day-marker-occupied,.calendar-cell-range-end .day-marker-arrival,.calendar-cell-range-end .day-marker-occupied{background:var(--color-amber)}.calendar-cell-range-start .day-marker-departure,.calendar-cell-range-end .day-marker-departure{border-color:var(--color-amber)}.calendar-cell-kept-free{border:1.5px dashed var(--color-ink-soft);color:var(--color-ink-soft)}.calendar-cell-kept-free.calendar-cell-range-start,.calendar-cell-kept-free.calendar-cell-range-end{background:var(--color-canvas-alt);color:var(--color-ink-soft);border-color:var(--color-ink-soft)}
