/* ==========================================================================
   Steadyhour — Profit & Pricing Engine · Esthetician Edition · product redesign (preview)
   Tokens and components from 12 Product Implementation Pack/design-reference/13a.
   One stylesheet, no framework, fonts self-hosted (fonts/, SIL OFL 1.1).
   ========================================================================== */
@font-face{font-family:"Newsreader";src:url(fonts/newsreader-latin-400.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";src:url(fonts/newsreader-latin-400i.woff2) format("woff2");font-weight:200 800;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-400.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";src:url(fonts/newsreader-symbols.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+2212}
@font-face{font-family:"Newsreader";src:url(fonts/inter-symbols.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+2192}
@font-face{font-family:"Inter";src:url(fonts/inter-symbols.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+2192,U+2212}

:root{
  --ivory:#F6F2EB; --paper:#FFFDF9; --stone:#EAE4D9; --line:#E6DFD3;
  --espresso:#26201C; --muted:#6B5F55; --bronze:#8C6F4E; --taupe:#A89887;
  --sage:#6F8266; --terracotta:#B5563E;
  --sage-tint:#E8EBE3; --terracotta-tint:#F3E4DE; --taupe-tint:#EFE9E1; --stone-tint:#F1ECE4;
  --serif:"Newsreader","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r-seg:6px; --r-ctl:8px; --r-card:14px; --r-hero:16px; --r-pill:999px;
  --gutter:22px; --rail:232px; --content-max:1180px; --tabbar:64px;
  --focus:0 0 0 2px var(--ivory),0 0 0 4px var(--espresso);
}
@media(min-width:900px){:root{--gutter:52px}}
*{box-sizing:border-box}
html{color-scheme:light;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--espresso);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:28px;line-height:1.15}
h2{font-size:22px;line-height:1.2}
h3{font-size:18px;line-height:1.25}
h1 em,h2 em,.serif em{font-style:italic;font-weight:400}
p{margin:0 0 .75em} p:last-child{margin-bottom:0}
a{color:var(--bronze)}
button{font:inherit;color:inherit;cursor:pointer}
input,select{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-ctl)}
.on-dark :focus-visible,.emphasis :focus-visible,.tabs :focus-visible{box-shadow:0 0 0 2px var(--espresso),0 0 0 4px var(--bronze)}
.skip{position:absolute;left:-999px;top:8px;background:var(--espresso);color:var(--ivory);padding:10px 14px;border-radius:var(--r-ctl);z-index:200}
.skip:focus{left:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.eyebrow.muted{color:var(--muted)}
.caption{font-size:13px;color:var(--muted)}
.caption.small{font-size:12px}
.muted{color:var(--muted)}
.taupe{color:var(--taupe)}
.serif{font-family:var(--serif)}
.num{font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em}
.terracotta{color:var(--terracotta)}
.sage{color:var(--sage)}
.label{font-size:15px;font-weight:500}
.body{font-size:14px;line-height:1.5}
.hero-fig{font-family:var(--serif);font-size:44px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums}
.hero-fig small{font-size:.5em;letter-spacing:0;margin-left:2px}
@media(min-width:900px){h1{font-size:36px;line-height:1.1}.hero-fig{font-size:56px}}
.arrow{color:var(--taupe);font-family:var(--sans);margin:0 .35em;font-weight:400}
.strike{text-decoration:line-through;color:var(--taupe);font-family:var(--serif)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--r-ctl);border:1px solid transparent;font-weight:500;font-size:14px;text-decoration:none;line-height:1.2;transition:background .12s,border-color .12s,color .12s}
@media(min-width:900px){.btn{min-height:40px}}
.btn.primary{background:var(--espresso);color:var(--ivory)}
.btn.primary:hover{background:#1c1714}
.btn.secondary{background:transparent;border-color:var(--espresso);color:var(--espresso)}
.btn.secondary:hover{background:rgba(38,32,28,.06)}
.btn.tertiary{background:transparent;color:var(--bronze);padding-inline:8px}
.btn.tertiary:hover{color:#6e5538}
.btn.block{width:100%}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.emphasis .btn.primary{background:var(--ivory);color:var(--espresso)}
.emphasis .btn.primary:hover{background:#fff}
.emphasis .btn.secondary{border-color:var(--taupe);color:var(--ivory)}
.emphasis .btn.secondary:hover{background:rgba(255,255,255,.06)}
.link{background:none;border:0;padding:0;color:var(--bronze);font-weight:500;text-decoration:none;cursor:pointer;font-size:14px}
.link:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- shell ---------- */
.shell{min-height:100dvh}
.rail{display:none}
.mhead{position:sticky;top:0;z-index:20;background:var(--ivory);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px var(--gutter) 10px}
.wordmark{font-family:var(--serif);font-size:22px;letter-spacing:-.01em;line-height:1;color:var(--espresso)}
.wordmark small{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);margin-top:6px;font-weight:500}
.mhead .wordmark small{display:none}
main{padding:8px var(--gutter) calc(var(--tabbar) + env(safe-area-inset-bottom) + 24px);max-width:calc(var(--content-max) + var(--gutter) * 2);margin:0 auto}
main:focus{outline:none}
.screen{display:none;animation:fade .18s ease-out}
.screen.active{display:block}
@keyframes fade{from{opacity:0}to{opacity:1}}
.page-head{margin:8px 0 18px}
.page-head .eyebrow{margin-bottom:8px;display:block}
.page-head .sub{color:var(--muted);margin-top:8px;font-size:14px}
.page-head.row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.foot-line{margin-top:28px;font-size:12px;color:var(--taupe)}
.disclaimer{font-size:12px;color:var(--muted);margin-top:12px}

/* chips + pills */
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper);border-radius:var(--r-pill);padding:6px 12px;font-size:13px;color:var(--espresso);white-space:nowrap}
.chip .dot,.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.chip.demo .dot{background:var(--sage)}
.pill{display:inline-flex;align-items:center;gap:7px;border-radius:var(--r-pill);padding:4px 11px;font-size:12.5px;font-weight:500;white-space:nowrap}
.pill.bad{background:var(--terracotta-tint);color:var(--terracotta)}
.pill.warn{background:var(--terracotta-tint);color:var(--terracotta)}
.pill.ok{background:var(--sage-tint);color:var(--sage)}
.pill.na{background:var(--taupe-tint);color:var(--muted)}
.pill.na .dot{background:var(--taupe)}
.hint-chip{display:inline-block;background:var(--stone);border-radius:var(--r-pill);padding:4px 10px;font-size:12.5px;color:var(--espresso);margin:0 6px 6px 0}

/* cards */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);padding:20px}
.card.hero{border-radius:var(--r-hero);padding:22px 20px}
.card.stone{background:var(--stone-tint);border-color:var(--stone)}
.emphasis{background:var(--espresso);color:var(--ivory);border-radius:var(--r-hero);padding:24px}
.emphasis .eyebrow{color:var(--taupe)}
.emphasis .caption,.emphasis .muted{color:var(--taupe)}
.stat .eyebrow{display:block;margin-bottom:10px}
.stat .hero-fig{margin:0 0 10px}
.stat .caption{font-size:13.5px;line-height:1.45}
.divider{height:1px;background:var(--line);margin:16px 0;border:0}
.grid{display:grid;gap:14px}
@media(min-width:900px){.grid{gap:20px}.card{padding:24px}.card.hero{padding:28px 26px}.emphasis{padding:28px}}

/* segmented control */
.seg{display:inline-flex;background:var(--stone);border-radius:var(--r-seg);padding:3px;gap:2px}
.seg button{border:0;background:transparent;border-radius:5px;padding:7px 14px;font-size:13.5px;color:var(--muted);min-height:34px}
.seg button[aria-checked="true"],.seg button.on{background:var(--paper);color:var(--espresso);box-shadow:0 1px 2px rgba(38,32,28,.08)}
.seg.block{display:flex}.seg.block button{flex:1}
.seg.small button{padding:5px 10px;font-size:12.5px;min-height:28px}

/* switch */
.switch{width:46px;height:26px;border-radius:13px;background:var(--taupe);position:relative;border:0;flex:none;padding:0;transition:background .15s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.switch[aria-checked="true"]{background:var(--sage)}
.switch[aria-checked="true"]::after{transform:translateX(20px)}

/* inputs */
.field{margin:0 0 14px}
.field label,.field .lbl{display:block;font-size:15px;font-weight:500;margin-bottom:4px}
.field .help{font-size:13px;color:var(--muted);margin-bottom:8px}
.field .helper{font-size:12.5px;color:var(--muted);margin-top:6px}
.input{display:flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--paper);border-radius:var(--r-ctl);padding:0 14px;min-height:52px;transition:border-color .12s}
.input:focus-within{border-color:var(--espresso);box-shadow:0 0 0 3px rgba(38,32,28,.06)}
.input input{flex:1;min-width:0;border:0;background:transparent;font-family:var(--serif);font-size:24px;padding:10px 0;outline:none;color:var(--espresso)}
.input input::placeholder{color:var(--taupe)}
.input .pre{font-family:var(--serif);font-size:22px;color:var(--muted)}
.input .post{font-size:13px;color:var(--muted);white-space:nowrap}
.input.compact{min-height:44px}
.input.compact input{font-size:17px;padding:8px 0}
.input.compact .pre{font-size:16px}
input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
details.expander{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
details.expander>summary{list-style:none;cursor:pointer;color:var(--bronze);font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}
details.expander>summary::-webkit-details-marker{display:none}
details.expander>summary::after{content:"";width:9px;height:9px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-right:4px;transition:transform .15s;flex:none}
details.expander[open]>summary::after{transform:rotate(225deg)}
details.expander .exp-body{margin-top:10px;font-size:13.5px;color:var(--muted);line-height:1.55}
.warn{background:var(--terracotta-tint);color:var(--terracotta);border-radius:var(--r-ctl);padding:10px 12px;font-size:13px;margin:10px 0}
.note{background:var(--stone-tint);border-radius:var(--r-ctl);padding:10px 12px;font-size:13px;color:var(--muted)}

/* Bar Track */
.track{position:relative;height:8px;border-radius:4px;background:var(--stone);margin:8px 0 6px}
.track i{position:absolute;left:0;top:0;height:100%;border-radius:4px;background:var(--terracotta)}
.track.ok i{background:var(--sage)}
.track.na i{background:repeating-linear-gradient(90deg,var(--taupe) 0 6px,transparent 6px 10px);opacity:.7}
.track b{position:absolute;top:-5px;width:2px;height:18px;background:var(--espresso);left:86.95%;transform:translateX(-1px)}
.track-lbl{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);position:relative;height:14px}
.track-lbl .v{position:absolute;transform:translateX(-50%);color:var(--terracotta);font-weight:500}
.track.ok + .track-lbl .v{color:var(--sage)}
.track-lbl .bar{position:absolute;left:86.95%;transform:translateX(-50%);white-space:nowrap}

/* meter */
.meter{height:6px;border-radius:3px;background:var(--stone);overflow:hidden;margin:10px 0 6px}
.meter i{display:block;height:100%;border-radius:3px;background:var(--sage)}
.meter i.warn{background:var(--bronze)}
.meter i.bad{background:var(--terracotta)}

/* toast + sheets */
#toast{position:fixed;left:50%;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 16px);transform:translate(-50%,10px);background:var(--espresso);color:var(--ivory);padding:10px 16px;border-radius:var(--r-ctl);font-size:13.5px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:120;max-width:calc(100% - 40px);text-align:center}
#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:900px){#toast{bottom:24px}}
dialog.sheet{border:0;padding:0;background:var(--paper);color:var(--espresso);width:100%;max-width:100%;margin:auto 0 0;border-radius:16px 16px 0 0;box-shadow:0 -12px 40px rgba(38,32,28,.18);max-height:88dvh;overflow:auto}
dialog.sheet::backdrop{background:rgba(38,32,28,.32)}
dialog.sheet .handle{width:40px;height:4px;border-radius:2px;background:var(--stone);margin:10px auto 6px}
dialog.sheet .sheet-body{padding:8px var(--gutter) calc(20px + env(safe-area-inset-bottom))}
dialog.sheet h2{font-size:20px;margin-bottom:6px}
.sheet-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:0 4px;font-size:16px;text-align:left}
.sheet-row:last-of-type{border-bottom:0}
.sheet-row::after{content:"";width:8px;height:8px;border-right:1.6px solid var(--taupe);border-bottom:1.6px solid var(--taupe);transform:rotate(-45deg)}
.sheet-foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:12px}
.sheet-foot .row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}
.sheet-foot .danger{display:flex;gap:16px;flex-wrap:wrap}
@media(min-width:600px){dialog.sheet{max-width:560px;margin:auto;border-radius:16px}}
@media(prefers-reduced-motion:no-preference){dialog.sheet[open]{animation:sheet .2s ease-out}@keyframes sheet{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}}
.presets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.presets .chip{cursor:pointer;min-height:40px}
.presets .chip:hover{background:var(--stone)}

/* mobile tab bar */
.tabs{position:fixed;left:0;right:0;bottom:0;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:30}
.tabs button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--taupe);font-size:11px;font-weight:500;padding:6px 0;min-height:44px}
.tabs button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tabs button[aria-current="page"]{color:var(--espresso)}
.tabs button:focus-visible{border-radius:8px}
body.setup-full .tabs{display:none}
body.setup-full main{padding-bottom:24px}
body.setup-full .mhead{display:none}

/* ---------- desktop rail ---------- */
@media(min-width:900px){
  .shell{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:100dvh}
  .rail{display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;background:var(--ivory);border-right:1px solid var(--line);padding:32px 18px 22px}
  .rail .wordmark{font-size:24px;margin:0 0 30px 12px}
  .rail .wordmark small{display:block}
  .rail .items{display:grid;gap:2px}
  .rail .items .eyebrow{margin:22px 12px 8px;color:var(--muted)}
  .rail .items button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:9px 12px;font-size:15px;color:var(--espresso);min-height:40px}
  .rail .items button:hover{background:rgba(234,228,217,.55)}
  .rail .items button[aria-current="page"]{background:var(--stone);font-weight:500}
  .rail .foot{margin-top:auto;display:grid;gap:12px;padding-inline:4px}
  .rail .foot .chip.demo{justify-self:start;background:var(--paper)}
  .rail .foot .cur{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
  .rail .foot .saved{font-size:12px;color:var(--taupe);line-height:1.4;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
  .mhead,.tabs{display:none}
  main{padding:44px var(--gutter) 60px;max-width:none}
  main>.inner{max-width:var(--content-max);margin:0 auto}
  body.setup-full main{padding:44px var(--gutter) 60px}
  body.setup-full .tabs{display:none}
}
.rail .foot .more{border:0;background:transparent;color:var(--taupe);font-size:18px;line-height:1;padding:0 4px;border-radius:6px;min-width:28px}
.rail .foot .more:hover{color:var(--espresso)}
.menu{position:absolute;bottom:34px;right:12px;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(38,32,28,.14);padding:6px;display:grid;min-width:180px;z-index:40}
.menu button{border:0;background:transparent;text-align:left;padding:9px 12px;border-radius:6px;font-size:14px}
.menu button:hover{background:var(--stone-tint)}
.rail .foot{position:relative}

/* ---------- HOME ---------- */
.snapshot{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gutter) * -1);padding:4px var(--gutter) 8px;scroll-padding-inline:var(--gutter);overscroll-behavior-x:contain;scrollbar-width:none;list-style:none}
.snapshot::-webkit-scrollbar{display:none}
.snapshot>li{flex:0 0 min(62vw,300px);scroll-snap-align:start;min-width:0}
.snapshot>li:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-hero)}
@media(min-width:600px){.snapshot>li{flex-basis:min(44vw,320px)}}
.dots{display:flex;justify-content:center;gap:6px;margin:2px 0 18px}
.dots i{width:14px;height:4px;border-radius:2px;background:var(--stone)}
.dots i.on{background:var(--espresso)}
.home-band{display:grid;gap:14px}
.opps .rowx{display:grid;grid-template-columns:1fr auto;gap:8px 14px;padding:14px 0;border-top:1px solid var(--line);align-items:start}
.opps .rowx:first-of-type{border-top:0;padding-top:4px}
.opps .rowx .prices{text-align:right;white-space:nowrap}
.opps .rowx .prices .sug{font-family:var(--serif);font-size:22px}
.opps .rowx .prices .cap{display:block;font-size:11.5px;color:var(--bronze)}
.opps .rowx .track-wrap{grid-column:1/-1}
.opps .head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.opps .head p{color:var(--muted);font-size:13.5px}
.opps .name{font-size:15px;font-weight:500}
.opps .meta{font-size:13px;color:var(--muted)}
.opps .meta.terra{color:var(--terracotta)}
.prio .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.prio h2{font-size:24px;line-height:1.2;margin:8px 0 10px}
.prio p{color:var(--taupe)}
.link-card{display:flex;align-items:center;justify-content:space-between;gap:12px}
.link-card .t{font-size:15px;font-weight:500}
.link-card .c{font-size:13px;color:var(--muted)}
.what-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px;color:var(--muted)}
.what-list li::before{content:"·";margin-right:8px;color:var(--bronze)}
.empty-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
@media(min-width:900px){
  .snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;overflow:visible;margin:0;padding:0;scroll-snap-type:none}
  .snapshot>li{flex:none}
  .dots{display:none}
  .home-band{grid-template-columns:3fr 2fr;gap:20px;align-items:start}
  .home-band .right{display:grid;gap:16px}
  .prio h2{font-size:28px}
  .opps .rowx .prices .sug{font-size:24px}
}
@media(min-width:600px) and (max-width:899px){.home-band{grid-template-columns:1fr}}

/* ---------- SETUP ---------- */
.setup-grid{display:grid;gap:20px}
.setup-steps{list-style:none;padding:0;margin:0;display:none;gap:0}
.setup-steps li{position:relative;padding:0 0 22px 34px;font-size:14px}
.setup-steps li::before{content:"";position:absolute;left:8px;top:22px;bottom:-2px;width:1px;background:var(--line)}
.setup-steps li:last-child::before{display:none}
.setup-steps li .m{position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper)}
.setup-steps li.done .m{background:var(--sage);border-color:var(--sage)}
.setup-steps li.done .m::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border-right:1.6px solid #fff;border-bottom:1.6px solid #fff;transform:rotate(45deg)}
.setup-steps li.now .m{background:var(--espresso);border-color:var(--espresso)}
.setup-steps li .t{font-weight:500;color:var(--muted)}
.setup-steps li.now .t,.setup-steps li.done .t{color:var(--espresso)}
.setup-steps li .v{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.setup-steps li button{background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.setup-q h1{margin:6px 0 12px}
.setup-q .lead{color:var(--muted);font-size:15px;line-height:1.5;margin-bottom:18px}
.setup-q .card{margin-bottom:18px}
.setup-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.setup-nav .btn.primary{flex:1}
@media(min-width:900px){.setup-nav .btn.primary{flex:none;min-width:240px}}
.builds .rows{display:grid;margin:14px 0}
.builds .rows div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px}
.builds .rows div:first-child{border-top:0}
.builds .rows .v{font-family:var(--serif);font-size:15px}
.builds .rows .v.after{font-family:var(--sans);font-size:12.5px;color:var(--taupe)}
.builds .bar-tile{border:1.5px dashed var(--line);border-radius:12px;padding:14px 16px;background:var(--paper)}
.builds .bar-tile.live{border-style:solid;border-color:var(--sage)}
.builds .bar-tile .hero-fig{font-size:30px;margin:6px 0 4px}
.builds .bar-tile .hero-fig small{font-size:14px}
.builds .bar-tile .caption{font-size:12.5px}
.builds .intro{font-family:var(--serif);font-size:17px;line-height:1.35;margin:8px 0 0}
.mprog{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0 18px}
.mprog i{height:3px;border-radius:2px;background:var(--stone)}
.mprog i.on{background:var(--espresso)}
.setup-head{display:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}
.setup-head .title{font-weight:500;font-size:15px}
body.setup-full .setup-head{display:flex}
.setup-sticky{position:sticky;bottom:env(safe-area-inset-bottom);background:var(--ivory);padding:12px 0 8px;margin-top:8px}
.setup-sticky .saved{text-align:center;font-size:12px;color:var(--taupe);margin-top:8px}
.builds-line{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--stone-tint);border-radius:10px;padding:10px 12px;font-size:13px;margin:12px 0 0;border:0;width:100%;text-align:left}
.builds-line b{font-family:var(--serif);font-weight:400;font-size:16px}
@media(min-width:900px){
  .setup-grid{grid-template-columns:200px minmax(0,1fr) 300px;gap:40px;align-items:start}
  .setup-steps{display:grid}
  .mprog,.setup-sticky .saved,.builds-line,.setup-head{display:none}
  .setup-sticky{position:static;background:transparent;padding:0}
}
@media(min-width:900px) and (max-width:1099px){.setup-grid{grid-template-columns:180px minmax(0,1fr);}.setup-grid .builds{grid-column:1/-1}}
@media(max-width:899px){.builds.card{display:none}.builds.card.open{display:block}}

/* ---------- SERVICES ---------- */
.svc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.svc-head .summary{color:var(--muted);font-size:14px;margin-top:6px}
.svc-head .summary b{font-weight:500;color:var(--espresso)}
.svc-head .summary .terra{color:var(--terracotta)}
.svc-head .summary .sagec{color:var(--sage)}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:0 0 16px}
.legend i{display:inline-block;width:18px;height:5px;border-radius:3px;vertical-align:middle;margin-right:6px;background:var(--terracotta)}
.legend i.sg{background:var(--sage)}
.legend i.mk{width:2px;height:12px;background:var(--espresso);border-radius:0}
.fab{position:fixed;right:var(--gutter);top:14px;width:44px;height:44px;border-radius:50%;border:0;background:var(--espresso);color:var(--ivory);font-size:26px;line-height:1;z-index:25;display:grid;place-items:center}
@media(min-width:900px){.fab{display:none}.legend{display:flex}}
@media(max-width:899px){.legend{display:none}}
.units{display:grid;gap:12px}
.unit{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-hero);overflow:hidden}
.unit .head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:16px 18px;width:100%;border:0;background:transparent;text-align:left}
.unit .head .nm{font-size:16px;font-weight:500}
.unit .head .meta{font-size:12.5px;color:var(--muted);grid-column:1}
.unit .head .right{display:flex;align-items:center;gap:10px;grid-row:1/3}
.unit .head .ch{text-align:right}
.unit .head .ch .v{font-family:var(--serif);font-size:22px;line-height:1}
.unit .head .ch .k{font-size:11px;color:var(--muted)}
.unit .head .chev{width:10px;height:10px;border-right:1.6px solid var(--taupe);border-bottom:1.6px solid var(--taupe);transform:rotate(45deg);margin:0 6px 4px}
.unit[aria-expanded="true"] .head .chev{transform:rotate(225deg);margin-bottom:-4px}
.unit .head .track-wrap{grid-column:1/-1}
.unit .body{display:none;padding:4px 18px 18px}
.unit[aria-expanded="true"] .body{display:block}
.unit .cols{display:grid;gap:18px}
.unit .cols .col{padding:0}
.unit .kv{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:12px}
.unit .kv .k{font-size:12.5px;color:var(--muted)}
.unit .kv .v{font-family:var(--serif);font-size:20px}
.unit .kv .v small{font-family:var(--sans);font-size:12px;color:var(--muted);margin-left:4px}
.unit .two{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.unit .two .hero-fig{font-size:40px}
.unit .two .barv{font-family:var(--serif);font-size:26px;text-align:right}
.unit .sentence{font-size:14px;margin-top:10px}
.unit .sentence b{font-weight:600}
.unit .sug .hero-fig{font-size:34px;margin:6px 0}
.unit .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.unit .why{border-top:1px solid var(--line);margin:0 -18px;padding:0 18px}
.unit .why>summary{padding:12px 0;justify-content:center;text-align:center}
.unit.editing .edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:8px}
.unit .edit-grid .field{margin:0}
.unit .edit-grid .full{grid-column:1/-1}
.unit .edit-actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px;align-items:center}
.unit .name-inp{font-family:var(--sans);font-size:16px;font-weight:500}
@media(min-width:900px){
  .unit .head{padding:18px 22px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center}
  .unit .head .track-wrap{grid-column:2;grid-row:1/3;margin:0 8px}
  .unit .body{padding:6px 22px 22px}
  .unit .cols{grid-template-columns:1fr 1.15fr 1fr;gap:0}
  .unit .cols .col{padding:0 26px}
  .unit .cols .col:first-child{padding-left:0}
  .unit .cols .col:last-child{padding-right:0}
  .unit .cols .col + .col{border-left:1px solid var(--line)}
  .unit .two .hero-fig{font-size:48px}
  .unit .sug .hero-fig{font-size:44px}
  .unit .actions{grid-template-columns:1fr}
  .unit .why>summary{justify-content:flex-start;text-align:left}
}

/* ---------- MY NUMBERS ---------- */
.num-head{display:flex;flex-direction:column;gap:14px}
.num-head .seg{align-self:stretch}
@media(min-width:900px){.num-head{flex-direction:row;align-items:flex-end;justify-content:space-between}.num-head .seg{align-self:auto}}
.num-heroes{display:grid;gap:12px;margin:18px 0 14px}
.num-heroes .gap .inset{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.num-heroes .gap .inset .k{font-size:13px;color:var(--muted)}
.num-heroes .gap .inset .v{font-family:var(--serif);font-size:24px}
.num-heroes .halves{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.num-heroes .halves .card{padding:16px}
.num-heroes .halves .hero-fig{font-size:36px}
.num-lower{display:grid;gap:14px}
.cmp table{width:100%;border-collapse:collapse;margin-top:12px}
.cmp th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--muted);text-align:right;padding:6px 0 8px}
.cmp th:first-child{text-align:left}
.cmp td{padding:12px 0;border-top:1px solid var(--line);font-size:14px;vertical-align:middle}
.cmp td.n{text-align:right;font-family:var(--serif);font-size:20px;white-space:nowrap}
.cmp td.n.today{color:var(--muted)}
.cmp td.n.mod{color:var(--sage)}
.cmp td.n.mod.worse{color:var(--terracotta)}
.cmp td.arr{text-align:center;color:var(--taupe);width:28px}
.cmp td.d{text-align:right;font-size:12.5px;color:var(--muted);white-space:nowrap}
.cmp td.d.good{color:var(--sage)}.cmp td.d.badc{color:var(--terracotta)}
.cmp .foot{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.cmp .foot .caption{max-width:280px}
.cmp .tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);font-weight:500}
.cmp .head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.calc{background:var(--stone-tint);border:1px solid var(--stone);border-radius:var(--r-card)}
.calc>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;font-family:var(--serif);font-size:20px}
.calc>summary::-webkit-details-marker{display:none}
.calc>summary::after{content:"";width:9px;height:9px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:rotate(45deg);transition:transform .15s}
.calc[open]>summary::after{transform:rotate(225deg)}
.calc .rows{padding:0 22px 18px;display:grid}
.calc .rows div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid var(--stone);font-size:13.5px}
.calc .rows div.total{font-size:15px}
.calc .rows div.total .v{font-size:22px}
.calc .rows div.gapline{border-top:1px solid var(--line)}
.calc .rows .v{font-family:var(--serif);font-size:15px;white-space:nowrap;text-align:right}
.calc .rows .k small{color:var(--muted);font-size:12.5px}
.calc .fn{padding:0 22px 18px;font-size:12px;color:var(--muted)}
.calc details.expander{margin:0 22px 14px}
.wf{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:13.5px}
.wf .v{font-family:var(--serif);text-align:right}
.wf .tot{font-weight:500;border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.bw{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bw .n{font-weight:500;font-size:15px;margin:6px 0 2px}
.bw .v{font-size:13px;color:var(--muted)}
@media(min-width:900px){
  .num-heroes{grid-template-columns:1.6fr 1fr 1fr;gap:20px}
  .num-heroes .halves{display:contents}
  .num-heroes .halves .card{padding:28px 26px}
  .num-heroes .halves .hero-fig{font-size:56px}
  .num-heroes .avail{display:none}
  .num-lower{grid-template-columns:1fr 1fr;gap:20px;align-items:start}
  .cmp td.n{font-size:22px}
}
@media(max-width:899px){.num-heroes .gap .inset{display:none}}

/* ---------- SCENARIO ---------- */
.scn-grid{display:grid;gap:14px}
.scn-controls{display:grid;gap:14px}
.tog-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--espresso);color:var(--ivory);border-radius:12px;padding:14px 16px}
.tog-row .t{font-size:15px;font-weight:500}
.tog-row .c{font-size:12.5px;color:var(--taupe);margin-top:2px}
.or{display:flex;align-items:center;gap:12px;color:var(--taupe);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin:16px 0 12px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.pctrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;font-weight:500}
.pctrow .v{font-family:var(--serif);font-size:18px;color:var(--muted)}
.snaps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 10px}
.snaps button,.snaps .custom{border:1px solid var(--line);background:var(--paper);border-radius:var(--r-ctl);min-height:44px;font-size:14px;color:var(--espresso)}
.snaps button.on{background:var(--stone);border-color:var(--stone);font-weight:500}
.snaps .custom{display:flex;align-items:center;justify-content:center;gap:4px;padding:0 8px}
.snaps .custom input{width:44px;border:0;background:transparent;text-align:right;font-size:14px;outline:none}
.snaps .custom input:focus{outline:none}
.snaps.dim button,.snaps.dim .custom{opacity:.5}
.hint{font-size:12.5px;color:var(--terracotta);margin-top:6px}
.hint.ok{color:var(--muted)}
.vol{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vol .t{font-size:15px;font-weight:500}
.vol .c{font-size:12.5px;color:var(--muted)}
.stepper{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-ctl);overflow:hidden;background:var(--paper)}
.stepper button{width:44px;height:44px;border:0;background:transparent;font-size:20px;color:var(--espresso)}
.stepper button:hover{background:var(--stone-tint)}
.stepper .v{width:64px;display:grid;place-items:center;font-family:var(--serif);font-size:20px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.range{margin:14px 0 0}
.range input{width:100%;accent-color:var(--espresso)}
.range .lbls{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted)}
.impact .head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.impact .head .cols{display:none;gap:18px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}
.impact .irow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:14px 0;border-top:1px solid var(--line);align-items:center}
.impact .irow:first-of-type{border-top:0}
.impact .irow .k{font-size:15px;font-weight:500}
.impact .irow .sub{font-size:12.5px;color:var(--muted);grid-column:1}
.impact .irow .today-cap{font-size:12.5px;color:var(--muted);grid-column:1}
.impact .irow .vals{grid-row:1/4;display:flex;align-items:center;gap:10px;justify-content:flex-end;white-space:nowrap}
.impact .irow .vals .t{font-family:var(--serif);font-size:22px;color:var(--muted);display:none}
.impact .irow .vals .arr{display:none}
.impact .irow .vals .m{font-family:var(--serif);font-size:30px;color:var(--sage)}
.impact .irow .vals .m.worse{color:var(--terracotta)}
.impact .irow .vals .m.same{color:var(--espresso)}
.impact .irow .meter{grid-column:1;max-width:120px;margin:4px 0 0}
.impact .foot{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.impact .foot .caption{font-size:12.5px}
.scn-caption{text-align:center;font-size:12px;color:var(--muted);margin:6px 0 10px}
.scn-prices .rowp{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:14px}
.scn-prices .rowp:first-of-type{border-top:0}
.scn-prices .rowp .v{font-family:var(--serif);font-size:16px;white-space:nowrap}
.scn-prices .rowp.hl{background:var(--sage-tint);margin:0 -10px;padding-inline:10px;border-radius:8px}
.mobile-sheet{position:sticky;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom));background:var(--paper);border-radius:16px 16px 0 0;box-shadow:0 -12px 30px rgba(38,32,28,.14);padding:4px var(--gutter) 14px;margin:14px calc(var(--gutter) * -1) 0;z-index:15}
.mobile-sheet .handle{width:40px;height:4px;border-radius:2px;background:var(--stone);margin:8px auto 10px}
.mobile-sheet .tog-row .c,.mobile-sheet .range{display:none}
.mobile-sheet .or{display:none}
.mobile-sheet .snaps{margin:10px 0}
.mobile-sheet .pctrow{display:none}
.mobile-sheet .hint{display:none}
@media(min-width:600px){.mobile-sheet{position:static;box-shadow:none;border:1px solid var(--line);border-radius:var(--r-card);margin:0;padding:20px}.mobile-sheet .handle{display:none}.mobile-sheet .range,.mobile-sheet .tog-row .c,.mobile-sheet .or,.mobile-sheet .pctrow,.mobile-sheet .hint{display:block}.mobile-sheet .tog-row{display:flex}}
@media(min-width:900px){
  .scn-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px;align-items:start}
  .scn-grid .impact{grid-column:2;grid-row:1/3}
  .scn-grid .scn-prices{grid-column:1}
  .impact .head .cols{display:flex}
  .impact .irow .vals .t,.impact .irow .vals .arr{display:inline}
  .impact .irow .vals .t{font-size:26px}
  .impact .irow .vals .m{font-size:34px}
  .impact .irow .today-cap{display:none}
  .impact .foot{grid-template-columns:1fr auto;align-items:center}
  .scn-caption{display:none}
}
@keyframes pulse{0%{background:var(--sage-tint)}100%{background:transparent}}
.pulse{animation:pulse 1.2s ease-out}

/* ---------- INSIGHTS ---------- */
.leaks{display:grid;gap:14px}
.leak{border-top:3px solid var(--stone);position:relative}
.leak.sev-bad{border-top-color:var(--terracotta)}
.leak.sev-info{border-top-color:var(--taupe)}
.leak h2{font-size:22px;margin:10px 0 10px;line-height:1.25}
.leak p{color:var(--muted);font-size:13.5px}
.leak .link{display:inline-block;margin-top:12px}
.positive{background:var(--sage-tint);border-radius:var(--r-card);padding:18px 20px;display:grid;gap:8px;margin:14px 0}
.positive .t{font-family:var(--serif);font-size:18px}
.positive .c{font-size:13.5px;color:var(--muted)}
.moves{display:grid;gap:18px}
.moves h2{font-size:26px;line-height:1.2;margin:8px 0 10px}
.moves ol{list-style:none;padding:0;margin:0;display:grid}
.moves li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;padding:14px 0;border-top:1px solid rgba(255,255,255,.12);align-items:center}
.moves li:first-child{border-top:0}
.moves li .n{font-family:var(--serif);font-size:24px;color:var(--taupe);grid-row:1/3}
.moves li .t{font-size:15px;font-weight:500}
.moves li .c{font-size:12.5px;color:var(--taupe)}
.moves li .btn{grid-column:2;justify-self:start;margin-top:6px}
.moves .foot{font-size:13px;color:var(--taupe);text-align:right;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}
.moves .foot .link{color:var(--ivory)}
@media(min-width:600px){.leaks{grid-template-columns:1fr 1fr}.leak:nth-child(3):last-child{grid-column:1/-1}}
@media(min-width:900px){
  .leaks{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .leak:nth-child(3):last-child{grid-column:auto}
  .positive{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin:20px 0}
  .moves{grid-template-columns:1fr 1.6fr;gap:40px}
  .moves li{grid-template-columns:auto minmax(0,1fr) auto}
  .moves li .btn{grid-column:3;grid-row:1/3;margin:0}
}

/* ---------- RESOURCES ---------- */
.tiles{display:grid;gap:14px}
.tile{display:grid;grid-template-columns:72px minmax(0,1fr);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.tile .panel{display:grid;place-items:end start;padding:14px;font-family:var(--serif);font-size:30px;color:var(--bronze)}
.tile .panel.stone{background:var(--stone)}
.tile .panel.espresso{background:var(--espresso);color:var(--ivory);place-items:center}
.tile .panel.blush{background:var(--terracotta-tint);color:var(--terracotta)}
.tile .panel.sage{background:var(--sage-tint);color:var(--sage)}
.tile .panel .play{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--taupe);display:grid;place-items:center}
.tile .panel .play::after{content:"";border-left:10px solid var(--ivory);border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}
.tile .tb{padding:18px 20px;display:grid;gap:8px;align-content:start}
.tile h2{font-size:22px}
.tile p{color:var(--muted);font-size:13.5px}
.tile .btn{justify-self:start;margin-top:4px;max-width:100%;white-space:normal;text-align:left;font-size:13px}
@media(min-width:600px){.tiles{grid-template-columns:1fr 1fr;gap:20px}.tile{grid-template-columns:180px minmax(0,1fr)}.tile .panel{padding:22px;font-size:44px}.tile .tb{padding:26px 28px}}

/* ---------- misc ---------- */
.empty{padding:8px 0}
.empty h1{margin-bottom:10px}
.empty p{color:var(--muted);font-size:15px;max-width:52ch}
.notice{background:var(--stone-tint);border-radius:10px;padding:10px 12px;font-size:12.5px;color:var(--muted);margin:0 0 14px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html{scroll-behavior:auto}}
@media print{.rail,.tabs,.mhead,.fab,#toast{display:none!important}main{padding:0}}

/* ---------- late additions ---------- */
@media(max-width:899px){.home-band .right{display:contents}.home-band .prio{order:1}.home-band .opps{order:2}.home-band .link-card{order:3}}
.snaps{grid-template-columns:repeat(4,1fr)}
@media(max-width:599px){.snaps{grid-template-columns:repeat(4,1fr);gap:6px}.snaps button,.snaps .custom{font-size:13px;padding:0 4px}}
/* unit head placement (explicit grid areas) */
.unit .head .nm{grid-column:1;grid-row:1}
.unit .head .meta{grid-column:1;grid-row:2}
.unit .head .right{grid-column:2;grid-row:1/3;justify-self:end}
.unit .head .track-wrap{grid-column:1/-1;grid-row:3}
.unit[aria-expanded="true"] .head .ch,.unit[aria-expanded="true"] .head .pill{display:none}
@media(min-width:900px){.unit .head .track-wrap{grid-column:2;grid-row:1/3;margin:0 8px}.unit .head .right{grid-column:3}.unit[aria-expanded="true"] .head .track-wrap{display:none}}

/* comparison table row headers + spacing */
.cmp tbody th{text-transform:none;letter-spacing:0;font-size:14px;color:var(--espresso);font-weight:400;text-align:left;padding:12px 0;border-top:1px solid var(--line)}
.cmp th:not(:first-child),.cmp td.n,.cmp td.d{padding-left:14px}
/* impact rows explicit placement */
.impact .irow{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto auto}
.impact .irow .k{grid-column:1;grid-row:1}
.impact .irow .today-cap{grid-column:1;grid-row:2}
.impact .irow .sub{grid-column:1;grid-row:3}
.impact .irow .meter{grid-column:1;grid-row:4}
.impact .irow .vals{grid-column:2;grid-row:1/5}
@media(min-width:600px){.mobile-sheet .pctrow{display:flex}.mobile-sheet .eyebrow{display:block!important;margin-bottom:10px}}
.snaps .custom input{width:58px}
@media(min-width:900px){body.setup-full .setup-head{display:none}}
/* ---------- G3 contrast: ink variants for SMALL text only (13a tokens stay on figures, fills, tints and large type) ---------- */
:root{--bronze-ink:#7A5F40;--sage-ink:#55664E;--terracotta-ink:#9A4530;--taupe-on-dark:#C9BBAB}
.eyebrow,.link,.btn.tertiary,a{color:var(--bronze-ink)}
.emphasis .eyebrow,.emphasis .caption,.emphasis .muted,.prio p,.moves li .c,.moves .foot,.moves li .n{color:var(--taupe-on-dark)}
.pill.ok{color:var(--sage-ink)}.pill.bad,.pill.warn{color:var(--terracotta-ink)}
.svc-head .summary .sagec,.opps .meta.terra,.track-lbl .v,.hint{color:var(--terracotta-ink)}
.svc-head .summary .sagec{color:var(--sage-ink)}
.track.ok + .track-lbl .v{color:var(--sage-ink)}
.opps .rowx .prices .cap,.cmp .tag,.wordmark small,.mhead .wordmark small{color:var(--bronze-ink)}
.svc-head .summary .terra{color:var(--terracotta-ink)}
/* G3/Lighthouse: essential small text never taupe */
.tabs button{color:var(--muted)}
.foot-line,.rail .foot .saved,.setup-sticky .saved{color:var(--muted)}
