:root{--bg: #12152a;--surface: #1a1e36;--surface-2: #232845;--line: #2f3559;--text: #eceef7;--muted: #9ca3c4;--accent: #f28db2;--accent-ink: #2a0e1c;--ok: #43c9a6;--dry: #a9a3f7;--warn: #f2b65a;--bad: #f0736a;--won: #f5c451;--focus: #8fd3ff;--r-panel: 14px;--r-ctl: 9px;--font-body: "Manrope", system-ui, sans-serif;--font-display: "Bricolage Grotesque", "Manrope", system-ui, sans-serif;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f6f5fb;--surface: #ffffff;--surface-2: #efedf7;--line: #dcd9ea;--text: #1b1d33;--muted: #5e6283;--accent: #c9437a;--accent-ink: #ffffff;--ok: #13896d;--dry: #5b52c9;--warn: #a86600;--bad: #c7392f;--won: #9a6a00;--focus: #1767c4;color-scheme:light}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:700;margin:0;line-height:1.15;letter-spacing:-.01em}h1{font-size:30px}h2{font-size:21px}h3{font-size:16px}p{margin:0}a{color:var(--accent)}small,.muted{color:var(--muted)}code{font-size:.9em;background:var(--surface-2);padding:1px 6px;border-radius:5px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.app{display:grid;grid-template-columns:232px 1fr;min-height:100%}.side{border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 18px}.brand-mark{width:30px;height:30px;border-radius:50%;background:var(--accent);display:grid;place-items:center;flex:none}.brand-mark:after{content:"";width:11px;height:11px;border-radius:50%;background:var(--bg)}.brand b{font-family:var(--font-display);font-size:17px;display:block}.brand small{font-size:12px}.nav-btn{all:unset;cursor:pointer;padding:9px 12px;border-radius:var(--r-ctl);color:var(--muted);font-weight:600;display:flex;justify-content:space-between;align-items:center}.nav-btn:hover{color:var(--text);background:var(--surface)}.nav-btn[aria-current=page]{color:var(--text);background:var(--surface-2)}.nav-btn .dot{width:8px;height:8px;border-radius:50%}.side-foot{margin-top:auto;padding:12px 8px 0;border-top:1px solid var(--line);font-size:13px}.side-foot button{margin-top:8px}main{padding:28px clamp(16px,4vw,44px) 60px;max-width:1180px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head p{margin-top:6px;max-width:62ch}.stack{display:flex;flex-direction:column;gap:18px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:860px){.app{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;overflow-x:auto;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line);gap:2px}.brand{padding:0 8px 0 0}.brand div{display:none}.nav-btn{white-space:nowrap}.side-foot{display:none}.grid2{grid-template-columns:1fr}h1{font-size:25px}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:20px}.panel>h2+p,.panel>h3+p{margin-top:6px}.panel-flush{padding:0;overflow:hidden}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:600 14px var(--font-body);padding:9px 15px;border-radius:var(--r-ctl);cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.07);border-color:var(--accent)}.btn-danger{color:var(--bad)}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{color:var(--text);border-color:var(--line)}.btn-sm{padding:6px 11px;font-size:13px}label.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13.5px}label.field small{font-weight:500}.input,select.input,textarea.input{font:500 14.5px var(--font-body);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-ctl);padding:10px 12px;width:100%}textarea.input{resize:vertical;min-height:110px;line-height:1.5}.input:focus{border-color:var(--focus);outline:none}.input-row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch .track{width:40px;height:23px;border-radius:999px;background:var(--line);position:relative;transition:background .15s;flex:none}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:var(--text);transition:transform .15s}.switch input:checked+.track{background:var(--ok)}.switch input:checked+.track:after{transform:translate(17px);background:#fff}.switch input:focus-visible+.track{outline:2px solid var(--focus);outline-offset:2px}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap;border:1px solid currentColor}.chip-offered{color:var(--ok)}.chip-dry_run{color:var(--dry)}.chip-skipped{color:var(--muted)}.chip-failed{color:var(--bad)}.chip-pending{color:var(--warn)}.chip-won{color:var(--won)}.chip-lost{color:var(--muted);border-style:dashed}.kw{display:inline-block;padding:1px 8px;border-radius:6px;background:var(--surface-2);font-size:12.5px;margin:2px 4px 2px 0}.kw-x{text-decoration:line-through;color:var(--muted)}.notice{border-radius:var(--r-ctl);padding:12px 14px;border:1px solid var(--line);background:var(--surface-2);font-size:14px}.notice-bad{border-color:color-mix(in srgb,var(--bad) 55%,transparent)}.notice-warn{border-color:color-mix(in srgb,var(--warn) 55%,transparent)}.notice-ok{border-color:color-mix(in srgb,var(--ok) 55%,transparent)}.heartbeat{border-radius:var(--r-panel);padding:22px 24px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--hb) 22%,transparent),transparent 60%),var(--surface);border:1px solid color-mix(in srgb,var(--hb) 45%,var(--line));--hb: var(--muted)}.heartbeat[data-state=live]{--hb: var(--ok)}.heartbeat[data-state=dry]{--hb: var(--dry)}.heartbeat[data-state=error]{--hb: var(--bad)}.heartbeat[data-state=off]{--hb: var(--muted)}.pulse{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;position:relative}.pulse:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid var(--hb);opacity:.35}.pulse:after{content:"";width:22px;height:22px;border-radius:50%;background:var(--hb)}.heartbeat[data-state=live] .pulse:before,.heartbeat[data-state=dry] .pulse:before{animation:ring 2.4s ease-out infinite}@keyframes ring{0%{transform:scale(.55);opacity:.7}to{transform:scale(1.25);opacity:0}}.hb-title{font-family:var(--font-display);font-size:26px;font-weight:700}.hb-sub{color:var(--muted);margin-top:4px}.hb-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.seg{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px}.seg button{all:unset;cursor:pointer;padding:6px 14px;border-radius:999px;font-weight:700;font-size:13px;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--surface-2);color:var(--text)}.seg button[aria-pressed=true][data-v=live]{background:var(--ok);color:#06231b}.seg button[aria-pressed=true][data-v=dry]{background:var(--dry);color:#15123a}.seg button:focus-visible{outline:2px solid var(--focus)}@media(max-width:860px){.heartbeat{grid-template-columns:auto 1fr}.hb-actions{grid-column:1 / -1;align-items:flex-start;flex-direction:row;flex-wrap:wrap}.hb-title{font-size:21px}}.stats{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface)}.stat{padding:16px 18px;border-left:1px solid var(--line)}.stat:first-child{border-left:0}.stat b{display:block;font-family:var(--font-display);font-size:28px;line-height:1.1}.stat span{color:var(--muted);font-size:13px;font-weight:600}@media(max-width:860px){.stats{grid-template-columns:repeat(2,1fr)}.stat{border-left:0;border-top:1px solid var(--line)}.stat:nth-child(-n+2){border-top:0}.stat:nth-child(2n){border-left:1px solid var(--line)}}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:700;font-size:12.5px;color:var(--muted);padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}.req-text{max-width:340px;color:var(--muted);font-size:13.5px;overflow-wrap:anywhere}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.empty{padding:38px 20px;text-align:center;color:var(--muted)}.empty h3{color:var(--text);margin-bottom:6px}.tpl{display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.tpl:last-child{border-bottom:0}.tpl[data-off=true] .tpl-main{opacity:.5}.tpl-order{display:flex;flex-direction:column}.tpl-order button{all:unset;cursor:pointer;color:var(--muted);padding:0 4px;font-size:12px;line-height:1.2}.tpl-order button:hover{color:var(--text)}.tpl-order button:disabled{opacity:.25;cursor:default}.tpl-scope{color:var(--muted);font-size:13px;margin-top:2px}.tpl-price{font-family:var(--font-display);font-size:20px;font-weight:700;text-align:right}.tpl-price small{display:block;font-family:var(--font-body);font-size:12.5px;font-weight:600}@media(max-width:700px){.tpl{grid-template-columns:auto 1fr}.tpl-price{text-align:left}}dialog.sheet{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);color:var(--text);width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 32px);padding:0}dialog.sheet::backdrop{background:#0809149e}.sheet-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.sheet-body{padding:20px 22px;display:flex;flex-direction:column;gap:16px}.sheet-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--surface)}.offer-preview{border:1px dashed var(--line);border-radius:var(--r-ctl);padding:14px;background:var(--bg)}.offer-preview .msg{white-space:pre-wrap;margin-top:8px}.checks{list-style:none;margin:0;padding:0}.checks li{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.checks li:last-child{border-bottom:0}.checks .mark{font-weight:800}.checks .ok{color:var(--ok)}.checks .no{color:var(--bad)}.auth{min-height:100%;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%)}.auth-card .brand{padding:0 0 22px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:50;background:var(--text);color:var(--bg);padding:10px 16px;border-radius:var(--r-ctl);font-weight:600;font-size:14px;max-width:calc(100vw - 32px)}.toast[data-kind=error]{background:var(--bad);color:#fff}.log-line{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);font-size:14px}.log-line:last-child{border-bottom:0}.log-line time{color:var(--muted);font-variant-numeric:tabular-nums}.log-warn{border-left:3px solid var(--warn)}.log-error{border-left:3px solid var(--bad)}@media(max-width:700px){table.feed thead{display:none}table.feed tr{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 16px;grid-template-areas:"buyer offer" "text text" "dec time";border-bottom:1px solid var(--line)}table.feed tr:last-child{border-bottom:0}table.feed td{border:0;padding:0}table.feed .f-buyer{grid-area:buyer}table.feed .f-offer{grid-area:offer;text-align:right}table.feed .f-text{grid-area:text;max-width:none}table.feed .f-dec{grid-area:dec}table.feed .f-time{grid-area:time;text-align:right}}
