/* One calendar surface for date, datetime and month inputs on both sites. */
.calendar-popup.calendar-card{box-sizing:border-box;position:fixed;inset:auto;margin:0;width:304px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow:auto;padding:18px 16px 16px;background:#fff;color:#282828;border:1px solid #ededed;border-radius:17px;box-shadow:0 12px 36px #14141424;font:11px/1.5 var(--font,sans-serif);letter-spacing:0}
.calendar-card button{font:inherit;color:inherit;cursor:pointer;box-shadow:none;min-height:0;margin:0}
.calendar-card button:disabled{cursor:default;opacity:.35}
.calendar-card .calendar-selection-row{position:relative;margin-bottom:10px}
.calendar-card .calendar-selection{display:flex;align-items:center;gap:8px;width:100%;min-height:39px;padding:8px 30px 8px 9px;border:1px solid #858585;border-radius:12px;background:#fff;text-align:left;box-shadow:0 2px 4px #00000012;font-size:12px}
.calendar-card .calendar-clear{position:absolute;right:6px;top:7px;width:24px;height:25px;padding:0;border:0;background:transparent;color:#909090;font-size:17px}
.calendar-card .calendar-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}
.calendar-card .calendar-presets>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:64px;padding:7px 4px;border:1px solid #e5e5e5;border-radius:14px;background:linear-gradient(#fff,#fafafa);box-shadow:0 2px 3px #00000009;font-size:10px}
.calendar-card .calendar-presets>button:nth-child(1) svg{color:#a88cdb}.calendar-card .calendar-presets>button:nth-child(2) svg{color:#dfad6f}.calendar-card .calendar-presets>button:nth-child(3) svg{color:#91b85b}
.calendar-card .calendar-presets>button:hover:not(:disabled){background:#f6f6f6;border-color:#bdbdbd}
.calendar-card .calendar-custom{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:36px;margin-bottom:12px;padding:6px 10px;border:1px solid #909090;border-radius:8px;background:#f5f5f5;box-shadow:0 2px 3px #00000008;font-size:11px}
.calendar-card .calendar-header{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:0 0 6px;padding-top:7px;border-top:1px solid #f1f1f1}
.calendar-card .calendar-header>button{display:grid;place-items:center;width:26px;height:27px;padding:0;border:0;border-radius:6px;background:transparent;color:#a3a3a3;font-size:23px;font-weight:400}
.calendar-card .calendar-header .calendar-month-title{width:auto;padding:0 7px;font-size:12px;color:#252525}
.calendar-card .calendar-header .month-picker-year{flex:1;min-width:0;width:0;height:28px;min-height:28px;padding:3px 8px;border:0;border-radius:6px;background:#fff;color:#252525;text-align:center;font:12px/1.5 var(--font);box-shadow:none;appearance:textfield}
.calendar-card .calendar-weekdays,.calendar-card .calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;text-align:center}
.calendar-card .calendar-weekdays{margin:0 0 5px;padding:0;font-size:9px;color:#8b8b8b}
.calendar-card .calendar-week{min-height:31px;margin:0;border-radius:0;background:transparent}
.calendar-card .calendar-week>[role=gridcell]{display:grid;place-items:center;min-width:0;background:transparent}
.calendar-card .calendar-day{display:grid;place-items:center;width:29px;height:29px;padding:0;border:0;border-radius:10px;background:transparent;color:#646464;font-size:10px;font-weight:400}
.calendar-card .calendar-day.adjacent-month{color:#c6c6c6;opacity:1}
.calendar-card .calendar-day:hover:not(:disabled){background:#f0f2fb;color:#363636}
.calendar-card .calendar-day[aria-current=date]{box-shadow:inset 0 0 0 1px #e0e5fb}
.calendar-card .calendar-day.selected,.calendar-card .calendar-day.selected:hover{background:#365cff;color:#fff;box-shadow:0 2px 4px #365cff20}
.calendar-card .calendar-day:disabled{color:#d3d3d3;opacity:.65}
.calendar-card .month-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:6px 0}
.calendar-card .month-picker-grid>button{height:38px;padding:5px;border:1px solid #eeeeef;border-radius:10px;background:#fff;color:#646464;font:11px/1.5 var(--font);box-shadow:none}
.calendar-card .month-picker-grid>button:hover:not(:disabled){background:#f0f2fb;border-color:#d9dff6}
.calendar-card .month-picker-grid>button[aria-pressed=true]{background:#365cff;border-color:#365cff;color:#fff;font-weight:400}
.calendar-card .month-picker-grid>button:disabled{background:#fafafa;color:#c6c6c6}
.calendar-card .calendar-month-chooser{display:flex;align-items:end;gap:7px;margin:8px 0 12px}
.calendar-card .calendar-month-chooser label{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0;font-size:10px;color:#777}
.calendar-card .calendar-month-chooser :is(input,select){width:100%;height:31px;min-height:31px;padding:5px 7px;border:1px solid #dedede;border-radius:7px;background-color:#fff;color:#303030;font-size:11px;box-shadow:none}
.calendar-card .calendar-month-chooser>button{height:31px;padding:5px 8px;border:1px solid #dedede;border-radius:7px;background:#f5f5f5;font-size:10px}
.calendar-card .calendar-time-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 2px;font-size:11px;color:#777}
.calendar-card .calendar-time-label input{width:135px;height:32px;min-height:32px;padding:4px 7px;border:1px solid #dedede;border-radius:7px;background:#fff;color:#303030;font-size:11px;box-shadow:none}
.calendar-card .calendar-footer{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 0;padding:10px 0 0;border-top:1px solid #f4f4f4}
.calendar-card .calendar-footer>button{height:33px;padding:6px 10px;border:1px solid #c8c8c8;border-radius:9px;background:#fff;color:#535353;box-shadow:0 2px 4px #0000000c;font-size:11px}
.calendar-card .calendar-footer>[data-calendar-save]{border-color:#242424;background:linear-gradient(#4b4b4b,#080808);color:#fff;box-shadow:0 2px 4px #00000022}
.calendar-card .calendar-footer>button:hover:not(:disabled){filter:brightness(.96)}
.calendar-card .calendar-status{margin:7px 0 0;color:#b44a44;font-size:10px}.calendar-card .calendar-status:empty{display:none}
.calendar-card [hidden]{display:none!important}.calendar-card :is(button,input,select):focus-visible{outline:2px solid #365cff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.calendar-card *{transition:none!important}}
