/* Shared date dialog: native focus trapping/inert backdrop; compact desktop. */
#calendar-picker{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:380px;max-width:100%;max-height:90dvh;height:fit-content;padding:12px;border:1px solid var(--line,#aaa);border-radius:12px;background:var(--paper,#fff);color:var(--ink,#17251b);overflow:auto;overscroll-behavior:contain;z-index:1000}
#calendar-picker[hidden]{display:none}#calendar-picker::backdrop{background:rgb(0 0 0 / .55)}
#calendar-picker header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;margin:0 0 8px}#calendar-picker button,#calendar-picker select{box-sizing:border-box;min-height:44px;min-width:44px;font:inherit;touch-action:manipulation}
#calendar-picker .calendar-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 80px 44px;gap:4px}#calendar-picker select{width:100%;padding:4px}
#calendar-picker .calendar-jumps{display:flex;gap:8px;margin:8px 0}#calendar-picker .calendar-jumps button{flex:1}
#calendar-picker .calendar-grid,#calendar-picker .calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:0;padding:0;width:100%}
#calendar-picker .calendar-weekdays span{text-align:center;font-size:12px;padding:8px 0}
#calendar-picker .calendar-day{width:100%;min-width:44px;height:44px;min-height:44px;border:2px solid transparent;border-radius:5px;padding:0;margin:0;font-size:14px}
#calendar-picker .available{background:#d9f3df;color:#14552b;cursor:pointer}#calendar-picker .no-data{background:#fbe1e2!important;color:#8c2028!important;opacity:1}#calendar-picker .closed{background:#151515!important;color:#fff!important;opacity:1}#calendar-picker .outside{background:transparent;visibility:hidden}#calendar-picker .selected{border-color:var(--ink,#17251b);box-shadow:inset 0 0 0 1px #fff;font-weight:800}
#calendar-picker .calendar-legend{display:flex;justify-content:space-between;font-size:12px;margin:10px 0}#calendar-picker .calendar-legend i{display:inline-block;width:10px;height:10px;margin-right:4px}.calendar-legend .data{background:#218044}.calendar-legend .no-data{background:#b9343c}.calendar-legend .closed{background:#151515;border:1px solid #aaa}
#calendar-picker #calendar-summary{font-size:14px;margin:10px 0}#calendar-picker #calendar-message{font-size:13px;line-height:1.4;min-height:18px}
#calendar-picker .calendar-actions{display:flex;gap:8px;position:sticky;bottom:0;background:inherit;padding:8px 0 max(8px,env(safe-area-inset-bottom));margin-top:12px}#calendar-picker .calendar-actions button{flex:1;font-size:16px}#calendar-picker header strong{font-size:18px}#calendar-picker button,#calendar-picker select{-webkit-tap-highlight-color:transparent}#calendar-apply{background:#176b36;color:white;border:1px solid #176b36}#calendar-picker :focus-visible{outline:3px solid #268bc7;outline-offset:-3px}
html[data-theme=dark] #calendar-picker{background:#18251f;color:#edf4ef;border-color:#526258}html[data-theme=dark] #calendar-picker .selected{border-color:#fff}
@media(max-width:600px){#calendar-picker{width:100%;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:max(8px,env(safe-area-inset-top)) 6px 0;display:flex;flex-direction:column}#calendar-picker .calendar-actions{margin-top:auto;flex-shrink:0}#calendar-picker header,#calendar-picker .calendar-navigation,#calendar-picker .calendar-jumps,#calendar-picker .calendar-grid,#calendar-picker .calendar-weekdays{flex-shrink:0}}
