/* Picker controls must remain visible without the optional external icon kit. */
.zone-picker-icon { display: inline-block; width: 1rem; height: 1rem; background: currentColor; vertical-align: middle;
    -webkit-mask: var(--zone-picker-icon) center / contain no-repeat; mask: var(--zone-picker-icon) center / contain no-repeat; }
.zone-picker-calendar { --zone-picker-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 11h18M8 2v6M16 2v6'/%3E%3C/svg%3E"); }
.zone-picker-clock { --zone-picker-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); }
.zone-picker-up, .zone-picker-down, .zone-picker-left, .zone-picker-right { --zone-picker-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='m6 15 6-6 6 6'/%3E%3C/svg%3E"); }
.zone-picker-down { transform: rotate(180deg); }
.zone-picker-left { transform: rotate(-90deg); }
.zone-picker-right { transform: rotate(90deg); }
.limited-parking-admin .lp-picker-field { flex-wrap: nowrap; min-width: 0; }
.limited-parking-admin .lp-picker-field > input:not([hidden]) { flex: 1 1 auto; width: 1%; border-radius: 1rem 0 0 1rem !important; }
.limited-parking-admin .lp-picker-field .zone-picker-toggle { flex: 0 0 2.75rem; justify-content: center; color: var(--primary); background: #f3f8f7; border: 1px solid #d8dce2; border-radius: 0 1rem 1rem 0; }
.limited-parking-admin .lp-picker-popup { z-index: 1060; width: 20rem; max-width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); overflow: auto; color: var(--dark); background: white; padding: .75rem; margin: 0; border: 1px solid #d8e5e2; border-radius: .75rem; box-shadow: 0 .4rem 1.2rem #302a3626; }
.limited-parking-admin .lp-picker-popup::before, .limited-parking-admin .lp-picker-popup::after { display: none; }
.limited-parking-admin .lp-picker-popup { display: block; }
.limited-parking-admin .lp-picker-popup .zone-picker-icon { width: 1rem; height: 1rem; margin: 0; }
.limited-parking-admin .lp-picker-popup table { width: 100%; margin: 0; }
.limited-parking-admin .lp-picker-popup td, .limited-parking-admin .lp-picker-popup th { text-align: center; border-radius: .3rem; }
.limited-parking-admin .lp-picker-popup [data-action] { cursor: pointer; }
.limited-parking-admin .lp-picker-popup [data-action]:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
.limited-parking-admin .lp-picker-popup [data-action]:hover { background: #eef7f5; }
.limited-parking-admin .lp-picker-popup .day { height: 2rem; }
.limited-parking-admin .lp-picker-popup .old, .limited-parking-admin .lp-picker-popup .new { color: #71817d; }
.limited-parking-admin .lp-picker-popup .active { background: var(--primary); color: white; }
.limited-parking-admin .lp-picker-popup .disabled { opacity: .5; cursor: default; }
.limited-parking-admin .lp-picker-popup .datepicker-months td span, .limited-parking-admin .lp-picker-popup .datepicker-years td span { display: inline-block; width: 25%; height: 3rem; line-height: 3rem; margin: 0; }
.limited-parking-admin .lp-picker-popup .timepicker-picker td span:not(.zone-picker-icon) { display: inline-block; width: auto; height: auto; line-height: inherit; float: none; }
.limited-parking-admin .lp-picker-popup .timepicker-hour, .limited-parking-admin .lp-picker-popup .timepicker-minute, .limited-parking-admin .lp-picker-popup .timepicker-second { padding: .6rem; font-size: 1.15rem; font-weight: 600; }
.limited-parking-admin .lp-picker-popup .timepicker-hours td, .limited-parking-admin .lp-picker-popup .timepicker-minutes td, .limited-parking-admin .lp-picker-popup .timepicker-seconds td { height: 2.5rem; }
.limited-parking-admin .lp-picker-popup .picker-switch a { display: flex; justify-content: center; align-items: center; min-height: 2.5rem; }
.limited-parking-admin .lp-picker-popup .picker-switch .zone-picker-icon { width: 1rem; height: 1rem; line-height: 1; float: none; }
.limited-parking-admin .lp-picker-popup a { text-decoration: none; }
.limited-parking-admin .lp-picker-popup .timepicker-picker td a { display: flex; align-items: center; justify-content: center; min-height: 2.5rem; }
.limited-parking-admin .lp-picker-actions { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: flex-end; border-top: 1px solid #e4eae8; margin-top: .5rem; padding-top: .65rem; }
.limited-parking-admin .lp-picker-actions button { min-height: 2.25rem; padding: .3rem .6rem; font-size: .875rem; }
.limited-parking-admin .lp-picker-actions button[aria-pressed="true"] { background: var(--primary); color: white !important; }
.limited-parking-admin .lp-picker-popup th { font-size: .85rem; }
