/* Jarvis v31 — Biz edition home. Loaded after the inline styles; overrides the look, keeps the plumbing. */
:root{--bg:#0a0b15;--panel:#171923;--panel2:#12141d;--line:rgba(255,255,255,.08);--txt:#f5f6f8;--dim:#9b9ea6;--cyan:#9b9ea6;--cyan2:#8fb0ff;
  --g1:#4f7cff;--g2:#ff5fa2;--g3:#ffb27a;--grad:linear-gradient(100deg,#4f7cff,#ff5fa2 55%,#ffb27a);--green:#00b67a;--amber:#f5a524;--red:#e8452e;
  --on-acc:#0a0b15;--glow:#1b1d36;--raised:#1c1f2b;--card:linear-gradient(180deg,#1b1e29,#141621);
  --good-txt:#34d399;--warn-txt:#f5c26b;--bad-txt:#fb7185;
  --spring:cubic-bezier(.34,1.56,.64,1);--ease:cubic-bezier(.2,.7,.2,1)}
html,body{background:radial-gradient(900px 480px at 50% -140px,var(--glow) 0%,rgba(10,11,21,0) 65%),var(--bg) !important;
  font-family:Nunito,"Segoe UI",system-ui,sans-serif !important;font-size:16px}
header .brand{letter-spacing:-.01em;font-size:16px;font-weight:700;text-transform:lowercase}
header .brand b{color:var(--txt)}
header .status{letter-spacing:.04em;font-weight:700}
.mchd,.fhd,.dh,.cnav button{letter-spacing:.12em;font-weight:700}
.fcard,.mccard,.acc,.day,.stat3 .s{background:var(--card);border:1px solid var(--line);border-radius:20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 30px rgba(0,0,0,.35)}
.actchip{border-radius:9999px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-weight:700;font-family:inherit}
.actchip.hear,.bigbtn.primary,.hbtn,.cnav button.on{background:var(--grad);color:var(--on-acc);border-color:transparent}
.fbtn{border-radius:9999px;font-family:inherit}
.fbtn.yes{background:var(--grad);color:var(--on-acc);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 26px rgba(255,95,162,.3)}
.fbtn.no{background:var(--panel);color:var(--txt);border:1px solid rgba(255,255,255,.14)}
.fsheet,.ffoot{background:var(--bg)}
#pill{letter-spacing:.1em;border-radius:9999px}
.msgwrap.jarvis .msg,.msg.hint{border-radius:20px 20px 20px 6px}
.msgwrap.you .msg{border-radius:20px 20px 6px 20px}

/* ---- dock ---- */
nav{background:rgba(20,22,32,.88) !important;border:1px solid var(--line) !important;border-radius:9999px;
  margin:0 14px calc(env(safe-area-inset-bottom,0px) + 10px);padding:6px 10px;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);
  box-shadow:0 14px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08);align-items:end;gap:8px}
nav button{font-family:inherit;font-size:16px;font-weight:700;color:var(--dim);gap:2px;padding:5px 0;letter-spacing:.02em}
nav button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
nav button.active{color:var(--txt)}
nav button .mic{width:54px;height:54px;border-radius:50%;background:var(--grad);display:grid;place-items:center;margin:-20px auto 2px;
  box-shadow:0 12px 30px rgba(255,95,162,.45),inset 0 1px 0 rgba(255,255,255,.4)}
nav button .mic svg{stroke:var(--on-acc)}
nav button .b{right:18%;top:0}

/* ---- Biz avatar ---- */
.biz{position:relative;width:var(--s,96px);height:var(--s,96px);flex:none}
.biz .glow{position:absolute;inset:-14%;border-radius:50%;filter:blur(14px);opacity:.9;background:radial-gradient(circle,rgba(var(--gl,79,216,255),.45) 0%,transparent 70%);transition:background .7s}
.biz .fr{position:absolute;inset:0}
.biz img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .38s;filter:drop-shadow(0 10px 18px rgba(0,0,0,.5))}
.biz img.on{opacity:1}
.biz.m-hover .fr{animation:bp-hover 2.6s ease-in-out infinite}
.biz.m-bounce .fr{animation:bp-bounce .9s ease-in-out infinite}
.biz.m-lean .fr{animation:bp-lean 2.4s ease-in-out infinite}
.biz.m-tilt .fr{animation:bp-tilt 2.8s ease-in-out infinite}
.biz.m-shake .fr{animation:bp-shake .5s ease-in-out infinite}
.biz.m-doze .fr{animation:bp-doze 4.5s ease-in-out infinite}
.biz.m-bob .fr{animation:bp-bob 1.2s ease-in-out infinite}
@keyframes bp-hover{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-9px) rotate(1.5deg)}}
.biz .glow{animation:bp-glow 3.2s ease-in-out infinite}
@keyframes bp-glow{0%,100%{opacity:.7;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}
@keyframes bp-lean{0%,100%{transform:translateY(-2px) rotate(0)}50%{transform:translateY(-5px) rotate(-3deg)}}
@keyframes bp-tilt{0%,100%{transform:rotate(0)}40%{transform:rotate(4deg) translateY(-4px)}}
@keyframes bp-bounce{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(-12px) scale(1.05)}}
@keyframes bp-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}
@keyframes bp-doze{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(3px) rotate(2deg)}}
@keyframes bp-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media (prefers-reduced-motion:reduce){.biz .fr{animation:none !important}}

/* ---- home ---- */
#feed{overflow-y:auto;-webkit-overflow-scrolling:touch}
.hm{padding:6px var(--sp) calc(env(safe-area-inset-bottom,0px) + 96px);display:flex;flex-direction:column;gap:12px;position:relative}
.hmgreet{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding-top:2px}
.hmgreet .biz{--s:118px}
.hmt1{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.hmt2{color:var(--dim);font-size:16px;font-weight:700;max-width:34ch}
.hmbub{align-self:center;max-width:94%;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:18px;padding:10px 14px;font-size:16px;font-weight:700;text-align:center;animation:hmin .35s var(--spring)}
.hmcard{position:relative;background:var(--card);border-radius:24px;padding:16px;display:flex;flex-direction:column;gap:9px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.45),0 22px 44px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.3);animation:hmin .45s var(--spring)}
.hmcard.out{animation:hmout .4s var(--ease) forwards}
@keyframes hmin{from{transform:translateY(24px) scale(.97);opacity:0}to{transform:none;opacity:1}}
@keyframes hmout{to{transform:translateX(-110%) rotate(-4deg);opacity:0}}
.hmtag{display:inline-flex;align-items:center;gap:7px;font-size:16px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.hmtag i{width:8px;height:8px;border-radius:50%;background:var(--c,var(--cyan2));box-shadow:0 0 8px var(--c,var(--cyan2))}
.hmh{font-size:20px;font-weight:700;line-height:1.28;letter-spacing:-.015em;cursor:pointer;overflow-wrap:anywhere}
.hmh small{display:block;color:var(--dim);font-size:16px;font-weight:700;margin-top:4px}
.hms{color:var(--dim);font-size:16px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.hmhear{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:9999px;padding:7px 13px 7px 7px;font-size:16px;font-weight:700;color:var(--txt);font-family:inherit;min-height:44px}
.hmhear i{width:26px;height:26px;border-radius:50%;background:var(--txt);display:inline-grid;place-items:center}
.hmhear i svg{width:12px;height:12px;fill:var(--on-acc)}
.hmyn{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;margin-top:3px}
.hmb{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:54px;border-radius:9999px;font-family:inherit;font-weight:700;font-size:16px;color:var(--txt);background:var(--raised);border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:transform .12s var(--ease);padding:0 12px}
.hmb:active{transform:scale(.96)}
.hmb svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hmb.yes{background:var(--grad);color:var(--on-acc);border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 12px 28px rgba(255,95,162,.35)}
.hmb.yes svg{stroke:var(--on-acc)}
.hmlater{text-align:center;color:var(--dim);font-size:16px;font-weight:700;background:none;border:0;font-family:inherit;min-height:44px}
.hmnext{color:var(--dim);font-size:16px;font-weight:700;text-align:center}
.hmdone{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:10px 0}
.hmdone .t{font-size:20px;font-weight:700}
.hmdone .d{color:var(--dim);font-size:16px;font-weight:700}
.hmban{background:rgba(245,165,36,.12);border:1px solid rgba(245,165,36,.4);border-radius:16px;padding:10px 14px;font-size:16px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:10px}
.hmundo{position:fixed;left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 96px);z-index:700;background:var(--raised);border:1px solid rgba(255,255,255,.14);border-radius:9999px;padding:8px 8px 8px 16px;display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;box-shadow:0 14px 40px rgba(0,0,0,.6);animation:hmin .3s var(--spring)}
.hmundo .bar{position:absolute;left:16px;right:110px;bottom:4px;height:3px;border-radius:2px;background:var(--grad);transform-origin:left;animation:hmbar 8s linear forwards}
@keyframes hmbar{to{transform:scaleX(0)}}
.hmundo button{margin-left:auto;font-family:inherit;font-weight:700;font-size:16px;min-height:40px;padding:0 16px;border-radius:9999px;border:0;background:var(--txt);color:var(--on-acc)}
.hmconf{position:fixed;inset:0;pointer-events:none;z-index:690;overflow:hidden}
.hmconf i{position:absolute;width:8px;height:12px;border-radius:2px;animation:hmfall 1.2s var(--ease) forwards}
@keyframes hmfall{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(540deg);opacity:0}}

/* ---- More sheet + settings mood picker ---- */
.frow .fic svg{width:24px;height:24px;stroke:var(--txt);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.mood{margin:4px 0 14px}
.moodt{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}
.moodd{color:var(--dim);font-size:16px;font-weight:700;margin:0 0 10px}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mc{background:var(--panel);border:2px solid transparent;border-radius:18px;padding:10px 8px 9px;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:inherit;color:var(--txt);text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);min-height:44px}
.mc .biz{--s:52px}
.mc b{font-size:16px;font-weight:700}
.mc small{font-size:16px;color:var(--dim);font-weight:700;line-height:1.2}
.mc.on{background:linear-gradient(var(--panel),var(--panel)) padding-box,var(--grad) border-box}
.msl{display:flex;flex-direction:column;gap:4px;margin-top:12px}
.msl label{display:flex;justify-content:space-between;font-size:16px;font-weight:700;color:var(--dim)}
.msl label span{color:var(--txt)}
.msl input[type=range]{width:100%;accent-color:var(--g2);height:44px;min-height:44px;margin:0;cursor:pointer}
.msample{margin-top:12px;width:100%;min-height:48px;border-radius:9999px;border:1px solid rgba(255,255,255,.14);background:var(--raised);color:var(--txt);font-family:inherit;font-weight:700;font-size:16px}

/* ---- Talk view: Biz replaces the orb ---- */
#orb{display:none !important}
.orbtop{padding:6px 0 4px;gap:8px}
.orbtop .biz{--s:132px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.orbtop .biz:active .fr{transform:scale(.96)}
#pill{border-radius:9999px;font-size:16px;letter-spacing:.14em;background:rgba(255,255,255,.06);border:1px solid var(--line) !important;box-shadow:none !important;margin-top:0}
.msg.hint{font-family:inherit;font-weight:700;color:var(--dim)}
.mcstrip{padding:6px var(--sp) 8px}
.mcstrip .chip{border-radius:9999px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-family:inherit;font-weight:700;font-size:16px;min-height:40px}
.controls{gap:8px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 10px)}
.controls input{border-radius:9999px;background:var(--panel2);border:1px solid rgba(255,255,255,.12);font-family:inherit;font-size:16px;padding:0 18px;min-height:48px}
.controls input:focus-visible{outline:2px solid var(--g2);outline-offset:2px;border-color:transparent}
.iconbtn{border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--txt);display:grid;place-items:center}
.iconbtn svg,.controls .send svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.iconbtn.on{color:var(--g2);border-color:rgba(255,95,162,.55)}
.controls .send{background:var(--grad);color:var(--on-acc);box-shadow:0 8px 22px rgba(255,95,162,.35)}
.controls .send svg{stroke:var(--on-acc)}
.hbtn{border-radius:9999px;font-family:inherit;font-weight:700}
@media (min-width:700px){ main{max-width:560px;margin:0 auto;width:100%} nav{max-width:520px;margin-left:auto;margin-right:auto} .mcstrip{flex-wrap:wrap} }

.hmtoday .frow{min-height:52px;padding:9px 0}
.hmtoday .frow .fn{font-size:16px}
.hmtoday .frow .fd{font-size:16px}
.hmdone{padding:4px 0 2px}

/* social sheet v2 */
.scard{padding:4px 12px}
.srow{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.srow:last-child{border-bottom:0}
.sdot{width:12px;height:12px;border-radius:50%;background:var(--bad-txt);flex:0 0 auto;box-shadow:0 0 0 4px rgba(251,113,133,.15)}
.sdot.ok{background:var(--good-txt);box-shadow:0 0 0 4px rgba(52,211,153,.15)}
.srow .sw{flex:1;font-weight:700;font-size:16px;line-height:1.2}
.srow .sw small{display:block;font-weight:600;color:var(--dim);font-size:16px;margin-top:3px}
.sbtn{font:inherit;font-weight:700;font-size:16px;min-height:44px;padding:0 16px;border-radius:9999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);cursor:pointer;flex:0 0 auto}
.sbtn.on{background:var(--grad);color:var(--on-acc);border-color:transparent}
.sbtn.off{color:var(--dim)}.sbtn.off.arm{color:var(--bad-txt);border-color:var(--bad-txt)}
.sbtn.how{color:var(--cyan2);border-color:rgba(143,176,255,.4)}
.sbtn[disabled]{opacity:.6}
.fhd .fhd-r{margin-left:auto;color:var(--dim);font-weight:700;font-size:16px;letter-spacing:0}
.srow .sw{width:auto;height:auto;min-width:0;min-height:0;border:0;background:none;padding:0;border-radius:0;box-shadow:none;transition:none}

.sdot.warn{background:var(--amber);box-shadow:0 0 0 4px rgba(245,165,36,.18)}
.srow{flex-wrap:wrap}
.srow .sact{display:flex;gap:8px;align-items:center;flex:0 0 auto;margin-left:auto}
.sbtn.ed{min-width:44px;padding:0 12px;font-size:16px}
.ssel{font:inherit;font-weight:700;font-size:16px;min-height:44px;max-width:170px;padding:0 10px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--txt)}
.srow .sw small b{color:var(--txt)}
.srow.st-wrong .sw small{color:var(--bad-txt)}
.srow .sw{min-width:0;flex:1 1 150px}
.srow .sact:has(.ssel){flex-basis:100%;margin-left:0;justify-content:flex-end;padding-top:6px}
.srow .sact:has(.ssel) .ssel{flex:1 1 auto;max-width:none}

.rrow{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.rrow:last-child{border-bottom:0}
.rrow .rt{flex:1;font-weight:700;font-size:16px;line-height:1.25;min-width:0}
.rrow .rt small{display:block;font-weight:600;color:var(--dim);font-size:16px;margin-top:2px;word-break:break-word}
.rrow.bad .rt small{color:var(--bad-txt)}
.rrow .sbtn{flex:0 0 auto}

/* campaigns */
.crow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}
.crow .ctxt{flex:1;min-width:0;font-weight:700;font-size:16px;line-height:1.25}
.crow .ctxt small{display:block;font-weight:600;font-size:16px;color:var(--dim);margin-top:3px}
.crow .sbtn,.crow .sdot{flex:0 0 auto}
.clbl{font-weight:700;font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin:14px 0 6px}
.clbl.hide{display:none}
.cchips{display:flex;flex-wrap:wrap;gap:8px}
.cchip{font:inherit;font-weight:700;font-size:16px;min-height:44px;padding:0 14px;border-radius:9999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);cursor:pointer}
.cchip.on{background:var(--grad);color:var(--on-acc);border-color:transparent}
.cinput{font:inherit;font-size:16px;color:var(--txt);background:var(--panel2);border:1px solid var(--line);border-radius:14px;min-height:48px;padding:10px 12px;width:100%}
textarea.cinput{resize:vertical;line-height:1.4}

/* ---- polish_b (ADR-20260929 step 3): one card recipe, shape scale, focus ring, reduced motion ---- */
button,input,select,textarea{font-family:inherit}
/* polish_f: every .pick is a 44x44 pill (bare ones were 24px native buttons); .vrow .pick keeps its own look */
.pick{min-height:44px;min-width:44px;padding:0 16px;border-radius:9999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--txt);font-size:16px;font-weight:700;cursor:pointer;flex:0 0 auto}
.pick:active{background:rgba(255,255,255,.1)}
.fsheet[data-kind="needs"] .fnote{pointer-events:none}
.fcard,.hmcard,.mccard,.pcard,.day{padding:16px;border-radius:20px}
.acc,.stat3 .s,.kpi,.bizc{border-radius:20px}
.acch{padding:12px 16px}
.accb{padding:0 16px 16px}
.fcard>.frow:first-child,.fcard>.rrow:first-child,.fcard>.srow:first-child{padding-top:0}
.fcard>.frow:last-child,.fcard>.rrow:last-child,.fcard>.srow:last-child{padding-bottom:0}
@media (prefers-reduced-motion:reduce){
  .biz .glow,.hmcard,.hmcard.out,.hmundo,.hmbub,.hmconf i{animation:none !important}
  .hmundo .bar{animation:none !important}   /* v107_confirm */
  .hmconf{display:none !important}
}

/* ---- polish_c (ADR-20260929 steps 6-7): 4-tab bar, compact Home, Money + More views ---- */
nav button[hidden]{display:none !important}
nav button{min-height:52px;justify-content:flex-end;transition:transform .12s var(--spring)}
nav button:active{transform:scale(.92)}
nav button .mic{width:36px;height:36px;margin:0 auto 1px;box-shadow:0 6px 16px rgba(255,95,162,.35),inset 0 1px 0 rgba(255,255,255,.4)}
nav button .mic svg{width:20px;height:20px}
nav button[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:-2px;width:18px;height:3px;border-radius:2px;background:var(--grad);transform:translateX(-50%)}
nav button .b{top:0;right:calc(50% - 30px);min-width:20px;height:20px;line-height:20px;border-radius:10px;font-size:16px;font-weight:700;padding:0 6px;background:var(--grad);color:var(--on-acc)}
.hm{padding-bottom:24px;gap:10px}
.hmgreet{flex-direction:row;align-items:center;text-align:left;gap:12px;padding-top:0}
.hmgreet .biz{--s:64px}
.hmgt{min-width:0;flex:1}
.hmt2{max-width:none;margin-top:2px;line-height:1.35}
.hmstrip{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.hmsl{width:100%;text-align:left;background:none;border:0;color:var(--txt);font:inherit;font-size:16px;font-weight:700;line-height:1.35;padding:10px 16px;min-height:44px;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hmsl+.hmsl{border-top:1px solid var(--line)}
#hmline1{color:var(--dim)}
.hmsl:active{background:rgba(255,255,255,.06)}
.hmhelp{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hmhb{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border-radius:9999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);font:inherit;font-size:16px;font-weight:700;line-height:1.15;padding:4px 10px;cursor:pointer;transition:transform .12s var(--spring)}
.hmhb:active{transform:scale(.96)}
.hmhb svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.hmhb.hl{outline:2px solid var(--g2);outline-offset:2px}
.hmnext{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;color:var(--dim)}
.hmlink{flex:none;min-height:44px;background:none;border:0;padding:0 4px;color:var(--cyan2);font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.okdot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--green);margin-right:8px;vertical-align:middle}
.hmundo button{min-height:44px}
#money,#more,#progress{overflow-y:auto;-webkit-overflow-scrolling:touch}
/* progress_b: Progress tab, task cards, Money sheet */
/* the Home strip clamps at 2 lines: vertical space as transparent borders, so a 3rd line never shows in the padding */
.hmsl{padding-top:0;padding-bottom:0;border-top:10px solid transparent;border-bottom:10px solid transparent}
.hmsl+.hmsl{border-top:10px solid transparent;box-shadow:0 -1px 0 var(--line)}
.pgh{display:flex;align-items:center;gap:10px;margin:16px 4px 0;font-size:18px;font-weight:700;line-height:1.3;color:var(--txt)}
.pgh small{font-size:16px;font-weight:700;color:var(--dim)}
.pgh .pgn{margin-left:auto;min-width:28px;height:28px;padding:0 9px;border-radius:9999px;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}
.vwrap .pgh+.fhd{margin-top:2px}
.fcard>.gidea:first-child,.fcard>.tdone:first-child{border-top:0;padding-top:0}
.fcard>.gidea:last-child,.fcard>.tdone:last-child{padding-bottom:0}
.tcard .pill{margin-top:2px}
.gstate.fail{color:var(--bad-txt)}
.tcard .glast p{-webkit-line-clamp:3}
.tbtns{align-items:center}
.tbtns .actchip{padding:0 20px;transition:transform .12s var(--spring)}
.tbtns .actchip:active,.tfiles .sbtn:active,.pempty .sbtn:active,.tq .sbtn:active{transform:scale(.96)}
.tbtns .actchip.on{background:var(--grad);color:var(--on-acc);border-color:transparent}
#progressview .quick:has(#fclearall){margin:2px 0 0}
#progressview .quick+.fnote{margin:0;padding-top:0}
.actchip.arm{color:var(--bad-txt);border-color:var(--bad-txt);background:rgba(251,113,133,.12)}
.tdone{padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}
.tdone .rt{font-size:16px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.tdone .rt small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;font-weight:600;color:var(--dim);margin-top:2px}
.tfiles{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.tfiles .sbtn{display:inline-flex;align-items:center;text-decoration:none;transition:transform .12s var(--spring)}
.tmore{display:block;width:100%;text-align:left;margin-top:4px}
#progressview .rrow .rt small,.tcard .glab{font-size:16px}
.tq .sbtn{transition:transform .12s var(--spring)}
.tfocus{outline:2px solid var(--g2);outline-offset:6px;border-radius:12px;background:rgba(255,95,162,.07)}
.pempty{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.pempty p{margin:0;font-size:16px;line-height:1.5}
.pempty .sbtn{min-height:48px;padding:0 22px;transition:transform .12s var(--spring)}
.quick.pfoot{margin:4px 0 0}
.quick.pfoot .actchip{min-height:48px;font-size:16px;padding:0 20px}
/* progress_d: task detail, file reader, Talk links */
.tlink{display:flex;align-items:flex-start;gap:8px;width:100%;min-height:44px;margin:0;padding:0;border:0;background:none;color:var(--txt);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tcard .gtitle.tlink{font-size:18px;font-weight:700;line-height:1.35;overflow-wrap:anywhere;margin-bottom:4px;align-items:center}
.tlink>span:first-child{flex:1;min-width:0}
.tchev{flex:none;font-size:26px;line-height:1;color:var(--dim);padding:2px 2px 0 0}
.tdone .rt.tlink{align-items:center}
.tdone .tlt{display:block;font-size:16px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
[data-tcard]{cursor:pointer}
.tcard,.tdone,.tq{transition:transform .45s var(--spring)}
.tcard:active,.tdone:active,.tq:active{transform:scale(.985)}
.tlink:focus-visible{outline:2px solid var(--g2);outline-offset:4px;border-radius:10px}
.fsheet[data-kind="task"] .vstate{font-size:18px;line-height:1.4;margin:0 0 10px}
.tpills{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.tpills .pill,.fsheet[data-kind="task"] .pill{font-size:16px;padding:3px 10px;margin:0}
.fsheet[data-kind="task"] .pgh{margin:18px 2px 8px}
.fsheet[data-kind="task"] .pgh+.fcard{margin-top:0}
.tneed{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.tneed .fp{margin:0;font-size:18px;font-weight:700;line-height:1.45}
.tneed .sbtn{min-height:48px;padding:0 22px}
.tsteps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.tsteps li{display:flex;gap:10px;align-items:flex-start}
.tsteps li.ok .gmark{color:var(--good-txt)}.tsteps li.now .gmark{color:var(--warn-txt)}
.tsteps .gsub{font-size:16px;line-height:1.5}
.fsheet[data-kind="task"] .fp{font-size:16px;line-height:1.55}
.tinfo{align-items:flex-start;cursor:default}
.tinfo .fic{width:30px;flex:0 0 auto;display:flex;justify-content:center;padding-top:2px}
.tinfo .fic svg{width:24px;height:24px;stroke:var(--dim);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.tinfo .rt small{font-size:16px}
.tfoot{grid-template-columns:1fr 1fr}
.tfoot .fbtn:only-child,.tfoot .fbtn:nth-child(3){grid-column:1/-1}
.tfoot .fbtn{transition:transform .12s var(--spring)}
.tfoot .fbtn:active{transform:scale(.96)}
.tfoot .fbtn.arm{background:rgba(251,113,133,.22);color:var(--bad-txt);border-color:var(--bad-txt)}
.tnote{margin:0 2px 10px;font-size:16px;color:var(--dim);line-height:1.4}
.freader{font-size:18px;line-height:1.7;overflow-wrap:anywhere;max-width:68ch}
.freader p{margin:0 0 16px;white-space:pre-wrap}
.fsheet[data-kind="file"] .vstate{color:var(--dim);font-weight:700}
.tout{display:inline-flex;align-items:center;min-height:48px;text-decoration:none;margin-top:10px}
.gobtn.taskgo{text-align:left;min-height:56px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:transform .12s var(--spring)}
.gobtn.taskgo:active{transform:scale(.97)}
.gobtn.taskgo .lab{display:flex;align-items:center;gap:10px;min-width:0}
.gobtn.taskgo .lab>span{min-width:0;overflow-wrap:anywhere}
.gobtn.taskgo svg{width:22px;height:22px;flex:none;stroke:var(--txt);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.gobtn.taskgo .tsub{display:block;font-size:16px;font-weight:600;color:var(--dim);line-height:1.35}
.gobtn.taskgo .tsub:empty{display:none}
.gobtn.taskgo .go{font-size:26px;letter-spacing:0;color:var(--dim)}
.msgwrap.tflash .msg{box-shadow:0 0 0 2px var(--g2),0 0 24px rgba(255,95,162,.35)}
@media (prefers-reduced-motion:reduce){
  .tcard,.tdone,.tq,.tfoot .fbtn,.gobtn.taskgo{transition:none}
  .tcard:active,.tdone:active,.tq:active,.tfoot .fbtn:active,.gobtn.taskgo:active{transform:none}
}
.fsheet[data-kind="money"] .kpis{gap:6px}
.fsheet[data-kind="money"] .kpi{padding:10px 4px}
.fsheet[data-kind="money"] .kpi .n{font-size:20px}
.fsheet[data-kind="money"] .kpi .l{white-space:normal;text-transform:none;letter-spacing:0;line-height:1.25}
.fsheet[data-kind="money"] .fin>.fhd{margin:14px 4px 6px}
.fsheet[data-kind="money"] .fhd a{min-height:44px;display:inline-flex;align-items:center;padding:0 4px}
@media (prefers-reduced-motion:reduce){
  .tbtns .actchip,.tfiles .sbtn,.pempty .sbtn,.tq .sbtn{transition:none}
  .tbtns .actchip:active,.tfiles .sbtn:active,.pempty .sbtn:active,.tq .sbtn:active{transform:none}
}
.vwrap{padding:6px var(--sp) 24px;display:flex;flex-direction:column;gap:10px}
.vwrap .fhd{margin:10px 4px 0}
.vwrap .fcard{margin-bottom:0}
.vstate{margin:0;font-size:16px;font-weight:700;line-height:1.4}
.fin>.vstate{margin:0 0 10px}
.vbub{align-self:stretch}
#money #moneybox>.mchd:first-child{display:none}
#money .kpis{gap:6px}
#money .kpi{padding:10px 4px}
#money .kpi .n{font-size:20px}
#money .kpi .l{white-space:normal;text-transform:none;letter-spacing:0;line-height:1.25}
.biztiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.biztile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:64px;padding:12px 14px;border-radius:20px;border:1px solid var(--line);background:var(--card);color:var(--txt);font:inherit;text-align:left;cursor:pointer;transition:transform .12s var(--spring)}
.biztile:active{transform:scale(.97)}
.biztile b{font-size:16px;font-weight:700;overflow-wrap:anywhere}
.biztile span{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:700;color:var(--dim)}
.biztile .sdot{width:10px;height:10px;box-shadow:none}
.frow:active{background:rgba(255,255,255,.04)}
.nowrow .ni svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* growth_a: Growth shows what is happening */
.gintro{margin:0 0 12px;font-size:16px;line-height:1.5;color:var(--dim)}
.gidea{padding:14px 0;border-top:1px solid rgba(255,255,255,.08)}
.gtop{display:flex;gap:10px;align-items:flex-start}
.gtop .ni{font-size:20px;line-height:1.3}
.gmain{flex:1;min-width:0}
.gtitle{font-size:18px;font-weight:700;line-height:1.35;overflow-wrap:anywhere;margin-bottom:4px}
.gstate{margin:10px 0 6px;font-size:16px;line-height:1.45;font-weight:700;display:flex;gap:8px;align-items:baseline}
.gstate.work{color:var(--warn-txt)}.gstate.ready{color:inherit}.gstate.pause{color:var(--dim)}.gstate.done{color:var(--good-txt)}
.gpulse{flex:none;width:10px;height:10px;border-radius:50%;background:var(--warn-txt);animation:gpulse 1.2s ease-in-out infinite;transform:translateY(-1px)}
@keyframes gpulse{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.gpulse{animation:none}}
.gbar{height:8px;border-radius:9999px;background:rgba(255,255,255,.1);overflow:hidden;margin-bottom:10px}
.gbar i{display:block;height:100%;border-radius:inherit;background:var(--grad)}
.gerr{margin:0 0 8px;font-size:16px;color:var(--bad-txt)}
.glast{background:rgba(255,255,255,.05);border-radius:14px;padding:10px 12px;margin-bottom:8px}
.glab{font-size:16px;font-weight:700;color:var(--dim);margin-bottom:4px}
.glast p{margin:0;font-size:16px;line-height:1.5;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.gsteps summary{min-height:44px;display:flex;align-items:center;font-size:16px;font-weight:700;cursor:pointer;color:var(--dim)}
.gsteps ol{list-style:none;margin:4px 0 8px;padding:0;display:grid;gap:10px}
.gsteps li{display:flex;gap:10px;align-items:flex-start}
.gmark{flex:none;width:22px;text-align:center;font-weight:700;color:var(--dim)}
.gsteps li.ok .gmark{color:var(--good-txt)}.gsteps li.now .gmark{color:var(--warn-txt)}
.gst{font-size:16px;line-height:1.4}
.gsub{font-size:16px;line-height:1.45;color:var(--dim);white-space:pre-wrap;overflow-wrap:anywhere}
.gbtns{flex-wrap:wrap;gap:8px;margin-top:4px}
.gbtns .actchip{min-height:48px;font-size:16px}
.gbtns .actchip[disabled]{opacity:.45}
.gwait{font-size:16px;color:var(--dim);min-height:44px;display:flex;align-items:center}
.gnote{font-size:16px;color:var(--dim);margin:8px 0 0}
@media (prefers-reduced-motion:reduce){
  nav button,.hmhb,.biztile{transition:none}
  nav button:active,.hmhb:active,.biztile:active{transform:none}
}

/* polish_d (ADR steps 8-9): read-aloud highlight, sheet helper row, Not ready rows */
.tts-active{background:rgba(143,176,255,.2);border-radius:12px;box-shadow:inset 0 0 0 2px rgba(143,176,255,.45)}
.fhearrow{display:block;padding:8px 12px}
.fhearrow .hmbub{margin-top:8px;align-self:auto}
.vbub{text-align:left;font-weight:700;line-height:1.4;max-width:none}
.hmhb[aria-pressed="true"]{border-color:var(--g2);background:rgba(255,95,162,.14)}
.hmhb[aria-pressed="true"] svg{fill:currentColor}
.tkhelp{padding:0 var(--sp,14px) 6px;display:flex;flex-direction:column;gap:8px}
.conn .tag.nr,.tag.nr{background:rgba(245,165,36,.12);color:var(--warn-txt);border:1px solid rgba(245,165,36,.4)}
.cchip[aria-disabled="true"]{opacity:.6;cursor:not-allowed;border-style:dashed}

/* ---- levelup_b: Set up my business sheet, Home setup card, Settings linked rows ---- */
.subar{height:8px;border-radius:9999px;background:rgba(255,255,255,.08);overflow:hidden;margin:0 0 12px}
.subar i{display:block;height:100%;border-radius:inherit;background:var(--grad)}
.sucard{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 30px rgba(0,0,0,.35);animation:suin .5s var(--spring)}
@keyframes suin{from{transform:translateY(16px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.sutop{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.sustep{font-size:16px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.sutag{display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:700;padding:4px 10px;border-radius:9999px;border:1px solid var(--line);color:var(--dim)}
.sutag.ok{color:var(--good-txt);border-color:rgba(52,211,153,.4);background:rgba(15,42,30,.6)}
.sutag.nr{color:var(--warn-txt);border-color:rgba(245,165,36,.4);background:rgba(245,165,36,.12)}
.sutag svg,.sbtn svg,.conn .tag svg,.hmdo svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.suh{margin:0;font-size:20px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.suwhy,.sudet,.susay,.sudone,.sunr{margin:0;font-size:16px;line-height:1.5;letter-spacing:.02em;overflow-wrap:anywhere}
.suwhy{font-weight:700}
.sudet,.susay{color:var(--dim)}
.sudone{font-weight:700}
.sunr{background:rgba(245,165,36,.1);border:1px solid rgba(245,165,36,.35);border-radius:14px;padding:10px 12px}
.suacts{display:flex;flex-direction:column;gap:8px}
.suacts .sbtn,.suwide,.sunav .sbtn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.suacts .sbtn,.suwide{width:100%}
.suwide{margin-top:10px}
.suform{display:flex;flex-direction:column;gap:6px}
.sulbl{font-size:16px;font-weight:700;margin-top:6px}
.sufld{display:flex;gap:8px;align-items:flex-start}
.sufld .cinput{flex:1;min-width:0}
.sumic{flex:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);display:grid;place-items:center;cursor:pointer;transition:transform .12s var(--spring)}
.sumic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sumic:active{transform:scale(.92)}
.sumic.on{border-color:var(--g2);background:rgba(255,95,162,.18)}
.sunav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.sunav .sbtn{padding:0 10px}
.sbtn{transition:transform .12s var(--spring)}
.sbtn:active{transform:scale(.97)}
.hmcard>.hmdo{width:100%}
.hmdo svg{width:18px;height:18px;stroke:var(--on-acc)}
.acch .ai svg,.conn .ci svg{width:22px;height:22px;stroke:var(--txt);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;display:block;margin:0 auto}
.conn .tag{display:inline-flex;align-items:center;gap:4px}
.conn .tag.bi{background:rgba(143,176,255,.1);color:var(--cyan2);border:1px solid rgba(143,176,255,.35)}
.conn .sbtn{flex:0 0 auto}
@media (prefers-reduced-motion:reduce){
  .sucard{animation:none}
  .sumic,.sbtn{transition:none}
  .sumic:active,.sbtn:active{transform:none}
}

/* ---- levelup_c: a11y ---- */
:focus-visible{outline:2px solid var(--g2);outline-offset:2px}
.mc:focus-visible,.hmcard button:focus-visible,.subtn:focus-visible{outline:2px solid var(--g2);outline-offset:3px}

/* levelup_d */
h1.hmt1{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}

/* ---- keys_b: Upgrades cards ---- */
.kcard .suh{font-size:20px}
.kcost{margin:0;display:flex;gap:8px;align-items:flex-start;font-size:16px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.kcost svg{width:20px;height:20px;flex:none;margin-top:2px;stroke:var(--g3);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ksteps{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.ksteps li{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.ksteps .kn{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(143,176,255,.14);color:var(--cyan2);font-weight:700;font-size:16px;line-height:1}
.kcard .kopen{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;width:100%;text-decoration:none;margin-top:4px}
.kform{display:flex;flex-direction:column;gap:6px}
.kfld{display:flex;gap:8px;align-items:stretch}
.kfld .cinput{flex:1;min-width:0;font-size:16px}
.kshow{min-height:48px;display:inline-flex;align-items:center;gap:6px;padding:0 14px}
.kpaste,.kgo{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px}
.kok,.kfail{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:14px;font-size:16px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.kok{color:var(--good-txt);background:rgba(15,42,30,.6);border:1px solid rgba(52,211,153,.4);animation:kpop .5s var(--spring)}
/* v95: readable in the new look (a11y F6; mobile QA Projects 1.1:1) */
html[data-ui="2"] .kok{background:var(--ho-good-t);color:var(--ho-good);border-color:rgba(11,107,74,.45)}
html[data-ui="2"] .pcard{background:var(--ho-surface);border-color:var(--ho-hair);color:var(--ho-ink)}
html[data-ui="2"] .pcard .pname{color:var(--ho-ink)}
html[data-ui="2"] .pcard .pstat{color:var(--ho-mut)}
html[data-ui="2"] .pcard .purl{color:var(--ho-info)}
html[data-ui="2"] .pcard .badge{background:var(--ho-good-t);color:var(--ho-good);border-color:currentColor}
/* v95: On / Off beside a switch (a11y F7) */
.swword{flex:none;min-width:2.4em;margin-right:10px;font-size:16px;font-weight:700;text-align:right;color:var(--ho-ink,var(--txt))}
.kfail{color:var(--bad-txt);background:rgba(232,69,46,.12);border:1px solid rgba(232,69,46,.45);animation:kpop .5s var(--spring)}
.kok svg,.kfail svg{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@keyframes kpop{from{transform:scale(.95);opacity:0}to{transform:none;opacity:1}}
.klink{align-self:center;background:none;border:0;color:var(--dim);font:inherit;font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0 16px;cursor:pointer}
.klink.arm{color:var(--bad-txt)}
.klink:active{opacity:.6}
.kspin{animation:kspin 1s linear infinite;transform-origin:50% 50%}
@keyframes kspin{to{transform:rotate(360deg)}}
.sbtn[aria-busy="true"]{opacity:.85}
.kprov{border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;background:rgba(255,255,255,.03)}
.kprovh{font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.kprovl{font-size:16px;font-weight:700;overflow-wrap:anywhere}
.kprovw{font-size:16px;color:var(--dim);line-height:1.45}
.kneed{border-color:rgba(255,178,122,.5);margin:0 0 12px}
.kneed .suwide{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px}
@media (prefers-reduced-motion:reduce){
  .kok,.kfail,.kspin{animation:none}
  .klink:active{opacity:1}
}

/* ---- firstrun_b: first-run wizard ---- */
.wzwhy{margin:0 0 12px}
.wzscript{margin:0;font-size:16px;line-height:1.6;letter-spacing:.01em;overflow-wrap:anywhere}
.wzhd{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.wzh{margin:20px 0 8px;font-size:18px;font-weight:700;line-height:1.3}
.wzhint{margin:0;font-size:16px;color:var(--dim)}
.wzmore{margin-top:10px;display:block}
.wzother{margin-top:10px;border:1px solid var(--line);border-radius:16px;padding:0 12px}
.wzrow{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}
.wzrow:first-child{border-top:0}
.wzrow .cmain{flex:1;min-width:0}
.wzrow .cname{font-size:16px;font-weight:700}
.wzrow .cnote{font-size:16px;color:var(--dim);line-height:1.4;margin-top:2px}
.wzrow .sbtn{flex:0 0 auto}
.wzvoice{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0}
.wzvoice svg{width:20px;height:20px;flex:none;margin-top:2px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wzq{display:block;margin:0;font-size:20px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.cinput.wzin{font-size:18px;min-height:56px}
textarea.cinput.wzin{min-height:112px}
.wztone{display:grid;gap:8px;margin-top:6px}
/* firstrun_d: more than one business */
.wzbiz{list-style:none;margin:14px 0;padding:0;display:grid;gap:6px}
.wzbiz li{display:flex;align-items:center;gap:8px;min-height:48px;border-bottom:1px solid rgba(255,255,255,.08)}
.wzbizn{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;overflow-wrap:anywhere}
.wzbizn svg{flex:none;width:20px;height:20px;color:var(--good-txt);stroke:var(--good-txt)}
.wzbizpick{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}
.wzbizpick .sbtn{min-height:48px;font-size:16px}
[data-wz-addbiz]{margin-bottom:10px}
.wztone .sbtn{min-height:56px;width:100%;font-size:18px}
.wznav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.wznav .sbtn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 10px}
.wzskip{display:block;margin:6px auto 0}
.wzask{margin-top:14px;padding-bottom:12px}
.wzask .sbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px}
.wzask svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wzwait{display:flex;gap:10px;align-items:center;padding:12px;border-radius:14px;border:1px solid rgba(143,176,255,.4);background:rgba(143,176,255,.1);font-weight:700;font-size:16px;line-height:1.45}
.wzwait svg{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.wzwarn{border-left:3px solid var(--amber);padding-left:10px}
.wzsocs{margin-top:8px}
.wzsoc .cnote{font-size:16px;line-height:1.4}
.wzsoc .sbtn{flex:0 0 auto;padding:0 14px}
.wzstart{margin:0 0 4px}
.talklock{display:flex;gap:8px 10px;align-items:center;flex-wrap:wrap;margin:4px var(--sp,16px) 0;padding:8px 10px;border-radius:16px;border:1px solid rgba(255,178,122,.5);background:rgba(255,178,122,.08)}
.talklock>div{flex:1 1 180px;min-width:0}
.talklock b{display:block;font-size:16px;line-height:1.35}
.talklock small{display:block;font-size:16px;color:var(--dim);margin-top:2px}
.talklock>span svg{width:22px;height:22px;display:block;stroke:var(--g3);fill:none;stroke-width:2;stroke-linejoin:round}
.talklock .sbtn{min-height:44px;display:inline-flex;align-items:center;margin-left:auto}
/* settings_a: Other accounts rows open a detail sheet; All accounts */
.conn.cgo{cursor:pointer;min-height:60px;border-radius:12px;transition:transform .12s var(--spring),background-color .2s}
.conn.cgo:active{transform:scale(.985);background:rgba(255,255,255,.04)}
.conn.cgo:focus-visible{outline:2px solid var(--g2);outline-offset:2px}
.conn.cgo .cnote{font-size:16px;line-height:1.4}
.conn.cgo .tag{font-size:16px}
.conn .cchev{flex:0 0 auto;font-size:26px;line-height:1;color:var(--dim);margin-left:-4px}
.fsheet[data-kind="acct"] .vstate,.fsheet[data-kind="apps"] .vstate{font-size:18px;line-height:1.4;margin:0 0 12px}
.astate{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.atag{display:inline-flex;align-items:center;gap:5px;font-size:16px;font-weight:700;padding:4px 12px;border-radius:9999px;flex:0 0 auto;line-height:1.2}
.atag svg,.arow .cnote b svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.atag.ok{background:rgba(15,42,30,.9);color:var(--good-txt);border:1px solid rgba(52,211,153,.35)}
html[data-ui="2"]:not([data-theme="dark"]) .atag.ok{background:var(--ho-good-t);color:var(--ho-good);border-color:rgba(11,107,74,.35)}   /* polish_v94: light look */
.atag.bad{background:rgba(251,113,133,.12);color:var(--bad-txt);border:1px solid rgba(251,113,133,.45)}
.atag.warn{background:rgba(245,165,36,.12);color:var(--warn-txt);border:1px solid rgba(245,165,36,.4)}
.atag.no{background:rgba(255,255,255,.04);color:var(--dim);border:1px solid var(--line)}
.fsheet[data-kind="acct"] .pgh{margin:18px 2px 8px}
.acard{padding:14px 16px}
.achd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.achd .cname{font-size:18px;font-weight:700;min-width:0;overflow-wrap:anywhere}
.adl{margin:0 0 14px;display:grid;gap:8px}
.adl div{display:grid;grid-template-columns:minmax(0,7.2em) minmax(0,1fr);gap:10px;font-size:16px;line-height:1.4}
.adl dt{color:var(--dim)}
.adl dd{margin:0;overflow-wrap:anywhere}
.aacts{display:flex;flex-wrap:wrap;gap:8px}
.aacts .sbtn{min-height:48px;flex:1 1 30%}
.asteps{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:14px}
.asteps li{display:flex;gap:12px;align-items:flex-start;font-size:18px;line-height:1.5}
.asteps li>span:last-child{min-width:0;overflow-wrap:anywhere}
.anum{flex:0 0 32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;background:rgba(255,255,255,.08);border:1px solid var(--line)}
.astart{display:flex;flex-direction:column;gap:10px;margin:0 0 10px}
.astart .sbtn{min-height:52px;width:100%;font-size:18px}
.anr{font-size:18px;line-height:1.5;margin:0 0 12px}
.appsearch{position:sticky;top:-1px;z-index:2;background:var(--bg);padding:6px 0 10px}
.alabel{display:block;font-size:16px;font-weight:700;margin:0 2px 6px}
.alist{padding:4px 14px}
.arow{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.arow:last-child{border-bottom:none}
.alogo{position:relative;flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;overflow:hidden}
.alogo img{position:absolute;inset:4px;width:32px;height:32px;object-fit:contain;background:var(--txt);border-radius:6px}
.arow .cmain{flex:1;min-width:0}
.arow .cname{font-size:18px;font-weight:700;overflow-wrap:anywhere}
.arow .cnote{font-size:16px;color:var(--dim);line-height:1.35;overflow-wrap:anywhere}
.arow .cnote b{display:inline-flex;align-items:center;gap:3px;font-weight:700}
.arow .cnote b.aok{color:var(--good-txt)}.arow .cnote b.abad{color:var(--bad-txt)}
.acat{font-size:16px;color:var(--dim);opacity:.8}
.arow .sbtn{min-height:44px;min-width:92px;flex:0 0 auto}
.amore{width:100%;min-height:48px;margin:4px 0 12px}
.adash .sbtn{display:flex;align-items:center;justify-content:center;min-height:52px;text-decoration:none;width:100%}
.fsheet[data-kind="apps"] .wzbizpick .sbtn{transition:transform .12s var(--spring)}
.fsheet[data-kind="apps"] .wzbizpick .sbtn:active,.aacts .sbtn:active,.astart .sbtn:active,.arow .sbtn:active{transform:scale(.96)}
@media (prefers-reduced-motion:reduce){
  .conn.cgo,.fsheet[data-kind="apps"] .wzbizpick .sbtn{transition:none}
  .conn.cgo:active,.fsheet[data-kind="apps"] .wzbizpick .sbtn:active,.aacts .sbtn:active,.astart .sbtn:active,.arow .sbtn:active{transform:none}
}
/* aikeys_a: AI keys in Settings > Upgrades, and the 'aikey' sheet */
.fhd.aikh{margin:16px 4px 4px}
.aikn{margin:0 4px 8px;font-size:16px;line-height:1.45;color:var(--dim)}
.aikrow .cname{font-size:16px;font-weight:700}
.aikrec{margin:4px 0 2px;padding:2px 8px}
.conn .tag.aiknot{background:transparent;color:var(--dim);border:1px dashed var(--line)}
.aih3{margin:8px 0 0;font-size:18px;font-weight:700;line-height:1.3}
.aihint{margin:0;font-size:16px;color:var(--dim)}
.aiconfirm{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;border:1px solid rgba(143,176,255,.4);background:rgba(143,176,255,.1)}
.aiconfirm p{margin:0;font-size:16px;font-weight:700;line-height:1.45}
.aiconfirm .suacts{display:flex;gap:8px}
.aiconfirm .suacts .sbtn{flex:1;width:auto}
.fsheet[data-kind="aikey"] .vstate{font-size:18px;line-height:1.4;margin:0 0 12px}
.fsheet[data-kind="aikey"] .sbtn{transition:transform .12s var(--spring)}
.fsheet[data-kind="aikey"] .sbtn:active{transform:scale(.96)}
@media (prefers-reduced-motion:reduce){
  .fsheet[data-kind="aikey"] .sbtn{transition:none}
  .fsheet[data-kind="aikey"] .sbtn:active{transform:none}
}

/* polish_g: icons in text buttons use the same line style as the rest of the app */
.acts button{display:inline-flex;align-items:center;gap:6px}
.acts button svg,.bigbtn svg,.hbtn svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bigbtn svg{vertical-align:-3px;margin-right:6px}
.hbtn{display:inline-flex;align-items:center;gap:6px}
.msg strong{font-weight:700;color:var(--txt)}

/* browser_b: Biz is reading panel above Home */
.bzread{margin:6px var(--sp) 4px;padding:14px;border-radius:24px;background:var(--card);border:1px solid rgba(232,69,46,.45);display:flex;flex-direction:column;gap:10px;animation:bzin .55s var(--spring)}
.bzread[hidden]{display:none}
.bzh{margin:0;font-size:20px;font-weight:700;display:flex;align-items:center;gap:8px}
.bzdot{width:12px;height:12px;border-radius:50%;background:var(--red);flex:none;box-shadow:0 0 0 4px rgba(232,69,46,.18)}
.bzpic{position:relative;width:100%;aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:var(--panel2);border:1px solid var(--line)}
.bzpic img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.bzpic img[hidden]{display:none}
.bzwait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;color:var(--dim);font-size:16px;font-weight:700}
.bzwait[hidden]{display:none}
.bzline{margin:0;font-size:18px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.bzstop{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:56px;border:0;border-radius:9999px;background:var(--red);color:var(--txt);font-family:inherit;font-size:20px;font-weight:700;cursor:pointer;transition:transform .35s var(--spring)}
.bzstop:active{transform:scale(.96)}
.bzstop:disabled{opacity:.7}
.bzstop svg{width:20px;height:20px;flex:none;fill:currentColor;stroke:none}
@keyframes bzin{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.bzread{animation:none}.bzstop{transition:none}.bzstop:active{transform:none}}

/* alerts_b: the Alert screen and Your alerts */
.altitle{margin:6px 0 8px;font-size:26px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.alwhen{margin:0 0 16px;color:var(--dim);font-size:16px;font-weight:700}
.albody{margin:0;font-size:19px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}
.facts.alfoot{grid-template-columns:1fr}
.albtn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;font-size:19px;font-weight:700;text-decoration:none;transition:transform .12s var(--spring)}
.albtn:active{transform:scale(.96)}
.albtn svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.alrow{align-items:flex-start}
.alrow .fic{padding-top:2px}
.alrow .ft2{min-width:0;flex:1}
.alrow .fd.alone{color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alrow.alnew .fn{font-weight:700}
.alnewtag{display:inline-flex;align-items:center;gap:6px;margin-right:8px;padding:0 10px;border-radius:9999px;background:rgba(143,176,255,.16);color:var(--cyan2);font-size:16px;font-weight:700;vertical-align:1px}
.aldot{width:9px;height:9px;border-radius:50%;background:var(--cyan2);flex:none}
.alretry{min-height:48px}
@media (prefers-reduced-motion:reduce){.albtn{transition:none}.albtn:active{transform:none}}

/* alerts_c: the bell in the top bar (44x44, the header keeps its height) */
.hbell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-11px -4px -11px 0;padding:0;border:0;border-radius:9999px;background:transparent;color:var(--txt);cursor:pointer;touch-action:manipulation;transition:transform .45s var(--spring),background-color .2s}
.hbell:active{transform:scale(.88);background:rgba(255,255,255,.1)}
.hbell:focus-visible{outline:2px solid var(--cyan2);outline-offset:1px}
.hbell svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.belln{position:absolute;top:-1px;right:-9px;min-width:22px;height:22px;padding:0 5px;border-radius:9999px;background:var(--red);color:#fff;font-size:16px;font-weight:700;line-height:22px;text-align:center;box-shadow:0 0 0 2px var(--bg)}
.belln[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.hbell{transition:none}.hbell:active{transform:none}}

/* whatsapp_b: WhatsApp cards (To, the full message, Copy message) and Open WhatsApp / job WhatsApp links */
.wabox{display:flex;flex-direction:column;gap:8px;min-width:0}
.wato{font-size:16px;font-weight:700;color:var(--txt)}
.watext{white-space:pre-wrap;font-size:17px;line-height:1.5;color:var(--txt);overflow-wrap:anywhere;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
/* texts_v92: text cards. The "open the app" line replaces Yes outside the app: words, not a colour */
.smsn{font-size:16px;line-height:1.4;color:var(--dim)}
.smsapp{margin:0;font-size:16px;line-height:1.4;font-weight:700;color:var(--txt)}
.quick .smsapp{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.facts .smsapp{grid-column:1/-1;display:flex;align-items:center;min-height:52px;box-sizing:border-box;padding:12px 16px;background:var(--panel2);border:1px dashed var(--line);border-radius:14px}
.hmb.smsapp,html[data-ui="2"] .ho .hmb.smsapp{padding:4px 6px;text-align:center;line-height:1.3;font-weight:600;background:transparent;border:0;box-shadow:none;cursor:default}
.smsyes svg{flex:none}
.facts .fbtn.smsyes{grid-column:1/-1}
.dk-smsapp{margin:0;display:flex;align-items:center;justify-content:center;text-align:center;min-height:54px;box-sizing:border-box;padding:6px 14px;font-size:16px;font-weight:700;line-height:1.3;color:var(--txt);border:1px dashed var(--line);border-radius:9999px}
/* crm_v93: Customers. Status is always words ("Not sure yet", "things to check"), never only a colour */
.curow{width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);color:var(--txt);font:inherit;min-height:64px;padding:10px 0;cursor:pointer;transition:transform .12s var(--spring)}
.curow:last-child{border-bottom:0}
.curow:active{transform:scale(.985)}
.curow .ft2{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.curow .fn{font-size:17px;font-weight:700;overflow-wrap:anywhere}
.curow .fd{font-size:16px;line-height:1.45;color:var(--dim);overflow-wrap:anywhere}
.cuneed b,.cutag{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--txt)}
.cuneed svg,.cutag svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9}
.culist[hidden]{display:none}
.cuacts{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 14px}
.cuacts .fbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 20px;font-size:17px;font-weight:700;border:1px solid var(--line);cursor:pointer;transition:transform .12s var(--spring)}
.cuacts .fbtn:active{transform:scale(.96)}
.cuacts .fbtn.yes{flex:1 1 100%}
.cuacts .fbtn.ghost{flex:1 1 auto;background:var(--panel2);color:var(--txt)}
.cuacts .fbtn svg{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cuacts .fbtn[aria-busy="true"]{opacity:.75}
.cucomp{padding:14px;margin-bottom:14px}
.cucomp textarea{min-height:120px;font-size:17px;line-height:1.45}
.cucomp .cuacts{margin:10px 0 0}
.cuhint{margin:8px 2px 0;font-size:16px;line-height:1.4;color:var(--dim)}
.cunone{margin:4px 0 14px;padding:12px 14px;font-size:16px;line-height:1.4;font-weight:700;border:1px dashed var(--line);border-radius:14px}
.cufact{padding:11px 0;border-bottom:1px solid var(--line)}
.cufact:last-child{border-bottom:0}
.cufv{font-size:17px;line-height:1.4;overflow-wrap:anywhere}
.cufv b{font-weight:700;margin-right:4px}
.cufm{margin-top:3px;font-size:16px;line-height:1.4;color:var(--dim)}
.cuev{cursor:default;align-items:flex-start}
.cuev .cuevt{font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){.curow,.cuacts .fbtn{transition:none}.curow:active,.cuacts .fbtn:active{transform:none}}
/* polish_v94: Phone permissions - the whole Buzz on tap row is the switch; the settings button wraps on a small phone */
.pmrow{cursor:pointer}
.mnprob .pmset{white-space:normal;text-align:center;line-height:1.25;max-width:150px;min-height:44px}
.wacopy{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:9999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);font:inherit;font-size:16px;font-weight:700;cursor:pointer;touch-action:manipulation;transition:transform .12s var(--spring)}
.wacopy:active{transform:scale(.96)}
.wacopy svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
a.wayes,a.wachip{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-family:inherit;touch-action:manipulation;transition:transform .12s var(--spring)}
a.wayes:active,a.wachip:active{transform:scale(.96)}
a.fbtn.wayes{font-size:16px;font-weight:700}
a.actchip.wayes,a.wachip{min-height:48px;font-size:16px;padding:0 18px}
.wayes svg,.wachip svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){.wacopy,a.wayes,a.wachip{transition:none}.wacopy:active,a.wayes:active,a.wachip:active{transform:none}}
/* v95: the connected WhatsApp Yes is a button: same layout and spring press as the link */
button.wayes{display:inline-flex;align-items:center;justify-content:center;gap:8px;touch-action:manipulation;transition:transform .12s var(--spring)}
button.wayes:active{transform:scale(.96)}
@media (prefers-reduced-motion:reduce){button.wayes{transition:none}button.wayes:active{transform:none}}

/* phone_a: one-tap rows (Call, Text, WhatsApp, Email, Directions, Add to calendar, Add photo, Share), More actions,
   and the Shared with BizPilot sheet */
.phrow{align-items:center}
.nowrow .phrow{flex:1 1 100%;margin:6px 0 0}
a.phchip,button.phchip{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 16px;font-size:16px;font-weight:700;color:var(--txt);text-decoration:none;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:transform .12s var(--spring)}
.phchip:active{transform:scale(.96)}
.phchip svg,.phfile svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.phextra{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:8px}
.phextra[hidden]{display:none}
.phtext{max-height:40vh;overflow:auto}
.phfile{display:flex;align-items:center;gap:10px;min-height:48px;font-size:16px;line-height:1.4;overflow-wrap:anywhere;min-width:0;padding:4px 0}
.phfile span{min-width:0}
.phthumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 8px}
.phthumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:var(--panel2)}
.phchoices{display:flex;flex-direction:column;gap:10px;margin:16px 0 8px}
.phbig{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:10px 18px;border-radius:20px;border:1px solid var(--line);background:var(--card);color:var(--txt);font:inherit;font-size:18px;font-weight:700;line-height:1.3;text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .12s var(--spring)}
.phbig span{min-width:0;overflow-wrap:anywhere}
.phbig small{display:block;font-size:16px;font-weight:600;color:var(--dim);margin-top:2px}
.phbig svg{width:26px;height:26px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.phbig:active{transform:scale(.97)}
@media (prefers-reduced-motion:reduce){a.phchip,button.phchip,.phbig{transition:none}.phchip:active,.phbig:active{transform:none}}
/* reception_b: Settings > Your receptionist */
.rc{padding-top:12px}
.rc svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rchero{font-size:18px;font-weight:700;line-height:1.4;margin:0 0 6px;overflow-wrap:anywhere}
.rcsub,.rcnote,.rchint{font-size:16px;line-height:1.45;color:var(--dim);margin:0 0 12px}
.rchint{margin:6px 0 16px}
.rclbl{display:block;font-size:16px;font-weight:700;margin:12px 0 8px;color:var(--txt)}
.rclbl b{color:var(--cyan2)}
.rcin{display:block;width:100%;min-height:48px;padding:0 14px;border-radius:14px;border:1px solid var(--line);background:var(--panel2);color:var(--txt);font:inherit;font-size:18px;font-weight:700}
.rcin:focus{outline:2px solid var(--cyan2);outline-offset:1px}
.rcchips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.rcchip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:9999px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--txt);font:inherit;font-size:16px;font-weight:700;cursor:pointer;touch-action:manipulation;transition:transform .12s var(--spring)}
.rcchip.on{background:var(--txt);color:var(--on-acc);border-color:transparent}
.rcchip svg{width:18px;height:18px}
.rclist{display:flex;flex-direction:column;gap:8px;max-height:min(52vh,420px);overflow-y:auto;overscroll-behavior:contain;padding:2px;margin:0 -2px 16px}
.rcv{flex:none;display:flex;align-items:center;gap:10px;min-height:64px;padding:10px 10px 10px 14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03);cursor:pointer;touch-action:manipulation;transition:transform .12s var(--spring)}
.rcv.on{border:2px solid var(--cyan2);background:rgba(143,176,255,.10);padding:9px 9px 9px 13px}
.rcv:focus-visible{outline:2px solid var(--cyan2);outline-offset:2px}
.rcvm{flex:1;min-width:0}
.rcvn{font-size:18px;font-weight:700;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;overflow-wrap:anywhere}
.rcva{font-size:16px;line-height:1.4;color:var(--txt);opacity:.85;margin-top:2px;overflow-wrap:anywhere}
.rcvx{font-size:16px;color:var(--dim);margin-top:2px}
.rctag{display:inline-flex;align-items:center;gap:4px;font-size:16px;font-weight:700;color:var(--cyan2)}
.rctag svg{width:16px;height:16px}
.rcplay{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;min-width:88px;padding:0 14px;border-radius:9999px;border:1px solid rgba(255,255,255,.16);background:var(--raised);color:var(--txt);font:inherit;font-size:16px;font-weight:700;cursor:pointer;flex:none;touch-action:manipulation;transition:transform .12s var(--spring)}
.rcplay[aria-pressed="true"]{background:var(--txt);color:var(--on-acc)}
.rcplay svg{width:18px;height:18px}
.rcplay[aria-pressed="false"] svg{fill:currentColor;stroke:none}
.rcretry{margin:0 0 16px}
.rcsave{min-height:52px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;margin:4px 0 10px;overflow-wrap:anywhere;transition:transform .12s var(--spring)}
.rcsave:disabled{opacity:.7;cursor:progress}
.rcring{min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .12s var(--spring)}
.rcring:disabled{opacity:.6}
.rcring svg{margin:0}
.rccan{margin-top:20px}
.rcdone{display:flex;align-items:flex-start;gap:10px;font-size:16px;font-weight:700;line-height:1.45;margin:6px 0 0;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.rcdone svg{margin-top:2px}
.rccando{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rccando li{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.45}
.rccando li svg{width:22px;height:22px;margin-top:1px;color:var(--cyan2)}
.rcchip:active,.rcplay:active,.rcv:active,.rcsave:active:not(:disabled),.rcring:active:not(:disabled){transform:scale(.97)}
@media (prefers-reduced-motion:reduce){.rcchip,.rcplay,.rcv,.rcsave,.rcring{transition:none}.rcchip:active,.rcplay:active,.rcv:active,.rcsave:active,.rcring:active{transform:none}}

/* finish_a: Photos & videos, This week's posts */
.mdhome{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin:14px 0 4px;padding:0 18px;border-radius:9999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);font:inherit;font-size:17px;font-weight:700;text-align:left;cursor:pointer;transition:transform .12s var(--spring)}
.mdhome svg,.mdadd svg,.mdplan svg,.mdyes svg,.mdpill svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mdhome svg{width:24px;height:24px}
.mdmore{margin:6px 0 4px}
.mdadd{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:60px;padding:0 18px;border:0;border-radius:9999px;background:var(--grad);color:var(--on-acc);font:inherit;font-size:18px;font-weight:700;cursor:pointer;transition:transform .12s var(--spring)}
.mdadd svg{width:24px;height:24px;stroke-width:2.6}
.mdadd[aria-busy="true"]{opacity:.85}
.mdlbl{display:block;margin:16px 0 6px;font-size:16px;font-weight:700;line-height:1.3;color:var(--txt)}
.mdprog{margin:10px 0 0;font-size:16px;font-weight:700;line-height:1.4;color:var(--cyan2)}
.mdplan{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;margin-top:12px}
.mdplan svg{width:22px;height:22px}
.mdgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.mdtile{display:flex;flex-direction:column;gap:8px;min-width:0;padding:0 0 12px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--txt);font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:transform .12s var(--spring)}
.mdthumb{position:relative;display:block;flex:none;width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--panel2)}
.mdthumb img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.mdvid{position:absolute;left:6px;bottom:6px;display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:9999px;background:rgba(10,11,21,.85);color:var(--txt);font-size:16px;font-weight:700;line-height:1.3}
.mdvid svg{width:14px;height:14px;fill:currentColor;stroke:none}
.mdst{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0 10px;font-size:16px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.mdst.dim{color:var(--dim)}
.mdpills{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px}
.mdpills2{padding:0;margin:0 0 8px}
.mdpill{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:9999px;font-size:16px;font-weight:700;line-height:1.3}
.mdpill svg{width:14px;height:14px;stroke-width:2.6}
.mdpill.warn{background:rgba(245,165,36,.12);color:var(--warn-txt);border:1px solid rgba(245,165,36,.4)}
.mdpill.ok{background:rgba(15,42,30,.9);color:var(--good-txt);border:1px solid rgba(52,211,153,.35)}
.mdwarn{padding:0 10px;font-size:16px;line-height:1.35;color:var(--warn-txt)}
.mdwarn2{padding:0;margin:0 0 8px}
.mdbig{margin:0 0 12px;border-radius:16px;overflow:hidden;background:var(--panel2)}
.mdbig img,.mdbig video{display:block;width:100%;max-height:60vh;object-fit:contain;background:var(--panel2)}
.mdsave{width:100%;min-height:52px;margin-top:10px}
.fsheet[data-kind="media"] .vstate,.fsheet[data-kind="mediaitem"] .vstate{font-size:18px;line-height:1.4;margin:0 0 12px}
.fbtn.no.arm{background:rgba(251,113,133,.32);color:var(--txt)}
.mdgrp{margin:0 0 10px;border-color:rgba(143,176,255,.35)}
.mdgt{font-size:18px;font-weight:700;line-height:1.3}
.mdgs{margin:6px 0 12px;font-size:16px;line-height:1.4;color:var(--dim)}
.mdyes{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px}
.mdyes svg{width:20px;height:20px;stroke-width:2.6}
.mdhome:active,.mdadd:active,.mdtile:active,.mdplan:active,.mdyes:active,.mdsave:active{transform:scale(.97)}
@media (prefers-reduced-motion:reduce){.mdhome,.mdadd,.mdtile{transition:none}.mdhome:active,.mdadd:active,.mdtile:active,.mdplan:active,.mdyes:active,.mdsave:active{transform:none}}

/* home_a (v74): Home = 3 things. Now, Next job, Day line. Read it to me is the header speaker on Home. */
.hread{width:auto;min-width:44px;margin:-11px 0}
body:has(#feed:not(.active)) #hmread,body:has(#fsheet) #hmread,body:has(#chatov[style*="flex"]) #hmread{display:none}
.hread[aria-pressed="true"]{gap:4px;padding:0 8px;font:inherit;font-size:16px;font-weight:700;background:rgba(255,255,255,.1)}
.hm.h3{gap:12px;padding-top:10px}
.h3k{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:16px;font-weight:700;color:var(--dim)}
.h3k b{color:var(--txt);font-weight:700}
.h3one{color:var(--dim);font-size:16px;line-height:1.5;white-space:normal;overflow:visible;overflow-wrap:anywhere}   /* beta_v88: never cut */
.h3now{touch-action:pan-y;-webkit-user-select:none;user-select:none}
.h3now.back{transition:transform .5s var(--spring),opacity .3s var(--spring)}
.h3now.drag{transition:none}
.h3sw{position:absolute;top:12px;padding:4px 12px;border-radius:9999px;font-size:16px;font-weight:700;background:var(--txt);color:var(--on-acc);opacity:0;pointer-events:none}
.h3sw.r{left:14px}.h3sw.l{right:14px}
.hmyn.one{grid-template-columns:1fr}
.hmyn.h3two{grid-template-columns:1fr 1fr}
.hmyn.h3two.one{grid-template-columns:1fr}
a.hmb{text-decoration:none}
.h3empty .hmh{cursor:default;display:flex;align-items:center;gap:10px}
.h3job .hmh{cursor:pointer}
.h3job .hmh[data-sheet]{min-height:44px;display:flex;align-items:center}   /* beta_v88: the Next job row is a 44px tap */
.h3day{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:12px 16px;color:var(--txt);font:inherit;font-size:16px;font-weight:700;line-height:1.35;cursor:pointer;transition:transform .12s var(--spring)}
.h3day span{flex:1;min-width:0}
.h3day svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--dim);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.h3day:active{transform:scale(.98);background:rgba(255,255,255,.06)}
.h3 .mdhome{margin:4px 0 0}
.h3money{align-self:center;display:inline-flex;align-items:center;gap:6px;padding:0 14px}
.h3money svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){.h3now.back,.h3day{transition:none}.h3day:active{transform:none}}

/* diary_b (v75): Add to diary button (Home + Calendar sheet) and the Add to diary form */
.h3add{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 18px;border-radius:9999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);font:inherit;font-size:17px;font-weight:700;text-align:left;cursor:pointer;transition:transform .12s var(--spring)}
.h3add svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.h3add:active{transform:scale(.97);background:rgba(255,255,255,.1)}
#calbody>.h3add{margin:2px 0 14px}
.dform{display:flex;flex-direction:column;min-width:0}
.dform .clbl{text-transform:none;letter-spacing:0;color:var(--txt);font-size:16px;margin:18px 0 8px}
.dform .clbl:first-child{margin-top:4px}
.dform .clbl small{font-size:16px;font-weight:700;color:var(--dim)}
.dform .cinput{min-width:0;max-width:100%;color-scheme:dark}
#ddate{margin-top:10px}
.drow{display:flex;gap:8px;align-items:stretch;min-width:0}
.drow .cinput{flex:1;width:auto}
.drow .dchip{flex:none}
.dchip{transition:transform .12s var(--spring)}
.dchip:active{transform:scale(.95)}
.dchip.on::before{content:"\2713";margin-right:6px}
.derr{margin:16px 0 0;padding:12px 14px;border-radius:14px;border:1px solid rgba(232,69,46,.55);background:rgba(232,69,46,.12);color:var(--txt);font-size:16px;font-weight:700;line-height:1.4}
.dsave{width:100%;min-height:56px;font-size:18px}
.dsave[disabled]{opacity:.75}
@media (prefers-reduced-motion:reduce){.h3add,.dchip{transition:none}.h3add:active,.dchip:active{transform:none}}

/* core_a (v76): fix the core in the current layout */
/* 8 sentence case: no ALL-CAPS, letter-spaced labels */
#pill,.mchd,.stat3 .s .lab,.dh,.kpi .l,.sect,.fhd,.flbl,.hmtag,.clbl,.sustep,.kprovh,.cnav button,.gobtn .go,header .status{text-transform:none;letter-spacing:0}
/* 1 header status: plain words; when Biz can't sign in it is a 44px tap target */
header .status{max-width:190px;line-height:1.25;text-align:right;overflow-wrap:anywhere}
header .status.stfix{display:inline-flex;align-items:center;min-height:44px;padding:4px 12px;border-radius:14px;border:1px solid rgba(245,194,107,.6);background:rgba(245,165,36,.14);color:var(--txt);text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .12s var(--spring)}
header .status.stfix:active{transform:scale(.96);background:rgba(245,165,36,.24)}
header .status.stfix:focus-visible{outline:2px solid var(--cyan2);outline-offset:2px}
/* 5 chat overlay Send: a real round button, like the Talk send */
#chatform .send{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:48px;height:48px;min-width:48px;padding:0;border:none;border-radius:50%;background:var(--grad);color:var(--on-acc);font:inherit;font-size:20px;font-weight:700;line-height:1;cursor:pointer;touch-action:manipulation;box-shadow:0 8px 22px rgba(255,95,162,.35);transition:transform .12s var(--spring)}
#chatform .send:active{transform:scale(.92)}
#chatform .send:focus-visible{outline:2px solid var(--cyan2);outline-offset:2px}
/* 7 toast: at the top, under the status bar, never over the bottom bar or a primary button */
.toast{top:calc(env(safe-area-inset-top) + 8px);bottom:auto;left:12px;right:12px;margin:0 auto;max-width:536px;width:auto;box-sizing:border-box;text-align:center;line-height:1.4;padding:10px 16px;border-radius:16px;font-weight:700;transform:translateY(-12px);transition:opacity .2s,transform .45s var(--spring)}
.toast.show{transform:translateY(0)}
/* 9 phone alerts off: a row under the day line */
.h3push{border-color:rgba(245,194,107,.5)}
.h3push svg:first-child{stroke:var(--warn-txt)}
.h3push[disabled]{opacity:.75}
/* native_v91: the photo chooser in the Android app (never shown in a browser) */
.bpnpick{position:fixed;inset:0;z-index:900;display:flex;align-items:flex-end;justify-content:center}
.bpnpick-bg{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.bpnpick-p{position:relative;width:100%;max-width:560px;box-sizing:border-box;background:var(--raised);color:var(--txt);border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;padding:20px 16px calc(env(safe-area-inset-bottom,0px) + 16px);display:flex;flex-direction:column;gap:10px;animation:bpnup .5s var(--spring)}
.bpnpick-h{margin:0 0 4px;font-size:18px;font-weight:700;line-height:1.3}
.bpnpick-p .sbtn{width:100%;min-height:52px;font-size:17px}
@keyframes bpnup{from{transform:translateY(48px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.bpnpick-p{animation:none}}
@media (prefers-reduced-motion:reduce){header .status.stfix,#chatform .send,.toast{transition:none}header .status.stfix:active,#chatform .send:active{transform:none}.toast,.toast.show{transform:none;transition:opacity .2s}}

/* shell_a (v77): the new layout. Nothing here changes the old layout except the hidden ui-2 parts. */
html:not([data-ui="2"]) #nav2,html:not([data-ui="2"]) #u2ttl,html:not([data-ui="2"]) #u2mic{display:none!important}
html[data-ui="2"] body>nav:not(#nav2){display:none!important}
/* header: the screen name, Read it to me, the alerts bell, the mic. A fault line (stfix) gets its own row. */
html[data-ui="2"] header{flex-wrap:wrap;gap:4px 8px}
html[data-ui="2"] header>div{display:contents!important}
html[data-ui="2"] header .brand{display:none}
.u2ttl{flex:1 1 auto;min-width:0;margin:0;font-size:20px;line-height:1.2;font-weight:700;color:var(--txt);letter-spacing:0;overflow-wrap:anywhere}
html[data-ui="2"] header .status:not(.stfix){display:none}
html[data-ui="2"] header .status.stfix{order:9;flex:1 0 100%;max-width:none;margin-top:4px}
html[data-ui="2"] #hmread{display:inline-flex!important}
html[data-ui="2"][data-u2at="talk"] #hmread{display:none!important}
#u2mic.on{background:rgba(143,176,255,.2);box-shadow:inset 0 0 0 2px var(--cyan2)}
/* the bar: icon + word, the current place underlined (aria-current), Add raised in the middle */
#nav2 button{min-height:56px;min-width:44px}
#nav2 button[aria-current="page"]{color:var(--txt)}
#nav2 .u2plus{display:grid;place-items:center;width:48px;height:48px;margin:-22px auto 2px;border-radius:50%;background:var(--cyan2);box-shadow:0 8px 20px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.35)}
#nav2 .u2plus svg{width:24px;height:24px;stroke:var(--on-acc);stroke-width:2.2}
#nav2 .u2addb:active .u2plus{background:#a9c2ff}
/* Diary and Money are sheets drawn between the header and the bar; the header names them */
html[data-ui="2"] .fsheet.u2tab{top:var(--u2top,0px);bottom:var(--u2bot,0px)}
html[data-ui="2"] .fsheet.u2tab>.fbar{display:none}
html[data-ui="2"] .fsheet.u2tab .fin{padding-bottom:16px}
/* Add sheet rows: real buttons */
.fcard.u2add{padding:4px 14px}
.u2row{width:100%;text-align:left;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.05);color:var(--txt);font:inherit;padding:11px 4px;touch-action:manipulation;transition:transform .12s var(--spring)}
.u2row:last-child{border-bottom:0}
.u2row:active{transform:scale(.98);background:rgba(255,255,255,.06)}
.u2row:focus-visible{outline:2px solid var(--cyan2);outline-offset:2px}
.u2row .fn,.u2row .fd{display:block}
/* Settings: the layout switch */
.u2lay{padding:14px 16px}
.u2lay .fp{margin:0 0 10px}
.u2laybtn{width:100%;min-height:48px}
@media (prefers-reduced-motion:reduce){.u2row,#nav2 button{transition:none}.u2row:active,#nav2 button:active{transform:none}}

/* social_tab_a (v78): the Biz mic, the cog, the Social tab, Businesses and the account picker */
html:not([data-ui="2"]) #u2cog{display:none!important}
html[data-ui="2"] #u2cog{margin:-11px 2px -11px -10px}
#u2cog[aria-current="page"]{background:rgba(255,255,255,.1)}
#nav2 .u2biz .u2lab{display:block}
#nav2 .u2biz.on{color:var(--txt)}
#nav2 .u2biz.on .u2plus{background:var(--green);box-shadow:0 0 0 4px rgba(0,182,122,.32),0 8px 20px rgba(0,0,0,.45)}
/* Social tab */
.stchips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
.stchip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:9999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);font:inherit;font-size:16px;font-weight:700;cursor:pointer;touch-action:manipulation;transition:transform .12s var(--spring)}
.stchip[aria-pressed="true"]{background:var(--txt);color:var(--on-acc);border-color:transparent}
.stchip svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.stchip:active{transform:scale(.95)}
.stchip:focus-visible,.stpost:focus-visible,.aprow:focus-visible{outline:2px solid var(--cyan2);outline-offset:2px}
.stcard{margin-top:12px}
.sthd{display:flex;align-items:center;gap:10px}
.stic{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:rgba(255,255,255,.07)}
.stic svg{width:24px;height:24px;fill:none;stroke:var(--txt);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.stnm{display:flex;flex-direction:column;min-width:0}
.stnm b{font-size:17px;font-weight:700}
.stnm small{font-size:16px;font-weight:700;color:var(--dim);overflow-wrap:anywhere}
.stbig{display:flex;align-items:baseline;gap:8px;margin:14px 0 0}
.stbig b{font-size:40px;line-height:1;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stbig span{font-size:16px;font-weight:700;color:var(--dim)}
.stgrow{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;font-size:16px;font-weight:700}
.stup{display:inline-flex;align-items:center;gap:4px;color:var(--good-txt)}
.stup svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.stflat{color:var(--dim)}
.stspark{display:block;width:100%;height:36px;margin:10px 0 0}
.stspark polyline{fill:none;stroke:var(--cyan2);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.stposts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.stpost{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:44px;border-radius:12px;color:var(--txt);text-decoration:none;touch-action:manipulation;transition:transform .12s var(--spring)}
a.stpost:active{transform:scale(.96)}
.stth{position:relative;display:block;aspect-ratio:1;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.07)}
.stth img{display:block;width:100%;height:100%;object-fit:cover}
.stvid{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(10,11,21,.72)}
.stvid svg{width:14px;height:14px;fill:#fff;stroke:none}
.stlk{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:16px;font-weight:700;color:var(--dim)}
.stlk span{display:inline-flex;align-items:center;gap:3px}
.stlk svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.stnote{margin:10px 0 0;font-size:16px;line-height:1.45;font-weight:700;color:var(--dim)}
.stbad,.apwarn{display:flex;align-items:flex-start;gap:8px;font-size:16px;line-height:1.4;font-weight:700;color:var(--warn-txt)}
.stbad{margin:12px 0 10px}
.apwarn{margin:10px 4px 0}
.stbad svg,.apwarn svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.stfix,.stwide{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px}
.stwide{margin-top:12px}
.stfix svg,.stwide svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.stbtns{display:flex;flex-direction:column;gap:10px;margin:18px 0 8px}
.stbtns .mdhome{margin:0}
#stwait>.fhd{margin:18px 4px 6px}
/* Businesses */
.bagrp{margin:14px 4px 6px;font-size:16px;font-weight:700;color:var(--dim)}
.barow .ft2{flex:1;min-width:0}
.fsheet[data-kind="businesses"] .u2add>.u2row,.fsheet[data-kind="bizpage"] .u2add>.u2row{padding:11px 4px}
.bast{display:inline-flex;align-items:center;gap:4px;flex:none;padding:4px 10px;border-radius:9999px;background:rgba(255,255,255,.06);font-size:16px;font-weight:700}
.bast svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bast.on{color:var(--good-txt)}.bast.off{color:var(--dim)}.bast.bad{color:var(--warn-txt)}
.badet .mdlbl:first-child{margin-top:2px}
.bamsg{margin:12px 0 0;font-size:16px;font-weight:700;line-height:1.4;color:var(--good-txt)}
.bamsg.bad{color:var(--bad-txt)}
/* the picker */
.apcard{padding:4px 14px}
.aprow{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 4px;border:0;border-bottom:1px solid rgba(255,255,255,.05);background:none;color:var(--txt);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .12s var(--spring)}
.aprow:last-child{border-bottom:0}
.aprow:active{transform:scale(.98);background:rgba(255,255,255,.06)}
.aprow .ft2{flex:1;min-width:0}
.aprow .fn{display:block;font-size:16px;font-weight:700;overflow-wrap:anywhere}
.aprow .fd{display:block;margin-top:2px;font-size:16px;color:var(--dim);overflow-wrap:anywhere}
.apdot{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;border:2px solid var(--dim)}
.aprow[aria-checked="true"] .apdot{background:var(--cyan2);border-color:var(--cyan2)}
.apdot svg{width:18px;height:18px;fill:none;stroke:var(--on-acc);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.aperr{margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.4;color:var(--bad-txt)}
@media (prefers-reduced-motion:reduce){.stchip,.stpost,.aprow{transition:none}.stchip:active,a.stpost:active,.aprow:active{transform:none}}

/* ================= finish_v83: Menu (both layouts) ================= */
.mntop{margin:4px 0 8px}
.mnadv{margin:16px 0 8px}
.mflat{margin-bottom:12px}
.mflat>.accb{display:block;border-top:0;padding-top:6px}
.mflat .conn>.sw{box-sizing:content-box;border:9px solid transparent;background-clip:padding-box;box-shadow:inset 0 0 0 1px var(--line);margin:-9px -9px -9px 0}
.mflat input[type=range]{min-height:44px}
.mflat .conn>.sw:focus-visible,.mnswb:focus-visible{outline:2px solid var(--cyan2);outline-offset:-4px}
.mnsw{cursor:default}
.mnswb{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-height:44px;min-width:96px;padding:0 0 0 8px;border:0;background:transparent;color:var(--txt);font:inherit;font-size:16px;font-weight:700;cursor:pointer;touch-action:manipulation}
.mnswt{position:relative;display:inline-block;flex:0 0 auto;width:48px;height:28px;border-radius:9999px;background:rgba(127,127,127,.28);box-shadow:inset 0 0 0 1px var(--line);transition:background-color .2s linear,transform .12s var(--spring)}
.mnswt>span{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .45s var(--spring)}
.mnswb[aria-checked="true"] .mnswt{background:var(--green)}
.mnswb[aria-checked="true"] .mnswt>span{transform:translateX(20px)}
.mnswb:active .mnswt{transform:scale(.92)}
.mnswb:disabled{opacity:.55;cursor:not-allowed}
.frow .fic.mnini{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:hsl(var(--mnh,210) 42% 40%);color:#fff;font-size:17px;font-weight:700;line-height:1}
.mnbiz .fd b{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--txt)}
.mnbiz .fd b svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mnprob{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
.mnprob:first-child{padding-top:0}
.mnprob:last-child{border-bottom:0;padding-bottom:0}
.mnprob .fic{width:30px;flex:0 0 auto;display:flex;justify-content:center}
.mnprob .fic svg{width:22px;height:22px;fill:none;stroke:var(--txt);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.mnprob .ft2{flex:1 1 200px;min-width:0}
.mnprob .fn{font-weight:700;font-size:16px;line-height:1.4}
.mnprob .fd{color:var(--dim);font-size:16px;line-height:1.45;overflow-wrap:anywhere}
.mnprob .sbtn{margin-left:42px}
.mnrep textarea{display:block;width:100%;min-height:140px;font-size:16px;line-height:1.5;resize:vertical;margin:6px 0 10px}
.mnrep .fnote{margin:0 0 12px}
.mnrep .sbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px}
.mnrep .sbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.mnlo{color:inherit;text-decoration:none}
.mnlo.arm .fn{color:var(--red)}
.mnlook{padding:2px 0 14px;border-bottom:1px solid var(--line)}
.mnlook .fn{margin:0 0 10px;font-weight:700;font-size:16px}
@media (prefers-reduced-motion:reduce){.mnswt,.mnswt>span{transition:none}.mnswb:active .mnswt{transform:none}}

/* ================= finish_v84: business tabs, Photos tab, business rows with the Start here bar, switcher, Start here page ================= */
.batabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 16px}
.batabs.n3{grid-template-columns:repeat(3,1fr)}
.batabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;padding:0 8px;border-radius:9999px;border:1px solid var(--line);background:var(--panel);color:var(--txt);font:inherit;font-size:16px;font-weight:700;line-height:1.2;cursor:pointer;touch-action:manipulation;transition:transform .32s var(--spring)}
.batabs button:active{transform:scale(.97)}
.batabs button[aria-selected="true"]{background:var(--txt);color:var(--bg);border-color:transparent}
.batn{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 2px currentColor;font-size:16px;line-height:1}
.baph{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}
.baphi{aspect-ratio:1;min-height:44px;padding:0;border-radius:16px;border:1px solid var(--line);background:var(--panel);overflow:hidden;cursor:pointer;touch-action:manipulation;transition:transform .32s var(--spring)}
.baphi:active{transform:scale(.97)}
.baphi img{display:block;width:100%;height:100%;object-fit:cover}
.baphe{display:flex;align-items:center;gap:16px}
.baphe .fp{margin:0}
.baphart{width:64px;height:64px;flex:none}
.mnbiz .fn,.mnbiz .fd{display:block}
.mnbar{display:block;height:8px;margin:8px 0 2px;border-radius:9999px;background:rgba(127,127,127,.22);overflow:hidden}
.mnbar i{display:block;height:100%;border-radius:9999px;background:var(--green)}
.bprow{gap:12px}
.bprow .mnini{flex:0 0 40px;width:40px;height:40px;margin-left:4px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:hsl(var(--mnh,210) 42% 40%);color:#fff;font-size:18px;font-weight:700;line-height:1}
.bprow .mnini.bpall{background:var(--dim);color:var(--bg)}
.bprow .ft2{flex:1;min-width:0}
.bprow .fn,.bprow .fd{display:block}
.bprow .fn{font-weight:700;font-size:16px;line-height:1.4}
.bprow .fd{color:var(--dim);font-size:16px;line-height:1.4}
.frow .fic.mnini.bpall{background:var(--dim);color:var(--bg)}
.su5top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.su5art{width:64px;height:64px;flex:none}
.su5 .suwide{margin-top:8px}
.su5list{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.apbox .fp{margin:0 0 8px}
@media (prefers-reduced-motion:reduce){.batabs button,.baphi{transition:none}.batabs button:active,.baphi:active{transform:none}}
/* ================= beta_v88 (home.css): nothing inherits transition-property all (rules that animate name their properties) */
*,*::before,*::after{transition-property:none}
/* ================= v97_social: Social, one post, brand kit, comments, last week =================
   Layout sizes are unscoped so the old layout never blows up; colours live under html[data-ui="2"] (8 px scale, 16 px radius). */
.socrow{display:flex;align-items:center;gap:12px;width:100%;min-height:80px;padding:8px 0;border:0;border-top:1px solid var(--ho-hair,rgba(255,255,255,.08));background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .24s cubic-bezier(.34,1.56,.64,1)}
.fcard>.socrow:first-child{border-top:0}
.socrow:active{transform:scale(.97)}
.socrow:focus-visible{outline:3px solid var(--ho-focus,#8fb0ff);outline-offset:2px}
.socth{flex:none;width:64px;height:64px;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--ho-track,rgba(255,255,255,.06))}
.socth img{width:100%;height:100%;object-fit:cover;display:block}
.socth .hoart{width:48px;height:48px}
.soct{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}
.socn{font-weight:700;font-size:17px;line-height:1.3;overflow-wrap:anywhere}
.socd{font-size:16px;line-height:1.35;color:var(--ho-mut,var(--dim))}
.socpills{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}
.socpill{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border-radius:9999px;border:1px solid transparent;font-size:16px;font-weight:700;line-height:1.2}
.socpill svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.socpill .wkspin{width:16px;height:16px;border-width:3px}
.socday{margin:24px 0 8px;font-size:17px;font-weight:700;line-height:1.3}
.socweek .socwl{margin:8px 0 16px;padding:0;list-style:none}
.socweek .socwl li{font-size:16px;line-height:1.4;padding:4px 0}
.socghost{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:8px}
.socsmall{margin:8px 0 0;font-size:16px;line-height:1.4;color:var(--ho-mut,var(--dim))}
.soclast .fic .hoart,.socfic{width:40px;height:40px}
.socvid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:200px;margin:8px 0 16px;padding:24px 16px;border-radius:16px;background:var(--ho-track,rgba(255,255,255,.06));text-align:center}
.socbig{width:96px;height:96px}
.socbad,.socok{display:flex;align-items:flex-start;gap:8px}
.socbad svg,.socok svg{width:22px;height:22px;flex:none;margin-top:2px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.soclinks{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.soclinks .sbtn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;text-decoration:none}
.soclinks .sbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
details.socmore{margin:8px 0}
details.socmore summary{display:list-item;padding:12px 0;min-height:48px;box-sizing:border-box;font-size:16px;font-weight:700;cursor:pointer}
.sptime .cchips{margin-bottom:16px}
.sptime .cchip svg{width:16px;height:16px;margin-right:4px;vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.fsheet[data-kind="socpost"] .fvid{max-height:48vh}
.spchg .socghost:first-of-type{margin-top:8px}
.facts .fbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:-4px;margin-right:4px}
.sirow{padding:16px 0;border-top:1px solid var(--ho-hair,rgba(255,255,255,.08))}
.fcard>.sirow:first-child{border-top:0;padding-top:0}
.sihd{display:flex;align-items:center;gap:8px}
.sirow .sbtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:8px}
.srrow{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:8px 0;border-top:1px solid var(--ho-hair,rgba(255,255,255,.08));font-size:16px}
.fcard>.srrow:first-child{border-top:0}
.srrow b{text-align:right}
.bklogo{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.bklimg{width:96px;height:96px;flex:none;border-radius:16px;object-fit:contain;background:var(--ho-surface,#fff)}
.bkinit{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:26px;font-weight:700}
.bklimg.bkinit{width:96px;height:96px;font-size:16px;text-align:center}
.bksw{display:flex;align-items:center;gap:12px;min-height:56px}
.bkchip{width:40px;height:40px;flex:none;border-radius:9999px;border:1px solid var(--ho-hair,rgba(255,255,255,.2))}
.bkcn{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
.bkcn small{font-size:16px;color:var(--ho-mut,var(--dim))}
.bkpick{width:48px;height:48px;flex:none;padding:0;border:0;background:none;cursor:pointer}
.bkban{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.bkw{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 0 0 16px;border-radius:9999px;border:1px solid var(--ho-ctl,var(--line));font-size:16px}
.bkx{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:9999px;background:none;color:inherit;cursor:pointer}
.bkx svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.bkadd{display:flex;gap:8px;margin-top:8px}
.bkadd .cinput{flex:1 1 auto;min-width:0}
.bkadd .sbtn{flex:none;min-height:48px;min-width:72px}
.bksave,#bkpsave{margin-top:16px}
.bkrm{margin-bottom:24px}
.bkpt.on{outline:3px solid var(--ho-focus,#8fb0ff);outline-offset:2px}
.batabs.n5 button:last-child{grid-column:1/-1}
html[data-ui="2"] .socpill.work{background:var(--ho-info-t);color:var(--ho-info)}
html[data-ui="2"] .socpill.warn{background:var(--ho-warn-t);color:var(--ho-warn)}
html[data-ui="2"] .socpill.ok{background:var(--ho-surface);color:var(--ho-txt);border-color:var(--ho-ctl)}
html[data-ui="2"] .socpill.plat{background:var(--ho-track);color:var(--ho-txt)}
/* the message box (caption, reply, email) was dark-on-dark in the light theme since v96: readable in both themes now */
html[data-ui="2"] .fplan{background:var(--ho-surface);color:var(--ho-txt);border-color:var(--ho-hair)}
html[data-ui="2"] .socpill.good{background:var(--ho-good-t);color:var(--ho-good)}
html[data-ui="2"] .socpill.bad{background:var(--ho-bad-t);color:var(--ho-bad)}
html[data-ui="2"] .socpill.mute{background:var(--ho-track);color:var(--ho-mut)}
html[data-ui="2"] .socbad{color:var(--ho-bad)}
html[data-ui="2"] .socok{color:var(--ho-good)}
html[data-ui="2"] .socday{color:var(--ho-txt)}
@media (prefers-reduced-motion:reduce){.socrow{transition:none}.socrow:active{transform:none}}
/* fcm_a: Phone app line - the test button sits under the words, full tap size */
.mnfcm .ft2 .sbtn{margin-top:10px;min-height:44px}
/* ================= v98_growth: Growth (home, opportunities, one opportunity, board pack, contacts) + Self changes =================
   Sizes unscoped (8 px scale, 16 px radius + pill); colours under html[data-ui="2"] from the theme variables only. */
.grrow{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:48px;padding:16px 0;border:0;border-top:1px solid var(--ho-hair,rgba(255,255,255,.08));background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .24s cubic-bezier(.34,1.56,.64,1)}
.fcard>.grrow:first-child{border-top:0;padding-top:0}
.grrow:active{transform:scale(.97)}
.grrow:focus-visible,.gryes:focus-visible,.grno:focus-visible,.grwide:focus-visible{outline:3px solid var(--ho-focus,#8fb0ff);outline-offset:2px}
.grrow .socn,.grrow .socd,.grc .socn,.grc .socd,.evrow .socn,.evrow .socd{display:block}
.grwhy{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.grbiz,.grh{margin:8px 0;font-family:var(--ho-fh,inherit);font-size:20px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.grh2{margin:8px 0;font-size:17px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.grq{display:flex;flex-direction:column;gap:8px;padding:16px 0 0}
.grbtns{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.grbtns>button{flex:1 1 88px;min-height:48px}
.grwide{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:8px;text-decoration:none;box-sizing:border-box}
.grwide svg,.gryes svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.frow .fic svg,.grtier svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gryes,.grno{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 16px;border-radius:9999px;border:1px solid transparent;font:inherit;font-size:16px;font-weight:700;cursor:pointer;touch-action:manipulation;transition:transform .12s cubic-bezier(.2,.7,.2,1)}
.gryes:active,.grno:active,.grwide:active{transform:scale(.97)}
.grfeed{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:16px 0;border-top:1px solid var(--ho-hair,rgba(255,255,255,.08))}
.fcard>.grfeed:first-child{border-top:0;padding-top:0}
.grfeed .socd{flex:1 1 100%;margin:0}
.grc{padding:16px 0;border-top:1px solid var(--ho-hair,rgba(255,255,255,.08))}
.fcard>.grc:first-child,.grfound>.grc:first-child{border-top:0;padding-top:0}
.grc .socd{margin:4px 0 0}
.grc .socghost,.gritem .socghost,.evrow .socghost{margin-top:8px}
.grheld{margin:8px 0;font-weight:700}
.grred{border-width:2px}
.grkey{margin-top:16px;padding:16px;border-radius:16px;border:1px solid var(--ho-ctl,var(--line))}
.grfound{margin-top:16px}
.grap{margin:0 0 8px}
.grnow,.grdk{margin:8px 0}
.evrow .fp{margin:8px 0 0}
html[data-ui="2"] .gryes{background:var(--ho-good);color:var(--ho-ongood)}
html[data-ui="2"] .grno{background:var(--ho-softno);color:var(--ho-onsoftno)}
html[data-ui="2"] .grred{border-color:var(--ho-bad)}
html[data-ui="2"] .grkey{background:var(--ho-surface);color:var(--ho-txt)}
html[data-ui="2"] .grbiz,html[data-ui="2"] .grh,html[data-ui="2"] .grh2{color:var(--ho-txt)}
@media (prefers-reduced-motion:reduce){.grrow,.gryes,.grno,.grwide{transition:none}.grrow:active,.gryes:active,.grno:active,.grwide:active{transform:none}}
/* v99 alerts_v99: swipe rows (Delete right, Archive left), the more button, filter pills, Alert screen buttons */
.alist.al99{overflow:hidden}
.alpills{margin:0 0 16px}
.alsw{position:relative;margin:0 -14px;border-bottom:1px solid rgba(255,255,255,.05)}
.alsw:last-child{border-bottom:0}
.alsw .alrow{border-bottom:0;flex:1;min-width:0}
html[data-ui="2"] .alsw .frow+.frow{margin-top:0}
.alfront{position:relative;z-index:1;display:flex;align-items:center;gap:4px;padding:0 4px 0 14px;touch-action:pan-y;will-change:transform}
.alsw.goR .alfront,.alsw.goL .alfront{background:var(--panel)}
.alsw.drag .alfront{cursor:grabbing}
.alunder{position:absolute;inset:0;display:none;align-items:center;justify-content:space-between;padding:0 16px;font-size:18px;font-weight:800;line-height:1.15}
.alsw.goR .alunder{display:flex;background:var(--red);color:var(--bg)}
.alsw.goL .alunder{display:flex;background:var(--dim);color:var(--bg)}
.alsw.goR .aluarc,.alsw.goL .aludel{visibility:hidden}
.alu{display:inline-flex;flex-direction:column;align-items:center;gap:4px;max-width:112px;text-align:center}
.alu svg,.almenu svg,.alclear svg,.alfoot2 svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.alsw.arm .alu svg{transform:scale(1.25)}
.almore{flex:0 0 auto;width:auto;min-width:44px;height:44px;min-height:44px;padding:0 10px;gap:6px;font-family:inherit;font-size:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9999px;background:transparent;color:var(--dim);cursor:pointer;touch-action:manipulation;transition:transform .12s var(--spring)}
.almore svg{width:24px;height:24px;fill:currentColor;stroke:currentColor;stroke-width:1.5}
.almore[aria-expanded="true"]{background:rgba(255,255,255,.08);color:var(--txt)}
.almore:active{transform:scale(.92)}
.almore:focus-visible,.alrow:focus-visible{outline:2px solid var(--g2);outline-offset:-2px}
.almenu{display:flex;gap:8px;padding:0 14px 16px 56px}
.almenu[hidden]{display:none}
.almenu .sbtn{flex:1 1 0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.aldelb{color:var(--bad-txt)}
.almenu .aldelb{border-color:rgba(251,113,133,.4)}
.alclear{margin-top:16px}
.facts.alfoot2{margin-top:8px}
.alfoot2 .fbtn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;font-size:18px;font-weight:700}
.hmundo .aldone{cursor:pointer}
.hmundo .usec{margin-left:auto;font-size:16px;font-weight:700;white-space:nowrap;flex:none}
.hmundo .usec+button{margin-left:0}
.hmundo.rm .bar{display:none}
@media (prefers-reduced-motion:reduce){.almore{transition:none}.almore:active{transform:none}.alsw.arm .alu svg{transform:none}}
/* ================= v101 social_v101: business + profile pickers on the upload sheet, header chips ================= */
.upsel{min-height:52px;font-size:17px}
.upchips{display:flex;flex-wrap:wrap;gap:8px}
#uppick{margin-bottom:24px}
#uppick .stnote{margin:0}
.upchip{min-height:48px;padding:0 16px}
.stchip.upchip.off{border-style:dashed;background:transparent;color:var(--dim);font-weight:700}
.upchip .upsub{font-weight:400}
.upchip:not(.off) svg{flex:none}
.upstate{margin:16px 0 0;font-size:17px;font-weight:700;line-height:1.5}
.upask{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;margin-top:16px;font-size:18px;font-weight:700}
.upask svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sbtn.on.upask[aria-disabled="true"]{background:transparent;color:var(--dim);border:1px dashed var(--line)}
#upwhy{margin-top:8px}
.sochead{margin:0 0 8px;font-size:17px;font-weight:700;line-height:1.5}
html[data-ui="2"] .stchip.upchip.off,html[data-ui="2"] .sbtn.on.upask[aria-disabled="true"]{background:transparent;color:var(--ho-mut);border:1px dashed var(--ho-ctl)}
html[data-ui="2"] .sochead,html[data-ui="2"] .upstate{color:var(--ho-txt)}
/* ================= v102 social_v102: Post it on one photo or video, Clear all at the top of Alerts ================= */
.mdaskbox{margin:24px 0;padding-top:16px;border-top:1px solid var(--line)}
.mdpost{margin:0 0 8px;font-size:18px;font-weight:800}
.altop{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px}
.altop .alpills{margin:0}
.alclearall{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-left:auto;padding:0 16px;font-size:16px;font-weight:700;touch-action:manipulation}
.alclearall svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.alclearall:active{transform:scale(.96)}
.altidy{margin:16px 0 0;font-size:16px;line-height:1.5}
@media (prefers-reduced-motion:reduce){.alclearall:active{transform:none}}
/* ================= v103 wa_private_v103: Private chats ================= */
.wprule{margin:0 0 16px;font-size:16px;line-height:1.5}
.wplist .wprow{align-items:center}
.wprm{min-height:44px;min-width:88px;margin-left:8px;touch-action:manipulation}
.wpadd .sbtn,.wppanel .sbtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
.wpadd .sbtn svg,.wppanel .sbtn svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wppanel{margin:16px 0 0;padding-top:8px;border-top:1px solid var(--line)}
.wpcks{display:flex;flex-direction:column;gap:8px;margin:16px 0 0;max-height:52vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.wpck{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);cursor:pointer}
.wpck.on{border-color:currentColor}
.wpck input{width:24px;height:24px;flex:none;margin:0;accent-color:currentColor}
.wpckt{display:flex;flex-direction:column;min-width:0}
.wpckt .fn{font-size:16px;font-weight:700;overflow-wrap:anywhere}
.wpckt .fd{font-size:16px;color:var(--dim)}
.wpgrp{display:inline-block;margin-left:6px;padding:0 8px;border:1px solid var(--line);border-radius:9999px;font-size:16px;font-weight:700;line-height:24px}
.wpgnote{margin:12px 0 0;font-size:16px}
.wpgo.arm{outline:2px solid currentColor;outline-offset:2px}
.wpgo[aria-disabled="true"]{opacity:.55}
/* v104_consolidate V2: Phone app row uses the same 40px art column as its siblings */
.mnfcm .fic{flex:0 0 40px;width:40px;height:40px}
.mnfcm .ft2{margin-left:0}
/* v105_post: the post kit page (Instagram and Facebook blocks, Post now / Post later). 44px+ taps, 16px+ text, both themes */
.pk{margin:12px 0;padding:14px 16px}
.pkhd{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:20px;font-weight:700;line-height:1.3}
.pkhd svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pkcap{white-space:pre-wrap;overflow-wrap:anywhere}
.pktags,.pkfc{overflow-wrap:anywhere}
.pkcopy,.pksave{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin:8px 0 4px;font-size:16px}
.pkcopy svg,.pksave svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pkwhy{margin:12px 0 0;font-size:16px;line-height:1.5;color:var(--dim)}
.pkface{display:flex;gap:8px;align-items:flex-start}
.pkface svg{width:20px;height:20px;flex:none;margin-top:2px;fill:none;stroke:currentColor;stroke-width:2.2}
.pkta{min-height:120px}
.pkta.pksm{min-height:72px}
.pklater{margin:12px 0;padding:14px 16px}
.pkwhen{margin:6px 0 4px;color-scheme:light dark}
.pkacts{display:grid;grid-template-columns:1fr;gap:10px}
.pkrow{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}
.pkbig,.pkmid{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:56px;font-size:18px;font-weight:700;text-align:center;line-height:1.2;padding:6px 12px}
.pkmid{font-size:17px;padding:6px 8px}
.pkacts .fbtn svg,.pklater .fbtn svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.pklater .pkbig{margin-top:12px}
.pkbig.arm{outline:3px solid currentColor;outline-offset:3px}
.pksched{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;min-height:56px}
.pkst{margin:0;font-size:18px;font-weight:700}
.pkdot{font-size:18px;font-weight:700}
.pkcancel{min-height:48px;min-width:96px;padding:0 20px;font-size:16px;font-weight:700}
html[data-ui="2"] .pkwhy{color:var(--ho-mut)}
html[data-ui="2"] .pk,html[data-ui="2"] .pklater{background:var(--ho-surface);border-color:var(--ho-hair)}
@media (prefers-reduced-motion:reduce){.pkbig,.pkcopy{transition:none}}
/* v107_confirm: the undo bar stands still while held; the two archive buttons at the end of Alerts */
.hmundo.held .bar{animation-play-state:paused}
.hmundo.held{box-shadow:0 0 0 2px var(--txt),0 14px 40px rgba(0,0,0,.6)}
.alclear+.alclear{margin-top:8px}
/* v107_swipes: right = Archive (grey, words + box icon), left = nothing unless SWIPE_DELETE (.alleft) */
.alsw.goR .alunder{display:flex;background:var(--dim);color:var(--bg)}
.alsw.goL .alunder{display:flex;background:var(--red);color:var(--bg)}
.alsw.goL:not(.alleft) .alunder{display:none}
.alsw.goR .aluarc,.alsw.goL .aludel{visibility:visible}
.alsw.goR .aludel,.alsw.goL .aluarc{visibility:hidden}
.alhint{margin:-4px 4px 8px}
/* v107_menu: Find a setting, the business chips, filtered rows */
.mnfind{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:6px 0;background:transparent;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.mnqx[hidden]{display:none}
.mnfind .cinput{flex:1;min-width:0;height:48px;font-size:16px}
.mnfind .cinput::-webkit-search-cancel-button{display:none}
.mnqx{flex:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9999px;background:var(--panel);color:var(--txt);touch-action:manipulation}
.mnqx svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.mnqx:active{transform:scale(.94)}
.mnfound{margin:0 4px;font-size:16px;color:var(--dim)}
.mnfound:empty{display:none}
.mnnone{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.mnnone[hidden]{display:none}
.mngrp{display:flex;flex-direction:column;gap:10px}
.mngrp[hidden],#mnlist [data-mnrow][hidden]{display:none !important}
.mnshort{display:none}
#mnlist .mnshort:has([data-mnrow]:not([hidden])){display:flex}
.mnchips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.mnchips button{min-height:48px;padding:0 16px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9999px;background:var(--panel);color:var(--txt);font:inherit;font-size:16px;font-weight:700;touch-action:manipulation}
.mnchips button[aria-checked="true"]{background:var(--txt);color:var(--bg);border-color:var(--txt)}
.mnchips svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.mnchips button:active{transform:scale(.96)}
@media (prefers-reduced-motion:reduce){.mnqx:active,.mnchips button:active{transform:none}}

/* v108_socdel: the ... menu on post rows and photo tiles (44px, never a swipe) */
.sdwrap{position:relative;display:flex;align-items:center;gap:4px;border-top:1px solid var(--ho-hair,rgba(255,255,255,.08))}
.fcard>.sdwrap:first-child{border-top:0}
.sdwrap>.socrow{flex:1 1 auto;min-width:0;border-top:0}
.sdmore{flex:0 0 44px;width:44px;height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:9999px;background:transparent;color:var(--txt,#fff);cursor:pointer;touch-action:manipulation}
.sdmore svg{width:22px;height:22px;fill:currentColor;stroke:none}
.sdmore:focus-visible{outline:3px solid var(--ho-focus,#8fb0ff);outline-offset:2px}
.sdmore[aria-expanded="true"]{background:rgba(255,255,255,.12)}
.sdtile{position:relative;display:flex;min-width:0}
.sdtile>.mdtile{flex:1 1 auto}
.sdtile>.sdmore{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.62);color:#fff}
.sdmenu{position:absolute;right:4px;top:calc(100% - 4px);z-index:60;min-width:150px;padding:6px;border-radius:14px;background:var(--raised,#1d2433);border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 40px rgba(0,0,0,.55)}
.sdtile>.sdmenu{top:52px;right:6px}
.sditem{display:block;width:100%;min-height:44px;padding:10px 14px;border:0;border-radius:10px;background:transparent;color:var(--txt,#fff);font:inherit;font-size:17px;font-weight:700;text-align:left;cursor:pointer}
.sditem.sdno{color:var(--ho-bad,#ff8a80)}
.sditem:focus-visible{outline:3px solid var(--ho-focus,#8fb0ff);outline-offset:-3px}
html[data-ui="2"]:not([data-theme="dark"]) .sdmenu{background:#fff;border-color:rgba(0,0,0,.12)}
html[data-ui="2"]:not([data-theme="dark"]) .sditem,html[data-ui="2"]:not([data-theme="dark"]) .sdwrap .sdmore{color:#111}
html[data-ui="2"]:not([data-theme="dark"]) .sditem.sdno{color:#b3261e}
/* ================= v106 contacts_v106 (rebased v108): Contacts ================= */
.ctrule,.ctpl{margin:0 0 12px;font-size:16px;line-height:1.5}
.ctacts{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.ctacts .sbtn,#ctall{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px}
.ctacts .sbtn svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ctlist{margin-top:12px}
.ctrow{align-items:center;gap:8px}
.ctrow .ft2{min-width:0}
.ctrow .fn{overflow-wrap:anywhere}
.ctsw{min-width:120px}
.ctsw .mnswl{min-width:64px;text-align:right}
.ctbadge{display:inline-block;margin-left:6px;padding:0 8px;border:1px solid var(--line);border-radius:9999px;font-size:16px;font-weight:700;line-height:24px;white-space:nowrap}
.ctask{margin:0 0 8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.ctask .fnote{margin:0 0 8px;font-size:16px}
.ctaskb{display:flex;gap:8px}
.ctaskb .sbtn{flex:1;min-height:48px}
.ctnone{margin:12px 0;font-size:16px}
/* ================= v108_biz: Call me, the Biz area, the Calls switches ================= */
.bz-home{display:flex;flex-direction:column;gap:12px;margin:12px 0}
.bz-call{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 16px;border:0;border-radius:16px;background:var(--ho-ink,#1A1D26);color:var(--ho-onink,#fff);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.bz-call:active{transform:scale(.97)}
.bz-call svg{width:28px;height:28px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bz-cl{display:flex;flex-direction:column;min-width:0}
.bz-cl b{font-size:20px;line-height:1.3}
.bz-cl span{font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.bz-call.off{background:var(--ho-surface,#fff);color:var(--ho-txt,#1A1D26);border:2px dashed var(--ho-ctl,#7D8290)}
.bz-call:focus-visible,.bztab:focus-visible,.bz-talk:focus-visible{outline:3px solid var(--ho-focus,#1F4FD1);outline-offset:2px}
.ho-tile.bz-tile{width:100%;display:grid;grid-template-columns:56px 1fr;column-gap:12px;align-items:center;padding-right:64px}
.ho-tile.bz-tile .ho-tart{grid-row:1/3;margin:0}
.ho-tile.bz-tile .ho-tt,.ho-tile.bz-tile .ho-td{grid-column:2}
.ho-tile.bz-tile .ho-arw{top:50%;transform:translateY(-50%)}
.bz-talk{position:relative;z-index:3;margin:8px auto 0;display:flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--ho-hair,#ECE6EE);border-radius:9999px;background:var(--ho-surface,#fff);color:var(--ho-txt,#1A1D26);font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.bz-talk svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.bztabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:4px;border-radius:14px;background:var(--ho-track,#EFE9F2);overflow:visible}   /* w2_r2: wraps, never scrolls sideways */
.bztab{flex:1 0 auto;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--ho-txt,#1A1D26);font:inherit;font-size:16px;font-weight:700;cursor:pointer;white-space:nowrap}
.bztab[aria-selected="true"]{background:var(--ho-surface,#fff);box-shadow:0 1px 3px rgba(0,0,0,.12);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.bzsheet .bz-call{margin:0 0 12px}
.bzsheet .stwide{width:100%;min-height:48px;margin:0 0 8px;display:flex;align-items:center;justify-content:center;gap:8px}
.bzsheet .stwide svg,.bzaddb svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bzrow{width:100%;text-align:left}
.bzrow .fn,.bzrow .fd{overflow-wrap:anywhere}
.bznone{margin:12px 0;font-size:16px}
.bzcallrow{align-items:center;gap:8px}
.bzcallrow .sbtn{min-height:44px;flex:none}
.bzadd{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.bzaddb{display:flex;gap:8px;flex-wrap:wrap}
.bzaddb .sbtn{flex:1 1 auto;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px}
.bzmic[aria-pressed="true"],.bzmic.on{outline:3px solid var(--ho-good,#0B6B4A)}
.bzchip{display:inline-flex;align-items:center;gap:4px;padding:0 10px;border-radius:9999px;border:1px solid var(--ho-hair,#ECE6EE);font-size:16px;font-weight:700;line-height:28px;white-space:nowrap;vertical-align:middle}
.bzchip svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bz-done{background:var(--ho-good-t,#E3F5EC);color:var(--ho-good,#0B6B4A)}
.bz-needs_you{background:var(--ho-warn-t,#FFF1DB);color:var(--ho-warn,#8A5300)}
.bz-failed{background:var(--ho-bad-t,#FDE7E5);color:var(--ho-bad,#B3261E)}
.bz-researching{background:var(--ho-info-t,#E6EDFF);color:var(--ho-info,#1F4FD1)}
.bzchipline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.bzul{margin:0;padding-left:22px;font-size:17px;line-height:1.6}
.bzul li{margin:4px 0;overflow-wrap:anywhere}
.bzbody{white-space:pre-wrap;overflow-wrap:anywhere}
.bztr summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer}
.bzsrc{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere;color:var(--ho-info,#1F4FD1);font-size:16px}
.bzacts{margin:12px 0}
.bzhead{display:flex;align-items:flex-start;gap:8px}
.bzhead .vstate{flex:1 1 auto;min-width:0}
.bzdots{position:relative;flex:none}
.bzmenu{top:46px;right:0}
.bzren{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.bzspend{margin:0 0 12px;font-size:17px;font-weight:700}
.bzhelper{margin:0 0 12px}
.bzhh{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.bzhn{margin:0;font-size:20px;line-height:1.3}
.bzheld{opacity:.6}
.bzfoot{margin:8px 0 16px;font-size:16px}
.bzsw{flex-direction:row;align-items:flex-start;gap:12px}
.bzsws{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-width:0}
.bzswi{display:flex;align-items:center;gap:8px}
.bzswi .ft2{flex:1 1 auto;min-width:0}
.bzswi .fd{overflow-wrap:anywhere}
@media (prefers-reduced-motion: reduce){.bz-call{transition:none}.bz-call:active{transform:none}}

/* v109_lock: app lock screen */
.lock-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.lock-overlay {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.lock-card {
  background: #fef8f5;
  border-radius: 28px;
  padding: 32px 24px;
  max-width: 320px;
  width: 100%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.lock-title {
  font-size: 24px;
  font-weight: 700;
  color: #1a1a1a;
  text-align: center;
  margin: 0 0 8px;
}

.lock-subtitle {
  font-size: 14px;
  color: #666;
  text-align: center;
  margin: 0 0 28px;
}

.lock-display {
  background: #f5f1ed;
  border-radius: 16px;
  padding: 20px;
  margin: 0 0 28px;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lock-pin-display {
  font-size: 20px;
  letter-spacing: 8px;
  color: #1a1a1a;
  font-weight: 600;
  text-align: center;
}

.lock-bio{display:block;width:100%;min-height:52px;margin:0 0 16px;border:0;border-radius:9999px;background:var(--acc,#6b3fd1);color:#fff;font:inherit;font-weight:700;font-size:18px}   /* bio_a */
.lock-bio[hidden]{display:none}
.glbig{display:flex;align-items:center;gap:14px;padding:6px 0 10px}   /* glasses_a */
.glbig .fn{font-size:22px;font-weight:800}
.glbig .fic svg{width:34px;height:34px}
.glsel{width:100%;min-height:52px;font-size:18px;margin:8px 0 10px}
.glbtns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.gllist{margin:0;padding:0 0 0 20px;font-size:18px;line-height:1.6}
.gllist li{margin:4px 0}
.glerr{color:var(--warn,#b45309);font-weight:700}
.lock-keypad {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0 0 24px;
}

.lock-key {
  width: 100%;
  aspect-ratio: 1;
  min-height: 56px;
  border: 1px solid #e0d5cc;
  border-radius: 16px;
  background: #fff;
  font-size: 20px;
  font-weight: 600;
  color: #1a1a1a;
  cursor: pointer;
  transition: all 0.15s ease;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.lock-key:active {
  background: #f5f1ed;
  transform: scale(0.96);
}

.lock-key:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.lock-key-empty {
  cursor: default;
  border: none;
  background: transparent;
}

.lock-key-delete {
  font-size: 18px;
}

.lock-message {
  font-size: 13px;
  color: #d32f2f;
  text-align: center;
  min-height: 18px;
  margin: 0 0 8px;
}

.lock-timer {
  font-size: 13px;
  color: #666;
  text-align: center;
}

.lock-shake {
  animation: lock-shake 0.4s ease;
}

@keyframes lock-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-8px); }
  75% { transform: translateX(8px); }
}

@media (max-width: 375px) {
  .lock-card {
    padding: 24px 16px;
  }

  .lock-title {
    font-size: 20px;
  }

  .lock-key {
    min-height: 48px;
    font-size: 18px;
  }
}

/* ================= vNEXT_flow: mic inside the bar, header Read never clipped, Back names its place ================= */
html[data-ui="2"] #nav2 button{min-height:64px}
html[data-ui="2"] #nav2 button.u2biz .u2plus{width:44px;height:44px;margin:0 auto 4px;box-shadow:none}
html[data-ui="2"] #nav2 button.u2biz.on .u2plus{box-shadow:inset 0 0 0 3px var(--ho-good-t)}
html[data-ui="2"] #nav2 button.u2biz .u2plus svg{width:24px;height:24px}
html[data-ui="2"] header{gap:8px;padding-right:max(16px,env(safe-area-inset-right,0px))}
html[data-ui="2"] #u2ttl{flex:1 1 auto;min-width:0}
html[data-ui="2"] #hmread{flex:none;min-width:48px;min-height:48px}
html[data-ui="2"] #hmread svg{width:24px;height:24px;flex:none}
html[data-ui="2"] .fback.fbackl{width:auto;min-width:48px;height:48px;padding:0 16px 0 8px;display:inline-flex;align-items:center;gap:4px;flex:none}
html[data-ui="2"] .fback.fbackl span{font-size:16px;font-weight:700;line-height:1.25;white-space:nowrap}
html[data-ui="2"] .bzswcard{margin:0 0 16px}

/* fix115: Biz running costs block on Money */
.mcosts{padding:2px 2px 4px}.mcsummary{margin:4px 0 10px}.mcline{font-size:16px;line-height:1.5;color:var(--txt);margin:0 0 6px}.mcbreakdown{margin:4px 0 10px}.mcrow{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:16px;min-height:44px;align-items:center}.mcrow:last-child{border-bottom:0}.mcname{color:var(--txt)}.mcval{font-weight:700;color:var(--txt);white-space:nowrap}.mcchart{margin:12px 0 6px}.mchtitle{font-weight:700;font-size:16px;margin:0 0 6px;color:var(--txt)}.mcsvg{width:100%;height:auto;display:block}.mcslabel{fill:var(--txt)}
/* fb2_diary: the week strip and the open day */
.dcwk{display:flex;gap:6px;margin:0 0 10px;padding:2px 0}
.dcpill{flex:1 1 0;min-width:0;min-height:64px;padding:6px 0;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer}
.dcpill small{font-size:12px;font-weight:700;color:var(--dim);letter-spacing:.2px}
.dcpill b{font-size:19px;line-height:1.1}
.dcpill .dcdots{display:flex;gap:3px;height:6px;margin-top:2px}
.dcpill .dcdots i{display:block;width:6px;height:6px;border-radius:50%;background:var(--txt)}
.dcpill[aria-selected="true"]{background:var(--txt);color:var(--on-acc);border-color:transparent}
.dcpill[aria-selected="true"] small{color:inherit;opacity:.85}
.dcpill[aria-selected="true"] .dcdots i{background:currentColor}
.dcfree{font-size:16px;color:var(--dim);margin:0 4px 14px}
.dcjob{font-size:14px;font-weight:800;color:var(--dim);margin-top:2px}
.dcev-job .evt::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--txt);margin:0 8px 2px 0}
/* fb2_money: the Biz card on Money */
.mnbiz{display:flex;align-items:flex-start;gap:14px;padding:16px;margin:0 0 14px;border-radius:16px;background:var(--txt);color:var(--on-acc)}
.mnbiz .mnbizart{width:56px;height:56px;flex:none}
.mnbizt{flex:1;min-width:0}
.mnbizh{margin:0 0 4px;font-size:16px;font-weight:800;letter-spacing:0;text-transform:none;opacity:1}   /* w1_icons: 16px, no capitals */
.mnbizl{margin:0 0 6px;font-size:17px;line-height:1.4;font-weight:600}
.mnbizb{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.mnbiz .sbtn{border-color:rgba(255,255,255,.35);color:inherit;background:rgba(255,255,255,.12)}
.mnbiz .sbtn.on{background:var(--on-acc);color:var(--txt);border-color:transparent}
.mncost{padding:10px 16px}
.mnlist .ni svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* acuse: the one picker */
.aucard{padding:14px 16px}
.aucard .fn{margin:0 0 4px;font-size:17px;font-weight:800}
.aucard .fd{margin:0 0 10px;font-size:16px;color:var(--dim);line-height:1.4}
.aubiz{margin:12px 0 0}
.aubtns{margin-top:12px}

/* w8r1: Pin to Home row, read-aloud offer card, Reset button (self-learning) */
.lrnpin{margin:16px 0 8px}
.lrnpin .sbtn,.lrnoffer .sbtn,.lrnreset{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;font-size:16px;font-weight:700}
.lrnoffer .lrnq{font-weight:700}
.lrnoffer .quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.lrnrst{align-items:center}
html .lrnreset{flex:0 0 auto;min-width:96px;padding:0 14px;color:var(--red)!important;border:1px solid var(--red)!important;background:transparent!important}
html .lrnreset.arm{background:var(--red)!important;color:#fff!important}

/* w8r2: learning toast above the bar; the read-aloud highlight on a plain text line gets room (self-learning) */
html[data-ui="2"] body > div.toast{bottom:calc(85px + env(safe-area-inset-bottom,0px))!important}
p.tts-active{padding-left:12px;padding-right:12px;margin-left:-12px;margin-right:-12px;box-shadow:0 0 0 6px rgba(143,176,255,.2),0 0 0 8px rgba(143,176,255,.45)}
html[data-ui="2"] p.tts-active{box-shadow:0 0 0 6px var(--ho-track),0 0 0 8px var(--ho-hair)!important}

/* w9_qa: Diary day strip. Day words 16px (was 12px) and each day at least 44px wide at 375px (was 43.9). */
.dcwk{gap:3px}
.dcpill{min-width:44px}
.dcpill:first-child{flex-grow:1.25}
.dcpill small{font-size:16px;letter-spacing:-.3px;line-height:1.2}
