:root{--bg: #0a0f1a;--bg-2: #111a2c;--panel: #151f34;--panel-2: #1c2a46;--line: #263a5e;--text: #eef3ff;--muted: #8fa2c4;--accent: #2ee6a6;--accent-2: #14a37c;--warn: #ffb020;--danger: #ff5d6c;--ink-on-accent: #04231a;--ink-on-warn: #2b1900;--ink-on-danger: #2b0507;--accent-wash: rgba(46, 230, 166, .09);--danger-wash: rgba(255, 93, 108, .12);--grain: rgba(255, 255, 255, .03);--shadow: 0 10px 40px rgba(0, 0, 0, .45);--shadow-sm: 0 4px 14px rgba(0, 0, 0, .3);--radius: 14px;--radius-sm: 10px;--font-display: "Big Shoulders Display", sans-serif;--font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:dark;font-family:var(--font-body)}:root[data-theme=light]{--bg: #f5f1e8;--bg-2: #ece5d4;--panel: #ffffff;--panel-2: #f8f4e9;--line: #ded3b8;--text: #1c2333;--muted: #6b7488;--accent: #0f9e73;--accent-2: #0c7f5c;--warn: #b5720a;--danger: #c22b3d;--ink-on-accent: #ffffff;--ink-on-warn: #ffffff;--ink-on-danger: #ffffff;--accent-wash: rgba(15, 158, 115, .07);--danger-wash: rgba(194, 43, 61, .08);--grain: rgba(28, 35, 51, .05);--shadow: 0 10px 30px rgba(40, 32, 12, .12);--shadow-sm: 0 4px 12px rgba(40, 32, 12, .09);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background-color:var(--bg);background-image:radial-gradient(1100px 760px at 82% -12%,var(--bg-2) 0%,transparent 55%),radial-gradient(var(--grain) 1px,transparent 1px);background-size:auto,25px 25px;background-attachment:fixed,fixed;color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color .35s ease,color .35s ease}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible{outline:none}.boot{display:grid;place-items:center;height:100%;color:var(--muted);font-size:14px}.theme-toggle{background:none;border:none;padding:0;cursor:pointer;line-height:0}.theme-toggle-track{display:inline-flex;align-items:center;width:46px;height:26px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);padding:2px;transition:background-color .25s ease,border-color .25s ease}:root[data-theme=light] .theme-toggle-track{justify-content:flex-end}.theme-toggle-thumb{width:20px;height:20px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-size:11px;box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.theme-toggle:hover .theme-toggle-track{border-color:var(--accent)}.btn{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:12px;padding:12px 16px;font-family:var(--font-body);font-size:14px;font-weight:700;cursor:pointer;transition:transform .05s ease,filter .15s ease,background-color .35s ease,border-color .35s ease}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--ink-on-accent);border-color:transparent}.btn-lg{padding:14px;font-size:15.5px;width:100%}.btn-ghost{background:transparent}.shell{display:grid;grid-template-columns:264px 1fr;height:100%;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:18px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.sidebar-brand{font-family:var(--font-display);font-weight:800;font-size:21px;text-transform:uppercase;letter-spacing:.2px;display:flex;align-items:baseline;gap:6px;padding:6px 10px 16px}.sidebar-brand .tri{color:var(--accent);font-size:16px}.sidebar-brand .brand-sub{color:var(--muted);font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:1.2px}.nav-top,.nav-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:9px;color:var(--text);font-size:13.5px;font-weight:600}.nav-top{margin-bottom:10px}.nav-top:hover,.nav-item:hover{background:var(--panel-2)}.nav-active{background:var(--accent-wash);color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.nav-group{margin-top:8px}.nav-group-label{font-family:var(--font-display);font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:6px 12px 2px}.nav-item{font-size:13px;font-weight:500;padding-left:20px;color:var(--muted)}.nav-item.nav-active{color:var(--accent);font-weight:700}.nav-badge{font-size:9.5px;font-weight:800;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:1px 6px;letter-spacing:.3px;flex-shrink:0}.shell-main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 26px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-2) 70%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-org{font-family:var(--font-display);font-weight:700;font-size:17px;text-transform:uppercase}.topbar-meta{display:flex;align-items:center;gap:12px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600}.role-tag{font-size:9.5px;font-weight:800;letter-spacing:.5px;color:var(--accent);background:var(--accent-wash);border-radius:999px;padding:1px 7px}.content{flex:1;padding:30px 34px;overflow-y:auto}.page{max-width:920px}.page-head{margin-bottom:26px}.eyebrow{color:var(--accent);font-size:11.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.page h1{font-family:var(--font-display);font-size:32px;font-weight:800;text-transform:uppercase;letter-spacing:-.2px;margin:6px 0 8px}.page-lead{color:var(--muted);font-size:14.5px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:26px}.dash-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-sm);transition:border-color .15s ease,transform .1s ease}.dash-card:hover{border-color:var(--accent);transform:translateY(-1px)}.dash-card-n{font-family:var(--font-display);font-weight:700;font-size:11px;color:var(--accent);letter-spacing:1px}.dash-card h3{margin:2px 0;font-size:16px;font-weight:800}.dash-card p{margin:0 0 10px;color:var(--muted);font-size:12.5px;line-height:1.5}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 11px;border-radius:999px;width:fit-content}.status-ok{background:var(--accent-wash);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.status-soon{background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent)}.box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;font-size:13.5px;color:var(--muted);line-height:1.6}.box strong{color:var(--text);display:block;margin-bottom:4px;font-size:14.5px}.box-success{background:var(--accent-wash);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.box-success strong{color:var(--accent)}.empty-state{background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);padding:50px 30px;text-align:center;color:var(--muted)}.empty-icon{font-size:34px;margin-bottom:10px}.empty-state h2{color:var(--text);font-size:18px;margin:0 0 8px}.empty-state p{max-width:420px;margin:0 auto;font-size:13.5px;line-height:1.6}.auth-screen{height:100%;min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(400px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow);display:flex;flex-direction:column}.auth-logo{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--accent);text-transform:uppercase;margin-bottom:20px}.auth-logo span{color:var(--muted);font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:1.5px;margin-left:4px}.auth-card h1{font-family:var(--font-display);font-size:25px;font-weight:700;text-transform:uppercase;margin:0 0 4px}.auth-sub{color:var(--muted);font-size:13px;margin:0 0 20px}.auth-card label{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px}.auth-input{width:100%;background:var(--bg-2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:12px 14px;font-family:var(--font-body);font-size:14.5px;outline:none;transition:border-color .15s ease}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.auth-password-row{display:flex;gap:8px;align-items:center}.auth-password-row .auth-input{flex:1}.auth-eye{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;font-size:16px;flex-shrink:0}.auth-hint{font-size:11px;color:var(--muted);margin-top:5px}.auth-forgot{font-size:12px;color:var(--muted);margin-top:12px;cursor:default}.auth-forgot em{font-style:normal;opacity:.7}.auth-error{background:var(--danger-wash);border:1px solid var(--danger);color:var(--text);border-radius:10px;padding:10px 13px;font-size:12.5px;font-weight:600;margin-bottom:6px}.auth-card .btn-lg{margin-top:22px}.auth-switch{text-align:center;font-size:13px;color:var(--muted);margin:18px 0 0}.auth-switch a{color:var(--accent);font-weight:700}.page-wide{max-width:1080px}.page-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.toolbar{display:flex;gap:8px;margin-bottom:16px}.search-input{max-width:380px}.form-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.form-card h3{margin:0 0 14px;font-family:var(--font-display);font-size:17px;font-weight:700;text-transform:uppercase}.form-row{display:flex;gap:12px;margin-bottom:12px;align-items:flex-end;flex-wrap:wrap}.form-field{display:flex;flex-direction:column;min-width:140px}.form-field.grow{flex:1}.form-field.narrow{max-width:130px}.form-field label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.form-section-label{display:block;font-size:11.5px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.8px;margin:16px 0 10px}.variant-row{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:12px}.variant-remove{align-self:center}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}select.auth-input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.table-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th{text-align:left;padding:11px 16px;font-family:var(--font-display);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);border-bottom:1px solid var(--line)}.data-table td{padding:10px 16px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.data-table tr:last-child td{border-bottom:none}.data-table .num{text-align:right}.data-table .mono{font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.product-row td{background:var(--bg-2)}.row-inactive td{opacity:.55}.variant-line .variant-name{padding-left:26px;color:var(--muted)}.cat-tag{margin-left:8px;font-size:10.5px;font-weight:700;color:var(--accent);background:var(--accent-wash);border-radius:999px;padding:2px 8px}.inactive-tag{margin-left:8px;font-size:10.5px;font-weight:700;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);border-radius:999px;padding:2px 8px}.row-actions{text-align:right;white-space:nowrap}.btn-sm{padding:6px 10px;font-size:12px;border-radius:8px}.price-value{background:none;border:none;color:var(--text);font-family:var(--font-mono);font-size:13.5px;font-weight:700;cursor:pointer;padding:4px 6px;border-radius:6px}.price-value:hover{background:var(--accent-wash);color:var(--accent)}.price-edit{display:inline-flex;gap:6px;align-items:center}.price-input{width:110px;padding:7px 10px;font-size:13px;text-align:right}:root{--chart-accent: #14a37c}:root[data-theme=light]{--chart-accent: #0f9e73}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px}.stat-tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:3px;box-shadow:var(--shadow-sm)}.stat-label{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}.stat-value{font-family:var(--font-display);font-size:30px;font-weight:800;letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.1}.stat-sub{font-size:12px;color:var(--muted)}.stat-hero{background:linear-gradient(155deg,var(--accent),var(--accent-2));border-color:transparent}.stat-hero .stat-label,.stat-hero .stat-sub{color:var(--ink-on-accent);opacity:.85}.stat-hero .stat-value{color:var(--ink-on-accent);font-size:34px}.range-filter{display:flex;gap:6px}.chart-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px 14px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.chart-head h3{margin:0;font-family:var(--font-display);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.chart-hover-value{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.chart-hover-value strong{color:var(--text);font-family:var(--font-mono)}.chart-plot{position:relative}.chart-svg{display:block;width:100%;height:180px;overflow:visible}.chart-grid{stroke:var(--line);stroke-width:1;opacity:.55}.chart-area{fill:var(--chart-accent);opacity:.16}.chart-line{fill:none;stroke:var(--chart-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.chart-dot{fill:var(--chart-accent);stroke:var(--panel);stroke-width:.6}.chart-hitareas{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.chart-hit{flex:1;background:none;border:none;padding:0;cursor:pointer}.chart-hit:focus-visible{background:var(--accent-wash);outline:none}.chart-axis{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.chart-axis-max{font-family:var(--font-mono);opacity:.8}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.two-col .table-card{margin:0}.two-col .chart-head{padding:16px 18px 0;margin-bottom:8px}.share-tag{margin-left:8px;font-size:10.5px;font-weight:700;color:var(--muted);background:var(--panel-2);border-radius:999px;padding:2px 7px}.muted-cell{color:var(--muted);font-size:13px}.status-bad{background:var(--danger-wash);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 40%,transparent)}.fiscal-ok-tag{color:var(--accent);font-size:12px;font-weight:700}.fiscal-wait-tag{color:var(--warn);font-size:12px;font-weight:600}.key-cell{font-size:11px;letter-spacing:.3px;max-width:320px}.pager{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.pager-actions{display:flex;gap:8px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:8px 0 12px}.section-title{margin:0;font-family:var(--font-display);font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.qty-in{color:var(--accent);font-weight:700}.qty-out{color:var(--warn);font-weight:700}.qty-zero{color:var(--danger);font-weight:700}.role-select{padding:6px 10px;font-size:12.5px;max-width:190px}@media (max-width: 900px){.two-col{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media (max-width: 860px){.shell{grid-template-columns:1fr}.sidebar{display:none}}
