@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Unbounded_500_latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2074,U+20AC,U+2122}@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Unbounded_500_cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Unbounded_700_latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2074,U+20AC,U+2122}@font-face{font-family:Unbounded;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Unbounded_700_cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/Unbounded_900_latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2074,U+20AC,U+2122}@font-face{font-family:Unbounded;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/Unbounded_900_cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/Manrope_400_latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2074,U+20AC,U+2122}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Manrope_400_cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Manrope_500_cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Manrope_600_cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Manrope_700_cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/Manrope_800_cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/JetBrains_Mono_400_latin.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/JetBrains_Mono_600_latin.woff2)format("woff2")}:root{--bg:#15100a;--surface:#1f1911;--surface-2:#2a2317;--border:#ffffff14;--text:#f5efe3;--text-soft:#a79a87;--ink:#1b1712;--ink-soft:#776c5b;--orange:#ff953c;--orange-deep:#e36800;--orange-ink:#fbf6ee;--on-orange:#1b1712;--taupe:#c9beac;--taupe-soft:#ffffff0f;--moss:#6fbe86;--moss-soft:#6fbe8626;--rust:#ff6b57;--rust-soft:#ff6b5726;--radius:20px;--radius-sm:14px;--font-display:"Unbounded", sans-serif;--font-body:"Manrope", -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(60% 50% at 15% 0%, #ff953c1a, transparent 60%), var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:14px}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700}.center-screen{background:radial-gradient(55% 45% at 20% 15%, #ff953c29, transparent 60%), radial-gradient(45% 40% at 85% 85%, #ff953c1a, transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-stage{position:relative}.login-stage .card{transform-origin:50% 88%;transition:transform .55s cubic-bezier(.6,0,.9,.35),opacity .5s 50ms}.login-stage .card.packing{opacity:0;transform:scale(.06)translateY(50px)}.login-box{opacity:0;pointer-events:none;width:84px;height:84px;margin-left:-42px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s;position:absolute;bottom:calc(50% - 60px);left:50%;transform:scale(.25)}.login-box.show{opacity:1;transform:scale(1)}.login-box.fade{opacity:0;transition:opacity .3s,transform .3s;transform:scale(1.1)}.shell{min-height:100vh;display:flex}.sidebar{background:radial-gradient(130% 90% at 50% 0%, #ff953c38, transparent 60%), var(--ink);color:#efe8db;border-radius:0 28px 28px 0;flex-direction:column;flex-shrink:0;width:236px;height:100vh;padding:20px 14px;transition:width .22s;display:flex;position:sticky;top:0;box-shadow:8px 0 32px #140f0847}.sidebar.collapsed{width:84px;padding:20px 12px}.sidebar-logo{align-items:center;gap:10px;padding:0 8px 8px;display:flex}.sidebar-logo .mark{background:var(--orange);width:34px;height:34px;color:var(--ink);font-family:var(--font-display);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:900;display:flex;box-shadow:0 4px 14px #ff953c59}.sidebar-logo .word{font-family:var(--font-display);letter-spacing:.02em;color:#fbf6ee;font-size:16px;font-weight:700}.sidebar-collapse-btn{color:#efe8db;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-self:flex-end;align-items:center;width:26px;height:26px;margin:-6px 0 14px;transition:background .15s;display:flex}.sidebar-collapse-btn:hover{background:#ffffff29}.sidebar-collapse-btn span{transition:transform .22s;display:flex;transform:rotate(180deg)}.sidebar-collapse-btn span.flip{transform:rotate(0)}.sidebar.collapsed .sidebar-collapse-btn{align-self:center}.sidebar nav{flex-direction:column;flex:1;gap:6px;margin-top:4px;display:flex}.sidebar nav a{color:#d8cdbb;border-radius:999px;align-items:center;gap:11px;padding:6px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar nav a .pill-icon{background:#ffffff12;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.sidebar nav a .pill-icon svg{opacity:.9;flex-shrink:0}.sidebar nav a .pill-label{white-space:nowrap;text-overflow:ellipsis;padding-right:8px;overflow:hidden}.sidebar nav a:hover{color:#fbf6ee}.sidebar nav a:hover .pill-icon{background:#ffffff24}.sidebar nav a.active{background:var(--orange-ink);color:var(--ink)}.sidebar nav a.active .pill-icon{background:#ff953c38}.sidebar nav a.active .pill-icon svg{color:var(--orange-deep);opacity:1}.sidebar.collapsed nav a{justify-content:center;padding:6px 0}.sidebar-profile{border-bottom:1px solid #fbf6ee1f;align-items:center;gap:10px;margin-bottom:6px;padding:10px 8px 16px;display:flex}.sidebar.collapsed .sidebar-profile{justify-content:center;padding:10px 0 16px}.sidebar-profile .name{color:#fbf6ee;white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:12.5px;font-weight:700;overflow:hidden}.sidebar-profile .role{color:#8a8071;font-size:10.5px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar-v2{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;justify-content:space-between;align-items:center;gap:14px;padding:16px 28px;display:flex;position:sticky;top:0}.topbar-v2 .actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar-v2 .crumb{align-items:center;gap:8px;min-width:0;font-size:13.5px;display:flex}.topbar-v2 .crumb-root{color:var(--text-soft);white-space:nowrap;font-weight:600}.topbar-v2 .crumb-sep{color:var(--border)}.topbar-v2 .crumb-current{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:800;overflow:hidden}.topbar-v2 .topbar-date{color:var(--text-soft);white-space:nowrap;margin-right:4px;font-size:12px}@media (width<=560px){.topbar-v2 .topbar-date{display:none}}.avatar{background:var(--orange);width:38px;height:38px;color:var(--on-orange);font-family:var(--font-display);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.icon-btn{background:var(--surface-2);width:36px;height:36px;color:var(--text);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--taupe-soft)}.tabbar{z-index:20;background:var(--ink);padding:10px 8px calc(10px + env(safe-area-inset-bottom));justify-content:space-around;display:none;position:sticky;bottom:0;box-shadow:0 -8px 24px #140f082e}.tabbar a{color:#a79a87;flex-direction:column;align-items:center;gap:4px;padding:4px 10px;text-decoration:none;display:flex}.tabbar a span{font-size:10px;font-weight:700}.tabbar a.active{color:var(--orange)}@media (width<=880px){.sidebar{display:none}.tabbar{display:flex}}.container{width:100%;max-width:1080px;margin:0 auto;padding:28px 24px 60px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.page-header h2{margin:0;font-size:21px}.page-header p{color:var(--text-soft);margin:5px 0 0;font-size:13px}.hero{background:var(--orange);color:var(--on-orange);border-radius:28px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;padding:26px 28px;display:flex;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";pointer-events:none;background:#ffffff24;border-radius:50%;position:absolute}.hero:before{width:220px;height:220px;top:-120px;right:-40px}.hero:after{background:#1b171214;width:120px;height:120px;bottom:-70px;right:120px}.hero>*{position:relative}.hero-brandmark{pointer-events:none;width:96px;height:106px;position:absolute;top:-14px;left:65%;transform:translate(-50%)}.hero-brandmark .blob{background:var(--ink-soft);border-radius:20%;width:66px;height:66px;position:absolute}.hero-brandmark .blob-1{top:0;right:0;transform:rotate(14deg)}.hero-brandmark .blob-2{opacity:.82;bottom:0;left:0;transform:rotate(-18deg);box-shadow:0 10px 18px #1b171233}@media (width<=720px){.hero-brandmark{display:none}}.hero .eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.8;margin:0 0 10px;font-size:11px;font-weight:600}.hero .headline{font-family:var(--font-display);margin:0 0 8px;font-size:40px;font-weight:900;line-height:1}.hero .sub{opacity:.85;margin:0;font-size:13px}.hero .hero-cta{background:var(--ink);color:var(--orange-ink);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:7px;padding:11px 18px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex}.hero .hero-cta:hover{background:#2b241b}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:18px;padding:20px}.grid{gap:14px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}@media (width<=720px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px}.stat .label{color:var(--text-soft);margin-bottom:6px;font-size:12px;font-weight:600}.stat .value{font-family:var(--font-display);font-size:24px;font-weight:800}.stat.green .value{color:var(--moss)}.stat.red .value{color:var(--rust)}.art-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:10px;padding:16px;display:flex}.art-card .swatch{background:var(--surface-2);width:34px;height:34px;color:var(--taupe);border-radius:10px;justify-content:center;align-items:center;display:flex}.art-card .sku{font-family:var(--font-mono);color:var(--taupe);font-size:10.5px}.art-card .name{min-height:34px;font-size:13.5px;font-weight:700;line-height:1.3}.art-card .attrs{color:var(--text-soft);margin-top:-6px;font-size:11.5px}.art-card .qty-row{align-items:baseline;gap:5px;margin-top:auto;display:flex}.art-card .qty-row .n{font-family:var(--font-display);font-size:19px;font-weight:800}.art-card .qty-row .u{color:var(--taupe);font-size:11.5px}.art-card .bar{background:var(--border);border-radius:3px;height:5px;overflow:hidden}.art-card .bar i{border-radius:3px;height:100%;display:block}.art-card .bar i.ok{background:var(--orange)}.art-card .bar i.low{background:var(--rust)}.art-card .barcodes{font-family:var(--font-mono);color:var(--taupe);word-break:break-all;font-size:10px}.dash-grid{grid-template-columns:1fr 300px;align-items:start;gap:18px;display:grid}@media (width<=960px){.dash-grid{grid-template-columns:1fr}}.card-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.card-title h4{margin:0;font-size:14.5px}.card-title .hint{color:var(--text-soft);font-size:11.5px}.bar-list{flex-direction:column;gap:12px;display:flex}.bar-list-row{grid-template-columns:1fr auto;align-items:center;gap:3px 12px;display:grid}.bar-list-row .bl-name{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.bar-list-row .bl-value{font-family:var(--font-mono);color:var(--text-soft);font-size:12px}.bar-list-row .bl-track{background:var(--surface-2);border-radius:4px;grid-column:1/-1;height:7px;overflow:hidden}.bar-list-row .bl-fill{background:var(--orange);border-radius:4px;height:100%;display:block}.rail-card{padding:16px}.rail-list{flex-direction:column;gap:2px;display:flex}.rail-item{color:inherit;border-radius:10px;align-items:center;gap:10px;padding:9px 4px;text-decoration:none;display:flex}.rail-item:hover{background:var(--surface-2)}.rail-item .rail-dot{background:var(--taupe);border-radius:50%;flex-shrink:0;width:8px;height:8px}.rail-item .rail-dot.move{background:var(--orange)}.rail-item .rail-dot.in{background:var(--moss)}.rail-item .rail-dot.muted{background:var(--taupe)}.rail-item .rail-body{flex:1;min-width:0}.rail-item .rail-title{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;display:block;overflow:hidden}.rail-item .rail-sub{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;display:block;overflow:hidden}.rail-item .rail-qty{font-family:var(--font-mono);color:var(--text-soft);flex-shrink:0;font-size:11.5px}.rail-empty{color:var(--text-soft);padding:6px 4px;font-size:12.5px}.rail-more{text-align:center;color:var(--orange);border-top:1px solid var(--border);margin-top:6px;padding-top:10px;font-size:12px;font-weight:700;text-decoration:none;display:block}.rail-more:hover{color:var(--orange-deep)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}thead th{text-align:left;color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:700}tbody td{border-bottom:1px solid var(--border);padding:12px}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}.btn{background:var(--orange);color:var(--on-orange);font-family:var(--font-body);cursor:pointer;border:none;border-radius:999px;padding:10px 19px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-block}.btn:hover{background:var(--orange-deep)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn.secondary:hover{background:var(--taupe-soft)}.btn.danger{background:var(--rust);color:#2a0e08}.btn.danger:hover{background:#ff8672}.btn.sm{padding:7px 13px;font-size:12px}input,select,textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);border-radius:12px;outline:none;width:100%;padding:10px 12px;font-size:13.5px}input:focus,select:focus,textarea:focus{border-color:var(--orange)}input::placeholder{color:var(--text-soft)}input.input-error{border-color:var(--rust)}.field-error{color:var(--rust);margin:-4px 0 8px;font-size:11.5px}label{color:var(--text-soft);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.field{margin-bottom:12px}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-row>*{flex:1;min-width:160px}.badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:600;display:inline-block}.badge.in{background:var(--moss-soft);color:var(--moss)}.badge.out{background:var(--rust-soft);color:var(--rust)}.badge.move{background:var(--orange);color:var(--on-orange)}.badge.muted{background:var(--taupe-soft);color:var(--taupe)}.toast{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--orange);z-index:50;border-radius:14px;max-width:360px;margin-left:auto;padding:12px 16px;font-size:13.5px;position:fixed;bottom:24px;left:24px;right:24px;box-shadow:0 16px 40px #00000073}.toast.success{border-left-color:var(--moss)}.toast.error{border-left-color:var(--rust)}.empty{color:var(--text-soft);text-align:center;padding:34px;font-size:13px}.toolbar{gap:10px;margin-bottom:14px;display:flex}.toolbar .grow{flex:1}.box-planner{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin-bottom:14px;padding:18px}.box-planner-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.box-planner-header h4{margin:0;font-size:14px}.item-row{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:8px;display:flex}.item-row .field{flex:1;min-width:160px;margin-bottom:0}.item-row .qty{flex:0 0 100px;max-width:100px}.muted{color:var(--text-soft)}.mono{font-family:var(--font-mono)}
