  :root{
    --bg:#F3F4F7; --surface:#FFFFFF; --surface-alt:#ECEEF2;
    --ink:#12151C; --ink-muted:#5B6270; --ink-faint:#9198A6;
    --line:#E1E3E9; --line-strong:#CBCFD8;
    --brand:#2F4CDB; --brand-soft:#EAEDFC;
    --good:#1D8A5A; --good-soft:#E3F4EC;
    --warn:#B8730F; --warn-soft:#FAEEDB;
    --bad:#C0433D; --bad-soft:#FBE8E7;
    --nodata:#9AA0AC; --nodata-soft:#EEEFF2;
    --radius:12px; --radius-sm:8px;
    --shadow:0 1px 2px rgba(18,21,28,.04), 0 8px 24px -12px rgba(18,21,28,.12);
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;}
  .wrap{max-width:1180px;margin:0 auto;padding:28px 20px 80px;}
  a{color:inherit;}
  header.top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
  .brandmark{display:flex;align-items:center;gap:12px;}
  .brandmark .mark{width:34px;height:34px;border-radius:9px;background:var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .brandmark .mark svg{width:18px;height:18px;}
  h1{font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:600;margin:0;letter-spacing:-.01em;}
  .subhead{color:var(--ink-muted);font-size:12.5px;margin-top:2px;}
  .top-controls{display:flex;align-items:center;gap:10px;font-size:13px;}
  .top-controls input[type=date]{font-family:'JetBrains Mono',monospace;font-size:12.5px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:7px 10px;background:var(--surface);color:var(--ink);}
  .btn{font-family:'Inter',sans-serif;font-weight:600;font-size:12.5px;border:none;border-radius:var(--radius-sm);padding:8px 14px;cursor:pointer;background:var(--ink);color:#fff;transition:opacity .15s;}
  .btn:hover{opacity:.85;}
  .btn.ghost{background:transparent;color:var(--ink-muted);border:1px solid var(--line-strong);}
  .eyebrow{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);font-weight:500;}
  .hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 18px;box-shadow:var(--shadow);margin-bottom:18px;}
  .kpi-row{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line);}
  .kpi .num{font-family:'Space Grotesk',sans-serif;font-size:28px;font-weight:600;letter-spacing:-.01em;}
  .kpi .lbl{font-size:11.5px;color:var(--ink-muted);margin-top:2px;}
  .kpi .num.good{color:var(--good);} .kpi .num.warn{color:var(--warn);} .kpi .num.bad{color:var(--bad);}
  .market-strips{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;}
  .market-tile{border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;cursor:pointer;transition:border-color .15s;background:var(--surface);}
  .market-tile:hover{border-color:var(--line-strong);}
  .market-tile.active{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);}
  .market-tile .mt-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
  .market-tile .mt-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14.5px;}
  .market-tile .mt-pct{font-family:'JetBrains Mono',monospace;font-weight:600;font-size:13px;}
  .market-tile .mt-count{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-faint);margin-top:6px;}
  .pct-good{color:var(--good);} .pct-warn{color:var(--warn);} .pct-bad{color:var(--bad);}
  .strip{display:flex;gap:1.5px;height:22px;border-radius:4px;overflow:hidden;}
  .strip.tall{height:30px;}
  .strip .seg{flex:1 1 0;min-width:1.5px;background:var(--good);}
  .strip .seg.out{background:var(--bad);}
  .strip .seg.nodata{background:repeating-linear-gradient(45deg,var(--nodata),var(--nodata) 2px,#fff 2px,#fff 4px);}
  .strip-legend{display:flex;gap:14px;align-items:center;margin-top:14px;font-size:11.5px;color:var(--ink-muted);flex-wrap:wrap;}
  .strip-legend .lg{display:flex;align-items:center;gap:5px;}
  .strip-legend .sw{width:10px;height:10px;border-radius:2px;flex-shrink:0;}
  .tabs{display:flex;gap:4px;margin:22px 0 16px;overflow-x:auto;padding-bottom:2px;}
  .tab{font-family:'Inter',sans-serif;font-weight:600;font-size:13px;padding:8px 15px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);cursor:pointer;white-space:nowrap;transition:all .15s;}
  .tab.active{background:var(--ink);color:#fff;border-color:var(--ink);}
  .tab:hover:not(.active){border-color:var(--line-strong);color:var(--ink);}
  .toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
  .search{position:relative;}
  .search input{font-family:'Inter',sans-serif;font-size:13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:8px 12px 8px 32px;width:230px;background:var(--surface);color:var(--ink);}
  .search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink-faint);}
  .sort-note{font-size:11.5px;color:var(--ink-faint);}
  .cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;}
  .cat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;cursor:pointer;transition:border-color .15s,transform .1s;}
  .cat-card:hover{border-color:var(--brand);transform:translateY(-1px);}
  .cat-card .cc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:9px;}
  .cc-name{font-weight:600;font-size:13px;line-height:1.3;}
  .cc-market{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;}
  .badge{font-family:'JetBrains Mono',monospace;font-weight:600;font-size:11.5px;padding:3px 7px;border-radius:5px;white-space:nowrap;flex-shrink:0;}
  .badge.good{color:var(--good);background:var(--good-soft);}
  .badge.warn{color:var(--warn);background:var(--warn-soft);}
  .badge.bad{color:var(--bad);background:var(--bad-soft);}
  .cc-count{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-faint);margin-top:7px;}
  .section-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;margin:34px 0 4px;}
  .section-desc{color:var(--ink-muted);font-size:12.5px;margin-bottom:14px;max-width:640px;}
  .overlay{position:fixed;inset:0;background:rgba(18,21,28,.35);opacity:0;pointer-events:none;transition:opacity .18s;z-index:40;}
  .overlay.open{opacity:1;pointer-events:auto;}
  .drawer{position:fixed;top:0;right:0;height:100%;width:min(460px,92vw);background:var(--surface);box-shadow:-12px 0 32px rgba(18,21,28,.14);transform:translateX(100%);transition:transform .22s ease;z-index:41;display:flex;flex-direction:column;}
  .drawer.open{transform:translateX(0);}
  .drawer-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;}
  .drawer-head h3{font-family:'Space Grotesk',sans-serif;font-size:16px;margin:0 0 3px;}
  .drawer-close{background:none;border:none;cursor:pointer;color:var(--ink-faint);font-size:20px;line-height:1;padding:2px;}
  .drawer-body{padding:14px 20px 24px;overflow-y:auto;flex:1;}
  .sku-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer;}
  .sku-row:hover .sku-name{color:var(--brand);}
  .sku-code{font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:500;transition:color .1s;}
  .sku-name{font-size:13px;font-weight:500;transition:color .1s;line-height:1.3;}
  .sku-code-small{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-faint);margin-top:1px;}
  .sku-price{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-muted);}
  .sku-meta{display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .pill{display:inline-flex;align-items:center;gap:5px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;}
  .pill.good{background:var(--good-soft);color:var(--good);}
  .pill.bad{background:var(--bad-soft);color:var(--bad);}
  .pill.nodata{background:var(--nodata-soft);color:var(--nodata);}
  .history-panel{background:var(--surface-alt);border-radius:var(--radius-sm);padding:14px;margin-bottom:10px;}
  .history-panel h4{font-family:'Space Grotesk',sans-serif;font-size:12.5px;margin:0 0 8px;}
  .cal{display:grid;grid-template-columns:repeat(10,1fr);gap:2.5px;margin-top:4px;}
  .cal .d{aspect-ratio:1;border-radius:2px;background:var(--good);}
  .cal .d.out{background:var(--bad);}
  .cal .d.nd{background:var(--nodata-soft);border:1px solid var(--nodata);}
  .cal-legend{display:flex;gap:12px;margin-top:8px;font-size:10.5px;color:var(--ink-faint);}
  .cal-legend .lg{display:flex;align-items:center;gap:4px;}
  .cal-legend .sw{width:8px;height:8px;border-radius:2px;}
  .chart-box{margin-top:8px;padding:12px;background:var(--surface-alt);border-radius:var(--radius-sm);}
  .chart-empty{font-size:11.5px;color:var(--ink-faint);font-style:italic;}
  table.dtable{width:100%;border-collapse:collapse;margin-top:8px;}
  table.dtable th, table.dtable td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);font-size:12.5px;}
  table.dtable th{color:var(--ink-faint);font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;}
  .form-row{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap;}
  .form-row input[type=text], .form-row input[type=date], .form-row select, .form-row textarea{font-family:'JetBrains Mono',monospace;font-size:12.5px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:8px 10px;background:var(--surface);color:var(--ink);}
  .form-row textarea{font-family:'Inter',sans-serif;width:100%;min-height:52px;resize:vertical;}
  .notes-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);margin-bottom:18px;}
  .note-item{padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px;}
  .note-item:last-child{border-bottom:none;}
  .note-meta{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-faint);margin-bottom:2px;}
  .note-market-pill{display:inline-block;background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:1px 7px;font-size:10px;font-weight:600;margin-right:6px;}
  .toggle-link{font-size:11.5px;color:var(--brand);cursor:pointer;font-weight:600;background:none;border:none;padding:0;}
  .global-market-tag{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--brand);font-weight:600;background:var(--brand-soft);border-radius:4px;padding:1px 5px;margin-right:4px;}
  footer.foot{margin-top:40px;font-size:11px;color:var(--ink-faint);text-align:center;}
  @media (max-width:640px){.kpi-row{gap:18px;} .kpi .num{font-size:22px;} .search input{width:170px;}}
