:root{--nfv-green:#2eae60;--nfv-green-dark:#076324;--nfv-blue:#2a78d6;--nfv-orange:#eb6834;--nfv-violet:#4a3aa7;--nfv-magenta:#e87ba4;--ink-1:#0b0b0b;--ink-2:#52514e;--ink-3:#898781;--gridline:#e1e0d9;--good:#0ca30c;--critical:#d03b3b;--bg:#faf9f6;--surface:#fff;--surface-2:#f3f2ee;--border:#e1e0d9;--shadow:0 1px 2px rgba(11,11,11,.04), 0 4px 12px rgba(11,11,11,.06)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ink-1:#f5f4f0;--ink-2:#b9b7b0;--ink-3:#8b8983;--bg:#131311;--surface:#1c1c1a;--surface-2:#232320;--border:#33322e;--gridline:#33322e;--nfv-green:#3ec975;--good:#3fbf3f;--shadow:0 1px 2px rgba(0,0,0,.3), 0 4px 14px rgba(0,0,0,.35)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink-1);font:16px/1.55 Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.wrap{max-width:1280px;margin:0 auto;padding-block:36px 64px;padding-inline:20px}.wrap.narrow{max-width:460px}header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}header h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em}header .sub{margin:2px 0 0;color:var(--ink-2);font-size:14px}header button{margin-left:auto}h2{font-size:18px;margin:28px 0 10px}.muted{color:var(--ink-3)}.small{font-size:13px}.centre{text-align:center}.strong{font-weight:700}.error{color:var(--critical);font-size:14px}.controls{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin:18px 0}.controls label{display:flex;flex-direction:column;gap:5px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-weight:600}.controls .grow{flex:1;min-width:180px}select,input[type=text],input[type=email],input[type=number],.controls input{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink-1);text-transform:none;letter-spacing:normal;font-weight:400}button{font:inherit;font-weight:600;padding:9px 16px;border-radius:8px;cursor:pointer;border:1px solid var(--nfv-green-dark);background:var(--nfv-green-dark);color:#fff}button:disabled{opacity:.6;cursor:default}button.ghost{background:transparent;color:var(--ink-2);border-color:var(--border)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px;box-shadow:var(--shadow)}.card form{display:flex;flex-direction:column;gap:10px}.card label{font-size:13px;font-weight:600;color:var(--ink-2)}.stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 18px;min-width:150px;box-shadow:var(--shadow)}.stat .n{display:block;font-size:28px;font-weight:700;line-height:1.1}.stat .l{display:block;font-size:12px;color:var(--ink-2);margin-top:2px}.stat.warn .n{color:var(--nfv-orange)}.banner{border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:14px;border:1px solid var(--border);background:var(--surface-2)}.banner.warn{border-left:4px solid var(--nfv-orange)}.banner.critical{border-left:4px solid var(--critical);color:var(--critical)}.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;font-size:14px;min-width:940px}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--gridline);vertical-align:middle}thead th{position:sticky;top:0;background:var(--surface-2);z-index:1;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-weight:700;white-space:nowrap}thead th .unit{display:block;font-size:10px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink-3)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2)}.num{text-align:right;font-variant-numeric:tabular-nums}.pname{font-weight:600}.pmeta{font-size:12px;color:var(--ink-3)}tr.suspect{background:color-mix(in srgb,var(--nfv-orange) 6%,transparent)}tr.suspect td:first-child{box-shadow:inset 3px 0 0 var(--nfv-orange)}.flag{display:inline-block;margin-left:6px;width:16px;height:16px;line-height:16px;text-align:center;border-radius:50%;background:var(--nfv-orange);color:#fff;font-size:11px;font-weight:700;cursor:help}.tag{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;background:color-mix(in srgb,var(--nfv-blue) 12%,transparent);color:var(--nfv-blue);font-weight:600;white-space:nowrap}.tag.manual{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good);margin-left:6px}.ema{display:inline-block;margin-left:5px;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;border:1px solid var(--border);color:var(--ink-2)}.ema-B{border-color:var(--critical);color:var(--critical)}.ema-A{border-color:var(--nfv-violet);color:var(--nfv-violet)}input.qty{width:76px;text-align:right}input[type=checkbox]{width:18px;height:18px;accent-color:var(--nfv-green-dark)}footer{margin-top:28px;max-width:70ch}@media (max-width:640px){.wrap{padding-block:24px 48px}header{flex-wrap:wrap}.stat{flex:1;min-width:120px}}.trend{margin-left:6px;font-size:11px;font-weight:600;color:var(--ink-3);white-space:nowrap}.trend.up{color:var(--nfv-orange)}.trend.down{color:var(--nfv-blue)}td.sense{max-width:150px}.sensechip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;cursor:help;border:1px solid transparent}.s-ok{background:color-mix(in srgb,var(--good) 10%,transparent);color:var(--good);border-color:color-mix(in srgb,var(--good) 35%,transparent)}.s-stock-not-credible{background:color-mix(in srgb,var(--nfv-orange) 14%,transparent);color:var(--nfv-orange);border-color:var(--nfv-orange)}.s-zero-but-low-stock{background:color-mix(in srgb,var(--critical) 12%,transparent);color:var(--critical);border-color:var(--critical)}.s-high-vs-sales{background:color-mix(in srgb,var(--nfv-violet) 12%,transparent);color:var(--nfv-violet);border-color:var(--nfv-violet)}.s-buying-more,.s-buying-less,.s-no-recent-purchases{background:var(--surface-2);color:var(--ink-2);border-color:var(--border)}
