/* Saved tab (UI-C, extended by VISIT-UI). Tokens from app.css only; every class prefixed vsaved-. */
.vsaved-seg{margin-top:12px}
.vsaved-seg .seg button{height:44px;font-size:15px;padding:0 6px}
.vsaved-plan,.vsaved-con,.vsaved-set{padding-top:4px}
.vsaved-plan[hidden],.vsaved-con[hidden],.vsaved-set[hidden]{display:none}

.vsaved-acts{display:flex;gap:10px;margin:8px 0 2px}
.vsaved-act{flex:1;min-width:0;height:44px;padding:0 14px;border-radius:999px;background:var(--surface);box-shadow:0 0 0 .5px var(--hair2);color:var(--fg);font-weight:640;font-size:14.5px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;text-decoration:none}
.vsaved-act svg{flex:none;width:18px;height:18px;color:var(--muted)}
.vsaved-act:active{background:var(--surface2)}
.vsaved-act.armed{background:var(--bad);color:var(--surface);box-shadow:none}
.vsaved-act.armed svg{color:inherit;fill:currentColor}

.vsaved-filter{margin:10px 0 0}
.vsaved-gh{display:flex;align-items:center;gap:10px;margin:22px 4px 8px}
.vsaved-gh i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--p1)}
.vsaved-gh[data-p="2"] i{background:var(--p2)}
.vsaved-gh[data-p="3"] i{background:var(--p3)}
.vsaved-gh--plain i{display:none}
.vsaved-gh h2{flex:1;min-width:0;margin:0;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);line-height:1.3;overflow-wrap:anywhere}
.vsaved-gh span{flex:none;font-size:13px;color:var(--muted)}
.vsaved-item{display:flex;background:var(--surface)}
.vsaved-item__b{flex:1;min-width:0}
.vsaved-meta{padding:0 14px 12px 79px;margin-top:-4px}
.vsaved-bits{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
.vsaved-st{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:680;color:var(--fg2)}
.vsaved-st i{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.vsaved-st[data-s="planned"] i{background:var(--accent)}
.vsaved-st[data-s="visited"] i{background:var(--good)}
.vsaved-st[data-s="followup"] i{background:var(--warn)}
.vsaved-mt{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:640;color:var(--muted)}
.vsaved-mt svg{width:15px;height:15px}
.vsaved-star{color:var(--warn);fill:currentColor}
.vsaved-remark{margin:5px 0 0;color:var(--fg2);font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.vsaved-more{margin-top:14px}
.vsaved-browse{margin-top:14px}

/* contacts */
.vsaved-search{margin-top:10px}
.vsaved-search input[type="search"]::-webkit-search-cancel-button{display:none}
.vsaved-cc{background:var(--surface);padding:0 12px 6px}
.vsaved-cc__top{display:flex;align-items:center;gap:12px;width:100%;min-height:68px;padding:10px 0;text-align:left}
.vsaved-cc__img{flex:none;position:relative;width:64px;height:44px;border-radius:9px;overflow:hidden;background:var(--surface3);display:grid;place-items:center;color:var(--muted);box-shadow:inset 0 0 0 .5px var(--hair2)}
.vsaved-cc__img svg{width:20px;height:20px;opacity:.6}
.vsaved-cc__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vsaved-cc__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.vsaved-cc__main b{font-size:15.5px;font-weight:650;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vsaved-cc__main span{font-size:13px;color:var(--muted);line-height:1.3;overflow-wrap:anywhere}
.vsaved-cc__stall{font-size:12.5px}
.vsaved-cc .vvisit-ct{margin-top:0}
.vsaved-cc__none{margin:0;padding:0 0 10px;font-size:13.5px;color:var(--muted);line-height:1.4}

/* settings */
.vsaved-hint{margin:12px 2px 0;color:var(--muted);font-size:13.5px;line-height:1.5}
.vsaved-acct__top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.vsaved-acct__av{flex:none;width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:750;font-size:18px}
.vsaved-acct__av svg{width:22px;height:22px}
.vsaved-acct__t{min-width:0;display:flex;flex-direction:column;gap:2px}
.vsaved-acct__t b{font-size:17px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.vsaved-acct__t span{font-size:13.5px;color:var(--muted);line-height:1.35}
.vsaved-acctbtn{height:48px}
.vsaved-sync .vvisit-sync{font-size:14.5px}
.vsaved-sync .kv{margin-top:12px}
.vsaved-sync .vsaved-hint{margin-top:8px}
.vsaved-syncbtn{margin-top:14px}
.vsaved-priv{display:flex;align-items:flex-start;gap:12px;margin:12px 4px 0;color:var(--fg2);font-size:14px;line-height:1.5}
.vsaved-priv svg{flex:none;width:20px;height:20px;margin-top:1px;color:var(--muted)}
.vsaved-priv p{margin:0}
.vsaved-ai .row__ic{background:var(--ai);color:var(--accent-fg)}
.vsaved-src{margin:0 0 14px;font-weight:600;font-size:15px;line-height:1.4}
.vsaved-kv dd{min-width:0}
.vsaved-set .section__h:first-child{margin-top:12px}

/* pipeline, follow-up, quote on plan rows */
.vsaved-pl{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:6px;font-size:11.5px;font-weight:700;letter-spacing:.02em;background:var(--surface3);color:var(--fg2)}
.vsaved-pl[data-s="quote"]{background:var(--accent-soft);color:var(--accent)}
.vsaved-pl[data-s="samples"]{background:var(--p2-soft);color:var(--p2t)}
.vsaved-pl[data-s="order"]{background:var(--p3-soft);color:var(--p3t)}
.vsaved-pl[data-s="lost"]{color:var(--muted)}
.vsaved-fu{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:640;color:var(--muted)}
.vsaved-fu svg{width:14px;height:14px}
.vsaved-fu.late{color:var(--bad);font-weight:720}
.vsaved-quote{margin:5px 0 0;font-size:13.5px;font-weight:650;color:var(--fg);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

/* compare (multi-select) mode */
.vsaved-ck{display:none;flex:none;width:44px;align-items:center;justify-content:center;align-self:flex-start;margin-top:26px}
.vsaved-ck svg{width:22px;height:22px;padding:3px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--hair2);color:transparent}
.vsaved-selmode .vsaved-ck{display:flex}
.vsaved-selmode .vsaved-item .save{display:none}
.vsaved-selmode .vsaved-item .stall{cursor:pointer}
.vsaved-item.sel{background:var(--accent-soft)}
.vsaved-item.sel .vsaved-ck svg{background:var(--accent);color:var(--accent-fg);box-shadow:none}
.vsaved-item.sel .stall,.vsaved-item.sel .vsaved-item__b{background:transparent}
.vsaved-selmode{padding-bottom:84px}
.vsaved-cmp{position:absolute;left:12px;right:12px;bottom:calc(12px + var(--sab));z-index:5;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow),0 0 0 .5px var(--hair2)}
.vsaved-cmp__t{flex:1;min-width:0;font-weight:650;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsaved-cmp .btn{height:44px;flex:none}

/* your data */
.vsaved-dblk+.vsaved-dblk{margin-top:16px;padding-top:16px;box-shadow:inset 0 .5px 0 var(--hair2)}
.vsaved-dblk h3{margin:0 0 4px;font-size:16px;font-weight:700}
.vsaved-dsub{margin:0 0 12px;color:var(--muted);font-size:13.5px;line-height:1.45}
.vsaved-dblk .btn.block{height:48px}
.vsaved-links{display:flex;flex-direction:column;gap:10px}
.vsaved-links:not(:empty){margin-top:12px}
.vsaved-lk{padding:10px 10px 4px 12px;border-radius:var(--r-row);background:var(--surface2);box-shadow:0 0 0 .5px var(--hair)}
.vsaved-lk.new{box-shadow:0 0 0 2px var(--accent-line)}
.vsaved-lk__u{margin:0;font-family:var(--mono);font-size:13px;line-height:1.4;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}
.vsaved-lk__a{display:flex;align-items:center;gap:4px}
.vsaved-lk__e{flex:1;min-width:0;font-size:13px;color:var(--muted);font-weight:600}
.vsaved-lk__cp{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--muted)}
.vsaved-lk__cp svg{width:19px;height:19px}
.vsaved-lk__cp:active,.vsaved-lk__rv:active{background:var(--accent-soft)}
.vsaved-lk__rv{flex:none;height:44px;padding:0 12px;border-radius:999px;color:var(--bad);font-weight:650;font-size:14px}
.vsaved-lk__rv.armed{background:var(--bad);color:var(--surface)}
.vsaved-danger{display:block;width:100%;min-height:48px;padding:0 16px;border-radius:999px;background:var(--surface3);color:var(--bad);font-weight:650;font-size:15px;text-align:center}
.vsaved-danger+.vsaved-danger{margin-top:8px}
.vsaved-danger.armed{background:var(--bad);color:var(--surface)}
.vsaved-danger[disabled]{opacity:.6}
.vsaved-kind{margin-left:8px;vertical-align:middle}
.vsaved-esub{font-size:12.5px;color:var(--muted)}
.vsaved-acts--c{justify-content:center;flex-wrap:wrap}

/* ---------- My place: segments, Everything feed, Visited, Marked, Plan (MYPLACE) ---------- */
.vsaved-seg .seg{overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}
.vsaved-seg .seg::-webkit-scrollbar{display:none}
.vsaved-seg .seg button{flex:none;padding:0 14px}
.vsaved-seg.more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 34px),transparent)}
.vsaved-ev,.vsaved-vis,.vsaved-mk,.vsaved-pn{padding-top:4px}
.vsaved-pn .section__h:first-of-type{margin-top:18px}

/* type tile (tinted by kind of entry) */
.vsaved-ic{--tn:var(--accent);flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--tn) 15%,transparent);color:var(--tn)}
.vsaved-ic svg{width:21px;height:21px}
.vsaved-ic--lg{width:52px;height:52px;border-radius:14px}
.vsaved-ic--lg svg{width:24px;height:24px}
.vsaved-ic[data-t="quote"],.vsaved-ic[data-t="mine"],.vsaved-ic[data-t="food"]{--tn:var(--p2t)}
.vsaved-ic[data-t="followup"],.vsaved-ic[data-t="starred"]{--tn:var(--warn)}
.vsaved-ic[data-t="photo"],.vsaved-ic[data-t="scheduled"],.vsaved-ic[data-t="expo"]{--tn:var(--p1t)}
.vsaved-ic[data-t="voice"],.vsaved-ic[data-t="sight"]{--tn:var(--p3t)}
.vsaved-ic[data-t="visited"]{--tn:var(--good)}
.vsaved-ic[data-t="planned"]{--tn:var(--fg2)}

/* summary strip: tappable counters that filter the feed */
.vsaved-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.vsaved-stat{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:84px;padding:8px 4px 6px;border-radius:16px;background:var(--surface);box-shadow:0 0 0 .5px var(--hair2);min-width:0}
.vsaved-stat b{font-size:18px;font-weight:720;line-height:1.1;margin-top:2px}
.vsaved-stat span:last-child{font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.vsaved-stat .vsaved-ic{width:32px;height:32px;border-radius:10px}
.vsaved-stat .vsaved-ic svg{width:18px;height:18px}
.vsaved-stat.zero{opacity:.62}
.vsaved-stat[aria-pressed="true"]{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-line);opacity:1}
.vsaved-evhead .vsaved-search{margin:12px 0 10px}
.vsaved-fchips{margin-bottom:2px}
.vsaved-fchips .chip,.vsaved-mk .chip{position:relative}
.vsaved-fchips .chip::before,.vsaved-mk .chip::before{content:"";position:absolute;inset:-4px -2px}
.vsaved-feed{min-height:120px}

/* feed row */
.vsaved-er{display:flex;align-items:flex-start;gap:12px;width:100%;min-height:64px;padding:12px 12px 12px 14px;text-align:left;background:var(--surface)}
.vsaved-er:active{background:var(--surface2)}
.vsaved-er .row__chev{margin-top:12px}
.vsaved-er__b,.vsaved-ec__b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.vsaved-er__t{display:flex;align-items:center;flex-wrap:wrap;gap:2px 8px;min-width:0}
.vsaved-er__t b{font-size:15.5px;font-weight:650;line-height:1.25;overflow-wrap:anywhere}
.vsaved-er__t .cn{font-size:13px;color:var(--muted)}
.vsaved-er__s{font-size:14px;color:var(--fg2);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.vsaved-er__m{font-size:12.5px;color:var(--muted);line-height:1.3}
.vsaved-er__ph{display:flex;gap:6px;margin:3px 0 1px}
.vsaved-er__ph img{width:56px;height:56px;border-radius:10px;object-fit:cover;background:var(--surface3);box-shadow:inset 0 0 0 .5px var(--hair2)}
.vsaved-pend{display:inline-flex;align-items:center;height:20px;margin-left:8px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:700;background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}

/* Visited / Marked / Plan cards */
.vsaved-sum{display:flex;flex-direction:column;gap:2px;margin:6px 0 2px;padding:14px 16px;border-radius:var(--r-row);background:var(--surface);box-shadow:0 0 0 .5px var(--hair)}
.vsaved-sum b{font-size:22px;font-weight:740;letter-spacing:-.015em}
.vsaved-sum span{font-size:14px;color:var(--muted)}
.vsaved-ec{background:var(--surface)}
.vsaved-ec__row{display:flex;align-items:flex-start}
.vsaved-ec__main{display:flex;align-items:flex-start;flex:1;min-width:0;width:100%;gap:12px;padding:12px 12px 8px 14px;min-height:72px;text-align:left}
.vsaved-ec__main:active{background:var(--surface2)}
.vsaved-ec__main .row__chev{margin-top:18px}
.vsaved-ec__a{display:flex;flex-wrap:wrap;gap:8px;padding:2px 14px 12px}
.vsaved-ec.done .vsaved-ec__main{opacity:.72}
.vsaved-ec .vsaved-bits{margin-top:2px}
.vsaved-ec .vsaved-quote{display:block}
.vsaved-ec .vsaved-remark{display:-webkit-box}
.vsaved-stars{display:inline-flex;align-items:center;gap:1px}
.vsaved-stars svg{width:13px;height:13px;color:var(--muted);opacity:.55}
.vsaved-stars svg.on{color:var(--warn);fill:currentColor;opacity:1}
.vsaved-st[data-s="skip"] i{background:var(--bad)}
.vsaved-ab{height:44px;padding:0 14px;border-radius:999px;background:var(--surface3);color:var(--fg);font-weight:640;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;max-width:100%}
.vsaved-ab svg{width:17px;height:17px;flex:none}
.vsaved-ab:active{filter:brightness(.93)}
.vsaved-ab.pri{background:var(--accent-soft);color:var(--accent)}
.vsaved-ab--i{width:44px;padding:0;border-radius:50%}
.vsaved-ab--i svg{width:21px;height:21px}
.vsaved-ab[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent)}
.vsaved-ab[aria-pressed="true"] svg{fill:currentColor}
.vsaved-ab[disabled]{opacity:.35;pointer-events:none}
.vsaved-warn{display:flex;align-items:flex-start;gap:8px;margin:0 14px 10px;color:var(--muted);font-size:13px;line-height:1.4}
.vsaved-warn svg{flex:none;width:16px;height:16px;margin-top:1px}
.vsaved-mv{flex:none;display:flex;flex-direction:column;padding:4px 6px 0 0}

/* scheduled day cards */
.vsaved-day{margin-top:14px;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden;padding-bottom:2px}
.vsaved-day__h{display:flex;align-items:center;gap:10px;padding:14px 14px 6px}
.vsaved-day__h i,.vsaved-ps__k i,.vsaved-pd i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--p1)}
.vsaved-day__h i[data-p="2"],.vsaved-ps__k i[data-p="2"],.vsaved-pd i[data-p="2"]{background:var(--p2)}
.vsaved-day__h i[data-p="3"],.vsaved-ps__k i[data-p="3"],.vsaved-pd i[data-p="3"]{background:var(--p3)}
.vsaved-day__h i.none,.vsaved-pd i.none{background:var(--surface3)}
.vsaved-day__t{flex:1;min-width:0;display:flex;flex-direction:column}
.vsaved-day__t b{font-size:17px;font-weight:700;line-height:1.25}
.vsaved-day__t span{font-size:13px;color:var(--muted);line-height:1.3}
.vsaved-day__n{flex:none;font-size:13px;font-weight:620;color:var(--fg2);font-variant-numeric:tabular-nums}
.vsaved-day__a{padding:4px 14px 6px}
.vsaved-slot{margin:10px 16px 6px;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.vsaved-day .group{background:var(--surface2);box-shadow:none;border-radius:var(--r-sm);margin:0 10px 10px}
.vsaved-day .vsaved-ec{background:transparent}
.vsaved-day .vsaved-ab{background:var(--surface)}
.vsaved-day .vsaved-ab.pri{background:var(--accent-soft)}
.vsaved-ok{color:var(--accent);width:22px;height:22px;flex:none}

/* plan sheet and status sheet */
.vsaved-ps__n{margin:2px 0 6px;font-size:15px;font-weight:650;color:var(--fg2);overflow-wrap:anywhere}
.vsaved-ps__h{margin:16px 0 8px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.vsaved-pdg{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.vsaved-pd{position:relative;min-height:62px;padding:4px 0;border-radius:14px;background:var(--surface);box-shadow:0 0 0 .5px var(--hair2);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}
.vsaved-pd small{font-size:11px;font-weight:600;color:var(--muted)}
.vsaved-pd b{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}
.vsaved-pd i{position:absolute;top:6px;right:6px;width:8px;height:8px}
.vsaved-pd[aria-pressed="true"]{background:var(--accent);color:var(--accent-fg);box-shadow:none}
.vsaved-pd[aria-pressed="true"] small{color:inherit;opacity:.85}
.vsaved-pd[aria-pressed="true"] i{box-shadow:0 0 0 2px var(--accent)}
.vsaved-ps__k{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 2px 0;font-size:12.5px;color:var(--muted)}
.vsaved-ps__k i{width:8px;height:8px}
.vsaved-ps__k i:not(:first-child){margin-left:8px}
.vsaved-ps__w{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--warn) 13%,transparent);color:var(--fg2);font-size:13.5px;line-height:1.4}
.seg.vsaved-pseg button{height:44px;font-size:13px;padding:0 4px}
.vsaved-ps__f{height:48px}
.vsaved-ps__a{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.vsaved-ps__a .btn{height:48px}
.vsaved-page .nbtn svg{flex:none;width:21px;height:21px}
