:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#eef0f4;--border:#d9dde4;--text:#1a1d23;--muted:#5d6573;--accent:#2458d6;--accent-text:#fff;--danger:#b42318;--ok:#1d7a4c;--radius:8px;--nav-w:220px;--rail-w:360px;--rail-collapsed:40px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, monospace}@media (prefers-color-scheme:dark){:root{--bg:#121418;--surface:#1b1e24;--surface-2:#23272f;--border:#333843;--text:#e8eaee;--muted:#9aa3b2;--accent:#6c93ff;--accent-text:#0d1220;--danger:#ff7b6e;--ok:#5fcb8e}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--font)}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}code{font-family:var(--mono);font-size:12px}.app{grid-template-columns:var(--nav-w) 1fr var(--rail-w);grid-template-rows:48px 1fr;grid-template-areas:"nav top top""nav main rail";height:100%;display:grid}.app.rail-collapsed{grid-template-columns:var(--nav-w) 1fr var(--rail-collapsed)}.app.home{grid-template-columns:var(--nav-w) 1fr;grid-template-rows:48px auto 1fr;grid-template-areas:"nav top""nav main""nav rail"}.nav{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;grid-area:nav;gap:4px;padding:12px;display:flex}.nav .brand{letter-spacing:.02em;padding:6px 10px 14px;font-size:18px;font-weight:700}.nav a,.nav button.link{text-align:left;border-radius:var(--radius);width:100%;color:var(--text);background:0 0;border:0;padding:8px 10px;text-decoration:none;display:block}.nav a:hover,.nav button.link:hover{background:var(--surface-2)}.nav a.active{background:var(--accent);color:var(--accent-text)}.nav .spacer{flex:1}.topbar{background:var(--surface);border-bottom:1px solid var(--border);grid-area:top;align-items:center;gap:12px;padding:0 16px;display:flex}.topbar .tenant{font-weight:600}.topbar .spacer{flex:1}.topbar .who{color:var(--muted)}.main{grid-area:main;min-width:0;padding:20px;overflow:auto}.app.home .main{padding-bottom:0}.rail{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;grid-area:rail;min-height:0;display:flex}.app.home .rail{background:0 0;border-left:0;padding:0 20px 20px}.rail.collapsed{align-items:center;padding:8px 0}.rail.collapsed .rail-body,.rail.collapsed .rail-title{display:none}.rail-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.app.home .rail-head{border-bottom:0;padding-left:0}.rail.collapsed .rail-head{border:0;padding:0}.rail-title{flex:1;font-weight:600}.rail-body{flex-direction:column;flex:1;min-height:0;display:flex}.app.home .rail-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.messages{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow:auto}.msg{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:85%;padding:8px 12px}.msg.user{background:var(--accent);color:var(--accent-text);align-self:flex-end}.msg.assistant{background:var(--surface-2);align-self:flex-start}.msg .meta{color:var(--muted);margin-top:4px;font-size:11px;display:block}.msg.user .meta{color:inherit;opacity:.8}.empty{color:var(--muted);text-align:center;padding:20px}.composer{border-top:1px solid var(--border);gap:8px;padding:10px;display:flex}.composer textarea{resize:none;flex:1;min-height:40px;max-height:140px}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:7px 12px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.icon{place-items:center;width:28px;height:28px;padding:0;display:inline-grid}.btn:disabled{opacity:.6;cursor:default}input,select,textarea{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:7px 10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.badge{background:var(--surface-2);color:var(--muted);vertical-align:middle;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.badge.fake{color:#7a5a00;background:#fff3cd}@media (prefers-color-scheme:dark){.badge.fake{color:#ffd666;background:#4a3b00}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px 20px}.card h2{margin:0 0 10px;font-size:15px}dl.kv{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}dl.kv dt{color:var(--muted)}dl.kv dd{overflow-wrap:anywhere;margin:0}.error{color:var(--danger)}.muted{color:var(--muted)}h1{margin:0 0 16px;font-size:20px}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px}th{color:var(--muted);font-size:12px;font-weight:600}tr:last-child td{border-bottom:0}.login{place-items:center;min-height:100%;padding:16px;display:grid}.login form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;width:min(360px,100%);padding:24px;display:flex}.login label{color:var(--muted);flex-direction:column;gap:4px;display:flex}@media (width<=800px){.app,.app.home,.app.rail-collapsed{grid-template:"nav""top""main""rail"/minmax(0,1fr);height:auto;min-height:100%}.nav{border-right:0;border-bottom:1px solid var(--border);flex-flow:row;overflow-x:auto}.nav a,.nav .brand{flex:none}.main table{display:block;overflow-x:auto}.topbar{flex-wrap:wrap;min-height:48px;padding:8px 16px}.topbar select{max-width:100%}.nav a,.nav button.link{width:auto}.main{padding:16px}.rail{border-left:0;border-top:1px solid var(--border);min-height:320px}}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.toolbar .spacer{flex:1}.fields{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:center;gap:8px;display:grid}.row-link{cursor:pointer}.row-link:hover td{background:var(--surface-2)}.pager{justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;align-items:center;gap:4px;margin:0 4px 4px 0;padding:1px 8px;font-size:12px;display:inline-flex}.chip a{text-decoration:none}.chip button{color:var(--muted);background:0 0;border:0;padding:0 2px;line-height:1}.chip button:hover{color:var(--danger)}.tags{flex-wrap:wrap;align-items:center;display:flex}.two-col{grid-template-columns:minmax(0,3fr) minmax(260px,2fr);align-items:start;gap:16px;display:grid}.head-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.head-row .title{font-size:18px;font-weight:600}ul.items{margin:8px 0 0;padding:0;list-style:none}ul.items li{border-bottom:1px solid var(--border);padding:6px 0}ul.items li:last-child{border-bottom:0}.badge.overdue{color:var(--danger);background:#fde8e6}@media (prefers-color-scheme:dark){.badge.overdue{background:#4a1f1a}}ol.timeline,ol.history{margin:0;padding:0;list-style:none}.tl{border-bottom:1px solid var(--border);grid-template-columns:72px 1fr;gap:10px;padding:8px 0;display:grid}.tl:last-child{border-bottom:0}.tl-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:2px;font-size:11px;font-weight:600}.tl-kind.k-note{color:var(--accent)}.tl-kind.k-stage{color:var(--ok)}.tl-body{white-space:pre-wrap;overflow-wrap:anywhere}.tl-meta{margin-top:2px;font-size:12px}ol.history li{border-bottom:1px solid var(--border);padding:6px 0}ol.history li:last-child{border-bottom:0}.board{align-items:flex-start;gap:12px;min-height:60vh;padding-bottom:12px;display:flex;overflow-x:auto}.column{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:0 0 230px;width:230px;max-height:calc(100vh - 140px);display:flex}.column.over{outline:2px dashed var(--accent);outline-offset:-2px}.column.outcome-won .column-name{color:var(--ok)}.column.outcome-lost .column-name{color:var(--danger)}.column-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.column-name{flex:1}.column-total{font-size:12px;font-weight:500}.cards{flex-direction:column;flex:1;gap:8px;min-height:48px;padding:8px;display:flex;overflow-y:auto}.kcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:grab;padding:8px 10px}.kcard:hover{border-color:var(--accent)}.kcard.dragging{opacity:.45}.kcard.add{cursor:default}.kcard-title{overflow-wrap:anywhere;font-weight:600}.kcard-sub{margin-top:2px;font-size:12px}.kcard-sub a{text-decoration:none}.kcard-foot{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.kcard-foot .money{font-weight:600}.kcard-foot select.move{max-width:120px;margin-left:auto;padding:2px 4px;font-size:11px}.add-card{text-align:left;color:var(--muted);border:0;border-top:1px solid var(--border);background:0 0;padding:8px 12px}.add-card:hover{color:var(--text)}@media (width<=800px){.two-col{grid-template-columns:1fr}.column{flex-basis:220px;width:220px;max-height:none}}.msg .tools{opacity:.9;margin:8px 0 0;padding:0;font-size:12px;list-style:none}.msg .tool{margin:2px 0}.msg .tool.error{color:var(--danger,#c0392b)}.btn.small{padding:1px 6px;font-size:11px}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.picker{display:inline-block;position:relative}.picker-list{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:260px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 4px 16px #0000001f}.picker-list button{text-align:left;background:0 0;border:0;padding:7px 10px}.picker-list button:hover{background:var(--surface-2)}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}table.lines input,table.lines select{width:100%}.actions .stack{flex-direction:column;gap:6px;display:flex}.actions .stack .btn{text-align:center;text-decoration:none}.btn.danger{color:var(--danger);border-color:var(--danger)}.card.ok{border-color:var(--ok);color:var(--ok)}.doc-preview{border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:100%;height:520px}.paylink{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.paylink input{font-family:var(--mono);flex:200px;font-size:12px}.badge.status-paid,.badge.status-accepted{background:var(--ok);color:var(--accent-text)}.badge.status-overdue,.badge.status-declined{background:var(--danger);color:var(--accent-text)}.badge.status-void,.badge.status-expired{text-decoration:line-through}.conn-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.conn-grid .card{margin-bottom:0}.conn-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.conn-head h2{flex:1;margin:0}.badge.conn-connected{background:var(--ok);color:var(--accent-text)}.badge.conn-error{background:var(--danger);color:var(--accent-text)}.conn h3{margin:14px 0 6px;font-size:13px}.conn-items code{word-break:break-all}.card.secret{border-color:var(--accent);flex-direction:column;gap:8px;display:flex}.card.secret input{width:100%;font-family:var(--mono);font-size:12px}.report-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px;display:grid}.report-grid .card{margin-bottom:0;overflow-x:auto}.report-head{align-items:center;gap:8px;display:flex}.report-head h2{flex:1;margin:0}.bar-cell{width:30%}.bar{background:var(--surface-2);border-radius:4px;height:8px;display:block}.bar span{background:var(--accent);border-radius:4px;height:100%;display:block}ul.breakdown{color:var(--muted);margin:4px 0 0;padding-left:16px;font-size:12px}pre.sql{background:var(--surface-2);border-radius:var(--radius);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;padding:10px 12px;font-size:12px}.approval{flex-direction:column;gap:8px;display:flex}.approval-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.approval-head .spacer{flex:1}.approval-summary{margin:0;font-weight:600}pre.draft{background:var(--surface-2);border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:10px 12px;font-family:inherit}.badge.tier-2{border-color:var(--accent)}.badge.tier-3,.badge.tier-4{background:var(--danger);color:var(--accent-text)}.note{border-left:3px solid var(--accent);background:var(--surface-2);padding:4px 10px}.ok-text{color:var(--ok)}.queue-item{flex-direction:column;gap:8px;display:flex}ul.reasons{margin:0;padding-left:18px}.queue-item .approval{background:var(--surface-2);margin:0}ul.threads li{flex-direction:column;gap:4px;display:flex}li.highlight{outline:2px solid var(--accent);border-radius:var(--radius)}.message{flex-direction:column;gap:6px;display:flex}.badge.run-done{background:var(--accent);color:var(--accent-text)}.badge.run-failed,.badge.run-interrupted{background:var(--danger);color:var(--accent-text)}code.wrap{word-break:break-all;white-space:normal}[data-testid=dns-records] td{vertical-align:top;font-size:13px}.campaign-stats{flex-wrap:wrap;gap:16px;display:flex}.campaign-stats div{min-width:90px}.campaign-stats strong{font-size:22px;display:block}.email-preview{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;min-height:420px}.steps{padding-left:0;list-style:none}.steps .step{margin:6px 0}.steps .branch .then,.steps .branch .else{border-left:3px solid var(--border,#ddd);margin-left:16px;padding-left:8px}.steps .fields{flex-wrap:wrap;gap:8px;display:flex}.explain{font-family:inherit;line-height:1.6}tr.highlight td{background:#ffd2002e}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.checklist li{margin:6px 0}.split{grid-template-columns:minmax(220px,1fr) 2fr;align-items:start;gap:16px;display:grid}@media (width<=800px){.split{grid-template-columns:1fr}}ul.list{margin:0;padding:0;list-style:none}ul.list li{border-bottom:1px solid #eee;padding:6px 0}ul.list li.active{background:#f4f7fb}.sms-messages{flex-direction:column;gap:8px;margin:12px 0;display:flex}.sms{white-space:pre-wrap;background:#f1f1f1;border-radius:10px;max-width:75%;padding:8px 10px}.sms.out{background:#e3eefc;align-self:flex-end}.small{font-size:12px}.drip-step{border-bottom:1px solid #eee;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:8px 0;display:flex}.drip-step textarea{flex:100%}.drip-step input:not([type=checkbox]){flex:220px}
