.dcal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-sm)}.dcal__head{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.dcal__month{font-family:var(--font-ui);font-weight:600;font-size:var(--text-base);color:var(--ink)}.dcal__nav{width:var(--hit-min);height:var(--hit-min);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;transition:background var(--dur-fast) var(--ease-out-quart);justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:inline-flex}@media (hover:hover){.dcal__nav:hover:not(:disabled){background:var(--surface-sunken)}}.dcal__nav:disabled{opacity:.35;cursor:default}.dcal__grid{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.dcal__grid--head{margin-bottom:var(--space-1)}.dcal__dow{text-align:center;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--ink-muted);padding:.25rem 0;font-weight:600}.dcal__day{aspect-ratio:1;border-radius:var(--radius-md);min-width:0;color:var(--ink-subtle);font-family:var(--font-ui);font-size:var(--text-sm);cursor:default;transition:background var(--dur-fast) var(--ease-out-quart), color var(--dur-fast) var(--ease-out-quart), border-color var(--dur-fast) var(--ease-out-quart);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.dcal__day.is-out{visibility:hidden}.dcal__day.is-available{background:var(--surface-sunken);color:var(--ink);cursor:pointer;font-weight:600}@media (hover:hover){.dcal__day.is-available:hover{border-color:var(--brand)}}.dcal__day.is-today{box-shadow:inset 0 0 0 1px var(--accent)}.dcal__day.is-active{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}@media (prefers-reduced-motion:reduce){.dcal__day,.dcal__nav{transition:none}}.slp__day{font-family:var(--font-ui);font-weight:600;font-size:var(--text-sm);color:var(--ink);margin:var(--space-4) 0 var(--space-2)}.slp__band{align-self:center}.slp__grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr));display:grid}.slp__slot{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--dur-fast) var(--ease-out-quart), color var(--dur-fast) var(--ease-out-quart), border-color var(--dur-fast) var(--ease-out-quart);padding:.7rem 0;font-weight:500}@media (hover:hover){.slp__slot:hover{border-color:var(--border-strong)}}.slp__slot.is-active{background:var(--brand);color:var(--on-brand);border-color:var(--brand);font-weight:600}@media (prefers-reduced-motion:reduce){.slp__slot{transition:none}}
