:root{color-scheme:only light;--bg: #eef2f0;--surface: #ffffff;--surface-2: #f6f8f7;--line: #d5ddd9;--line-strong: #b9c5bf;--ink: #14201d;--ink-2: #44524d;--ink-3: #66756f;--action: #1f6f5c;--action-ink: #ffffff;--action-soft: #dcebe5;--focus: #2a78d6;--critical: #b3261e;--critical-soft: #f8e1df;--high: #a85a12;--high-soft: #f7e8d6;--medium: #39617f;--medium-soft: #e0e9f0;--low: #5d6b66;--low-soft: #e7ecea;--good-ink: #1d6b3b;--s-product: #2a78d6;--s-commission: #eb6834;--s-shipping: #1baf7a;--s-tax: #eda100;--s-ads: #e87ba4;--s-profit: #008300;--chart-bar: #1f6f5c;--grid: #e3e9e6;--radius-s: 6px;--radius-m: 10px;--font: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #101816;--surface: #17211e;--surface-2: #1c2825;--line: #2b3a35;--line-strong: #3d4f49;--ink: #e6eeeb;--ink-2: #b3c2bc;--ink-3: #8c9c96;--action: #4fb394;--action-ink: #0b1a15;--action-soft: #1f3a32;--critical: #f08a80;--critical-soft: #3a1f1d;--high: #e9a866;--high-soft: #3a2a1a;--medium: #8fb7d6;--medium-soft: #1d2b36;--low: #a3b1ac;--low-soft: #222d2a;--good-ink: #6fcf8e;--s-product: #3987e5;--s-commission: #d95926;--s-shipping: #199e70;--s-tax: #c98500;--s-ads: #d55181;--s-profit: #008300;--chart-bar: #4fb394;--grid: #24312d}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}a{color:var(--action)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1180px;margin:0 auto;padding:10px 24px 0}.brand-row{display:flex;align-items:center;gap:12px;justify-content:space-between}.brand{white-space:nowrap;display:flex;align-items:center;gap:10px;font-weight:700;font-stretch:115%;font-size:17px;letter-spacing:-.01em}.brand-mark{width:26px;height:26px}.store{color:var(--ink-3);font-size:13px;font-weight:500;font-stretch:100%}.nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;margin-top:6px}.nav::-webkit-scrollbar{display:none}.nav a{padding:9px 12px 10px;text-decoration:none;color:var(--ink-2);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;display:flex;align-items:center;gap:6px}.nav a:hover{color:var(--ink)}.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--action);font-weight:650}.count{font-size:12px;font-weight:650;background:var(--critical-soft);color:var(--critical);border-radius:999px;padding:0 7px;line-height:18px}main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:28px 24px 64px}.demo-banner{width:100%;max-width:1180px;margin:12px auto 0;padding:8px 24px;font-size:13px;color:var(--ink-2);display:flex;gap:8px;align-items:center}.demo-banner strong{color:var(--high)}h1,h2,h3{margin:0;letter-spacing:-.015em}.headline{font-size:clamp(28px,4.6vw,46px);line-height:1.08;font-weight:750;font-stretch:118%;max-width:22ch}.headline .num{font-stretch:100%}.sub{color:var(--ink-2);font-size:16px;margin-top:10px;max-width:62ch}h2{font-size:20px;font-weight:700;font-stretch:110%}h3{font-size:16px;font-weight:650}.muted{color:var(--ink-3)}.small{font-size:13px}.section{margin-top:40px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--surface);padding:7px 12px;border-radius:var(--radius-s);cursor:pointer;font-weight:550;font-size:14px;text-decoration:none;color:var(--ink)}.btn:hover{border-color:var(--ink-3)}.btn-primary{background:var(--action);border-color:var(--action);color:var(--action-ink)}.btn-primary:hover{filter:brightness(1.06);border-color:var(--action)}.btn-ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-2);border-color:transparent}.btn:disabled{opacity:.55;cursor:default}.ledger{display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}.ledger>div{padding:14px 16px 16px 0}.ledger>div+div{padding-left:16px;border-left:1px solid var(--line)}.ledger dt{font-size:13px;color:var(--ink-3)}.ledger dd{margin:2px 0 0;font-size:24px;font-weight:700;font-stretch:105%;letter-spacing:-.01em}.ledger .note{font-size:12px;color:var(--ink-3);margin-top:2px}.neg{color:var(--critical)}.recs{display:flex;flex-direction:column;border-top:1px solid var(--line)}.rec{display:grid;grid-template-columns:112px 1fr 168px;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}.rec.is-closed{opacity:.6}.sev{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;padding:2px 8px 2px 6px;border-radius:999px;white-space:nowrap}.sev svg{width:14px;height:14px;flex:none}.sev-critical{color:var(--critical);background:var(--critical-soft)}.sev-high{color:var(--high);background:var(--high-soft)}.sev-medium{color:var(--medium);background:var(--medium-soft)}.sev-low{color:var(--low);background:var(--low-soft)}.rec-item{font-size:13px;color:var(--ink-3);margin-bottom:2px}.rec h3{font-size:17px}.rec p{margin:6px 0 0;color:var(--ink-2);max-width:70ch}.rec .do{color:var(--ink)}.rec .do b{font-weight:650}.rec-actions{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.impact{text-align:right}.impact .v{font-size:20px;font-weight:700;font-stretch:105%}.impact .k{font-size:12px;color:var(--ink-3)}.filters{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--line-strong);background:transparent;border-radius:999px;padding:4px 12px;font-size:13px;cursor:pointer;color:var(--ink-2)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chart-wrap{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px 16px 8px}.chart-wrap svg{display:block;width:100%;height:220px;overflow:visible}.chart-wrap .axis{fill:var(--ink-3);font-size:11px}.chart-wrap .gridline{stroke:var(--grid);stroke-width:1}.chart-wrap .bar{fill:var(--chart-bar)}.chart-wrap .bar.dim{opacity:.45}.tooltip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);font-size:13px;padding:6px 10px;border-radius:6px;white-space:nowrap;transform:translate(-50%,-100%);margin-top:-8px;z-index:2}.moneybar{display:flex;height:14px;gap:2px;border-radius:4px;overflow:hidden;background:var(--surface-2);min-width:120px}.moneybar span{display:block;height:100%}.moneybar span:first-child{border-radius:4px 0 0 4px}.moneybar span:last-child{border-radius:0 4px 4px 0}.seg-product{background:var(--s-product)}.seg-commission{background:var(--s-commission)}.seg-shipping{background:var(--s-shipping)}.seg-tax{background:var(--s-tax)}.seg-ads{background:var(--s-ads)}.seg-profit{background:var(--s-profit)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.loss-flag{display:inline-flex;gap:4px;align-items:center;color:var(--critical);font-weight:650;font-size:13px}.table-wrap{overflow-x:auto;border-top:2px solid var(--ink)}table{width:100%;border-collapse:collapse;min-width:860px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:13px;font-weight:600;color:var(--ink-3);white-space:nowrap}td.n,th.n{text-align:right}tbody tr{cursor:pointer}tbody tr:hover{background:var(--surface)}.title-cell{max-width:300px}.title-cell .t{font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-cell .id{font-size:12px;color:var(--ink-3)}.drawer-bg{position:fixed;inset:0;background:#0a141159;z-index:20}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,100vw);background:var(--surface);z-index:21;border-left:1px solid var(--line);padding:24px;overflow-y:auto;animation:slide .18s ease-out}@keyframes slide{0%{transform:translate(24px);opacity:.6}}.drawer h2{font-size:19px;margin-right:40px}.drawer .close{position:absolute;top:16px;right:16px}.waterfall{margin-top:18px;display:grid;grid-template-columns:auto 1fr auto;gap:8px 12px;align-items:center;font-size:14px}.waterfall .lbl{display:flex;align-items:center;gap:8px}.waterfall .track{height:10px;background:var(--surface-2);border-radius:3px;position:relative}.waterfall .fill{position:absolute;top:0;bottom:0;border-radius:3px}.waterfall .val{text-align:right;font-weight:600}.waterfall .total{border-top:1px solid var(--line);padding-top:8px;font-weight:700}.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:20px}.facts dt{font-size:12px;color:var(--ink-3)}.facts dd{margin:0;font-weight:650}.pending{margin:8px 0 0;padding-left:18px;color:var(--ink-2)}.pending li{margin-bottom:6px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px 20px}label.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-2);font-weight:550}.field .hint{font-weight:400;color:var(--ink-3);font-size:12px}input[type=number],input[type=text],input[type=password],textarea,select{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-s);padding:8px 10px;font-size:15px;width:100%}input[type=number]{font-variant-numeric:tabular-nums}textarea{min-height:88px;resize:vertical;line-height:1.45}.cost-row td{cursor:default}.cost-row input{max-width:110px;padding:6px 8px}.saved{color:var(--good-ink);font-size:13px}.question{padding:18px 0;border-bottom:1px solid var(--line);display:grid;gap:10px}.question blockquote{margin:0;font-size:17px;font-weight:500;max-width:70ch}.question .meta{font-size:13px;color:var(--ink-3)}.templates{display:flex;gap:6px;flex-wrap:wrap}.welcome{max-width:560px;margin:8vh auto 0}.welcome .headline{max-width:16ch}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.notice{padding:12px 14px;border-radius:var(--radius-s);background:var(--high-soft);color:var(--ink);font-size:14px;margin-top:20px}.empty{padding:40px 0;color:var(--ink-2);max-width:52ch}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:14px;z-index:30}@media(max-width:860px){.ledger{grid-template-columns:1fr 1fr}.ledger>div{padding:12px 12px 12px 0;border-bottom:1px solid var(--line)}.ledger>div+div{padding-left:0;border-left:0}.ledger>div:nth-child(2n){padding-left:12px;border-left:1px solid var(--line)}.rec{grid-template-columns:1fr;gap:8px}.impact{text-align:left;display:flex;gap:8px;align-items:baseline}}@media(max-width:560px){.brand-row .btn{font-size:13px;padding:6px 8px;white-space:nowrap}main{padding:20px 16px 56px}.topbar-inner,.demo-banner{padding-left:16px;padding-right:16px}.store{display:none}.facts{grid-template-columns:1fr}}.seg-bar-ml{background:var(--s-product);fill:var(--s-product)}.seg-bar-shopee{background:var(--s-commission);fill:var(--s-commission)}.chart-wrap path.dim{opacity:.45}.toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.live{display:inline-flex;align-items:center;gap:6px;margin-left:12px;font-size:13px;color:var(--good-ink);font-weight:600;white-space:nowrap}.live i{width:8px;height:8px;border-radius:50%;background:var(--good-ink);box-shadow:0 0 0 0 var(--good-ink);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--good-ink) 50%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:32px;align-items:start}.pnl{border-top:2px solid var(--ink)}.pnl-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}.pnl-row span:last-child{font-weight:600;white-space:nowrap}.pnl-row.strong span{font-weight:700}.pnl-row.total{border-bottom:0;border-top:1px solid var(--ink);font-size:17px;margin-top:-1px}.muted-neg{color:var(--ink-2)}.channels{border-top:1px solid var(--line)}.channel-row{display:grid;grid-template-columns:150px 1fr 130px 130px;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.ch-name{display:flex;align-items:center;gap:8px;font-weight:600}.ch-name i,.legend i.seg-bar-ml,.legend i.seg-bar-shopee{width:10px;height:10px;border-radius:3px;display:inline-block}.ch-bar{height:10px;background:var(--surface-2);border-radius:3px;overflow:hidden}.ch-bar span{display:block;height:100%;border-radius:3px}.channel-row .n{text-align:right}.tag{display:inline-block;font-size:12px;font-weight:600;padding:1px 7px;border-radius:999px;margin-right:6px;white-space:nowrap}.tag-ml{background:color-mix(in srgb,var(--s-product) 14%,transparent);color:var(--ink);box-shadow:inset 3px 0 0 var(--s-product)}.tag-shopee{background:color-mix(in srgb,var(--s-commission) 14%,transparent);color:var(--ink);box-shadow:inset 3px 0 0 var(--s-commission)}table.compact{min-width:720px}table.compact td,table.compact th{padding:9px 10px}tbody tr.static{cursor:default}.nowrap{white-space:nowrap}.tooltip b{display:block}.account-block{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--line)}.ok-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--good-ink);margin-right:8px;vertical-align:1px}.drop{display:flex;flex-direction:column;gap:4px;padding:22px;border:1.5px dashed var(--line-strong);border-radius:var(--radius-m);background:var(--surface);cursor:pointer;max-width:560px}.drop input{position:absolute;opacity:0;width:1px;height:1px}.drop:focus-within{outline:2px solid var(--focus);outline-offset:2px}.mapping{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px 20px;margin-top:14px}.multi{display:flex;flex-wrap:wrap;gap:6px}.multi select{flex:1 1 100%}table.sample td{font-size:13px;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}@media(max-width:960px){.split{grid-template-columns:1fr}}@media(max-width:640px){.ch-bar{grid-column:1 / -1;order:3}}.brand-row{flex-wrap:wrap}@media(max-width:640px){.brand-row .btn-ghost{display:none}.channel-row{grid-template-columns:1fr auto auto}}.topbar{border-bottom-color:transparent;box-shadow:0 1px 0 var(--line)}.headline{font-weight:700;font-stretch:104%;letter-spacing:-.02em}.sub{color:var(--ink-3)}.section{margin-top:56px}.section-head{margin-bottom:16px}h2{font-size:18px;font-weight:650;font-stretch:100%}.demo-banner{font-size:12px;color:var(--ink-3);padding-top:10px;padding-bottom:0}.demo-banner strong{font-weight:600}.chip{border-color:transparent;background:var(--surface-2);color:var(--ink-2);padding:5px 12px}.chip:hover{color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg)}:root:not([data-theme=dark]) .chip:not([aria-pressed=true]){background:color-mix(in srgb,var(--ink) 5%,transparent)}.ledger{border-top:0;border-bottom:0;gap:24px}.ledger>div,.ledger>div+div{padding:0;border:0}.ledger.kpis{grid-template-columns:repeat(4,1fr)}.ledger dt{font-size:13px}.ledger dd{font-size:26px;font-weight:650;font-stretch:100%;margin-top:4px}.chart-wrap{border:0;background:transparent;padding:0}.pnl{border-top:0}.pnl-row{border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent);padding:8px 0;color:var(--ink-2)}.pnl-row.strong{color:var(--ink)}.pnl-row.total{border-top-color:var(--line-strong);padding-top:12px}.table-wrap{border-top:0}th{font-weight:500;border-bottom-color:var(--line-strong)}td{border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent)}tbody tr:hover{background:transparent}tbody tr:not(.static):hover{background:var(--surface)}.tag,.tag-ml,.tag-shopee{background:none;box-shadow:none;padding:0;font-weight:500;color:var(--ink-2);margin-right:12px}.tag:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px}.tag-ml:before{background:var(--s-product)}.tag-shopee:before{background:var(--s-commission)}.channels{border-top:0}.channel-row{border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent)}.ch-bar{height:6px}.recs{border-top:0}.rec{border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent)}@media(max-width:860px){.ledger.kpis{grid-template-columns:1fr 1fr;gap:20px}.ledger>div:nth-child(2n){padding-left:0;border-left:0}}.title-cell .t{font-weight:500}:root{--bg: #ffffff;--surface: #ffffff;--surface-2: #f4f4f5;--line: #ececee;--line-strong: #d6d6da;--ink: #18181b;--ink-2: #52525b;--ink-3: #71717a;--action: #18181b;--action-ink: #ffffff;--action-soft: #f1f5f2;--chart-bar: #18181b;--grid: #f0f0f2}:root[data-theme=dark]{--bg: #111113;--surface: #18181b;--surface-2: #202024;--line: #27272a;--line-strong: #3f3f46;--ink: #f4f4f5;--ink-2: #a1a1aa;--ink-3: #8b8b94;--action: #f4f4f5;--action-ink: #18181b;--action-soft: #1d2622;--chart-bar: #f4f4f5;--grid: #222226}a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--line-strong)}a:hover{text-decoration-color:var(--ink)}.nav a,.btn{text-decoration:none}.topbar{background:color-mix(in srgb,var(--bg) 94%,transparent)}.drop{background:var(--surface-2);border-color:var(--line-strong)}.drop:hover{border-color:var(--ink-3)}.notice{background:var(--surface-2)}.demo-banner strong{color:var(--ink)}.nav a[aria-current=page]{border-bottom-color:var(--ink)}:root{--bg: #ededed;--surface: #ffffff;--surface-2: #f5f5f5;--line: #e6e6e6;--line-strong: #d9d9d9;--ink: #1a1a1a;--ink-2: #4d4d4d;--ink-3: #737373;--action: #3483fa;--action-hover: #2968c8;--action-ink: #ffffff;--action-soft: #e3edfb;--good-ink: #00a650;--critical: #f23d4f;--critical-soft: #fde8ea;--chart-bar: #3483fa;--grid: #f0f0f0;--card-shadow: 0 1px 2px rgb(0 0 0 / .12)}.topbar{background:#fff;box-shadow:0 1px 2px #0000001a}.brand-mark rect{fill:var(--action)}.nav a[aria-current=page]{border-bottom-color:var(--action);color:var(--ink)}a{color:var(--action);text-decoration:none}a:hover{color:var(--action-hover);text-decoration:underline}.nav a:hover,.btn:hover{text-decoration:none}.btn{border-radius:6px}.btn-primary{background:var(--action);border-color:var(--action);color:#fff}.btn-primary:hover{background:var(--action-hover);border-color:var(--action-hover);filter:none;color:#fff}.btn:not(.btn-primary):not(.btn-ghost){color:var(--action);border-color:transparent;background:var(--action-soft)}.btn:not(.btn-primary):not(.btn-ghost):hover{background:#d6e4f9}.btn-ghost{color:var(--action)}.chip{background:#fff!important;color:var(--ink-2);box-shadow:var(--card-shadow)}.ledger.kpis,.split>section,.section:not(.split),.table-wrap,.account-block,.mapping{background:var(--surface);border-radius:6px;box-shadow:var(--card-shadow)}.ledger.kpis{padding:20px 24px}.split>section,.section:not(.split){padding:20px 24px}.section:not(.split) .table-wrap{box-shadow:none;border-radius:0}.split{gap:16px}.section{margin-top:16px}.account-block{padding:20px 24px;border-bottom:0}.mapping{padding:20px 24px;border-top:0}.drop{background:#fff;border-color:var(--line-strong)}.drop:hover{border-color:var(--action)}.table-wrap:not(.section .table-wrap){padding:4px 16px}.live{color:var(--good-ink)}.live i{background:var(--good-ink)}.pos{color:var(--good-ink)}.notice{background:#fff6e0}.demo-banner strong{color:#b57800}.count{background:var(--critical);color:#fff}.tooltip{background:#1a1a1a;color:#fff}.chip,.chip[aria-pressed=true]{border-color:transparent}:root{--bg: #f3f2f7;--surface: #ffffff;--surface-2: #f6f5fa;--line: #e8e6ef;--line-strong: #d9d6e3;--ink: #1c1b22;--ink-2: #4b4957;--ink-3: #75727f;--action: #6f47e6;--action-hover: #5a35cc;--action-ink: #ffffff;--action-soft: #efeafd;--chart-bar: #6f47e6;--grid: #f0eff5;--card-shadow: 0 1px 2px rgb(28 27 34 / .08), 0 1px 1px rgb(28 27 34 / .04)}.topbar{background:#fff;box-shadow:0 1px 0 var(--line)}.btn:not(.btn-primary):not(.btn-ghost):hover{background:#e3dbfb}.chip[aria-pressed=true]{background:var(--action)!important;color:#fff}.nav a[aria-current=page]{border-bottom-color:var(--action)}.count[style]{background:var(--action-soft)!important;color:var(--action)!important}.demo-banner strong{color:var(--action)}.search{max-width:280px;background:var(--surface);border-color:var(--line-strong)}.costs-table td{vertical-align:middle}.product{display:flex;gap:12px;align-items:center;min-width:280px;max-width:460px}.product img,.thumb-empty{width:56px;height:56px;flex:none;border-radius:6px;object-fit:contain;background:#fff;border:1px solid var(--line)}.thumb-empty{display:grid;place-items:center;color:var(--ink-3);font-weight:600;background:var(--surface-2)}.p-title{display:block;color:var(--ink);font-weight:500;line-height:1.35}.p-title:hover{color:var(--action)}.product .id{display:block;margin-top:2px}.paused{color:var(--high)}@media(max-width:640px){.search{max-width:none;width:100%}}.search{border:1px solid var(--line-strong);border-radius:var(--radius-s);padding:8px 10px;font-size:15px;width:100%}.search:focus{outline:2px solid var(--action);outline-offset:0}.pnl-row.subtotal{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:var(--surface-2);padding-left:8px;padding-right:8px;margin:2px -8px}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--surface)}.login-side{background:#2a1a63;background-image:radial-gradient(120% 80% at 0% 0%,#4a2fb0 0%,transparent 60%),radial-gradient(90% 70% at 100% 100%,#6f47e6 0%,transparent 55%);color:#fff;padding:40px 48px;display:flex;flex-direction:column}.login-brand{color:#fff}.login-brand .brand-mark rect{fill:#fff}.login-brand .brand-mark path{stroke:#4a2fb0}.login-pitch{margin:auto 0;max-width:400px}.login-lead{font-size:clamp(26px,2.6vw,34px);line-height:1.15;font-weight:650;letter-spacing:-.02em;margin:0 0 28px}.receipt{background:#fff;color:var(--ink);border-radius:12px;padding:18px 20px 6px;box-shadow:0 24px 48px -16px #0c06288c;font-variant-numeric:tabular-nums;font-size:14px}.receipt-head,.receipt-row,.receipt-total{display:flex;justify-content:space-between;gap:16px}.receipt-head{padding-bottom:12px;border-bottom:1px dashed var(--line-strong);margin-bottom:8px}.receipt-head span{color:var(--ink-2)}.receipt-row{padding:5px 0;color:var(--ink-2)}.receipt-total{margin-top:8px;padding:12px 0 14px;border-top:1px dashed var(--line-strong);font-size:16px}.receipt-total b{color:#0f8a4a}.login-foot{margin:28px 0 0;color:#ffffffc7;font-size:14px;line-height:1.5}.login-main{display:flex;align-items:center;justify-content:center;padding:40px 24px}.login-card{width:100%;max-width:360px}.login-card h1{font-size:26px;letter-spacing:-.02em;margin:0 0 6px}.login-sub{color:var(--ink-3);margin:0 0 28px;font-size:14px}.login-label{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.login-input{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);transition:border-color .15s,box-shadow .15s}.login-input:focus-within{border-color:var(--action);box-shadow:0 0 0 3px var(--action-soft)}.login-input.has-error{border-color:var(--critical, #d63b4b)}.login-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:12px 14px;font:inherit;font-size:15px;color:var(--ink);box-shadow:none}.login .login-eye{border:0;background:none;color:var(--action);font:inherit;font-size:13px;font-weight:600;padding:0 14px;height:44px;cursor:pointer;border-radius:0 8px 8px 0}.login .login-eye:hover{color:var(--action-hover)}.login .login-eye:focus-visible{outline:2px solid var(--action);outline-offset:-4px}.login-error{color:var(--critical, #d63b4b);font-size:13px;margin:8px 0 0}.login .login-submit{width:100%;margin-top:20px;padding:12px 16px;font-size:15px;font-weight:600;border-radius:8px;justify-content:center;text-align:center}.login .login-submit:disabled{opacity:.7;cursor:progress}.login-brand-mobile{display:none;margin-bottom:32px}@media(max-width:820px){.login{grid-template-columns:1fr}.login-side{display:none}.login-brand-mobile{display:flex}.login-main{align-items:flex-start;padding-top:12vh}}@media(prefers-reduced-motion:reduce){.login-input{transition:none}}.brand-mark .mark-bar{fill:var(--action-ink)}.login-brand .brand-mark .mark-bar{fill:#4a2fb0}.fin-months{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.month-plan{background:var(--surface);border-radius:6px;box-shadow:var(--card-shadow);padding:20px 24px}.month-plan .pnl-row.total span:last-child{font-size:20px}.ink{color:var(--ink)}button.link{border:0;background:none;padding:0;font:inherit;color:var(--action);cursor:pointer;text-align:left}button.link:hover{text-decoration:underline}button.link.strong{color:var(--ink);font-weight:600}button.link.strong:hover{color:var(--action)}.btn.danger{color:var(--critical)}.buy-list{list-style:none;margin:0;padding:0}.buy-list li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.buy-list li:last-child{border-bottom:0}.buy-list .n{text-align:right;white-space:nowrap}.fin-start{max-width:720px}.steps{padding-left:20px;margin:12px 0 16px;line-height:1.6}.steps li{margin-bottom:8px}.cat-despesa{background:#6f47e6}.cat-insumo{background:#1f9e89}.cat-investimento{background:#d99a1e}.cat-pessoal{background:#9a97a6}.legend i[class^=cat-]{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:6px}.bills-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;align-items:end;position:relative}.bc-col{position:relative;display:flex;flex-direction:column;align-items:center;outline:none;transition:opacity .12s}.bc-col.dim{opacity:.45}.bc-col:focus-visible .bc-bar{outline:2px solid var(--action);outline-offset:2px;border-radius:4px}.bc-bar{width:100%;max-width:44px;display:flex;align-items:flex-end}.bc-stack{width:100%;display:flex;flex-direction:column-reverse;gap:2px;border-radius:4px 4px 0 0;overflow:hidden;min-height:0}.bc-stack span{display:block;min-height:2px;flex-basis:0}.bc-val{font-size:11px;color:var(--ink-2);margin-top:6px;font-variant-numeric:tabular-nums;white-space:nowrap}.bc-label{font-size:11px;color:var(--ink-3)}.bc-tip{position:absolute;bottom:calc(100% - 20px);left:50%;transform:translate(-50%);width:max-content;max-width:280px;z-index:5;pointer-events:none}.bc-col:nth-child(-n+2) .bc-tip{left:0;transform:none}.bc-col:nth-last-child(-n+2) .bc-tip{left:auto;right:0;transform:none}.fin-cfg{display:flex;gap:12px;flex-wrap:wrap}.fin-cfg .field{min-width:170px}.mat-table td{vertical-align:top}.mat-table .btn{font-size:13px;padding:6px 10px}input.search{max-width:280px}input[type=month],input[type=date]{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-s);padding:7px 10px;font:inherit;font-size:15px;width:100%;color:var(--ink)}.stack{display:flex;flex-direction:column;gap:16px;margin-top:16px}.form-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.form-actions{display:flex;gap:10px;align-items:center;margin-top:4px}fieldset.seg{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}fieldset.seg legend{font-size:13px;color:var(--ink-2);font-weight:550;margin-bottom:6px;width:100%}fieldset.seg label{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line-strong);border-radius:999px;font-size:14px;cursor:pointer}fieldset.seg label:has(input:checked){border-color:var(--action);background:var(--action-soft);color:var(--action);font-weight:600}fieldset.seg input{accent-color:var(--action);margin:0}.recipe-row{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:8px;align-items:center}.qty-unit{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--surface)}.qty-unit input{border:0!important;text-align:right;min-width:0}.qty-unit span{padding:0 10px 0 2px;color:var(--ink-3);font-size:14px}select.copy-from{max-width:230px;font-size:14px}.drawer .toolbar{justify-content:flex-start}.moves{list-style:none;padding:0;margin:8px 0 0;font-size:14px}.moves li{display:grid;grid-template-columns:56px 1fr auto;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}tr.muted td{color:var(--ink-3)}@media(max-width:720px){.fin-months{grid-template-columns:1fr}.bills-chart{gap:3px}.bc-val{display:none}.bc-label{font-size:10px}.bc-label .yy{display:none}.form-3{grid-template-columns:1fr 1fr}.recipe-row{grid-template-columns:1fr 110px}.recipe-row .btn{grid-column:1 / -1;justify-self:start;padding-left:0}}.recipe-photo{display:block;width:120px;height:120px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff;margin:12px 0 4px}.ficha-cell{background:var(--action-soft);border-radius:6px}.ficha-cell b{color:var(--ink)}.notice-late{background:var(--critical-soft, #fde8ea)}.warn{color:#b57800;font-weight:600}.pay-progress{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;margin:-4px 0 8px}.pay-progress span{display:block;height:100%;background:var(--good-ink);border-radius:3px;transition:width .2s}.pay-list{list-style:none;margin:0;padding:0}.pay-list li{display:grid;grid-template-columns:minmax(0,1fr) auto 110px;gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.pay-list li:last-child{border-bottom:0}.pay-list label{display:flex;align-items:center;gap:12px;cursor:pointer;min-width:0}.pay-list input[type=checkbox]{width:20px;height:20px;accent-color:var(--good-ink);flex:none;margin:0;cursor:pointer}.pay-desc{display:flex;flex-direction:column;min-width:0}.pay-desc b{font-weight:600}.pay-due{font-size:14px;white-space:nowrap}.pay-amount{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.pay-list li.is-paid .pay-desc b,.pay-list li.is-paid .pay-amount{color:var(--ink-3);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--ink-3) 60%,transparent)}.pay-list li.is-paid .pay-due{color:var(--good-ink)}.pay-list li.is-late .pay-amount{color:var(--critical)}@media(max-width:720px){.pay-list li{grid-template-columns:minmax(0,1fr) auto}.pay-due{grid-column:1;padding-left:32px;margin-top:-6px}.pay-amount{grid-row:1;grid-column:2}}
