input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator { display:none; }
.site-date-picker { position:fixed; z-index:11000; width:270px; max-width:calc(100vw - 16px); padding:10px; box-sizing:border-box; background:#fff; border:1px solid #bdced7; border-radius:12px; box-shadow:0 12px 28px #17354b44; color:#183746; }
.site-date-picker.hidden { display:none!important; }
.site-date-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.site-date-head button { border:0; border-radius:7px; background:transparent; color:#183746; font-weight:800; min-height:30px; cursor:pointer; }
.site-date-head button:hover { background:#edf4f8; }
.site-date-head .site-date-arrow { width:32px; background:#f5f9fb; border:1px solid #d8e2e8; }
.site-date-heading { display:flex; gap:2px; }
.site-date-heading button { padding:0 7px; }
.site-date-years { max-height:210px; overflow-y:auto; display:grid; gap:3px; }
.site-date-years button,.site-date-months button { min-height:32px; border:0; border-radius:7px; background:#f5f9fb; color:#183746; cursor:pointer; }
.site-date-years button:hover,.site-date-months button:hover,.site-date-years button[aria-current="true"],.site-date-months button[aria-current="true"] { background:#dceef0; color:#075c5b; font-weight:800; }
.site-date-months { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.site-date-days { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; text-align:center; }
.site-date-days button { min-height:30px; border:0; border-radius:6px; background:#fff; cursor:pointer; }
.site-date-days button:hover,.site-date-days button[aria-current="date"] { background:#dceef0; }
.site-date-days .sunday { color:#c43d49; }
.site-date-days .saturday { color:#2864ba; }
.site-date-days .outside { background:#f7f9fb; color:#9ba8b3; }
.site-date-days .outside.sunday { color:#dea6aa; }
.site-date-days .outside.saturday { color:#a4bce0; }
.site-date-time-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; border-top:1px solid #e0e8ec; padding-top:8px; font-size:.85rem; font-weight:800; }
.site-date-time-row input { width:100px!important; height:34px!important; border:1px solid #bdced7; border-radius:7px; padding:0 8px; font-variant-numeric:tabular-nums; }
.event-time { font-variant-numeric:tabular-nums; }
