:root{color-scheme:dark;--bg:#080d15;--bg-elevated:#0d1421;--panel:#111a29;--panel-2:#172235;--panel-3:#1d2a40;--line:#2b3850;--line-strong:#3f506d;--text:#edf4ff;--muted:#9ca9bd;--soft:#6c7890;--accent:#38a8ff;--accent-2:#23d5a1;--green:#20c989;--yellow:#ffbd2e;--red:#ff5c66;--orange:#ff8a3d;--input:#0b121e;--sidebar:#0b111d;--topbar:rgb(12 19 31/0.88);--shadow:0 18px 60px rgb(0 0 0/0.32);--glow-blue:0 0 28px rgb(56 168 255/0.2);--radius:8px;--sidebar-width:76px}:root[data-theme=light]{color-scheme:light;--bg:#eef2f7;--bg-elevated:#f8fafc;--panel:#ffffff;--panel-2:#f3f6fb;--panel-3:#e8eef7;--line:#d5deeb;--line-strong:#b7c4d6;--text:#152033;--muted:#5f6f86;--soft:#7b8798;--accent:#0f83dc;--accent-2:#0f9f78;--green:#0d9463;--yellow:#b77900;--red:#d92d3a;--orange:#c35f14;--input:#ffffff;--sidebar:#172033;--topbar:rgb(248 250 252/0.9);--shadow:0 18px 48px rgb(43 56 80/0.14);--glow-blue:0 0 24px rgb(15 131 220/0.14)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at 20% 0,rgb(56 168 255/.13),transparent 28rem),radial-gradient(circle at 80% 10%,rgb(35 213 161/.08),transparent 26rem),var(--bg);color:var(--text);font-family:IBM Plex Sans Thai,Noto Sans Thai,Segoe UI,sans-serif}body{min-width:320px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.65fr);grid-gap:22px;gap:22px;align-items:stretch;padding:26px;background:linear-gradient(120deg,rgb(56 168 255/.12),transparent 38%),linear-gradient(240deg,rgb(35 213 161/.08),transparent 42%),var(--bg)}.login-card,.login-stage{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}.login-stage{display:grid;align-content:space-between;overflow:hidden;background:linear-gradient(135deg,rgb(56 168 255/.12),transparent 46%),linear-gradient(315deg,rgb(35 213 161/.09),transparent 42%),var(--panel)}.login-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.login-hero{max-width:720px;display:grid;grid-gap:16px;gap:16px}.login-hero h1{margin:0;font-size:clamp(42px,6vw,78px);line-height:.95;letter-spacing:0}.login-hero p{max-width:560px;margin:0;color:var(--muted);font-size:17px;line-height:1.65}.login-signal-grid{display:flex;flex-wrap:wrap;gap:10px}.login-signal-grid>div{display:inline-flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius);background:rgb(255 255 255/.028);color:var(--muted);font-size:13px}.login-card{align-self:center;width:min(460px,100%)}.login-card-header{display:grid;grid-gap:6px;gap:6px;margin-bottom:18px}.login-card h2{margin:0;font-size:28px}.login-form .button{width:100%}.login-dev-note{margin:0;font-size:12px}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.app-shell,.workspace{display:grid;min-width:0}.workspace{grid-template-rows:72px minmax(0,1fr)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;min-width:0;height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px 0 30px;background:var(--topbar);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar-eyebrow{color:var(--muted);font-size:12px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em}.topbar-title{margin:2px 0 0;font-size:clamp(24px,2.4vw,34px);line-height:1.1;letter-spacing:0}.topbar-actions,.topbar-user{display:inline-flex;align-items:center;gap:10px}.topbar-user{cursor:pointer;min-height:42px;padding:5px 10px 5px 6px;background:var(--panel);border:1px solid var(--line);border-radius:999px}.topbar-user:hover{border-color:var(--line-strong);background:var(--panel-2)}.topbar-user-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.topbar-chevron{color:var(--muted)}.avatar{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:999px;color:var(--accent);background:linear-gradient(135deg,rgb(56 168 255/.18),rgb(35 213 161/.12));border:1px solid var(--line)}.user-menu{position:relative}.user-menu-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:50;width:220px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.user-menu-name{font-weight:800}.user-menu-meta{margin-top:2px;color:var(--muted);font-size:12px}.user-menu-action{width:100%;margin-top:12px;justify-content:flex-start}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:30;width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);flex:0 0 var(--sidebar-width);height:100vh;background:linear-gradient(180deg,rgb(56 168 255/.08),transparent 32%),var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:visible;scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar{display:none;width:0;height:0}.brand{flex:0 0 64px;height:64px;display:grid;place-items:center;border-bottom:1px solid var(--line)}.brand-link{position:relative;display:grid;place-items:center;text-decoration:none;border-radius:14px}.brand-link:focus-visible{outline:2px solid rgb(56 168 255/.5);outline-offset:4px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#dff2ff;background:linear-gradient(145deg,#176eb8,#21466f);border:1px solid rgb(112 181 255/.38);font-weight:800;box-shadow:var(--glow-blue)}.brand-hint{position:absolute;left:calc(100% + 13px);top:50%;z-index:85;min-width:188px;transform:translate(-4px,-50%);opacity:0;visibility:hidden;pointer-events:none;color:var(--text);background:color-mix(in srgb,var(--panel) 92%,var(--bg));border:1px solid var(--line-strong);border-radius:9px;padding:9px 11px;box-shadow:var(--shadow);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.brand-hint:before{content:"";position:absolute;left:-5px;top:50%;width:9px;height:9px;transform:translateY(-50%) rotate(45deg);background:inherit;border-left:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.brand-hint small,.brand-hint strong{display:block}.brand-hint strong{font-size:12px;line-height:1.1}.brand-hint small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}.brand-link:focus .brand-hint,.brand-link:focus-visible .brand-hint,.brand-link:hover .brand-hint{opacity:1;visibility:visible;transform:translateY(-50%)}.nav{flex:1 1 auto;min-height:0;padding:5px 0;overflow:visible;display:grid;justify-items:center;align-content:start;grid-gap:1px;gap:1px;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.nav::-webkit-scrollbar{display:none;width:0;height:0}.nav-separator{width:26px;height:1px;margin:3px auto 2px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent);opacity:.42}.nav-link{position:relative;width:44px;height:44px;min-height:44px;display:grid;place-items:center;border-radius:11px;color:#96a6bc;border:1px solid transparent;background:transparent;text-decoration:none;cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.nav-link:before{content:"";position:absolute;left:4px;top:11px;bottom:11px;width:3px;border-radius:999px;background:transparent;transition:background .16s ease,box-shadow .16s ease}.nav-link:focus-visible,.nav-link:hover{color:var(--accent);background:rgb(56 168 255/.11);border-color:rgb(56 168 255/.24)}.nav-link:focus-visible{outline:2px solid rgb(56 168 255/.5);outline-offset:2px}.nav-link.active{color:#eef9ff;background:linear-gradient(135deg,rgb(56 168 255/.23),rgb(56 168 255/.1)),rgb(56 168 255/.08);border-color:rgb(56 168 255/.42);box-shadow:inset 0 0 0 1px rgb(255 255 255/.04),0 0 0 1px rgb(56 168 255/.07),0 0 18px rgb(56 168 255/.14)}.nav-link.active:before{background:var(--accent);box-shadow:0 0 14px rgb(56 168 255/.75)}.nav-tooltip{position:absolute;left:calc(100% + 10px);top:50%;z-index:80;transform:translate(-4px,-50%);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;color:var(--text);background:color-mix(in srgb,var(--panel) 92%,var(--bg));border:1px solid var(--line-strong);border-radius:8px;padding:8px 11px;font-size:12px;font-weight:800;line-height:1;box-shadow:var(--shadow);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.nav-tooltip:before{content:"";position:absolute;left:-5px;top:50%;width:9px;height:9px;transform:translateY(-50%) rotate(45deg);background:inherit;border-left:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.nav-link:focus .nav-tooltip,.nav-link:focus-visible .nav-tooltip,.nav-link:hover .nav-tooltip{opacity:1;visibility:visible;transform:translateY(-50%)}.nav-button{border:0}.sidebar-footer{margin-top:auto;flex:0 0 auto;display:grid;place-items:center;padding:6px 0 8px;border-top:1px solid var(--line)}.sidebar-footer form{margin:0}@media (min-width:981px) and (max-height:760px){.nav{overflow-x:hidden;overflow-y:auto}}.main{min-width:0;padding:26px 30px 34px}.page-stack{display:grid;grid-gap:16px;gap:16px;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.page-title{margin:0;font-size:24px;line-height:1.2}.page-description{margin:5px 0 0;color:var(--muted)}.grid{display:grid;grid-gap:14px;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(180deg,rgb(255 255 255/.035),transparent),var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:inset 0 1px 0 rgb(255 255 255/.03)}.card h2{margin:0;font-size:18px;line-height:1.25}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.card-meta{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.stat{position:relative;min-height:112px;overflow:hidden}.stat:after{content:"";position:absolute;inset:auto 14px 12px auto;width:54px;height:3px;border-radius:999px;background:currentColor;opacity:.55}.stat-blue{color:var(--accent)}.stat-green{color:var(--green)}.stat-yellow{color:var(--yellow)}.stat-red{color:var(--red)}.stat-label{color:var(--muted);font-size:12px}.stat-value{margin-top:10px;color:var(--text);font-size:34px;font-weight:800;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .muted{margin-top:9px;font-size:12px}.blue{color:var(--accent)}.green{color:var(--green)}.yellow{color:var(--yellow)}.red{color:var(--red)}.muted{color:var(--muted)}.compact-copy{margin:-6px 0 12px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.filter-panel{padding:14px}.filter-toolbar{margin:0;display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,220px) auto;align-items:end}.transaction-filter{grid-template-columns:minmax(220px,1fr) minmax(210px,250px) minmax(142px,170px) minmax(142px,170px) auto}.date-filter,.filter-search,.filter-select{min-width:0}.filter-submit{min-width:118px}.input,.select,.textarea{width:100%;border:1px solid var(--line);background:var(--input);color:var(--text);border-radius:var(--radius);padding:10px 12px;min-height:40px}.input:focus,.select:focus,.textarea:focus{outline:2px solid rgb(56 168 255/.28);border-color:var(--accent)}.textarea{min-height:86px;resize:vertical}.field{display:grid;grid-gap:6px;gap:6px}.label{color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.form-grid .wide{grid-column:1/-1}.button,.icon-button{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:var(--radius);min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button{padding:9px 13px}.icon-button{width:40px;padding:0}.icon-text{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.button:hover,.icon-button:hover{border-color:var(--line-strong);background:var(--panel-3)}.button.primary{background:linear-gradient(135deg,var(--accent),#2bd3e7);border-color:rgb(56 168 255/.45);color:#06111f;font-weight:800}.button.danger{border-color:rgb(255 92 102/.4);color:var(--red)}.icon-button.danger{border-color:rgb(255 92 102/.35);color:var(--red)}.button.ghost{background:transparent}.theme-toggle{border-radius:999px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:rgb(0 0 0/.08)}.table-panel{padding:0;overflow:hidden}.table-panel .card-header{padding:14px 16px;margin-bottom:0;border-bottom:1px solid var(--line)}.table-panel .table-wrap{border:0;border-radius:0}.data-table{background:transparent}table{width:100%;border-collapse:collapse;min-width:760px}td,th{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.compact-table td,.compact-table th{padding:8px 10px;font-size:13px}th{color:var(--muted);font-size:12px;background:rgb(255 255 255/.025);font-weight:700}td{color:color-mix(in srgb,var(--text) 91%,var(--muted))}tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:999px;min-height:24px;padding:3px 9px;font-size:12px;font-weight:800;border:1px solid transparent;white-space:nowrap}.badge.red,.badge.zero{color:var(--red);background:rgb(255 92 102/.12);border-color:rgb(255 92 102/.3)}.badge.low,.badge.yellow{color:var(--yellow);background:rgb(255 189 46/.14);border-color:rgb(255 189 46/.3)}.badge.green,.badge.normal{color:var(--green);background:rgb(32 201 137/.12);border-color:rgb(32 201 137/.28)}.badge.blue,.badge.full{color:var(--accent);background:rgb(56 168 255/.13);border-color:rgb(56 168 255/.32)}.toast{margin-top:12px;border-radius:var(--radius);padding:10px 12px;border:1px solid var(--line);background:var(--panel-2)}.toast.ok{border-color:rgb(32 201 137/.35);color:var(--green)}.toast.fail{border-color:rgb(255 92 102/.35);color:var(--red)}.empty{text-align:center;padding:30px 18px;color:var(--muted)}.empty-panel{min-height:130px;display:grid;place-items:center;align-content:center;grid-gap:8px;gap:8px;border:1px dashed var(--line);border-radius:var(--radius);margin:16px;background:rgb(255 255 255/.018)}.empty-panel strong{color:var(--text)}.empty-panel span{max-width:420px}.code-input,.code-text{font-family:Cascadia Mono,Roboto Mono,SFMono-Regular,Consolas,monospace;letter-spacing:0}.code-text{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--accent);font-size:12px;font-weight:800;border:1px solid rgb(56 168 255/.24);background:rgb(56 168 255/.1);border-radius:999px;padding:3px 8px;white-space:nowrap}.date-stack,.item-stack,.stock-snapshot{display:grid;grid-gap:3px;gap:3px;min-width:0}.stock-snapshot strong{color:var(--text);font-size:18px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.date-stack small,.item-stack span+strong,.stock-snapshot span{color:var(--muted);font-size:12px}.item-stack strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-badge,.machine-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:24px;padding:3px 9px;border-radius:999px;white-space:nowrap;font-weight:800;font-size:12px;color:color-mix(in srgb,var(--text) 88%,var(--accent));border:1px solid rgb(126 148 179/.28);background:rgb(126 148 179/.12)}.machine-badge{color:var(--accent-2);border-color:rgb(35 213 161/.3);background:rgb(35 213 161/.12);font-family:Cascadia Mono,Roboto Mono,SFMono-Regular,Consolas,monospace}.action-cluster{align-items:center;gap:8px}.action-cluster,.action-cluster fieldset,.action-cluster form{display:inline-flex}.form-card{display:grid;grid-gap:14px;gap:14px}.form-section{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:rgb(255 255 255/.018)}.form-section+.form-section,.split-forms form+form{margin-top:14px}.section-kicker{color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.form-submit{margin-top:14px}.operation-layout{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);grid-gap:16px}.operation-grid,.operation-layout{display:grid;gap:16px;align-items:start}.operation-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-gap:16px}.operator-panel{position:-webkit-sticky;position:sticky;top:92px}.danger-panel{box-shadow:inset 3px 0 0 rgb(255 92 102/.65)}.control-note-list{display:grid;grid-gap:12px;gap:12px}.control-note-list>div{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:rgb(255 255 255/.02)}.control-note-list p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.split-forms{display:grid;grid-gap:14px;gap:14px}.picker-field{gap:8px}.picker-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:rgb(255 255 255/.022)}.picker-preview>div:first-child,.picker-stock{display:grid;grid-gap:5px;gap:5px;min-width:0}.picker-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-stock{justify-items:end;flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:800}.material-stat-grid{margin-bottom:0}.machine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.control-machine-card{min-height:270px;align-content:start}.control-machine-card .card-header{margin-bottom:0;align-items:center}.control-machine-card h2{font-family:Cascadia Mono,Roboto Mono,SFMono-Regular,Consolas,monospace;color:var(--text)}.machine-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.machine-meta-row span{display:inline-flex;align-items:center;gap:6px}.machine-tool-list{display:grid;grid-gap:9px;gap:9px;max-height:220px;overflow:auto;padding-right:3px}.machine-tool-pill{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;background:var(--input);border:1px solid var(--line);border-radius:var(--radius);padding:9px 10px}.machine-tool-pill>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.machine-tool-pill small,.machine-tool-pill strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machine-tool-pill small{color:var(--muted)}.machine-empty{min-height:100px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:var(--radius);background:rgb(255 255 255/.018)}.machine-card-footer{display:grid;grid-gap:10px;gap:10px;margin-top:auto}.loading-panel{min-height:55vh;display:grid;place-items:center}.loading-card{width:min(520px,100%);display:grid;grid-gap:14px;gap:14px;text-align:center}.loading-bars{display:grid;grid-gap:9px;gap:9px}.loading-bars span{height:9px;border-radius:999px;background:linear-gradient(90deg,rgb(56 168 255/.1),rgb(56 168 255/.32),rgb(35 213 161/.12));animation:pulse-line 1.2s ease-in-out infinite alternate}.loading-bars span:nth-child(2){width:82%;justify-self:center;animation-delay:.12s}.loading-bars span:nth-child(3){width:64%;justify-self:center;animation-delay:.24s}@keyframes pulse-line{0%{opacity:.45}to{opacity:1}}.dashboard-page{display:grid;grid-gap:16px;gap:16px;min-width:0}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;min-width:0}.dashboard-control-grid{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(260px,.95fr) minmax(320px,1fr);grid-gap:16px;gap:16px;align-items:stretch;min-width:0}.dashboard-panel{min-width:0}.usage-list{display:grid;grid-gap:13px;gap:13px}.usage-row{display:grid;grid-template-columns:minmax(160px,.85fr) minmax(120px,1fr) 38px;align-items:center;grid-gap:12px;gap:12px}.usage-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.usage-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-code{color:var(--accent);font-size:12px;font-weight:800}.stock-line,.usage-meter{overflow:hidden;height:10px;border-radius:999px;background:rgb(126 148 179/.18)}.stock-line span,.usage-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22d3ee,var(--accent));box-shadow:var(--glow-blue)}.usage-qty{justify-self:end;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.material-panel{display:grid;grid-gap:14px;gap:14px;align-content:start}.material-health-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.material-health-summary>div{padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:rgb(255 255 255/.025)}.material-health-summary span{display:block;color:var(--muted);font-size:12px}.material-health-summary strong{display:block;margin-top:4px;font-size:26px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.material-health-rows{display:grid;grid-gap:11px;gap:11px}.material-health-row{display:grid;grid-gap:7px;gap:7px}.material-health-label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;color:var(--muted);font-size:12px}.material-health-label strong{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-dot{width:9px;height:9px;border-radius:999px;background:var(--accent);box-shadow:0 0 14px currentColor}.status-dot.green{color:var(--green);background:var(--green)}.status-dot.yellow{color:var(--yellow);background:var(--yellow)}.status-dot.red{color:var(--red);background:var(--red)}.material-health-bar{height:9px;overflow:hidden;border-radius:999px;background:rgb(126 148 179/.18)}.material-health-bar span{display:block;height:100%;border-radius:inherit}.material-health-bar.green span{background:linear-gradient(90deg,var(--green),var(--accent-2))}.material-health-bar.yellow span{background:linear-gradient(90deg,var(--yellow),var(--orange))}.material-health-bar.red span{background:linear-gradient(90deg,var(--red),#ff8f98)}.critical-materials{display:grid;grid-gap:9px;gap:9px}.critical-material-list{display:grid;grid-gap:8px;gap:8px}.critical-material-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:var(--radius);background:rgb(255 255 255/.024)}.critical-material-item>div:first-child,.critical-material-side{display:grid;grid-gap:4px;gap:4px;min-width:0}.critical-material-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.critical-material-side{justify-items:end;color:var(--muted);font-size:12px}.compact-empty{min-height:64px;padding:16px;border:1px dashed var(--line);border-radius:var(--radius);background:rgb(255 255 255/.018)}.low-stock-list{display:grid;grid-gap:10px;gap:10px;max-height:316px;overflow:auto;padding-right:4px}.low-stock-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:rgb(255 255 255/.028)}.tool-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;color:var(--accent);background:var(--panel-2);border:1px solid var(--line);font-weight:800}.low-stock-copy{display:grid;grid-gap:4px;gap:4px;min-width:0}.low-stock-copy span,.low-stock-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.low-stock-copy span,.low-stock-side{color:var(--muted);font-size:12px}.low-stock-side{display:grid;justify-items:end;grid-gap:6px;gap:6px}.transactions-panel table{min-width:860px}.machine-card{display:grid;grid-gap:12px;gap:12px}.machine-title,.tool-pill{display:flex;justify-content:space-between;gap:10px}.tool-pill{background:var(--input);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px}.alert-summary-grid,.report-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.alert-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-summary-card,.report-metric-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center}.alert-summary-card span,.report-metric-card span{display:block;color:var(--muted);font-size:12px}.alert-summary-card strong,.report-metric-card strong{display:block;margin-top:4px;font-size:26px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-table-panel{min-width:0}.alert-table tbody tr:has(.badge.red){background:rgb(255 92 102/.045)}.quality-filter{grid-template-columns:minmax(160px,210px) minmax(160px,220px) minmax(142px,170px) minmax(142px,170px) auto}.admin-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.admin-email-card,.audit-panel{min-width:0}.recipient-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.audit-entity{display:inline-block;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.qr-control-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);grid-gap:16px;gap:16px;align-items:stretch}.qr-control-card{min-width:0}.qr-control-card .muted{margin-top:0;line-height:1.6}.qr-label-panel{padding:0;overflow:hidden}.qr-label-panel .card-header{padding:14px 16px;margin:0;border-bottom:1px solid var(--line)}.qr-label-panel .qr-grid{padding:16px}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px;gap:14px}.qr-card{page-break-inside:avoid;break-inside:avoid;display:grid;justify-items:center;grid-gap:10px;gap:10px;min-width:0;text-align:center;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgb(255 255 255/.035),transparent),var(--panel)}.qr-image{width:150px;height:150px;background:white;display:grid;place-items:center;margin:0 auto;border-radius:6px;padding:8px}.qr-card-copy{display:grid;justify-items:center;grid-gap:5px;gap:5px;min-width:0}.qr-card-copy strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-box{display:grid;grid-gap:12px;gap:12px}.scan-box video{width:100%;max-height:420px;border-radius:var(--radius);background:#000}.scan-toolbar{margin:0}.scan-detail-card{min-width:0}.scan-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.scan-tool-grid>div{display:grid;grid-gap:5px;gap:5px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:rgb(255 255 255/.022)}.scan-tool-grid strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1180px){.dashboard-control-grid{grid-template-columns:1fr 1fr}.low-panel{grid-column:1/-1}.operation-grid,.operation-layout{grid-template-columns:1fr}.operator-panel{position:static}.transaction-filter{grid-template-columns:minmax(220px,1fr) minmax(210px,250px) repeat(2,minmax(142px,170px))}.quality-filter .filter-submit,.transaction-filter .filter-submit{grid-column:1/-1;width:-moz-fit-content;width:fit-content}.report-metric-grid,.scan-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid,.qr-control-grid{grid-template-columns:1fr}}@media (max-width:980px){.login-shell{grid-template-columns:1fr;padding:18px}.login-card,.login-stage{width:100%}.login-hero h1{font-size:42px}.app-shell{grid-template-columns:1fr;overflow-x:hidden}.app-shell,.workspace{width:100%;max-width:100vw}.workspace{grid-template-rows:auto minmax(0,1fr)}.sidebar{position:static;width:100%;min-width:0;max-width:100vw;flex:0 0 auto;height:auto;border-right:0;border-bottom:1px solid var(--line);overflow:hidden}.brand{display:none}.nav{display:flex;width:100%;max-width:100vw;min-width:0;overflow-x:auto;overflow-y:hidden;padding:8px}.nav-link{flex:0 0 44px}.nav-separator{flex:0 0 1px;width:1px;height:30px;margin:9px 4px;background:linear-gradient(180deg,transparent,var(--line-strong),transparent)}.nav-tooltip,.sidebar-footer{display:none}.topbar{position:static;width:100%;max-width:100vw;height:auto;padding:16px;align-items:flex-start}.topbar-chevron,.topbar-user-name{display:none}.main{padding:18px}.alert-summary-grid,.dashboard-control-grid,.dashboard-stats,.filter-toolbar,.form-grid,.grid-2,.grid-3,.grid-4,.quality-filter,.report-metric-grid,.transaction-filter{grid-template-columns:1fr}.filter-submit{width:100%}.low-panel{grid-column:auto}}@media (max-width:640px){.page-header,.topbar{flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.low-stock-item,.usage-row{grid-template-columns:1fr}.low-stock-side{justify-items:start}.filter-submit,.form-submit,.page-header .button{width:100%}.picker-preview{align-items:stretch;flex-direction:column}.picker-stock{justify-items:start}.critical-material-item,.material-health-summary{grid-template-columns:1fr}.critical-material-side{justify-items:start}.machine-grid,.scan-tool-grid{grid-template-columns:1fr}.machine-card-footer{align-items:stretch}.machine-card-footer .button{width:100%}}@media print{.button,.icon-button,.page-header,.sidebar,.toast,.toolbar,.topbar{display:none!important}.app-shell,.workspace{display:block}.main{padding:0}.card,body{background:white;color:black}.card{border-color:#bbb}}