
.ut-search{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:24px;background:var(--surface);box-shadow:var(--ui-shadow);margin:0 0 18px}
.ut-search .ac{position:relative}
.ut-search input{width:100%;font:inherit;font-size:1.05rem;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.ut-search input:focus{outline:2px solid var(--blue);outline-offset:1px}
.ut-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);margin:0;padding:6px;list-style:none;border-radius:14px;background:var(--surface);box-shadow:var(--ui-shadow);max-height:320px;overflow:auto}
.ut-list li{padding:10px 12px;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;gap:12px}
.ut-list li span{color:var(--muted);font-size:.86rem}
.ut-list li[aria-selected=true],.ut-list li:hover{background:var(--sunken)}
.ut-list li.ut-empty{cursor:default;color:var(--muted)}
.ut-out[hidden],.ut [hidden]{display:none!important}
.ut-hd h2{margin:0;font-size:1.3rem}
.ut-hd p{margin:4px 0 0}
.ut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:14px}
.ut-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:20px;background:var(--surface);box-shadow:var(--ui-shadow);min-width:0}
.ut-card .eyebrow{font-size:.74rem}
.ut-card b{font-size:1rem;font-weight:600}
.ut-card b a{color:inherit}
.ut-card p{margin:0;font-size:.88rem;line-height:1.45}
.ut-card .ut-acts{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.88rem;margin-top:2px}
.ut-day{font:600 1.35rem var(--f-body);margin:2px 0}
.ut-next{font-size:.88rem;color:var(--muted)}
.ut-warn{font-size:.86rem;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--amber,#b7791f) 14%,transparent)}
.ut-pick{border-left:4px solid var(--teal)}
.ut-tbl td,.ut-tbl th{vertical-align:top}
.ut-tbl td.n,.ut-tbl th.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ut-tbl small{display:block;color:var(--muted);font-size:.78rem;line-height:1.35;margin-top:2px}
.ut-out-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
@media (max-width:760px){.ut-search{padding:16px}}
