.dp-panel { display: none; }
.dp-panel.open { display: flex; }
.dp-shortcut { display: block; padding-top: 0.5rem; padding-bottom: 0.5rem; padding-right: 1rem; padding-left: 1rem; cursor: pointer; }
.dp-shortcut:hover { background: var(--bs-secondary-rgb); color: var(--bs-primary-rgb); }
.dp-shortcut.active { background: #e8f0fe; color: #185FA5; font-weight: 500; }
.dp-date-input { flex: 1; text-align: center; }
.dp-date-input:focus { border-color: #378ADD; }
.cal-nav { background: none; border: none; cursor: pointer; color: var(--bs-secondary-rgb); font-size: 18px; padding: 3px 5px; border-radius: 4px; }
.cal-nav:hover { background: var(--color-background-secondary); }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.cal-dow { text-align: center; font-size: 11px; color: var(--color-text-tertiary); padding: 2px 0 4px; }
.cal-day { text-align: center; padding: 5px 2px; font-size: 12px; border-radius: 4px; cursor: pointer; color: var(--color-text-primary); }
.cal-day:hover:not(.empty):not(.other) { background: var(--color-background-secondary); }
.cal-day.empty, .cal-day.other { visibility: hidden; pointer-events: none; }
.cal-day.in-range { background: #e8f0fe; color: #185FA5; border-radius: 0; }
.cal-day.range-start, .cal-day.range-end { background: #378ADD; color: #fff; border-radius: 50%; }
.cal-day.today { font-weight: 500; }
.cal-wrap { flex: 1; }
.cal-title { font-size: 12px; font-weight: 500; color: var(--bs-primary-rgb); text-align: center; margin-bottom: 6px; }
.cal-day.disabled { color: var(--bs-secondary); opacity: 0.35; cursor: default; pointer-events: none; }