/* C3: original native fields retain the form contract. */
[data-zevs-ui].zds-picker, [data-zevs-ui] .zds-picker { display:block; position:relative; min-inline-size:0; max-inline-size:100%; }
[data-zevs-ui] .zds-picker-source, [data-zevs-ui] .zds-picker-label-name { position:absolute; inline-size:1px; block-size:1px; min-inline-size:0; max-inline-size:1px; min-block-size:0; max-block-size:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
[data-zevs-ui] .zds-picker-input { box-sizing:border-box; display:block; inline-size:100%; min-inline-size:0; min-block-size:var(--zds-field-height); margin:0; padding:var(--zds-field-padding-block) 44px var(--zds-field-padding-block) var(--zds-field-padding-inline); border:1px solid var(--zds-border); border-radius:var(--zds-field-radius); background:var(--zds-field-surface); color:var(--zds-ink); font:400 calc(var(--zds-field-font-size) * var(--font-scale,1))/1.45 var(--zds-font-family); outline:none; box-shadow:none; }
[data-zevs-ui] .zds-picker-input::placeholder { color:var(--zds-muted); opacity:1; }
[data-zevs-ui] .zds-picker-input:is(:focus,:focus-visible) { outline:none; box-shadow:none; }
[data-zevs-ui] .zds-picker-input:disabled { opacity:.55; }
[data-zevs-ui] .zds-picker-input[aria-invalid="true"] { border-color:var(--zds-danger); }
[data-zevs-ui] .zds-picker-trigger { position:absolute; inset-inline-end:4px; inset-block-start:2px; display:flex; align-items:center; justify-content:center; inline-size:36px; block-size:36px; padding:0; border:0; background:transparent; color:var(--zds-muted); box-shadow:none; }
[data-zevs-ui] .zds-picker-trigger:is(:focus,:focus-visible) { outline:none; box-shadow:none; }
[data-zevs-ui] .zds-picker-error { margin:var(--zds-field-help-gap) 0 0; color:var(--zds-danger); font-size:13px; }
[data-zevs-ui] .zds-picker-error[hidden] { display:none; }
[data-zevs-ui] .zds-picker-fallback { margin:var(--zds-field-help-gap) 0 0; color:var(--zds-muted); font-size:13px; }

:is([data-zevs-ui].zds-picker-popup,[data-zevs-ui] .zds-picker-popup) { position:fixed; inset:auto; z-index:100; margin:0; padding:8px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--zds-border); border-radius:var(--zds-field-radius); background:var(--zds-surface); color:var(--zds-ink); box-shadow:0 8px 24px #0002; font-family:inherit; font-size:13px; line-height:1.4; }
:is([data-zevs-ui].zds-picker-popup,[data-zevs-ui] .zds-picker-popup)::backdrop { background:transparent; pointer-events:none; }
[data-zevs-ui] .ui-calendar-head { display:flex; align-items:center; justify-content:space-between; gap:var(--zds-picker-gap); min-height:var(--zds-action-height); margin-bottom:4px; }
[data-zevs-ui] .ui-calendar-month { flex:1; text-align:center; font-weight:500; }
[data-zevs-ui] .ui-calendar-week,[data-zevs-ui] .ui-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:0; }
[data-zevs-ui] .ui-calendar-week { min-height:24px; align-items:center; text-align:center; color:var(--zds-muted); font-size:12px; }
[data-zevs-ui] button.ui-calendar-day { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; height:var(--zds-picker-day-height); min-height:var(--zds-picker-day-height); margin:0; padding:0; border:0; border-radius:6px; background:transparent; color:var(--zds-ink); font:inherit; font-weight:400; box-shadow:none; transform:none; }
[data-zevs-ui] .ui-calendar-day[data-other="true"] { color:var(--zds-muted); }
[data-zevs-ui] .ui-calendar-day:hover { background:var(--bezel-bg); }
[data-zevs-ui] .ui-calendar-day[aria-current="date"] { color:var(--zds-accent-ink); text-decoration:underline; text-underline-offset:3px; }
[data-zevs-ui] .ui-calendar-day[aria-pressed="true"] { background:var(--zds-accent); color:var(--zds-accent-text); text-decoration:none; }
[data-zevs-ui] .ui-picker-footer { display:flex; align-items:center; justify-content:space-between; gap:var(--zds-picker-gap); flex-wrap:wrap; margin-top:8px; padding-top:8px; border-top:1px solid var(--zds-border); }
[data-zevs-ui] .ui-picker-footer .ui-button { font-size:var(--zds-font-size); padding-inline:var(--zds-button-padding-inline); }
[data-zevs-ui] .ui-picker-footer .ui-button[data-variant="back"] { padding-inline:0; }
[data-zevs-ui] .ui-time-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--zds-picker-gap); }
[data-zevs-ui] .ui-time-label { margin:4px 0 8px; color:var(--zds-muted); font-size:12px; text-align:left; }
[data-zevs-ui] .ui-time-list { position:relative; height:var(--zds-picker-list-height); overflow-y:auto; overscroll-behavior:contain; border:1px solid var(--zds-border); border-radius:6px; padding:3px; }
[data-zevs-ui] button.ui-time-option { display:flex; align-items:center; justify-content:flex-start; text-align:left; width:100%; min-height:36px; border:0; padding:7px 10px; border-radius:4px; background:transparent; color:var(--zds-ink); font:inherit; font-weight:400; box-shadow:none; transform:none; }
[data-zevs-ui] .ui-time-option:hover { background:var(--bezel-bg); }
[data-zevs-ui] .ui-time-option[aria-selected="true"] { background:rgba(var(--accent-strong-rgb),.12); color:var(--zds-accent-ink); }
@media(max-width:680px),(pointer:coarse) {
 [data-zevs-ui] button.ui-calendar-day { block-size:var(--zds-picker-day-height); min-block-size:var(--zds-picker-day-height); }
 [data-zevs-ui] button.ui-time-option { min-block-size:var(--zds-action-height); padding-block:6px; }
}

[data-zevs-ui] .ui-calendar-day:disabled { opacity:.4; cursor:default; }
[data-zevs-ui] .zds-picker-popup button:is(:focus,:focus-visible) { outline:none; box-shadow:none; }

[data-zevs-ui] .ui-calendar-head > .ui-icon-action { display:flex; align-items:center; justify-content:center; flex:0 0 var(--zds-action-height); inline-size:var(--zds-action-height); block-size:var(--zds-action-height); min-inline-size:0; min-block-size:0; margin:0; padding:0; border:0; border-radius:6px; color:var(--zds-muted); background:transparent; box-shadow:none; transform:none; }
[data-zevs-ui] .ui-calendar-head > .ui-icon-action:hover { color:var(--zds-ink); background:var(--bezel-bg); }
