:root{--green-700:#43523b;--green-500:#6e7d63;--green-200:#ced6c4;--green-100:#e6ebdf;--cream:#fcf8ed;--white:#ffffff;--chlorophyll:#bbff5c;--deep-green:#2e5628;--clay:#a8452c;--amber:#b8802a;--font-head:"Chapeau","Nunito",system-ui,sans-serif;--font-body:"Pangea","Nunito",system-ui,sans-serif;--font-mono:"Chapeau Mono",ui-monospace,"SFMono-Regular",Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;background:var(--cream);color:var(--green-700);font-family:var(--font-body);font-size:14px}h1,h2,h3{font-family:var(--font-head);margin:0 0 8px}h1{font-weight:300;font-size:28px}h2{font-size:18px;margin-top:24px}h2,h3{font-weight:500}h3{font-size:15px}p{line-height:1.5;margin:4px 0 12px}a{color:var(--green-700)}main{padding:24px;max-width:1400px;margin:0 auto}.topbar{display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--green-700);color:var(--cream);flex-wrap:wrap}.topbar .brand{font-family:var(--font-head);font-weight:500;font-size:17px}.topbar nav{display:flex;gap:4px;flex-wrap:wrap}.topbar nav a{color:var(--cream);text-decoration:none;padding:6px 12px;border-radius:8px;font-weight:600}.topbar nav a.active{background:var(--cream);color:var(--green-700)}.topbar .pill{margin-left:auto}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--green-100);color:var(--green-700);white-space:nowrap}.pill.mode-live{background:var(--chlorophyll);color:var(--deep-green)}.pill.mode-preview{background:var(--cream);color:var(--green-700)}.pill.mode-not-configured{background:var(--amber);color:var(--white)}.pill.ok{background:var(--green-100)}.pill.err{background:var(--clay);color:var(--white)}.pill.warn{background:#f3e3c4;color:#6b4a14}.card{background:var(--white);border:1px solid var(--green-200);border-radius:12px;padding:16px 20px;margin-bottom:16px}.row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}.grow{flex:1 1 300px}.kpis{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.kpi{background:var(--white);border:1px solid var(--green-200);border-radius:12px;padding:12px 16px;min-width:170px}.kpi .v{font-family:var(--font-mono);font-size:22px}.kpi .l{font-size:12px;color:var(--green-500)}.notice{border-left:4px solid var(--amber);background:#fbf1df;padding:10px 14px;border-radius:8px;margin:8px 0}.notice.info{border-color:var(--green-500);background:var(--green-100)}.notice.err{border-color:var(--clay);background:#f6e3dd}.notice ul{margin:4px 0;padding-left:18px}.btn,button{font:inherit;font-weight:700;border:1px solid var(--green-700);background:var(--green-700);color:var(--cream);padding:8px 16px;border-radius:8px;cursor:pointer}button.secondary{background:var(--white);color:var(--green-700)}button:disabled{opacity:.5;cursor:not-allowed}input[type=number],input[type=text],textarea{font:inherit;border:1px solid var(--green-200);border-radius:8px;padding:6px 8px;background:var(--white);color:var(--green-700)}textarea{width:100%;font-family:var(--font-mono)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--green-200);margin:16px 0 0}.tabs button{background:transparent;color:var(--green-700);border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0}.tabs button.active{background:var(--white);border-color:var(--green-200)}.tablewrap{overflow-x:auto;background:var(--white);border:1px solid var(--green-200);border-radius:12px}.tabs+.tablewrap{border-top-left-radius:0}table{border-collapse:collapse;width:100%}td,th{padding:7px 10px;border-bottom:1px solid var(--green-200);text-align:left;white-space:nowrap}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--green-500);background:var(--white);position:-webkit-sticky;position:sticky;top:0}td.num,th.num{text-align:right}td.num,td.sku,th.num{font-family:var(--font-mono)}tr.created td{background:#f2f9e6}tr.group td{background:var(--green-100);font-weight:700}tr.total td{font-weight:700;border-top:2px solid var(--green-700)}.muted{color:var(--green-500)}.small{font-size:12px}.drop{border:2px dashed var(--green-200);border-radius:12px;padding:24px;text-align:center;background:var(--white)}.drop.over{border-color:var(--green-700)}pre{font-family:var(--font-mono);font-size:12px;background:var(--green-100);padding:8px;border-radius:8px;overflow-x:auto;margin:4px 0}details summary{cursor:pointer}td.partial{background:#fbf4e6}.warnc{color:#8a5a12}.okc,.warnc{font-weight:700}.okc{color:var(--deep-green)}input.cell{width:84px;text-align:right;font-family:var(--font-mono);padding:4px 6px}input.cell.edited{border-color:var(--amber);background:#fbf1df;font-weight:700}.was{font-size:11px;color:var(--green-500)}.sticky-actions{position:-webkit-sticky;position:sticky;bottom:0;background:var(--cream);padding:10px 0;border-top:1px solid var(--green-200);display:flex;gap:12px;align-items:center;flex-wrap:wrap;z-index:2}.act-create{background:var(--green-100)}.act-update{background:#fbf1df;color:#6b4a14}.act-void{background:#f6e3dd;color:var(--clay)}