*{box-sizing:border-box;margin:0;padding:0}
:root{--ink:232,236,243;--side:#0b0d11;--bg:#0f1116;--card:#161a21;--raise:#1d222b;--pop:#1a1f28;--inpbg:#0f1217;--line:rgba(var(--ink),.09);--line2:rgba(var(--ink),.15);--hov:rgba(var(--ink),.06);
--tx:#e8ecf3;--tx2:#a4abb8;--tx3:#7c8493;--acc:#5b8cff;--accbg:rgba(91,140,255,.13);--accink:#fff;--pri:#3b6ef5;--prih:#2f60e0;
--ok:#3fc380;--okfill:#1f9d55;--okfillh:#1a8a4a;--bad:#f0565d;--badfill:#d9363e;--badfillh:#c22d35;--warn:#e3a640;--spend:#6f7684;
--shadow:0 16px 40px rgba(0,0,0,.55);--scrim:rgba(6,8,11,.65);
--f:"Geist",system-ui,sans-serif;--m:"Geist Mono",ui-monospace,monospace;
/* type scale: title 24/30, card title 15/20, body 14/20, small 12/16, stat 32/38 */
--t-title:500 24px/30px var(--f);--t-card:600 15px/20px var(--f);--t-body:400 14px/20px var(--f);--t-small:400 12px/16px var(--f);--t-stat:600 32px/38px var(--f);
/* one easing curve and one duration for motion that answers a click */
--ease:cubic-bezier(.2,.8,.2,1);--dur:160ms;--press:120ms}
:root[data-theme=light]{--ink:21,24,30;--side:#f3f4f7;--bg:#f7f8fa;--card:#fff;--raise:#eef0f4;--pop:#fff;--inpbg:#fff;--line:rgba(var(--ink),.09);--line2:rgba(var(--ink),.16);--hov:rgba(var(--ink),.05);
--tx:#15181e;--tx2:#4f5666;--tx3:#6f7786;--acc:#2f62e8;--accbg:rgba(47,98,232,.1);--accink:#fff;--pri:#2f62e8;--prih:#2653cc;
--ok:#178a4e;--okfill:#1f9d55;--okfillh:#18854a;--bad:#d12f36;--badfill:#d9363e;--badfillh:#c22d35;--warn:#a56a0d;--spend:#a4aab6;
--shadow:0 12px 32px rgba(21,24,30,.14);--scrim:rgba(21,24,30,.4)}
[hidden]{display:none!important}
html,body{min-height:100%}
body{background:var(--bg);color:var(--tx);font:var(--t-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;display:flex;min-height:100vh}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:left}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px}
a:focus-visible,summary:focus-visible{outline-offset:3px}
nav a:focus-visible,.pop .r:focus-visible,.sw:focus-visible,.seg a:focus-visible,.seg button:focus-visible,.days a:focus-visible,a.tk:focus-visible,.sug a:focus-visible,.sug button:focus-visible{outline-offset:-2px;border-radius:8px}
::selection{background:var(--accbg)}
.num{font-variant-numeric:tabular-nums}
aside{width:256px;flex:none;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:12px;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:6}
.sw{display:flex;align-items:center;gap:12px;padding:8px;border-radius:10px;border:1px solid var(--line);background:var(--card);width:100%}
.sw:hover{border-color:var(--line2);background:var(--raise)}
.tile{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font:600 14px var(--f);color:#141415;flex:none;background:#ededed}
.tile.a{background:var(--pri);color:var(--accink)}
.tile.sm{width:24px;height:24px;border-radius:6px;font-size:12px}
.sw b{font-weight:500;display:block;line-height:18px}.sw small{color:var(--tx3);font-size:12px;line-height:16px;display:block}
.chev{margin-left:auto;color:var(--tx3);font:var(--t-small)}
.pop{animation:reveal var(--dur) var(--ease);position:absolute;left:12px;top:68px;width:232px;background:var(--pop);border:1px solid var(--line2);border-radius:12px;padding:8px;z-index:8;box-shadow:var(--shadow)}
.pop.up{top:auto;bottom:68px}
.pop h6{font:500 11px/16px var(--f);color:var(--tx3);padding:8px 8px 4px;letter-spacing:.02em}
.pop .r{display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;text-decoration:none;width:100%}
.pop .r:hover{background:var(--hov)}.pop .r.on{background:var(--accbg);color:var(--tx)}
.pop .r b{font-weight:500;display:block}.pop .r small{display:block;color:var(--tx3);font-size:12px;line-height:16px}
.pop .r .k{white-space:nowrap;margin-left:auto;font:var(--t-small);color:var(--tx2);text-align:right}
.pop hr{border:0;border-top:1px solid var(--line);margin:8px 0}
nav{margin-top:20px;display:flex;flex-direction:column;gap:2px}
nav h6{font:500 11px/16px var(--f);color:var(--tx3);padding:0 10px;margin:20px 0 6px;letter-spacing:.04em}nav h6:first-child{margin-top:4px}
nav a{height:34px;display:flex;align-items:center;padding:0 10px;border-radius:8px;color:var(--tx2);text-decoration:none;flex:none;position:relative;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
nav a:hover{color:var(--tx);background:var(--hov)}
nav a.on{background:var(--accbg);color:var(--tx);font-weight:500}
nav a.on:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:var(--acc)}
nav a i{margin-left:auto;font:500 11px/18px var(--f);color:var(--tx2);font-style:normal;background:rgba(var(--ink),.08);border-radius:999px;padding:0 7px;min-width:22px;text-align:center;font-variant-numeric:tabular-nums}
nav a[href$="/decisions"] i,nav a[href$="/today"] i,nav a[href$="/inbox"] i,nav a[href$="/tasks"] i{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}
nav a.on i{background:var(--accbg);color:var(--acc)}
.me{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px 8px 8px;border-top:1px solid var(--line);width:100%;flex:none}
.av{width:28px;height:28px;border-radius:50%;background:var(--accbg);border:1px solid var(--line2);display:grid;place-items:center;font:500 11px var(--f);color:var(--tx);flex:none}
.av.sm{width:22px;height:22px;font-size:10px}
.me small{display:block;color:var(--tx3);font-size:12px;line-height:14px}
main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}
.top{height:60px;flex:none;display:flex;align-items:center;gap:12px;padding:0 32px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:4}
.crumb{color:var(--tx3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb b{color:var(--tx);font-weight:500}
.sp{margin-left:auto}
.seg{display:flex;border:1px solid var(--line2);border-radius:8px;overflow:hidden;background:var(--card)}
.seg a,.seg span,.seg button{padding:6px 12px;font-size:13px;color:var(--tx2);text-decoration:none;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.seg a:hover,.seg button:hover{color:var(--tx);background:var(--hov)}.seg .on,.seg a.on:hover{background:var(--accbg);color:var(--acc);font-weight:500}
.btn{height:32px;padding:0 14px;border-radius:8px;border:1px solid var(--line2);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:500;color:var(--tx);text-decoration:none;white-space:nowrap;cursor:pointer;background:var(--raise);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--press) var(--ease)}
.btn:active:not(:disabled),.sug a:active,.sug button:active,.days a:active,.seg a:active,.seg button:active{transform:scale(.98)}
.btn:hover{background:color-mix(in srgb,var(--raise) 70%,rgb(var(--ink)) 8%);border-color:color-mix(in srgb,var(--line2) 60%,rgb(var(--ink)) 12%)}
.btn:focus-visible{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}
.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none}
.btn.pri{background:var(--pri);color:var(--accink);border-color:transparent}.btn.pri:hover{background:var(--prih)}
.btn.ok{background:var(--okfill);color:#fff;border-color:transparent}.btn.ok:hover{background:var(--okfillh)}.btn.ok:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--okfill) 30%,transparent);border-color:transparent}
.btn.dn{color:var(--bad);background:color-mix(in srgb,var(--bad) 9%,transparent);border-color:color-mix(in srgb,var(--bad) 28%,transparent)}
.btn.dn:hover{background:var(--badfill);color:#fff;border-color:var(--badfill)}.btn.dn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 25%,transparent);border-color:var(--bad)}
.btn.ghost{background:none;border-color:transparent;color:var(--tx2);font-weight:400}.btn.ghost:hover{background:var(--hov);color:var(--tx)}
.btn.sm{height:28px;padding:0 10px;font-size:12px}
.btn.menu{display:none}
.lnk{color:var(--acc);text-decoration:none}.lnk:hover{text-decoration:underline;text-underline-offset:2px}
.wrap{padding:28px 32px 48px;display:flex;flex-direction:column;gap:20px;max-width:1560px;width:100%}
h1{font:var(--t-title);letter-spacing:-.015em}
.sub{color:var(--tx3);margin-top:4px;max-width:80ch}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.stat label{color:var(--tx3);font-size:13px;line-height:18px;display:block}
.stat .v{font:var(--t-stat);letter-spacing:-.02em;margin-top:6px;color:var(--tx);text-wrap:balance}
.stat .v small{color:var(--tx3);font-size:17px;letter-spacing:0;font-weight:500}
.stat .d{font:var(--t-small);margin-top:6px;color:var(--tx3)}.up{color:var(--ok)}.dn{color:var(--bad)}
.row{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.row.w{grid-template-columns:5fr 3fr}
.row.three{grid-template-columns:1fr 1fr 1fr}.row.two{grid-template-columns:1fr 1fr}
.hd{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.hd h3{font:var(--t-card);letter-spacing:-.01em}.hd span{color:var(--tx3);font-size:13px;font-weight:400}.hd em{margin-left:auto;font-style:normal;color:var(--tx3);font-size:13px;white-space:nowrap}
.lg{display:flex;gap:16px;margin-left:auto;font-size:12px;color:var(--tx2)}.lg i{display:inline-block;width:10px;height:2px;margin-right:6px;vertical-align:middle;background:var(--acc)}.lg i.g{background:var(--spend)}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{font:500 12px/16px var(--f);color:var(--tx3);text-align:left;padding:0 0 10px;border-bottom:1px solid var(--line2);white-space:nowrap}
td{padding:10px 0;border-bottom:1px solid var(--line);vertical-align:middle;transition:background var(--dur) var(--ease)}
tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--hov)}tbody tr.grp:hover td{background:none}
th.r,td.r{text-align:right;padding-left:20px;white-space:nowrap}td.r{font-variant-numeric:tabular-nums}
th+th,td+td{padding-left:20px}
td small{display:block;color:var(--tx3);font-size:12px;line-height:16px}
td a.t{text-decoration:none;font-weight:500}td a.t:hover{text-decoration:underline}
td.n{white-space:nowrap;padding-right:24px}.nw{white-space:nowrap;color:var(--tx3)}td .id{font:400 12px var(--m);color:var(--tx3)}td.r .nw,td.r.nw{color:var(--tx3)}
tr.sub td{padding:7px 0;color:var(--tx2);font-size:13px}tr.sub td:first-child{padding-left:20px;box-shadow:inset 1px 0 0 var(--line2)}
tr.grp td{padding:14px 0 8px;color:var(--tx3);font-size:12px;border-bottom:1px solid var(--line)}
.pill{font:500 12px/20px var(--f);padding:0 8px;border-radius:6px;display:inline-block;border:1px solid var(--line2);background:rgba(var(--ink),.05);color:var(--tx2);white-space:nowrap}
.pill.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 28%,transparent)}
.pill.bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent);border-color:color-mix(in srgb,var(--bad) 28%,transparent)}
.pill.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}
.pill.acc{color:var(--acc);background:var(--accbg);border-color:color-mix(in srgb,var(--acc) 30%,transparent)}
.li{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);align-items:flex-start}.li:last-child{border-bottom:0;padding-bottom:0}.li:first-child{padding-top:0}
.li p{flex:1;line-height:20px;min-width:0;max-width:80ch}.li p small{display:block;color:var(--tx3);font-size:12px;line-height:16px;margin-top:2px}
.li time{font:var(--t-small);color:var(--tx3);white-space:nowrap;margin-left:auto;padding-top:2px}
.dot{width:6px;height:6px;border-radius:50%;margin-top:7px;flex:none;background:var(--tx3)}.dot.bad{background:var(--bad)}.dot.warn{background:var(--warn)}.dot.ok{background:var(--ok)}.dot.acc{background:var(--acc)}
.bar{height:4px;border-radius:2px;background:rgba(var(--ink),.09);width:120px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:8px}.bar b{display:block;height:100%;background:var(--acc);border-radius:2px}
.bar.s{width:64px}.bar.full b,.bar.ok b{background:var(--ok)}.bar.warn b{background:var(--warn)}.bar.bad b{background:var(--bad)}
.empty{color:var(--tx3);padding:8px 0;max-width:72ch;line-height:20px}.hd+.empty:last-child{padding:12px 0 8px;color:var(--tx2)}.empty .lnk{font-weight:500}
.cols{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}
.col h4{font:500 13px/20px var(--f);color:var(--tx2);display:flex;gap:8px;margin-bottom:10px}.col h4 i{font:var(--t-small);line-height:20px;color:var(--tx3);font-style:normal}
.tk{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:10px;display:block;text-decoration:none;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}a.tk:hover{border-color:var(--line2);background:var(--raise)}
.tk p{line-height:19px}.tk .meta{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12px;color:var(--tx3)}
.tk .meta .who{display:flex;align-items:center;gap:6px;color:var(--tx2)}.tk .meta time{margin-left:auto;white-space:nowrap}
.tag{font:500 11px/16px var(--f);color:var(--tx3);border:1px solid var(--line2);background:rgba(var(--ink),.04);border-radius:4px;padding:0 4px;white-space:nowrap}
.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-top:-4px}.tabs a,.tabs span{padding:0 0 10px;color:var(--tx3);text-decoration:none}.tabs a{transition:color var(--dur) var(--ease)}.tabs a:hover{color:var(--tx)}.tabs .on{color:var(--acc);font-weight:500;box-shadow:inset 0 -2px 0 var(--acc)}
.modal{animation:fade var(--dur) var(--ease);position:fixed;inset:0;background:var(--scrim);display:grid;place-items:center;z-index:20;padding:16px;overflow-y:auto}
.dlg{animation:reveal var(--dur) var(--ease);width:min(480px,100%);max-width:100%;background:var(--pop);border:1px solid var(--line2);border-radius:16px;padding:24px;box-shadow:var(--shadow)}
.dlg h3{font:500 17px/24px var(--f)}.dlg .s{color:var(--tx3);margin:4px 0 20px}
.fld{margin-bottom:16px}.fld label,.fld .lb{display:block;font-size:13px;color:var(--tx2);margin-bottom:6px}
.fld small{display:block;color:var(--tx3);font-size:12px;margin-top:6px}
.inp{height:36px;border:1px solid var(--line2);border-radius:8px;background:var(--inpbg);display:flex;align-items:center;padding:0 12px;gap:8px;width:100%;color:var(--tx);font:inherit}
textarea.inp{height:auto;min-height:88px;padding:8px 12px;line-height:20px;resize:vertical}
select.inp{appearance:none}
.inp{transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.inp:focus,.inp:focus-within,.inp:focus-visible{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.inp::placeholder{color:var(--tx3)}
.inp.mono{font:400 12px var(--m)}
.chk{display:flex;gap:16px;flex-wrap:wrap}.chk label{display:flex;align-items:center;gap:8px;margin:0;color:var(--tx);font-size:14px;cursor:pointer}
.chk input{appearance:none;width:16px;height:16px;border-radius:4px;border:1px solid var(--line2);display:inline-grid;place-items:center;cursor:pointer;flex:none}
.chk input:checked{background:var(--pri);border-color:var(--pri)}
.chk input:checked:after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.act{display:flex;gap:8px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}
.live{display:flex;align-items:center;gap:8px;font:400 12px var(--m);color:var(--tx2);white-space:nowrap}
.live i{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 15%,transparent)}
.live.off i,.live.stale i{background:var(--tx3);box-shadow:none}
.ask{width:400px;max-width:36vw;height:34px;border:1px solid var(--line2);border-radius:8px;background:var(--inpbg);display:flex;align-items:center;padding:0 12px;color:var(--tx3);font-size:13px;text-decoration:none}
.ask kbd{margin-left:auto;font:400 11px var(--m);color:var(--tx3);border:1px solid var(--line2);border-radius:4px;padding:0 5px;line-height:18px}
.kv{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.kv:last-child{border-bottom:0;padding-bottom:0}.kv:first-child{padding-top:0}.kv span{color:var(--tx2)}.kv b{font-weight:500;text-align:right;white-space:nowrap}
.kv small{display:block;color:var(--tx3);font-size:12px;line-height:16px}
.paycard{height:132px;border-radius:12px;border:1px solid var(--line2);background:linear-gradient(160deg,#2b2b2e,#1f1f21);color:#ededed;padding:16px;display:flex;flex-direction:column;margin-bottom:16px}
.paycard .chip{width:30px;height:22px;border-radius:5px;background:#b9a26a;opacity:.85}.paycard .no{font:400 16px var(--m);letter-spacing:.08em;margin-top:auto}.paycard .nm{display:flex;justify-content:space-between;color:#a1a1a6;font-size:12px;margin-top:6px}
.rb{padding:18px 0;border-bottom:1px solid var(--line)}.rb:first-of-type{padding-top:0}.rb:last-child{border-bottom:0;padding-bottom:0}
.rb .h{display:flex;align-items:center;gap:10px;margin-bottom:10px}.rb .h b{font-weight:500;font-size:15px}.rb .h em{margin-left:auto;font:var(--t-small);color:var(--tx3);font-style:normal;white-space:nowrap}
.rb ul{list-style:none}.rb li{padding:4px 0 4px 16px;position:relative;line-height:20px;color:var(--tx);max-width:80ch}.rb li:before{content:"";position:absolute;left:2px;top:13px;width:4px;height:4px;border-radius:50%;background:var(--tx3)}
.rb li span{color:var(--tx3)}
.days{display:flex;gap:8px;flex-wrap:wrap}.days a,.days span{white-space:nowrap;padding:5px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--tx2);text-decoration:none}.days a{transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--press) var(--ease)}.days a:hover{color:var(--tx);background:var(--hov)}.days .on{background:var(--accbg);color:var(--acc);border-color:color-mix(in srgb,var(--acc) 30%,transparent);font-weight:500}
.q{align-self:flex-end;max-width:88%;background:var(--accbg);border:1px solid color-mix(in srgb,var(--acc) 25%,transparent);border-radius:12px 12px 4px 12px;padding:10px 14px}
.a{line-height:21px;max-width:80ch}.a p{margin-bottom:10px}.a .src{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.chat{display:flex;flex-direction:column;gap:16px}
.sug{display:flex;flex-direction:column;gap:8px;margin-top:20px}.sug a,.sug button,.sug span{border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--tx2);font-size:13px;text-decoration:none;background:var(--raise)}.sug a,.sug button{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--press) var(--ease)}.sug a:hover,.sug button:hover{color:var(--tx);border-color:var(--line2)}
.askbox{margin-top:16px;height:44px;border:1px solid var(--line2);border-radius:10px;background:var(--inpbg);display:flex;align-items:center;padding:0 6px 0 14px;color:var(--tx3);gap:8px}
.askbox:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.askbox input{flex:1;background:none;border:0;outline:0;color:var(--tx);font:inherit;min-width:0}.askbox .btn{margin-left:auto;height:30px}
.flash{animation:slidein 200ms var(--ease);margin:20px 32px 0;padding:12px 16px;border:1px solid var(--line2);border-radius:10px;background:var(--card);display:flex;gap:12px;align-items:center;flex-wrap:wrap;max-width:1496px}
.flash.err{border-color:color-mix(in srgb,var(--bad) 40%,transparent);background:color-mix(in srgb,var(--bad) 8%,var(--card));color:var(--bad)}
.flash .inp{flex:1;min-width:240px}
.flash p{flex:1;min-width:200px}.flash p small{display:block;color:var(--tx3);font-size:12px}
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.step{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--raise)}.step b{display:block;font-weight:500;margin:6px 0 2px}.step small{color:var(--tx3);font-size:12px;line-height:16px;display:block}
.links{display:flex;gap:8px;flex-wrap:wrap}
.chart{width:100%;height:auto;display:block}
.chart .g{stroke:rgba(var(--ink),.07)}.chart text{fill:var(--tx3);font:400 11px var(--f);font-variant-numeric:tabular-nums}.chart text.pt{fill:var(--tx)}
.chart .sp{stroke:var(--spend);stroke-width:1.5;fill:none}.chart .rv{stroke:var(--acc);stroke-width:2;fill:none}.chart .ar{fill:var(--accbg)}.chart circle{fill:var(--bg);stroke:var(--acc);stroke-width:2}
.auth{margin:auto;width:100%;max-width:408px;padding:24px}
.auth .brandline{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth .brandline b{font:500 16px var(--f)}
.auth .card{padding:28px;box-shadow:var(--shadow)}.auth h1{font-size:20px}.auth .sub{margin-bottom:20px}.auth .btn{width:100%;height:38px;font-size:14px}
.auth .err{color:var(--bad);margin-bottom:16px}
.scrim{display:none}
@media (max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.row,.row.w,.row.three,.row.two{grid-template-columns:1fr}.cols{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){
aside{position:fixed;left:-272px;top:0;transition:left 200ms var(--ease);box-shadow:none}
body.side-open aside{left:0;box-shadow:var(--shadow)}
body.side-open .scrim{display:block;position:fixed;inset:0;background:var(--scrim);z-index:5}
.btn.menu{display:inline-flex}
.top{padding:8px 16px;gap:8px;height:auto;min-height:60px;flex-wrap:wrap}.top .crumb{max-width:calc(100% - 170px)}.ask{order:9;width:100%;max-width:none;flex-basis:100%}.top .x{order:10;width:100%;flex-wrap:wrap}.top .x .seg{display:flex}
.wrap{padding:20px 16px 40px;gap:16px}h1{font-size:22px;line-height:28px}.flash{margin:16px 16px 0}
.card{padding:16px}.stats{gap:12px}.stat .v{font-size:24px;line-height:28px;margin-top:4px}.stat .v small{font-size:13px}
.cols{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}
.tw table{min-width:560px}
.hd{flex-wrap:wrap}.lg{margin-left:0;width:100%}
}
.top .x{display:flex;align-items:center;gap:12px}.top .x:empty{display:none}.pop form{display:block}

.mg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.mc{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--raise);display:flex;flex-direction:column;min-width:0}
.mc img,.mc video{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#0b0b0c}
.mc .t{padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:13px;min-width:0}.mc .t b{font-weight:500}.mc .t small{color:var(--tx3);font-size:12px;line-height:16px}
.cp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;color:var(--tx2)!important}
.pairs{display:flex;flex-direction:column}.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.pair:last-child{border-bottom:0;padding-bottom:0}.pair:first-child{padding-top:0}
.pair>div{display:flex;flex-direction:column;gap:8px;min-width:0}.pair small{color:var(--tx3);font-size:12px;line-height:16px}
.pm{width:100%;max-width:320px;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#0b0b0c;display:block}
.mt{font-size:13px;color:var(--tx2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.copy{white-space:pre-wrap;line-height:20px;font-size:13px;color:var(--tx)}
@media (max-width:860px){.pair{grid-template-columns:1fr}.mg{grid-template-columns:repeat(2,1fr)}}
.ask input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--tx);font:inherit;font-size:13px}.ask:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}

/* product code tag (P001...) and item id tag (SO-DEC-0001) */
.pcd{display:inline-block;font:500 11px var(--m);color:var(--acc);border:1px solid var(--line2);border-radius:6px;padding:1px 6px;margin-right:8px;vertical-align:1px}
.idt{display:inline-block;font:500 11px var(--m);color:var(--tx2);border:1px solid var(--line2);border-radius:6px;padding:1px 6px;margin-right:8px;vertical-align:1px}

/* motion that answers the person: one curve, one length, nothing on page load */
@keyframes reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes slidein{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes hl{0%{background:var(--accbg);box-shadow:0 0 0 4px var(--accbg)}100%{background:transparent;box-shadow:0 0 0 4px transparent}}
details>summary{cursor:pointer;list-style:none;display:inline-block;user-select:none}
details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin:0 10px 2px 2px;transition:transform var(--dur) var(--ease)}
details[open]>summary::before{transform:rotate(45deg);margin-bottom:4px}
details[open]>:not(summary){animation:reveal var(--dur) var(--ease)}
.wbox:not([hidden]){animation:reveal var(--dur) var(--ease)}
.chg{animation:hl 1.4s var(--ease);border-radius:4px}
.pcd,.idt{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:active,.sug a:active,.sug button:active,.days a:active,.seg a:active,.seg button:active{transform:none}}

/* custom date range popover */
.rangepop{position:absolute;right:16px;top:56px;z-index:30;display:flex;gap:10px;align-items:flex-end;padding:12px;background:var(--card);border:1px solid var(--line2);border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.rangepop[hidden]{display:none}.rangepop label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--tx2)}.rangepop .inp{height:34px}

/* HQ pet: bottom-right robot + chat panel */
.pet{position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;border:1px solid var(--line2);background:var(--card);box-shadow:0 10px 30px rgba(0,0,0,.35);display:grid;place-items:center;cursor:pointer;padding:0;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s}
.pet:hover{transform:translateY(-2px) scale(1.04)}.pet:active{transform:scale(.96)}.pet.on{outline:2px solid var(--acc);outline-offset:2px}
.pet svg{width:44px;height:44px;border-radius:50%}
.petbox{position:fixed;right:20px;bottom:92px;z-index:60;width:min(400px,calc(100vw - 32px));height:min(560px,calc(100vh - 140px));display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line2);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.45);overflow:hidden}
.petbox[hidden]{display:none}
.petbox-hd{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.petbox-hd b{display:block}.petbox-hd small{display:block;color:var(--tx3);font-size:12px}.petbox-hd .btn{margin-left:auto}
.pet-face svg{width:32px;height:32px;border-radius:50%}
.petlog{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.petlog .pq{align-self:flex-end;max-width:85%;background:var(--acc);color:#fff;padding:8px 12px;border-radius:14px 14px 4px 14px;white-space:pre-wrap;overflow-wrap:anywhere}
.petlog .pa{align-self:flex-start;max-width:90%;background:var(--bg2,rgba(127,127,127,.12));padding:8px 12px;border-radius:14px 14px 14px 4px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
.petlog .pa.wait{color:var(--tx3);font-style:normal}.petlog .pa.err{color:var(--bad,#e5484d)}
.petform{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}.petform .inp{flex:1;min-height:42px;height:auto;resize:none}
@media (max-width:600px){.pet{right:12px;bottom:12px;width:52px;height:52px}.petbox{right:8px;left:8px;width:auto;bottom:74px;height:calc(100vh - 100px)}}
@media (prefers-reduced-motion:reduce){.pet{transition:none}}
