:root{color-scheme:dark;--bg: #0f1115;--panel: #16191f;--panel-2: #1b1f27;--border: #232833;--text: #e7e9ee;--muted: #98a1b1;--accent: #2dd4bf;--accent-ink: #04231f;--danger: #f87171;--ok: #4ade80;--warn: #fbbf24;--radius: 12px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:9px 11px;width:100%}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--danger)}button.primary{background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px;padding:9px 14px;font-weight:600}button.primary:disabled{opacity:.5;cursor:default}button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:10px;padding:9px 14px}button.link{background:none;border:0;color:var(--muted);padding:4px;text-decoration:underline}button.icon{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;width:28px;height:28px;line-height:1}.splash{height:100%;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted)}.auth{min-height:100%;display:grid;place-items:center;padding:24px}.auth-card{width:min(380px,100%);background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:28px 24px;display:grid;gap:12px}.auth-brand{margin:0;font-size:26px;letter-spacing:-.02em}.auth-sub{margin:0 0 4px;color:var(--muted);font-size:14px}.tabs{display:flex;gap:6px;background:var(--bg);padding:4px;border-radius:10px;border:1px solid var(--border)}.tab{flex:1;background:none;border:0;border-radius:8px;padding:7px;color:var(--muted)}.tab.active{background:var(--panel-2);color:var(--text)}.field{display:grid;gap:5px;font-size:14px}.field small{color:var(--muted)}.app{height:100%;display:grid;grid-template-columns:300px 1fr}.sidebar{background:var(--panel);border-right:1px solid var(--border);display:grid;grid-template-rows:auto auto 1fr auto;min-height:0}.sidebar-head{padding:16px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--bg);color:var(--accent);font-weight:700}.brand small{display:block;color:var(--muted);font-size:12px}.pending{border-top:1px solid var(--border);padding:12px 16px}.pending h2{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;gap:8px}.count{background:var(--warn);color:#241a02;border-radius:999px;padding:0 7px;font-size:12px}.pending ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.pending button{width:100%;text-align:left;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:7px 9px;display:flex;justify-content:space-between;gap:8px}.approval-action{font-weight:600}.search{border-top:1px solid var(--border);padding:10px 16px;display:grid;gap:6px}.search input{width:100%}.search-results{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:220px;overflow-y:auto}.search-results button{width:100%;text-align:left;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:6px 9px;display:grid;gap:2px}.search-channel{font-size:11px;color:var(--muted)}.search-snippet{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channels{padding:8px 8px 16px;overflow-y:auto;min-height:0}.nav-head{display:flex;align-items:center;justify-content:space-between;padding:8px}.nav-head h2{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.channels ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.channel{width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:8px;color:var(--muted)}.channel:hover{background:var(--panel-2)}.channel.active{background:var(--panel-2);color:var(--text);font-weight:600}.channel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag{font-size:11px;border:1px solid var(--border);border-radius:999px;padding:0 6px;color:var(--muted)}.create-channel{display:flex;gap:6px;padding:6px 8px}.create-channel input{flex:1}.create-channel button{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:0 10px}.account{border-top:1px solid var(--border);padding:12px 16px;display:grid;gap:6px}.account small{display:block;color:var(--muted);font-size:12px}.account-actions{display:flex;align-items:center;justify-content:space-between}.status{font-size:12px;color:var(--muted)}.status.open{color:var(--ok)}.status.closed{color:var(--warn)}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.banner{background:#3a2c07;color:#ffd980;padding:8px 16px;font-size:13px}.placeholder{margin:auto;text-align:center;color:var(--muted);padding:24px}.channel-view{display:flex;flex-direction:column;min-height:0;height:100%}.channel-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--panel)}.channel-head small{color:var(--muted)}.channel-title strong{display:block}.back{display:none;background:none;border:0;font-size:22px;line-height:1;color:var(--muted)}.thread{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:0}.messages{list-style:none;margin:0;padding:0;display:contents}.day{text-align:center;color:var(--muted);font-size:12px;margin:12px 0 4px}.system{text-align:center;color:var(--muted);font-size:13px;margin:4px 0}.bubble{max-width:min(640px,82%);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}.bubble.own{align-self:flex-end;background:#123a35;border-color:#1d514a}.bubble.pending{align-self:flex-end;opacity:.65;border-style:dashed}.bubble.failed{align-self:flex-end;border-color:var(--danger)}.bubble-author{font-size:12px;color:var(--accent);margin-bottom:2px}.bubble-meta{font-size:11px;color:var(--muted);margin-top:3px}.bubble-actions{display:flex;gap:10px;margin-top:4px}.attachment{display:inline-block;margin-bottom:4px;padding:5px 9px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--accent);text-decoration:none;font-size:13px;overflow-wrap:anywhere}.attachment small{color:var(--muted)}.attachment:hover{border-color:var(--accent)}.composer .attach{flex:0 0 auto}.composer-hint.error{color:var(--danger)}.typing{color:var(--muted);font-size:13px;font-style:italic}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:10px 12px;max-width:min(680px,92%);display:grid;gap:8px}.card.approval{border-color:var(--warn)}.card header{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);flex-wrap:wrap}.card-kind{text-transform:uppercase;letter-spacing:.05em}.card-author{color:var(--text)}.card-time{margin-left:auto}.card-note{margin:0;font-size:14px}.command-line{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 8px;display:block;overflow-x:auto}.payload{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px;overflow-x:auto}.approval-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.approval-actions .note{flex:1 1 200px}.chip{font-size:11px;border-radius:999px;padding:1px 8px;border:1px solid var(--border);color:var(--muted)}.chip.done,.chip.approved{color:var(--ok);border-color:#1f6f45}.chip.failed,.chip.rejected{color:var(--danger);border-color:#7f2d2d}.chip.running,.chip.executing{color:var(--accent);border-color:#1d514a}.chip.pending{color:var(--warn);border-color:#6b5010}.payment-card{border:1px solid var(--border);border-radius:8px;background:var(--bg);padding:10px 12px;display:grid;gap:8px}.payment-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.payment-amount{font-size:20px;font-weight:600}.payment-amount small{font-size:12px;color:var(--muted);margin-left:2px}.payment-rows{margin:0;display:grid;gap:4px;font-size:13px}.payment-rows>div{display:flex;gap:8px}.payment-rows dt{color:var(--muted);min-width:120px}.payment-rows dd{margin:0;overflow-wrap:anywhere}.composer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--panel);flex-wrap:wrap}.composer textarea{flex:1;resize:none;min-height:42px;max-height:160px}.composer.disabled{color:var(--muted);justify-content:center}.composer-hint{flex-basis:100%;font-size:12px;color:var(--muted)}.older{text-align:center}.audit-view{display:flex;flex-direction:column;gap:12px;padding:14px;overflow-y:auto;height:100%}.audit-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.audit-filters input,.audit-date{font-size:13px}.audit-filters input[type=search]{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:8px 10px}.audit-date{color:var(--muted)}.audit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.audit-row{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}.audit-line{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}.audit-time{font-size:12px;color:var(--muted);white-space:nowrap}.audit-action{font-family:ui-monospace,monospace;font-size:12px;color:var(--accent)}.audit-detail summary{cursor:pointer;font-size:12px;color:var(--muted)}.audit-detail pre{margin:6px 0 0;font-size:12px;color:var(--text);background:var(--panel-2);border-radius:8px;padding:8px;overflow-x:auto}.audit-pager{display:flex;justify-content:space-between;gap:8px}.bridge{margin:0 14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.bridge>summary{cursor:pointer;padding:8px 12px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}.tag.bridge-live{color:var(--ok)}.bridge-body{padding:4px 12px 12px;display:flex;flex-direction:column;gap:12px}.bridge-section{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:10px}.bridge-section:first-child{border-top:none;padding-top:4px}.bridge-danger{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.bridge-meta{margin:0;font-size:13px}.bridge-form{display:flex;flex-direction:column;gap:8px}.bridge-form input{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:8px 10px;font-size:13px}.bridge-actions{display:flex;gap:8px;align-items:center}.bridge-invite,.bridge-invite-link{display:flex;flex-direction:column;gap:6px}.bridge-invite-link{flex-direction:row}.bridge-invite-link input{flex:1;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:8px 10px;font-size:12px;font-family:ui-monospace,monospace}.bridge-settings{display:flex;flex-direction:column;gap:10px;font-size:13px}.bridge-settings label,.bridge-settings fieldset{display:flex;flex-direction:column;gap:6px;color:var(--muted)}.bridge-settings input,.bridge-agents{border-color:var(--border)}.bridge-settings input{background:var(--panel-2);border-radius:10px;border-style:solid;border-width:1px;color:var(--text);padding:8px 10px}.bridge-agents{border-radius:10px;padding:8px 10px}.bridge-agent{flex-direction:row!important;align-items:center;gap:8px;color:var(--text)!important}.bridge-log summary{cursor:pointer;font-size:12px;color:var(--muted)}.bridge-log ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.bridge-accept{min-height:100dvh;display:grid;place-items:center;padding:16px;background:var(--bg)}.bridge-accept-card{width:min(460px,100%);background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px}.bridge-accept-card .brand{display:flex;align-items:center;gap:10px}.bridge-accept-step{display:flex;flex-direction:column;gap:10px}.bridge-accept-step input{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:9px 10px;font-size:13px}.ok{color:var(--ok)}@media(max-width:720px){.app{grid-template-columns:1fr}.app[data-view=thread] .sidebar,.app[data-view=list] .main{display:none}.back{display:block}}
