:root{--bg: oklch(.975 .006 73);--surface: oklch(.998 .003 80);--surface-2: oklch(.958 .007 73);--surface-3: oklch(.928 .009 71);--ink: oklch(.245 .012 50);--ink-2: oklch(.455 .012 52);--ink-3: oklch(.62 .011 58);--border: oklch(.895 .008 70);--border-strong: oklch(.82 .011 66);--accent-h: 42;--accent: oklch(.64 .13 var(--accent-h));--accent-ink: oklch(.5 .125 calc(var(--accent-h) - 3));--accent-soft: oklch(.945 .042 calc(var(--accent-h) + 8));--accent-line: oklch(.835 .08 calc(var(--accent-h) + 4));--ok: oklch(.605 .115 152);--ok-soft: oklch(.945 .04 152);--warn: oklch(.745 .14 78);--warn-soft: oklch(.95 .06 82);--bad: oklch(.565 .17 28);--bad-soft: oklch(.945 .045 30);--st-hold: oklch(.6 .13 70);--st-ordered: oklch(.55 .15 250);--st-partial: oklch(.6 .14 50);--st-received: var(--ok);--st-cancelled: var(--ink-3);--st-late: var(--bad);--fs-h1: 22px;--fs-h2: 15px;--fs-body: 13.5px;--fs-cap: 11.5px;--radius: 10px;--radius-sm: 7px;--radius-lg: 16px;--shadow-sm: 0 1px 2px oklch(.3 .02 60 / .06), 0 1px 1px oklch(.3 .02 60 / .04);--shadow: 0 2px 6px oklch(.3 .02 60 / .08), 0 6px 18px oklch(.3 .02 60 / .06);--shadow-lg: 0 10px 30px oklch(.3 .02 60 / .14), 0 30px 60px oklch(.3 .02 60 / .1);--ui: "Archivo", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace}:root{color-scheme:light}[data-theme=dark]{color-scheme:dark;--bg: oklch(.205 .008 75);--surface: oklch(.255 .009 74);--surface-2: oklch(.305 .01 73);--surface-3: oklch(.36 .011 72);--ink: oklch(.955 .006 80);--ink-2: oklch(.78 .01 76);--ink-3: oklch(.62 .011 70);--border: oklch(.35 .01 72);--border-strong: oklch(.45 .012 70);--accent: oklch(.76 .15 var(--accent-h));--accent-ink: oklch(.8 .13 calc(var(--accent-h) + 4));--accent-soft: oklch(.33 .06 calc(var(--accent-h) + 10));--accent-line: oklch(.5 .095 calc(var(--accent-h) + 6));--ok: oklch(.7 .135 152);--ok-soft: oklch(.32 .055 152);--warn: oklch(.79 .14 78);--warn-soft: oklch(.33 .055 82);--bad: oklch(.68 .165 28);--bad-soft: oklch(.33 .075 30);--shadow-sm: 0 1px 2px oklch(0 0 0 / .34), 0 1px 1px oklch(0 0 0 / .28);--shadow: 0 2px 6px oklch(0 0 0 / .4), 0 6px 18px oklch(0 0 0 / .34);--shadow-lg: 0 10px 30px oklch(0 0 0 / .5), 0 30px 60px oklch(0 0 0 / .4);--st-hold: oklch(.78 .13 75);--st-ordered: oklch(.74 .13 250);--st-partial: oklch(.76 .13 55)}[data-theme=dark] .badge-warn{color:#e9b452}[data-accent=coral]{--accent-h: 42}[data-accent=clay]{--accent-h: 30}[data-accent=amber]{--accent-h: 56}[data-accent=teal]{--accent-h: 200}[data-accent=indigo]{--accent-h: 265}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}html,body{max-width:100%;overflow-x:hidden}.safe-x{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body{font-family:var(--ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.mono{font-family:var(--mono);font-feature-settings:"tnum" 1;letter-spacing:-.02em}.tnum{font-variant-numeric:tabular-nums}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-track{background:transparent}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 8px;border-radius:999px;line-height:1;text-transform:uppercase}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:#8a5600;color:oklch(.5 .12 70)}.badge-bad{background:var(--bad-soft);color:var(--bad)}.badge-neutral{background:var(--surface-2);color:var(--ink-2)}.badge-accent{background:var(--accent-soft);color:var(--accent-ink)}button{font-family:var(--ui);cursor:pointer}input,select,textarea{font-family:var(--ui)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}button,select,[role=button],a.btn{transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease,opacity .12s ease}.st-hold{color:var(--st-hold)}.st-ordered{color:var(--st-ordered)}.st-partial{color:var(--st-partial)}.st-received{color:var(--st-received)}.st-cancelled{color:var(--st-cancelled)}.st-late{color:var(--st-late)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;line-height:1;white-space:nowrap;font-size:13px;height:34px;padding:0 13px}.btn:disabled{opacity:.5;cursor:default}.btn-sm{font-size:11.5px;height:28px;padding:0 10px}.btn-lg{font-size:15px;height:46px;padding:0 18px;border-radius:var(--radius)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:not(:disabled):hover{background:var(--accent-ink)}.btn-secondary{background:var(--surface);color:var(--ink-2);border-color:var(--border)}.btn-secondary:not(:disabled):hover{background:var(--surface-2)}.btn-ghost{background:transparent;color:var(--ink-2)}.btn-ghost:not(:disabled):hover{background:var(--surface-2)}.btn-danger{background:var(--surface);color:var(--bad);border-color:var(--border)}.btn-danger:not(:disabled):hover{background:var(--bad-soft)}.stk-table{width:100%;border-collapse:collapse;font-size:12.5px}.stk-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);text-align:left;padding:9px 12px;font-size:10px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.stk-table thead th.num{text-align:right}.stk-table tbody td{padding:8px 12px;border-top:1px solid var(--border)}.stk-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.stk-table tbody tr:hover{background:var(--surface-2)}.stk-skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:stk-shimmer 1.4s ease-in-out infinite}@keyframes stk-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){.stk-skeleton{animation:none}}@keyframes scanline{0%{transform:translateY(-46px);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translateY(46px);opacity:0}}@keyframes pop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes flashok{0%{background:var(--ok-soft)}to{background:transparent}}.animate-pop{animation:pop .22s cubic-bezier(.2,.8,.3,1.2)}
