:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#f0f2f5;--text:#17202a;--muted:#5f6b7a;--border:#dfe3e8;--accent:#0b5f7a;--accent-text:#fff;--accent-soft:#e2eff4;--ok:#17794a;--ok-soft:#e3f3ea;--warn:#8f5500;--warn-soft:#fcf0da;--bad:#b3261e;--bad-soft:#fce8e6;--boa:#0b5f7a;--kamo:#6b3fa0;--kamo-soft:#efe8f7;--shadow:0 8px 30px #0f19231f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1318;--surface:#151c23;--surface-2:#1b242d;--text:#e5eaef;--muted:#93a1b0;--border:#26313c;--accent:#4bb3d3;--accent-text:#06202a;--accent-soft:#12303c;--ok:#54c98b;--ok-soft:#133021;--warn:#eeb059;--warn-soft:#36270f;--bad:#f27a70;--bad-soft:#3a1714;--boa:#4bb3d3;--kamo:#b995e6;--kamo-soft:#2a2138;--shadow:0 8px 30px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0;font-size:21px;display:flex}h2{margin:0 0 12px;font-size:15px}h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:16px 0 6px;font-size:13px}code{background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:12px}.shell{max-width:1180px;margin:0 auto;padding:0 16px 56px}.top{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:22px;padding:12px 0;display:flex}.brand{color:var(--text);white-space:nowrap;font-size:15px;font-weight:700}.brand span{color:var(--muted);margin-left:4px;font-weight:500}.top nav{flex:1;gap:2px;display:flex}.top nav a{color:var(--muted);border-radius:6px;padding:6px 12px;font-weight:500}.top nav a.active,.top nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-head p{margin:2px 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-head h2{margin:0}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:0;margin-bottom:16px;padding:18px}.two-col{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}@media (width<=860px){.two-col{grid-template-columns:1fr}}button,.btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:6px 13px;display:inline-flex}button:hover:not(:disabled),.btn:hover{border-color:var(--accent);text-decoration:none}button.primary,.btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}button:disabled{opacity:.55;cursor:default}button.link{color:var(--accent);background:0 0;border:none;padding:2px 0}button.link.danger{color:var(--bad)}button.link.strong{color:var(--text);font-weight:600}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:7px;width:100%;padding:7px 10px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}input[type=checkbox]{width:auto}label{color:var(--muted);flex-direction:column;gap:5px;font-size:13px;display:flex}.form{flex-direction:column;gap:14px;display:flex}.form>button{align-self:flex-start}.form.narrow{max-width:720px}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=640px){.grid2{grid-template-columns:1fr}}.inline{gap:8px;margin-top:12px;display:flex}.inline.wrap{flex-wrap:wrap}.inline.wrap>input,.inline.wrap>select{flex:120px;width:auto}.inline select{width:auto}.search{width:240px;max-width:100%}.filters{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.filters button{border-radius:99px;padding:5px 12px}.filters button.active{background:var(--text);color:var(--bg);border-color:var(--text)}.filters button.active .muted{color:inherit;opacity:.7}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);font-size:12px;font-weight:600}th,td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px}tr:last-child td{border-bottom:none}.table-wrap>table{background:var(--surface);border:1px solid var(--border);border-collapse:separate;border-spacing:0;border-radius:10px}.card .table-wrap>table{border:none}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}tr.dim td{opacity:.55}.num{text-align:right;font-variant-numeric:tabular-nums}.row-actions{width:1%}.strong{font-weight:600}.muted{color:var(--muted)}.small{font-size:12px}.warn{color:var(--warn)}.error-text{color:var(--bad)}.badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:99px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.b-dispatched,.b-sent,.b-queued,.b-sending{background:var(--accent-soft);color:var(--accent)}.b-quoted,.b-delivered,.b-read,.b-active,.b-parsed{background:var(--ok-soft);color:var(--ok)}.b-failed,.b-blacklisted{background:var(--bad-soft);color:var(--bad)}.b-needs_review,.b-pending,.b-partially_sent{background:var(--warn-soft);color:var(--warn)}.pill{background:var(--bad);color:#fff;vertical-align:1px;border-radius:99px;margin-left:6px;padding:0 7px;font-size:11px;font-weight:700;display:inline-block}.pill.ok{background:var(--ok-soft);color:var(--ok);margin-left:0}.chip{white-space:nowrap;border-radius:99px;align-items:center;gap:4px;margin:2px 4px 2px 0;padding:1px 8px;font-size:12px;display:inline-flex}.chip.part{background:var(--accent);color:var(--accent-text)}.chip.category{border:1px solid var(--border);color:var(--text);background:var(--surface-2)}.chip-x{color:var(--muted);background:0 0;border:none;padding:0 0 0 2px;font-size:14px;line-height:1}.tag-boa,.tag-kamo{border-radius:4px;margin-right:4px;padding:0 7px;font-size:12px;font-weight:600;display:inline-block}.tag-boa{background:var(--accent-soft);color:var(--boa)}.tag-kamo{background:var(--kamo-soft);color:var(--kamo)}.conf{font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:12px;display:inline-flex}.conf-bar{background:var(--surface-2);border-radius:3px;width:56px;height:5px;overflow:hidden}.conf-bar span{background:var(--accent);height:100%;display:block}.categories-inline{flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:260px;display:flex}.categories-inline .chips-input{max-width:460px}.act{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.act.large{justify-content:flex-start}.act.large button.primary{padding:8px 18px}.add-supplier{max-width:520px;margin-top:14px;position:relative}.search-results{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:4px 0 0;padding:4px;list-style:none}.search-results li{justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.message-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:var(--surface-2);border-radius:8px;margin:0;padding:12px 14px}.message-preview.compact{max-height:160px;margin:6px 0 10px;font-size:13px;overflow-y:auto}.chips-input{border:1px solid var(--border);background:var(--surface);border-radius:7px;flex-wrap:wrap;align-items:center;gap:2px;width:100%;padding:3px 6px;display:flex}.chips-input input{border:none;flex:1;width:auto;min-width:120px;padding:4px}.chips-input input:focus{outline:none}.chips-input:focus-within{border-color:var(--accent)}.replies{margin:0;padding:0;list-style:none}.replies li{border-bottom:1px solid var(--border);padding:10px 0}.replies li:last-child{border-bottom:none}.replies li.new{border-left:3px solid var(--accent);padding-left:10px}.reply-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reply-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.draft{border-bottom:1px solid var(--border);padding:10px 0 14px}.draft:last-child{border-bottom:none;padding-bottom:0}.drawer-backdrop{z-index:20;background:#0a0f1447;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);padding:22px 22px 28px;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.drawer-close{color:var(--muted);border:none;padding:4px 8px;font-size:20px;line-height:1;position:absolute;top:12px;right:12px}.drawer-actions{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.supplier-card h2{margin:0 28px 4px 0;font-size:18px}.supplier-card>p{margin:0 0 14px}.supplier-card dl{grid-template-columns:110px 1fr;gap:8px 12px;margin:0 0 12px;display:grid}.supplier-card dt{color:var(--muted);font-size:13px}.supplier-card dd{margin:0}ul.plain{margin:0 0 14px;padding:0;list-style:none}ul.plain li{padding:3px 0;font-size:13px}.pick-list{border:1px solid var(--border);border-radius:7px;max-height:300px;margin-bottom:12px;padding:4px;overflow-y:auto}.pick{color:var(--text);cursor:pointer;border-radius:6px;flex-direction:row;align-items:center;gap:8px;padding:6px 8px}.pick:hover{background:var(--surface-2)}.pick .small{text-align:right;margin-left:auto}.composer{flex-direction:column;gap:10px;display:flex}.composer>button{align-self:flex-start}.attach{flex-direction:row;align-items:center;gap:8px}.attach input[type=file]{width:auto}.hint{color:var(--warn);margin:0;font-size:13px}.params{grid-template-columns:1fr 1fr;gap:8px;display:grid}.preview{background:var(--surface-2);border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.convo{flex-direction:column-reverse;gap:8px;max-height:440px;padding:0;list-style:none;display:flex;overflow-y:auto}.convo li{display:flex}.convo li.out{justify-content:flex-end}.bubble{background:var(--surface-2);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:10px;max-width:85%;padding:8px 12px}.convo li.out .bubble{background:var(--accent-soft)}.bubble .meta{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.wa-status{color:var(--muted);background:0 0;border:none;padding:4px 6px;font-size:13px}.wa-status .dot{background:var(--muted);border-radius:50%;width:8px;height:8px;display:inline-block}.wa-status.ok .dot{background:var(--ok)}.wa-status.bad{color:var(--bad)}.wa-status.bad .dot{background:var(--bad)}.modal-backdrop{z-index:30;background:#0a0f1466;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:360px;margin:0;display:flex}.modal img{background:#fff;border-radius:8px;max-width:100%;height:auto}.notice{background:var(--accent-soft);border-radius:8px;margin-bottom:14px;padding:10px 14px}.error{background:var(--bad-soft);color:var(--bad);border-radius:8px;margin:8px 0;padding:8px 12px}.empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:10px;padding:40px 16px}.gate{place-items:center;min-height:100vh;padding:16px;display:grid}.gate .card{width:100%;max-width:340px}@media (width<=640px){.top nav{flex-basis:100%;order:3}.categories-inline,.act{justify-content:flex-start}}.send-from{align-items:center;gap:10px;display:inline-flex}.send-from label{flex-direction:row;align-items:center;gap:6px;font-size:13px}.send-from select{width:auto;padding:4px 8px}a.wa-status{align-items:center;gap:6px;display:inline-flex}a.wa-status:hover{text-decoration:none}.account .state{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.account .state .dot{background:var(--warn);border-radius:50%;width:8px;height:8px}.account .state.ok{color:var(--ok)}.account .state.ok .dot{background:var(--ok)}.account .state.bad{color:var(--bad)}.account .state.bad .dot{background:var(--bad)}.account h2{align-items:center;gap:8px;display:flex}.account .section-head p{margin:2px 0 0}.qr-block{flex-wrap:wrap;align-items:center;gap:20px;margin:4px 0 12px;display:flex}.qr-block img{border:1px solid var(--border);background:#fff;border-radius:8px}.qr-block ol{margin:0;padding-left:18px;line-height:1.8}.login{text-align:center;width:100%;max-width:360px}.login h1{justify-content:center;margin-bottom:6px;font-size:19px}.login .form{text-align:left}.btn.google{justify-content:center;padding:10px 14px;font-size:15px}.me{align-items:center;gap:8px;display:inline-flex}.me img{border-radius:50%}.toggle{color:var(--text);flex-direction:row;align-items:center;gap:8px}.tabs{gap:4px;display:flex}.tabs button{border-radius:99px}.tabs button.active{background:var(--text);color:var(--bg);border-color:var(--text)}.b-spec-queued,.b-spec-processing{background:var(--accent-soft);color:var(--accent)}.b-spec-ready{background:var(--ok-soft);color:var(--ok)}.b-spec-failed{background:var(--bad-soft);color:var(--bad)}.warn-notice{background:var(--warn-soft);color:var(--text)}.rfq-card h2{margin:0}.rfq-card .section-head{align-items:flex-start}.rfq-card .section-head p{margin:2px 0 0}ol.items{margin:0;padding-left:22px}ol.items>li{border-bottom:1px solid var(--border);padding:8px 0}ol.items>li:last-child{border-bottom:none}.item-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.item-actions{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.item-actions select{width:auto;padding:2px 6px;font-size:12px}ul.specs{color:var(--muted);margin:4px 0 0;padding-left:18px;font-size:13px}li.item.flagged{background:var(--warn-soft);border-radius:6px;margin:0 -8px;padding:8px}li.item.editing{flex-direction:column;gap:6px;display:flex}.check{color:var(--warn);margin-top:4px;font-size:13px}.tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.tile.attention{border-color:var(--warn)}.tile-n{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}table.compare td,table.compare th{vertical-align:top}table.compare td.best{background:var(--ok-soft)}table.compare tr.terms td{font-size:13px}.waiting{margin-top:10px}.parsed{background:var(--surface-2);border-radius:6px;margin-top:6px;padding:8px 10px}.parsed ul.plain{margin:4px 0}.owner-cell{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.owner-cell select{width:auto;padding:3px 6px;font-size:13px}button.link.due{color:var(--warn);font-weight:600}details summary{cursor:pointer}.letterhead{border:1px solid var(--border);border-radius:8px;padding:12px}.letterhead h3{text-transform:none;letter-spacing:0;color:var(--text);margin:0;font-size:14px}.chip.listed{background:var(--ok-soft);color:var(--ok);margin-left:0;font-weight:600}.call-list{max-width:420px}.call-list .small{margin-top:2px}.contacts li{padding:2px 0}.contacts .pill{margin-left:6px}.notes-text{white-space:pre-wrap;overflow-wrap:anywhere}.email-subject{margin:4px 0 8px}.inline-form{align-items:center;gap:8px;max-width:460px;margin-top:8px;display:flex}.inline-form input{flex:1}.history{color:var(--warn,#9a6700);margin-top:3px}.history a{color:inherit;text-decoration:underline}.inline-actions{align-items:center;gap:6px;display:inline-flex}.inline-actions select{width:auto}.inline-form{flex-wrap:wrap;max-width:none}.inline-form input{min-width:220px}.state{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:99px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.state.st-quote{background:var(--ok-soft);color:var(--ok)}.state.st-needs_info,.state.st-redirect{background:var(--warn-soft);color:var(--warn)}.state.st-will_quote{background:var(--accent-soft);color:var(--accent)}.state.st-no_stock{background:var(--bad-soft);color:var(--bad)}.updates{margin-top:14px}.updates td{vertical-align:top}.updates details{margin-top:4px}.updates details li{margin:4px 0}.tally .state{margin-right:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tracker td{vertical-align:top}.tracker .num{text-align:right;font-variant-numeric:tabular-nums}.feed li{border-bottom:1px solid var(--border);padding:8px 0}.feed li:last-child{border-bottom:0}.warn-text{color:var(--warn)}
