.dp{position:relative}.dp-field{display:flex;align-items:stretch}.dp-input{flex:1;min-width:0}.dp-toggle{flex-shrink:0;margin-left:.4rem;padding:0 .75rem;background:var(--parchment-light);border:1.5px solid var(--parchment-warm);border-radius:5px;color:var(--wood-rich);font-size:1rem;cursor:pointer;transition:border-color .15s}.dp-toggle:hover{border-color:var(--wood-warm)}.dp-pop{position:absolute;z-index:40;top:calc(100% + .4rem);left:0;background:var(--parchment-light);border:1.5px solid var(--parchment-warm);border-radius:8px;padding:.75rem;box-shadow:0 12px 30px #2e160838;min-width:17.5rem}.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.dp-month{font-family:var(--font-ui);font-weight:600;font-size:.95rem;color:var(--wood-dark)}.dp-nav{background:none;border:none;cursor:pointer;font-size:1.25rem;line-height:1;padding:.15rem .5rem;color:var(--wood-rich);border-radius:4px}.dp-nav:hover{background:var(--parchment-mid)}.dp-weekdays,.dp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.dp-grid{border-top:1px solid var(--parchment-warm);border-left:1px solid var(--parchment-warm);border-radius:5px;overflow:hidden}.dp-weekdays span{text-align:center;font-family:var(--font-ui);font-size:.7rem;letter-spacing:.04em;color:var(--ink-light);padding-bottom:.3rem}.dp-day{aspect-ratio:1;background:none;border:none;border-right:1px solid var(--parchment-warm);border-bottom:1px solid var(--parchment-warm);border-radius:0;font-family:var(--font-ui);font-size:.85rem;color:var(--ink);cursor:pointer;transition:background .12s,color .12s}.dp-day:hover{background:var(--parchment-mid)}.dp-day-out{color:var(--ink-light)}.dp-day-today{box-shadow:inset 0 0 0 1.5px var(--gold)}.dp-day-selected{background:var(--felt);color:var(--parchment-light)}.dp-day-selected:hover{background:var(--felt-mid)}.dp-day:focus-visible{outline:2px solid var(--wood-warm);outline-offset:-2px}.dp-today{display:block;width:100%;margin-top:.6rem;padding:.45rem;background:none;border:1px solid var(--parchment-warm);border-radius:5px;font-family:var(--font-ui);font-size:.82rem;color:var(--wood-rich);cursor:pointer}.dp-today:hover{background:var(--parchment-mid)}.dp-period{display:flex;gap:.35rem}.dp-select{font-family:var(--font-ui);font-size:.85rem;font-weight:600;color:var(--wood-dark);background:var(--parchment-light);border:1px solid var(--parchment-warm);border-radius:4px;padding:.15rem .25rem;cursor:pointer}.dp-select:focus-visible{outline:2px solid var(--wood-warm);outline-offset:1px}
