/* Shared dialog + form system, Team screen and Profile. Uses the app's tokens (--surface, --line, --accent …) so it follows light/dark. */
.sx-scrim{position:fixed;inset:0;z-index:2000;background:rgba(24,18,6,.45);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:18px;animation:sxfade .14s ease-out}
@keyframes sxfade{from{opacity:0}to{opacity:1}}@keyframes sxrise{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.dlg{background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(30,20,0,.28);width:min(560px,100%);max-height:calc(100vh - 36px);display:flex;flex-direction:column;animation:sxrise .18s ease-out}
.dlg.wide{width:min(760px,100%)}
.sx-h{display:flex;align-items:flex-start;gap:14px;padding:20px 22px 14px}.sx-h h2{margin:0;font:600 20px/1.2 var(--fd)}.sx-h p{margin:4px 0 0;color:var(--muted);font-size:13px}
.sx-x{margin-left:auto;border:0;background:transparent;width:32px;height:32px;border-radius:9px;font-size:20px;line-height:1;color:var(--muted);cursor:pointer;flex:none}.sx-x:hover{background:var(--raise);color:var(--fg)}
.sx-b{padding:4px 22px 18px;overflow:auto;display:grid;gap:18px}
.sx-f{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:14px 22px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--raise) 55%,var(--surface));border-radius:0 0 18px 18px}
.sx-f .grow{margin-right:auto;color:var(--muted);font-size:12.5px}
/* buttons */
.btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:10px;height:38px;padding:0 15px;font:600 13px var(--fb);cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none}
.btn:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.btn:disabled{opacity:.5;cursor:default}
.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.pri:hover{filter:brightness(1.06)}
.btn.danger{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--line))}.btn.danger:hover{background:color-mix(in srgb,var(--warn) 10%,var(--surface))}
.btn.sm{height:30px;padding:0 11px;font-size:12px;border-radius:8px}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--raise)}
/* fields */
.fld{display:grid;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}.fld>span{letter-spacing:.02em}
.fld input,.fld select,.fld textarea{font:400 14px var(--fb);color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%;box-sizing:border-box;outline:0;transition:border-color .12s,box-shadow .12s}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.fld .hint{font-weight:400;color:var(--faint);font-size:12px}.fld .row{display:flex;gap:8px}.fld .row input{flex:1}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:560px){.cols2{grid-template-columns:1fr}}
.card-s{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}
.sec-t{font:600 11px var(--fb);text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin:0 0 10px}
/* role pills + avatars */
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font:600 11.5px var(--fb);border:1px solid transparent;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.admin{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-text)}
.pill.content_manager{background:color-mix(in srgb,var(--sale) 16%,transparent);color:var(--sale)}
.pill.agent{background:var(--raise);color:var(--muted)}
.av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:700 14px var(--fb);flex:none;color:#fff;letter-spacing:.02em}
.av.admin{background:linear-gradient(135deg,#c79435,#9a6a1c)}.av.content_manager{background:linear-gradient(135deg,#4d8a95,#2f5f68)}.av.agent{background:linear-gradient(135deg,#9a9181,#6f6757)}
.av.lg{width:68px;height:68px;font-size:24px}
/* tier choice cards */
.tiers{display:grid;gap:8px}.tier{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;background:var(--bg)}
.tier:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.tier input{margin-top:3px;accent-color:var(--accent)}.tier b{font-size:13.5px}.tier small{display:block;color:var(--muted);font-size:12px;margin-top:2px;line-height:1.4}
.tier:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
/* Team screen */
.tm{max-width:1060px;margin:0 auto;padding:2px 2px 48px}
.tm-top{display:flex;align-items:flex-end;gap:14px;margin-bottom:18px;flex-wrap:wrap}.tm-top h2{margin:0;font:600 26px var(--fd)}.tm-top p{margin:4px 0 0;color:var(--muted);font-size:13.5px}.tm-top .btn{margin-left:auto}
.tm-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-bottom:22px}
.tm-tier{padding:16px 18px}.tm-tier .top{display:flex;align-items:baseline;gap:10px}.tm-tier .n{font:700 28px var(--fm);line-height:1}.tm-tier ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:5px;font-size:12.5px;color:var(--muted)}
.tm-tier li{display:flex;gap:7px}.tm-tier li::before{content:"✓";color:var(--good);font-weight:700}.tm-tier .bl{font-size:13px;margin:8px 0 0}
.tm-list{padding:0;overflow:hidden}.tm-row{display:grid;grid-template-columns:minmax(220px,1.7fr) 168px 130px 150px 44px;gap:14px;align-items:center;padding:13px 18px;border-top:1px solid var(--line)}
.tm-row.head{border-top:0;background:var(--raise);font:600 11px var(--fb);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);padding-top:10px;padding-bottom:10px}
.tm-who{display:flex;gap:12px;align-items:center;min-width:0}.tm-who b{display:block;font-size:14px}.tm-who small{display:block;color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-you{font:600 10px var(--fb);background:var(--raise);color:var(--muted);border-radius:5px;padding:1px 6px;margin-left:6px;vertical-align:1px}
.tm-role{position:relative}.tm-role select{appearance:none;width:100%;font:600 12.5px var(--fb);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 28px 7px 14px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.tm-role select:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.tm-role select:disabled{opacity:.6;cursor:default}
.tm-act .bar{height:5px;background:var(--raise);border-radius:3px;overflow:hidden;margin-top:6px}.tm-act .bar i{display:block;height:100%;background:var(--accent)}.tm-act b{font:600 13px var(--fm)}.tm-act small{color:var(--muted);font-size:12px;margin-left:4px}
.tm-last{font-size:13px}.tm-last small{display:block;color:var(--faint);font-size:11.5px}
.tm-more{position:relative}.tm-menu{position:absolute;right:0;top:36px;z-index:50;min-width:170px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh2);padding:6px}
.tm-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:9px 10px;font:600 13px var(--fb);color:var(--fg);cursor:pointer}.tm-menu button:hover{background:var(--raise)}.tm-menu .dng{color:var(--warn)}
.tm-lower{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-top:22px}@media(max-width:860px){.tm-lower{grid-template-columns:1fr}}
.tm-bk{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.tm-bk a{display:block;border:1px solid var(--line);border-radius:12px;padding:11px 12px;text-decoration:none;color:var(--fg);background:var(--bg)}.tm-bk a:hover{border-color:var(--accent)}.tm-bk b{display:block;font-size:13px}.tm-bk small{color:var(--muted);font-size:11.5px}
.tm-sys{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tm-sys div{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.tm-sys b{display:block;font:700 18px var(--fm)}.tm-sys span{font-size:11.5px;color:var(--muted)}
@media(max-width:900px){.tm-row{grid-template-columns:1fr 130px 40px}.tm-row .tm-lastc,.tm-row .tm-act{display:none}.tm-row.head .tm-lastc,.tm-row.head .tm-act{display:none}}
/* generated credentials */
.cred{background:var(--bg);border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:12px;padding:13px 14px;font:500 13px var(--fm);display:grid;gap:4px}
/* Profile */
.pf-hero{display:flex;gap:16px;align-items:center;padding:22px 22px 6px}.pf-hero h2{margin:0;font:600 22px var(--fd)}.pf-hero .sub{color:var(--muted);font-size:13px;margin-top:3px}
.pf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pf-stats div{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.pf-stats b{display:block;font:700 18px var(--fm)}.pf-stats span{font-size:11.5px;color:var(--muted)}
.pf-sec{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:12px;background:var(--surface)}.pf-sec h3{margin:0;font:600 14px var(--fb)}.pf-sec .d{margin:-8px 0 0;color:var(--muted);font-size:12.5px}
.meter{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.meter i{height:4px;border-radius:2px;background:var(--line)}.meter[data-s="1"] i:nth-child(-n+1){background:var(--warn)}.meter[data-s="2"] i:nth-child(-n+2){background:var(--mid)}.meter[data-s="3"] i:nth-child(-n+3){background:var(--cool)}.meter[data-s="4"] i{background:var(--good)}
.mailprev{border:1px solid var(--line);border-radius:12px;background:#fff;color:#222;padding:14px 16px;font:13px/1.5 var(--fb)}[data-theme="dark"] .mailprev{background:#fbf8f1}.mailprev .hd{color:#777;font-size:11.5px;border-bottom:1px solid #eee;padding-bottom:8px;margin-bottom:10px}.mailprev .sig{white-space:pre-wrap;border-top:1px solid #ddd;margin-top:12px;padding-top:10px;color:#444}
.tt{display:inline-flex;gap:6px;align-items:center}.lnkbtn{border:0;background:none;color:var(--accent-text);font:600 12.5px var(--fb);cursor:pointer;padding:0}

.sideadd{display:flex;width:calc(100% - 28px);margin:10px 14px 4px;justify-content:center;height:40px;box-sizing:border-box}
.fld{line-height:1.3}.fld>*{margin:0}.fld input,.fld select,.fld textarea{margin:0}.fld .hint{margin-top:-1px}
.sx-b{padding-top:14px}.pf-hero+.sx-b{padding-top:16px}
/* collapsible sidebar groups + logo link */
.brand{text-decoration:none;color:inherit;cursor:pointer}
#seg .navgrp{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;border-radius:8px;margin:2px 0 0;padding-right:8px}
#seg .navgrp:hover{color:var(--fg)}#seg .navgrp:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#seg .navgrp .chev{transition:transform .16s;opacity:.8}#seg .navgrp.closed .chev{transform:rotate(-90deg)}
#seg .navhide{display:none!important}
/* search bar: dictation + Live */
.gsearch .gskey{display:none}
.gsearch input{padding-right:84px}
.gsbtns{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:3px;align-items:center}
.gsb{border:0;background:transparent;color:var(--muted);height:28px;min-width:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;font:700 11.5px var(--fb);padding:0 6px}
.gsb:hover{background:var(--raise);color:var(--fg)}.gsb.off{opacity:.4}
.gsb.live{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--sale) 22%,transparent));color:var(--fg);padding:0 9px}
.gsb.live:hover{filter:brightness(.97)}.gsb.rec{background:var(--warn);color:#fff;animation:aipulse 1.1s infinite}
.gsclear{right:66px!important}
@keyframes aipulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--warn) 55%,transparent)}100%{box-shadow:0 0 0 9px transparent}}
/* assistant panel */
.aip{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:1500;background:var(--surface);border-left:1px solid var(--line);box-shadow:-18px 0 50px rgba(30,20,0,.16);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .2s ease}
.aip[hidden]{display:none}.aip.on{transform:none}
.ai-h{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 16px;border-bottom:1px solid var(--line)}
.ai-t{min-width:0;flex:1}.ai-t b{display:block;font:600 16px var(--fd)}.ai-t small{display:block;color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-ib{border:0;background:transparent;width:32px;height:32px;border-radius:9px;color:var(--muted);font-size:20px;cursor:pointer;display:grid;place-items:center}.ai-ib:hover{background:var(--raise);color:var(--fg)}
.ai-live{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:999px;height:32px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;font:700 12px var(--fb);cursor:pointer}
.ai-live:hover{border-color:var(--accent)}.ai-live.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.ai-note{margin:10px 14px 0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);font-size:12.5px;line-height:1.45}.ai-note code{font-family:var(--fm);font-size:11.5px}
.ai-msgs{flex:1;overflow:auto;padding:14px 14px 6px;display:flex;flex-direction:column;gap:12px}
.ai-m{display:flex;flex-direction:column;gap:8px;max-width:100%}.ai-m.u{align-items:flex-end}
.ai-b{padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.5;max-width:92%}.ai-b p{margin:0 0 6px}.ai-b p:last-child{margin:0}.ai-b ul{margin:4px 0 6px 18px;padding:0}
.ai-m.u .ai-b{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px}.ai-m.a .ai-b{background:var(--raise);border-bottom-left-radius:4px}.ai-b.err{background:color-mix(in srgb,var(--warn) 14%,var(--surface));color:var(--fg)}
.ai-ref{border:0;background:var(--accent-soft);color:var(--accent-text);border-radius:6px;padding:0 6px;font:700 11.5px var(--fm);cursor:pointer}
.ai-dots{display:flex;gap:4px;align-items:center;height:34px}.ai-dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:aibounce 1s infinite}.ai-dots i:nth-child(2){animation-delay:.15s}.ai-dots i:nth-child(3){animation-delay:.3s}
@keyframes aibounce{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-5px);opacity:1}}
.ai-blk{border:1px solid var(--line);border-radius:14px;background:var(--bg);overflow:hidden}.ai-bh{padding:10px 12px;border-bottom:1px solid var(--line);display:grid;gap:2px}.ai-bh b{font:700 14px var(--fm)}.ai-bh span{font-size:12px;color:var(--muted)}
.ai-row{display:flex;gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:8px 12px;text-align:left;cursor:pointer;color:var(--fg)}.ai-row:hover{background:var(--raise)}
.ai-th{width:52px;height:40px;border-radius:7px;background:var(--raise);overflow:hidden;flex:none}.ai-th img{width:100%;height:100%;object-fit:cover;display:block}
.ai-rt{min-width:0;flex:1}.ai-rt b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-rt small{display:block;color:var(--muted);font-size:11.5px}
.ai-st{font:700 10px var(--fb);text-transform:uppercase;letter-spacing:.05em;color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);border-radius:5px;padding:1px 5px;flex:none}
.ai-empty{padding:14px 12px;color:var(--muted);font-size:13px}.ai-more{width:100%;border:0;background:transparent;padding:8px;color:var(--accent-text);font:700 12px var(--fb);cursor:pointer}
.ai-acts{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px}.ai-a{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:9px;height:30px;padding:0 11px;font:600 12px var(--fb);cursor:pointer}.ai-a:hover{border-color:var(--accent)}.ai-a.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.ai-fb{display:flex;gap:4px}.ai-fb button{border:0;background:transparent;opacity:.45;cursor:pointer;font-size:14px;border-radius:6px;padding:2px 6px}.ai-fb button:hover,.ai-fb button.on{opacity:1;background:var(--raise)}
.ai-hero{text-align:center;padding:22px 6px 4px}.ai-hero h3{margin:14px 0 4px;font:600 20px var(--fd)}.ai-hero p{margin:0 auto 14px;color:var(--muted);font-size:13px;max-width:320px}
.ai-sugg{display:grid;gap:7px;text-align:left}.ai-chip{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:12px;padding:9px 12px;font:500 12.5px/1.4 var(--fb);cursor:pointer;text-align:left}.ai-chip:hover{border-color:var(--accent);background:var(--accent-soft)}
.ai-in{display:flex;gap:8px;align-items:flex-end;padding:10px 12px 14px;border-top:1px solid var(--line)}
.ai-in textarea{flex:1;resize:none;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:12px;padding:10px 12px;font:14px/1.4 var(--fb);max-height:120px;outline:0}.ai-in textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ai-mic,.ai-send{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--fg);display:grid;place-items:center;cursor:pointer;flex:none}.ai-send{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.ai-mic.rec{background:var(--warn);color:#fff;border-color:var(--warn);animation:aipulse 1.1s infinite}
/* orb */
.ai-orb{width:34px;height:34px;border-radius:50%;flex:none;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#f0cf86,var(--accent) 55%,#7a5416);cursor:default}
.ai-orb.big{width:64px;height:64px;margin:0 auto}.ai-orb i{position:absolute;inset:-5px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 50%,transparent);opacity:0}
.ai-orb[data-s="listening"] i{opacity:1;animation:airing 1.4s infinite}.ai-orb[data-s="thinking"]{animation:aispin 1.2s linear infinite;background:conic-gradient(from 0deg,var(--accent),var(--sale),var(--accent))}
.ai-orb[data-s="speaking"] i{opacity:1;animation:airing .7s infinite}.aip.live .ai-orb{cursor:pointer}
@keyframes airing{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.5);opacity:0}}@keyframes aispin{to{transform:rotate(360deg)}}
@media(max-width:560px){.aip{width:100vw}}
body.aiopen .gsearch{position:relative}
.gsearch .gsb svg{position:static;transform:none;opacity:1;left:auto;top:auto}
.pill.good{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)}
/* sort/select arrows sit inside the box */
select.sortsel{appearance:none;-webkit-appearance:none;padding-right:32px!important;cursor:pointer;
  background-color:var(--surface);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-size:5px 5px;background-repeat:no-repeat}
select.sortsel:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
/* the whole sidebar scrolls as one (not just the filters), and never hands the wheel to the page behind it */
.side{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.side-ctx{flex:none;overflow:visible}
.side-foot{position:sticky;bottom:0;margin-top:auto;background:var(--surface);z-index:2}
/* weather + home header */
.hm-wx{display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding:0;color:var(--fg);font:600 13px var(--fb);vertical-align:middle}
.hm-wx svg{width:18px;height:18px;flex:none}.hm-wx small{font-weight:500;color:var(--muted);font-size:12px}
/* corner control + undo toast */
.seg3{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg3 button{border:0;background:var(--bg);color:var(--fg);padding:8px 14px;font:600 12.5px var(--fb);cursor:pointer;border-right:1px solid var(--line)}.seg3 button:last-child{border-right:0}.seg3 button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}
.cornertag{border:0;background:transparent;color:var(--hot);font:inherit;cursor:pointer;padding:0}.cornertag:hover{text-decoration:underline}
.toast-undo{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 14px 10px 16px;border-radius:12px;font:600 13px var(--fb);display:flex;gap:14px;align-items:center;z-index:3000;box-shadow:var(--sh2)}
.toast-undo button{border:0;background:transparent;color:#f0cf86;font:700 13px var(--fb);cursor:pointer}
.tm-alert{border:1px solid color-mix(in srgb,var(--warn) 55%,var(--line));background:color-mix(in srgb,var(--warn) 10%,var(--surface));border-radius:12px;padding:12px 14px;margin:0 0 16px;font-size:13px;line-height:1.5}

/* phones: calmer header, bigger tap targets */
@media(max-width:560px){#pageCount{display:none}.pagebar{flex-wrap:wrap}}
@media(pointer:coarse){.chip,.fchip,.star,.gbtn,.btn.sm,.sx-x,.ai-ib,.ai-chip{min-height:36px}.star{min-width:36px}.chip{padding-top:7px;padding-bottom:7px}}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:560px){.pagebar{row-gap:8px}.ptitle{flex:1;min-width:0}.ptools{flex:1 1 100%!important;order:3;justify-content:flex-start}.ptools .tgroup{flex-wrap:wrap}}
.mcard{align-items:flex-start}.mcR{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.mcx{border:0;background:transparent;color:var(--faint);font-size:18px;line-height:1;cursor:pointer;padding:0 4px;border-radius:6px}.mcx:hover{color:var(--hot);background:var(--accent-soft)}
.mrestore{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.wxrow{display:flex;gap:12px;align-items:flex-end}.wxrow>label{flex:1;min-width:0}.wxrow .fld{margin:0}.seg3.sm button{padding:0 11px;height:38px;font-size:12.5px}
.lg{position:fixed;inset:0;z-index:3000;background:var(--bg);align-items:center;justify-content:center;padding:16px}
.lgcard{width:min(380px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px 26px 22px;box-shadow:var(--sh2)}
.lgbrand{font-family:var(--fd);font-size:26px;font-weight:600;margin-bottom:4px}.lgsub{color:var(--muted);font-size:13.5px;margin:0 0 16px;line-height:1.45}
.lgcard input,.lgcard textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:10px;padding:11px 12px;font:400 14px var(--fb);margin-bottom:10px}
.lgpw{position:relative}.lgpw input{padding-right:62px}.lgeye{position:absolute;right:6px;top:6px;height:30px;border:0;background:transparent;color:var(--muted);font:600 12px var(--fb);cursor:pointer;padding:0 8px;border-radius:8px}.lgeye:hover{background:var(--raise)}
.lgbtn{width:100%;background:var(--accent);border:1px solid var(--accent);color:var(--on-accent);font:600 14px var(--fb);padding:12px;border-radius:10px;cursor:pointer;margin-top:2px}.lgbtn:disabled{opacity:.6;cursor:default}
.lgerr{color:var(--warn);font-size:12.5px;margin-top:10px;min-height:16px;line-height:1.4}.lgerr.ok{color:var(--good)}
.lglinks{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px}.lglinks a{color:var(--accent-text,var(--accent));text-decoration:none;font-weight:500}.lglinks a:hover{text-decoration:underline}

/* assistant composer: one rounded box, text on top, mic left and send right (like Claude) */
.ai-in{display:block;padding:10px 16px calc(16px + env(safe-area-inset-bottom));border-top:0;background:var(--surface)}
.ai-box{background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:10px 10px 8px 14px;box-shadow:0 2px 10px rgba(30,20,0,.06);transition:border-color .15s,box-shadow .15s}
.ai-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ai-in textarea{display:block;width:100%;box-sizing:border-box;border:0;background:transparent;box-shadow:none!important;border-radius:0;padding:4px 2px;min-height:44px;max-height:160px;font:400 16px/1.45 var(--fb);resize:none;outline:0}
.ai-bar{display:flex;align-items:center;gap:8px;margin-top:4px}
.ai-hint{flex:1;text-align:center;font-size:11.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-in .ai-mic,.ai-in .ai-send{width:36px;height:36px;border-radius:50%}.ai-in .ai-mic{border:0;background:transparent;color:var(--muted)}.ai-in .ai-mic:hover{background:var(--raise);color:var(--fg)}
.ai-in .ai-send{box-shadow:0 1px 4px rgba(176,125,40,.4)}
@media(max-width:560px){.ai-hint{display:none}.ai-bar{justify-content:space-between}}
#_t{pointer-events:none!important}
@media(max-width:900px){#_t{bottom:calc(84px + env(safe-area-inset-bottom))!important}}
.dgcard{margin-bottom:18px;border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.dgs{margin-top:12px}.dgs h4{margin:0 0 4px;font:700 11px var(--fb);letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}
.dgcard .hmrow{cursor:pointer}.dgcard .la .badge{margin-left:6px;vertical-align:middle}
/* freshness */
.frw .fr-state{border:1px dashed var(--line);border-radius:12px;padding:10px 14px;margin:0 0 14px;background:var(--raise);font-size:13.5px}.frw .fr-state.on{border-style:solid;border-color:color-mix(in srgb,var(--good) 45%,var(--line))}
.fr-kpi .hmk.warn b{color:var(--warn)}.fr-tabs{margin:6px 0 14px;flex-wrap:wrap}
.fr-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fr-q{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:10px;padding:8px 12px;font:14px var(--fb);min-width:220px}
.fr-list{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.fr-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-top:1px solid var(--line)}.fr-row:first-child{border-top:0}
.fr-ck{padding-top:3px}.fr-main{flex:1;min-width:0}.fr-meta{font-size:12.5px;color:var(--muted);margin-top:2px}.fr-acts{display:flex;gap:6px;flex:none;flex-wrap:wrap;justify-content:flex-end}.fr-acts .gbtn{height:34px}
.fr-sig{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:12px 14px;margin-bottom:10px}.fr-sh{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-bottom:2px}.fr-sum{margin:6px 0;font-size:13px;color:var(--muted)}.fr-link{margin:6px 0;font-size:13px}.fr-acts2{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.fr-h{font:700 12px var(--fb);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin:20px 0 8px}.fr-sw{display:inline-flex;gap:5px;align-items:center;font-size:13px}.fr-add{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.fr-add input,.fr-add select{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:10px;padding:8px 10px;font:14px var(--fb)}.fr-add input{flex:1;min-width:200px}
.fr-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:16px 18px}.fr-set{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);cursor:pointer}.fr-set input{margin-top:4px;accent-color:var(--accent)}.fr-nums{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:12px;border-top:1px solid var(--line);padding-top:14px}.fr-nums input{width:64px;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:8px;padding:6px 8px;font:14px var(--fb)}
.gbtn.dng{color:var(--warn)}
@media(max-width:700px){.fr-row{flex-wrap:wrap}.fr-acts{width:100%;justify-content:flex-start}}
.frw a:not(.gbtn){color:var(--accent-text,var(--accent))}.frw a.lnk{text-decoration:underline dotted}
.fr-sched{display:grid;gap:8px;margin:4px 0}.fr-sched>div{border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--bg)}
.fr-ct{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin:8px 0 4px}.fr-ct input{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:8px;padding:7px 9px;font:14px var(--fb);min-width:0}
.fr-det{margin:6px 0 14px}.fr-det>summary{cursor:pointer;font-weight:600;font-size:13px;padding:6px 0;color:var(--muted)}
.space.faded,.pcard2.faded{opacity:.62}.space.faded:hover,.pcard2.faded:hover{opacity:1}
.aschip{flex:none;display:inline-flex;align-items:center;gap:6px;margin-left:10px;padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent-soft);color:var(--accent-text);font:600 12px var(--fb);cursor:pointer;white-space:nowrap}.aschip b{font-size:15px;line-height:1;font-weight:700}.aschip:hover{background:color-mix(in srgb,var(--accent) 24%,transparent)}
.ld-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px dashed var(--line);border-radius:12px}
.ld-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 16px}.ld-f label{display:block;font:600 12px var(--fb);color:var(--muted);margin-bottom:3px}.ld-f input,.ld-f textarea{width:100%;box-sizing:border-box}
.ld-q{font-size:11.5px;color:var(--faint);margin-top:3px;max-height:3.2em;overflow:hidden}
.ld-c{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:600;background:var(--raise);color:var(--muted)}.ld-c.l{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.ld-c.m{background:var(--accent-soft);color:var(--accent-text)}
.asrow{display:grid;gap:5px;padding:8px 12px;font-size:11.5px;color:var(--muted)}
.asseg{display:flex;background:var(--raise);border-radius:999px;padding:2px}.asseg button{flex:1;border:0;background:transparent;color:var(--muted);font:600 12px var(--fb);padding:5px 4px;text-align:center;border-radius:999px;cursor:pointer;width:auto}
.asseg button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:0 1px 3px rgba(0,0,0,.15)}
.menu .asseg{box-sizing:border-box;width:100%}.menu .asseg button{width:auto!important;min-width:0;flex:1 1 0;padding:5px 2px!important;font-size:11.5px;margin:0}
#asToggle small{color:var(--accent-text);font-weight:600;margin-left:2px}#asToggle .asch{margin-left:auto;float:right;margin-top:4px}
.en{font-size:11.5px;color:var(--faint);margin-top:2px}.pinfo .en{margin-top:4px}
.en.rtd{text-align:right;line-height:1.35;margin-top:6px;white-space:nowrap}@media(max-width:600px){.en.rtd{font-size:10.5px}}
.space .rt1{display:flex;align-items:center;gap:8px;justify-content:flex-end}.space .rt1 .star{margin:0;padding:0 2px;line-height:1}.en.rtd{margin-top:2px}
.en .dl-s{display:none}@media(max-width:600px){.en.rtd .dl-l{display:none}.en.rtd .dl-s{display:inline}}
/* segmented toggles: the selected pill sits inside the track with breathing room, never against the edge */
:root .lsx{padding:4px;gap:3px;border-radius:11px;box-sizing:border-box}
:root .lsx button{padding:6px 12px;border-radius:8px;border:1px solid transparent}
:root .lsx button[aria-pressed="true"]{border-color:color-mix(in srgb,var(--line) 80%,transparent)}
:root .tgroup>.lsx,:root .vzhead .lsx{overflow-x:auto;padding:4px}
.asseg{padding:3px;gap:2px}.menu .asseg button{margin:0}
/* dropdowns: custom arrow with room on the right, so it never touches the edge and long text is trimmed instead of running under it */
:root .fg select,:root .fld select,:root .rform select,:root .editp select,:root .umodal select,:root .mf select{-webkit-appearance:none;appearance:none;padding-right:38px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237d90a3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:12px}
#siForm{display:grid;gap:14px}#siForm[hidden]{display:none}
.fr-sa{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}.fr-sa input{accent-color:var(--accent)}.fr-sig .fr-sh .fr-ck{margin-right:2px}
.badge.sla{background:#c0213f!important;color:#fff!important;border-color:#c0213f!important;letter-spacing:.06em}
.pimg .badge.sla.pslab{left:auto;right:9px;top:auto;bottom:9px}.pimg .badge.corner+.badge.sla.pslab{bottom:9px}
.space .rt1 .badge.sla{margin-right:2px}
.slabox{margin:10px 0 4px;padding:10px 12px;border:1px solid color-mix(in srgb,#c0213f 45%,var(--line));border-radius:11px;background:color-mix(in srgb,#c0213f 8%,var(--surface));font-size:13px}.slabox b{vertical-align:middle}.slabox .faint{margin-top:3px;font-size:12px}
.ro .dnav span{display:none}
/* map: legend and hover card */
.maplegend{background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh2);padding:9px 11px;font-size:11.5px;line-height:1.35;max-width:210px}
.maplegend .ml-t{font:600 11px var(--fb);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ml-bar{display:block;height:9px;border-radius:5px;background:linear-gradient(90deg,#f0628c,#7a0f35)}.ml-s{display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:10.5px;margin:3px 0 7px}
.ml-i{display:flex;align-items:center;gap:7px;margin-top:3px}.ml-i i{width:11px;height:11px;border-radius:50%;border:1.5px solid #fff;box-shadow:0 0 0 1px var(--line);flex:none}.ml-i i.ml-fade{background:#7a0f35;opacity:.35}
.ml-n{margin-top:5px;color:var(--faint);font-size:10.5px}
.leaflet-tooltip.maptip{background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh2);padding:0;width:260px;white-space:normal;font:13px/1.35 var(--fb);overflow:hidden}
.leaflet-tooltip.maptip::before{display:none}
.mt-img{display:block;width:100%;height:120px;object-fit:cover}.mt-b{padding:9px 11px 10px}
.mt-a{font:600 14.5px var(--fd);line-height:1.2}.mt-h{color:var(--muted);font-size:12px;margin:2px 0 7px}.mt-tag{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-weight:600;font-size:10.5px}.mt-tag.sale{background:var(--sale-soft);color:var(--sale)}
.mt-g{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:12px}.mt-g span{color:var(--muted)}.mt-g b{font:600 12px var(--fm);text-align:right}
.mt-x{margin-top:6px;color:var(--muted);font-size:11.5px}.mt-sla{margin-top:7px;color:#c0213f;font-weight:600;font-size:12px}
@media(max-width:600px){.maplegend{max-width:170px;padding:7px 9px}.leaflet-tooltip.maptip{width:220px}}
.maplegend .ml-t{cursor:pointer;display:flex;justify-content:space-between;gap:8px;margin-bottom:0}.maplegend .ml-body{margin-top:6px}.maplegend.ml-shut .ml-body{display:none}.maplegend.ml-shut .ml-x{transform:rotate(-90deg)}
@media(max-width:600px){.leaflet-bottom.leaflet-left{margin-bottom:6px}}
#leaflet.drawing{touch-action:none;cursor:crosshair}.leaflet-tooltip.drawtip{background:var(--accent);color:var(--on-accent);border:0;font-weight:700;font-size:12px;box-shadow:var(--sh2)}.leaflet-tooltip.drawtip::before{display:none}

/* key money listings: amber, in every place Lease and Sale have a tag */
.badge.keymoney,.t.keymoney,.mt-tag.keymoney,.gsr .gtag.keymoney{color:#b86e0a;background:rgba(224,160,60,.18)}
.pimg .badge.keymoney{background:var(--surface)}
.ptile.keymoney b{padding:2px}

/* lease on a listing: drop zone, saved deal terms, review rows */
.dl-drop{margin:12px 0;padding:14px;border:1.5px dashed var(--line);border-radius:12px;color:var(--muted);font:600 13px var(--fb);text-align:center;cursor:pointer}.dl-drop:hover,.dl-drop.on,.dl-drop:focus-visible{border-color:var(--accent);color:var(--accent-text);outline:none}
.dl-d{margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:8px 12px}.dl-d summary{cursor:pointer;font:600 13px var(--fb)}
.dl-g{margin:12px 0 4px;font:700 11px var(--fb);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.dl-r{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid var(--line);font-size:13px}.dl-r span{color:var(--muted)}.dl-r b{font-weight:600;text-align:right}
.dl-fr{display:grid;grid-template-columns:160px 1fr auto;gap:2px 10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.dl-l{font:600 12.5px var(--fb)}.dl-v{min-width:0}.dl-c{font-size:12.5px;white-space:nowrap}.dl-s{grid-column:2/4;font-size:12px}.dl-ok{color:var(--accent-text)}.dl-warn{color:var(--warn)}
@media(max-width:700px){.dl-fr{grid-template-columns:1fr auto}.dl-l{grid-column:1/3}.dl-s{grid-column:1/3}}
/* four options in the Lease / Key money / Sale toggle must fit the sidebar */


/* segmented controls: equal columns, centred labels, nothing spills past the box */
:root .lsx.wide{display:flex;gap:2px;overflow:visible}
:root .lsx.wide button{flex:1 1 auto;min-width:0;width:auto;padding:6px 4px;text-align:center;font-size:12px}
:root .menu .asseg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:3px;width:auto;box-sizing:border-box;border-radius:999px}
:root .menu .asseg button{display:block;width:auto!important;min-width:0;margin:0;padding:6px 2px!important;text-align:center;border-radius:999px;font-size:12px;line-height:1.2}
:root .menu .asrow{padding:6px 12px 10px}
/* phone: a listing row gives its text the full width; the badges and dates sit on their own line underneath */
@media(max-width:600px){
  :root .space{grid-template-columns:50px minmax(0,1fr);row-gap:6px}
  :root .space .rt{grid-column:1/-1;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:10px}
  :root .space .rt .en.rtd{text-align:left;white-space:normal;margin:0}
  :root .space .rt1{justify-content:flex-end}
}

/* audit fixes */
.ctxhead{gap:8px}.ctxhead h2{white-space:nowrap}
.fr-bar .fr-q{flex:1 1 220px;max-width:360px}.fr-bar>.faint{flex:1 1 auto}.fr-btns{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.hlcard{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}
.hlbtns{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}.hlbtns .gbtn{max-width:100%;white-space:normal;text-align:left}
@media(max-width:700px){
  :root .fr-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}:root .fr-tabs::-webkit-scrollbar{display:none}:root .fr-tabs button{flex:none;white-space:nowrap}
  :root #tools-map{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}:root #tools-map::-webkit-scrollbar{display:none}:root #tools-map>*{flex:none;white-space:nowrap}
}
@media(max-width:600px){
  :root .panel{width:100%;max-width:100%}
  :root .pfoot{gap:8px}:root .pfoot button{white-space:nowrap;padding-left:10px;padding-right:10px;font-size:13px}
}

/* search popover: which listings to search (Available is the default; Archived searches what is no longer current) */
.gs-st{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.gs-st button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:3px 10px;font:600 12px var(--fb);cursor:pointer}
.gs-st button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}
.dphoto{transition:filter .25s}.dphoto.ld{filter:blur(2px)}
/* "Map" pill on pictures + the map it opens in place of the picture */
.pmapbtn{position:absolute;right:9px;bottom:9px;z-index:1200;border:0;cursor:pointer;font:700 11.5px var(--fb);letter-spacing:.02em;padding:5px 11px;border-radius:999px;background:var(--surface);color:var(--fg);box-shadow:var(--sh);opacity:.96}
.pmapbtn:hover{opacity:1;background:var(--accent);color:#fff}.pmapbtn.on{background:var(--accent);color:#fff}
.pmap{position:absolute;inset:0;z-index:1100;border-radius:inherit}
.pimg .pmap{border-radius:0}.dpmain{position:relative}.dpmain .pmap{border-radius:14px}
.pmap .leaflet-control-zoom{border:0;box-shadow:var(--sh);margin:0 0 9px 9px}.pmap .leaflet-control-zoom a{width:28px;height:28px;line-height:28px;font-size:16px}
.pmap{touch-action:none;overscroll-behavior:contain}
