/* ScaleBooth dashboard design system. Loaded only by client.html/platform.html.
   One semantic palette with compatibility aliases for existing components.
   Spacing: 4/8px. Radius: 6/8/12px. Type: heading/body/caption. */
html[data-theme="dark"] {color-scheme:dark}
html[data-theme="light"] {color-scheme:light}
body.sb-dashboard {
  --primary-50:#f0fdfa; --primary-100:#ccfbf1; --primary-200:#99f6e4;
  --primary-300:#5eead4; --primary-400:#2dd4bf; --primary-500:#14b8a6;
  --primary-600:#0d9488; --primary-700:#0f766e; --primary-800:#115e59; --primary-900:#134e4a;
  --neutral-50:#f7faf9; --neutral-100:#eef3f2; --neutral-200:#dce5e2;
  --neutral-300:#b7c9c3; --neutral-400:#829c94; --neutral-500:#5f726d;
  --neutral-600:#4b5f5a; --neutral-700:#344b44; --neutral-800:#203930; --neutral-900:#10231f;
  --bg:var(--neutral-50); --surface:#fff; --surface-secondary:var(--neutral-100);
  --text:var(--neutral-900); --text-muted:var(--neutral-600); --text-caption:var(--neutral-500);
  --border:var(--neutral-200); --border-control:#78938a;
  --primary:var(--primary-700); --primary-hover:var(--primary-800); --primary-contrast:#fff;
  --primary-active:var(--primary-900); --primary-soft:#e6f4f1; --primary-text:var(--primary-800);
  --highlight:#f59e0b; --highlight-text:#10231f;
  --success:#15803d; --success-soft:#f0fdf4; --warning:#92400e; --warning-soft:#fef3c7;
  --danger:#b91c1c; --danger-soft:#fef2f2; --info:#2f5bea; --info-soft:#eff6ff;
  --focus:var(--primary-700); --sidebar-w:256px;
  --canvas:var(--surface); --canvas-soft:var(--bg); --paper:var(--bg); --card:var(--surface);
  --ink:var(--text); --ink-hi:var(--text); --ink-lo:var(--text); --ink-secondary:var(--text);
  --muted:var(--text-muted); --ink-dim:var(--text-muted); --faint:var(--text-caption); --ink-faint:var(--text-caption);
  --hairline:var(--border); --line:var(--border); --line-strong:var(--border-control);
  --accent:var(--primary); --accent-deep:var(--primary-text); --accent-soft:var(--primary-soft); --hover:var(--surface-secondary);
  --r-xs:6px; --r-sm:6px; --r-md:8px; --r-lg:12px; --r-xl:12px;
  --radius-xs:6px; --radius-sm:6px; --radius-md:8px; --radius-lg:12px; --radius-xl:12px;
  --shadow-l1:0 1px 3px #10231f0a; --shadow-l2:0 16px 48px #10231f24;
  color-scheme:light; background:var(--bg); color:var(--text); font-size:14px; line-height:1.5;
}
html[data-theme="dark"] body.sb-dashboard {
  --bg:#0a1512; --surface:#0d1b18; --surface-secondary:#163029;
  --text:#e6f0ed; --text-muted:#afc4bd; --text-caption:#9fb8b2;
  --border:#29473e; --border-control:#6b9285;
  --primary:#2dd4bf; --primary-hover:#5eead4; --primary-contrast:#10231f;
  --primary-active:#99f6e4; --primary-soft:#163029; --primary-text:#5eead4;
  --success:#86efac; --success-soft:#103523; --warning:#fcd34d; --warning-soft:#3b2b13;
  --danger:#fca5a5; --danger-soft:#391d20; --info:#a5c4ff; --info-soft:#192b48;
  --focus:#5eead4; --shadow-l1:0 1px 3px #0003; --shadow-l2:0 16px 48px #0008; color-scheme:dark;
}
@media(prefers-color-scheme:dark) {
  html:not([data-theme]) body.sb-dashboard {
    --bg:#0a1512; --surface:#0d1b18; --surface-secondary:#163029;
    --text:#e6f0ed; --text-muted:#afc4bd; --text-caption:#9fb8b2; --border:#29473e; --border-control:#6b9285;
    --primary:#2dd4bf; --primary-hover:#5eead4; --primary-contrast:#10231f; --primary-active:#99f6e4;
    --primary-soft:#163029; --primary-text:#5eead4; --success:#86efac; --success-soft:#103523;
    --warning:#fcd34d; --warning-soft:#3b2b13; --danger:#fca5a5; --danger-soft:#391d20;
    --info:#a5c4ff; --info-soft:#192b48; --focus:#5eead4; color-scheme:dark;
  }
}
body.sb-dashboard * {box-sizing:border-box}
body.sb-dashboard :is(button,a,input,textarea,select,summary):focus-visible {outline:2px solid var(--focus);outline-offset:2px;box-shadow:none}
body.sb-dashboard :is(button,a,summary) {touch-action:manipulation}
body.sb-dashboard :is(button,a) {transition:background-color .15s,color .15s,border-color .15s}
body.sb-dashboard ::selection {background:var(--primary-soft);color:var(--text)}
body.sb-dashboard a {color:var(--primary-text)}
body.sb-dashboard .app {display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100svh;background:var(--bg)}
body.sb-dashboard.sb-collapsed {--sidebar-w:64px}
body.sb-dashboard .sb-sidebar {position:sticky;top:0;display:flex;flex-direction:column;width:var(--sidebar-w);height:100svh;max-height:100svh;min-width:0;background:var(--surface);color:var(--text);border-right:1px solid var(--border);border-bottom:0;z-index:40;box-shadow:none;transition:width .15s}
.sb-icon {width:20px;height:20px;flex:0 0 20px;display:inline-flex;align-items:center;justify-content:center}
.sb-icon svg {width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sb-sidebar-top {padding:16px 8px 8px;flex-shrink:0}
.sb-brand {display:flex;align-items:center;gap:10px;padding:0 8px 16px;font-size:15px;font-weight:700;letter-spacing:-.02em;min-height:48px}
body.sb-dashboard .sb-brand {color:var(--text);text-decoration:none}
.sb-brand-mark {display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:8px;background:var(--primary);color:var(--primary-contrast);font-weight:800;font-size:17px}
.sb-label {display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-label strong {display:block;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:600}
.sb-label small {display:block;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--text-muted);font-weight:400}
.sb-business-trigger {display:flex;align-items:center;gap:8px;width:100%;height:56px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}
.sb-business-trigger>.sb-icon:first-child {width:32px;height:32px;flex-basis:32px;border-radius:8px;background:var(--primary-soft);color:var(--primary-text)}
.sb-business-trigger>.sb-icon:last-child {margin-left:auto;width:16px;flex-basis:16px}
.sb-business-trigger:hover {background:var(--surface-secondary)}
.sb-platform-identity {cursor:default}.sb-platform-identity>.sb-icon:last-child {margin-left:0}
.sb-navigation {flex:1;min-height:0;overflow:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--border-control) transparent}
.sb-navigation ul,.sb-footer-links {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.sb-nav-group+.sb-nav-group {margin-top:20px}
.sb-group-label {height:28px;margin:0 0 4px;padding:4px 12px;color:var(--text-caption);font-size:12px;font-weight:500;line-height:20px}
body.sb-dashboard .sb-nav-link {position:relative;display:flex;align-items:center;gap:12px;min-height:40px;width:100%;padding:10px 12px;border-radius:6px;color:var(--text-muted);text-decoration:none;font-size:13px;line-height:20px;font-weight:500}
body.sb-dashboard .sb-nav-link:before {content:none}
body.sb-dashboard .sb-nav-link:hover {background:var(--surface-secondary);color:var(--text)}
body.sb-dashboard .sb-nav-link:active {background:var(--primary-soft)}
body.sb-dashboard .sb-nav-link[aria-current="page"] {background:var(--primary-soft);color:var(--primary-text);font-weight:600;box-shadow:inset 3px 0 var(--primary)}
.sb-sidebar-footer {flex-shrink:0;padding:8px;border-top:1px solid var(--border);background:var(--surface)}
.sb-footer-links {margin-bottom:8px}
.sb-footer-tools {display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:4px}
.sb-quiet-action {display:flex;align-items:center;gap:12px;min-height:40px;min-width:40px;padding:8px 12px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;text-align:left}
.sb-quiet-action:hover,.sb-icon-button:hover {background:var(--surface-secondary);color:var(--text)}
.sb-icon-button {display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;padding:8px}
.sb-profile-trigger {display:flex;align-items:center;gap:8px;width:100%;height:56px;padding:8px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.sb-profile-trigger:hover,.sb-profile-trigger[aria-expanded="true"] {background:var(--surface-secondary)}
.sb-profile-trigger>.sb-icon {margin-left:auto;width:16px;flex-basis:16px}
.sb-avatar {display:inline-grid;place-items:center;position:relative;width:32px;height:32px;flex:0 0 32px;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,#fde68a,#99f6e4 60%,#c4b5fd);color:#10231f;font-size:14px;font-weight:700}
.sb-avatar img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sb-avatar[data-avatar-index="2"] {background:linear-gradient(135deg,#c4b5fd,#fbcfe8)}
.sb-avatar[data-avatar-index="3"] {background:linear-gradient(135deg,#fcd34d,#fdba74)}
.sb-avatar[data-avatar-index="4"] {background:linear-gradient(135deg,#bae6fd,#a7f3d0)}
.sb-avatar[data-avatar-index="5"] {background:linear-gradient(135deg,#f9a8d4,#ddd6fe)}
.sb-admin-profile {cursor:default}.sb-signout {color:var(--danger);width:100%}
.sb-header-toggle {margin-right:4px}.sb-context-note,.sb-admin-badge {font-size:12px;line-height:20px;color:var(--text-muted)}
body.sb-dashboard .main {min-width:0;width:100%;background:var(--bg);border:0;border-radius:0;margin:0;overflow:visible}
body.sb-dashboard .topbar {position:sticky;top:0;display:flex;flex-direction:row;align-items:center;gap:12px;min-height:88px;padding:16px 24px;background:var(--surface);border-bottom:1px solid var(--border);backdrop-filter:none;z-index:20}
body.sb-dashboard .topbar>div:first-of-type {min-width:0;flex:1}
body.sb-dashboard .topbar h1 {margin:0;font-size:24px;line-height:1.25;letter-spacing:-.025em;font-weight:650;color:var(--text)}
body.sb-dashboard .topbar .sub {margin-top:4px;font-size:13px;color:var(--text-muted);max-width:760px}
body.sb-dashboard .topbar .right {width:auto;flex-shrink:0;align-self:center;padding:0}
body.sb-dashboard .content {max-width:1440px;padding:24px 24px 40px;width:100%}
body.sb-dashboard .content+.content {padding-top:0}
body.sb-dashboard .content:has(>#paymentRequiredBanner) {padding-bottom:16px}
body.sb-dashboard .card {padding:24px;margin-bottom:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:none;overflow-x:auto}
body.sb-dashboard .card h2 {font-size:18px;line-height:1.35;font-weight:600;letter-spacing:-.015em;color:var(--text);margin:0 0 8px}
body.sb-dashboard .card h3 {font-size:14px;line-height:1.5;color:var(--text);font-weight:600}
body.sb-dashboard :is(.card .desc,.desc) {font-size:13px;line-height:1.6;color:var(--text-muted)}
body.sb-dashboard .grid {gap:16px}
body.sb-dashboard .kpis {gap:16px;margin-bottom:24px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
body.sb-dashboard .kpi {padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:none;min-height:112px}
body.sb-dashboard .kpis .kpi:hover {transform:none;box-shadow:none;border-color:var(--border-control)}
body.sb-dashboard .kpi .kpi-ico {width:32px;height:32px;border-radius:8px;background:var(--surface-secondary);color:var(--text-muted);display:grid;place-items:center;margin-bottom:12px}
body.sb-dashboard .kpi .label {font-size:12px;line-height:1.5;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-muted)}
body.sb-dashboard .kpi .value {font-size:30px;line-height:1.15;letter-spacing:-.035em;font-weight:650;color:var(--text);margin-top:8px}
body.sb-dashboard .kpi .hint {font-size:12px;line-height:1.5;color:var(--text-caption);margin-top:8px}
body.sb-dashboard :is(.hint,.empty,.muted-text,.inline-note,.field small) {color:var(--text-muted);font-size:12px;line-height:1.6}
body.sb-dashboard .empty {padding:24px 12px}
body.sb-dashboard :is(input,select,textarea) {min-height:40px;padding:9px 12px;border:1px solid var(--border-control);border-radius:6px;background:var(--surface);color:var(--text);box-shadow:none;font-size:13px}
body.sb-dashboard :is(input,textarea)::placeholder {color:var(--text-caption);opacity:1}
body.sb-dashboard :is(input,select,textarea):focus {background:var(--surface);border-color:var(--focus);box-shadow:none}
body.sb-dashboard :is(input[type="checkbox"],input[type="radio"]) {width:18px;height:18px;min-height:0;accent-color:var(--primary);padding:0}
body.sb-dashboard label.field>span {color:var(--text);font-size:12px;font-weight:600;margin-bottom:8px}
body.sb-dashboard .field {margin-bottom:16px}
body.sb-dashboard :is(.btn,button.btn,a.btn,.btn.cta) {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 16px;border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:var(--primary-contrast);font-size:13px;line-height:20px;font-weight:600;box-shadow:none;text-decoration:none;cursor:pointer}
body.sb-dashboard :is(.btn,button.btn,a.btn):hover {background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:none;transform:none}
body.sb-dashboard :is(.btn,button.btn,a.btn):active {background:var(--primary-active);border-color:var(--primary-active);transform:none}
body.sb-dashboard :is(.btn.secondary,button.btn.secondary,a.btn.secondary,.btn.ghost) {background:var(--surface);border-color:var(--border-control);color:var(--text)}
body.sb-dashboard :is(.btn.secondary,button.btn.secondary,a.btn.secondary,.btn.ghost):hover {background:var(--surface-secondary);border-color:var(--border-control)}
body.sb-dashboard .btn.small {min-height:36px;padding:7px 12px;font-size:12px;border-radius:6px}
body.sb-dashboard :is(.btn.danger,.btn.destructive) {color:var(--primary-contrast);background:var(--danger);border-color:var(--danger)}
body.sb-dashboard .btn:disabled {opacity:.55;cursor:not-allowed}
body.sb-dashboard .btn.full {width:100%}
body.sb-dashboard .row-actions {display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.sb-dashboard table.data {font-size:13px;color:var(--text)}
body.sb-dashboard table.data :is(th,thead th) {padding:12px;color:var(--text-muted);background:var(--surface-secondary);font-size:12px;letter-spacing:0;text-transform:none;font-weight:600;border-color:var(--border)}
body.sb-dashboard table.data td {padding:12px;border-color:var(--border)}
body.sb-dashboard table.data tbody tr:hover:not(.section-head) {background:var(--surface-secondary)}
body.sb-dashboard tr.section-head td {color:var(--text-caption);font-size:12px}
body.sb-dashboard .badge {font-size:12px;line-height:18px;border-radius:6px;padding:2px 8px;border:1px solid var(--border);background:var(--surface-secondary);color:var(--text-muted)}
body.sb-dashboard .badge.green {color:var(--success);background:var(--success-soft);border-color:var(--success)}
body.sb-dashboard .badge.amber {color:var(--warning);background:var(--warning-soft);border-color:var(--warning)}
body.sb-dashboard .badge.red {color:var(--danger);background:var(--danger-soft);border-color:var(--danger)}
body.sb-dashboard .badge.blue {color:var(--info);background:var(--info-soft);border-color:var(--info)}
body.sb-dashboard .badge.gray {color:var(--text-muted);background:var(--surface-secondary);border-color:var(--border)}
body.sb-dashboard .tabbar {margin-bottom:24px;overflow:auto;scrollbar-width:thin}
body.sb-dashboard .tabs {display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface-secondary);white-space:nowrap;max-width:100%;overflow:auto}
body.sb-dashboard .tab {min-height:36px;padding:8px 12px;font-size:13px;border-radius:6px;color:var(--text-muted);font-weight:500;line-height:20px;background:transparent;border:0}
body.sb-dashboard .tab.active {color:var(--primary-text);background:var(--surface);box-shadow:0 1px 2px #10231f14;font-weight:600}
body.sb-dashboard .tab:disabled {opacity:.6;cursor:not-allowed}
body.sb-dashboard :is(.conversation-item,.transcript-card,.catalog-thumb,.variant-block,.signal-line) {border-radius:8px!important;border-color:var(--border)!important;background:var(--surface)!important}
body.sb-dashboard .conversation-item:hover {background:var(--surface-secondary)!important;border-color:var(--border-control)!important;box-shadow:none!important}
body.sb-dashboard .conversation-item.is-active {background:var(--primary-soft)!important;border-color:var(--primary)!important;box-shadow:inset 3px 0 var(--primary)!important}
body.sb-dashboard .chat-row.agent .chat-bubble {background:var(--primary);color:var(--primary-contrast)}
body.sb-dashboard .chat-row.agent :is(.chat-role,.chat-bubble .hint,.chat-bubble a) {color:var(--primary-contrast)}
body.sb-dashboard .chat-row.user .chat-bubble {background:var(--surface-secondary);color:var(--text)}
body.sb-dashboard details.guide-block {border-radius:8px;background:var(--surface);border-color:var(--border)}
body.sb-dashboard details.guide-block summary:hover {background:var(--surface-secondary)}
body.sb-dashboard ol.guide {color:var(--text-muted)}
body.sb-dashboard .sb-advanced {border:1px solid var(--border);border-radius:8px;background:var(--surface);margin:16px 0;padding:0 16px}
.sb-advanced>summary {cursor:pointer;padding:16px 0;font-size:13px;font-weight:600;color:var(--text)}
.sb-advanced[open]>summary {margin-bottom:16px;border-bottom:1px solid var(--border)}
body.sb-dashboard .gate {background:var(--bg);padding:64px 16px 24px}
body.sb-dashboard .gate-card {background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px;box-shadow:var(--shadow-l1)}
body.sb-dashboard .gate-brand .brand-mark {background:var(--primary);color:var(--primary-contrast);border-radius:8px}
body.sb-dashboard .gate-pill {background:var(--primary-soft);color:var(--primary-text);border-color:var(--border);font-size:12px;padding:6px 12px}
body.sb-dashboard .gate-pill .s {display:none}
.sb-gate-theme {position:fixed;right:16px;top:16px;background:var(--surface);border:1px solid var(--border)}
body.sb-dashboard .toast {z-index:150;background:var(--text);color:var(--surface);border-color:var(--border);border-radius:8px;font-size:13px}
body.sb-dashboard .toast.ok {background:var(--primary);color:var(--primary-contrast)}
.sb-skip-link {position:fixed;top:8px;left:8px;z-index:200;transform:translateY(-160%);padding:12px 16px;background:var(--surface);color:var(--text);border:2px solid var(--focus);border-radius:6px}
.sb-skip-link:focus {transform:none}.sb-sr-only {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sb-profile-menu {position:fixed;z-index:120;width:224px;max-width:calc(100vw - 16px);padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-l2);color:var(--text)}
.sb-profile-menu :is(a,button) {display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px;border:0;border-radius:6px;background:transparent;color:var(--text);text-decoration:none;text-align:left;font-size:13px;cursor:pointer}
.sb-profile-menu :is(a,button):hover {background:var(--surface-secondary)}
.sb-profile-menu .sb-danger-action {color:var(--danger)}.sb-menu-divider {height:1px;background:var(--border);margin:4px -4px}
.sb-dialog {width:min(480px,calc(100vw - 32px));max-height:calc(100svh - 48px);overflow:auto;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-l2)}
.sb-dialog::backdrop {background:#06120fb3}.sb-dialog-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.sb-dialog h2 {font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0}.sb-dialog h3 {font-size:14px;font-weight:600;margin:24px 0 8px}
.sb-eyebrow {font-size:12px;color:var(--text-muted);margin:0 0 4px}.sb-helper {font-size:13px;color:var(--text-muted);line-height:1.6;margin:8px 0 16px}
.sb-profile-summary {display:flex;align-items:center;gap:12px;padding:16px;background:var(--surface-secondary);border-radius:8px}
.sb-profile-summary .sb-avatar {width:44px;height:44px;flex-basis:44px}.sb-profile-summary p {color:var(--text-muted);margin:4px 0 0;font-size:13px;overflow-wrap:anywhere}
.sb-business-list {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sb-business-list>li {padding:12px;border:1px solid var(--border);border-radius:8px;overflow-wrap:anywhere}
.sb-business-list>li:has(button) {padding:0;border:0}.sb-business-option {display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}
.sb-business-option .sb-business-check {margin-left:auto}.sb-business-option[aria-pressed="true"] {border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text)}
.sb-business-option:hover {background:var(--surface-secondary)}.sb-workspace-control {margin-top:24px;border-top:1px solid var(--border);padding-top:16px}.sb-workspace-control>label {font-size:13px;font-weight:600}
.sb-tooltip {position:fixed;z-index:160;background:var(--text);color:var(--surface);padding:8px 12px;border-radius:6px;font-size:12px;pointer-events:none;max-width:240px}
.sb-drawer-shade {position:fixed;inset:0;width:100%;height:100svh;background:#06120f99;z-index:35;border:0;border-radius:0;padding:0}
body.sb-dashboard:not(.authed) .sb-skip-link {display:none}
/* Connection and catalog component layouts retained from the previous console. */
body.sb-dashboard .section-heading-row {display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
body.sb-dashboard .section-heading-row.compact {align-items:center}
body.sb-dashboard .section-heading-row .desc {margin-bottom:0}
body.sb-dashboard .table-scroll {width:100%;overflow-x:auto}
body.sb-dashboard .connections-business-field {max-width:340px}
body.sb-dashboard .connections-tabs {margin-bottom:24px;overflow-x:auto}
body.sb-dashboard .connection-form-stack {display:flex;flex-direction:column;gap:8px}
body.sb-dashboard .connection-action-row {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:8px}
body.sb-dashboard .installation-output {margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}
body.sb-dashboard .advanced-block {margin-top:24px}
body.sb-dashboard .connection-subsection {padding:24px 0;border-top:1px solid var(--border)}
body.sb-dashboard .connection-subsection:last-child {padding-bottom:0}
body.sb-dashboard .webhook-form-grid {display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(200px,2fr) auto;align-items:end;gap:16px}
body.sb-dashboard .webhook-submit {padding-bottom:16px}
body.sb-dashboard .integrations-table {margin-top:24px}
body.sb-dashboard .connection-icon {display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:8px;background:var(--surface-secondary);color:var(--text-muted)}
body.sb-dashboard .meta-channel-pills {display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 8px}
body.sb-dashboard .meta-channel-pills span {padding:4px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-secondary);color:var(--text-muted);font-size:12px}
body.sb-dashboard .meta-resources {margin-top:24px}
body.sb-dashboard .feature-note {display:flex;gap:12px;align-items:flex-start;margin:24px 0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-secondary)}
body.sb-dashboard .feature-note-icon {display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:8px;background:var(--primary-soft);color:var(--primary-text);font-weight:600}
body.sb-dashboard .feature-note strong {color:var(--text);font-size:13px}
body.sb-dashboard .feature-note p {color:var(--text-muted);font-size:12px;margin:4px 0 0}
body.sb-dashboard .landing-editor,body.sb-dashboard .landing-editor-group {margin-top:24px}
body.sb-dashboard .landing-actions {margin-top:24px;padding:16px 0;border-block:1px solid var(--border)}
body.sb-dashboard .landing-live-card {display:flex;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--success);border-radius:8px;background:var(--success-soft);color:var(--success)}
body.sb-dashboard .landing-preview-frame {width:100%;max-width:760px;height:640px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
@media(max-width:1180px) {body.sb-dashboard .webhook-form-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
body.sb-collapsed .sb-sidebar .sb-label,body.sb-collapsed .sb-group-label {display:none}
body.sb-collapsed .sb-sidebar-top {padding:16px 8px 8px}
body.sb-collapsed .sb-brand {padding:0 8px 16px;justify-content:center}
body.sb-collapsed .sb-business-trigger {justify-content:center;width:48px;border:0;padding:8px}
body.sb-collapsed .sb-business-trigger>.sb-icon:last-child:not(:first-child) {display:none}
body.sb-collapsed .sb-navigation {padding:8px}
body.sb-collapsed .sb-nav-link {justify-content:center;padding:10px;width:48px}
body.sb-collapsed .sb-nav-group+.sb-nav-group {margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
body.sb-collapsed .sb-footer-tools {flex-direction:column}
body.sb-collapsed .sb-profile-trigger {justify-content:center;padding:8px;width:48px}
body.sb-collapsed .sb-profile-trigger>.sb-icon {display:none}
body.sb-collapsed .sb-quiet-action {justify-content:center;width:48px;padding:8px}
body.sb-collapsed .sb-sidebar-footer {padding:8px}
@media(max-width:1023px) {.sb-context-note {display:none}}
@media(max-width:767px) {
  body.sb-dashboard .app {display:block}body.sb-dashboard .sb-sidebar {position:fixed;left:0;top:0;width:min(288px,calc(100vw - 48px));transform:translateX(-100%);transition:transform .15s;box-shadow:var(--shadow-l2)}
  body.sb-dashboard.sb-drawer-open .sb-sidebar {transform:translateX(0)}body.sb-dashboard.sb-drawer-open {overflow:hidden}
  body.sb-dashboard .sb-nav-link {min-height:44px}body.sb-dashboard .sb-icon-button {width:44px;height:44px}
  body.sb-dashboard .sb-quiet-action,body.sb-dashboard .sb-profile-menu :is(a,button) {min-height:44px}
  body.sb-dashboard .topbar {min-height:80px;padding:16px;gap:8px}.sb-admin-badge {display:none}
  body.sb-dashboard .topbar h1 {font-size:21px}body.sb-dashboard .topbar .sub {font-size:12px}
  body.sb-dashboard .content {padding:16px 16px 32px}body.sb-dashboard .card {padding:20px}
  body.sb-dashboard :is(.grid.two,.grid.three,.panel-grid) {grid-template-columns:1fr}
  body.sb-dashboard .webhook-form-grid {grid-template-columns:1fr}
  body.sb-dashboard .section-heading-row {flex-direction:column;align-items:stretch}
  body.sb-dashboard .kpis {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  body.sb-dashboard .kpi {padding:16px}body.sb-dashboard .kpi .value {font-size:28px}
  body.sb-dashboard .btn,body.sb-dashboard .btn.small,body.sb-dashboard :is(input,select) {min-height:44px}
  body.sb-dashboard .tab {min-height:44px}body.sb-dashboard .gate-card {padding:24px}
  body.sb-dashboard .conv-pane.cols {grid-template-columns:1fr}
  .sb-dialog {padding:20px}
}
@media(max-width:380px) {body.sb-dashboard .kpis {grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce) {body.sb-dashboard *,body.sb-dashboard *:before,body.sb-dashboard *:after {transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Existing static layout helpers, migrated from HTML. */
body.sb-dashboard .sb-client-layout-1 { margin-top:20px }
body.sb-dashboard .sb-client-layout-2 { display:flex;gap:8px;margin-bottom:12px }
body.sb-dashboard .sb-client-layout-3 { flex:1;max-width:320px }
body.sb-dashboard .sb-client-layout-4 { justify-content:space-between;align-items:end }
body.sb-dashboard .sb-client-layout-5 { margin-bottom:4px }
body.sb-dashboard .sb-client-layout-6 { margin-bottom:0 }
body.sb-dashboard .sb-client-layout-7 { min-width:220px;margin:0 }
body.sb-dashboard .sb-client-layout-8 { margin-top:0 }
body.sb-dashboard .sb-client-layout-9 { margin-bottom:12px }
body.sb-dashboard .sb-client-layout-10 { border:0;padding:0;margin:0 }
body.sb-dashboard .sb-client-layout-11 { border:0;border-top:1px solid var(--hairline);margin:22px 0 }
body.sb-dashboard .sb-client-layout-12 { margin-top:12px }
body.sb-dashboard .sb-client-layout-13 { margin-top:12px }
body.sb-dashboard .sb-client-layout-14 { margin-bottom:12px; gap:10px }
body.sb-dashboard .sb-client-layout-15 { min-width:180px }
body.sb-dashboard .sb-client-layout-16 { min-width:160px }
body.sb-dashboard .sb-client-layout-17 { justify-content:space-between }
body.sb-dashboard .sb-client-layout-18 { max-height:320px;overflow:auto;white-space:pre-wrap }
body.sb-dashboard .sb-client-layout-19 { margin-top:18px }
body.sb-dashboard .sb-platform-layout-1 { margin-top:14px }
body.sb-dashboard .sb-platform-layout-2 { margin-top:14px }
body.sb-dashboard .sb-platform-layout-3 { margin-top:18px }
body.sb-dashboard .sb-platform-layout-4 { margin-top:14px }
body.sb-dashboard .sb-platform-layout-5 { margin-top:12px }
body.sb-dashboard .sb-platform-layout-6 { margin-top:12px }
