@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap";:root{--ink: #3a3350;--muted: #8d86a3;--bg: #fffaf2;--card: #ffffff;--line: #efe6d8;--blue: #4d8dff;--violet: #9b6cff;--green: #4fc77e;--green-d: #37a362;--red: #ff6b6b;--amber: #ffb648;--yellow: #ffd23f;--yellow-d: #e5b21c;--shadow: 0 6px 0 rgba(58, 51, 80, .12), 0 14px 30px rgba(58, 51, 80, .14);--soft: 0 4px 14px rgba(58, 51, 80, .16);font-family:Fredoka,Nunito,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden;background:#b9e36f}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}.app{position:relative;height:100%;-webkit-user-select:none;user-select:none}.viewport{position:absolute;top:0;right:0;bottom:0;left:0}.viewport canvas{display:block;touch-action:none}.labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:700;font-size:32px;color:#fff}.bubble{display:flex;align-items:center;gap:5px;background:#ffffffe6;border-radius:16px;padding:4px 10px 4px 6px;box-shadow:var(--soft);font-weight:700;font-size:14px;white-space:nowrap;position:relative}.bubble:before,.bubble:after{content:"";position:absolute;background:#ffffffe6;border-radius:50%;left:50%}.bubble:before{width:10px;height:10px;bottom:-11px;margin-left:-9px}.bubble:after{width:6px;height:6px;bottom:-19px;margin-left:-5px}.bubble .n{letter-spacing:.02em}.bubble.slot.red{color:#e04848;animation:glow 1.1s infinite}.bubble.slot.amber{color:#d78a10}.bubble.queue{padding:3px 9px;font-size:13px;background:#6e5234d9;color:#fff}.bubble.queue:before,.bubble.queue:after{background:#6e5234d9}.bubble.queue.hot{background:#ff6b6bf2;animation:glow 1.1s infinite}.bubble.queue.hot:before,.bubble.queue.hot:after{background:#ff6b6bf2}@keyframes glow{50%{box-shadow:0 0 0 6px #ff6b6b4d,var(--soft)}}.qi{width:14px;height:11px;border-radius:3px;background:#f0cfa2;box-shadow:inset 0 -3px #d6aa72;display:inline-block}.mi{display:inline-block;width:26px;height:18px;border-radius:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 35%,#fff) 0 45%,var(--c) 45% 100%);box-shadow:inset 0 -3px color-mix(in srgb,var(--c) 75%,#000),0 1px #00000014;flex:none;position:relative}.mi:after{content:"";position:absolute;left:5px;right:5px;top:4px;height:2px;border-radius:2px;background:#ffffffbf}.mi.lg{width:44px;height:30px;border-radius:9px}.mi.lg:after{top:7px;height:3px;left:8px;right:8px}.tag{font-size:11px;font-weight:600;color:#3a3350bf;background:#ffffff8c;padding:1px 8px;border-radius:999px;white-space:nowrap}.max{font-weight:700;font-size:22px;color:#fff;letter-spacing:.02em;-webkit-text-stroke:5px var(--ink);paint-order:stroke fill}.stage-pill{display:flex;gap:8px;align-items:center;background:var(--c);color:#fff;font-size:14px;padding:4px 6px 4px 14px;border-radius:999px;box-shadow:0 4px color-mix(in srgb,var(--c) 75%,#000),var(--soft);cursor:pointer;white-space:nowrap;text-shadow:0 1px 0 rgba(0,0,0,.15)}.stage-pill span{background:#ffffffeb;color:var(--ink);border-radius:999px;padding:0 9px;font-size:12px;text-shadow:none}.wbubble{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffffffeb;box-shadow:var(--soft);font-weight:700;cursor:pointer}.wbubble.busy .ring{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--p, 0) * 360deg),#ebe5f3 0)}.wbubble.busy .ring b{width:26px;height:26px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:15px;color:#b9b2c9}.wbubble.busy.ready{animation:glowg .9s infinite}.wbubble.busy.ready .ring b{background:var(--green);color:#fff;font-size:18px}@keyframes glowg{50%{box-shadow:0 0 0 7px #4fc77e59,var(--soft)}}.wbubble.assign{width:38px;height:38px;background:var(--yellow);color:var(--ink);font-size:22px;box-shadow:0 4px 0 var(--yellow-d),var(--soft)}.wbubble.idle{width:auto;height:auto;padding:2px 8px;border-radius:12px;font-size:13px;color:var(--muted);cursor:default;background:#ffffffb3}.anchor{width:0;height:0}.orders-anchor .ob{position:absolute;left:0;bottom:18px;transform:translate(-50%)}.popup-anchor .pop{position:absolute;left:0;top:8px;transform:translate(-50%)}.thought{background:#fffffff0;border-radius:22px;box-shadow:var(--shadow);padding:8px;min-width:250px;max-width:300px}.thought.mini{min-width:0}.ob .tail{position:absolute;left:50%;background:#fffffff0;border-radius:50%;box-shadow:var(--soft)}.ob .tail.a{width:16px;height:16px;bottom:-16px;margin-left:-10px}.ob .tail.b{width:9px;height:9px;bottom:-28px;margin-left:-6px}.ob-head{display:flex;align-items:center;gap:6px}.ob-title{flex:1;display:flex;align-items:center;gap:6px;border:0;background:none;cursor:pointer;font-size:15px;padding:2px 4px;white-space:nowrap}.cnt{background:#efe9f8;border-radius:999px;padding:0 8px;font-size:12px;font-weight:700}.cnt.ok{background:#dcf6e6;color:var(--green-d)}.ob-list{margin-top:6px;display:flex;flex-direction:column;gap:4px}.ob-row{display:flex;align-items:center;gap:8px;background:#faf6ef;border-radius:14px;padding:5px 6px 5px 8px}.ob-row.ready{background:#e6f9ee}.ob-row .who{flex:1;display:flex;flex-direction:column;line-height:1.05;min-width:0}.ob-row .who b{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ob-row .who small{font-size:11px;color:var(--muted)}.frac{font-weight:700;font-size:14px}.hourglass{font-size:14px}.ob-empty{color:var(--muted);font-size:13px;text-align:center;padding:6px}.ob-more{border:0;background:none;color:var(--muted);font-weight:600;cursor:pointer}.pop{background:#fffffff7;border-radius:22px;box-shadow:var(--shadow);padding:12px 14px;min-width:210px;display:flex;flex-direction:column;gap:8px;border-top:5px solid var(--c, #fff)}.pop.wide{min-width:280px;max-width:340px}.pop-x{position:absolute;right:8px;top:8px;width:26px;height:26px;border-radius:50%;border:0;background:#f2edf8;color:var(--muted);font-weight:700;cursor:pointer;display:grid;place-items:center;font-size:12px}.pop-title{display:flex;align-items:center;gap:7px;font-size:16px;padding-right:26px}.pop-title small{color:var(--muted);font-size:12px}.pop-grid{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;font-size:13px;color:var(--muted);font-weight:500}.pop-note{font-size:12px;background:#fff6df;border-radius:10px;padding:4px 8px;font-weight:500}.pop-actions{display:flex;gap:6px;justify-content:flex-end}.pop-workers{display:flex;gap:8px;flex-wrap:wrap}.pw{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--muted)}.pw .avatar{width:32px;height:32px;font-size:14px;box-shadow:0 3px #0000001f}.pw.busy .avatar{outline:3px solid var(--green)}.pw.empty{width:32px;height:32px;border-radius:50%;border:2px dashed #d9d0e6;display:grid;place-items:center;color:#c5bcd6}.pop-queue{display:flex;gap:4px;flex-wrap:wrap}.qchip{font-size:11px;font-weight:600;background:#eef3ff;color:#3f6fd8;border-radius:999px;padding:2px 8px}.qchip.order{background:#ffe8e8;color:#d64545}.stepper{display:inline-flex;align-items:center;gap:6px;background:#f6f1fb;border-radius:999px;padding:3px}.stepper button{width:26px;height:26px;border-radius:50%;border:0;background:#fff;font-weight:700;cursor:pointer;box-shadow:0 2px #e0d8ec}.stepper b{min-width:22px;text-align:center;color:var(--ink)}.stepper.big{background:none;padding:0;gap:12px;justify-content:center;font-size:15px}.stepper.big b{font-size:26px}.gbtn{border:0;cursor:pointer;font-weight:600;font-size:14px;padding:8px 16px;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 4px #ddd3e8,var(--soft);transition:transform .08s,box-shadow .08s;white-space:nowrap}.gbtn:active{transform:translateY(3px);box-shadow:0 1px #ddd3e8,var(--soft)}.gbtn:disabled{opacity:.5;cursor:default}.gbtn.round{width:40px;height:40px;padding:0;border-radius:50%;display:inline-grid;place-items:center;font-size:20px}.gbtn.round.sm{width:30px;height:30px;font-size:16px}.gbtn.sm{padding:5px 12px;font-size:13px;border-radius:12px;box-shadow:0 3px #ddd3e8}.gbtn.big{padding:12px 18px;font-size:18px;border-radius:18px}.gbtn.green,.gbtn.ok{background:var(--green);color:#fff;box-shadow:0 4px 0 var(--green-d),var(--soft)}.gbtn.sm.ok{box-shadow:0 3px 0 var(--green-d)}.gbtn.yellow{background:var(--yellow);box-shadow:0 4px 0 var(--yellow-d),var(--soft)}.gbtn.sm.yellow{box-shadow:0 3px 0 var(--yellow-d)}.gbtn.danger{background:#ffecec;color:#e04848;box-shadow:0 3px #ffd0d0}.gbtn.add{background:var(--green);color:#fff;box-shadow:0 3px 0 var(--green-d)}.gbtn.on{background:var(--violet);color:#fff;box-shadow:0 4px #7a4fe0,var(--soft)}.hud{position:absolute;z-index:10;top:14px;left:14px;right:14px;display:flex;align-items:center;gap:10px;pointer-events:none;flex-wrap:wrap}.hud>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;background:#3c4b8c;color:#fff;padding:6px 16px 6px 6px;border-radius:999px;box-shadow:0 5px #2a376b,var(--soft);font-size:16px;font-weight:500}.brand b{color:var(--yellow);font-weight:700}.logo{width:36px;height:36px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-size:19px}.res{display:flex;gap:8px;flex-wrap:wrap}.rpill{display:flex;align-items:center;gap:4px;background:#3a33508c;color:#fff;padding:3px 14px 3px 4px;border-radius:999px;font-size:17px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rpill i{font-style:normal;width:30px;height:30px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:16px}.rpill small{opacity:.7;font-size:12px}.rpill .txt{font-size:14px}.rpill.bad{background:#ff6b6beb;animation:glow 1.1s infinite}.rpill.warn{background:#e5a028e6}.grow{flex:1}.hud-btn{width:46px!important;height:46px!important}.hud-btn.lang{font-size:12px;font-weight:700}.conn{width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px #fff}.conn.on{background:var(--green)}.plan-hint{position:absolute;top:60px;left:50%;transform:translate(-50%);background:var(--violet);color:#fff;padding:6px 14px;border-radius:999px;font-size:13px;box-shadow:var(--soft);max-width:70vw;text-align:center}.dock{position:absolute;z-index:10;right:14px;bottom:16px;display:flex;gap:10px;align-items:flex-end}.dock-btn{width:64px!important;height:64px!important;flex-direction:column;display:flex!important;gap:0}.dock-btn span{font-size:26px;line-height:1}.dock-btn small{font-size:10px;font-weight:600;margin-top:2px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet{position:absolute;z-index:11;top:76px;right:14px;bottom:96px;width:430px;background:var(--bg);border-radius:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;border:4px solid #fff;animation:slidein .2s ease-out}@keyframes slidein{0%{opacity:0;translate:30px 0}}.sheet-head{display:flex;align-items:center;gap:10px;padding:12px 14px 10px;font-size:19px;position:relative;border-bottom:2px dashed var(--line)}.sheet-head .pop-x{top:12px;right:12px;width:32px;height:32px}.sheet-icon{width:38px;height:38px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:20px;box-shadow:0 3px 0 var(--line)}.sheet-body{flex:1;overflow-y:auto;padding:6px 14px 18px;-webkit-user-select:text;user-select:text}.aibar{position:absolute;z-index:10;left:50%;bottom:18px;transform:translate(-50%);width:min(620px,calc(100% - 820px));min-width:380px}.aibar-row{display:flex;gap:8px;align-items:center;background:#fff;border-radius:999px;padding:6px;box-shadow:var(--shadow)}.aibar-row input{flex:1;border:0;font-size:15px;padding:8px 4px;outline:none;background:none;min-width:0}.gbtn.send{width:44px;height:44px;padding:0;border-radius:50%;background:var(--blue);color:#fff;box-shadow:0 4px #2f6ad8;font-size:18px}.ai-orb{width:44px;height:44px;border-radius:50%;border:0;background:linear-gradient(135deg,#9b6cff,#ff7ab6);color:#fff;font-size:19px;cursor:pointer;flex:none;box-shadow:0 4px #7a4fe0}.ai-orb.busy{animation:spin 1.4s linear infinite}@keyframes spin{to{rotate:360deg}}.ai-status{margin:0 auto 8px;width:fit-content;max-width:100%;background:#3c4b8c;color:#fff;font-size:13px;padding:6px 14px;border-radius:999px;box-shadow:var(--soft);cursor:pointer}.ai-status.ok{background:var(--green-d)}.jobs{background:#fff;border-radius:22px;padding:12px 14px;margin-bottom:10px;box-shadow:var(--shadow);max-height:46vh;overflow-y:auto;position:relative}.jobs .pop-x{position:static}.job{border-top:2px dashed var(--line);padding:8px 0;font-size:13px}.job .title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job .steps{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.job .steps span{background:#f1e9ff;color:#7a4fe0;border-radius:8px;padding:1px 7px;font-size:11px;font-weight:600}.job .msg{margin-top:4px;font-weight:400}.events{position:absolute;z-index:10;left:14px;bottom:18px;max-width:340px;background:#ffffffeb;border-radius:20px;box-shadow:var(--soft);padding:8px 12px;font-size:12px}.ev-head{border:0;background:none;font-weight:600;font-size:13px;cursor:pointer;padding:0}.ev{padding:3px 0 3px 8px;border-left:3px solid #d8d1e6;margin-top:4px;font-weight:400}.ev time{color:var(--muted);margin-right:6px;font-weight:600}.ev.warn{border-color:var(--amber)}.ev.ok{border-color:var(--green)}.ev.error{border-color:var(--red)}.toasts{position:absolute;top:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:60}.toast{background:#3c4b8c;color:#fff;font-weight:600;font-size:14px;padding:9px 18px;border-radius:999px;box-shadow:var(--shadow)}.toast.error{background:var(--red)}.toast.ok{background:var(--green)}.gmodal{position:fixed;top:0;right:0;bottom:0;left:0;background:#28223e59;display:grid;place-items:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.gcard{position:relative;background:var(--bg);border:5px solid #fff;border-radius:30px;box-shadow:var(--shadow);padding:16px 18px 18px;width:min(460px,92vw);display:flex;flex-direction:column;gap:12px;animation:popin .18s ease-out}@keyframes popin{0%{scale:.9;opacity:0}}.gcard-head{font-size:20px;font-weight:700;position:relative}.gcard-head .pop-x{top:-2px;right:-4px;width:32px;height:32px}.ginput{border:3px solid var(--line);border-radius:16px;padding:10px 14px;font-size:16px;outline:none;background:#fff}.ginput:focus{border-color:var(--blue)}.ginput.date{padding:7px 10px;font-size:14px}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.pcard{border:3px solid transparent;background:#fff;border-radius:18px;padding:10px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;box-shadow:0 4px 0 var(--line)}.pcard.on{border-color:var(--blue);background:#f2f7ff}.pcard b{font-size:13px;font-weight:600}.pcard small{font-size:11px;color:var(--muted)}.stk{font-size:11px;background:#e6f9ee;color:var(--green-d);border-radius:999px;padding:0 7px;font-weight:600}.stk.none{background:#ffecec;color:#e04848}.dims{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dims label{flex-direction:column;align-items:flex-start}.seg{display:inline-flex;background:#fff;border-radius:999px;padding:4px;box-shadow:0 3px 0 var(--line);gap:2px}.seg button{border:0;background:transparent;padding:5px 12px;border-radius:999px;font-weight:600;font-size:13px;cursor:pointer;color:var(--muted)}.seg button.on{background:var(--ink);color:#fff}.seg.big{display:flex}.seg.big button{flex:1;padding:8px;font-size:15px}.seg.small{box-shadow:none;background:#f4efe6}.seg.small button{padding:2px 8px;font-size:11px}.sec{margin-top:14px}.sec>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sec h3{margin:0;font-size:16px;font-weight:600}.row{display:flex;align-items:center}.row.between{justify-content:space-between;gap:8px}.row.gap{gap:6px}.row.wrap{flex-wrap:wrap}.row+.row{margin-top:6px}.form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.muted{color:var(--muted);font-size:12px;font-weight:500}.small{font-size:11px}.hint{color:var(--muted);font-size:12px;margin:6px 0}.empty{color:var(--muted);font-size:12px;padding:8px;text-align:center;border:2px dashed var(--line);border-radius:14px}.error{color:var(--red);font-weight:600}label{font-size:12px;font-weight:500;color:var(--muted);display:inline-flex;align-items:center;gap:4px}input,select,textarea{border:2px solid var(--line);background:#fff;border-radius:12px;padding:6px 10px;font-size:14px;outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:var(--blue)}input.num{padding:5px 6px;text-align:center}select.mini{padding:3px 6px;font-size:12px;border-radius:10px}.swatch{width:32px;height:30px;padding:2px;border-radius:10px;cursor:pointer}.btn{border:0;border-radius:12px;padding:6px 12px;font-weight:600;font-size:13px;cursor:pointer;background:#fff;box-shadow:0 3px #ddd3e8;transition:transform .08s;white-space:nowrap}.btn:active{transform:translateY(2px);box-shadow:0 1px #ddd3e8}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--blue);color:#fff;box-shadow:0 3px #2f6ad8}.btn.ok{background:var(--green);color:#fff;box-shadow:0 3px 0 var(--green-d)}.btn.danger{background:#ffecec;color:#e04848;box-shadow:0 3px #ffd0d0}.btn.ghost{background:transparent;box-shadow:none}.btn.ai{background:linear-gradient(135deg,#9b6cff,#ff7ab6);color:#fff;box-shadow:0 3px #7a4fe0}.btn.round{width:32px;height:32px;padding:0;border-radius:50%;font-size:17px}.btn.icon{padding:4px 9px}.big{font-size:20px;font-weight:700;min-width:26px;text-align:center}.card{background:var(--card);border-radius:18px;padding:10px 12px;margin-top:8px;box-shadow:0 4px 0 var(--line);border:3px solid transparent}.card.sel{border-color:var(--blue)}.card.err{border-color:#ffd0d0}.card.dashed{border:3px dashed var(--line);box-shadow:none;background:transparent}.card.fresh{background:#fff6d6}.card code.select{display:block;-webkit-user-select:all;user-select:all;word-break:break-all;font-size:12px;margin:6px 0}.badge{font-size:10px;font-weight:600;padding:2px 9px;border-radius:999px;background:#f0ecf6;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.badge.order{background:#ffe8e8;color:#d64545}.badge.kanban{background:#e8f0ff;color:#3f6fd8}.badge.custom,.badge.ai{background:#f1e9ff;color:#7a4fe0}.badge.err{background:#ffe8e8;color:#d64545}.badge.st-in_production{background:#fff1d6;color:#b56d00}.badge.st-ready{background:#dcf6e6;color:var(--green-d)}.badge.j-running,.badge.j-queued{background:#f1e9ff;color:#7a4fe0}.badge.j-done{background:#dcf6e6;color:var(--green-d)}.badge.j-error{background:#ffe8e8;color:#d64545}.badge[class*=role-admin]{background:#3c4b8c;color:#fff}.chip{display:inline-block;width:16px;height:16px;border-radius:6px;vertical-align:middle}.avatar{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;font-size:12px;font-weight:700}.step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:9px;background:var(--c, #9bb7ff);color:#fff;font-weight:700;font-size:13px;flex:none}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle}.dot.red{background:var(--red)}.dot.amber{background:var(--amber)}.dot.green{background:var(--green)}.stage-card{background:#fff;border-radius:20px;margin-top:12px;box-shadow:0 4px 0 var(--line);border-top:6px solid var(--c);overflow:hidden}.stage-card.sel{outline:3px solid var(--blue)}.stage-card>header{padding:8px 12px;display:flex;align-items:center;gap:6px}.lanes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 8px 8px}.lane{background:#faf6ef;border-radius:14px;padding:6px;min-width:0}.lane h4{margin:2px 4px 0;font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:600}.lane .card{margin-top:6px;padding:7px 9px;font-size:12px;border-width:2px}.card.task.order{border-left:4px solid var(--red)}.card.worker.busy{background:#fffbea}.slot-row{cursor:pointer}.slot-row.red{background:#fff4f4}.bar{position:relative;height:9px;border-radius:999px;background:#f2ebdd;margin:7px 0 2px}.bar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--green)}.slot-row.red .bar i{background:var(--red)}.slot-row.amber .bar i{background:var(--amber)}.bar em{position:absolute;top:-3px;bottom:-3px;width:4px;background:var(--ink);border-radius:2px}.bar.mini{width:60px;margin:0}.bar.mini i{background:var(--blue)}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.kpi{background:#fff;border-radius:18px;padding:8px 10px;box-shadow:0 4px 0 var(--line)}.kpi span{display:block;font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase}.kpi b{font-size:24px;font-weight:700}.kpi b.sm{font-size:15px}.kpi.bad{background:#fff2f2}.kpi.bad b{color:var(--red)}.kpi.warn{background:#fff6e0}.tbl{width:100%;border-collapse:collapse;font-size:12px;background:#fff;border-radius:14px;overflow:hidden}.tbl th{font-size:10px;text-transform:uppercase;color:var(--muted);text-align:left;padding:6px;background:#faf6ef;font-weight:600}.tbl td{padding:6px;border-top:1px solid var(--line)}.tbl tr.hot td{background:#fff3e0;font-weight:600}.tbl td.bad{color:var(--red);font-weight:600}.card.kz.done{opacity:.6}.card.kz.doing{border-left:4px solid var(--amber)}.stage-row input.grow{min-width:60px}.token-row{padding:6px 0;border-bottom:1px dashed var(--line);font-size:12px}.token-row code{color:var(--muted)}pre.code{background:#2a2540;color:#ece7ff;border-radius:14px;padding:10px;font-size:11px;overflow:auto;max-height:60vh;white-space:pre-wrap;word-break:break-word}pre.code.small{max-height:none}.toggle input{display:none}.toggle i{display:inline-block;width:36px;height:22px;background:#ddd;border-radius:999px;position:relative;cursor:pointer;transition:.2s}.toggle i:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:.2s}.toggle input:checked+i{background:var(--green)}.toggle input:checked+i:after{left:17px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#28223e73;display:grid;place-items:center;z-index:50}.modal-body{background:#fff;border-radius:22px;padding:14px;width:min(760px,92vw)}@media(max-width:1100px){.aibar{left:14px;transform:none;bottom:96px;width:calc(100% - 28px);min-width:0}.events{display:none}}.flabel{display:flex;flex-direction:column;align-items:stretch;gap:4px;font-size:13px;font-weight:600;color:var(--muted)}.flabel.inline{flex-direction:row;align-items:center;gap:6px}.pcard{position:relative}.pbadge{position:absolute;top:-8px;right:-8px;min-width:26px;height:26px;border-radius:999px;background:var(--blue);color:#fff;font-weight:700;display:grid;place-items:center;font-size:14px;box-shadow:0 3px #2f6ad8;padding:0 6px}.pstep{margin-top:4px}.pstep button{width:24px;height:24px}.cline{display:flex;align-items:center;gap:5px;background:#fff;border-radius:14px;padding:6px 8px;box-shadow:0 3px 0 var(--line);font-size:13px;color:var(--muted)}.pop-x.static{position:static;flex:none;margin-left:auto}.gbtn.dashed{background:transparent;box-shadow:none;border:2px dashed #d9cfe8;color:var(--muted)}.gbtn.wide{width:100%;margin-top:10px}.summary{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14px}.sum-chip{font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px}.sum-chip.ok{background:#dcf6e6;color:var(--green-d)}.sum-chip.prod{background:#fff1d6;color:#b56d00}.ichips{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.ichip{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;background:#fff;border-radius:999px;padding:1px 7px 1px 3px;box-shadow:0 1px 0 var(--line);color:var(--ink)}.ichip.done{background:#dcf6e6;color:var(--green-d)}.mi.sm{width:18px;height:12px;border-radius:4px}.mi.sm:after{top:3px;height:1.5px;left:3px;right:3px}.olines{display:flex;flex-direction:column;gap:3px;margin:6px 0 4px}.oline{display:flex;align-items:center;gap:8px;font-size:13px}.van-anchor .vb{position:absolute;left:0;bottom:18px;transform:translate(-50%)}.add-anchor .addspot{position:absolute;left:0;top:0;transform:translate(-50%,-50%)}.thought.van{min-width:0;max-width:230px;padding:7px 10px;display:flex;flex-direction:column;gap:4px}.vb:not(.front) .thought.van{opacity:.93;transform-origin:bottom center;scale:.88}.vb .tail.a{width:13px;height:13px;bottom:-14px;margin-left:-8px}.vb .tail.b{width:7px;height:7px;bottom:-24px;margin-left:-5px}.vb .tail{position:absolute;left:50%;background:#fffffff0;border-radius:50%;box-shadow:var(--soft)}.vb-head{display:flex;align-items:center;gap:6px;font-size:14px;white-space:nowrap}.vb-head b{font-weight:600;overflow:hidden;text-overflow:ellipsis;max-width:170px}.rank{flex:none;width:24px;height:24px;border-radius:50%;background:#efe9f8;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--muted)}.rank.door{background:var(--yellow);box-shadow:0 2px 0 var(--yellow-d)}.thought.van.ready{box-shadow:0 0 0 3px #4fc77e8c,var(--shadow)}.otime{display:flex;flex-direction:column;line-height:1.15}.due{font-size:12px;font-weight:700;border-radius:8px;padding:1px 6px;width:fit-content}.due.ok{background:#eef3ff;color:#3f6fd8}.due.soon{background:#fff1d6;color:#b56d00}.due.today{background:#ffe1c2;color:#c4570a}.due.late{background:#ffe1e1;color:#d64545;animation:glow 1.1s infinite}.due.none{background:#f3f0f7;color:var(--muted);font-weight:600}.otime small{font-size:11px;color:var(--muted);margin-top:1px}.vb-act{align-self:stretch}.vb-wait{font-size:12px;font-weight:700;color:var(--muted)}.addspot{display:flex;align-items:center;gap:6px;border:3px dashed rgba(255,255,255,.95);background:#ffffff73;color:var(--ink);border-radius:18px;padding:10px 14px;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.addspot span{width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:18px;box-shadow:0 3px 0 var(--green-d)}.vb:not(.front) .thought.van{scale:1}.thought.van.mini{flex-direction:row;align-items:center;gap:6px;padding:4px 8px 4px 4px;border-radius:999px;white-space:nowrap;cursor:pointer;font-size:13px}.thought.van.mini .rank{width:22px;height:22px}.thought.van.mini .due{font-size:11px}.thought.van.mini .vb-act{padding:2px 8px;align-self:center}.vb.compact .tail.a{width:9px;height:9px;bottom:-10px;margin-left:-6px}.vb.compact .tail.b{width:5px;height:5px;bottom:-17px;margin-left:-4px}.vb.full:not(.front){z-index:5}.ichip.ready{box-shadow:0 0 0 2px #9be3b8}.vfill{position:relative;height:18px;border-radius:999px;background:#efeaf6;overflow:hidden}.vfill i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#6fdc98,#4fc77e);border-radius:999px;transition:width .4s}.vfill span{position:relative;display:block;text-align:center;font-size:11px;font-weight:700;line-height:18px;color:var(--ink)}.thought.van.loaded{box-shadow:0 0 0 3px #4fc77eb3,var(--shadow)}.thought.van.ready{box-shadow:0 0 0 3px #ffd23fb3,var(--shadow)}.badge.st-loaded{background:#dcf6e6;color:var(--green-d)}.fillbtn{pointer-events:auto;display:flex;align-items:center;gap:5px;background:var(--yellow);color:var(--ink);font-weight:700;font-size:13px;padding:5px 12px;border-radius:999px;box-shadow:0 4px 0 var(--yellow-d),var(--soft);cursor:pointer;white-space:nowrap;animation:glowy 1.2s infinite}.fillbtn b{background:#fff;border-radius:999px;padding:0 7px}@keyframes glowy{50%{box-shadow:0 0 0 6px #ffd23f66,0 4px 0 var(--yellow-d)}}.spotlbl{font-size:10px;font-weight:600;background:#ffffffd9;border-radius:999px;padding:1px 7px;white-space:nowrap;color:var(--ink);box-shadow:0 1px 4px #0000001a}.spotlbl.packed{background:#fff3c4}.wbubble.wait{width:38px;height:38px;font-size:18px;cursor:default;background:#fff3c4}.stockline{display:flex;align-items:center;justify-content:space-between;gap:10px}.stockbig{font-size:15px;color:var(--muted)}.stockbig b{font-size:28px;color:var(--ink)}.spotrow{font-size:12px;background:#fff7d6;border-radius:10px;padding:3px 8px;margin-top:4px}.taskbtn{pointer-events:auto;display:flex;align-items:center;gap:4px;background:var(--green);color:#fff;font-weight:700;font-size:13px;padding:6px 14px;border-radius:999px;box-shadow:0 4px 0 var(--green-d),var(--soft);cursor:pointer;white-space:nowrap}.pcard.off{opacity:.5;cursor:default}.fillbtn.full{background:#ffe1e1;color:#c43c3c;box-shadow:0 3px #f5b5b5,var(--soft);cursor:default;animation:glow 1.2s infinite;pointer-events:none}.bufbubble{display:flex;align-items:center;gap:4px;background:#ffffffeb;border-radius:12px;padding:2px 9px;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:var(--soft)}.bufbubble b{font-size:15px;font-weight:700}.bufbubble.out{background:#fff3c4}.bufbubble.more{font-size:11px;color:var(--muted)}.bufempty{font-size:11px;color:var(--muted);background:#fff9;border-radius:10px;padding:2px 8px;white-space:nowrap}.areatag{font-size:12px;font-weight:700;background:#fff3c4;color:#8a6200;border-radius:999px;padding:3px 10px;white-space:nowrap;box-shadow:var(--soft)}.demandboard{background:#fffffff2;border-radius:16px;padding:6px 8px;box-shadow:var(--shadow);min-width:170px;max-width:220px;font-size:12px}.demandboard .bt{font-weight:700;font-size:13px;margin-bottom:4px}.demandboard .dr{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:10px;background:#faf6ef;margin-top:3px}.demandboard .dr span{flex:1;display:flex;flex-direction:column;line-height:1.1;font-weight:600}.demandboard .dr small{font-size:10px;color:var(--muted);font-weight:500}.demandboard .dr b{font-size:14px}.demandboard .dr.empty,.demandboard .dr.more{justify-content:center;color:var(--muted)}.chips-col{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 6px}.qchip.in{background:#fff3c4;color:#8a6200}.popup-layer{position:absolute;left:0;top:0;width:0;height:0;z-index:6}.popup-layer .pop{position:absolute;left:0;top:8px;transform:translate(-50%)}.gcard{max-height:92vh;overflow-y:auto}.catlist{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow-y:auto;padding-right:4px}.catrow{background:#fff;border-radius:16px;padding:7px 9px;box-shadow:0 3px 0 var(--line)}.cathead{display:flex;align-items:center;gap:7px;font-size:14px}.cathead small{color:var(--muted);margin-left:auto;font-size:11px}.sizes{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}.catgroup{background:#fff;border-radius:16px;border:1.5px solid var(--line);box-shadow:0 3px 0 var(--line);overflow:hidden;flex:none}.catgroup.picked{border-color:var(--green)}.catgroup>.cathead{width:100%;border:0;background:none;padding:9px 10px;cursor:pointer;text-align:left;font:inherit;color:inherit}.catgroup>.cathead .mi{width:34px;height:23px}.catname{display:flex;flex-direction:column;line-height:1.2;flex:1;min-width:0}.catname b{font-size:15px}.catname small{margin-left:0!important}.catgroup .pbadge{position:static;background:var(--green);color:#fff;min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;font-size:12px;font-weight:800;padding:0 6px;box-shadow:none}.chev{color:var(--muted);font-size:18px;line-height:1;transition:transform .2s;transform:translateY(-3px)}.chev.up{transform:rotate(180deg) translateY(-3px)}.catrows{animation:catOpen .2s ease-out}@keyframes catOpen{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.catitem{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;border-top:1px solid var(--line)}.catinfo{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.catinfo b{font-size:15px}.catinfo small{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catinfo small span{color:var(--ink, #3a3350)}.sdot{width:7px;height:7px;border-radius:50%;background:var(--green);flex:none}.sdot.none{background:#e04848}.addbtn{border:1.5px solid var(--green);color:var(--green-d);background:#fff;border-radius:999px;padding:5px 14px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap}.addbtn:hover{background:#effaf3}.stepper{display:flex;align-items:center;background:var(--green);border-radius:999px;box-shadow:0 2px 0 var(--green-d);animation:stepPop .18s ease-out}.stepper button{border:0;background:none;color:#fff;width:32px;height:30px;font-size:17px;font-weight:700;cursor:pointer;line-height:1}.stepper b{color:#fff;min-width:22px;text-align:center;font-size:15px}@keyframes stepPop{0%{transform:scale(.85)}to{transform:none}}.szchip{position:relative;display:flex;flex-direction:column;align-items:center;min-width:46px;padding:4px 6px 3px;border-radius:12px;background:#f6f2ea;border:2px solid transparent;cursor:pointer;line-height:1.05}.szchip b{font-size:14px}.szchip.on{background:#eef4ff;border-color:var(--blue)}.szchip .dotn{font-size:10px;font-weight:700;color:var(--green-d)}.szchip .dotn.none{color:#e04848}.szchip .pbadge{top:-9px;right:-7px;min-width:20px;height:20px;font-size:11px;box-shadow:0 2px #2f6ad8}.szchip .minus{position:absolute;left:-7px;top:-9px;width:20px;height:20px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px #ddd3e8;font-weight:700;cursor:pointer;padding:0;line-height:1}.seriestag{font-size:13px;font-weight:700;color:#fff;background:var(--c);padding:3px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 3px color-mix(in srgb,var(--c) 70%,#000),var(--soft);text-shadow:0 1px 0 rgba(0,0,0,.2)}.labels.far .bubble.slot,.labels.far .tag:not(.size),.labels.far .max{display:none}.tag.size{font-size:12px;font-weight:700;color:#3a3350;background:#fff;box-shadow:0 2px #3a335026;padding:1px 7px}.labels.far .tag.size{font-size:9px;padding:0 5px}.fk-count{background:#ffc93c;color:#4a3a10;font-weight:700;border-radius:10px;padding:1px 7px;font-size:12px;box-shadow:0 2px #0000002e}.seriestag-wrap{pointer-events:none}.seriestag-wrap>.seriestag{display:inline-block;transform:translate(-50%)}.demandboard-wrap{z-index:99990!important;pointer-events:none}.demandboard-wrap>.demandboard{transform:translate(calc(-50% - 14px),-35%);pointer-events:auto}.wbubble.wcard{width:auto;height:auto;display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:22px;font-size:12px}.wbubble.wcard .wt{display:flex;flex-direction:column;line-height:1.1;text-align:left}.wbubble.wcard .wt small{font-size:10px;color:var(--muted);font-weight:600}.wbubble.wcard .wt b{font-size:14px}.wbubble.wcard .wt em{font-style:normal;font-size:11px;font-weight:600;display:flex;align-items:center;gap:3px;white-space:nowrap}.wbubble.wcard.assign{background:var(--yellow)}.wbubble.wcard.assign .plus{width:28px;height:28px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:18px}.wbubble.wcard.assign .wt small{color:#3a3350b3}.labels.far .wbubble.wcard .wt{display:none}.labels.far .wbubble.wcard{padding:3px}.wbubble.wcard{z-index:99980!important}.labels.far .wbubble.wcard .ring{width:28px;height:28px}.labels.far .wbubble.wcard .ring b{width:20px;height:20px;font-size:12px}.gicon{display:block;flex:none;object-fit:contain;filter:drop-shadow(0 1px 0 rgba(58,51,80,.12));pointer-events:none}button .gicon,.btn .gicon,.gbtn .gicon{display:inline-block;vertical-align:-4px}.gbtn.sm,.btn{display:inline-flex;align-items:center;gap:6px}h4 .gicon,.flabel .gicon,.card b .gicon,.ev-head .gicon,.jobs b .gicon,.ai-status .gicon,.pop-note .gicon,.sum-chip .gicon,.plan-hint .gicon,.gcard-head .gicon{display:inline-block;vertical-align:-3px;margin-right:2px}.brand{padding:5px 18px 5px 5px}.logo{width:40px;height:40px;background:#fff3c4;box-shadow:inset 0 -3px #00000014}.rpill{background:#ffffffe0;color:var(--ink);box-shadow:0 3px #3a33501f,var(--soft);padding:3px 14px 3px 3px;gap:6px;font-weight:700}.rpill i{width:32px;height:32px;background:#fff7e6}.rpill small{color:var(--muted);opacity:1;font-weight:600}.rpill.bad{background:#ff7b7b;color:#fff}.rpill.bad i{background:#fff}.rpill.bad small{color:#ffe1e1}.rpill.warn{background:#ffc24b;color:var(--ink)}.hud-btn .gicon{width:30px;height:30px}.dock{gap:12px}.dock-btn{width:76px!important;height:76px!important;justify-content:center;border-radius:26px!important;padding-top:4px!important}.dock-btn span{height:40px;display:grid;place-items:center}.dock-btn small{font-size:11px;max-width:70px;margin-top:3px}.dock-btn.on{background:#fff;box-shadow:0 0 0 4px var(--violet),0 5px #7a4fe0,var(--soft);color:var(--violet)}.dock-btn:hover .gicon{transform:translateY(-2px) scale(1.06);transition:transform .12s}.ai-orb{display:grid;place-items:center}.sheet{width:460px;border-radius:30px}.sheet-head{padding:12px 16px}.sheet-icon{width:44px;height:44px;background:#fff7e6;box-shadow:0 3px 0 var(--line)}.sheet-head b{font-size:21px;font-weight:700}.sec h3{font-size:15px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.thumb{display:block;flex:none;border-radius:12px;background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--c, #ccc) 22%,#fff) 0,color-mix(in srgb,var(--c, #ccc) 22%,#fff) 30%,color-mix(in srgb,var(--c, #ccc) 45%,#efe6d8) 85%);object-fit:contain;box-shadow:inset 0 -2px #3a335014}.thumb.ph{background:color-mix(in srgb,var(--c) 25%,#f6efe3);animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.55}}.ichip .thumb{border-radius:6px;background:transparent}.wh-group{margin-top:12px;background:#fff;border-radius:22px;padding:8px;box-shadow:0 4px 0 var(--line)}.wh-ghead{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 8px}.wh-ghead .seriestag{font-size:13px}.whrow{display:flex;gap:10px;align-items:center;padding:6px;border-radius:16px;cursor:pointer;border:2px solid transparent}.whrow+.whrow{margin-top:2px}.whrow:hover{background:#fffaf2}.whrow.sel{border-color:var(--blue);background:#f3f7ff}.whrow .big{font-size:19px;font-weight:700}.whrow .big.red{color:#e04848}.whrow .big.amber{color:#d78a10}.whrow .big.green{color:var(--green-d)}.whrow.red .bar i{background:var(--red)}.whrow.amber .bar i{background:var(--amber)}.whrow .gbtn{margin-top:4px}.ofilters{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 4px}.ofilter{border:0;cursor:pointer;background:#fff;border-radius:999px;padding:6px 8px 6px 12px;font-weight:600;font-size:13px;box-shadow:0 3px 0 var(--line);display:inline-flex;gap:6px;align-items:center}.ofilter b{min-width:22px;height:22px;border-radius:999px;background:#f2ecf8;display:grid;place-items:center;font-size:12px;padding:0 6px}.ofilter.on{color:#fff}.ofilter.on b{background:#ffffffe6;color:var(--ink)}.ofilter.f-all.on{background:var(--violet);box-shadow:0 3px #7a4fe0}.ofilter.f-prod.on{background:#ff9f43;box-shadow:0 3px #d97b1f}.ofilter.f-ready.on{background:var(--green);box-shadow:0 3px 0 var(--green-d)}.ofilter.f-loading.on{background:var(--blue);box-shadow:0 3px #2f6ad8}.ofilter.f-shipped.on{background:#9a93ad;box-shadow:0 3px #77708c}.ocard{background:#fff;border-radius:22px;padding:12px 12px 10px;margin-top:10px;box-shadow:0 4px 0 var(--line);border-left:6px solid #ff9f43}.ocard.c-ready{border-left-color:var(--green)}.ocard.c-loading{border-left-color:var(--blue)}.ocard.c-shipped{border-left-color:#c9c3d6;opacity:.78}.ocard-head{display:flex;gap:10px;align-items:center}.ono{font-size:18px;font-weight:700}.ono span{font-weight:600;color:var(--ink);margin-left:4px}.omuted{font-size:12px;color:var(--muted);margin-top:2px}.ostatus{font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.04em;padding:2px 8px;border-radius:999px}.ostatus.s-prod{background:#fff0dd;color:#c86a10}.ostatus.s-ready{background:#dcf6e6;color:var(--green-d)}.ostatus.s-loading{background:#e3edff;color:#2f6ad8}.ostatus.s-shipped{background:#f0ecf6;color:var(--muted)}.ocard .olines{gap:4px;margin:10px 0 8px}.ocard .oline{background:#fffaf2;border-radius:14px;padding:4px 8px 4px 4px}.vanmeter{position:relative;width:104px;height:50px;flex:none}.vm-cargo{position:absolute;left:0;top:2px;width:72px;height:36px;border-radius:10px 6px 6px 10px;background:#fff;border:3px solid var(--ink);overflow:hidden}.vm-cargo i{position:absolute;left:0;top:0;bottom:0;background:#ffbf6b;transition:width .4s}.vanmeter.v-ready .vm-cargo i{background:#8ee0ad}.vanmeter.v-loading .vm-cargo i{background:#8db8ff}.vanmeter.v-shipped .vm-cargo i{background:#d8d2e4}.vm-cargo b{position:relative;display:grid;place-items:center;height:100%;font-size:16px;font-weight:700}.vm-cargo b small{font-size:11px;color:var(--muted);font-weight:600}.vm-cab{position:absolute;left:68px;top:12px;width:32px;height:26px;background:#7fb8ee;border:3px solid var(--ink);border-left:0;border-radius:0 14px 6px 0}.vm-cab span{position:absolute;right:4px;top:3px;width:11px;height:9px;border-radius:3px 7px 2px 2px;background:#e6f4ff}.vm-w{position:absolute;bottom:2px;width:14px;height:14px;border-radius:50%;background:#4a4458;border:3px solid var(--ink);box-shadow:inset 0 0 0 3px #b8b2c6}.vm-w.a{left:10px}.vm-w.b{left:76px}.ichips.named{flex-direction:column;flex-wrap:nowrap;gap:4px}.ichips.named .ichip{width:100%;padding:2px 10px 2px 3px;gap:6px;border-radius:14px}.ich-name{display:flex;flex-direction:column;line-height:1.05;flex:1;min-width:0}.ich-name b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.ich-name small{font-size:11px;color:var(--muted);font-weight:600}.ich-n{font-size:14px;font-weight:700}.aibar.mini{width:auto;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}.ai-fab{display:inline-flex;align-items:center;gap:8px;padding:6px 16px 6px 8px;border-radius:999px;background:linear-gradient(135deg,#9b6cff,#ff7ab6);color:#fff;font-weight:700;box-shadow:0 4px #7a4fe0,var(--soft)}.ai-fab.busy{animation:glowv 1.2s infinite}@keyframes glowv{50%{box-shadow:0 4px #7a4fe0,0 0 0 7px #9b6cff4d}}.gbtn.hide-ai{width:36px;height:36px;padding:0;border-radius:50%;box-shadow:0 3px #ddd3e8;font-size:16px;color:var(--muted)}.ich-stats{display:flex;gap:3px;flex:none}.ich-stats .st{display:flex;flex-direction:column;align-items:center;min-width:30px;padding:1px 4px;border-radius:9px;background:#f6f1e8;line-height:1}.ich-stats .st small{font-size:8px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.ich-stats .st b{font-size:14px}.ich-stats .st.have.full{background:#dcf6e6;color:var(--green-d)}.ich-stats .st.have.part{background:#fff1d6;color:#b56d00}.ich-stats .st.have.none{background:#ffe8e8;color:#d64545}.ich-stats .st.load.on{background:#e3edff;color:#2f6ad8}.ichips.named .ichip.done .ich-stats .st.load{background:#dcf6e6;color:var(--green-d)}.van-anchor .vb{width:max-content;max-width:340px}.ichips.named .ich-name{min-width:96px}.ichips.named .ich-name b{max-width:120px}.van-anchor .thought.van{max-width:340px}.adm-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.adm-tile{border:0;cursor:pointer;background:#fff;border-radius:22px;padding:14px 12px 12px;box-shadow:0 4px 0 var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;transition:transform .1s}.adm-tile:hover{transform:translateY(-2px)}.adm-tile:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.adm-tile b{font-size:15px;font-weight:700}.adm-tile small{font-size:12px;color:var(--muted);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.adm-head{display:flex;align-items:center;gap:10px;margin:10px 0 6px;font-size:18px}.adm-head b{font-weight:700}.adm-sub{margin:2px 0 6px}.adm-page{margin-top:4px}.adm-h{margin:16px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.series-row{width:100%;border:0;cursor:pointer;display:flex;align-items:center;gap:12px;background:#fff;border-radius:20px;padding:8px 12px 8px 8px;margin-top:8px;box-shadow:0 4px 0 var(--line);text-align:left;border-left:6px solid var(--c)}.series-row:hover{background:#fffdf8}.series-row b{display:block;font-size:15px}.series-row small{display:block;color:var(--muted);font-size:12px;margin-top:1px}.size-dots{display:flex;gap:3px;flex-wrap:wrap;margin-top:5px}.size-dots i{font-style:normal;font-size:10px;font-weight:700;background:color-mix(in srgb,var(--c) 18%,#fff);color:var(--ink);border-radius:6px;padding:0 5px}.chev{font-size:22px;color:var(--muted);font-weight:600}.series-hero{display:flex;gap:12px;align-items:center;background:#fff;border-radius:22px;padding:10px;box-shadow:0 4px 0 var(--line);margin-bottom:6px}.series-hero .seriestag{display:inline-block;font-size:15px;margin-bottom:4px}.series-hero>div{display:flex;flex-direction:column;gap:3px}.prow{background:#fff;border-radius:18px;margin-top:6px;box-shadow:0 3px 0 var(--line);overflow:hidden}.prow.open{box-shadow:0 0 0 3px var(--blue),0 3px 0 var(--line)}.prow-head{width:100%;border:0;background:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;text-align:left}.prow-head b{display:block;font-size:15px}.prow-head small{display:block;font-size:12px;color:var(--muted)}.prow .form{padding:4px 12px 12px;display:flex;flex-direction:column;gap:8px}.wh-kpis{margin-top:10px}.thumb.corner{background:color-mix(in srgb,var(--c, #ccc) 30%,#f3ece0);border:2px solid #fff;box-shadow:0 2px 0 var(--line)}.navbar{position:absolute;z-index:12;left:50%;bottom:14px;transform:translate(-50%);display:flex;gap:4px;padding:6px;background:#fffffff2;border-radius:30px;box-shadow:0 5px #3a33501f,0 16px 34px #3a33502e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-item{position:relative;border:0;background:none;cursor:pointer;width:82px;height:64px;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink);-webkit-tap-highlight-color:transparent}.nav-item .gicon{position:relative;z-index:1;transition:transform .18s cubic-bezier(.3,1.6,.5,1)}.nav-item small{position:relative;z-index:1;font-size:11px;font-weight:600;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item:hover .gicon{transform:translateY(-2px) scale(1.08)}.nav-item:active .gicon{transform:scale(.92)}.nav-item.on{color:#6d3fd6}.nav-item.on .gicon{transform:translateY(-1px) scale(1.06)}.nav-ind{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;background:#f1eaff;box-shadow:inset 0 0 0 2px #d7c6ff}.sheet{bottom:100px;animation:none}.aibar{left:auto;right:16px;bottom:18px;transform:none;width:min(460px,calc(100vw - 32px));min-width:0}.aibar.mini{width:auto;align-items:flex-end}.ai-status{margin:0 0 8px auto}.demandboard .bt{display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.demandboard .bt span{flex:1}.demandboard .bt em{font-style:normal;background:#f1eaff;color:#6d3fd6;border-radius:999px;padding:0 8px;font-size:12px}.demandboard .bt .tg,.vb-head .tg{font-style:normal;color:var(--muted);font-size:12px}.demandboard.mini{min-width:0;padding:6px 10px;border-radius:999px}.demandboard.mini .bt{margin:0}.vb-head{cursor:pointer}.vb-head b{flex:1}.mini-count{font-weight:700;font-size:12px;background:#f6f1e8;border-radius:999px;padding:0 7px}@media(max-width:760px){.hud{top:8px;left:8px;right:8px;gap:6px;flex-wrap:nowrap}.brand{padding:4px;font-size:0;gap:0}.brand>div:last-child{display:none}.logo{width:34px;height:34px}.res{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}.rpill{font-size:14px;padding:2px 9px 2px 2px;flex:none}.rpill i{width:26px;height:26px}.rpill small,.rpill.warn,.hud .grow{display:none}.hud-btn{width:38px!important;height:38px!important}.hud-btn .gicon{width:24px;height:24px}.navbar{left:0;right:0;bottom:0;transform:none;border-radius:24px 24px 0 0;justify-content:space-around;padding:6px 6px calc(6px + env(safe-area-inset-bottom));gap:0}.nav-item{width:auto;flex:1;height:58px;border-radius:18px}.nav-item .gicon{width:26px;height:26px}.nav-item small{font-size:10px;max-width:64px}.nav-ind{top:2px;right:4px;bottom:2px;left:4px;border-radius:18px}.sheet{top:56px;left:6px;right:6px;bottom:calc(76px + env(safe-area-inset-bottom));width:auto;border-radius:24px;border-width:3px}.sheet-head{padding:8px 12px}.sheet-head b{font-size:18px}.sheet-body{padding:4px 10px 14px}.aibar{right:10px;bottom:calc(84px + env(safe-area-inset-bottom))}.ai-fab span{display:none}.ai-fab{padding:8px}.events{left:10px;bottom:calc(84px + env(safe-area-inset-bottom));max-width:calc(100vw - 90px);padding:6px 10px}.events:not(.open) .ev{display:none}.toasts{top:56px;width:calc(100vw - 20px)}.plan-hint{top:52px}.demandboard{max-width:190px;min-width:0;font-size:11px}.thought.van{max-width:260px!important}.ich-name b{max-width:90px}.adm-tiles{gap:8px}.adm-tile{padding:10px}.ofilters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.ofilter{flex:none}.vanmeter{transform:scale(.85);transform-origin:right center}.gcard,.order-form{max-width:calc(100vw - 16px)}}@media(max-width:760px){.res{flex-wrap:nowrap}.hud{align-items:flex-start}}@media(max-width:760px){.labels.far .tag.size,.labels.far .seriestag-wrap{display:none}}@media(max-width:760px){.res{padding:6px 8px 12px 6px;margin:-6px 0 -12px -6px}}@media(max-width:760px){.res{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent)}}.prod{padding-bottom:6px}.p-top{display:flex;align-items:center;justify-content:space-between;margin:10px 0 4px}.p-stat{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--muted)}.p-stat b{color:var(--ink);font-size:18px}.p-stage{background:#fff;border-radius:22px;margin-top:12px;box-shadow:0 4px 0 var(--line);overflow:hidden;border-top:5px solid var(--c, var(--violet))}.p-stage.sel{box-shadow:0 0 0 3px var(--blue),0 4px 0 var(--line)}.p-stage.fin{border-top-color:var(--green)}.p-head{display:flex;align-items:center;gap:10px;padding:10px 12px 6px}.p-head b{display:block;font-size:17px}.p-head small{display:block;font-size:12px;color:var(--muted)}.p-step{width:32px;height:32px;flex:none;border-radius:11px;background:var(--c, var(--green));color:#fff;font-weight:700;display:grid;place-items:center;box-shadow:inset 0 -3px #0000001f}.p-stage.fin .p-step{background:#e7f8ee}.p-load{position:relative;flex:none;width:64px;height:24px;border-radius:999px;background:#f2ecf8;overflow:hidden;display:grid;place-items:center;font-size:12px;font-weight:700}.p-load i{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--c) 45%,#fff)}.p-load span{position:relative}.p-workers{display:flex;flex-direction:column;gap:6px;padding:4px 10px 8px}.p-worker{display:flex;align-items:center;gap:10px;padding:8px;border-radius:16px;background:#faf7f1}.p-worker.busy{background:#fffbea}.p-worker.late{background:#fff1e6}.p-worker .avatar{width:34px;height:34px;flex:none;border-radius:50%;color:#fff;font-weight:700;display:grid;place-items:center;font-size:15px;box-shadow:inset 0 -3px #00000026}.p-wbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.p-wtop{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.p-wtop b{font-size:14px}.p-wtop small{font-size:11px;color:var(--muted);white-space:nowrap}.p-job{display:flex;align-items:center;gap:8px;min-width:0}.pn{display:flex;flex-direction:column;min-width:0;line-height:1.15;flex:1}.pn b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pn small{font-size:11px;color:var(--muted);font-weight:600}.p-prog{height:6px;border-radius:999px;background:#efe7d8;overflow:hidden}.p-prog i{display:block;height:100%;background:var(--green);border-radius:999px;transition:width .6s}.p-worker.late .p-prog i{background:var(--amber)}.p-acts{display:flex;flex-direction:column;align-items:stretch;gap:4px;flex:none}.p-undo{border:0;cursor:pointer;background:#fff;border-radius:10px;height:26px;font-size:14px;color:var(--muted);box-shadow:0 2px 0 var(--line)}.p-undo:hover{color:#e04848}.p-next{border:0;cursor:pointer;display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:4px 8px 4px 4px;border-radius:12px;background:var(--yellow);box-shadow:0 3px 0 var(--yellow-d)}.p-next:active{transform:translateY(2px);box-shadow:0 1px 0 var(--yellow-d)}.p-next .plus{width:26px;height:26px;flex:none;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:700}.p-idle{font-size:12px;color:var(--muted)}.p-block{padding:6px 12px 10px;border-top:2px dashed var(--line)}.p-block h4{margin:2px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);display:flex;align-items:center;gap:6px}.p-block h4 em{font-style:normal;margin-left:auto;background:#f2ecf8;color:var(--ink);border-radius:999px;padding:0 8px;font-size:12px;letter-spacing:0}.p-list{display:flex;flex-direction:column;gap:4px}.p-item{display:flex;align-items:center;gap:8px;padding:3px 8px 3px 3px;border-radius:12px;background:#faf7f1}.p-item.order{box-shadow:inset 3px 0 0 var(--red)}.p-count{font-weight:700;font-size:14px;flex:none}.p-count.big{font-size:20px}.p-more{border:0;background:none;cursor:pointer;color:var(--blue);font-weight:600;font-size:12px;padding:4px;align-self:flex-start}.p-empty{font-size:12px;color:var(--muted);padding:6px 2px}.acc{position:relative}.acc-chip{display:flex;align-items:center;gap:7px;border:0;background:#fff;border-radius:999px;padding:4px 12px 4px 4px;box-shadow:0 4px #ddd3e8,var(--soft);cursor:pointer;font:inherit;color:var(--ink);max-width:210px}.acc-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0ecf6;color:var(--muted);font-weight:700;flex:none}.acc-chip.role-admin .acc-av{background:#3c4b8c;color:#fff}.acc-chip.role-sales .acc-av{background:var(--green);color:#fff}.acc-chip.role-production .acc-av{background:#ff9f43;color:#fff}.acc-chip.role-warehouse .acc-av{background:var(--blue);color:#fff}.acc-chip.role-viewer .acc-av{background:#c9c3d6;color:#fff}.acc-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;min-width:0}.acc-txt b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.acc-txt small{font-size:11px;color:var(--muted);white-space:nowrap}.acc-pop{position:absolute;right:0;top:calc(100% + 8px);width:240px;z-index:30}.ginput.pin{font-size:22px;letter-spacing:.3em;text-align:center}.badge.role-sales{background:#dcf6e6;color:var(--green-d)}.badge.role-production{background:#fff1d6;color:#b56d00}.badge.role-warehouse{background:#e8f0ff;color:#3f6fd8}.badge.pin{background:#fff6d6;color:#8a6a00}.oacts{margin-top:2px}.oacts.compact{gap:4px}.oacts.compact .gbtn.sm{padding:4px 9px}.onvan{color:#3f6fd8;font-weight:600;white-space:nowrap}.onote{font-size:12px;color:var(--muted);font-style:italic;margin-top:2px}.oedit{max-height:90vh;overflow-y:auto}.oedit .stepper button:disabled{opacity:.35;cursor:default}.pop-x.static:disabled{opacity:.3;cursor:default}.choice{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border:3px solid var(--line);background:#fff;border-radius:18px;padding:10px 14px;cursor:pointer;font:inherit;color:var(--ink);box-shadow:0 3px 0 var(--line)}.choice b{font-size:15px}.choice small{color:var(--muted);font-size:12px}.choice:hover{border-color:var(--green)}.choice.warn:hover{border-color:var(--red)}.choice:disabled{opacity:.5;cursor:default}.card.newacc{display:flex;flex-direction:column;gap:8px}.card code.pinbig{font-size:28px;letter-spacing:.25em;font-weight:700;text-align:center}.oedit>*{flex-shrink:0}.oedit .catlist{max-height:34vh}.onvan.block{display:block}.hud:has(.acc-pop){z-index:40}.login-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#3c325a59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50}.login-card{width:min(360px,92vw);background:#fffaf2;border-radius:26px;padding:22px;display:flex;flex-direction:column;gap:10px;box-shadow:0 6px 0 var(--line),0 20px 50px #0003;text-align:center}.login-card h2{margin:0 0 4px;font-size:20px}.login-card .logo{display:grid;place-items:center}.login-card .ginput.pin{font-size:24px;letter-spacing:10px;text-align:center}
