/* General single-date control. Period/range controls are never enhanced. */
:root { --ui-calendar-width:308px; --ui-calendar-cell:34px; --ui-calendar-selected:var(--ui-primary); --ui-calendar-soft:var(--ui-filter-applied-bg); }
html[data-ui-theme] body[data-ui-scope="application"] .ui-date-input {
    position:relative; display:flex; align-items:center; width:100%; min-width:0; height:var(--ui-field-height); min-height:var(--ui-field-height); box-sizing:border-box;
    border:1px solid var(--ui-border); border-radius:var(--ui-radius); background:var(--ui-surface); color:var(--ui-text); font:400 var(--ui-font-size)/1.5 var(--ui-font-family,inherit); overflow:hidden;
}
html[data-ui-theme] body[data-ui-scope="application"] .ui-date-input:focus-within { border-color:var(--ui-focus-border,#b7c2ce); outline:0; box-shadow:none; }
html[data-ui-theme] body[data-ui-scope="application"] .ui-date-input > input.ui-date-input__native {
    position:absolute!important; inset:0!important; width:100%!important; height:100%!important; min-height:0!important; max-height:none!important; opacity:0!important; margin:0!important; padding:0!important; z-index:1; cursor:pointer; box-sizing:border-box;
}
.ui-date-input__icon { display:flex; align-items:center; justify-content:center; align-self:stretch; flex:0 0 var(--ui-form-icon-width,42px); background:var(--ui-form-icon-bg,#f0f2f5); color:var(--ui-form-icon-text,#7f8b99); pointer-events:none; }
.ui-date-input:focus-within .ui-date-input__icon { background:var(--ui-calendar-soft); }
.ui-date-input__icon svg { width:18px; height:18px; }
.ui-date-input__value { flex:1; min-width:0; padding-inline:12px; font-size:var(--ui-font-size); font-weight:400; text-align:center; white-space:nowrap; pointer-events:none; }
.ui-date-input.is-empty .ui-date-input__value { color:var(--ui-muted); font-weight:400; }
html[data-ui-theme] body[data-ui-scope="application"] button.ui-date-input__toggle { position:relative; z-index:2; display:grid; place-items:center; flex:0 0 32px; width:32px; min-height:0; height:100%; padding:0; border:0; background:transparent; color:var(--ui-muted); font-size:20px; cursor:pointer; }
.ui-date-input.is-disabled { opacity:.6; background:var(--ui-surface-subtle); }
.ui-date-input.is-disabled input,.ui-date-input.is-readonly input { cursor:default!important; }
.ui-date-input[aria-invalid="true"] { border-color:var(--ui-danger)!important; }
.ui-date-input:has(input.maale-filter--applied) { background:var(--ui-filter-applied-bg)!important; border-color:var(--ui-filter-applied-border)!important; color:var(--ui-filter-applied-text)!important; }
html[data-ui-theme] body[data-ui-scope="application"] .ui-date-input.is-native-fallback > input.ui-date-input__native { opacity:1!important; }
.ui-date-input.is-native-fallback > :not(input) { visibility:hidden; }
html[data-ui-theme] body[data-ui-scope="application"] .maale-form .maale-form-field:has(> .ui-date-input) > .maale-form-icon { display:none; }
html[data-ui-theme] body[data-ui-scope="application"] .maale-form .maale-form-field > .ui-date-input { grid-row:2; }
.ui-date-picker[popover] { position:fixed; inset:auto; margin:0; width:min(var(--ui-calendar-width),calc(100vw - 16px)); max-height:calc(100dvh - 16px); overflow:auto; box-sizing:border-box; padding:14px; border:1px solid var(--ui-border); border-radius:var(--ui-card-radius,10px); background:var(--ui-surface); color:var(--ui-text); box-shadow:var(--ui-shadow,0 8px 24px #17203320); font:400 13px/1.5 var(--ui-font-family,Arial,sans-serif); }
.ui-date-picker::backdrop { background:transparent!important; backdrop-filter:none!important; }
.ui-date-picker button { font:inherit; cursor:pointer; box-sizing:border-box; }
.ui-date-picker button:disabled { cursor:default; opacity:.35; }
.ui-date-picker__switch { display:flex; padding:3px; border-radius:20px; background:var(--ui-surface-subtle,#f0f2f5); margin-bottom:12px; }
.ui-date-picker__switch button { flex:1; padding:5px; border:0; border-radius:18px; background:transparent; color:var(--ui-muted); }
.ui-date-picker__switch button[aria-pressed="true"] { background:var(--ui-calendar-selected); color:var(--ui-primary-text,#fff); }
.ui-date-picker__heading { direction:ltr; display:flex; gap:5px; align-items:center; margin-bottom:10px; }
.ui-date-picker__heading button { flex:0 0 28px; height:30px; border:0; background:transparent; color:var(--ui-primary); font-size:24px; }
.ui-date-picker__heading select,.ui-date-picker__heading input { min-width:0; min-height:30px; height:30px; padding:2px 4px; border:1px solid transparent; background:transparent; color:var(--ui-heading,var(--ui-text)); border-radius:var(--ui-radius); font:500 13px var(--ui-font-family,Arial,sans-serif); text-align:center; }
.ui-date-picker__heading select { flex:1; width:90px; }
.ui-date-picker__heading input { flex:0 1 68px; width:68px; direction:ltr; }
.ui-date-picker__weekdays,.ui-date-picker__days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; }
.ui-date-picker__weekdays { color:var(--ui-muted); font-size:10px; text-align:center; margin-bottom:6px; }
.ui-date-picker__day { display:grid; place-items:center; width:100%; height:var(--ui-calendar-cell); min-height:0; padding:0; border:1px solid transparent; border-radius:var(--ui-radius); background:transparent; color:var(--ui-text); }
.ui-date-picker__day.is-outside { color:var(--ui-muted); opacity:.55; }
.ui-date-picker__day.is-today { border-color:var(--ui-filter-applied-border); }
.ui-date-picker__day:hover:not(:disabled) { background:var(--ui-calendar-soft); color:var(--ui-filter-applied-text); opacity:1; }
.ui-date-picker__day[aria-selected="true"],.ui-date-picker__day[aria-selected="true"]:hover { background:var(--ui-calendar-selected); color:var(--ui-primary-text,#fff); opacity:1; }
.ui-date-picker__footer { display:flex; gap:8px; padding-top:10px; margin-top:10px; border-top:1px solid var(--ui-border); }
.ui-date-picker__footer button { flex:1; padding:5px; border:0; background:transparent; color:var(--ui-primary); }
.ui-date-picker__footer button:hover:not(:disabled) { background:var(--ui-calendar-soft); border-radius:var(--ui-radius); }
.ui-date-picker :is(button,input,select):focus-visible { outline:2px solid var(--ui-focus-border,#b7c2ce); outline-offset:1px; }
.ui-date-picker__status { color:var(--ui-danger); font-size:12px; margin:5px 0 0; }

html[data-ui-theme] body[data-ui-scope="application"] .ui-date-picker .ui-date-picker__heading :is(input,select) { min-height:32px; height:32px; padding:2px 4px; border-color:transparent; background:transparent; font-size:13px; font-weight:500; }
