/* UTS UI: branded dropdowns + pickers */
.ui-pop,.ui-pop *,.ui-trigger{box-sizing:border-box}
.ui-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0);overflow:hidden}
.ui-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;min-height:26px;margin:0;padding:0;border:0;background:transparent;font:inherit;font-weight:800;color:var(--u-navy,#040244);text-align:left;cursor:pointer;line-height:1.3}
.ui-trigger:disabled,.ui-trigger.is-off{opacity:.45;cursor:not-allowed}
.ui-trigger:focus-visible{outline:3px solid var(--u-crimson,#EC1E5C);outline-offset:3px;border-radius:6px}
.ui-val{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-val.is-ph{color:#9A9DB4;font-weight:600}
.ui-chev{flex:0 0 10px;width:10px;height:10px;border-right:2px solid #5A5E7A;border-bottom:2px solid #5A5E7A;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.ui-trigger[aria-expanded="true"] .ui-chev{transform:rotate(-135deg) translate(-2px,-2px)}
.uh-bx .ui-trigger{font-size:15.5px}
.uh-bx .s .ui-trigger{font-size:11.5px;font-weight:600;color:var(--u-muted,#5A5E7A);min-height:0;display:inline-flex;width:auto}
.uh-bx .s .ui-chev{width:7px;height:7px;flex-basis:7px}
.u-box .ui-trigger{font-size:16px;font-weight:700;margin-top:4px}
.uh-bx .v .ui-trigger+.ui-native+.ui-trigger,.uh-bx .v .ui-trigger+.ui-trigger{border-left:1px solid #E1E3EE;padding-left:10px}
/* popover */
.ui-pop{position:fixed;z-index:10000;background:#fff;border:1px solid #E1E3EE;border-radius:18px;box-shadow:0 24px 60px rgba(4,2,68,.22);color:var(--u-navy,#040244);font-family:var(--u-body,Manrope,sans-serif);opacity:0;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease;overflow:hidden;max-width:calc(100vw - 24px)}
.ui-pop.is-in{opacity:1;transform:none}
.ui-list-w{display:flex;flex-direction:column;max-height:340px}
.ui-search{padding:10px 10px 6px;border-bottom:1px solid #EEF0F7}
.ui-search input{width:100%;height:42px;border:1px solid #D6D8E6;border-radius:12px;padding:0 14px 0 38px;font:600 15px var(--u-body,Manrope,sans-serif);color:var(--u-navy,#040244);outline:0;background:#F7F7FC no-repeat 12px center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A5E7A' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E")}
.ui-search input:focus{border-color:var(--u-navy,#040244);background-color:#fff}
.ui-list{overflow-y:auto;padding:6px;overscroll-behavior:contain}
.ui-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:11px;background:transparent;font:600 15px var(--u-body,Manrope,sans-serif);color:var(--u-navy,#040244);text-align:left;cursor:pointer}
.ui-opt:hover,.ui-opt.is-act,.ui-opt:focus-visible{background:#F4F5FA;outline:0}
.ui-opt.is-sel{font-weight:800;color:var(--u-red,#DE1652);background:#FFF2F6}
.ui-opt:disabled{opacity:.4;cursor:not-allowed}
.ui-tick{flex:0 0 auto;width:12px;height:7px;border-left:2.5px solid var(--u-red,#DE1652);border-bottom:2.5px solid var(--u-red,#DE1652);transform:rotate(-45deg) translateY(-2px)}
.ui-empty{margin:14px;color:var(--u-muted,#5A5E7A);font-size:14px}
/* calendar */
.ui-cal{padding:14px;width:320px;max-width:100%}
.ui-cal-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.ui-nav{width:38px;height:38px;border-radius:50%;border:1px solid #E1E3EE;background:#fff;color:var(--u-navy,#040244);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 3px}
.ui-nav:hover{background:#F4F5FA}.ui-nav:disabled{opacity:.3;cursor:not-allowed}
.ui-title{border:0;background:transparent;font:800 16px var(--u-disp,'Bricolage Grotesque',sans-serif);color:var(--u-navy,#040244);padding:8px 12px;border-radius:10px;cursor:pointer}
button.ui-title:hover{background:#F4F5FA}
.ui-wd,.ui-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.ui-wd span{text-align:center;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--u-muted,#5A5E7A);padding:4px 0 6px}
.ui-d{position:relative;height:40px;border:0;border-radius:12px;background:transparent;font:700 14px var(--u-body,Manrope,sans-serif);color:var(--u-navy,#040244);cursor:pointer}
.ui-d:hover:not(:disabled){background:#F4F5FA}
.ui-d:focus-visible{outline:2px solid var(--u-navy,#040244);outline-offset:-2px}
.ui-d.is-today{box-shadow:inset 0 0 0 1.5px var(--u-navy,#040244)}
.ui-d.is-in{background:#FDE7EE;border-radius:0}
.ui-d.is-pair{background:#FBD0DD}
.ui-d.is-sel{background:var(--u-red,#DE1652);color:#fff;box-shadow:0 6px 14px rgba(222,22,82,.3)}
.ui-d:disabled{color:#C9CBDB;cursor:not-allowed;text-decoration:line-through}
.ui-grid12{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ui-m{height:48px;border:1px solid #E1E3EE;border-radius:12px;background:#fff;font:700 14px var(--u-body,Manrope,sans-serif);color:var(--u-navy,#040244);cursor:pointer}
.ui-m:hover:not(:disabled){border-color:var(--u-navy,#040244)}
.ui-m.is-sel{background:var(--u-red,#DE1652);border-color:var(--u-red,#DE1652);color:#fff}
.ui-m:disabled{opacity:.35;cursor:not-allowed}
.ui-cal-f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #EEF0F7;font-size:13px;font-weight:700;color:var(--u-muted,#5A5E7A)}
.ui-clear{border:0;background:none;font:800 13px var(--u-body,Manrope,sans-serif);color:var(--u-red,#DE1652);cursor:pointer;padding:6px 4px}
/* mobile sheet */
.ui-back{position:fixed;inset:0;z-index:9999;background:rgba(4,2,30,.45);animation:uiFade .2s ease}
@keyframes uiFade{from{opacity:0}}
.ui-pop.is-sheet{left:0!important;right:0;bottom:0;top:auto!important;max-width:none;width:100%;min-width:0!important;border-radius:22px 22px 0 0;border:0;transform:translateY(24px);padding-bottom:env(safe-area-inset-bottom)}
.ui-pop.is-sheet.is-in{transform:none}
.ui-sheet-h{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 6px;font-family:var(--u-disp,'Bricolage Grotesque',sans-serif);font-size:18px}
.ui-sheet-h::before{content:"";position:absolute;left:50%;top:7px;width:40px;height:4px;border-radius:4px;background:#D6D8E6;transform:translateX(-50%)}
.ui-x{width:36px;height:36px;border-radius:50%;border:0;background:#F4F5FA;font-size:22px;color:var(--u-navy,#040244);cursor:pointer}
.ui-pop.is-sheet .ui-list-w{max-height:62vh}
.ui-pop.is-sheet .ui-cal{width:100%;padding:8px 16px 18px}
.ui-pop.is-sheet .ui-d{height:46px;font-size:15px}
.ui-pop.is-sheet .ui-opt{min-height:50px;font-size:16px}
body.ui-lock{overflow:hidden}
@media (prefers-reduced-motion:reduce){.ui-pop,.ui-chev{transition:none}}
