:root{--ink: var(--text, #1a1612);--ink-soft: var(--text-1, #2b2621);--mute: var(--text-2, #6d655a);--chip: var(--bg-2, #f1ebdd);--ok: var(--positive, #3f6f3f);--err: var(--danger, #a43a2a);--ok-bg: #e5efde;--err-bg: #fbe6e1;--warn-bg: #fbe9b8;--warn-ink: #7a5a10;--accent-soft: #fdf5e0;--accent-mid: #fff8dc}.ctx-strip{display:flex;align-items:center;gap:10px;padding:7px 14px;background:var(--accent-soft);border-bottom:1px solid #f0e4bd;font-size:12px;flex-shrink:0}.ctx-strip .ctx-label{text-transform:uppercase;letter-spacing:.05em;font-size:10px;color:var(--mute);font-weight:700}.ctx-strip .ctx-sep{color:#c9b778}.ctx-strip .ctx-gap{flex:1}.catalog-body{flex:1;display:flex;min-height:0;overflow:hidden}.catalog-body>.table-wrap{flex:1;overflow:auto;background:#fff}.catalog-body.with-drawer>.cart-drawer{flex-shrink:0}table.data tbody tr.in-cart,table.grid tbody tr.in-cart{background:color-mix(in srgb,var(--accent) 12%,transparent)}table.data .cart-badge,table.grid .cart-badge{display:inline-block;margin-left:6px;padding:1px 6px;background:var(--accent);color:#fff;border-radius:10px;font-size:10.5px;font-weight:700}.cart-drawer{width:380px;border-left:1px solid var(--line);background:#fbf8f2;display:flex;flex-direction:column;flex-shrink:0}.cart-drawer .cd-head{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;background:#fff}.cart-drawer .cd-title{font-weight:700;font-size:13px}.cart-drawer .cd-body{flex:1;overflow-y:auto;padding:8px;min-height:0}.cart-drawer .empty{text-align:center;padding:30px 10px;color:var(--mute);font-size:12px}.cart-drawer .cd-line{display:grid;grid-template-columns:1fr auto auto 20px;gap:6px;align-items:center;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:6px;margin-bottom:5px;font-size:12px}.cart-drawer .cdl-name{font-size:12px;line-height:1.3}.cart-drawer .cdl-name .sku{font-size:10px;color:var(--mute);margin-top:2px}.cart-drawer .cdl-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:5px}.cart-drawer .cdl-qty button{width:22px;height:22px;border:0;background:#fff;cursor:pointer;color:var(--mute);font-size:13px}.cart-drawer .cdl-qty input{width:34px;border:0;text-align:center;font-size:12px;font-weight:600;background:transparent;outline:none;border-left:1px solid var(--line);border-right:1px solid var(--line)}.cart-drawer .cdl-price{font-weight:700;font-variant-numeric:tabular-nums}.cart-drawer .cdl-del{background:transparent;border:0;color:var(--mute);cursor:pointer;font-size:14px}.cart-drawer .cdl-del:hover{color:var(--err)}.cart-drawer .cd-totals{padding:12px 14px;background:#fff;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.cart-drawer .cd-totals .row{display:flex;justify-content:space-between;font-size:12.5px}.cart-drawer .cd-totals .row.big{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);font-size:15px;font-weight:700}.cart-drawer .cd-totals .row.big strong{color:var(--accent)}.cart-drawer .cd-actions{padding:10px 14px;background:#fbf8f2;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.cart-drawer .cd-actions .btn{width:100%;justify-content:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a161280;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:#fff;border-radius:10px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal.small{max-width:420px}.modal-head{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h3{font-size:14px;margin:0}.modal-body{padding:16px 18px}.modal-body .form-row{display:grid;grid-template-columns:140px 1fr;gap:10px;align-items:center;margin-bottom:10px;font-size:12.5px}.modal-body .form-row label{font-size:11.5px;color:var(--mute);text-align:right}.modal-body .form-row input,.modal-body .form-row select,.modal-body .form-row textarea{width:100%;padding:6px 9px;border:1px solid var(--line);border-radius:5px;font-size:12.5px}.modal-foot{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:space-between;align-items:center;background:#fbf8f2;border-radius:0 0 10px 10px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:10px 20px;border-radius:6px;font-size:12.5px;z-index:1000;box-shadow:0 8px 24px #0003;animation:toastIn .2s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.page.cockpit .kanban{display:grid;grid-template-columns:repeat(6,minmax(170px,1fr));gap:10px}.kanban-col{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);min-height:300px;display:flex;flex-direction:column}.kanban-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--mute);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.kanban-head .kh-count{background:var(--chip);color:var(--mute);padding:1px 7px;border-radius:10px;font-size:10.5px;font-weight:700}.kanban-body{padding:8px;display:flex;flex-direction:column;gap:6px}.kanban-empty{font-size:12px;color:var(--mute);text-align:center;padding:14px}.kcard{display:block;padding:10px 12px;background:#fbf8f2;border:1px solid var(--line);border-radius:6px;color:var(--ink);cursor:pointer;transition:border-color .15s}.kcard:hover{border-color:var(--accent);background:#fff}.kcard .kc-name{font-weight:700;font-size:13px;margin-bottom:3px}.kcard .kc-meta{display:flex;gap:6px;font-size:11.5px;margin-bottom:6px}.kcard .kc-meta .code{font-family:SF Mono,Menlo,monospace;color:var(--mute)}.kcard .kc-link{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:4px;padding:4px 7px;margin:3px 0;font-size:11px;color:var(--ink);cursor:pointer}.kcard .kc-link:hover{border-color:var(--accent)}.kcard .kc-foot{margin-top:6px}.kpi-row{display:flex;gap:12px}.kpi-row.big{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 16px;text-align:center}.kpi .kpi-v{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.kpi .kpi-v.err{color:var(--err)}.kpi .kpi-l{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);font-weight:700;margin-top:2px}.page.workspace .workspace-grid{display:grid;grid-template-columns:280px 1fr 320px;gap:14px}.ws-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 14px;margin-bottom:10px}.ws-block h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);font-weight:700;margin:0 0 8px}.ws-row{display:flex;justify-content:space-between;font-size:12.5px;padding:3px 0}.ws-row.big{font-size:14px;font-weight:700;margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.ws-timeline h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);font-weight:700;margin-bottom:10px}.tl-item{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;margin-bottom:5px;font-size:12.5px}.tl-date{font-family:SF Mono,Menlo,monospace;color:var(--mute);font-size:11px}.tl-item.tl-proposal{border-left:3px solid var(--accent)}.tl-item.tl-paid{border-left:3px solid var(--ok)}.tl-item.tl-receipt{border-left:3px solid var(--mute)}.tl-item.tl-shipment{border-left:3px solid var(--ink)}.btn.wide{width:100%;justify-content:center}.page.proposal .proposal-grid{display:grid;grid-template-columns:260px 1fr;gap:14px}.pe-versions h3,.pe-lines h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);font-weight:700;margin-bottom:10px}.pe-ver{display:block;width:100%;text-align:left;padding:9px 11px;background:#fff;border:1px solid var(--line);border-radius:6px;margin-bottom:5px;cursor:pointer}.pe-ver:hover{border-color:var(--accent)}.pe-ver.active{background:var(--accent-mid);border-color:var(--accent)}.pe-ver .pv-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.pe-ver .pv-status{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}.pe-ver .pv-total{font-weight:700;font-variant-numeric:tabular-nums;font-size:13px}.lines-table{width:100%;border-collapse:collapse;font-size:12.5px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.lines-table th,.lines-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.lines-table thead th{background:#fbf8f2;font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--mute)}.lines-table td.num,.lines-table th.num{text-align:right;font-variant-numeric:tabular-nums}.lines-table tfoot td{background:#fbf8f2;font-weight:700}.lines-table .mono{font-family:SF Mono,Menlo,monospace;font-size:11.5px}.lines-table tr.op-added{background:var(--ok-bg)}.lines-table tr.op-removed{background:var(--err-bg);text-decoration:line-through;opacity:.7}.lines-table tr.op-changed{background:var(--accent-mid)}.lines-table tr.op-same{opacity:.8}.lines-table td.op-mark{font-weight:700;text-align:center;width:30px}.page.order-pile .pile-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.page.order-pile .pile-table{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:14px}.pile-event{background:#fbf8f2;border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-bottom:8px}.pile-event .pe-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pile-event ul{list-style:none;padding:0;margin:0;font-size:12px}.pile-event ul li{padding:3px 0;border-bottom:1px dashed var(--line)}.pile-event ul li:last-child{border-bottom:0}.lines-table tr.row-warn{background:color-mix(in srgb,var(--warn-bg, #fff7db) 60%,transparent)}.pill{display:inline-block;padding:1px 8px;border-radius:10px;font-size:10.5px;font-weight:700;letter-spacing:.04em;background:var(--chip);color:var(--mute)}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg, #fff3c4);color:var(--warn-ink, #8a6d1f)}.empty{text-align:center;padding:30px 10px;color:var(--mute);font-size:12.5px}.empty.small{padding:14px 10px;font-size:11.5px}.muted{color:var(--mute)}.small{font-size:11px}.ok{color:var(--ok)}.err{color:var(--err)}.ws-profile,.ws-cart{display:flex;flex-direction:column;gap:10px}.tl-body{display:flex;flex-direction:column;gap:8px;margin-top:8px}.pv-date{font-size:10.5px;color:var(--mute);font-family:var(--font-mono, "JetBrains Mono", monospace);margin-top:2px}.kh-name{font-weight:700;font-size:13.5px;color:var(--ink);line-height:1.25;margin-bottom:2px}.lines-table.compact th,.lines-table.compact td,table.compact th,table.compact td{padding:4px 8px;font-size:11.5px}.channel-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;color:#fff;font-size:12px;flex-shrink:0}.channel-banner .cb-muted{opacity:.7}.channel-banner .btn.on-accent{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);margin-left:auto}.channel-banner .btn.on-accent:hover{background:#ffffff4d}.bulk-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--ink);color:#fff;border-top:2px solid var(--accent);z-index:5;flex-shrink:0}.bulk-bar .bb-count{font-weight:700;font-size:13px;margin-right:6px}.bulk-bar .bb-count em{color:var(--accent);font-style:normal}.bb-btn{padding:5px 10px;background:var(--ink-soft, #2b2621);border:1px solid #3a332c;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;display:inline-flex;gap:5px;align-items:center}.bb-btn:hover{background:#3a332c}.bb-btn.primary{background:var(--accent);border-color:var(--accent)}.bb-btn.primary:hover{filter:brightness(1.1)}.bb-spacer{flex:1}.bb-close{margin-left:auto;color:var(--line-strong, #d8cfbd);cursor:pointer;font-size:16px;padding:4px 8px;background:none;border:none}
