/* Time picker (see js/time-picker.js). */
.tp-btn { display: inline-flex; align-items: center; text-align: left; cursor: pointer; font-variant-numeric: tabular-nums; }
.tp-btn.is-empty { opacity: .6; }
.wn-times .tp-btn { height: 48px; width: 112px; padding: 0 12px; border: 0; border-radius: 12px; background: var(--wn-field, var(--surface-2)); color: var(--wn-fg, var(--fg)); font: 500 15px var(--font-body); }
.wn-times .tp-btn:focus-visible { outline: 2px solid var(--border-strong, #dcc7b7); outline-offset: 0; }
.tp-dt { display: flex; gap: 8px; align-items: stretch; }
.tp-dt .tp-date { flex: 1; min-width: 0; }
.tp-dt .tp-btn { flex: 0 0 auto; min-width: 84px; justify-content: center; }
.tp-panel { position: fixed; z-index: 3000; box-sizing: border-box; height: 268px; overflow-y: auto; padding: 8px; display: flex; flex-direction: column; gap: 8px;
  background: var(--surface-raised, #fffcf8); border: 1px solid var(--border, #e8d8cc); border-radius: 14px; box-shadow: 0 18px 48px rgba(43,33,28,.18);
  scrollbar-width: none; overscroll-behavior: contain; }
.tp-panel::-webkit-scrollbar { display: none; }
.tp-row { flex: 0 0 44px; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 8px; background: var(--surface-2, #f4ece3); color: var(--fg, #1f1f1f); cursor: pointer; font: 600 15px var(--font-body, system-ui); font-variant-numeric: tabular-nums; transition: background .12s ease; }
.tp-row:hover { background: var(--border, #e8d8cc); }
.tp-row.is-off { opacity: .35; cursor: not-allowed; }
.tp-row.is-off:hover { background: var(--surface-2, #f4ece3); }
.tp-row.is-on { background: var(--accent, #FF5900); color: var(--accent-ink, #fff); }
.tp-row:focus-visible { outline: none; }
