.calendar-input{position:relative;min-width:0;width:100%}
.calendar-input input[type=date],.calendar-input input[type=datetime-local]{padding-right:36px;color:var(--ink);min-width:0;width:100%}
.calendar-input input::-webkit-calendar-picker-indicator{display:none}
.calendar-trigger{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:5px;background:var(--soft);color:var(--accent)}
.calendar-trigger:hover{background:var(--aqua)}
dialog.calendar-dialog{box-sizing:border-box;padding:14px;width:300px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--border);border-radius:12px;color:var(--ink);box-shadow:0 24px 80px #022b5f30}
.calendar-dialog::backdrop{background:#10243b55;backdrop-filter:blur(2px)}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.calendar-eyebrow{display:none}
.calendar-heading h2{font-size:15px;font-weight:650;margin:0;color:var(--accent)}
.calendar-close{font-size:25px;color:var(--muted);border:0;background:transparent;width:32px;height:32px;border-radius:6px}
.calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}
.calendar-navigation>button{height:32px;width:32px;border:1px solid var(--border);border-radius:7px;background:white;color:var(--accent);font-size:23px;line-height:1}
.calendar-navigation>div{display:flex;gap:6px;min-width:0}
.calendar-dialog .calendar-month{width:108px;min-height:30px;padding:3px 5px;font-size:12px;font-weight:600}
.calendar-dialog .calendar-year{width:65px;height:30px;padding:3px 5px;font-size:12px}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.calendar-weekdays{margin-bottom:6px;text-align:center;font-size:11px;font-weight:600;color:var(--muted)}
.calendar-day{height:30px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:500;background:white;color:var(--ink)}
.calendar-day.outside-month{color:#a2afbb}.calendar-day[aria-current=date]{border-color:var(--aqua);color:var(--accent);font-weight:700}
.calendar-day:hover{background:var(--soft)}.calendar-day.selected{background:var(--accent);color:white;border-color:var(--accent);box-shadow:0 2px 5px #022b5f20}
.calendar-day:disabled{opacity:.3;cursor:not-allowed}.calendar-selection{font-size:12px;text-align:center;color:var(--muted);margin:6px 0}
.calendar-time{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-top:1px solid var(--border);gap:20px;font-size:13px}
.calendar-time[hidden],.calendar-clear[hidden]{display:none}.calendar-time input{max-width:130px;height:30px;padding:4px 7px;font-size:12px}
.calendar-footer{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);padding-top:8px;margin-top:0}
.calendar-footer>button:not(.btn){border:0;background:transparent;font-size:12px;color:var(--accent);padding:8px 0}.calendar-footer .calendar-apply{margin-left:auto;min-height:30px;padding:5px 14px;font-size:12px}
.calendar-error{color:#b94040;font-size:12px;margin:6px 0}.calendar-error:empty{display:none}
@media print{.calendar-dialog,.calendar-trigger{display:none!important}}
