.cal-root{width:100%;position:relative}.cal-trigger{align-items:center;gap:var(--s-2);width:100%;min-height:var(--control-h-sm);height:var(--control-h-sm);padding:0 var(--s-2);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);color:var(--text-bright);font:inherit;font-size:var(--fs-md);text-align:left;cursor:pointer;transition:border-color var(--t) var(--ease), background var(--t) var(--ease);outline:0;display:flex}.cal-trigger:hover:not(:disabled){border-color:var(--border-bright)}.cal-root.open .cal-trigger,.cal-trigger:focus-visible{border-color:var(--c-info);background:var(--surface-hover)}.cal-root.error .cal-trigger{border-color:var(--c-err)}.cal-trigger:disabled{color:var(--text-dim);background:var(--surface-2);cursor:not-allowed;border-style:dashed}.cal-trigger-value,.cal-trigger-placeholder{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.cal-trigger-value{font-variant-numeric:tabular-nums}.cal-trigger-placeholder{color:var(--text-faint);font-style:italic}.cal-trigger-icon{width:var(--icon-sm);height:var(--icon-sm);color:var(--text-muted);flex:none}.cal-pop{z-index:var(--z-popover);padding:var(--s-2);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-overlay);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-sm);animation:cal-pop-in var(--t) var(--ease);position:fixed}@keyframes cal-pop-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cal-pop{animation:none}.cal-trigger,.cal-day{transition:none}}.cal-body{gap:var(--s-3);display:flex}.cal-panel{flex-direction:column;display:flex}.cal-presets{min-width:100px;padding-right:var(--s-2);border-right:1px solid var(--border);flex-direction:column;gap:2px;display:flex}.cal-preset{padding:var(--s-1);border-radius:var(--r);color:var(--text-dim);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:background var(--t) var(--ease);background:0 0;border:0}.cal-preset:hover,.cal-preset:focus-visible{background:var(--surface-hover);color:var(--text-bright);outline:0}.cal-head{align-items:center;gap:var(--s-1);margin-bottom:var(--s-2);display:flex}.cal-nav{border-radius:var(--r);width:20px;height:20px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.cal-nav:hover{background:var(--surface-hover);border-color:var(--border);color:var(--text-bright)}.cal-nav-icon{width:var(--icon-sm);height:var(--icon-sm)}.cal-month{text-align:center;white-space:nowrap;font-size:var(--fs-md);color:var(--text-bright);letter-spacing:.02em;flex:1}.cal-text-btn{padding:2px var(--s-1);border:1px solid var(--border);border-radius:var(--r);color:var(--text-dim);font:inherit;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:background var(--t) var(--ease);background:0 0;flex:none}.cal-text-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-bright)}.cal-text-btn:disabled{color:var(--text-faint);cursor:not-allowed}.cal-head-today{margin-inline-start:var(--s-1)}.cal-weekdays,.cal-week{grid-template-columns:repeat(7,28px);display:grid}.cal-weekday{text-align:center;height:18px;line-height:18px;font-size:var(--fs-min);color:var(--text-muted);letter-spacing:.08em}.cal-grid{flex-direction:column;display:flex}.cal-day{border-radius:var(--r);width:28px;height:24px;color:var(--text);line-height:24px;font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:center;cursor:pointer;transition:background var(--t) var(--ease), color var(--t) var(--ease);background:0 0;border:0;padding:0}.cal-day:hover:not(:disabled){background:var(--surface-hover);color:var(--text-bright)}.cal-day.outside{color:var(--text-faint)}.cal-day:disabled{color:var(--text-faint);opacity:.45;cursor:not-allowed}.cal-day.today{outline:1px solid var(--border-bright);outline-offset:-1px}.cal-day.band{background:color-mix(in srgb, var(--c-mark) 12%, transparent);color:var(--text-bright);border-radius:0}.cal-day.selected{background:color-mix(in srgb, var(--c-mark) 32%, transparent);color:var(--text-bright);font-weight:var(--fw-semibold)}.cal-day:focus-visible{outline:1px solid var(--c-info);outline-offset:-1px}.cal-time-row{align-items:center;gap:var(--s-2);margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--border);display:flex}.cal-time-label{font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.cal-time-input{min-width:0;height:22px;padding:0 var(--s-1);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);color:var(--text-bright);font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;outline:0;flex:1}.cal-time-input:focus{border-color:var(--c-info)}.cal-apply{padding:2px var(--s-2);background:var(--surface-active);border:1px solid var(--border-strong);border-radius:var(--r);color:var(--text-bright);font:inherit;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;flex:none}.cal-apply:disabled{color:var(--text-faint);cursor:not-allowed}.cal-foot{margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--border);justify-content:flex-end;display:flex}
