:root{
  color-scheme:light;
  --bg:#f7f4f3; --surface:#ffffff; --surface-2:#f1ecea; --line:#e6dedb; --grid:#eee8e6;
  --ink:#1d1514; --ink-2:#5e5351; --ink-3:#8c817f;
  --brand:#b3221b; --brand-ink:#ffffff;
  --sales:#b3221b; --spend:#7a8594; --roas:#2a78d6;
  --good:#0f7a3d; --good-bg:#e3f4ea; --warn:#9a6200; --warn-bg:#fdf1d8; --bad:#b3261e; --bad-bg:#fde7e5; --info:#2459a8; --info-bg:#e5eefb; --mute-bg:#eeeae9;
  --shadow:0 1px 2px rgba(60,20,15,.06),0 4px 16px rgba(60,20,15,.05);
}
@media (prefers-color-scheme:dark){:root{
  color-scheme:dark;
  --bg:#141010; --surface:#1d1817; --surface-2:#262020; --line:#342b2a; --grid:#2b2423;
  --ink:#f6efed; --ink-2:#c5b8b5; --ink-3:#958885;
  --brand:#e5534b; --brand-ink:#1a0d0c;
  --sales:#e5534b; --spend:#9aa4b2; --roas:#3987e5;
  --good:#4cc47f; --good-bg:#15301f; --warn:#e6b04a; --warn-bg:#352812; --bad:#f07a73; --bad-bg:#3a1b19; --info:#7fb0f2; --info-bg:#16263d; --mute-bg:#2b2524;
  --shadow:none;
}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:14px/1.5 "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
.wrap{max-width:1200px;margin:0 auto;padding-inline:20px;padding-block:20px 48px;display:grid;gap:20px}
.num,td.n{font-variant-numeric:tabular-nums}
h1,h2{font-family:Sora,"IBM Plex Sans",system-ui,sans-serif;margin:0;text-wrap:balance}
h1{font-size:22px} h2{font-size:15px}
a{color:var(--brand)}
header.top{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between}
.brand{display:flex;gap:12px;align-items:center}
.mark{width:40px;height:40px;border-radius:10px;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font:700 15px Sora,sans-serif;flex:none}
.sub{color:var(--ink-2);font-size:13px}
.tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.seg{display:inline-flex;background:var(--surface-2);border-radius:10px;padding:3px;gap:2px}
.seg a{color:var(--ink-2);text-decoration:none;font-weight:500;font-size:13px;padding:7px 14px;border-radius:8px}
.seg a[aria-current="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.link{color:var(--ink-2);font-size:13px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.kpis{display:grid;grid-template-columns:repeat(6,1fr);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.kpi{padding:16px 18px;display:grid;gap:4px;border-left:1px solid var(--line);align-content:start}
.kpi:first-child{border-left:0}
.kpi .l{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.kpi .v{font:600 24px/1.2 Sora,sans-serif;font-variant-numeric:tabular-nums}
.kpi.hero .v{color:var(--brand)}
.d{font-size:12px;font-weight:500}
.d.up{color:var(--good)} .d.down{color:var(--bad)} .d .c,.d.na{color:var(--ink-3);font-weight:400}

.grid2{display:grid;grid-template-columns:2fr 1fr;gap:20px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:12px;align-content:start;min-width:0}
.ch{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px}
.legend{display:flex;gap:14px;font-size:12px;color:var(--ink-2)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.legend i.ln{height:2px;border-radius:0;vertical-align:3px;width:14px}
.chart{position:relative;width:100%}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart text{fill:var(--ink-3);font:11px "IBM Plex Sans",sans-serif}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.5;white-space:nowrap;transform:translate(-50%,-100%);margin-top:-10px;z-index:3}
.empty{padding:28px 12px;text-align:center;color:var(--ink-3);background:var(--surface-2);border-radius:10px;font-size:13px}

.pk{display:grid;gap:12px}
.pk .row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline}
.pk .name{font-weight:500}
.pk .meta{color:var(--ink-3);font-size:12px}
.pk .bar{grid-column:1/-1;height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden;margin-top:4px}
.pk .bar span{display:block;height:100%;background:var(--sales);border-radius:4px}
.split{display:flex;height:12px;border-radius:6px;overflow:hidden;gap:2px;background:var(--surface-2)}
.split span{display:block;height:100%}
.splitleg{display:grid;gap:8px}
.splitleg div{display:flex;justify-content:space-between;gap:8px}
.splitleg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:-1px}

.tbl{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
.tbl table{min-width:620px}
th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:left;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:10px;border-bottom:1px solid var(--grid);vertical-align:middle}
td.n,th.n{text-align:right}
.id{font:500 12px "IBM Plex Mono",ui-monospace,monospace;color:var(--ink-2)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:500;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.p-new{background:var(--info-bg);color:var(--info)} .p-processing,.p-shipped{background:var(--warn-bg);color:var(--warn)}
.p-completed{background:var(--good-bg);color:var(--good)} .p-returned{background:var(--bad-bg);color:var(--bad)} .p-cancelled{background:var(--mute-bg);color:var(--ink-3)}
.note{font-size:12px;color:var(--ink-3)}

/* forms */
form.inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;align-items:end}
label{font-size:12px;color:var(--ink-2);font-weight:500;display:grid;gap:4px}
input,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}
.btn{font:600 13px "IBM Plex Sans",sans-serif;background:var(--brand);color:var(--brand-ink);border:0;border-radius:8px;padding:10px 16px;cursor:pointer}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--ink-2);border:1px solid var(--line);padding:4px 10px;font-weight:500}
.flash{padding:10px 14px;border-radius:10px;background:var(--good-bg);color:var(--good);font-weight:500}
.alert{padding:10px 14px;border-radius:10px;background:var(--bad-bg);color:var(--bad);margin:0}
.costs td input{max-width:120px}

/* login */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.auth .box{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;display:grid;gap:12px;box-shadow:var(--shadow)}
.auth .box h1{font-size:18px}
.auth .btn{margin-top:6px;padding:12px}

@media (max-width:960px){.kpis{grid-template-columns:repeat(3,1fr)}.kpi:nth-child(4){border-left:0}.kpi:nth-child(n+4){border-top:1px solid var(--line)}.grid2{grid-template-columns:1fr}}
@media (max-width:520px){.kpis{grid-template-columns:repeat(2,1fr)}.kpi{border-left:1px solid var(--line)!important;border-top:1px solid var(--line)}.kpi:nth-child(odd){border-left:0!important}.kpi:nth-child(-n+2){border-top:0}.kpi .v{font-size:20px}.wrap{padding-inline:16px}}
