:root{--bg: #0d0d0f;--panel: #16161a;--border: #2a2a30;--text: #e8e6e1;--muted: #9a978f;--amber: #d98a3d;--review: #c9a227;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif}html,body{height:100%;overflow:hidden}.shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar{flex-shrink:0;height:52px;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--panel);border-bottom:1px solid var(--border)}.app-title{font-size:15px;font-weight:600;margin:0;white-space:nowrap}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}.body-area{display:flex;flex:1;overflow:hidden}.opt-banner{display:flex;align-items:center;gap:8px;padding:7px 14px;background:#fef3c7;color:#92400e;border-bottom:1px solid #f5d98a;font-size:13px;font-weight:500;flex-shrink:0}.opt-spin{width:13px;height:13px;border:2px solid #d9a441;border-top-color:transparent;border-radius:50%;display:inline-block;animation:opt-spin .8s linear infinite}@keyframes opt-spin{to{transform:rotate(360deg)}}.ingest-chip{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;border:1px solid transparent}.ingest-chip.ok{color:#15803d;background:#22c55e1f;border-color:#22c55e59}.ingest-chip.bad{color:#fff;background:#dc2626;border-color:#b91c1c}.ingest-chip.unknown{color:#92400e;background:#fef3c7;border-color:#f5d98a}.ingest-alarm{padding:10px 16px;background:#dc2626;color:#fff;font-size:14px;font-weight:700;border-bottom:2px solid #991b1b;flex-shrink:0;letter-spacing:.2px;animation:ingest-pulse 1.6s ease-in-out infinite}@keyframes ingest-pulse{0%,to{background:#dc2626}50%{background:#b91c1c}}.sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;transition:width .18s ease}.sidebar.collapsed{width:52px}.sidebar.collapsed .sidebar-label{display:none}.sidebar-item{display:flex;align-items:center;gap:12px;padding:11px 16px;width:100%;text-align:left;background:transparent;border:none;border-radius:0;color:var(--muted);cursor:pointer;white-space:nowrap;overflow:hidden;font-size:14px}.sidebar-item:hover{background:#ffffff0a;color:var(--text);border-color:transparent}.sidebar-item.active{color:var(--amber);background:#d98a3d12;border-color:transparent}.sidebar-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.sidebar-toggle{background:transparent;border:none;color:var(--muted);padding:6px;cursor:pointer;display:flex;align-items:center}.sidebar-toggle:hover{color:var(--text);border-color:transparent;background:transparent}.content{flex:1;overflow-y:auto;padding:24px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px;width:340px;display:flex;flex-direction:column;gap:6px}.login-card h1{font-size:18px;margin:0 0 12px}.login-card label{font-size:12px;color:var(--muted);margin-top:8px}.login-card input{padding:9px}.login-card .err{color:#e06c6c;font-size:13px}.login-card button{margin-top:16px}header nav{display:flex;gap:4px;margin-left:8px}.tab{background:transparent;border:1px solid transparent;color:var(--muted)}.tab.active{color:var(--amber);border-color:var(--border)}header .right{margin-left:auto;display:flex;align-items:center;gap:8px}input,select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:7px 9px;font-size:14px;font-family:inherit}input:focus,select:focus{outline:none;border-color:var(--amber)}select option{background:var(--panel);color:var(--text)}input.sm{width:110px}input.xs{width:56px}label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}label.check{flex-direction:row;align-items:center;gap:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}.grid2 .col2{grid-column:1 / -1}.row-actions{display:flex;gap:8px;align-items:center;margin:14px 0}.row-actions .spacer{flex:1}.modal.wide{max-width:860px}.modal.xwide{max-width:1180px}.lines-spec td,.lines-spec th{padding:4px 6px;vertical-align:top}.lines-spec input.sm{width:100%;min-width:0}.lines-spec input.xs{width:56px}.lines-spec .ro-cell{display:inline-block;padding:6px 2px;color:var(--text)}.lines-spec .art-picker>input{min-width:0}.modal-head{display:flex;align-items:center;justify-content:space-between}.actions{display:flex;gap:6px}button.link{background:none;border:none;color:var(--amber);padding:2px 6px;cursor:pointer}button.link.danger{color:#e06c6c}.muted{color:var(--muted)}.small{font-size:12px}.warn{color:var(--review)}.badge.rev-new{color:var(--muted)}.badge.rev-needs_review{color:var(--review);border-color:#5a4d10}.badge.rev-confirmed{color:#6fbf73;border-color:#2f4f31}.segbar{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0 16px;border-bottom:1px solid var(--border);padding-bottom:8px}.seg{background:transparent;border:1px solid transparent;color:var(--muted);border-radius:7px}.seg.active{color:var(--amber);border-color:var(--amber)}.danger-btn{background:#b14b4b;border-color:#b14b4b;color:#fff;font-weight:600}.danger-btn:hover:not(:disabled){background:#c25656;border-color:#c25656}.danger-btn:disabled{opacity:.5;cursor:default}.confirm-modal{max-width:440px}.confirm-msg{margin:4px 0 8px;color:var(--text);line-height:1.4}.truck-add-btn{border-color:#3a6f9c;color:#7db1e0}.truck-add-btn:hover{border-color:#5a8fc0;background:#3a6f9c1f}.att-summary{margin:2px 0 12px}.att-targets{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto}.att-or{margin:6px 0 0}.att-target{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--border);border-radius:8px;cursor:pointer}.att-target:hover{border-color:#3a6f9c}.att-target.active{border-color:#3a6f9c;background:#3a6f9c14}.att-target>input{margin-top:3px}.att-target-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.att-target-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.att-target-row .att-name{flex:1;min-width:120px;padding:4px 8px}.att-fill{height:22px}.sender-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.sender-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;border:1px solid var(--border);border-radius:999px;font-size:13px;font-family:monospace;background:#ffffff08}.sender-chip .chip-x{background:none;border:none;color:var(--muted);cursor:pointer;padding:0 2px;font-size:12px;line-height:1}.sender-chip .chip-x:hover{color:#b14b4b}.sender-add{display:flex;gap:6px;align-items:center}.sender-add input{flex:1;max-width:360px;padding:5px 10px}.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:12px 0 4px}.pager .tool{padding:4px 12px}.pager .tool:disabled{opacity:.4;cursor:default}.date-filter{display:flex;align-items:center;gap:6px}.date-filter select,.date-filter input[type=date]{padding:5px 8px;font-size:13px;border:1px solid var(--border);border-radius:7px;background:transparent;color:inherit}.date-filter select:focus,.date-filter input:focus{border-color:var(--amber);outline:none}.order-search{display:flex;align-items:center;gap:6px}.order-search input{min-width:240px;padding:5px 10px;font-size:13px;border:1px solid var(--border);border-radius:7px;background:transparent;color:inherit}.order-search input:focus{border-color:var(--amber);outline:none}tr.struck td{color:var(--muted);text-decoration:line-through}.flagchip{font-size:11px;color:var(--review);border:1px solid #5a4d10;border-radius:999px;padding:1px 6px;cursor:help;white-space:nowrap}.aichip{font-size:11px;color:#9a8fd9;border:1px solid #3d3560;border-radius:999px;padding:1px 6px;cursor:help;white-space:nowrap}td.expander{width:22px;text-align:center;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}th.check-col,td.check-col{width:32px;padding:0 8px;text-align:center;cursor:default}td button.confirm-btn{line-height:1;padding:2px 8px;background:transparent;border-color:transparent}td button.confirm-btn:hover{border-color:transparent;background:transparent}.cbtn-ring{display:inline-block;width:12px;height:12px;border:2px solid var(--muted);border-radius:50%;position:relative;vertical-align:middle;box-sizing:border-box}td button.confirm-btn:hover .cbtn-ring{border-color:#5cc85f}td button.confirm-btn.blocked{cursor:help}.cbtn-ring.slashed{border-color:var(--amber)}.cbtn-ring.slashed:after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;margin-left:-1px;background:var(--amber);border-radius:1px;transform:rotate(45deg)}td button.confirm-btn.blocked:hover .cbtn-ring.slashed,td button.confirm-btn.blocked:hover .cbtn-ring.slashed:after{border-color:var(--amber)}td.expander:hover{color:var(--amber)}tr.order-row{background:var(--panel)}tr.order-row:hover{background:#1e1e25}tr.order-row.confirmed{background:#2ecc402e}tr.order-row.confirmed:hover{background:#2ecc4042}tr.order-row.confirmed .flagchip,tr.order-row.confirmed .aichip,tr.order-row.confirmed .ai-suggest-chip{filter:grayscale(1);opacity:.45}tr.order-row.confirmed td.warn{color:var(--muted)}tr.order-row.on-locked-truck{background:#3884e833;box-shadow:inset 4px 0 #2f80ed}tr.order-row.on-locked-truck:hover{background:#3884e847}tr.order-row.on-locked-truck td:first-child{color:#4a9bff}tr.order-row.is-new{background:#ffffff0f}tr.order-row.is-new:hover{background:#ffffff1a}tr.order-row.is-new td:first-child{box-shadow:inset 3px 0 #fff}tr.line-row{background:var(--bg);cursor:default}tr.line-row td{font-size:13px;padding:7px 12px;color:var(--muted);border-bottom:1px solid #1a1a20}tr.line-row:hover{background:#111114}tr.line-row.unresolved td{font-style:italic}td.line-indent{width:22px;border-left:2px solid var(--border)!important}.mono{font-family:ui-monospace,monospace;letter-spacing:.01em}tr.totalrow td{border-top:2px solid var(--border)}tr.totalrow{cursor:default}tr.totalrow:hover{background:transparent}h1{font-size:20px;font-weight:600;margin:0 0 16px}.note{color:var(--muted);font-size:13px;margin:0 0 20px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar-tools{margin-left:auto;display:flex;gap:2px}button.tool{padding:6px 10px;font-size:13px;color:var(--muted);background:transparent;border-color:transparent}button.tool:hover{color:var(--text);border-color:var(--border);background:var(--panel)}button.reparse-btn{margin-left:8px;padding:6px 12px;font-size:13px;color:#e0a96c;background:transparent;border-color:#5a4324}button.reparse-btn:hover:not(:disabled){color:#f0c089;border-color:#7a5a30;background:#e0a96c14}button{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer}button:hover{border-color:var(--amber)}button.primary{background:var(--amber);color:#1a1206;border-color:var(--amber);font-weight:600}button.ghost{background:transparent;color:var(--muted);border-style:dashed}button.ghost:hover{color:var(--text);border-color:var(--amber)}button:disabled{opacity:.5;cursor:default}.filters{display:flex;gap:4px;margin-left:auto}.filters button.active{border-color:var(--amber);color:var(--amber)}.lang{background:transparent;border:none;color:var(--muted);padding:4px 8px}.lang.active{color:var(--amber)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em}tbody tr{cursor:pointer}tbody tr:hover{background:var(--panel)}.badge{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.badge.parsed{color:#6fbf73;border-color:#2f4f31}.badge.needs_review{color:var(--review);border-color:#5a4d10}.badge.unparsed{color:var(--muted)}.badge.type-order{color:var(--amber);border-color:#5a3d10}.badge.type-nachlieferung{color:#7aa7d9;border-color:#2a3f5a}.badge.type-cancellation{color:#e06c6c;border-color:#5a2a2a}.badge.khg-lagerska{color:#6ee7b7;border-color:#1f5a44;background:#22c55e1a}.badge.khg-komisija{color:#d8b4fe;border-color:#4a2f6a;background:#a855f71a}.badge.type-return{color:#c79a6a;border-color:#4a3a28}.badge.type-penalty{color:#d96a9a;border-color:#5a2a44}.badge.type-reminder{color:#9a9ad9;border-color:#33335a}.badge.type-noise,.badge.type-unknown{color:var(--muted)}.badge.link-ok{color:#6fbf73;border-color:#2f4f31}.badge.link-none{color:#e06c6c;border-color:#5a2a2a}.badge.link-suggest{color:#d6a849;border-color:#5a4a23}.link.link-accept{color:#6fbf73;margin-right:10px}.storno-pick-list{margin-top:10px;max-height:50vh;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.storno-pick-row{display:flex;align-items:center;gap:4px;width:100%;border:1px solid var(--border);border-radius:6px;padding-right:6px}.storno-pick-row:hover{border-color:var(--muted)}.storno-pick-row.active{border-color:var(--amber);background:#d6a8490f}.storno-pick-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;padding:8px 10px;background:transparent;border:none;border-radius:6px 0 0 6px;cursor:pointer;color:inherit}.storno-pick-eye{flex:none;background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:4px 6px;border-radius:6px}.storno-pick-eye:hover{color:var(--text)}.storno-pick-link{flex:none;background:transparent;border:1px solid var(--border);color:var(--amber);cursor:pointer;font-size:12px;padding:5px 10px;border-radius:6px;white-space:nowrap}.storno-pick-link:hover:not(:disabled){border-color:var(--amber);background:#d6a8491a}.storno-pick-link:disabled{opacity:.5;cursor:default}.link.active{color:var(--amber);font-weight:600}table.lines{margin:8px 0 16px}table.lines td,table.lines th{padding:6px 10px;font-size:13px}table.lines tr.unresolved td{color:var(--muted);font-style:italic}.lines-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.lines-head label{display:flex;align-items:center;gap:6px}.lines-head select{padding:3px 6px}.art-picker{position:relative}.art-picker>input{width:100%;min-width:150px}.art-picker-list{position:absolute;z-index:50;left:0;right:0;top:100%;margin:2px 0 0;padding:4px;list-style:none;max-height:260px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000040;min-width:260px}.art-picker-list li{padding:5px 8px;border-radius:6px;cursor:pointer}.art-picker-list li.active{background:var(--bg)}.ap-row1{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.ap-row1 strong{font-size:13px}.ap-cust{font-size:11px;color:var(--muted);background:var(--bg);padding:1px 6px;border-radius:10px;white-space:nowrap}.ap-row2{display:flex;gap:8px;font-size:11px;color:var(--muted);margin-top:1px}.ap-code{font-family:ui-monospace,monospace}.ap-spec{font-style:italic}.place-combo{position:relative}.place-combo>input{width:100%}.place-combo-list{position:absolute;z-index:50;left:0;right:0;top:100%;margin:2px 0 0;padding:4px;list-style:none;max-height:240px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000040;min-width:200px}.place-combo-list li{padding:5px 8px;border-radius:6px;cursor:pointer;font-size:13px}.place-combo-list li:hover{background:var(--bg)}.line-spec{margin-top:3px;line-height:1.3}.line-spec-edit{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.line-spec-edit input{min-width:90px;flex:1}.line-missing{margin-top:4px;color:#fb923c;display:flex;align-items:center;gap:8px;font-size:12px}.line-missing .link{color:var(--amber)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.msg.error{color:#fb7185}.modal h3{font-size:14px;color:var(--muted);margin:18px 0 6px;text-transform:uppercase;letter-spacing:.04em}.empty{color:var(--muted);padding:48px;text-align:center}.msg{color:var(--amber);font-size:13px;margin-left:8px}.pdf-frame{width:100%;height:70vh;border:1px solid var(--border);border-radius:8px;background:#fff}.loading-orders{display:flex;align-items:center;justify-content:center;gap:10px}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--muted);display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.confirmed-check{color:#5cc85f;font-weight:700;font-size:15px}.unconfirm-btn{background:none;border:none;padding:2px 4px;cursor:pointer;border-radius:6px;line-height:1}.unconfirm-btn:hover{background:#e06c6c29}.unconfirm-btn:hover .confirmed-check{color:#e06c6c}.unconfirm-link{color:var(--muted)}.unconfirm-link:hover:not(:disabled){color:#e06c6c}.unconfirm-link:disabled{opacity:.4;cursor:default}.nowrap{white-space:nowrap}.term-proposed{color:var(--muted);font-style:italic;font-size:12px}.term-delta{color:var(--amber);font-weight:700;margin-left:1px;cursor:help}.overlay,.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;max-width:720px;width:100%;max-height:85vh;overflow:auto;padding:24px}.modal h2{margin-top:0}.modal pre{white-space:pre-wrap;word-break:break-word;background:var(--bg);padding:12px;border-radius:8px;font-size:13px}.kv{color:var(--muted);font-size:13px}.storno-panel{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:92vw;background:var(--panel);border-left:1px solid var(--border);box-shadow:-8px 0 28px #0006;overflow:auto;padding:20px 22px;z-index:10}.storno-panel h2{margin-top:0;font-size:17px}.storno-panel pre{white-space:pre-wrap;word-break:break-word;background:var(--bg);padding:12px;border-radius:8px;font-size:13px}.storno-panel .empty{padding:40px 0;text-align:center}.dashboard{display:flex;flex-direction:column;gap:24px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}.stat-card .stat-value{font-size:30px;font-weight:700;line-height:1}.stat-card .stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat-card.accent-primary{border-color:#5a3d10}.stat-card.accent-primary .stat-value{color:var(--amber)}.stat-card.accent-warn{border-color:#5a4d10}.stat-card.accent-warn .stat-value{color:var(--review)}.top-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.top-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.top-panel h3{margin:0 0 14px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.top-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;counter-reset:rank}.top-list li{display:grid;grid-template-columns:minmax(0,1fr) 90px 48px;align-items:center;gap:10px}.top-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.top-bar-wrap{height:8px;background:var(--bg);border-radius:999px;overflow:hidden}.top-bar{display:block;height:100%;background:var(--amber);border-radius:999px}.top-num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.intake-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.intake-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.intake-toggle button{padding:4px 12px;background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:13px}.intake-toggle button.active{background:var(--panel);color:var(--amber)}.intake-chart{display:flex;align-items:flex-end;gap:4px;height:180px;overflow-x:auto;padding-top:8px}.intake-col{flex:1 1 0;min-width:14px;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}.intake-bar-wrap{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}.intake-count{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.intake-bar{width:70%;min-height:2px;background:var(--amber);border-radius:4px 4px 0 0;transition:opacity .15s}.intake-col:hover .intake-bar{opacity:.75}.intake-axis{font-size:9px;color:var(--muted);white-space:nowrap;transform:rotate(-45deg);transform-origin:center;height:14px}th.sortable{-webkit-user-select:none;user-select:none;white-space:nowrap}th.col-head{position:relative}.col-label{cursor:pointer}.col-label:hover{color:var(--text)}.sort-ind{color:var(--amber)}.funnel{background:none;border:none;color:var(--muted);cursor:pointer;font-size:11px;padding:0 2px;margin-left:4px;border-radius:4px;line-height:1}.funnel:hover{color:var(--text);background:var(--bg)}.funnel.active{color:var(--amber)}.fdd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.filter-dd{position:absolute;top:100%;left:0;z-index:41;margin-top:4px;min-width:220px;max-width:320px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;gap:6px;font-weight:400;text-transform:none}.filter-dd input.col-filter{width:100%;padding:5px 7px;font-size:12px}.fdd-all{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:12px;color:var(--muted);padding:2px 0;border-bottom:1px solid var(--border)}.fdd-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.fdd-list label{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:13px;padding:3px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fdd-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--border);padding-top:6px}.fdd-actions button.primary{font-size:12px;padding:4px 12px}.modal-head-right{display:flex;align-items:center;gap:10px}.type-switch{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.type-switch-label{text-transform:uppercase;letter-spacing:.04em}.type-switch select{font-size:13px;padding:3px 6px}.repl-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;background:#d69e2e2e;color:#d69e2e;border:1px solid rgba(214,158,46,.4)}.article-hint{display:block;margin-top:2px;line-height:1.2}.kw-input{display:inline-flex;align-items:center;gap:4px}.kw-input .kw-prefix{font-size:13px;color:var(--muted);font-weight:600}.kw-input .kw-sep{color:var(--muted)}.kw-input .kw-week{width:56px}.kw-input .kw-year{width:76px}.kw-input input::-webkit-outer-spin-button,.kw-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-close{background:none;border:1px solid var(--border);color:var(--muted);border-radius:6px;cursor:pointer;font-size:14px;line-height:1;padding:5px 10px}.modal-close:hover{color:var(--text);border-color:var(--muted)}.problem-banner{background:#c9a2271a;border:1px solid var(--review);border-radius:8px;padding:10px 14px;margin:12px 0 16px}.problem-banner .pb-title{color:var(--review);font-weight:600;font-size:13px}.problem-banner ul{margin:6px 0 0;padding-left:20px}.problem-banner li{font-size:13px;color:var(--text);margin:2px 0}.problem-banner li.pb-notmaster{color:var(--amber);font-weight:600}.problem-banner .pb-ai{margin-top:6px;font-size:12px;color:var(--muted)}.warn-field{border-color:var(--review)!important;background:#c9a22712}.icon-btn{background:none;border:none;cursor:pointer;font-size:15px;padding:2px 5px;line-height:1;border-radius:6px;opacity:.85}.icon-btn:hover{opacity:1;background:var(--bg)}.icon-btn.danger:hover{background:#d96a6a26}.line-actions{white-space:nowrap;display:flex;gap:2px}.add-line{background:none;border:1px dashed var(--border);color:var(--amber);cursor:pointer;padding:6px 12px;border-radius:7px;font-size:13px}.add-line:hover{border-color:var(--amber)}.ai-suggest{background:none;border:1px solid #3d3560;color:#b3a9e6;cursor:pointer;padding:6px 12px;border-radius:7px;font-size:13px}.ai-suggest:hover:not(:disabled){border-color:#6f63b0;background:#6f63b01f}.ai-suggest:disabled{opacity:.6;cursor:default}.ai-pick{margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;padding:6px 8px;border-radius:7px;background:#6f63b01a;border:1px solid #3d3560;max-width:360px}.ai-pick.conf-high{border-color:#4f7a4f;background:#6fbf731a}.ai-pick.conf-low{opacity:.95}.ai-pick-tag{color:#b3a9e6;white-space:nowrap}.ai-pick b{color:var(--text)}.ai-pick-desc{color:var(--muted);flex-basis:100%}.ai-pick-conf{color:var(--muted);font-style:italic}.ai-pick-accept{background:var(--amber);border:none;color:#1a1205;cursor:pointer;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;margin-left:auto}.ai-pick-accept:hover{filter:brightness(1.08)}.ai-field{color:#b3a9e6;font-style:italic}.ai-field-input{border-color:#6f63b0!important;box-shadow:0 0 0 1px #6f63b059}.ai-note{margin-top:5px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;padding:4px 8px;border-radius:6px;background:#6f63b024;border:1px solid #4a4080;max-width:320px}.ai-note-tag{color:#b3a9e6;white-space:nowrap;font-weight:600}.ai-note-conf{color:var(--muted);font-style:italic}.ai-confirm{background:#6f63b0;border:none;color:#fff;cursor:pointer;padding:3px 12px;border-radius:6px;font-size:11px;font-weight:600;margin-left:auto}.ai-confirm:hover{filter:brightness(1.1)}.ai-fieldsug-row{display:flex;align-items:center;gap:8px;margin:2px 0 8px;flex-wrap:wrap}.ai-fieldsug-row .ai-note{margin-top:0}.ai-suggest-chip{font-size:11px;color:#b3a9e6;border:1px solid #4a4080;background:#6f63b024;border-radius:999px;padding:1px 6px;white-space:nowrap;cursor:help}.ai-working{color:#b3a9e6;font-size:12px;font-weight:400;margin-left:10px}.modal.detail-modal{padding-top:0;max-width:min(1180px,95vw)}.detail-sticky{position:sticky;top:0;z-index:6;background:var(--panel);margin:0 -24px 4px;padding:18px 24px 12px;border-bottom:1px solid var(--border)}.detail-actionbar{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.detail-actionbar .primary:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.4)}.confirm-main{background:#6fbf73;border-color:#2f4f31;color:#0e1a0f}.confirm-main:not(:disabled):hover{filter:brightness(1.08)}.gate-hint{font-size:12px;color:var(--review)}.confirmed-label{font-size:13px;color:#6fbf73;font-weight:600}.lines tr.line-dirty td:first-child{box-shadow:inset 3px 0 0 var(--amber)}.modal.confirmed .problem-banner,.modal.confirmed .flagchip,.modal.confirmed .aichip{filter:grayscale(1);opacity:.5}.modal.confirmed .warn-field{border-color:var(--border)!important;background:transparent}.modal.confirmed .warn{color:var(--muted)}.transport-cfg{max-width:760px}.cfg-card{background:var(--panel, #fff);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin:0 0 18px}.cfg-card h3{margin:0 0 10px;font-size:15px}.cfg-card h4.cfg-subhead{margin:16px 0 4px;font-size:13px;font-weight:600}.cfg-card label{display:block;margin:8px 0}.cfg-card label input{display:block;width:100%;margin-top:3px}.cfg-card table,.cfg-card table input{width:100%}.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row input{width:auto!important;display:inline-block!important;margin-top:0!important}.inline-field{display:flex;align-items:center;gap:10px;margin-top:12px}.inline-field input{width:120px!important;display:inline-block!important;margin-top:0!important}.email-accounts{max-width:920px}.mail-card .mail-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:8px 16px}.mail-card .mail-grid label{margin:6px 0;font-size:13px}.mail-customers{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:12px 0 4px;padding-top:10px;border-top:1px solid var(--border)}.mail-foot{display:flex;align-items:center;gap:10px;margin-top:6px}.mail-foot .spacer{flex:1}.chk-inline{display:inline-flex;align-items:center;gap:5px;margin:0!important;font-size:13px;white-space:nowrap;cursor:pointer}.chk-inline input{width:auto!important;display:inline-block!important;margin:0!important}@media(max-width:720px){.mail-card .mail-grid{grid-template-columns:repeat(2,1fr)}}.trucks-view .spacer{flex:1}.plan-summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.summary-chip{padding:2px 8px;border:1px solid var(--border);border-radius:999px}.badge.status-suggested{color:#e6e6e6;border-color:#444}.badge.status-manual{color:var(--amber);border-color:#5a3d10}.badge.status-confirmed{color:#6fbf73;border-color:#2f4f31}.badge.planned{color:#4a9bff;border-color:#2a4a7a;background:#3884e824}.badge.dispatched{color:#6ee7b7;border-color:#1f5a44;background:#22c55e1f}.icon-btn.dispatch-btn{color:#6ee7b7}.badge.danger{color:#e06c6c;border-color:#5a2a2a}.badge.commit-ready{color:#6fbf73;border-color:#2f4f31;background:#2ecc401f;cursor:help}.badge.commit-underfilled{color:var(--amber);border-color:#5a3d10;background:#d98a3d1f;cursor:help}.reopen-banner{margin:8px 0 12px;padding:10px 14px;border:1px solid #2f4f31;border-radius:8px;background:#2ecc4012}.reopen-banner .rb-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.reopen-banner .rb-icon{font-size:1.1em}.reopen-banner .rb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.reopen-banner .rb-item{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.reopen-banner .rb-text{flex:1;min-width:240px}.reopen-banner .rb-save{color:#6fbf73;font-weight:600}.reopen-banner .rb-actions{display:flex;gap:6px;flex-shrink:0}.reopen-banner .mini{font-size:.85em;padding:3px 10px}.trucks-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:start}.trucks-main{min-width:0;overflow-x:auto}.trucks-table{width:100%;border-collapse:collapse;font-size:13px}.trucks-table th{text-align:left;padding:6px 8px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.trucks-table td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.trucks-table .c-num{text-align:right;white-space:nowrap}.trucks-table .c-name{white-space:nowrap;min-width:96px}.trucks-table .c-fill{width:130px}.trucks-table .c-stops{width:56px}.trucks-table .c-act{width:60px;text-align:right;white-space:nowrap}.trucks-table select.mini{font-size:12px;padding:2px 4px;background:none;color:var(--text);border:1px solid var(--border);border-radius:5px}.group-row td{background:var(--panel, #17171b);font-weight:700;color:var(--text);padding:7px 10px;border-bottom:1px solid var(--border)}.truck-row{cursor:pointer}.truck-row:hover{background:#ffffff08}.truck-row.open{background:#ffffff0a}.truck-row.droppable td{box-shadow:inset 0 0 0 1px #7aa7d940}.truck-row.drop-hover td{background:#7aa7d92e;box-shadow:inset 0 0 0 2px #7aa7d9}.truck-row.locked td:first-child{box-shadow:inset 3px 0 #2f80ed}.icon-btn.planned-on{color:#4a9bff;opacity:1}.icon-btn:disabled{opacity:.3;cursor:default}.truck-row .twist{display:inline-block;width:14px;color:var(--muted);transition:transform .12s}.truck-row .twist.down{transform:rotate(90deg)}.truck-row .cn-title{display:flex;align-items:center;gap:4px}.truck-row .cn-id{font-variant-numeric:tabular-nums}.truck-row .cn-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.truck-row .cn-badges:empty{display:none}.truck-row .cn-badges .badge{white-space:nowrap}.fill-bar{position:relative;height:20px;border:1px solid var(--border);border-radius:5px;overflow:hidden;background:#ffffff0a}.fill-bar .fill-in{position:absolute;inset:0 auto 0 0;background:#3a6f9c;opacity:.55}.fill-bar.over .fill-in{background:#b14b4b;opacity:.6}.fill-bar .fill-txt{position:relative;z-index:1;display:block;text-align:center;line-height:20px;font-size:11px}.trucks-table td.eff{font-weight:700}.eff-good{color:#6fbf73}.eff-mid{color:var(--amber, #d9a441)}.eff-bad{color:#e06c6c}.detail-row>td{background:#0000002e;padding:0}.truck-detail{padding:10px 14px 12px 16px}.stop-groups{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.stop-group{border:1px solid var(--border);border-radius:7px;overflow:hidden}.sg-head{display:flex;align-items:baseline;gap:8px;padding:6px 10px;background:#ffffff08}.sg-num{flex:0 0 auto;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;background:var(--accent, #4a7);color:#fff;font-size:12px;font-weight:600}.sg-place{font-weight:600}.sg-sum{margin-left:auto;white-space:nowrap}.sg-orders{list-style:none;margin:0;padding:0}.sg-order{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding:4px 10px 4px 38px;cursor:grab;border-top:1px solid var(--border)}.sgo-spec{flex-basis:100%;display:flex;flex-direction:column;gap:1px;margin:2px 0 0;font-size:11px;color:var(--muted)}.sgo-line{line-height:1.3}.sg-order:hover{background:#ffffff0a}.sg-order:active{cursor:grabbing}.sg-order.hub-bypass{opacity:.8}.sgo-ref{font-weight:500;font-variant-numeric:tabular-nums}.sgo-meta{flex:1}.undo-btn{color:#fb923c!important}.undo-btn:hover:not(:disabled){background:#fb923c1a!important}.undo-btn.undo-empty{color:var(--muted)!important;opacity:.45;cursor:default}.bypass-count{color:#fb923c;font-size:11px;white-space:nowrap}.hub-bypass-btn{background:#3884e821;border:1px solid rgba(56,132,232,.3);color:#4a9bff;border-radius:5px;cursor:pointer;font-size:11px;padding:1px 7px;white-space:nowrap}.hub-bypass-btn:hover{background:#3884e838}.hub-bypass-btn.active{background:#fb923c21;border-color:#fb923c59;color:#fb923c}.hub-bypass-btn.active:hover{background:#fb923c38}.detail-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:8px}.unplanned-rail{position:sticky;top:10px;border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--panel, #1b1b1f);max-height:calc(100vh - 90px);overflow-y:auto}.unplanned-rail.droppable{border-color:#3a6f9c}.unplanned-rail.drop-hover{border-color:#7aa7d9;box-shadow:inset 0 0 0 2px #7aa7d9}.unplanned-rail h3{margin:0 0 8px;font-size:14px;display:flex;align-items:center;gap:6px}.unplanned-rail h3 .count{background:#ffffff14;border-radius:999px;padding:0 8px;font-size:12px}.rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rail-item{border:1px solid var(--border);border-radius:8px;padding:6px 8px;cursor:grab;background:#ffffff05}.rail-item:active{cursor:grabbing}.rail-item.dragging{opacity:.4}.rail-item.bad{border-color:#5a2a2a}.ri-top{display:flex;justify-content:space-between;gap:8px}.ri-place{font-weight:500}.ri-cbm{color:var(--muted);white-space:nowrap}.ri-reasons{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.ri-customer-badge{display:inline-block;background:#63b3ed26;border:1px solid rgba(99,179,237,.3);color:#63b3ed;border-radius:4px;font-size:10px;padding:0 5px;margin-right:5px;vertical-align:middle}@media(max-width:900px){.trucks-layout{grid-template-columns:1fr}.unplanned-rail{position:static;max-height:none}}.board-totals{display:flex;flex-wrap:wrap;gap:32px;align-items:baseline;padding:12px 18px;margin:6px 0 14px;background:var(--panel);border:1px solid var(--border);border-radius:9px}.board-totals .bt-item{display:flex;align-items:baseline;gap:8px}.board-totals .bt-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.board-totals strong{font-size:17px;color:var(--text);font-weight:600}.board-totals .bt-cost{font-size:20px;color:var(--amber)}.board-totals .eff.eff-good{color:#3fb950}.board-totals .eff.eff-mid{color:#d29922}.board-totals .eff.eff-bad{color:#f85149}.board-totals .health-badge{font-size:14px;padding:2px 8px;border-radius:12px;cursor:default;white-space:nowrap}.board-totals .health-badge.ok{color:#3fb950;background:#3fb9501f}.board-totals .health-badge.warn{color:var(--amber);background:#d2992224;cursor:help}.whatif-banner{position:relative;margin:8px 0;padding:10px 36px 10px 14px;border-radius:8px;background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:14px}.whatif-banner.rec{border-color:#3fb95080;background:#3fb95014}.whatif-banner.none{border-color:var(--border)}.whatif-banner .xclose{position:absolute;top:6px;right:8px;color:var(--muted)}.whatif-list{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.whatif-chip{font-size:12px;padding:2px 8px;border-radius:10px;background:var(--bg);border:1px solid var(--border);color:var(--muted);white-space:nowrap}.whatif-chip.rec{color:#3fb950;border-color:#3fb95080}.move-btn{white-space:nowrap}.sg-head .move-btn{margin-left:auto}.ri-move{display:inline-block;margin-top:6px}.modal.move-modal{max-width:460px}.move-head{display:flex;align-items:center;justify-content:space-between}.move-head h3{margin:0;font-size:17px}.move-what{margin:6px 0 14px}.move-actions{display:flex;gap:8px;margin-bottom:12px}.move-actions .move-row{flex:1;justify-content:center;border-style:dashed}.move-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto}.move-row{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;padding:9px 12px;border-radius:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;font-size:14px}.move-row:hover{border-color:var(--amber);background:var(--panel)}.move-row .mr-name{font-weight:600}.move-row .mr-meta{flex:1}.move-row .mr-eff{margin-left:auto}.manual-plan-banner{margin:8px 0;padding:10px 14px;border-radius:8px;background:#3884e81a;border:1px solid #2a4a7a;color:#bcd6ff;font-size:13px}.split-modal{max-width:580px}.split-table{width:100%;border-collapse:collapse;margin:10px 0}.split-table th,.split-table td{padding:5px 8px;border-bottom:1px solid var(--border);text-align:left}.split-table .c-num{text-align:right}.split-table input.vol-input{width:72px;text-align:right}.split-foot{display:flex;align-items:center;gap:10px;margin-top:6px}.cust-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}.cust-tab{padding:6px 12px;border-radius:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;font-size:14px}.cust-tab.active{border-color:var(--amber);color:var(--amber);background:var(--panel)}.vol-input{width:90px;text-align:right;padding:4px 6px}tr.vol-missing .vol-input{border-color:var(--amber)}.cust-art-table .art-text{width:100%;min-width:120px;padding:4px 6px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text)}.cust-art-table .art-text:hover{border-color:var(--border)}.cust-art-table .art-text:focus{border-color:var(--amber);background:var(--bg)}.ro-value{padding:7px 2px;color:var(--text);font-weight:500}.sheet-wrap{max-height:420px;overflow:auto;border:1px solid var(--border);border-radius:8px;margin-top:6px}.sheet-table{border-collapse:collapse;font-size:13px;width:100%}.sheet-table td{border:1px solid var(--border);padding:4px 8px;white-space:nowrap}.sheet-table tr:first-child td{font-weight:600;background:var(--panel);position:sticky;top:0}.landing{min-height:calc(100vh - 56px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:28px 24px}.landing-head{text-align:center;margin-bottom:20px}.landing-head h1{margin:0 0 4px;font-size:24px;letter-spacing:.3px}.landing-head p{margin:0;font-size:14px}.logo-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,200px));gap:14px;justify-content:center;width:100%;max-width:880px}.logo-tile{display:flex;flex-direction:column;gap:0;padding:0;border-radius:12px;background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:center;overflow:hidden;transition:border-color .14s,transform .14s,box-shadow .14s}.logo-tile:hover{border-color:var(--amber);transform:translateY(-3px);box-shadow:0 10px 28px #00000059}.lt-logo{height:84px;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden;padding:14px}.lt-logo img{max-height:100%;max-width:100%;object-fit:contain}.lt-logo .lt-name{color:#111;font-weight:800;font-size:18px;letter-spacing:.5px}.lt-meta{display:flex;flex-direction:column;gap:2px;padding:9px 10px 11px}.lt-meta strong{font-size:14px}.lt-meta .small{font-size:11px}@media(max-width:900px){.logo-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:680px){.logo-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}.customer-switch{display:inline-flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:3px 10px;margin-left:12px;cursor:pointer}.customer-switch:hover{border-color:var(--amber);color:var(--amber)}.customer-switch .cs-logo{height:22px;max-width:70px;object-fit:contain;background:#fff;border-radius:4px;padding:2px 4px}.combine-ctl{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.combine-ctl .chip{padding:2px 8px;border-radius:10px;background:var(--bg);border:1px solid var(--border);color:var(--muted);cursor:pointer;font-size:12px}.combine-ctl .chip.on{color:var(--amber);border-color:var(--amber)}
