.sysapp{--accent: #2563eb;--accent-fg: #fff;--bg: #f7f8fa;--panel: #ffffff;--text: #1f2430;--muted: #6b7280;--border: #e3e6ec;--head-bg: #ffffff;--head-fg: #1f2430;--sel: #eef4ff;--radius: 8px;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;font-family:var(--font);font-size:13px;color:var(--text);background:var(--bg);height:100%;overflow:hidden}.sysapp *{box-sizing:border-box}.app-shell{display:flex;flex-direction:column;height:100%}.app-header{display:flex;align-items:center;gap:18px;padding:0 14px;height:48px;background:var(--head-bg);color:var(--head-fg);border-bottom:1px solid var(--border);flex-shrink:0}.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;white-space:nowrap}.brand-logo{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--accent);color:var(--accent-fg);font-size:14px}.brand-sub{font-weight:400;font-size:11px;opacity:.6}.app-tabs{display:flex;gap:2px;height:100%;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden}.app-tab{background:none;border:0;padding:0 12px;height:100%;color:inherit;opacity:.7;font:inherit;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.app-tab:hover{opacity:1}.app-tab.active{opacity:1;border-bottom-color:var(--accent)}.app-tab.devtab{margin-left:auto;flex:0 0 auto;font-family:JetBrains Mono,monospace;font-size:12px}.app-body{flex:1;overflow:auto;padding:14px}.app-error{background:#fee2e2;color:#991b1b;padding:6px 14px;font-size:12px}.btn{background:var(--accent);color:var(--accent-fg);border:0;border-radius:6px;padding:7px 12px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn.danger{background:#dc2626;color:#fff}.btn.small{padding:4px 8px;font-size:12px}.btn-link{background:none;border:0;color:var(--accent);cursor:pointer;font:inherit;padding:2px 4px}.btn-link.danger{color:#dc2626}.muted{color:var(--muted)}.small{font-size:11px}.grow{flex:1}.nowrap{white-space:nowrap}.empty{color:var(--muted);padding:30px;text-align:center}.empty.big{font-size:15px;line-height:2;padding-top:80px}.row{display:flex;gap:8px;align-items:flex-end}.neg{color:#dc2626}.pos{color:#15803d}code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px}.copyable{cursor:copy;background:#7f7f7f1f;padding:2px 5px;border-radius:4px;word-break:break-all}input,select,textarea{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 8px}textarea{width:100%;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}.chk{display:inline-flex;gap:6px;align-items:center;font-size:12px}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize;background:#e5e7eb;color:#374151;white-space:nowrap}.pill-draft,.pill-new,.pill-pending{background:#e0e7ff;color:#3730a3}.pill-confirmed,.pill-open,.pill-released,.pill-sent,.pill-requested,.pill-payment_pending{background:#dbeafe;color:#1e40af}.pill-fulfilling,.pill-picked,.pill-partially_paid,.pill-partially_received{background:#fef3c7;color:#92400e}.pill-shipped,.pill-paid,.pill-solved,.pill-received,.pill-success,.pill-completed{background:#dcfce7;color:#166534}.pill-cancelled,.pill-void,.pill-closed{background:#f3f4f6;color:#6b7280;text-decoration:line-through}.pill-overdue,.pill-failed{background:#fee2e2;color:#991b1b}.grid{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.grid th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 94%,var(--text));position:sticky;top:0}.grid td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:top}.grid tr:last-child td{border-bottom:0}.grid .num{text-align:right;font-variant-numeric:tabular-nums}.grid tr.clickable{cursor:pointer}.grid tr.clickable:hover td{background:color-mix(in srgb,var(--sel) 60%,transparent)}.grid tr.sel td{background:var(--sel)}.grid tr.overdue td{background:#fff1f1}.grid tr.mismatch td{background:#fff7d6}.grid.compact td,.grid.compact th{padding:5px 8px}.grid tfoot td{font-weight:600;border-top:1px solid var(--border)}.grid .memo{font-family:JetBrains Mono,monospace;font-size:11px}.grid .ellipsis{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px}.grid input.price{width:90px;text-align:right}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.chips{display:flex;gap:4px;flex-wrap:wrap}.chip{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer;text-transform:capitalize}.chip.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;height:100%}.split-main{overflow:auto;min-width:0}.split-side{overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.detail{padding:14px;display:flex;flex-direction:column;gap:8px}.detail h2{margin:0;font-size:17px}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail h4{margin:8px 0 0;font-size:12px;text-transform:uppercase;color:var(--muted)}.kv{display:flex;justify-content:space-between;gap:12px;font-size:12px}.kv span{color:var(--muted)}.kv b{text-align:right;font-weight:600}.actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.timeline{list-style:none;padding:0;margin:0;font-size:12px;display:flex;flex-direction:column;gap:4px}.timeline li span:first-child{color:var(--muted);display:inline-block;width:110px}.form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.form label.chk{flex-direction:row}.form .row label{flex:1}.lines{display:flex;flex-direction:column;gap:6px}.line{display:grid;grid-template-columns:1fr 80px 24px;gap:6px;align-items:center}.inline-form,.form.inline{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:12px;padding:10px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.form.inline label{display:flex;flex-direction:column;font-size:11px;gap:3px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:4px}.card-title{font-weight:700;font-size:14px}.card-stats{display:flex;gap:12px;font-size:12px;margin-top:6px}.section{margin:18px 0 8px;font-size:13px}.badge{background:var(--accent);color:var(--accent-fg);border-radius:999px;font-size:10px;font-weight:700;padding:1px 7px}.dev{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px;align-items:start}.dev-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.dev-card h3{margin:0;font-size:14px}.dev-card p{margin:0}.dev-intro{grid-column:1 / -1}.dev-links{display:flex;gap:22px;flex-wrap:wrap}.dev-links label{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.dev-links a{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:12px}.dev-code{background:#0f172a;color:#a5f3fc;padding:10px 12px;border-radius:6px;margin:0;font-family:JetBrains Mono,monospace;font-size:12px;overflow-x:auto}.dev-row{display:flex;gap:8px}.dev-row input{flex:1}.dev-newtoken{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:10px;border-radius:6px;display:flex;flex-direction:column;gap:6px}.dev-table{width:100%;border-collapse:collapse;font-size:12px}.dev-table th{text-align:left;color:var(--muted);font-weight:600;font-size:11px;padding:4px 6px;border-bottom:1px solid var(--border)}.dev-table td{padding:5px 6px;border-bottom:1px solid var(--border)}.dev-events{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px}.dev-hook{border:1px solid var(--border);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:6px}.dev-hook.paused{opacity:.55}.dev-hook-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dev-types{display:flex;flex-wrap:wrap;gap:4px}.dev-type{font-family:JetBrains Mono,monospace;font-size:10.5px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text);padding:2px 6px;border-radius:4px;cursor:help}.toasts{position:fixed;bottom:90px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:100000;pointer-events:none}.toast{background:#111827;color:#fff;padding:9px 14px;border-radius:8px;font:500 13px Inter,system-ui,sans-serif;box-shadow:0 8px 30px #0000004d;transition:opacity .4s,transform .4s}.toast-ok{background:#166534}.toast-error{background:#b91c1c}.toast.out{opacity:0;transform:translateY(8px)}.app-email{--accent: #0f6cbd;--head-bg: #0f6cbd;--head-fg: #fff;--sel: #e1effa;--bg: #faf9f8}.app-email .brand-logo{background:#fff;color:#0f6cbd}.app-email .app-tab.active{border-bottom-color:#fff}.app-email .app-body{padding:0}.mail{display:grid;grid-template-columns:210px 330px minmax(0,1fr);height:100%}.mail-side{background:#f3f2f1;border-right:1px solid var(--border);overflow-y:auto;padding:10px 6px;display:flex;flex-direction:column;gap:1px}.mail-side .compose{margin:0 4px 10px}.mail-group{font-size:10.5px;text-transform:uppercase;color:var(--muted);padding:10px 8px 4px;font-weight:700;letter-spacing:.04em}.mbox{display:flex;justify-content:space-between;align-items:center;background:none;border:0;padding:6px 10px;border-radius:5px;cursor:pointer;font:inherit;color:var(--text);text-align:left}.mbox:hover{background:#e9e7e5}.mbox.active{background:#d6e6f5;font-weight:600}.mail-list{border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;background:#fff}.mail-list-head{padding:8px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.folders{display:flex;gap:2px}.folders button{flex:1;background:none;border:0;padding:5px;font:inherit;text-transform:capitalize;cursor:pointer;border-radius:4px;color:var(--muted)}.folders button.active{background:#e1effa;color:#0f6cbd;font-weight:600}.search{width:100%}.mail-items{overflow-y:auto;flex:1}.mail-item{padding:9px 12px;border-bottom:1px solid #f0f0f0;cursor:pointer;border-left:3px solid transparent}.mail-item:hover{background:#f5f5f5}.mail-item.sel{background:#e1effa}.mail-item.unread{border-left-color:#0f6cbd}.mail-item.unread .mi-from,.mail-item.unread .mi-subj{font-weight:700}.mi-top{display:flex;justify-content:space-between;gap:6px}.mi-from{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mi-time{font-size:11px;color:var(--muted);white-space:nowrap}.mi-subj{color:#0f6cbd;margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-item.unread .mi-subj{color:#0f6cbd}.mi-snip{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-read{overflow-y:auto;padding:18px 22px;background:#fff}.read-head h2{margin:0 0 10px;font-size:19px;font-weight:600}.read-actions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.thread{display:flex;flex-direction:column;gap:10px}.msg{border:1px solid var(--border);border-radius:8px;padding:12px 14px}.msg.focus{border-color:#9cc3e8;box-shadow:0 1px 6px #0f6cbd1f}.msg.outbound{background:#f6faff}.msg-head{display:flex;gap:10px;align-items:center;margin-bottom:8px}.avatar{width:32px;height:32px;border-radius:50%;background:#c7d2fe;color:#312e81;display:grid;place-items:center;font-weight:700;flex-shrink:0}.msg-body{white-space:pre-wrap;font-family:inherit;margin:0;font-size:13px;line-height:1.5}.reply,.compose-form{margin-top:14px;display:flex;flex-direction:column;gap:8px}.compose-form h2{margin:0}.compose-form label{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:8px;color:var(--muted)}.app-sales{--accent: #6d28d9;--bg: #f6f5fb;--sel: #f1ebff;--head-bg: #1e1b4b;--head-fg: #fff}.app-sales .brand b{color:#c4b5fd}.app-sales .brand-logo{background:linear-gradient(135deg,#8b5cf6,#ec4899)}.app-sales .app-tab.active{border-bottom-color:#c4b5fd}.app-warehouse{--accent: #facc15;--accent-fg: #111;--bg: #16181d;--panel: #1f232b;--text: #e8eaed;--muted: #8b93a1;--border: #2e3440;--head-bg: #0e0f12;--head-fg: #facc15;--sel: #2b2f19;--font: "Inter", system-ui, sans-serif}.app-warehouse .brand{font-family:JetBrains Mono,monospace;letter-spacing:.06em}.app-warehouse .brand-logo{background:repeating-linear-gradient(45deg,#facc15 0,#facc15 6px,#111 6px,#111 12px);color:transparent}.app-warehouse .grid th{background:#191c22}.app-warehouse .grid td,.app-warehouse .sc-nums b{font-variant-numeric:tabular-nums}.app-warehouse .grid tr.mismatch td{background:#3b3214}.app-warehouse .pill{background:#2e3440;color:#cbd5e1}.app-warehouse .pill-pending{background:#3730a3;color:#e0e7ff}.app-warehouse .pill-released,.app-warehouse .pill-sent{background:#1e40af;color:#dbeafe}.app-warehouse .pill-picked,.app-warehouse .pill-partially_received{background:#92400e;color:#fef3c7}.app-warehouse .pill-shipped,.app-warehouse .pill-received{background:#166534;color:#dcfce7}.app-warehouse .btn.ghost{color:var(--text)}.app-warehouse .dev-newtoken{background:#052e1c;color:#a7f3d0;border-color:#065f46}.stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}.stock-card{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.stock-card.low{border-color:#b45309;box-shadow:inset 3px 0 #f59e0b}.sc-head{display:flex;align-items:center;gap:8px}.bin{font-family:JetBrains Mono,monospace;background:#facc15;color:#111;font-weight:700;padding:1px 6px;border-radius:3px;font-size:11px}.sc-name{font-weight:600;flex:1}.warn{font-size:10px;font-weight:800;color:#f59e0b;letter-spacing:.08em}.sc-bar{position:relative;height:10px;background:#2a2f39;border-radius:3px;display:flex;overflow:visible}.seg{height:100%}.seg.avail{background:#22c55e;border-radius:3px 0 0 3px}.seg.alloc{background:#3b82f6}.seg.order{background:repeating-linear-gradient(45deg,#a78bfa 0,#a78bfa 4px,#6d28d9 4px,#6d28d9 8px)}.rop{position:absolute;top:-3px;bottom:-3px;width:2px;background:#f43f5e}.sc-nums{display:flex;justify-content:space-between;gap:6px;font-size:12px}.sc-nums span{display:flex;flex-direction:column}.sc-nums label{font-size:9.5px;text-transform:uppercase;color:var(--muted)}.sc-nums b{font-family:JetBrains Mono,monospace;font-size:14px}.sc-foot{display:flex;justify-content:space-between;align-items:center;font-size:11px}input.tiny{width:46px;padding:2px 4px;font-size:11px;display:inline-block}.legend{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--muted);margin-top:10px}.lg{display:inline-block;width:12px;height:8px;border-radius:2px}.lg.avail{background:#22c55e}.lg.alloc{background:#3b82f6}.lg.order{background:#8b5cf6}.lg.rop{background:#f43f5e;width:3px}.app-accounting{--accent: #000080;--accent-fg: #fff;--bg: #c0c0c0;--panel: #ffffff;--text: #000;--muted: #444;--border: #808080;--sel: #000080;--radius: 0;--font: Tahoma, "MS Sans Serif", Verdana, "Segoe UI", sans-serif;font-size:12px}.app-accounting .app-header{background:linear-gradient(90deg,navy,#1084d0);color:#fff;height:30px;border:0}.app-accounting .brand{font-size:12px;font-weight:700}.app-accounting .brand-logo{background:none;width:auto}.app-accounting .brand-sub{opacity:.85}.app-accounting .app-tabs{height:30px;align-items:flex-end}.app-accounting .app-tab{background:silver;color:#000;opacity:1;height:24px;border:1px solid;border-color:#fff #404040 #c0c0c0 #fff;border-bottom:0;padding:0 10px;font-weight:400;margin-right:1px}.app-accounting .app-tab.active{height:28px;font-weight:700;border-bottom:0}.app-accounting .app-body{background:silver}.app-accounting .btn{background:silver;color:#000;border-radius:0;border:2px solid;border-color:#fff #404040 #404040 #fff;box-shadow:inset -1px -1px gray,inset 1px 1px #dfdfdf;font-weight:400;padding:4px 14px}.app-accounting .btn:active{border-color:#404040 #fff #fff #404040}.app-accounting .btn:hover{filter:none}.app-accounting input,.app-accounting select,.app-accounting textarea{border-radius:0;border:2px solid;border-color:#808080 #fff #fff #808080;background:#fff;padding:3px 4px}.app-accounting .grid{border:2px solid;border-color:#808080 #fff #fff #808080;border-radius:0}.app-accounting .grid th{background:silver;color:#000;text-transform:none;letter-spacing:0;font-size:12px;border:1px solid;border-color:#fff #808080 #808080 #fff;padding:3px 6px}.app-accounting .grid td{padding:3px 6px;border-bottom:1px dotted #c0c0c0}.app-accounting .grid tr.sel td{background:navy;color:#fff}.app-accounting .grid tr.clickable:hover td{background:#dfe6ff}.app-accounting .grid tr.overdue td{background:#ffe0e0}.app-accounting .pill{border-radius:0;background:none!important;padding:0;font-weight:700;color:#000!important;text-decoration:none}.app-accounting .pill-overdue,.app-accounting .pill-failed{color:#c00!important}.app-accounting .pill-paid,.app-accounting .pill-completed{color:#060!important}.app-accounting .split-side,.app-accounting .dev-card,.app-accounting .card{background:silver;border:2px solid;border-color:#fff #404040 #404040 #fff;border-radius:0}.w98-group{border:2px groove #fff;padding:10px 12px;margin:0 0 12px;background:silver;display:flex;flex-direction:column;gap:4px}.w98-group legend{padding:0 4px}.w98-big{font-size:34px;font-family:Courier New,monospace;font-weight:700;background:#000;color:#0f0;padding:6px 12px;border:2px inset #fff;align-self:flex-start}.w98-big.neg{color:#f33}.w98-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.w98-cols .w98-group{margin:0}.w98-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.w98-filter{display:flex;gap:8px}.w98-tip{background:#ffffe1;border:1px solid #000;padding:8px;display:inline-block}.pickrow{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11px;padding:3px 0;border-bottom:1px dotted #808080}.app-support{--accent: #1f73b7;--head-bg: #03363d;--head-fg: #fff;--bg: #f8f9f9;--sel: #edf7ff}.app-support .brand-logo{background:#78a300}.app-support .app-tab.active{border-bottom-color:#78a300}.app-support .app-body{padding:0}.hd{display:grid;grid-template-columns:200px 360px minmax(0,1fr);height:100%}.hd-nav{background:#fff;border-right:1px solid var(--border);padding:12px 8px;display:flex;flex-direction:column;gap:2px}.hd-nav .btn{margin-bottom:10px}.hd-view{display:flex;justify-content:space-between;background:none;border:0;padding:8px 10px;border-radius:4px;font:inherit;cursor:pointer;color:var(--text)}.hd-view:hover{background:#f3f4f6}.hd-view.active{background:#e9ebed;font-weight:600}.hd-view .count{color:var(--muted)}.hd-list{overflow-y:auto;border-right:1px solid var(--border);background:#fff}.hd-ticket{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #eef0f1;cursor:pointer}.hd-ticket:hover{background:#f8f9f9}.hd-ticket.sel{background:var(--sel)}.prio{width:4px;align-self:stretch;border-radius:2px;background:#d8dcde}.prio-high{background:#f79a3e}.prio-urgent{background:#cc3340}.hd-main{flex:1;min-width:0}.hd-subj{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hd-detail{overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.hd-head h2{margin:0 0 4px;font-size:18px}.hd-props{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#fff;border:1px solid var(--border);border-radius:6px;padding:10px}.hd-props label{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:3px}.hd-comments{display:flex;flex-direction:column;gap:8px}.hd-comment{background:#fff8e1;border:1px solid #f5e3a5;border-radius:6px;padding:8px 12px}.hd-comment pre{margin:4px 0 0;white-space:pre-wrap;font-family:inherit}.hd-note{display:flex;flex-direction:column;gap:6px;align-items:flex-start}body.standalone{margin:0;height:100vh}body.standalone #app{height:100vh}
