/*
 * ═══════════════════════════════════════════════════════════════════
 *  ELLA CANVAS — DESIGN TOKEN THEME SYSTEM
 *  All hardcoded colors in CSS are replaced with the vars below.
 *  To theme a workspace, override in a scoped :root or body selector.
 *
 *  Variable groups:
 *    --bg-*          Background hierarchy (darkest → most elevated)
 *    --text-*        Text hierarchy (brightest → dimmest)
 *    --accent-*      Brand orange/gold palette
 *    --border-*      Border & divider scale
 *    --status-*      Semantic state colors
 *    --shadow-*      Box-shadow tokens
 *    --ws-accent     Per-edition accent (overridden dynamically by JS)
 *    --ws-accent-rgb Per-edition accent as R,G,B for rgba() calls
 *
 *  EXAMPLE — Blue corporate theme override:
 *  :root {
 *    --accent-primary:    #2196f3;
 *    --accent-secondary:  #64b5f6;
 *    --accent-hover:      #1976d2;
 *    --bg-secondary:      #0d1b2a;
 *    --bg-panel:          #0a1520;
 *    --ws-accent:         #2196f3;
 *    --ws-accent-rgb:     33,150,243;
 *  }
 * ═══════════════════════════════════════════════════════════════════
 *
 *  JAVASCRIPT COLOR AUDIT — not changed in this pass (string literals):
 *    #ff8c00 · #fcb630 · #f0c040 · #e05555 · #7aa8e8 · #1a1a1a
 *    #2a2a2a · #252525 · #1e1e1e · #0e0e0e · #555 · #888 · #666
 *  Future: extract these to a JS const THEME = { ... } object and
 *  reference vars by name from there.
 * ═══════════════════════════════════════════════════════════════════
 */
:root {
  /* ── 23 Semantic Tokens (Tungsten = default) ── */
  --surface-base: #0a0e18; --surface-raised: #0e1220; --surface-elevated: #141828;
  --surface-input: #1a2030; --surface-hover: #121824;
  --border-subtle: #1e2838; --border-default: #283448; --border-strong: #384860;
  --text-primary: #d8dce8; --text-secondary: #a0a8c0; --text-muted: #7080a0;
  --text-disabled: #405068; --text-inverse: #0a0e18;
  --accent-primary: #e0a848; --accent-hover: #c89030; --accent-muted: rgba(224,168,72,.15);
  --status-success: #22c55e; --status-warning: #f59e0b; --status-error: #e05555; --status-info: #7aa8e8;
  --shadow-default: 0 4px 12px rgba(0,0,0,.5); --overlay-bg: rgba(0,0,0,.75);
  --accent-secondary: #e0a848;
}
:root {
  /* ── Legacy Aliases → Semantic Tokens ── */
  --bg-app: var(--surface-base);
  --bg-primary: var(--surface-base);
  --bg-chat-sub: var(--surface-base);
  --bg-drawer: var(--surface-raised);
  --bg-secondary: var(--surface-raised);
  --bg-hover-xs: var(--surface-hover);
  --bg-hover-sm: var(--surface-hover);
  --bg-tertiary: var(--surface-elevated);
  --bg-panel: var(--surface-elevated);
  --bg-hover: var(--surface-hover);
  --bg-input: var(--surface-input);
  --bg-elevated: var(--surface-elevated);
  --surface-secondary: var(--surface-raised);
  --surface-tertiary: var(--surface-elevated);

  --border-faint: var(--border-subtle);
  --border-divider: var(--border-subtle);
  --border-primary: var(--border-default);
  --border-medium: var(--border-default);

  --text-white: var(--text-primary);
  --text-brightest: var(--text-primary);
  --text-lighter: var(--text-primary);
  --text-primary-dim: var(--text-secondary);
  --text-secondary-dim: var(--text-secondary);
  --text-tertiary: var(--text-muted);
  --text-dim: var(--text-muted);
  --text-faint: var(--text-muted);
  --text-subtle: var(--text-muted);
  --text-ghost: var(--text-disabled);
  --text-dark: var(--text-disabled);

  --accent-gold: var(--accent-primary);
  --accent-gold-dark: var(--accent-hover);
  --accent-warm: var(--accent-primary);
  --accent-gold-text: var(--accent-primary);
  --accent-yellow: var(--accent-primary);

  --status-error-alt: var(--status-error);
  --status-error-dark: var(--status-error);
  --status-green: var(--status-success);
  --status-green-dark: var(--status-success);
  --status-green-light: var(--status-success);

  --ws-accent: var(--accent-primary);
  --ws-accent-rgb: 224,168,72;
  --user-color: var(--accent-primary);
  --user-color-rgb: 224,168,72;

  --shadow-sm: var(--shadow-default);
  --shadow-md: var(--shadow-default);
  --shadow-lg: var(--shadow-default);
  --shadow-xl: var(--shadow-default);
  --shadow-2xl: var(--shadow-default);

  --sb-surface-raised: var(--surface-raised);
  --sb-surface-active: var(--surface-hover);
  --sb-connector: var(--border-default);
  --sb-node: var(--border-strong);
  --sb-node-active: var(--text-muted);
  --sb-text-primary: var(--text-primary);
  --sb-text-secondary: var(--text-secondary);
  --sb-text-tertiary: var(--text-muted);
  --sb-text-disabled: var(--text-disabled);

  --bg-topbar: var(--surface-raised);
  --border-topbar: var(--border-subtle);
}

/* ── 12 Named Themes ── */
[data-theme="fusion"] {
  --surface-base: #faf6ee; --surface-raised: #fdf9f2; --surface-elevated: #ffffff;
  --surface-input: #ffffff; --surface-hover: #f0e8d8;
  --border-subtle: #e8dcc8; --border-default: #d4c4a8; --border-strong: #b8a480;
  --text-primary: #2c2416; --text-secondary: #5a4c36; --text-muted: #7c6d56;
  --text-disabled: #b8a888; --text-inverse: #ffffff;
  --accent-primary: #c87820; --accent-hover: #a86010; --accent-muted: rgba(200,120,32,.12);
  --status-success: #059669; --status-warning: #d97706; --status-error: #c0392b; --status-info: #1565c0;
  --shadow-default: 0 4px 12px rgba(0,0,0,.08); --overlay-bg: rgba(0,0,0,.40);
  --ws-accent-rgb: 200,120,32; --user-color-rgb: 200,120,32;
}
[data-theme="photon"] {
  --surface-base: #f8f9fb; --surface-raised: #ffffff; --surface-elevated: #ffffff;
  --surface-input: #ffffff; --surface-hover: #eef0f4;
  --border-subtle: #e8eaef; --border-default: #d8dbe3; --border-strong: #b0b6c4;
  --text-primary: #1a1d27; --text-secondary: #454b5e; --text-muted: #6b7189;
  --text-disabled: #a0a5b8; --text-inverse: #ffffff;
  --accent-primary: #5E6AD2; --accent-hover: #4B55B0; --accent-muted: rgba(94,106,210,.10);
  --status-success: #059669; --status-warning: #d97706; --status-error: #c0392b; --status-info: #2563eb;
  --shadow-default: 0 2px 8px rgba(0,0,0,.06); --overlay-bg: rgba(0,0,0,.35);
  --ws-accent-rgb: 94,106,210; --user-color-rgb: 94,106,210;
}
[data-theme="oxidize"] {
  --surface-base: #f5f0e8; --surface-raised: #faf7f1; --surface-elevated: #ffffff;
  --surface-input: #ffffff; --surface-hover: #ebe4d8;
  --border-subtle: #e0d8c8; --border-default: #cfc4ae; --border-strong: #b0a488;
  --text-primary: #2a2318; --text-secondary: #5c4f3a; --text-muted: #756952;
  --text-disabled: #b0a48c; --text-inverse: #ffffff;
  --accent-primary: #b85c2c; --accent-hover: #9a4a20; --accent-muted: rgba(184,92,44,.10);
  --status-success: #2e7d32; --status-warning: #c27a00; --status-error: #b03020; --status-info: #1565c0;
  --shadow-default: 0 2px 8px rgba(0,0,0,.06); --overlay-bg: rgba(0,0,0,.35);
  --ws-accent-rgb: 184,92,44; --user-color-rgb: 184,92,44;
}
[data-theme="terrarium"] {
  --surface-base: #f2f5f0; --surface-raised: #f8faf6; --surface-elevated: #ffffff;
  --surface-input: #ffffff; --surface-hover: #e6ede2;
  --border-subtle: #d8e2d0; --border-default: #c0d0b4; --border-strong: #98b090;
  --text-primary: #1e2a1e; --text-secondary: #3a4e38; --text-muted: #5a7056;
  --text-disabled: #98b090; --text-inverse: #ffffff;
  --accent-primary: #3d7a5f; --accent-hover: #2e6048; --accent-muted: rgba(61,122,95,.10);
  --status-success: #2e7d32; --status-warning: #c27a00; --status-error: #b03020; --status-info: #1565c0;
  --shadow-default: 0 2px 8px rgba(0,0,0,.06); --overlay-bg: rgba(0,0,0,.35);
  --ws-accent-rgb: 61,122,95; --user-color-rgb: 61,122,95;
}
[data-theme="tungsten"] {
  --surface-base: #0a0e18; --surface-raised: #0e1220; --surface-elevated: #141828;
  --surface-input: #1a2030; --surface-hover: #121824;
  --border-subtle: #1e2838; --border-default: #283448; --border-strong: #384860;
  --text-primary: #d8dce8; --text-secondary: #a0a8c0; --text-muted: #7080a0;
  --text-disabled: #405068; --text-inverse: #0a0e18;
  --accent-primary: #e0a848; --accent-hover: #c89030; --accent-muted: rgba(224,168,72,.15);
  --status-success: #22c55e; --status-warning: #f59e0b; --status-error: #e05555; --status-info: #7aa8e8;
  --shadow-default: 0 4px 12px rgba(0,0,0,.5); --overlay-bg: rgba(0,0,0,.75);
  --ws-accent-rgb: 224,168,72; --user-color-rgb: 224,168,72;
}
[data-theme="filament"] {
  --surface-base: #191919; --surface-raised: #202020; --surface-elevated: #252525;
  --surface-input: #2a2a2a; --surface-hover: #2e2e2e;
  --border-subtle: #2e2e2e; --border-default: #363636; --border-strong: #444444;
  --text-primary: #D4D4D4; --text-secondary: #9B9B9B; --text-muted: #929292;
  --text-disabled: #4a4a4a; --text-inverse: #191919;
  --accent-primary: #CB7B37; --accent-hover: #A86620; --accent-muted: rgba(203,123,55,.15);
  --status-success: #4F9768; --status-warning: #C19138; --status-error: #C4554D; --status-info: #447AC4;
  --shadow-default: 0 4px 12px rgba(0,0,0,.4); --overlay-bg: rgba(0,0,0,.75);
  --ws-accent-rgb: 203,123,55; --user-color-rgb: 203,123,55;
}
[data-theme="antimatter"] {
  --surface-base: #080808; --surface-raised: #0c0c0c; --surface-elevated: #111111;
  --surface-input: #1c1c1c; --surface-hover: #181818;
  --border-subtle: #202020; --border-default: #282828; --border-strong: #383838;
  --text-primary: #f0f0f0; --text-secondary: #cccccc; --text-muted: #888888;
  --text-disabled: #555555; --text-inverse: #000000;
  --accent-primary: #ff8c00; --accent-hover: #e07800; --accent-muted: rgba(255,140,0,.15);
  --status-success: #22c55e; --status-warning: #f59e0b; --status-error: #e05555; --status-info: #7aa8e8;
  --shadow-default: 0 4px 12px rgba(0,0,0,.4); --overlay-bg: rgba(0,0,0,.75);
  --ws-accent-rgb: 255,140,0; --user-color-rgb: 255,140,0;
}
[data-theme="spore"] {
  --surface-base: #1a1e15; --surface-raised: #222618; --surface-elevated: #2a2e1f;
  --surface-input: #333826; --surface-hover: #2e3322;
  --border-subtle: #3F4732; --border-default: #4a5340; --border-strong: #5c6650;
  --text-primary: #D0E2BF; --text-secondary: #b0c8a0; --text-muted: #8fa781;
  --text-disabled: #4a5a40; --text-inverse: #1a1e15;
  --accent-primary: #65928E; --accent-hover: #4f7e7a; --accent-muted: rgba(101,146,142,.18);
  --status-success: #7ecba1; --status-warning: #FCEE8B; --status-error: #e05555; --status-info: #65928E;
  --shadow-default: 0 4px 12px rgba(0,0,0,.5); --overlay-bg: rgba(0,0,0,.75);
  --ws-accent-rgb: 101,146,142; --user-color-rgb: 101,146,142;
}
[data-theme="nebula"] {
  --surface-base: #140a10; --surface-raised: #1c1018; --surface-elevated: #241620;
  --surface-input: #2e1c28; --surface-hover: #201418;
  --border-subtle: #3a2030; --border-default: #4a2840; --border-strong: #603850;
  --text-primary: #f0dce4; --text-secondary: #cca8b8; --text-muted: #a78194;
  --text-disabled: #604858; --text-inverse: #140a10;
  --accent-primary: #d4607a; --accent-hover: #b84860; --accent-muted: rgba(212,96,122,.18);
  --status-success: #22c55e; --status-warning: #f59e0b; --status-error: #e05555; --status-info: #7aa8e8;
  --shadow-default: 0 4px 12px rgba(0,0,0,.5); --overlay-bg: rgba(0,0,0,.75);
  --ws-accent-rgb: 212,96,122; --user-color-rgb: 212,96,122;
}
[data-theme="mycelium"] {
  --surface-base: #100e08; --surface-raised: #18150e; --surface-elevated: #201c14;
  --surface-input: #28241a; --surface-hover: #1e1a12;
  --border-subtle: #302818; --border-default: #3e3420; --border-strong: #504430;
  --text-primary: #e8dcc8; --text-secondary: #c4b498; --text-muted: #9d8b6d;
  --text-disabled: #5a4c36; --text-inverse: #100e08;
  --accent-primary: #8ab060; --accent-hover: #70964a; --accent-muted: rgba(138,176,96,.18);
  --status-success: #8ab060; --status-warning: #d4a040; --status-error: #c05040; --status-info: #7a9ab0;
  --shadow-default: 0 4px 12px rgba(0,0,0,.5); --overlay-bg: rgba(0,0,0,.75);
  --ws-accent-rgb: 138,176,96; --user-color-rgb: 138,176,96;
}
[data-theme="plasma"] {
  --surface-base: #0e0818; --surface-raised: #140e22; --surface-elevated: #1a142c;
  --surface-input: #221c36; --surface-hover: #18102a;
  --border-subtle: #2e2048; --border-default: #3c2c5a; --border-strong: #503c70;
  --text-primary: #ece0f8; --text-secondary: #c4b0dc; --text-muted: #9581b5;
  --text-disabled: #584878; --text-inverse: #0e0818;
  --accent-primary: #EE348A; --accent-hover: #d02878; --accent-muted: rgba(238,52,138,.18);
  --status-success: #22c55e; --status-warning: #FCC640; --status-error: #e05555; --status-info: #7aa8e8;
  --shadow-default: 0 4px 12px rgba(0,0,0,.5); --overlay-bg: rgba(0,0,0,.75);
  --accent-secondary: #FCC640;
  --ws-accent-rgb: 238,52,138; --user-color-rgb: 238,52,138;
}
[data-theme="neutron"] {
  --surface-base: #0a0a0a; --surface-raised: #0f0f0f; --surface-elevated: #141414;
  --surface-input: #1a1a1a; --surface-hover: #161616;
  --border-subtle: #1e1e1e; --border-default: #252525; --border-strong: #333333;
  --text-primary: #eeeeee; --text-secondary: #b4b4b4; --text-muted: #858585;
  --text-disabled: #4a4a4a; --text-inverse: #0a0a0a;
  --accent-primary: #5E6AD2; --accent-hover: #4B55B0; --accent-muted: rgba(94,106,210,.15);
  --status-success: #22c55e; --status-warning: #f59e0b; --status-error: #e05555; --status-info: #5E6AD2;
  --shadow-default: 0 4px 12px rgba(0,0,0,.4); --overlay-bg: rgba(0,0,0,.75);
  --ws-accent-rgb: 94,106,210; --user-color-rgb: 94,106,210;
}
.mob-menu-btn{display:none;width:36px;height:36px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;align-items:center;justify-content:center;padding:0;flex-shrink:0;}
.mob-menu-btn svg{width:18px;height:14px;}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg-app);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;height:100dvh;height:100vh;overflow:hidden;display:flex;flex-direction:column;}
@supports(height:100dvh){body{height:100dvh;}}

/* ── TOPBAR ── */
.topbar{height:calc(46px + env(safe-area-inset-top,0px));min-height:calc(46px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--bg-secondary);border-bottom:1px solid var(--bg-input);display:flex;align-items:center;flex-shrink:0;position:relative;z-index:150;overflow:visible;justify-content:space-between;}
.logo{display:flex;align-items:center;gap:7px;padding:0 14px;flex-shrink:0;text-decoration:none;}
.logo-badge{width:34px;height:34px;border-radius:7px;background:linear-gradient(135deg,var(--accent-gold),var(--accent-gold-dark));display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#1a1200;letter-spacing:-0.3px;flex-shrink:0;}
.logo-word{font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-0.3px;}
.topbar-div{width:1px;height:22px;background:var(--border-subtle);flex-shrink:0;}
.token-meter{font-size:10px;color:var(--text-disabled);background:var(--bg-panel);border:1px solid var(--border-divider);border-radius:10px;padding:2px 8px;white-space:nowrap;flex-shrink:0;display:none;}
body.role-superadmin .token-meter{display:none!important;}
.breadcrumb{display:flex;align-items:center;gap:2px;padding:0 10px;flex:1;min-width:0;overflow:visible;}
.bc-item{display:flex;align-items:center;position:relative;}
.bc-btn{display:flex;align-items:center;gap:5px;padding:4px 8px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis;}
.bc-btn:hover{background:var(--bg-hover);color:var(--text-primary);}
.bc-btn.open{background:var(--bg-input);color:var(--text-primary);}
.bc-caret{flex-shrink:0;opacity:.5;transition:transform .15s,opacity .15s;}
.bc-btn.open .bc-caret{transform:rotate(180deg);opacity:1;}
.bc-sep{color:var(--text-disabled);font-size:12px;user-select:none;padding:0 2px;}
.bc-dd{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,.8);z-index:200;overflow-y:scroll;max-height:calc(100vh - 100px);padding:5px;scrollbar-width:thin;scrollbar-color:var(--text-disabled) var(--surface-elevated);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;}
.bc-dd::-webkit-scrollbar{width:8px;}
.bc-dd::-webkit-scrollbar-track{background:var(--surface-elevated);border-radius:4px;}
.bc-dd::-webkit-scrollbar-thumb{background:var(--text-disabled);border-radius:4px;border:2px solid var(--surface-elevated);}
.bc-dd::-webkit-scrollbar-thumb:hover{background:var(--text-muted);}
.bc-dd.open{display:block;}
.bc-dd-lbl{font-size:10px;font-weight:700;color:var(--text-ghost);letter-spacing:.8px;text-transform:uppercase;padding:6px 10px 4px;}
.bc-dd-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--text-secondary-dim);transition:background .1s,color .1s;}
.bc-dd-item:hover{background:var(--bg-input);color:var(--text-primary);}
.bc-dd-item.sel{color:var(--text-primary);font-weight:600;}
.bc-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.bc-check{margin-left:auto;color:var(--ws-accent);font-size:11px;}
.bc-dd-div{height:1px;background:var(--border-divider);margin:3px 0;}
.bc-dd-org{font-size:10px;font-weight:700;color:var(--text-ghost);padding:7px 10px 3px;letter-spacing:.2px;}
.bc-dd-ws{padding-left:18px!important;}
.topbar-right{display:flex;align-items:center;gap:4px;padding:0 14px;flex-shrink:0;}
.tip-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--text-subtle);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;position:relative;}
.tip-btn[data-tip]:hover::after,.ia-btn[data-tip]:hover::after{display:none!important;}
.tip-btn[data-tip]:hover::before,.ia-btn[data-tip]:hover::before{display:none!important;}
.tip-btn:hover{background:var(--bg-hover);color:var(--text-secondary);}
.tip-btn.active{background:rgba(var(--ws-accent-rgb),.08);color:var(--ws-accent);}
.tip-btn svg{width:16px;height:16px;}
.notif-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--status-error);border:1.5px solid var(--bg-secondary);display:none;}
.notif-dot.show{display:block;}
.notif-pop{display:none;position:absolute;top:42px;right:0;width:300px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.7);z-index:250;overflow:hidden;}
.notif-pop.open{display:block;}
.notif-pop-hdr{padding:12px 16px;border-bottom:1px solid var(--bg-input);font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:.3px;text-transform:uppercase;}
.notif-item{padding:12px 16px;border-bottom:1px solid var(--bg-secondary);cursor:default;transition:background .15s;}
.notif-item:last-child{border-bottom:none;}
.notif-item:hover{background:var(--bg-hover);}
.notif-item-title{font-size:12px;color:var(--text-secondary);font-weight:500;margin-bottom:3px;}
.notif-item-body{font-size:11px;color:var(--text-subtle);line-height:1.4;}
.notif-trial{border-left:3px solid var(--ws-accent);padding-left:13px;}
.trial-badge{display:inline-block;font-size:10px;color:var(--text-dim);background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:6px;padding:2px 8px;margin-left:8px;cursor:pointer;transition:border-color .15s;}
.trial-badge:hover{border-color:var(--ws-accent);color:var(--ws-accent);}
#pay-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:500;align-items:center;justify-content:center;}
#pay-modal.open{display:flex;}
.pay-box{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:16px;padding:28px;max-width:420px;width:90%;box-shadow:0 24px 60px rgba(0,0,0,.8);}
.pay-box h3{font-size:16px;color:var(--text-primary);font-weight:600;margin:0 0 4px;}
.pay-box .pay-sub{font-size:12px;color:var(--text-subtle);margin-bottom:20px;}
.pay-plan{padding:14px;border:1px solid var(--border-subtle);border-radius:10px;margin-bottom:12px;cursor:pointer;transition:border-color .15s,background .15s;}
.pay-plan:hover,.pay-plan.selected{border-color:var(--ws-accent);background:rgba(var(--ws-accent-rgb),.08);}
.pay-plan-name{font-size:13px;color:var(--text-primary-dim);font-weight:500;}
.pay-plan-price{font-size:11px;color:var(--text-muted);margin-top:2px;}
#pay-stripe-el{margin:16px 0;min-height:44px;}
.pay-btn{width:100%;padding:12px;border-radius:10px;border:none;background:var(--ws-accent);color:var(--bg-secondary);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s;}
.pay-btn:hover{opacity:.9;}
.pay-btn:disabled{opacity:.4;cursor:default;}
.pay-cancel{width:100%;padding:8px;border:none;background:transparent;color:var(--text-ghost);font-size:12px;cursor:pointer;margin-top:8px;font-family:inherit;}
/* ── DEMO WIPE MODAL ── */
#demo-wipe-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:500;align-items:center;justify-content:center;}
#demo-wipe-modal.open{display:flex;}
.dw-box{background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:16px;padding:28px;max-width:380px;width:90%;box-shadow:0 24px 60px rgba(0,0,0,.85);}
.dw-box h3{font-size:15px;color:var(--text-primary);font-weight:600;margin:0 0 6px;}
.dw-box p{font-size:12px;color:var(--text-subtle);margin-bottom:20px;line-height:1.55;}
.dw-personas{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;}
.dw-persona{padding:13px 15px;border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;}
.dw-persona:hover{border-color:var(--border-strong);background:var(--bg-hover);}
.dw-persona.selected{border-color:var(--status-error-dark);background:rgba(192,57,43,.09);}
.dw-persona-name{font-size:13px;color:var(--text-primary-dim);font-weight:500;}
.dw-persona-desc{font-size:11px;color:var(--text-ghost);margin-top:3px;line-height:1.4;}
.dw-btns{display:flex;gap:10px;justify-content:flex-end;}
.dw-cancel{padding:8px 16px;border:1px solid var(--border-subtle);border-radius:8px;background:transparent;color:var(--text-faint);font-size:13px;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s;}
.dw-cancel:hover{border-color:var(--text-disabled);color:var(--text-tertiary);}
.dw-exec{padding:8px 18px;border:1px solid var(--status-error-dark);border-radius:8px;background:transparent;color:var(--status-error);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s,opacity .15s;}
.dw-exec:hover{background:rgba(192,57,43,.15);}
.dw-exec:disabled{opacity:.35;cursor:default;}
.dw-check-row{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border:1px solid var(--border,var(--border-medium));border-radius:9px;background:var(--bg-input);cursor:pointer;margin-bottom:16px;}
.dw-check-row input[type=checkbox]{margin-top:2px;accent-color:var(--status-error-dark);flex-shrink:0;cursor:pointer;}
.dw-check-label{font-size:12px;color:var(--text-secondary-dim);line-height:1.4;cursor:pointer;}
.dw-check-sub{display:block;font-size:11px;color:var(--text-ghost);margin-top:2px;}
body:not(.role-admin):not(.role-superadmin) .wipe-demo-btn{display:none!important;}
.status-chip{display:none;}
.sdot{width:6px;height:6px;border-radius:50%;background:var(--border-medium);flex-shrink:0;}
.sdot.on{background:var(--ws-accent);box-shadow:0 0 5px rgba(var(--ws-accent-rgb),.5);animation:glow 2s infinite;}
@keyframes glow{0%,100%{opacity:1}50%{opacity:.5}}
.profile-btn{width:28px;height:28px;border-radius:50%;background:var(--accent-muted);border:1.5px solid rgba(var(--ws-accent-rgb),.3);color:var(--accent-primary);font-size:11px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s;flex-shrink:0;}
.profile-btn:hover,.profile-btn.open{background:rgba(var(--ws-accent-rgb),.25);border-color:rgba(var(--ws-accent-rgb),.6);}

/* ── APP BODY ── */
.app-body{display:flex;flex:1;overflow:hidden;}

/* ── RAIL (removed) ── */

/* ── DRAWER ── */
.drawer{width:240px;min-width:240px;background:var(--bg-drawer);border-right:1px solid var(--bg-input);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease,min-width .2s ease;position:relative;}
.drawer.closed{width:0;min-width:0;border-right:none;}
.dpanel{display:flex;flex-direction:column;flex:1;overflow:hidden;}
.drawer-hdr{height:40px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bg-input);flex-shrink:0;}
.drawer-title{font-size:12px;font-weight:700;color:var(--text-secondary);}
.drawer-x{width:20px;height:20px;border-radius:5px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s;font-size:12px;}
.drawer-x:hover{background:var(--bg-input);color:var(--text-tertiary);}
.dbody{flex:1;overflow-y:auto;}
.dbody::-webkit-scrollbar{width:3px;}
.dbody::-webkit-scrollbar-thumb{background:var(--border-divider);border-radius:2px;}
.ed-banner{background:linear-gradient(135deg,var(--accent-gold) 0%,var(--accent-gold-dark) 100%);padding:5px 14px;display:flex;align-items:center;gap:0;flex-shrink:0;}
.ed-banner.hidden{display:none;}
.ed-text{font-size:10px;font-weight:700;color:#1a1000;letter-spacing:.4px;text-transform:uppercase;}
.active-ws{padding:10px 14px;border-bottom:1px solid var(--bg-input);cursor:pointer;transition:background .1s;flex-shrink:0;}
.active-ws:hover{background:var(--bg-hover-sm);}
.aws-lbl{font-size:10px;color:var(--text-subtle);font-weight:600;letter-spacing:.3px;margin-bottom:3px;}
.aws-name{font-size:12px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;overflow:hidden;}
.aws-chev{color:var(--text-ghost);}
.fsec{border-bottom:1px solid var(--bg-panel);}
.fsec-hdr{display:flex;align-items:center;gap:6px;padding:7px 12px;cursor:pointer;user-select:none;transition:background .1s;}
.fsec-hdr:hover{background:var(--bg-hover-xs);}
.fschev{flex-shrink:0;color:var(--text-ghost);transition:transform .15s;}
.fschev.open{transform:rotate(90deg);}
.fschev svg{width:10px;height:10px;}
.fslbl{font-size:12px;font-weight:600;color:var(--text-secondary);flex:1;}
.fsico{flex-shrink:0;color:var(--text-subtle);}
.fsico svg{width:13px;height:13px;}
.frows{padding:2px 0 4px;}
.frow{display:flex;align-items:center;gap:6px;padding:4px 14px 4px 28px;cursor:pointer;transition:background .1s;}
.frow:hover{background:var(--bg-hover-xs);}
.frow:hover .frn{color:var(--text-primary);}
.frdot{width:4px;height:4px;border-radius:50%;background:var(--border-medium);flex-shrink:0;}
.frn{font-size:11px;color:var(--text-tertiary);flex:1;}
.frbadge{font-size:9px;padding:1px 5px;border-radius:3px;background:rgba(var(--ws-accent-rgb),.12);color:var(--ws-accent);border:1px solid rgba(var(--ws-accent-rgb),.2);}
.tsec{padding:10px 12px;border-bottom:1px solid var(--bg-panel);}
.tslbl{font-size:10px;font-weight:700;color:var(--text-ghost);letter-spacing:.8px;text-transform:uppercase;margin-bottom:6px;}
.trow{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:7px;cursor:pointer;transition:background .1s;}
.trow:hover{background:var(--bg-hover-sm);}
.tico{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tico svg{width:13px;height:13px;}
.tinfo{flex:1;min-width:0;}
.tname{font-size:12px;font-weight:600;color:var(--text-secondary);}
.tstatus{font-size:10px;margin-top:1px;}
.ts-on{color:var(--ws-accent);}
.ts-part{color:var(--accent-gold-text);}
.tdot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.td-on{background:var(--ws-accent);box-shadow:0 0 4px rgba(var(--ws-accent-rgb),.4);}
.td-part{background:var(--accent-gold-text);}

/* ── CHAT ── */
.chat-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:320px;position:relative;}
.chat-sub{min-height:38px;padding:4px 16px;border-bottom:1px solid var(--bg-input);display:flex;align-items:center;flex-shrink:0;background:var(--bg-chat-sub);}
.pill-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.bot-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;flex-shrink:0;}
.bp-idle{background:rgba(255,255,255,.04);color:var(--text-ghost);border:1px solid var(--border-divider);}
.bp-active{background:rgba(var(--ws-accent-rgb),.1);color:var(--ws-accent);border:1px solid rgba(var(--ws-accent-rgb),.2);}
.bp-typing{background:rgba(100,160,255,.1);color:var(--status-info);border:1px solid rgba(100,160,255,.2);transition:opacity .2s ease;}
.pill-hint{font-size:11px;color:var(--border-strong);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sub-r{display:flex;align-items:center;gap:6px;width:100%;overflow:visible;flex-wrap:wrap;row-gap:4px;}
.stat-c{font-size:11px;color:var(--text-subtle);}
.stat-c span{color:var(--text-tertiary);font-weight:600;}
.clear-btn{padding:3px 10px;background:transparent;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-subtle);font-size:11px;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s;}
.clear-btn:hover{border-color:var(--text-disabled);color:var(--text-tertiary);}
.em-btn{display:flex;align-items:center;gap:5px;padding:3px 10px;background:transparent;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s,color .15s;}
.em-btn:hover{background:var(--bg-hover);border-color:rgba(240,192,64,.4);color:var(--accent-gold);}
.em-btn svg{width:11px;height:11px;}
.sub-r-spacer{flex:1;min-width:20px;}
/* Icon-only action buttons in sub-r bar */
/* ── Sbar icon buttons ─────────────────────────────────────────────────── */
.sbar-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-primary);background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;position:relative;flex-shrink:0;padding:0;}
.sbar-btn svg{width:18px;height:18px;}
.sbar-btn:hover{background:var(--border-divider);color:var(--text-secondary);border-color:var(--text-disabled);}
.sbar-btn:disabled{opacity:.35;cursor:not-allowed;}
.sbar-btn.working{opacity:.5;cursor:not-allowed;}
.sbar-btn.done{border-color:rgba(var(--ws-accent-rgb),.35);color:var(--ws-accent);}
.sbar-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-muted);}
@keyframes btnGlow{0%,100%{box-shadow:0 0 4px 0 var(--glow-color,var(--status-green))44;}50%{box-shadow:0 0 10px 2px var(--glow-color,var(--status-green))66;}}
.sbar-btn.has-idea{animation:btnGlow 2.5s ease-in-out infinite;border-color:color-mix(in srgb,var(--glow-color,var(--status-green)) 40%,transparent);color:var(--glow-color,var(--status-green));transition:all .6s ease;}
.sbar-btn.idea-fade{animation:none;box-shadow:none;transition:all 1.2s ease;}
/* Custom tooltips — appear above button on hover */
.sbar-btn[data-tooltip]::after,.pcb-btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 7px);right:0;background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text-secondary-dim);font-size:10px;white-space:normal;padding:6px 10px;border-radius:5px;pointer-events:none;opacity:0;transition:opacity .15s .1s;z-index:300;font-family:inherit;font-weight:500;letter-spacing:.01em;width:380px;max-width:90vw;line-height:1.4;}
.sbar-btn[data-tooltip]:hover::after,.pcb-btn[data-tooltip]:hover::after{opacity:1;}

/* Perspective buttons — unified token colors (E3-402) */
#beast-btn.sbar-btn,#bananas-btn.sbar-btn,#coach-btn.sbar-btn,#insights-btn.sbar-btn,#discover-btn.sbar-btn,#distill-btn.sbar-btn{border-color:var(--border-default);color:var(--text-muted);}
#beast-btn.sbar-btn:hover,#bananas-btn.sbar-btn:hover,#coach-btn.sbar-btn:hover,#insights-btn.sbar-btn:hover,#discover-btn.sbar-btn:hover,#distill-btn.sbar-btn:hover{background:var(--surface-hover);color:var(--text-secondary);border-color:var(--border-strong);}
#beast-btn.sbar-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-muted);animation:beast-pulse 1.5s ease-in-out infinite;}
@keyframes beast-pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,0,0,0);}50%{box-shadow:0 0 8px 2px var(--accent-muted);}}
/* Distill pulse states — hint: slow glow; warn: fast glow */
@keyframes distill-hint{0%,100%{box-shadow:0 0 0 0 rgba(184,152,96,0)}50%{box-shadow:0 0 6px 1px rgba(184,152,96,.3)}}
@keyframes distill-warn{0%,100%{box-shadow:0 0 0 0 rgba(var(--ws-accent-rgb),0);border-color:rgba(255,100,0,.45)}50%{box-shadow:0 0 9px 2px rgba(255,100,0,.45);border-color:rgba(255,100,0,.9)}}
/* Distill 6-state fill system */
#distill-btn.sbar-btn.distill-q1{border-color:rgba(var(--ws-accent-rgb),.25);color:var(--text-tertiary);}
#distill-btn.sbar-btn.distill-q2{border-color:rgba(var(--ws-accent-rgb),.4);color:var(--text-secondary);}
#distill-btn.sbar-btn.distill-q3{border-color:rgba(var(--ws-accent-rgb),.4);color:#d0a040;}
#distill-btn.sbar-btn.distill-full{border-color:rgba(var(--ws-accent-rgb),.55);color:var(--ws-accent);animation:distill-slow 2.5s ease-in-out infinite;}
#distill-btn.sbar-btn.distill-urgent{border-color:rgba(255,100,0,.6);color:#ff7020;animation:distill-fast 0.7s ease-in-out infinite;}
#distill-btn.sbar-btn.distill-full:hover,#distill-btn.sbar-btn.distill-urgent:hover{animation:none;background:rgba(var(--ws-accent-rgb),.1);}
@keyframes distill-slow{0%,100%{box-shadow:0 0 0 0 rgba(var(--ws-accent-rgb),0)}50%{box-shadow:0 0 6px 1px rgba(var(--ws-accent-rgb),.25)}}
@keyframes distill-fast{0%,100%{box-shadow:0 0 0 0 rgba(255,100,0,0);border-color:rgba(255,100,0,.4)}50%{box-shadow:0 0 8px 2px rgba(255,100,0,.4);border-color:rgba(255,100,0,.9)}}
/* Distill dialog extras */
/* distill-clear-row, distill-cb, distill-cb-lbl removed -- old dialog replaced by shade */
.distill-room{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--surface-base);transition:background 1s ease;}
.distill-room::before{content:'';position:absolute;width:180px;height:180px;background:radial-gradient(circle,rgba(var(--ws-accent-rgb),0.06) 0%,transparent 70%);border-radius:50%;top:38%;left:50%;transform:translate(-50%,-50%);animation:distillBreathe 5s ease-in-out infinite;pointer-events:none;}
@keyframes distillBreathe{0%,100%{opacity:0.25;width:180px;height:180px;}50%{opacity:0.5;width:240px;height:240px;}}
@keyframes distillFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.distill-heading{font-size:20px;color:var(--text-primary);font-weight:600;letter-spacing:normal;margin-bottom:16px;margin-top:40px;animation:distillFadeIn 1s ease;text-align:center;}
.distill-desc{font-size:15px;font-weight:300;color:var(--text-secondary);text-align:center;line-height:1.8;max-width:440px;animation:distillFadeIn 1.5s ease;margin-bottom:12px;}
.distill-sub{font-size:12px;color:var(--text-tertiary);text-align:center;margin-bottom:40px;animation:distillFadeIn 2s ease;font-style:italic;opacity:0.7;}
.distill-clear-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:rgba(184,152,96,0.3);margin-bottom:28px;animation:distillFadeIn 2.2s ease;transition:color .2s;}
.distill-clear-label:hover{color:rgba(184,152,96,0.5);}
.distill-clear-label input{accent-color:#b89860;}
.distill-actions{display:flex;gap:16px;animation:distillFadeIn 2.4s ease;margin-bottom:40px;}
.distill-cancel{padding:12px 32px;background:transparent;border:1px solid var(--border-primary);border-radius:24px;color:var(--text-tertiary);cursor:pointer;font-family:inherit;font-size:14px;transition:all .2s;}
.distill-cancel:hover{border-color:var(--accent-primary);color:var(--text-secondary);}
.distill-confirm{padding:12px 32px;background:rgba(var(--ws-accent-rgb),0.15);border:1px solid rgba(var(--ws-accent-rgb),0.3);border-radius:24px;color:var(--accent-primary);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;}
.distill-confirm:hover{background:rgba(var(--ws-accent-rgb),0.25);border-color:var(--accent-primary);color:var(--accent-primary);}
/* Ella-ments loaded state */
.frn.loaded{color:var(--ws-accent) !important;}
.frow.em-loaded .frdot{background:var(--ws-accent);opacity:.6;}
/* ── ORG SELECTOR ── */
.org-sel{padding:10px 14px 0;flex-shrink:0;}
.org-sel-btn{display:flex;align-items:center;gap:6px;cursor:pointer;padding:5px 8px;border-radius:6px;transition:background .12s;}
.org-sel-btn:hover{background:var(--bg-panel);}
.org-sel-name{font-size:13px;font-weight:700;color:var(--text-brightest);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.org-sel-caret{flex-shrink:0;color:var(--text-ghost);transition:transform .15s;}
.org-dd{display:none;position:absolute;top:calc(100% + 2px);left:8px;right:8px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:9px;box-shadow:0 12px 36px rgba(0,0,0,.7);z-index:260;padding:5px;max-height:300px;overflow-y:auto;}
.org-dd.open{display:block;}
.org-dd-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;cursor:pointer;font-size:12px;color:var(--text-secondary-dim);transition:background .1s,color .1s;}
.org-dd-item:hover{background:var(--bg-input);color:var(--text-primary);}
.org-dd-item.sel{color:var(--text-primary);font-weight:600;}
.org-dd-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.org-dd-check{margin-left:auto;color:var(--ws-accent);font-size:11px;}
/* ── PANEL COLLAPSE BUTTONS ── */
.app-body{position:relative;}
.em-ctx-menu{position:fixed;z-index:9999;background:var(--bg-input);border:1px solid var(--border-medium);border-radius:8px;padding:4px 0;min-width:180px;box-shadow:0 8px 24px rgba(0,0,0,.5);display:none;}
#sb2-org-menu.em-ctx-menu{max-height:min(480px, calc(100vh - 120px));flex-direction:column;overflow:hidden;padding:0;}
#sb2-org-menu.em-ctx-menu[style*="display: block"],#sb2-org-menu.em-ctx-menu[style*="display:block"]{display:flex;}
.sb2-org-menu-search{padding:8px 8px 4px;flex-shrink:0;}
.sb2-org-menu-search input{width:100%;background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:6px;padding:6px 8px 6px 28px;font-size:11px;color:var(--text-primary);font-family:inherit;outline:none;box-sizing:border-box;}
.sb2-org-menu-search input:focus{border-color:var(--accent-primary,var(--accent-primary));}
.sb2-org-menu-search input::placeholder{color:var(--text-disabled);}
.sb2-org-menu-search-wrap{position:relative;}
.sb2-org-menu-search-wrap svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:11px;height:11px;color:var(--text-disabled);pointer-events:none;}
.sb2-org-menu-sort{display:flex;align-items:center;justify-content:flex-end;padding:2px 8px 4px;flex-shrink:0;border-bottom:1px solid var(--border-subtle);}
.sb2-org-menu-sort button{background:none;border:none;color:var(--text-disabled);cursor:pointer;font-size:9px;font-family:inherit;padding:2px 6px;border-radius:4px;}
.sb2-org-menu-sort button.active{color:var(--accent-primary,var(--accent-primary));}
.sb2-org-menu-list{flex:1;overflow-y:auto;min-height:0;padding:4px 0;}
.sb2-org-menu-list::-webkit-scrollbar{width:5px;}
.sb2-org-menu-list::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px;}

.em-ctx-item{display:flex;align-items:center;gap:8px;padding:8px 14px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background .12s;}
.em-ctx-item:hover{background:var(--border-primary);color:var(--text-white);}
.em-ctx-item svg{opacity:.7;}
.em-ctx-item:hover svg{opacity:1;}
.em-ctx-sep{height:1px;background:var(--border-medium);margin:4px 8px;}
.em-ctx-sub{padding:2px 14px 6px 36px;display:flex;flex-wrap:wrap;gap:4px;}
.em-ctx-interval{padding:4px 8px;font-size:11px;color:var(--text-muted);background:var(--border-subtle);border:1px solid var(--border-medium);border-radius:4px;cursor:pointer;transition:all .12s;}
.em-ctx-interval:hover{color:var(--text-white);border-color:var(--text-ghost);background:var(--border-primary);}
.em-ctx-interval.active{color:var(--ws-accent,var(--ws-accent));border-color:var(--ws-accent,var(--ws-accent));}
.em-ctx-label{padding:4px 14px 2px;font-size:10px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.5px;}
.em-rescan-ring{position:relative;width:12px;height:12px;flex-shrink:0;}
.em-rescan-ring svg{width:12px;height:12px;}
.em-rescan-ring .ring-bg{fill:none;stroke:var(--border-medium);stroke-width:2;}
.em-rescan-ring .ring-fg{fill:none;stroke-width:2;stroke-linecap:round;transition:stroke .3s;}
.prof-section-hdr{padding:12px 16px 4px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;}
.prof-section-desc{padding:0 16px 10px;font-size:12px;color:var(--text-ghost);line-height:1.5;}
.prof-lang-levels{padding:4px 16px 8px;display:flex;flex-direction:column;gap:4px;}
.prof-lang-btn{display:flex;flex-direction:column;padding:8px 12px;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;text-align:left;transition:all .12s;}
.prof-lang-btn:hover{border-color:var(--text-disabled);background:var(--bg-input);}
.prof-lang-btn.active{border-color:var(--ws-accent,var(--ws-accent));background:rgba(var(--ws-accent-rgb),.06);}
.prof-lang-name{font-size:12px;font-weight:600;color:var(--text-secondary);}
.prof-lang-btn.active .prof-lang-name{color:var(--ws-accent,var(--ws-accent));}
.prof-lang-desc{font-size:11px;color:var(--text-ghost);margin-top:2px;}
.prof-assess-card{margin:4px 16px;padding:10px 12px;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:8px;}
.prof-assess-top{display:flex;justify-content:space-between;align-items:center;}
.prof-assess-name{font-size:12px;font-weight:600;color:var(--ws-accent,var(--ws-accent));}
.prof-assess-del{background:none;border:none;color:var(--text-ghost);font-size:16px;cursor:pointer;padding:0 4px;}
.prof-assess-del:hover{color:var(--status-error);}
.prof-assess-preview{font-size:11px;color:var(--text-subtle);margin-top:6px;line-height:1.4;word-break:break-word;}
.prof-assess-empty{padding:12px 16px;font-size:12px;color:var(--text-disabled);font-style:italic;}
.prof-assess-actions{display:flex;gap:6px;padding:8px 16px 12px;flex-wrap:wrap;}
.prof-assess-btn{padding:6px 12px;font-size:11px;font-family:inherit;background:var(--bg-hover);border:1px solid var(--border-medium);border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:all .12s;}
.prof-assess-btn:hover{background:var(--border-divider);border-color:var(--text-ghost);color:var(--text-white);}
.id-row{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;transition:background .12s;border-radius:6px;margin:2px 8px;}
.id-row:hover{background:var(--bg-hover);}
.id-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.id-label{font-size:13px;color:var(--text-secondary);flex:1;}
.id-view-btn{font-size:10px;color:var(--text-ghost);padding:2px 8px;border:1px solid var(--border-medium);border-radius:4px;background:none;cursor:pointer;opacity:0;transition:opacity .12s;}
.id-row:hover .id-view-btn{opacity:1;}
.id-view-btn:hover{color:var(--text-tertiary);border-color:var(--text-ghost);}
.ws-chat-area{margin:8px 16px 12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-secondary);overflow:hidden;}
.ws-chat-msgs{max-height:200px;overflow-y:auto;padding:10px 12px;font-size:12px;color:var(--text-muted);}
.ws-chat-msgs::-webkit-scrollbar{width:3px;}
.ws-chat-msgs::-webkit-scrollbar-thumb{background:var(--border-divider);border-radius:2px;}
.ws-chat-input-row{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--bg-input);background:var(--bg-chat-sub);}
.ws-chat-input{flex:1;background:none;border:none;color:var(--text-lighter);font-size:14px;font-family:inherit;outline:none;padding:4px 0;}
.ws-chat-input::placeholder{color:var(--text-dim);}
.ws-chat-send{width:28px;height:28px;border-radius:6px;border:none;background:rgba(var(--ws-accent-rgb),.1);color:var(--ws-accent);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:background .12s;}
.ws-chat-send:hover{background:rgba(var(--ws-accent-rgb),.2);}
.ws-drop-zone{margin:4px 16px 8px;padding:16px;border:1.5px dashed var(--border-medium);border-radius:8px;text-align:center;font-size:11px;color:var(--text-disabled);cursor:pointer;transition:all .15s;}
.ws-drop-zone:hover,.ws-drop-zone.drag-over{border-color:var(--ws-accent);color:var(--ws-accent);background:rgba(var(--ws-accent-rgb),.04);}
.ws-askme-btn{display:block;margin:4px 16px 12px;padding:8px 14px;font-size:12px;font-family:inherit;background:rgba(var(--ws-accent-rgb),.06);border:1px solid rgba(var(--ws-accent-rgb),.15);border-radius:8px;color:var(--ws-accent);cursor:pointer;text-align:left;transition:all .12s;width:calc(100% - 32px);}
.ws-askme-btn:hover{background:rgba(var(--ws-accent-rgb),.12);border-color:rgba(var(--ws-accent-rgb),.3);}
.pcb-row{display:flex;align-items:center;padding:4px 10px 0;flex-shrink:0;}
.pcb-btn{width:28px;height:22px;background:var(--bg-hover);border:1px solid var(--border-medium);border-radius:7px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:color .15s,border-color .15s,background .15s;z-index:20;padding:0;flex-shrink:0;position:relative;align-self:center;}
.pcb-btn:hover{background:var(--border-divider);border-color:var(--text-ghost);color:var(--text-white);}
.pcb-btn svg{width:18px;height:14px;overflow:visible;}
.pcb-fill{transition:fill .2s;}
/* Left panel fill: bright when sidebar OPEN */
.app-body:not(.sb-hidden) #pcb-left-btn .pcb-fill{fill:var(--text-dim);}
.app-body.sb-hidden #pcb-left-btn .pcb-fill{fill:var(--text-disabled);}
/* Right panel fill: bright when runner OPEN */
.app-body:not(.runner-collapsed) #pcb-right-btn .pcb-fill{fill:var(--text-dim);}
.app-body.runner-collapsed #pcb-right-btn .pcb-fill{fill:var(--text-disabled);}
/* ── TOKEN METER ── */
.token-meter-btn{position:relative;}
body:not(.role-admin):not(.role-superadmin) .token-meter-btn{display:none!important;}
.tok-pop{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:9px;padding:10px 12px;min-width:210px;z-index:300;display:none;box-shadow:0 8px 24px rgba(0,0,0,.6);}
.tok-pop.open{display:block;}
.tok-pop-title{font-size:9px;font-weight:700;color:var(--text-disabled);letter-spacing:.5px;text-transform:uppercase;margin-bottom:7px;}
.tok-row{display:flex;align-items:center;justify-content:space-between;padding:2px 0;}
.tok-lbl{font-size:10px;color:var(--text-ghost);}
.tok-val{font-size:10px;color:var(--text-tertiary);font-weight:600;font-variant-numeric:tabular-nums;}
.tok-divider{height:1px;background:var(--bg-input);margin:6px 0;}
.tok-cost-lbl{font-size:9px;color:var(--border-strong);letter-spacing:.3px;}
.tok-cost-val{font-size:10px;color:var(--text-subtle);font-weight:600;}
/* ── WORKSPACE FOLDERS ── */
.ws-settings-row{padding:5px 12px 5px 14px;}
.ws-settings-row svg.ws-sico{width:11px;height:11px;flex-shrink:0;color:var(--text-ghost);}
.ws-settings-row:hover .ws-sico{color:var(--text-tertiary);}
.ws-folder-hdr{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 28px;cursor:pointer;transition:background .1s;}
.ws-folder-hdr:hover{background:var(--bg-hover-xs);color:var(--text-tertiary);}
.ws-folder-hdr svg.wf-ico{width:11px;height:11px;flex-shrink:0;color:var(--text-muted);}
.ws-folder-hdr:hover .wf-ico{color:var(--text-muted);}
.ws-folder-chev{width:8px;height:8px;flex-shrink:0;color:var(--text-disabled);transition:transform .15s;}
.ws-folder-chev.open{transform:rotate(90deg);}
.wf-name{font-size:13px;color:var(--text-muted);flex:1;}
.ws-folder-hdr:hover .wf-name{color:var(--text-secondary);}
.wf-ct{font-size:10px;color:var(--border-strong);}
.ws-folder-items{display:none;padding-bottom:2px;}
.ws-folder-items .frow{color:var(--text-muted);font-size:11px;}
.ws-folder-items .frow:hover{color:var(--text-primary);}
.ws-folder-items.open{display:block;}
.ws-folder-empty{font-size:12px;color:var(--border-medium);padding:3px 14px 5px 50px;font-style:italic;}
.ws-new-folder-btn{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:none;color:var(--border-medium);font-size:12px;padding:5px 28px;cursor:pointer;transition:color .15s;text-align:left;}
.ws-new-folder-btn:hover{color:var(--text-faint);}
.ws-new-folder-btn svg{width:11px;height:11px;flex-shrink:0;}
.wf-new-inp{display:block;width:calc(100% - 28px);margin:4px 14px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:5px;color:var(--text-secondary);font-size:11px;padding:5px 8px;box-sizing:border-box;outline:none;}
/* ── SEARCH MODAL ── */
.search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:min(15vh,120px);}
.search-box{width:min(520px,92vw);background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.7);overflow:hidden;display:flex;flex-direction:column;max-height:min(500px,70vh);}
.search-input-row{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--bg-input);}
.search-input-row svg{width:16px;height:16px;color:var(--text-ghost);flex-shrink:0;}
.search-input-row input{flex:1;background:none;border:none;outline:none;color:var(--text-brightest);font-size:14px;font-family:inherit;}
.search-input-row input::placeholder{color:var(--text-disabled);}
.search-results{overflow-y:auto;flex:1;padding:4px 0;}
.search-results::-webkit-scrollbar{width:3px;}.search-results::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:2px;}
.search-cat-hdr{font-size:9px;font-weight:700;color:var(--text-disabled);letter-spacing:.5px;text-transform:uppercase;padding:8px 16px 3px;}
.search-result{display:flex;gap:10px;padding:7px 16px;cursor:pointer;transition:background .1s;}
.search-result:hover{background:var(--bg-input);}
.search-result-ico{width:20px;height:20px;border-radius:5px;background:var(--bg-hover);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;color:var(--text-subtle);flex-shrink:0;margin-top:1px;}
.search-result-ico.cat-ella-ment{border-color:rgba(var(--ws-accent-rgb),.25);color:var(--ws-accent);}
.search-result-ico.cat-library{border-color:rgba(252,182,48,.25);color:var(--ws-accent);}
.search-result-ico.cat-campaign{border-color:rgba(var(--ws-accent-rgb),.25);color:var(--ws-accent);}
.search-result-ico.cat-play{border-color:var(--border-primary);color:var(--status-success);}
.distill-marker{display:flex;align-items:center;gap:12px;padding:12px 20px;opacity:0.6;}
.distill-marker-line{flex:1;height:1px;background:rgba(255,255,255,0.15);}
.distill-marker-text{font-size:11px;color:#8a9bb5;letter-spacing:0.5px;text-transform:uppercase;white-space:nowrap;}
.search-result-ico.cat-conversation{border-color:rgba(138,155,181,.25);color:#8a9bb5;}
.search-result-ico.cat-memory{border-color:rgba(255,213,79,.25);color:var(--accent-yellow);}
.search-result-ico.cat-relationship{border-color:rgba(138,155,181,.25);color:#8a9bb5;}
.search-result-ico.cat-config{border-color:rgba(100,100,100,.25);color:var(--text-muted);}
.search-result-body{flex:1;min-width:0;}
.search-result-name{font-size:12px;color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.search-result-match{font-size:10px;color:var(--text-subtle);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.search-result-match mark{background:rgba(var(--ws-accent-rgb),.2);color:var(--ws-accent);border-radius:2px;padding:0 1px;}
.search-result-meta{font-size:9px;color:var(--border-medium);flex-shrink:0;white-space:nowrap;margin-top:2px;}
.search-empty{padding:24px;text-align:center;color:var(--text-disabled);font-size:12px;}
.search-hint{padding:24px;text-align:center;color:var(--border-medium);font-size:11px;}
/* ── MODAL (task dialog etc.) ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;display:flex;align-items:center;justify-content:center;}
.modal-box{background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:12px;padding:20px;box-shadow:0 12px 40px rgba(0,0,0,.5);}
.modal-hdr{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:12px;}
.modal-input{display:block;width:100%;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);font-size:12px;padding:8px 10px;margin-bottom:8px;box-sizing:border-box;outline:none;color-scheme:dark;}
.modal-input:focus{border-color:var(--ws-accent);}
.modal-btn{background:var(--ws-accent);color:var(--text-white);border:none;border-radius:6px;padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;}
.modal-btn:hover{background:var(--accent-hover);}
.modal-btn-cancel{background:transparent;color:var(--text-subtle);border:1px solid var(--border-medium);border-radius:6px;padding:8px 16px;font-size:12px;cursor:pointer;transition:color .15s;}
.modal-btn-cancel:hover{color:var(--text-tertiary);border-color:var(--text-ghost);}
/* ── LIBRARY (Research + Assets) ── */
.lib-section{margin-top:2px;}
.lib-hdr{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 28px;cursor:pointer;transition:background .1s;}
.lib-hdr:hover{background:var(--bg-hover-xs);}
.lib-hdr:hover .wf-name{color:var(--text-secondary);}
.lib-hdr:hover .wf-ico{color:var(--text-muted);}
.lib-hdr .wf-ico{width:11px;height:11px;flex-shrink:0;color:var(--text-ghost);}
.lib-hdr .ws-folder-chev{width:8px;height:8px;flex-shrink:0;color:var(--text-disabled);transition:transform .15s;}
.lib-hdr .ws-folder-chev.open{transform:rotate(90deg);}
.lib-count{font-size:9px;color:var(--border-strong);margin-left:auto;padding-right:8px;font-weight:600;}
.lib-items{padding-bottom:2px;}
.lib-drop-zone{margin:4px 14px 4px 42px;border:1px dashed var(--border-subtle);border-radius:6px;padding:8px;text-align:center;transition:border-color .2s,background .2s;cursor:default;}
.lib-drop-zone.drag-over{border-color:var(--ws-accent);background:rgba(var(--ws-accent-rgb),.05);}
.lib-drop-label{font-size:9px;color:var(--border-medium);pointer-events:none;}
.lib-drop-zone.drag-over .lib-drop-label{color:var(--ws-accent);}
/* Empty state (no files yet) */
.lib-empty-state{margin:4px 14px 6px 42px;border:1px dashed var(--border-subtle);border-radius:8px;padding:14px 10px;text-align:center;transition:border-color .3s,background .3s;}
.lib-empty-state .lib-empty-ico{color:var(--border-medium);margin-bottom:4px;transition:color .3s;}
.lib-empty-state .lib-empty-ico svg{width:20px;height:20px;}
.lib-empty-state .lib-empty-txt{font-size:10px;color:var(--text-disabled);line-height:1.4;}
.lib-empty-state .lib-empty-txt span{color:var(--text-subtle);cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
.lib-empty-state .lib-empty-txt span:hover{color:var(--ws-accent);}
/* Global drag highlight */
body.dragging-file .lib-drop-zone,body.dragging-file .lib-empty-state{border-color:var(--ws-accent);background:rgba(var(--ws-accent-rgb),.04);}
body.dragging-file .lib-drop-label,body.dragging-file .lib-empty-ico{color:var(--ws-accent)!important;}
body.dragging-file .lib-section .lib-hdr .wf-name{color:var(--ws-accent);}
body.dragging-file .fsec-hdr .fslbl{color:var(--ws-accent);}
/* Ella-ment drop target */
.em-drop-hint{display:none;margin:2px 14px 4px 36px;border:1px dashed var(--border-subtle);border-radius:6px;padding:6px;text-align:center;font-size:9px;color:var(--border-medium);transition:all .2s;}
body.dragging-file .em-drop-hint{display:block;border-color:var(--ws-accent);color:var(--ws-accent);}
/* First-visit nudge */
.lib-nudge{margin:4px 14px 4px 28px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 10px;font-size:10px;color:var(--text-ghost);line-height:1.4;cursor:pointer;transition:opacity .3s;}
.lib-nudge:hover{border-color:var(--border-medium);color:var(--text-faint);}
.lib-file-row{display:flex;align-items:center;gap:5px;padding:3px 10px 3px 42px;cursor:pointer;transition:background .1s;font-size:13px;color:var(--text-faint);}
.lib-file-row:hover{background:var(--bg-hover-xs);color:var(--text-lighter);}
.lib-file-row .lib-file-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.lib-file-row .lib-file-del{opacity:0;flex-shrink:0;width:16px;height:16px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;font-size:10px;margin-left:auto;display:flex;align-items:center;justify-content:center;}
.lib-file-row:hover .lib-file-del{opacity:1;}
.lib-file-del:hover{color:var(--status-error)!important;}
.campaign-row{display:flex;align-items:center;gap:5px;padding:3px 10px 3px 42px;cursor:pointer;transition:background .1s,border-color .15s;font-size:11px;color:var(--text-faint);border:1px solid transparent;border-radius:4px;margin:1px 8px 1px 0;}
.campaign-row:hover{background:var(--bg-hover-xs);color:var(--text-lighter);}
.campaign-row.drag-over{border-color:var(--ws-accent);background:rgba(var(--ws-accent-rgb),.06);}
.campaign-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--ws-accent);}
.campaign-task-ct{font-size:9px;color:var(--border-strong);margin-left:auto;padding-right:8px;}
.campaign-status{font-size:8px;padding:1px 5px;border-radius:8px;margin-left:4px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;}
.campaign-status.active{background:#1a2e1a;color:var(--status-success);}
.campaign-status.draft{background:#2a2a1a;color:#d4a843;}
.campaign-status.complete{background:#1a1a2a;color:#818cf8;}
.plan-row{display:flex;align-items:center;gap:5px;padding:3px 10px 3px 28px;cursor:grab;transition:background .1s,opacity .15s;font-size:11px;}
.plan-row.dragging{opacity:.4;cursor:grabbing;}
.plans-drop-zone{border:1px dashed transparent;border-radius:4px;margin:2px 8px;padding:4px 28px;font-size:9px;color:transparent;transition:all .15s;}
.plans-drop-zone.drag-over{border-color:var(--ws-accent);color:var(--ws-accent);background:rgba(var(--ws-accent-rgb),.04);}
/* ── PLAYBOOKS SECTION ── */
.pb-row{display:flex;align-items:center;gap:5px;padding:4px 10px 4px 28px;cursor:pointer;transition:background .1s;}
.pb-row:hover{background:var(--bg-hover-xs);}
.pb-row:hover .frn{color:var(--text-primary);}
.pb-run{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--text-ghost);background:transparent;border:none;border-radius:4px;padding:0;cursor:pointer;transition:color .15s,background .15s;}
.pb-run:hover{color:var(--ws-accent);background:rgba(var(--ws-accent-rgb),.1);}
.pb-run svg{width:10px;height:10px;}
.pb-pin{flex-shrink:0;width:18px;height:18px;border-radius:4px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--border-primary);transition:color .15s;}
.pb-pin svg{width:10px;height:10px;}
.pb-pin:hover{color:var(--text-subtle);}
.pb-pin.pinned{color:var(--ws-accent);}
.pb-custom-badge{font-size:9px;color:var(--text-ghost);background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:3px;padding:1px 4px;flex-shrink:0;}
.pb-see-all{display:flex;align-items:center;gap:5px;padding:4px 14px 6px 28px;font-size:10px;color:var(--border-medium);cursor:pointer;transition:color .15s;background:transparent;border:none;width:100%;text-align:left;font-family:inherit;}
.pb-see-all:hover{color:var(--text-muted);}
.pb-all-hdr{display:flex;align-items:center;gap:6px;padding:6px 12px 4px 22px;cursor:pointer;font-size:10px;font-weight:700;color:var(--text-disabled);letter-spacing:.3px;text-transform:uppercase;transition:color .1s;border-top:1px solid var(--bg-hover);margin-top:4px;}
.pb-all-hdr:hover{color:var(--text-muted);}
.pb-all-chev{width:8px;height:8px;flex-shrink:0;color:var(--text-disabled);transition:transform .15s;}
.pb-all-chev.open{transform:rotate(90deg);}
/* ── PLANS (tasks) ── */
.plan-row{display:flex;align-items:flex-start;gap:6px;padding:4px 10px 4px 28px;transition:background .1s;font-size:11px;}
.plan-row:hover{background:var(--bg-hover-xs);}
.plan-cb{width:12px;height:12px;margin-top:2px;accent-color:var(--ws-accent);cursor:pointer;flex-shrink:0;}
.plan-cb:checked+.plan-text{text-decoration:line-through;color:var(--border-medium);}
.plan-text{color:var(--text-dim);flex:1;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;}
.plan-text[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:28px;right:28px;background:var(--bg-input);border:1px solid var(--border-medium);color:var(--text-secondary-dim);font-size:10px;white-space:normal;padding:8px 10px;border-radius:6px;pointer-events:none;opacity:0;transition:opacity .15s .3s;z-index:200;line-height:1.4;max-width:260px;}
.plan-row:hover .plan-text[data-tooltip]::after{opacity:1;}
.plan-row{position:relative;}
.plan-date{font-size:9px;color:var(--text-ghost);white-space:nowrap;margin-top:2px;}
.plan-date.soon{color:var(--ws-accent);}
.plan-del{width:14px;height:14px;border:none;background:transparent;color:var(--border-medium);cursor:pointer;font-size:10px;display:none;align-items:center;justify-content:center;margin-top:1px;}
.plan-row:hover .plan-del{display:flex;}
.plan-del:hover{color:var(--status-error);}
.pb-new-btn{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:none;color:var(--border-medium);font-size:10px;padding:5px 14px 7px;cursor:pointer;transition:color .15s;text-align:left;font-family:inherit;}
.pb-new-btn:hover{color:var(--text-muted);}
.pb-new-btn svg{width:11px;height:11px;flex-shrink:0;}
.pb-edition-lbl{font-size:9px;color:var(--text-disabled);font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:6px 14px 2px 28px;}
/* Ella-ments optional visibility */
.em-vis-btn{font-size:10px;color:var(--border-strong);background:none;border:none;cursor:pointer;padding:2px 4px;font-family:inherit;transition:color .15s;flex-shrink:0;margin-left:4px;}
.em-vis-btn:hover{color:var(--text-subtle);}
/* Ella-ments checkboxes */
.em-cb{width:12px;height:12px;accent-color:var(--ws-accent);cursor:pointer;flex-shrink:0;margin-right:4px;}
.em-cb:disabled{accent-color:var(--border-medium);cursor:default;opacity:.4;}
.em-empty-drop{margin:6px 14px 8px 28px;border:1px dashed var(--border-medium);border-radius:8px;padding:12px 8px;cursor:pointer;transition:border-color .2s,background .2s;}
.em-empty-drop:hover{border-color:var(--ws-accent);background:rgba(252,182,48,.04);}
.frow.em-row:not(.em-loaded) .frn{color:var(--text-ghost) !important;}
.frow.em-row:not(.em-loaded) .frdot{background:var(--border-medium) !important;opacity:.3 !important;}
.frow.em-row:not(.em-loaded):hover .frn{color:var(--text-faint) !important;}
.frow.em-row{display:flex;align-items:center;}
.frow.em-row.drop-over{background:rgba(var(--ws-accent-rgb),.15);outline:1.5px dashed var(--ws-accent);outline-offset:-1px;border-radius:6px;}
.em-expand-btn{font-size:10px;color:var(--border-strong);background:none;border:none;cursor:pointer;padding:2px 4px;margin-left:auto;font-family:inherit;transition:color .15s,transform .15s;flex-shrink:0;}
.em-expand-btn:hover{color:var(--text-faint);}
.em-expand-btn.open{transform:rotate(90deg);color:var(--text-subtle);}
.em-journey-stage-row{display:flex;align-items:center;gap:6px;padding:4px 14px 4px 48px;cursor:pointer;font-size:10px;color:var(--text-faint);transition:background .1s;}
.em-journey-stage-row:hover{background:var(--bg-hover-xs);color:var(--text-tertiary);}
.em-stage-dot{width:4px;height:4px;border-radius:50%;background:var(--border-primary);flex-shrink:0;}
.em-stage-cb{width:11px;height:11px;accent-color:var(--ws-accent);cursor:pointer;flex-shrink:0;}
/* Blindspot/bias badges */
.bias-row{display:flex;align-items:center;gap:4px;margin-top:3px;}
.bias-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;cursor:pointer;border:1px solid transparent;transition:filter .12s;letter-spacing:.04em;flex-shrink:0;}
.bias-badge:hover{filter:brightness(1.4);}
.bias-badge.b-ok{color:var(--ws-accent);background:rgba(var(--ws-accent-rgb),.07);border-color:rgba(var(--ws-accent-rgb),.14);}
.bias-badge.b-warn{color:var(--accent-yellow);background:rgba(255,213,79,.07);border-color:rgba(255,213,79,.14);}
.bias-badge.b-flag{color:var(--status-error);background:rgba(224,85,85,.07);border-color:rgba(224,85,85,.14);}
.bias-trigger{background:none;border:none;color:var(--border-strong);font-size:10px;cursor:pointer;letter-spacing:.05em;padding:2px 0;transition:color .15s;font-family:inherit;white-space:nowrap;position:relative;}
.bias-trigger:hover{color:var(--text-faint);}
/* Export button on marketing assets */
.export-btn{background:none;border:1px solid var(--border-medium);border-radius:5px;color:var(--text-secondary);font-size:10px;cursor:pointer;padding:2px 8px;font-family:inherit;transition:all .15s;white-space:nowrap;flex-shrink:0;position:relative;}
.export-btn:hover{border-color:rgba(100,160,255,.4);color:var(--status-info);background:var(--surface-base);}
.ctx-badges{display:flex;flex-wrap:wrap;gap:5px;padding:0;flex-shrink:0;max-height:280px;overflow-y:auto;align-items:flex-start;}
.ctx-badges:not(:empty){padding:6px 0 2px;}
.ctx-badges>div{width:calc(50% - 3px);box-sizing:border-box;}
/* ── PLAYBOOK CONTEXT BAR ── */
.ctx-bar{display:none!important;}
.ctx-bar-inner{height:36px;padding:0 0 0 20px;display:flex;align-items:center;justify-content:space-between;border-left:3px solid var(--ws-accent);background:var(--bg-chat-sub);}
.ctx-bar-crumb{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;}
.ctx-bar-pb{font-size:10px;color:var(--text-subtle);font-weight:700;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px;flex-shrink:0;}
.ctx-bar-sep{font-size:11px;color:var(--border-medium);flex-shrink:0;}
.ctx-bar-play{font-size:11px;color:var(--text-tertiary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;flex-shrink:1;}
.ctx-bar-step{font-size:11px;color:var(--ws-accent);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;flex-shrink:2;}
.ctx-bar-right{display:flex;align-items:center;gap:10px;padding:0 14px;flex-shrink:0;}
.ctx-bar-prog{font-size:10px;color:var(--text-disabled);white-space:nowrap;}
.ctx-bar-dots{display:flex;gap:3px;align-items:center;}
.ctx-bar-dot{width:5px;height:5px;border-radius:50%;background:var(--border-primary);transition:background .3s;}
.ctx-bar-dot.done{background:var(--text-disabled);}
.ctx-bar-dot.active{background:var(--ws-accent);}
.ctx-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 9px;background:rgba(var(--ws-accent-rgb),.08);border:1px solid rgba(var(--ws-accent-rgb),.15);border-radius:6px;font-size:11px;color:var(--ws-accent);}
.ctx-x{color:var(--ws-accent);opacity:.6;cursor:pointer;font-size:12px;margin-left:2px;}
.ctx-x:hover{opacity:1;}

/* ── DRAG-AND-DROP OVERLAY ── */
.drag-overlay{position:fixed;top:0;right:0;bottom:0;left:var(--sb2-width,300px);background:rgba(10,10,10,.88);z-index:9999;display:none;align-items:center;justify-content:center;pointer-events:none;}.sb2-collapsed .drag-overlay{left:0;}
.drag-overlay.active{display:flex;}
.drag-zone{border:2px dashed rgba(var(--ws-accent-rgb),.45);border-radius:14px;padding:40px 52px;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none;}
.drag-zone svg{width:38px;height:38px;color:rgba(var(--ws-accent-rgb),.7);}
.drag-zone-lbl{font-size:15px;font-weight:600;color:var(--text-primary-dim);}
.drag-zone-sub{font-size:12px;color:var(--text-ghost);}
/* ── WELCOME BANNER ── */
.welcome-banner{background:var(--bg-drawer);border-bottom:1px solid var(--bg-input);padding:20px 24px;flex-shrink:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease,opacity .3s ease;max-height:480px;}
.welcome-banner.hidden{max-height:0;padding:0;opacity:0;pointer-events:none;border-bottom:none;}
/* ── PROPERTY CARD ── */
.property-card{background:var(--bg-drawer,#0f0f0f);border-bottom:1px solid var(--bg-input,var(--surface-elevated));padding:16px 20px 12px;flex-shrink:0;overflow:hidden;transition:max-height .35s ease,opacity .3s ease;}
.property-card.hidden{max-height:0;padding:0;opacity:0;pointer-events:none;border-bottom:none;}
.prop-card-inner{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.prop-card-photo{width:64px;height:64px;border-radius:8px;background:linear-gradient(135deg,rgba(var(--ws-accent-rgb),.15),rgba(var(--ws-accent-rgb),.05));display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:1px solid var(--border-subtle,var(--border-subtle));}
.prop-card-photo img{width:100%;height:100%;object-fit:cover;border-radius:7px;}
.prop-card-photo .prop-photo-placeholder{font-size:9px;color:var(--text-ghost,var(--text-disabled));text-align:center;padding:4px;line-height:1.3;}
.prop-card-info{flex:1;min-width:0;}
.prop-card-address{font-size:15px;font-weight:600;color:var(--text-primary,var(--text-primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.prop-card-meta{font-size:12px;color:var(--text-secondary,var(--text-secondary));margin-top:3px;}
.prop-card-dismiss{color:var(--text-ghost,var(--text-disabled));font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .15s;}
.prop-card-dismiss:hover{color:var(--text-secondary,var(--text-secondary));}
.prop-card-phases{display:flex;gap:8px;margin-bottom:10px;overflow-x:auto;padding-bottom:2px;}
.prop-phase{background:transparent;border:1px solid var(--border-subtle,var(--border-default));color:var(--text-secondary,var(--text-secondary));font-size:12px;font-weight:500;padding:5px 14px;border-radius:20px;cursor:pointer;transition:all .15s;white-space:nowrap;}
.prop-phase:hover{border-color:var(--text-secondary,var(--text-muted));color:var(--text-primary,var(--text-primary));}
.prop-phase.active{background:var(--ws-accent,var(--accent-primary));border-color:var(--ws-accent,var(--accent-primary));color:var(--text-inverse);}
.prop-phase.complete{border-color:rgba(var(--ws-accent-rgb),.4);color:var(--ws-accent,var(--accent-primary));position:relative;}
.prop-phase.complete::after{content:'\u2713';margin-left:4px;font-size:10px;}
.prop-phase.in-progress{border-color:var(--ws-accent,var(--accent-primary));color:var(--ws-accent,var(--accent-primary));}
.prop-card-next{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary,var(--text-secondary));}
.prop-next-arrow{color:var(--ws-accent,var(--accent-primary));font-size:11px;}
.prop-next-text{cursor:pointer;transition:color .15s;}
.prop-next-text:hover{color:var(--text-primary,var(--text-primary));}
.prop-add-btn{display:flex;align-items:center;gap:6px;width:calc(100% - 28px);margin:4px 14px;background:transparent;border:1px dashed var(--border-subtle,var(--border-default));color:var(--text-ghost,var(--text-disabled));font-size:11px;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .15s;}
.prop-add-btn:hover{border-color:var(--ws-accent,var(--accent-primary));color:var(--ws-accent,var(--accent-primary));}
.wb-greeting{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:4px;}
.wb-sub{font-size:12px;color:var(--text-subtle);margin-bottom:12px;}
.wb-chips{display:flex;flex-direction:column;gap:8px;}
/* RE Edition Welcome Hero Card */
#re-welcome-card{display:none;position:fixed;inset:0;z-index:500;background:linear-gradient(160deg,var(--bg-primary,var(--surface-base)) 0%,var(--surface-elevated) 60%,#181510 100%);align-items:center;justify-content:center;padding:40px 24px;box-sizing:border-box;overflow-y:auto;flex-direction:column;}
#re-welcome-card.visible{display:flex;}
.welcome-hero-inner{max-width:520px;width:100%;text-align:center;}
.welcome-hero-inner h1{font-size:28px;font-weight:700;color:var(--text-primary,var(--text-primary));margin:0 0 16px;line-height:1.2;letter-spacing:-.5px;}
.welcome-sub{font-size:16px;color:var(--text-secondary,var(--text-secondary));margin:0 0 12px;line-height:1.5;}
.welcome-desc{font-size:13px;color:var(--text-subtle,var(--text-muted));margin:0 0 32px;line-height:1.6;}
.welcome-cta{background:var(--accent-primary);color:var(--text-inverse);border:none;border-radius:8px;padding:14px 40px;font-size:15px;font-weight:600;cursor:pointer;letter-spacing:.2px;transition:opacity .15s,transform .1s;}
.welcome-cta:hover{opacity:.9;transform:translateY(-1px);}
.onb-url-row{display:flex;gap:10px;margin:0 0 12px;width:100%;}
.onb-url-input{flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:12px 16px;font-size:14px;color:var(--text-primary,var(--text-primary));outline:none;transition:border-color .15s;}
.onb-url-input::placeholder{color:var(--text-ghost,var(--text-disabled));}
.onb-url-input:focus{border-color:var(--accent-primary,var(--accent-primary));}
.onb-skip-link{background:none;border:none;color:var(--text-ghost,var(--text-disabled));font-size:12px;cursor:pointer;padding:4px 0;text-decoration:underline;transition:color .15s;}
.onb-skip-link:hover{color:var(--text-subtle,var(--text-muted));}
#onboarding-progress{position:fixed;top:47px;left:0;right:0;padding:8px 20px;background:var(--bg-secondary,var(--surface-input));border-bottom:1px solid rgba(var(--ws-accent-rgb),.2);z-index:200;}
.onb-prog-inner{max-width:480px;width:100%;text-align:center;}
#onb-prog-title{font-size:22px;font-weight:700;color:var(--text-primary,var(--text-primary));margin:0 0 8px;letter-spacing:-.3px;}
#onb-prog-status{font-size:13px;color:var(--text-subtle,var(--text-muted));margin:0 0 24px;min-height:18px;transition:color .3s;}
.onb-prog-bar{height:4px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden;margin:0 0 12px;}
#onb-prog-fill{height:100%;width:0%;background:var(--accent-primary,var(--accent-primary));border-radius:4px;transition:width .6s ease;}
#onb-prog-done{background:var(--accent-primary);color:var(--text-inverse);border:none;border-radius:8px;padding:12px 36px;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:.2px;margin-top:16px;transition:opacity .15s;}
#onb-prog-done:hover{opacity:.9;}
/* RE Next Step Cards */
.next-step-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 0 8px;max-width:560px;margin:0 auto;width:100%;}
.next-card{background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:10px;padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s;text-align:left;}
.next-card:hover{border-color:var(--text-disabled);background:var(--surface-hover);}
.next-icon{font-size:20px;margin-bottom:6px;color:var(--accent-primary,var(--accent-primary));line-height:1;}.next-icon svg{width:28px;height:28px;stroke:var(--accent-primary,var(--accent-primary));}
.next-title{font-size:13px;font-weight:600;color:var(--text-primary,var(--text-primary));margin-bottom:4px;}
.next-desc{font-size:11px;color:var(--text-subtle,var(--text-muted));line-height:1.4;}
/* ── Irreducible Core warning ── */
.core-alert{margin-bottom:14px;padding:11px 14px;background:#1a1200;border:1px solid rgba(var(--ws-accent-rgb),.2);border-radius:8px;}
.core-alert-hdr{font-size:11px;font-weight:700;color:var(--accent-warm);letter-spacing:.05em;margin-bottom:4px;}
.core-alert-desc{font-size:11px;color:#7a6640;margin-bottom:8px;line-height:1.55;}
.core-items{display:flex;flex-wrap:wrap;gap:5px;}
.core-item-btn{padding:3px 9px;background:#201500;border:1px solid rgba(var(--ws-accent-rgb),.25);border-radius:4px;font-size:10px;color:#cc9944;cursor:pointer;transition:all .15s;font-family:inherit;font-weight:600;}
.core-item-btn:hover{border-color:rgba(var(--ws-accent-rgb),.55);color:var(--accent-warm);background:#2a1a00;}
.wb-chip{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:10px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
.wb-chip:hover{background:var(--bg-input);border-color:rgba(240,192,64,.35);color:var(--text-primary);}
.wb-chip-arr{color:var(--text-disabled);font-size:14px;flex-shrink:0;transition:color .15s;}
.wb-chip:hover .wb-chip-arr{color:var(--accent-gold);}

/* ── ELLA SCREENS (overlay shades) ── */
.ella-screen{position:absolute;top:0;left:0;right:0;background:var(--surface-secondary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:0 0 12px 12px;transform:translateY(-100%);transition:transform 400ms cubic-bezier(0.16,1,0.3,1);z-index:100;display:flex;flex-direction:column;max-height:calc(100% - 90px);overflow:hidden;}
.ella-screen.open{transform:translateY(0);}
.ella-screen.closing{transform:translateY(-100%);transition:transform 300ms cubic-bezier(0.4,0,0.6,1);}
.ella-screen-body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:40px 48px 24px;scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;max-width:720px;margin:0 auto;width:100%;box-sizing:border-box;}
.ella-screen-body::-webkit-scrollbar{width:4px;}
.ella-screen-body::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:2px;}
.screen-close-btn{display:none;}
.screen-scroll-up{display:flex;align-items:center;justify-content:center;padding:14px;cursor:pointer;color:var(--text-tertiary);transition:color .2s,background .2s;flex-shrink:0;border-top:1px solid var(--border-primary);}
.screen-scroll-up:hover{color:var(--text-secondary);background:var(--surface-hover);}
.screen-scroll-up svg{width:18px;height:18px;}
.screen-pull-tab{display:flex;align-items:center;justify-content:center;padding:14px;cursor:pointer;color:var(--text-tertiary);transition:color .2s,background .2s;flex-shrink:0;border-top:1px solid var(--border-primary);}
.screen-pull-tab:hover{color:var(--text-secondary);background:var(--surface-hover);}
.screen-pull-tab svg{width:16px;height:8px;}
.ella-screen-content{font-size:14px;color:var(--text-secondary);line-height:1.8;}
.chat-area.screen-active .feed{opacity:0.12;filter:blur(2px);pointer-events:none;transition:opacity .4s,filter .4s;}
.chat-area.screen-active .welcome-banner{opacity:0;pointer-events:none;}
.chat-area.screen-active .ws-chat-input-row,.chat-area.screen-active .chat-input-area,.chat-area.screen-active #msg-input{pointer-events:none;opacity:0.15;}

/* ── DAILY EXPERIENCE SHADE ── */
.de-win{text-align:center;padding:28px 24px 16px;margin-bottom:16px;font-size:14px;color:var(--text-secondary);line-height:1.6;max-width:480px;margin-left:auto;margin-right:auto;}
.de-win strong{display:block;font-size:22px;color:var(--text-primary);margin-bottom:8px;letter-spacing:-0.02em;}
.de-invitations{display:flex;flex-direction:row;gap:12px;max-width:520px;margin:0 auto;}
.de-invite{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;padding:20px 18px 16px;background:var(--surface-secondary);border:1px solid var(--border-primary);border-radius:12px;font-size:13.5px;color:var(--text-secondary);cursor:pointer;transition:all .25s ease;line-height:1.55;letter-spacing:0.01em;position:relative;overflow:hidden;}
.de-invite::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--ws-accent-rgb),0.2),transparent);transition:opacity .25s;}
.de-invite:hover{background:var(--surface-tertiary);border-color:var(--border-primary);color:var(--text-primary);transform:translateY(-2px);box-shadow:0 2px 8px rgba(0,0,0,0.2);}
.de-invite:hover::before{opacity:0.6;}
.de-invite-arr{color:var(--accent-primary);font-size:14px;margin-top:10px;transition:color .25s,transform .25s;}
.de-invite:hover .de-invite-arr{color:var(--accent-primary);transform:translateY(2px);}
.de-gear{position:absolute;top:16px;right:20px;background:none;border:none;color:var(--border-medium);cursor:pointer;padding:4px;transition:color .2s;}
.de-gear:hover{color:var(--text-subtle);}
.de-gear svg{width:16px;height:16px;}
.de-welcome-note{font-size:14px;color:var(--text-muted);line-height:1.6;padding:8px 0 16px;}




/* ── Active mode button state ── */
.sbar-btn.screen-active{background:rgba(var(--ws-accent-rgb),0.15);border-color:rgba(var(--ws-accent-rgb),0.5);color:var(--ws-accent);}

/* ── Safe space screens (persistent, don't dismiss on typing) ── */
.ella-screen-safe{max-height:calc(100% - 52px);}
.ella-screen-safe .ella-screen-body{padding:40px 48px 24px;}
#bananas-screen.ella-screen-safe{max-height:calc(100% - 10px);}
#bananas-screen .ella-screen-body{padding:0;height:100%;overflow:hidden;display:flex;flex-direction:column;}

/* ── FEED ── */
.feed{flex:1;overflow-y:auto;padding:20px 64px;display:flex;flex-direction:column;gap:18px;scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;max-width:780px;margin:0 auto;width:100%;box-sizing:border-box;}

.feed::-webkit-scrollbar{width:6px;}
.feed::-webkit-scrollbar-track{background:transparent;}
.feed::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px;}
.feed::-webkit-scrollbar-thumb:hover{background:var(--text-ghost);}
.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;text-align:center;}
.empty-icon{color:var(--border-primary);}
.empty-icon svg{width:32px;height:32px;}
.empty-title{font-size:15px;font-weight:700;color:var(--text-disabled);}
.empty-sub{font-size:12px;color:var(--border-strong);line-height:1.6;max-width:260px;}
.message{display:flex;gap:10px;animation:fadeUp .2s ease;padding-right:15%;}.message.msg-user{justify-content:flex-end;padding-left:15%;padding-right:0;}
@keyframes fadeUp{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.msg-av{display:none;}
.av-bot{display:none;}
.av-bot img{width:16px;height:16px;object-fit:contain;}
.av-user{display:none;}
.msg-body{flex:1;min-width:0;display:flex;flex-direction:column;}
.msg-meta{display:none;}
.msg-name{font-size:12px;font-weight:700;}
.msg-time{font-size:10px;color:var(--text-ghost);display:block;text-align:right;margin-top:4px;opacity:0;transition:opacity .15s;}
.message:hover .msg-time{opacity:1;}
.bubble{font-size:13px;line-height:1.65;color:var(--text-lighter);background:var(--border-primary);border:1px solid var(--border-medium);border-radius:10px;padding:10px 14px;word-wrap:break-word;}
.bubble.user-b{white-space:pre-wrap;background:var(--user-color);border-color:var(--user-color);color:var(--bg-hover);border-radius:14px;width:fit-content;max-width:100%;margin-left:auto;}
.bubble.bot-b{background:transparent;border:none;width:auto;max-width:100%;padding:2px 0 28px 0;overflow:hidden;}
.bubble.bot-b *{max-width:100%;box-sizing:border-box;}
/* Markdown rendering in bot bubbles */
.bubble.bot-b strong{color:var(--text-primary);font-weight:700;}
.bubble.bot-b em{font-style:italic;color:var(--text-secondary);}
.bubble.bot-b h1,.bubble.bot-b h2,.bubble.bot-b h3{color:var(--text-primary);font-weight:700;margin:10px 0 4px;line-height:1.3;}
.bubble.bot-b h1{font-size:15px;}
.bubble.bot-b h2{font-size:14px;}
.bubble.bot-b h3{font-size:13px;}
.bubble.bot-b p{margin:0 0 8px;}
.bubble.bot-b p:last-child{margin-bottom:0;}
.msg-actions{position:absolute;bottom:4px;right:4px;display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s;}.bubble:hover .msg-actions{opacity:1;}.bubble{position:relative;}
.msg-act-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-disabled);cursor:pointer;transition:all .15s;padding:0;}
.msg-act-btn:hover{border-color:var(--border-medium);color:var(--text-dim);background:var(--bg-input);}
.msg-act-btn.acted{color:var(--status-success);}
.bubble.bot-b ul,.bubble.bot-b ol{padding-left:18px;margin:4px 0 8px;}
.bubble.bot-b li{margin-bottom:3px;line-height:1.6;}
.bubble.bot-b code{background:var(--bg-input);border:1px solid var(--border-primary);border-radius:4px;padding:1px 5px;font-family:'SF Mono','Fira Code',monospace;font-size:11px;color:var(--ws-accent);}
.msg-audio{margin:8px 0;max-width:400px;}
.msg-audio-label{font-size:11px;color:var(--text-muted);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.msg-audio audio{width:100%;height:36px;border-radius:8px;outline:none;}
.msg-audio audio::-webkit-media-controls-panel{background:var(--bg-input);border-radius:8px;}
.bubble.bot-b pre{background:var(--bg-secondary);border:1px solid var(--bg-input);border-radius:7px;padding:10px 12px;overflow-x:auto;margin:6px 0;}
.bubble.bot-b pre code{background:none;border:none;padding:0;font-size:11px;color:var(--text-secondary);}
.bubble.bot-b hr{border:none;border-top:1px solid var(--border-subtle);margin:10px 0;}
.bubble.bot-b blockquote{border-left:2px solid var(--border-medium);padding-left:10px;color:var(--text-muted);margin:6px 0;font-style:italic;}
/* Tables in bot bubbles */
.bubble.bot-b .msg-tbl-wrap{overflow-x:auto;max-width:100%;margin:8px 0;}
.bubble.bot-b .msg-tbl{border-collapse:collapse;background:var(--bg-tertiary);border:1px solid var(--border-primary);font-size:12px;min-width:max-content;}
.bubble.bot-b .msg-tbl th{background:var(--bg-input);color:var(--text-secondary);font-weight:600;padding:8px 12px;border:1px solid var(--border-primary);text-align:left;white-space:nowrap;}
.bubble.bot-b .msg-tbl td{color:var(--text-tertiary);padding:8px 12px;border:1px solid var(--border-primary);vertical-align:top;}
.bubble.bot-b .msg-tbl tr:hover td{background:var(--bg-hover);}
/* Code block copy button */
.code-block-wrap{position:relative;margin:6px 0;}
.code-block-wrap pre{margin:0;}
.copy-code-btn{position:absolute;top:6px;right:6px;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:5px;color:var(--text-subtle);cursor:pointer;padding:3px 6px;display:flex;align-items:center;opacity:0;transition:opacity .15s,color .15s,border-color .15s;z-index:1;line-height:1;}
.code-block-wrap:hover .copy-code-btn{opacity:1;}
.copy-code-btn:hover{color:var(--text-secondary);border-color:var(--text-disabled);}
.copy-code-btn.copied{color:var(--status-success);border-color:var(--status-success);}
.bubble.streaming{border-color:rgba(var(--ws-accent-rgb),.15);}
.av-coach{background:rgba(255,190,50,.12);border-color:rgba(255,190,50,.3);color:var(--accent-gold-text);}
.av-insights{background:rgba(252,182,48,.12);border-color:rgba(252,182,48,.3);color:var(--ws-accent);}
.bubble.coach-b{background:transparent;border:none;border-left:2px solid var(--accent-primary);border-radius:0;padding:12px 0 12px 18px;margin-left:4px;font-size:14px;line-height:1.75;color:var(--text-secondary);}
.bubble.coach-b h1,.bubble.coach-b h2,.bubble.coach-b h3{font-size:15px;color:var(--text-primary);font-weight:600;margin:16px 0 8px;}
.bubble.coach-b strong{color:var(--text-primary);}
.bubble.coach-b p{margin:8px 0;}
.bubble.coach-b ul,.bubble.coach-b ol{padding-left:18px;margin:8px 0;}
.bubble.coach-b li{margin:4px 0;}
.bubble.insights-b{background:transparent;border:none;padding:12px 0;}
.bubble.insights-b h1,.bubble.insights-b h2,.bubble.insights-b h3{font-size:14px;color:var(--accent-primary);font-weight:600;margin:20px 0 8px;letter-spacing:0.3px;}
.bubble.insights-b strong{color:var(--text-primary);}
.bubble.insights-b p{font-size:13px;color:var(--text-secondary);line-height:1.7;margin:6px 0;}
.bubble.insights-b ol{counter-reset:insight;padding-left:0;list-style:none;}
.bubble.insights-b ol>li{counter-increment:insight;border:1px solid var(--border-primary);border-radius:10px;padding:12px 14px;margin:8px 0;font-size:13px;color:var(--text-secondary);line-height:1.7;}
.bubble.insights-b ol>li::before{content:counter(insight);color:var(--accent-primary);font-weight:700;font-size:14px;margin-right:10px;}
.bubble.insights-b ul{padding-left:16px;margin:6px 0;}
.bubble.insights-b ul>li{margin:4px 0;font-size:13px;color:var(--text-secondary);}
.bubble.score-improve-b{border-color:rgba(var(--ws-accent-rgb),.08);}
.av-score{background:rgba(var(--ws-accent-rgb),.07);border-color:rgba(var(--ws-accent-rgb),.2);color:var(--ws-accent);font-size:9px;font-weight:900;font-family:'SF Mono','Fira Code',monospace;}
/* Inline dimension scores */
.imp-banner{display:none;position:fixed;top:0;left:0;right:0;z-index:9998;background:var(--bg-hover);border-bottom:1px solid var(--ws-accent);padding:6px 16px;font-size:12px;color:var(--text-tertiary);text-align:center;align-items:center;justify-content:center;gap:12px;}
.imp-banner.show{display:flex;}
.imp-banner strong{color:var(--ws-accent);}
.imp-banner button{background:transparent;border:1px solid var(--border-medium);color:var(--text-secondary);padding:4px 12px;border-radius:6px;font-size:11px;cursor:pointer;font-family:inherit;transition:all .15s;}
.imp-banner button:hover{border-color:var(--ws-accent);color:var(--ws-accent);}
.score-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);z-index:500;align-items:center;justify-content:center;}
.score-modal-overlay.open{display:flex;}
.score-modal{background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:14px;padding:0;width:min(520px,90vw);max-height:80vh;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.6);display:flex;flex-direction:column;}
.score-modal-hdr{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 24px 12px;flex-shrink:0;}
.score-modal-hdr-left{display:flex;flex-direction:column;gap:2px;}
.score-modal-title-row{display:flex;align-items:center;gap:8px;}
.score-modal-subtitle{font-size:11px;font-style:italic;color:var(--text-ghost);letter-spacing:.3px;margin-top:2px;}
.score-modal-title{font-size:15px;font-weight:700;color:var(--text-secondary);}
.score-modal-scroll{overflow-y:auto;flex:1;padding:0 24px;min-height:0;}
.score-dim-col-hdrs{display:flex;align-items:center;gap:12px;padding:0 0 6px;font-size:10px;font-weight:600;color:#888;letter-spacing:.5px;text-transform:uppercase;}
.score-dim-col-hdrs .col-score{width:32px;text-align:center;flex-shrink:0;}
.score-dim-col-hdrs .col-dim{flex:1;}
.score-dim-divider{height:0;border:none;border-top:1px solid var(--border-primary);margin:4px 0;opacity:.5;}
.score-modal-overall{font-size:28px;font-weight:900;font-family:'SF Mono','Fira Code',monospace;letter-spacing:-1px;}
.score-modal-overall.sh{color:#2e7d32;}
.score-modal-overall.sm{color:#e6a200;}
.score-modal-overall.sl{color:#c62828;}
.score-modal-x{width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;}
.score-modal-x:hover{background:var(--border-primary);color:var(--text-tertiary);}
.score-dim-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--bg-input);}
.score-dim-row:last-of-type{border-bottom:none;}
.score-dim-val{font-size:18px;font-weight:800;font-family:'SF Mono','Fira Code',monospace;width:32px;text-align:center;flex-shrink:0;}
.score-dim-val.sh{color:#2e7d32;}
.score-dim-val.sm{color:#e6a200;}
.score-dim-val.sl{color:#c62828;}
.score-dim-name{font-size:12px;font-weight:700;color:var(--text-tertiary);min-width:80px;}
.score-dim-desc{font-size:11px;color:var(--text-subtle);flex:1;}
.score-dim-bar{width:100%;height:4px;background:var(--bg-input);border-radius:2px;margin-top:4px;overflow:hidden;}
.score-dim-fill{height:100%;border-radius:2px;transition:width .4s ease;}
.score-dim-fill.sh{background:#2e7d32;}
.score-dim-fill.sm{background:#e6a200;}
.score-dim-fill.sl{background:#c62828;}
.score-suggestion{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:12px;margin-top:16px;font-size:12px;color:var(--text-dim);line-height:1.6;min-height:40px;}
.score-suggestion.loading{color:var(--text-ghost);font-style:italic;}
.score-rewrite-row{display:flex;gap:8px;padding:12px 24px 20px;flex-shrink:0;border-top:1px solid var(--border-primary);}
.score-rewrite-btn{background:var(--ws-accent);color:var(--text-inverse);border:none;border-radius:6px;padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;}
.score-rewrite-btn:hover{background:var(--accent-hover);}
.score-rewrite-btn.secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border-medium);}
.score-rewrite-btn.secondary:hover{color:var(--text-secondary);border-color:var(--text-ghost);}

.score-trigger{background:transparent;border:1px solid transparent;border-radius:7px;color:var(--text-tertiary);font-size:12px;cursor:pointer;letter-spacing:.03em;padding:4px 10px;transition:all .15s;font-family:inherit;white-space:nowrap;position:relative;display:inline-flex;align-items:center;gap:4px;height:30px;}
.score-trigger svg{width:18px;height:18px;}
.score-trigger:hover{background:var(--bg-panel);border-color:var(--border-primary);color:var(--text-dim);}
.score-trigger.scoring{color:var(--text-ghost);cursor:default;}
/* E3-923: Score button highlight pulse — signals scoring is available without auto-firing */
@keyframes scorePulse{0%,100%{box-shadow:0 0 0 0 rgba(var(--ws-accent-rgb),0);border-color:transparent;color:var(--text-tertiary);}50%{box-shadow:0 0 8px 2px rgba(var(--ws-accent-rgb),.35);border-color:rgba(var(--ws-accent-rgb),.6);color:var(--ws-accent);}}
.score-trigger.score-highlight{animation:scorePulse .7s ease-in-out 4,scoreFade .4s ease-out 2.8s forwards;}
@keyframes scoreFade{to{box-shadow:none;border-color:transparent;color:var(--text-tertiary);}}
.score-row{display:flex;align-items:center;gap:4px;}
.score-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;cursor:pointer;border:1px solid transparent;transition:filter .12s,border-color .12s;letter-spacing:.04em;font-family:'SF Mono','Fira Code',monospace;flex-shrink:0;}
.score-badge:hover{filter:brightness(1.4);}
.score-badge.sh{color:var(--ws-accent);background:rgba(var(--ws-accent-rgb),.07);border-color:rgba(var(--ws-accent-rgb),.14);}
.score-badge.sm{color:var(--accent-yellow);background:rgba(255,213,79,.07);border-color:rgba(255,213,79,.14);}
.score-badge.sl{color:var(--status-error);background:rgba(224,85,85,.07);border-color:rgba(224,85,85,.14);}
.score-loading{font-size:10px;color:var(--border-strong);letter-spacing:.05em;animation:blink .9s infinite;}
/* ── SWAP TEST — per-message ── */
.msg-footer{display:flex;flex-direction:column;gap:5px;margin-top:6px;padding-left:2px;opacity:.35;transition:opacity .18s;}
.message:hover .msg-footer,.msg-footer:focus-within{opacity:1;}
.msg-footer-row{display:flex;align-items:center;gap:6px;}
.msg-footer-spacer{flex:1;}
/* Per-message reaction icons */
.react-btn{width:30px;height:30px;border-radius:7px;background:transparent;border:1px solid transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;padding:0;position:relative;}
.react-btn svg{width:18px;height:18px;}
.react-btn:hover{background:var(--bg-panel);border-color:var(--border-primary);color:var(--text-dim);}
/* Styled tooltips */
[data-tip]{position:relative;}
[data-tip]:hover::after{display:none!important;}
[data-tip]:hover::before{display:none!important;}
@keyframes tipIn{from{opacity:0;transform:translateX(-50%) translateY(3px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.react-btn.r-up.on{color:var(--ws-accent);border-color:rgba(var(--ws-accent-rgb),.35);background:rgba(var(--ws-accent-rgb),.07);}
.react-btn.r-down.on{color:var(--status-error);border-color:rgba(224,85,85,.35);background:rgba(224,85,85,.07);}
.react-btn.r-mem.on{color:var(--accent-yellow);border-color:rgba(255,213,79,.35);background:rgba(255,213,79,.07);}
.react-btn.r-task{color:var(--text-disabled);}
.react-btn.r-task.hint{color:var(--ws-accent);border-color:rgba(var(--ws-accent-rgb),.3);animation:task-hint-pulse 2.5s ease-in-out infinite;}
.react-btn.r-task.on{color:var(--ws-accent);border-color:rgba(var(--ws-accent-rgb),.35);background:rgba(var(--ws-accent-rgb),.07);}
@keyframes task-hint-pulse{0%,100%{box-shadow:none}50%{box-shadow:0 0 6px rgba(var(--ws-accent-rgb),.25)}}
.react-divider{width:1px;height:14px;background:var(--border-subtle);flex-shrink:0;}
/* .swap-btn removed — replaced by inline score-badge system */
/* Progressive depth chip */
.depth-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--surface-raised);border:1px solid rgba(var(--ws-accent-rgb),.12);border-radius:8px;font-size:11px;color:var(--text-secondary);cursor:default;transition:all .15s;max-width:100%;line-height:1.4;}
.depth-chip:hover{border-color:rgba(var(--ws-accent-rgb),.3);background:var(--surface-base);}
.campaign-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;background:var(--surface-base);border:1px solid rgba(var(--ws-accent-rgb),.15);border-radius:5px;font-size:10px;color:var(--text-muted);cursor:default;transition:all .15s;max-width:fit-content;flex-wrap:wrap;}
.campaign-chip-dot{width:5px;height:5px;border-radius:50%;background:var(--accent-primary);flex-shrink:0;}
.campaign-chip-opt{padding:2px 8px;border-radius:99px;background:rgba(var(--ws-accent-rgb),.1);color:var(--accent-primary);cursor:pointer;font-weight:600;transition:all .12s;white-space:nowrap;}
.campaign-chip-opt:hover{background:rgba(var(--ws-accent-rgb),.2);color:var(--accent-hover);}
.campaign-chip-new{border:1px dashed rgba(var(--ws-accent-rgb),.3);}
.campaign-chip-new:hover{border-color:var(--accent-primary);}
.campaign-chip-done{color:var(--status-success);font-style:italic;}
/* Upload scan suggestion bar */
.upload-scan-bar{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface-base);border:1px solid rgba(122,168,232,.15);border-radius:8px;margin:0 12px 8px;animation:scanBarIn .25s ease-out;}
@keyframes scanBarIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.upload-scan-bar .scan-icon{width:14px;height:14px;flex-shrink:0;color:var(--status-info);}
.upload-scan-bar .scan-text{font-size:11px;color:var(--status-info);flex:1;}
.upload-scan-bar .scan-text strong{color:var(--status-info);}
.upload-scan-btn{padding:3px 10px;border-radius:99px;border:1px solid rgba(122,168,232,.3);background:rgba(122,168,232,.08);color:var(--status-info);font-size:10px;font-weight:600;cursor:pointer;transition:all .12s;white-space:nowrap;}
.upload-scan-btn:hover{background:rgba(122,168,232,.18);border-color:var(--status-info);}
.upload-scan-btn.primary{background:rgba(122,168,232,.15);border-color:var(--status-info);}
.upload-scan-dismiss{background:none;border:none;color:var(--text-disabled);font-size:14px;cursor:pointer;padding:0 2px;line-height:1;}
.upload-scan-dismiss:hover{color:var(--text-muted);}
/* .distinction-badge removed — replaced by .score-badge */
.cursor{display:inline-block;width:2px;height:13px;background:var(--ws-accent);margin-left:2px;vertical-align:text-bottom;animation:blink .8s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
/* ── INLINE MEDIA & LINKS ── */
.msg-img{max-width:100%;max-height:300px;border-radius:8px;display:block;margin:6px 0;cursor:zoom-in;border:1px solid var(--bg-input);transition:border-color .15s;}
.msg-img:hover{border-color:var(--border-primary);}
.msg-link,.bubble a{color:var(--status-info);text-decoration:none;}.code-link{color:var(--status-info)!important;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;}
.msg-link:hover,.bubble a:hover{text-decoration:underline;}
.msg-doc-link{display:inline-flex;align-items:center;gap:7px;padding:5px 10px 5px 8px;background:var(--bg-hover-sm);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-tertiary);font-size:12px;text-decoration:none;transition:background .15s,border-color .15s,color .15s;margin:3px 2px;}
.msg-doc-link:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary-dim);}
.msg-doc-link svg{width:13px;height:13px;flex-shrink:0;color:var(--text-subtle);}
.msg-doc-link span{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* Lightbox */
.img-lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:500;align-items:center;justify-content:center;cursor:zoom-out;}
.img-lb.open{display:flex;}
.img-lb img{max-width:90vw;max-height:90vh;border-radius:10px;box-shadow:0 8px 48px rgba(0,0,0,.7);}
/* ── INPUT ── */
.input-bar{padding:10px 16px calc(32px + env(safe-area-inset-bottom,0px));border-top:none;background:var(--bg-app);flex-shrink:0;position:relative;overflow:visible;max-width:780px;margin:0 auto;width:100%;box-sizing:border-box;}
.chat-area.chat-empty .feed{flex:1;justify-content:flex-end;}.chat-area.chat-empty .input-bar{border-top:none;padding-top:0;}
.input-row{display:flex;flex-direction:column;padding:0 48px;}
.thinking-hint{padding:4px 0 8px 48px;height:28px;overflow:visible;opacity:0;transition:opacity .3s ease;display:flex;align-items:center;gap:8px;}.thinking-hint.visible{opacity:1;}
.thinking-status{font-size:12px;font-style:italic;color:rgba(var(--ws-accent-rgb),.55);white-space:nowrap;overflow:hidden;position:relative;background:linear-gradient(90deg,rgba(var(--ws-accent-rgb),.35) 0%,rgba(var(--ws-accent-rgb),.55) 40%,rgba(255,200,100,.85) 50%,rgba(var(--ws-accent-rgb),.55) 60%,rgba(var(--ws-accent-rgb),.35) 100%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:statusShimmer 2.5s ease-in-out infinite;}
@keyframes statusShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.thinking-logo{width:18px;height:22px;position:relative;animation:thinkPulse 3s ease-in-out infinite;flex-shrink:0;}
.thinking-logo img{width:18px;height:22px;display:block;object-fit:contain;}
@keyframes thinkPulse{0%,100%{opacity:0.35;}50%{opacity:0.8;}}
.input-wrap{background:var(--bg-secondary);border:1px solid var(--user-color);border-radius:12px;display:flex;flex-direction:column;padding:0;transition:border-color .15s;overflow:visible;}
.input-wrap:focus-within{border-color:var(--user-color);}
.input-top{display:flex;align-items:flex-end;padding:0 8px 0 4px;}
.input-bottom{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 6px 4px;}
/* Slash command menu */
.slash-menu{display:none;position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:10px;box-shadow:0 -12px 40px rgba(0,0,0,.7);z-index:60;overflow:hidden;max-height:300px;overflow-y:auto;}
.slash-menu.open{display:block;}
.slash-menu::-webkit-scrollbar{width:3px;}
.slash-menu::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:2px;}
.slash-hdr{padding:7px 12px 5px;font-size:10px;font-weight:700;color:var(--text-ghost);letter-spacing:.8px;text-transform:uppercase;border-bottom:1px solid var(--bg-input);position:sticky;top:0;background:var(--bg-panel);}
.slash-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .1s;}
.slash-item:hover,.slash-item.sel{background:var(--bg-input);}
.slash-iid{width:30px;height:22px;border-radius:5px;background:var(--bg-hover);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--text-subtle);flex-shrink:0;font-family:'SF Mono','Fira Code',monospace;}
.slash-item.sel .slash-iid{background:rgba(var(--ws-accent-rgb),.1);border-color:rgba(var(--ws-accent-rgb),.2);color:var(--ws-accent);}
.slash-iname{font-size:13px;color:var(--text-secondary);flex:1;}
.slash-item.sel .slash-iname{color:var(--text-primary);}
.slash-ilayer{font-size:10px;color:var(--text-disabled);flex-shrink:0;}
.slash-empty{padding:14px 12px;font-size:12px;color:var(--text-ghost);font-style:italic;text-align:center;}
.input-actions{display:none;}
.ia-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--text-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0;}
.ia-btn:hover,.ia-btn.open{background:var(--bg-hover);color:var(--text-secondary);}
.ia-btn svg{width:17px;height:17px;}
/* keep plus-btn alias for JS compat */
.plus-btn{display:none;}
textarea#msg-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:13px;font-family:inherit;resize:none;min-height:52px;max-height:300px;line-height:1.6;padding:12px 8px 8px 10px;overflow-y:auto;}
textarea#msg-input::placeholder{color:var(--text-disabled);}
.send-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--ws-accent);color:var(--bg-hover);font-size:16px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0;}
.send-btn:hover{filter:brightness(1.2);}
.send-btn:disabled{background:var(--bg-hover);color:var(--border-medium);cursor:not-allowed;}
.send-btn svg{width:16px;height:16px;}
.send-btn.stopping{background:var(--status-error) !important;}
.send-btn.stopping:hover{filter:brightness(1.1);}
.send-btn.stopping:disabled{background:var(--status-error) !important;opacity:0.7;}
.plus-menu{display:none;position:absolute;bottom:calc(100% + 6px);left:16px;width:248px;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.8);z-index:50;overflow:hidden;padding:5px;}
.plus-menu.open{display:block;}
.pm-grp{padding:3px 0;}
.pm-grp-lbl{font-size:9px;font-weight:700;color:var(--text-disabled);letter-spacing:.5px;text-transform:uppercase;padding:6px 12px 2px;}
/* Run menu */
.run-menu{display:none;position:absolute;bottom:calc(100% + 2px);left:16px;width:320px;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.8);z-index:50;overflow:hidden;max-height:50vh;display:none;flex-direction:column;}
.run-menu.open{display:flex;}
.run-menu-search{padding:8px 10px 4px;}
.run-menu-search input{width:100%;background:var(--bg-secondary);border:1px solid var(--border-divider);border-radius:6px;color:var(--text-secondary);font-size:12px;padding:7px 10px;outline:none;font-family:inherit;box-sizing:border-box;}
.run-menu-search input:focus{border-color:var(--ws-accent);}
.run-menu-search input::placeholder{color:var(--text-disabled);}
.run-menu-body{overflow-y:auto;max-height:calc(50vh - 60px);padding:2px 0;}
.run-menu-body::-webkit-scrollbar{width:3px;}.run-menu-body::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:2px;}
.run-tab-bar{display:flex;gap:4px;padding:6px 10px 4px;border-bottom:1px solid var(--border-divider);flex-shrink:0;}
.run-tab{font-size:11px;font-weight:600;padding:4px 10px;border-radius:99px;cursor:pointer;color:var(--text-ghost);border:1px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap;}
.run-tab:hover{color:var(--text-secondary);}
.run-tab-active{color:var(--ws-accent);border-color:var(--ws-accent);background:rgba(var(--ws-accent-rgb),.08);}
.run-grp-hdr{font-size:10px;font-weight:700;color:var(--accent-primary);letter-spacing:.6px;text-transform:uppercase;padding:10px 12px 4px;}
.run-item{display:flex;align-items:center;gap:9px;padding:6px 12px;cursor:pointer;transition:background .1s;}
.run-item:hover{background:var(--bg-input);}
.run-item-ico{width:22px;height:18px;border-radius:4px;border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.run-item-ico.flow{border-color:rgba(var(--ws-accent-rgb),.4);background:rgba(var(--ws-accent-rgb),.12);}
.run-item-ico.flow svg{color:var(--ws-accent);}
.run-item-ico.playbook{border-color:rgba(100,160,255,.25);background:rgba(100,160,255,.05);}
.run-item-ico.playbook svg{color:var(--status-info);}
.run-item-ico.play{border-color:var(--border-primary);background:rgba(var(--ws-accent-rgb),.05);}
.run-item-ico.play svg{color:var(--status-green-dark);}
.run-item-ico svg{width:10px;height:10px;}
.run-item-body{flex:1;min-width:0;}
.run-item-name{font-size:13px;color:var(--text-brightest);font-weight:600;}
.run-item-desc{font-size:12px;color:var(--text-tertiary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pm-div{height:1px;background:var(--border-divider);margin:3px 0;}
.pm-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;cursor:pointer;transition:background .1s;}
.pm-item:hover{background:var(--bg-input);}
.pm-ico{width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted);}
.pm-ico svg{width:14px;height:14px;}
.pm-lbl{font-size:12px;color:var(--text-secondary);flex:1;font-weight:500;}
.pm-lbl.active{color:var(--ws-accent);}
.pm-recommended{border-left:2px solid var(--ws-accent);}
.pm-rec-badge{font-size:9px;color:var(--ws-accent);font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin-left:6px;opacity:.8;}
.pm-r{margin-left:auto;flex-shrink:0;}
.pm-chk svg{width:12px;height:12px;color:var(--ws-accent);}
.pm-arr{color:var(--text-ghost);font-size:11px;}

/* ── FILE VIEWER ── */
.fv-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.8);backdrop-filter:blur(4px);z-index:400;align-items:center;justify-content:center;}
.fv-overlay.open{display:flex;}
.fv-panel{width:min(680px,92vw);max-height:80vh;background:var(--bg-drawer);border:1px solid var(--border-primary);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;animation:fadeUp .18s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.fv-hdr{padding:14px 18px;border-bottom:1px solid var(--bg-input);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.fv-filename{font-size:12px;font-weight:700;color:var(--text-tertiary);font-family:ui-monospace,'Cascadia Code','Fira Code',monospace;}
.fv-close{width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s;}
.fv-close:hover{background:var(--bg-input);color:var(--text-secondary);}
.fv-body{flex:1;overflow-y:auto;padding:18px 22px;}
.fv-body::-webkit-scrollbar{width:4px;}.fv-body::-webkit-scrollbar-thumb{background:var(--border-divider);border-radius:2px;}
.fv-content{font-size:12px;line-height:1.7;color:var(--text-secondary-dim);word-break:break-word;margin:0;}
.fv-content.fv-markdown{font-family:inherit;}
.fv-markdown h1{font-size:18px;color:var(--text-brightest);margin:0 0 12px;border-bottom:1px solid var(--border-medium);padding-bottom:6px;}
.fv-markdown h2{font-size:15px;color:var(--text-lighter);margin:16px 0 8px;}
.fv-markdown h3{font-size:13px;color:var(--text-secondary);margin:12px 0 6px;}
.fv-markdown p{margin:6px 0;}
.fv-markdown ul,.fv-markdown ol{margin:6px 0;padding-left:20px;}
.fv-markdown li{margin:3px 0;}
.fv-markdown strong{color:var(--text-brightest);}
.fv-markdown em{color:var(--text-tertiary);}
.fv-markdown code{background:var(--bg-secondary);padding:1px 4px;border-radius:3px;font-size:11px;font-family:ui-monospace,'Cascadia Code',monospace;}
.fv-markdown pre{background:var(--bg-secondary);padding:10px;border-radius:6px;overflow-x:auto;margin:8px 0;}
.fv-markdown pre code{background:none;padding:0;}
.fv-markdown blockquote{border-left:3px solid var(--ws-accent);padding-left:12px;margin:8px 0;color:var(--text-dim);}
.fv-markdown table{border-collapse:collapse;margin:8px 0;width:100%;}
.fv-markdown th,.fv-markdown td{border:1px solid var(--border-medium);padding:6px 10px;font-size:11px;}
.fv-markdown th{background:var(--bg-hover);color:var(--text-lighter);}
.fv-loading{font-size:12px;color:var(--text-disabled);text-align:center;padding:32px;}
.frow.clickable{cursor:pointer;}
/* ── RUNNER ── */
.runner{width:272px;min-width:272px;max-width:50vw;background:var(--bg-chat-sub);border-left:1px solid var(--bg-input);display:flex;flex-direction:column;overflow:hidden;transition:width .18s ease,min-width .18s ease;}
/* ── PROGRESS RUNNER ── */
.runner-hdr{padding:0 10px 0 14px;height:38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bg-input);flex-shrink:0;}
.runner-title{font-size:11px;font-weight:700;color:var(--text-tertiary);letter-spacing:.8px;text-transform:uppercase;}
.runner-close{width:22px;height:22px;border-radius:5px;border:none;background:transparent;color:var(--text-ghost);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s;flex-shrink:0;}
.runner-close:hover{background:var(--bg-hover);color:var(--text-tertiary);}
.runner-close svg{width:10px;height:10px;}
/* Runner panel collapse */
.app-body.runner-collapsed .runner{width:0;min-width:0;overflow:hidden;border-left:none;}
.app-body.runner-collapsed .runner-edge{display:none;}
.nav-link-btn{font-size:11px;font-weight:600;color:var(--text-ghost);text-decoration:none;padding:5px 11px;border-radius:7px;border:1px solid var(--border-subtle);background:transparent;transition:color .15s,border-color .15s,background .15s;white-space:nowrap;flex-shrink:0;cursor:pointer;}
.nav-link-btn:hover{color:var(--text-secondary);border-color:var(--border-strong);background:var(--bg-panel);}
.nav-link-btn.active{color:var(--ws-accent);border-color:var(--ws-accent);background:rgba(var(--ws-accent-rgb),.08);}
/* ── LEARN / COMPRESS BUTTONS ── */
.mem-btn{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;border:1px solid var(--border-subtle);background:transparent;cursor:pointer;font-family:inherit;transition:color .15s,border-color .15s,background .15s;white-space:nowrap;flex-shrink:0;color:var(--text-subtle);}
.mem-btn:hover{color:var(--text-secondary);border-color:var(--border-strong);background:var(--bg-panel);}
.mem-btn:disabled{color:var(--border-primary);border-color:var(--surface-hover);cursor:not-allowed;}
.mem-btn.working{color:var(--ws-accent);border-color:rgba(var(--ws-accent-rgb),.3);cursor:not-allowed;}
.mem-btn.done{color:var(--ws-accent);border-color:rgba(var(--ws-accent-rgb),.3);}
.mem-btn.hint{color:var(--ws-accent);border-color:rgba(var(--ws-accent-rgb),.35);}
.mem-btn.hint:hover{color:var(--accent-warm);border-color:rgba(var(--ws-accent-rgb),.6);background:#1a1000;}
.mem-btn.warn{color:var(--ws-accent);border-color:rgba(var(--ws-accent-rgb),.5);animation:compress-pulse 2s ease-in-out infinite;}
.mem-btn.warn:hover{color:var(--accent-warm);border-color:rgba(var(--ws-accent-rgb),.8);background:#1a1000;animation:none;}
/* Coach = amber  |  Insights = violet */
/* coach/insights colors now in #id.sbar-btn rules above */
@keyframes compress-pulse{0%,100%{box-shadow:0 0 0 0 rgba(var(--ws-accent-rgb),0)}50%{box-shadow:0 0 0 3px rgba(var(--ws-accent-rgb),.18)}}
/* Session events (learn/compress confirmations in feed) */
.session-event{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 0;user-select:none;}
.se-dot{width:6px;height:6px;border-radius:50%;background:var(--border-primary);flex-shrink:0;}
.se-line{flex:1;height:1px;background:var(--bg-hover);max-width:60px;}
.se-text{font-size:11px;color:var(--text-disabled);white-space:nowrap;}
.se-text.ok{color:var(--status-success);white-space:normal;max-width:420px;text-align:center;line-height:1.5;}
.se-text.err{color:var(--status-error);}
.se-text.shimmer{font-style:italic;background:linear-gradient(90deg,rgba(var(--ws-accent-rgb),.35) 0%,rgba(var(--ws-accent-rgb),.55) 40%,rgba(255,200,100,.85) 50%,rgba(var(--ws-accent-rgb),.55) 60%,rgba(var(--ws-accent-rgb),.35) 100%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:statusShimmer 2.5s ease-in-out infinite;color:rgba(var(--ws-accent-rgb),.55);}
.comp-row{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:5px;}
.comp-badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;background:rgba(var(--ws-accent-rgb),.07);color:var(--status-success);letter-spacing:.03em;}
.comp-none{font-size:10px;color:#664;margin-top:3px;display:inline-block;}
/* ── RUNNER RESIZE HANDLE ── */
.runner-edge{width:6px;min-width:6px;flex-shrink:0;cursor:col-resize;background:transparent;position:relative;transition:background .15s;}
.runner-edge:hover,.runner-edge.dragging{background:rgba(var(--ws-accent-rgb),.06);}
.runner-edge::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:44px;background:var(--border-divider);border-radius:2px;transition:background .15s;}
.runner-edge:hover::after,.runner-edge.dragging::after{background:var(--border-strong);}
/* Pull-tab shown when runner is fully collapsed */
.runner-pull-tab{position:absolute;right:0;top:50%;transform:translateY(-50%);width:14px;height:52px;background:var(--bg-hover-sm);border:1px solid var(--surface-raised);border-right:none;border-radius:5px 0 0 5px;cursor:col-resize;z-index:30;display:none;align-items:center;justify-content:center;color:var(--border-strong);transition:background .15s,color .15s;flex-direction:column;gap:3px;}
.runner-pull-tab:hover{background:var(--surface-hover);color:var(--text-subtle);}
.runner-pull-tab svg{width:6px;height:6px;}
.app-body.runner-collapsed .runner-pull-tab{display:flex;}
.rbody{flex:1;overflow-y:auto;}
.rbody::-webkit-scrollbar{width:3px;}
.rbody::-webkit-scrollbar-thumb{background:var(--bg-input);border-radius:2px;}
/* Progress sections */
.prog-sec{padding:12px 12px 10px;border-bottom:1px solid var(--bg-panel);}
.prog-sec:last-child{border-bottom:none;}
.prog-sec-hdr{display:flex;align-items:center;margin-bottom:7px;}
.prog-sec-lbl{font-size:10px;font-weight:700;color:var(--text-ghost);letter-spacing:.8px;text-transform:uppercase;flex:1;}
.prog-sec-ct{font-size:10px;color:var(--text-disabled);font-weight:600;}
.prog-sec-body{display:flex;flex-direction:column;gap:3px;}
.ptree-flow,.ptree-pb,.ptree-play{cursor:pointer;border-radius:4px;transition:background .12s;}
.ptree-flow{display:flex;align-items:center;gap:5px;padding:4px 8px;color:var(--text-faint);font-size:14px;font-weight:600;}
.ptree-flow:hover{background:rgba(255,255,255,.04);color:var(--text-tertiary);}
.ptree-flow.active{color:var(--accent-primary);font-weight:700;}
.ptree-pb{display:flex;align-items:center;gap:4px;padding:3px 8px 3px 22px;color:var(--text-subtle);font-size:13px;}
.ptree-pb:hover{background:rgba(255,255,255,.04);color:var(--text-dim);}
.ptree-pb.active{color:var(--accent-primary);font-weight:600;}
.ptree-play{display:flex;align-items:center;gap:4px;padding:2px 8px 2px 36px;color:var(--text-ghost);font-size:13px;}
.ptree-play:hover{background:rgba(255,255,255,.04);color:var(--text-muted);}
.ptree-play.active{color:var(--accent-primary);font-weight:600;}
.ptree-chev{font-size:7px;color:var(--text-disabled);transition:transform .15s;display:inline-block;width:8px;text-align:center;}
.ptree-chev.open{transform:rotate(90deg);}
.ptree-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.ptree-dot.flow{background:var(--text-ghost);}.ptree-dot.flow.active{background:var(--accent-primary);}
.ptree-dot.pb{background:var(--text-disabled);width:5px;height:5px;}.ptree-dot.pb.active{background:var(--accent-primary);}
.ptree-dot.play{background:var(--border-medium);width:5px;height:5px;}.ptree-dot.play.active{background:var(--accent-primary);}
.ptree-children{display:none;}
.ptree-children.open{display:block;}
.sb2-src-badge{display:none;margin-left:auto;flex-shrink:0;width:14px;height:14px;opacity:0.3;}.sb2-src-badge svg{width:14px;height:14px;}
#sb2-org-em-list.ws-focused .sb2-src-badge{display:inline-block;}
#sb2-org-em-list.ws-focused .sb2-em-item{opacity:0.7;}
.sb2-src-edition{color:var(--text-ghost);background:rgba(90,90,120,.25);}
.sb2-src-org{color:#556;background:rgba(80,80,100,.2);}
.sb2-src-office{color:#565;background:rgba(80,100,80,.2);}
.ptree-ws-label{padding:2px 8px 4px;font-size:9px;color:var(--text-ghost);letter-spacing:.3px;text-transform:uppercase;border-bottom:1px solid var(--bg-hover);margin-bottom:2px;}
#progress-tree{overflow-y:auto;max-height:calc(100vh - 80px);padding:4px 0;}
#progress-tree::-webkit-scrollbar{width:3px;}
#progress-tree::-webkit-scrollbar-thumb{background:var(--bg-input);border-radius:2px;}
.prog-empty{font-size:10px;color:var(--text-disabled);font-style:italic;}
/* Playbook card */
.pb-card{background:var(--bg-hover-xs);border:1px solid var(--bg-input);border-radius:8px;padding:9px 11px;}
.pb-card-name{font-size:12px;font-weight:700;color:var(--text-primary);margin-bottom:8px;line-height:1.3;}
.pb-card-bar-w{height:2px;background:var(--bg-hover);border-radius:99px;overflow:hidden;margin-bottom:5px;}
.pb-card-bar{height:2px;background:var(--ws-accent);border-radius:99px;transition:width .6s ease;}
.pb-card-meta{font-size:10px;color:var(--text-disabled);}
/* Play items */
.prog-play{display:flex;align-items:flex-start;gap:7px;padding:5px 6px;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:background .1s;}
.prog-play:hover{background:rgba(255,255,255,.02);}
.prog-play.pp-active{background:rgba(var(--ws-accent-rgb),.04);border-color:rgba(var(--ws-accent-rgb),.12);}
.prog-play.pp-complete{opacity:.5;}
.pp-ico{width:14px;height:14px;border-radius:3px;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:800;}
.pp-ico-a{background:rgba(var(--ws-accent-rgb),.15);color:var(--ws-accent);border:1px solid rgba(var(--ws-accent-rgb),.3);}
.pp-ico-c{background:rgba(var(--ws-accent-rgb),.08);color:var(--ws-accent);border:1px solid rgba(var(--ws-accent-rgb),.2);}
.pp-ico-p{background:var(--bg-panel);color:var(--border-medium);border:1px solid var(--border-subtle);}
.pp-name{font-size:11px;flex:1;line-height:1.35;}
.pp-name-a{color:var(--text-primary);font-weight:600;}
.pp-name-c{color:var(--text-disabled);}
.pp-name-p{color:var(--text-disabled);}
/* Steps under active play */
.pp-steps{padding:4px 0 2px 21px;display:flex;flex-direction:column;gap:2px;}
.pp-step{display:flex;align-items:flex-start;gap:4px;padding:1px 0;}
.pp-sdot{width:11px;height:11px;border-radius:2px;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:6px;}
.pp-sdot-c{background:rgba(var(--ws-accent-rgb),.08);border:1px solid rgba(var(--ws-accent-rgb),.2);color:var(--ws-accent);}
.pp-sdot-a{background:rgba(var(--ws-accent-rgb),.15);border:1px solid rgba(var(--ws-accent-rgb),.35);color:var(--ws-accent);}
.pp-sdot-p{background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-disabled);}
.pp-sname{font-size:10px;line-height:1.3;}
.pp-sn-c{color:var(--border-strong);}.pp-sn-a{color:var(--text-primary);font-weight:600;}.pp-sn-p{color:var(--text-disabled);}

/* -- STEP TRACKING: streaming, failed, run-mode, eta -- */
.prog-play.pp-streaming{animation:step-pulse 1.5s ease infinite;}
@keyframes step-pulse{0%,100%{opacity:1}50%{opacity:.6}}
.pp-sdot-a.pp-sdot-streaming{animation:step-pulse 1.5s ease infinite;}
.prog-play.pp-failed{opacity:1;}
.pp-ico-f{background:rgba(239,68,68,.15);color:var(--status-error);border:1px solid rgba(239,68,68,.3);}
.pp-name-f{color:var(--status-error);font-weight:600;}
.pp-sdot-f{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);color:var(--status-error);}
.pp-sn-f{color:var(--status-error);}
.pp-eta{font-size:10px;color:var(--text-disabled);padding:8px 6px 0;text-align:right;}
.pp-step-ct{font-size:10px;color:var(--text-disabled);padding:2px 6px 0;text-align:right;font-weight:600;}
.runner-back{display:none;border:none;background:transparent;color:var(--text-subtle);font-size:10px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .15s,background .15s;font-family:inherit;}
.runner-back:hover{color:var(--text-primary);background:var(--bg-hover);}
#rbody.run-mode .runner-back{display:inline-block;}
#rbody.run-mode #progress-tree{display:none;}
#rbody.run-mode #pb-panel{display:block!important;}
#rbody.run-mode #plays-list{display:block!important;}
#rbody.run-mode #plays-ct{display:block!important;}
#rbody:not(.run-mode) #pb-panel{display:none!important;}
#rbody:not(.run-mode) #plays-list{display:none!important;}
#rbody:not(.run-mode) #plays-ct{display:none!important;}
.pp-retry-btn{border:none;background:rgba(239,68,68,.1);color:var(--status-error);font-size:9px;padding:2px 8px;border-radius:4px;cursor:pointer;margin-left:auto;font-family:inherit;transition:background .15s;}
.pp-retry-btn:hover{background:rgba(239,68,68,.2);}
.mem-empty{font-size:10px;color:var(--border-medium);font-style:italic;}

/* ── ELLA-MENTS MODAL ── */
.em-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(3px);z-index:300;justify-content:flex-end;}
.em-overlay.open{display:flex;}
.em-panel{width:520px;background:var(--bg-drawer);border-left:1px solid var(--border-primary);display:flex;flex-direction:column;overflow:hidden;animation:slideLeft .2s ease;}
@keyframes slideLeft{from{transform:translateX(40px);opacity:0}to{transform:translateX(0);opacity:1}}
.em-panel-hdr{padding:16px 20px;border-bottom:1px solid var(--bg-input);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.em-panel-title{font-size:15px;font-weight:700;color:var(--text-primary);}
.em-panel-sub{font-size:11px;color:var(--text-subtle);margin-top:2px;}
.em-close{width:28px;height:28px;border-radius:7px;border:none;background:var(--bg-hover);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .1s,color .1s;}
.em-close:hover{background:var(--border-subtle);color:var(--text-primary);}
.em-tabs{display:flex;border-bottom:1px solid var(--bg-input);flex-shrink:0;}
.em-tab{flex:1;padding:10px 12px;border:none;background:transparent;color:var(--text-subtle);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;}
.em-tab:hover{color:var(--text-secondary);}
.em-tab.active{color:var(--ws-accent);border-bottom-color:var(--ws-accent);}
.em-body{flex:1;overflow-y:auto;padding:12px 16px;}
.em-body::-webkit-scrollbar{width:4px;}
.em-body::-webkit-scrollbar-thumb{background:var(--border-divider);border-radius:2px;}
.em-layer-desc{font-size:11px;color:var(--text-ghost);margin-bottom:12px;line-height:1.5;}
.em-card{background:var(--bg-hover-xs);border:1px solid var(--bg-input);border-radius:10px;padding:12px 14px;margin-bottom:8px;display:flex;align-items:center;gap:12px;transition:border-color .15s;}
.em-card:hover{border-color:var(--border-primary);}
.em-card.ec-done{border-color:rgba(var(--ws-accent-rgb),.15);background:rgba(var(--ws-accent-rgb),.02);}
.em-card.ec-wip{border-color:rgba(240,192,64,.15);background:rgba(240,192,64,.02);}
.em-id-badge{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex-shrink:0;}
.em-id-done{background:rgba(var(--ws-accent-rgb),.12);color:var(--ws-accent);}
.em-id-wip{background:rgba(240,192,64,.12);color:var(--accent-gold);}
.em-id-todo{background:var(--bg-hover);color:var(--text-ghost);}
.em-info{flex:1;min-width:0;}
.em-name{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:2px;}
.em-desc{font-size:11px;color:var(--text-subtle);line-height:1.4;}
.em-status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:99px;flex-shrink:0;margin-right:4px;}
.es-done{background:rgba(var(--ws-accent-rgb),.1);color:var(--ws-accent);border:1px solid rgba(var(--ws-accent-rgb),.2);}
.es-wip{background:rgba(240,192,64,.1);color:var(--accent-gold);border:1px solid rgba(240,192,64,.2);}
.es-todo{background:var(--bg-hover);color:var(--text-ghost);border:1px solid var(--border-subtle);}
.em-run{padding:5px 12px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:7px;color:var(--text-tertiary);font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s;flex-shrink:0;}
.em-run:hover{background:rgba(var(--ws-accent-rgb),.1);border-color:rgba(var(--ws-accent-rgb),.25);color:var(--ws-accent);}
.em-run.running{background:rgba(var(--ws-accent-rgb),.1);border-color:rgba(var(--ws-accent-rgb),.3);color:var(--ws-accent);}

/* ── PROFILE PANEL ── */
.prof-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px);z-index:300;justify-content:flex-end;}
.prof-overlay.open{display:flex;}
.prof-panel{width:440px;background:var(--bg-drawer);border-left:1px solid var(--border-primary);display:flex;flex-direction:column;overflow:hidden;animation:slideLeft .2s ease;}
.prof-hdr{padding:16px 20px;border-bottom:1px solid var(--bg-input);display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0;}
.prof-hdr-left{display:flex;align-items:center;gap:12px;}
.prof-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-muted);border:2px solid rgba(var(--ws-accent-rgb),.3);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--accent-primary);flex-shrink:0;}
.prof-name-block .prof-name{font-size:15px;font-weight:700;color:var(--text-primary);}
.prof-name-block .prof-role{font-size:11px;color:var(--text-subtle);margin-top:1px;}
.prof-close{width:28px;height:28px;border-radius:7px;border:none;background:var(--bg-hover);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .1s,color .1s;}
.prof-close:hover{background:var(--border-subtle);color:var(--text-primary);}
.prof-body{padding:0;}
#prof-prefs-list{max-height:180px;overflow-y:auto;scrollbar-width:thin;}
.prof-body::-webkit-scrollbar{width:4px;}
.prof-body::-webkit-scrollbar-thumb{background:var(--border-divider);border-radius:2px;}
.prof-section{padding:16px 20px;border-bottom:1px solid var(--bg-panel);}
.prof-sec-hdr{font-size:10px;font-weight:700;color:var(--text-ghost);letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px;}
/* File cards in profile panel */
.prof-file-card{margin:14px 18px;background:var(--bg-secondary);border:1px solid var(--bg-input);border-radius:10px;overflow:hidden;transition:border-color .15s;}
.prof-file-card:hover{border-color:var(--border-primary);}
.pfc-top{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--bg-panel);}
.pfc-filename{font-size:10px;font-weight:700;color:var(--text-subtle);font-family:ui-monospace,'Cascadia Code',monospace;letter-spacing:.3px;}
.pfc-open{font-size:10px;color:var(--text-ghost);background:transparent;border:none;cursor:pointer;padding:3px 8px;border-radius:5px;border:1px solid var(--border-subtle);transition:color .15s,border-color .15s;white-space:nowrap;}
.pfc-open:hover{color:var(--text-secondary);border-color:var(--border-strong);}
.pfc-preview{padding:10px 14px;font-family:ui-monospace,'Cascadia Code',monospace;font-size:11px;line-height:1.65;color:var(--text-ghost);white-space:pre-wrap;word-break:break-word;max-height:110px;overflow:hidden;position:relative;}
.pfc-preview::after{content:'';position:absolute;bottom:0;left:0;right:0;height:32px;background:linear-gradient(transparent,var(--bg-secondary));}
.pfc-loading{padding:14px;font-size:11px;color:var(--border-medium);font-style:italic;}
.prof-field{margin-bottom:10px;}
.pf-label{font-size:10px;font-weight:600;color:var(--text-subtle);margin-bottom:4px;}
.pf-value{font-size:13px;color:var(--text-lighter);background:var(--bg-hover-xs);border:1px solid var(--bg-input);border-radius:7px;padding:7px 10px;min-height:32px;display:flex;align-items:center;gap:6px;cursor:pointer;transition:border-color .15s;}
.pf-value:hover{border-color:var(--border-primary);}
.pf-value.editing{border-color:rgba(var(--ws-accent-rgb),.25);background:var(--bg-secondary);}
.pf-value input,.pf-value select,.pf-value textarea{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:13px;font-family:inherit;width:100%;resize:none;}
.pf-value select option{background:var(--bg-hover);}
.pf-edit-ico{margin-left:auto;flex-shrink:0;color:var(--text-disabled);font-size:11px;}
.pf-empty{color:var(--text-disabled);font-style:italic;}
.pf-chat-btn{display:flex;align-items:center;gap:6px;padding:7px 10px;background:var(--bg-hover-xs);border:1px solid var(--bg-input);border-radius:7px;color:var(--text-subtle);font-size:12px;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s;width:100%;}
.pf-chat-btn:hover{background:var(--bg-hover);border-color:rgba(var(--ws-accent-rgb),.2);color:var(--ws-accent);}
.pf-chat-btn svg{width:12px;height:12px;flex-shrink:0;}
.prof-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.prof-footer{padding:14px 20px;border-top:1px solid var(--bg-input);flex-shrink:0;}
.prof-footer-btn{width:100%;padding:10px;background:rgba(var(--ws-accent-rgb),.08);border:1px solid rgba(var(--ws-accent-rgb),.2);border-radius:9px;color:var(--ws-accent);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s;}
.prof-footer-btn:hover{background:rgba(var(--ws-accent-rgb),.15);}

/* ── PROFILE TABBED LAYOUT ── */
.prof-tabs-wrapper{display:flex;flex:1;overflow:hidden;}
.prof-tabs-nav{width:160px;min-width:160px;background:var(--surface-input);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:8px 0;overflow-y:auto;flex-shrink:0;}
.prof-tab-item{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:12px;color:var(--text-faint);cursor:pointer;border-left:2px solid transparent;transition:all .15s;background:transparent;border-top:none;border-right:none;border-bottom:none;text-align:left;font-family:inherit;width:100%;}
.prof-tab-item:hover{color:var(--text-secondary);background:rgba(255,255,255,.02);}
.prof-tab-item.active{color:var(--text-primary);border-left-color:var(--accent-primary);background:rgba(var(--ws-accent-rgb),.08);font-weight:600;}
.prof-tab-item svg{width:14px;height:14px;flex-shrink:0;opacity:.7;}
.prof-tab-item.active svg{opacity:1;}
.prof-tab-divider{height:1px;background:var(--border-subtle);margin:6px 16px;}
.prof-tab-item.logout{color:var(--text-ghost);}
.prof-tab-item.logout:hover{color:var(--status-error);}
.prof-tab-content{flex:1;overflow-y:auto;padding:0;}
.prof-tab-content::-webkit-scrollbar{width:4px;}
.prof-tab-content::-webkit-scrollbar-thumb{background:var(--border-divider);border-radius:2px;}
.prof-tab-pane{display:none;}
.prof-tab-pane.active{display:block;}
.prof-tab-placeholder{padding:32px 24px;text-align:center;}
.prof-tab-placeholder h3{font-size:14px;font-weight:600;color:var(--text-primary-dim);margin:0 0 8px;}
.prof-tab-placeholder p{font-size:12px;color:var(--text-subtle);line-height:1.5;margin:0;}
.prof-tab-placeholder .coming-soon{display:inline-block;margin-top:12px;padding:4px 12px;border-radius:12px;background:rgba(var(--ws-accent-rgb),.08);color:var(--ws-accent,var(--accent-primary));font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;}
.prof-chpw-inline{padding:24px 20px;}
.prof-chpw-inline input{width:100%;padding:10px 12px;background:var(--surface-input);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-size:13px;margin-bottom:10px;box-sizing:border-box;font-family:inherit;}
.prof-chpw-inline .pw-error{color:var(--status-error);font-size:11px;min-height:18px;margin-bottom:10px;}
.prof-chpw-inline button.pw-submit{padding:8px 20px;border-radius:8px;border:none;background:var(--ws-accent,var(--accent-primary));color:var(--text-inverse);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s;}
.prof-chpw-inline button.pw-submit:hover{opacity:.85;}

/* ── SESSION DIVIDER ── */
.session-div{display:none;}
.session-div-line{flex:1;height:1px;background:var(--bg-input);}
.session-div-lbl{font-size:10px;color:var(--border-medium);font-weight:600;letter-spacing:.5px;white-space:nowrap;padding:0 2px;}

/* ── DIALOGS ── */
.dialog-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:400;align-items:center;justify-content:center;}
.dialog-ov.open{display:flex;}
.dialog{background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:14px;padding:20px;width:400px;box-shadow:0 24px 64px rgba(0,0,0,.8);}
.dialog-title{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:6px;}
.dialog-sub{font-size:12px;color:var(--text-faint);margin-bottom:14px;line-height:1.5;}
.dialog-input{width:100%;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:9px 12px;font-size:13px;color:var(--text-primary);font-family:inherit;outline:none;transition:border-color .15s;margin-bottom:8px;}
.dialog-input:focus{border-color:rgba(var(--ws-accent-rgb),.3);}
.dialog-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;}
.dialog-row label{font-size:11px;color:var(--text-subtle);white-space:nowrap;}
.dialog-row input[type=number]{width:70px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;padding:6px 8px;font-size:13px;color:var(--text-primary);font-family:inherit;outline:none;}
.dialog-progress{display:none;align-items:center;gap:10px;padding:10px 0 2px;font-size:12px;color:var(--text-faint);}
.dialog-progress.show{display:flex;}
.spin{width:14px;height:14px;border:2px solid var(--border-medium);border-top-color:var(--ws-accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0;}
@keyframes spin{to{transform:rotate(360deg)}}
.dialog-btns{display:flex;gap:8px;margin-top:14px;justify-content:flex-end;}
.dbtn-cancel{padding:7px 14px;background:transparent;border:1px solid var(--border-primary);border-radius:8px;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;transition:background .1s,color .1s;}
.dbtn-cancel:hover{background:var(--bg-input);color:var(--text-secondary);}
.dbtn-ok{padding:7px 14px;background:var(--ws-accent);border:none;border-radius:8px;color:#061a0e;font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s;}
.dbtn-ok:hover{background:#2ef0a0;}
.dbtn-ok:disabled{background:#1a3a2a;color:var(--status-success);cursor:not-allowed;}
/* Memory dialog */
.mem-dlg-ta{width:100%;min-height:130px;max-height:260px;box-sizing:border-box;background:var(--bg-chat-sub);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-lighter);font-size:12px;font-family:inherit;line-height:1.65;padding:10px 12px;resize:vertical;outline:none;transition:border-color .15s;display:block;}
.mem-dlg-ta:focus{border-color:var(--border-strong);}
.mem-dlg-ta::placeholder{color:var(--border-medium);}
.mem-dlg-ta:disabled{color:var(--text-ghost);background:var(--bg-app);}
.mem-refine-row{display:flex;gap:6px;margin-top:8px;}
.mem-refine-input{flex:1;background:var(--bg-chat-sub);border:1px solid var(--bg-input);border-radius:7px;color:var(--text-secondary);font-size:11px;font-family:inherit;padding:6px 10px;outline:none;transition:border-color .15s;}
.mem-refine-input:focus{border-color:var(--border-primary);}
.mem-refine-input::placeholder{color:var(--border-medium);}
.mem-refine-btn{padding:5px 12px;background:transparent;border:1px solid var(--border-subtle);border-radius:7px;color:var(--text-subtle);font-size:11px;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap;}
.mem-refine-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-tertiary);}
.mem-refine-btn:disabled{color:var(--border-primary);border-color:var(--surface-hover);cursor:not-allowed;}
#file-input{display:none;}

/* ── ELLA-MENT HIERARCHY LEVELS ── */
.em-lvl-row{display:flex;align-items:center;gap:6px;padding:8px 12px 4px 14px;border-top:1px solid var(--bg-hover);margin-top:3px;}
.em-lvl-row:first-child{border-top:none;margin-top:0;}
.lvl-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;font-size:8px;font-weight:900;flex-shrink:0;letter-spacing:-.3px;}
.lvl-lbl{font-size:11px;font-weight:700;flex:1;}
.lvl-ct{font-size:10px;color:var(--text-ghost);}
.lvl-inherited{font-style:italic;color:var(--border-strong)!important;}
.lvl-e{background:rgba(var(--ws-accent-rgb),.15);color:var(--ws-accent);border:1px solid rgba(var(--ws-accent-rgb),.3);}
.lvl-o{background:rgba(252,182,48,.12);color:var(--ws-accent);border:1px solid rgba(252,182,48,.25);}
.lvl-s{background:rgba(var(--ws-accent-rgb),.1);color:var(--ws-accent);border:1px solid rgba(var(--ws-accent-rgb),.2);}
.lvl-w{background:rgba(252,182,48,.12);color:var(--ws-accent);border:1px solid rgba(252,182,48,.25);}
.lvl-v{background:rgba(252,182,48,.12);color:var(--ws-accent);border:1px solid rgba(252,182,48,.25);}
.lvl-empty{background:rgba(85,85,85,.12);color:var(--text-ghost);border:1px solid rgba(85,85,85,.25);}
.em-tier-hdr{font-size:9px;font-weight:700;color:var(--text-disabled);letter-spacing:.7px;text-transform:uppercase;padding:6px 14px 2px 32px;}
.em-tier-collapsible{cursor:pointer;display:flex;align-items:center;gap:5px;padding-left:24px;transition:color .15s;}
.em-tier-collapsible:hover{color:var(--text-muted);}
.em-tier-collapsible .ws-folder-chev{width:7px;height:7px;flex-shrink:0;color:var(--text-disabled);transition:transform .15s;}
.em-tier-collapsible .ws-folder-chev.open{transform:rotate(90deg);}
.em-tier-ct{font-size:8px;color:var(--border-medium);margin-left:auto;font-weight:600;padding-right:8px;letter-spacing:0;text-transform:none;}
.em-tier-body{}

/* ── SIDEBAR COLLAPSE ── */
.sb-toggle{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--text-subtle);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0;margin:0 4px;}
.sb-toggle:hover{background:var(--bg-hover);color:var(--text-secondary);}
.sb-toggle svg{width:16px;height:16px;}
.app-body.sb-hidden .drawer{width:0!important;min-width:0!important;overflow:hidden;border-right:none!important;}

/* ── MOBILE OVERLAY ── */
.mob-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:140;-webkit-tap-highlight-color:transparent;}
.mob-ov.show{display:block;}

/* ── MOBILE RESPONSIVE ── */
/* Auto-collapse runner when viewport can't fit sidebar + chat + runner */
@media(max-width:960px){
  .runner{display:none!important;}
  .runner-edge{display:none!important;}
  .runner-pull-tab{display:none!important;}
}
@media(max-width:767px){
  /* Drawer becomes a slide-in sheet from the left */
  .drawer{
    position:fixed;top:46px;left:0;bottom:0;z-index:150;
    width:280px!important;min-width:280px!important;
    transform:translateX(-100%);
    transition:transform .25s ease;
    border-right:1px solid var(--border-primary)!important;
    box-shadow:14px 0 48px rgba(0,0,0,.75);
  }
  .drawer.mob-open{transform:translateX(0);}
  /* Prevent the normal .closed class from fighting mobile */
  .drawer.closed{width:280px!important;min-width:280px!important;}

  /* Hide right runner — no room */
  .runner{display:none!important;}
  .runner-edge{display:none!important;}
  .runner-pull-tab{display:none!important;}
  .nav-link-btn{display:none!important;}

  /* Topbar: hide noise, keep logo + toggle + status */
  .topbar .tip-btn{display:none;}
  .topbar .status-chip{display:none;}

  
/* Hierarchy context panel */
#hier-context-panel{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.06);}
.hier-focus-label{font-size:10px;letter-spacing:1.2px;color:rgba(255,255,255,0.35);margin-bottom:4px;font-weight:600;}
.hier-focus-name{font-size:16px;font-weight:600;color:var(--text-white);margin-bottom:2px;}
.hier-focus-path{font-size:11px;color:rgba(255,255,255,0.3);margin-bottom:12px;}
.hier-layers-label{font-size:10px;letter-spacing:1.2px;color:rgba(255,255,255,0.35);margin-bottom:6px;margin-top:8px;font-weight:600;}
.hier-layer{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:rgba(255,255,255,0.5);cursor:pointer;transition:color 0.15s;}
.hier-layer:hover{color:rgba(255,255,255,0.8);}
.hier-layer.focused{color:var(--text-white);font-weight:500;}
.hier-layer.l3{padding-left:20px;}
.hier-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.hier-dot.filled{background:var(--ws-accent,var(--accent-primary));}
.hier-dot.available{border:1.5px solid rgba(255,255,255,0.25);background:transparent;}
.hier-count{font-size:11px;color:rgba(255,255,255,0.25);margin-left:auto;}

/* Breadcrumb: truncate RE trail on small screens */
  #bc-hier-trail{display:none!important;}
  .breadcrumb{overflow:hidden;max-width:calc(100vw - 160px);}
  .bc-btn{max-width:180px;}

  /* Chat sub: hide stat counts on mobile but keep perspective buttons */
  .chat-sub .sub-r .mem-btn,.chat-sub .sub-r .sub-r-spacer{display:none;}
  .chat-sub .sub-r .sbar-btn{width:24px;height:24px;}

  /* Hide panel toggle buttons on mobile */
  .pcb-btn{display:none!important;}

  /* Show hamburger on mobile */
  .mob-menu-btn{display:flex;}

  /* (backdrop handled by .mob-ov) */

  /* Topbar: ensure nothing clips at top */
  .topbar{padding:8px 12px;min-height:46px;}

  /* Feed: tighter padding, safe area for notch */
  .feed{padding:12px 14px;gap:12px;}

  /* Input: prevent iOS font zoom (needs 16px min), bigger touch targets, more internal space */
  textarea#msg-input{min-height:56px;font-size:16px!important;padding:10px 4px 10px 8px;line-height:1.5;max-height:180px;}
  .send-btn{width:42px;height:42px;border-radius:12px;}
  .input-bar{padding:8px 12px calc(48px + env(safe-area-inset-bottom,0px));}
  @supports(height:100dvh){
    .input-bar{padding-bottom:16px;}
  }
  .input-bottom{padding:6px 8px 8px 4px;}
  .ia-btn{width:36px;height:36px;}

  /* Welcome chips: touch-friendly */
  .wb-chip{padding:14px 16px;}
  .wb-greeting{font-size:16px;}

  /* Dialogs: full-width on mobile */
  .dialog{width:calc(100vw - 32px);max-width:400px;}

  /* Ella-ments + Profile panels: full-screen */
  .em-panel{width:100vw;}
  .prof-panel{width:100vw;}
  .prof-tabs-nav{width:120px;min-width:120px;}
  .prof-tab-item{padding:8px 12px;font-size:11px;}

  /* Runner is hidden, no need for playbook button in sub-header */
  .em-btn{font-size:11px;}

  /* SB2 sidebar: slide-in overlay on mobile */
  #sb2-container{position:fixed;left:0;top:0;bottom:0;width:280px!important;transform:translateX(-100%);transition:transform .25s ease,opacity .2s ease;z-index:200;box-shadow:14px 0 48px rgba(0,0,0,.85);opacity:0;pointer-events:none;}
  #sb2-container.mob-open{transform:translateX(0)!important;opacity:1!important;pointer-events:auto!important;}
  .has-sb2 .app-body{margin-left:0!important;}
  .has-sb2 .mob-menu-btn{display:flex;}
  .has-sb2 .logo{width:auto!important;padding-left:8px!important;}
}
/* Tablet: auto-collapse sb2 sidebar between 768-1024px */
@media(max-width:1024px) and (min-width:768px){
  #sb2-container{width:240px;}
  .has-sb2 .app-body{margin-left:240px;transition:margin-left .2s ease;}
  .sb2-collapsed.has-sb2 .app-body{margin-left:0;}
}
@media(max-width:700px){
  #sb2-container{position:fixed;left:0;top:0;bottom:0;width:280px!important;transform:translateX(-100%);transition:transform .25s ease,opacity .2s ease;z-index:200;box-shadow:14px 0 48px rgba(0,0,0,.85);opacity:0;pointer-events:none;}
  #sb2-container.mob-open{transform:translateX(0)!important;opacity:1!important;pointer-events:auto!important;}
  .has-sb2 .app-body{margin-left:0!important;}
  .has-sb2 .mob-menu-btn{display:flex;}
  .has-sb2 .logo{width:auto!important;padding-left:8px!important;}
}
/* ── CONNECTORS POPOVER ── */
.integ-pop{position:fixed;top:50px;right:14px;width:280px;background:var(--bg-secondary);border:1px solid var(--border-divider);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.85);z-index:500;overflow:hidden;display:none;}
.integ-pop.open{display:block;}
.integ-pop-hdr{padding:12px 14px 10px;border-bottom:1px solid var(--bg-hover);display:flex;align-items:center;justify-content:space-between;}
.integ-pop-title{font-size:11px;font-weight:700;color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase;}
.integ-pop-sub{font-size:10px;color:var(--border-medium);margin-top:1px;}
.integ-pop-x{width:20px;height:20px;border-radius:5px;background:transparent;border:none;color:var(--text-disabled);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:color .1s;}
.integ-pop-x:hover{color:var(--text-tertiary);}
.integ-body{padding:8px 0 10px;max-height:calc(100vh - 120px);overflow-y:auto;}
.integ-grp{margin-bottom:2px;}
.integ-grp-lbl{font-size:9px;font-weight:700;color:var(--border-medium);letter-spacing:.08em;text-transform:uppercase;padding:6px 14px 3px;}
.integ-row{display:flex;align-items:center;gap:10px;padding:6px 14px;}
.integ-ico{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.integ-ico svg{width:14px;height:14px;}
.integ-info{flex:1;}
.integ-name{font-size:12px;color:var(--text-secondary);font-weight:500;}
.integ-st{font-size:10px;margin-top:1px;}
.integ-st.on{color:var(--ws-accent);}
.integ-st.off{color:var(--text-disabled);}
.integ-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.integ-dot.on{background:var(--ws-accent);}
.integ-dot.off{background:var(--border-primary);}

/* ── WORKSPACE META (left panel) ── */
.ws-meta{padding:8px 12px 10px;border-bottom:1px solid var(--bg-panel);}
/* Workspace settings popup */
.ws-pop{position:absolute;top:100%;left:8px;right:8px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:10px;box-shadow:0 12px 36px rgba(0,0,0,.7);z-index:250;display:none;padding:10px 0;margin-top:4px;}
.ws-pop.open{display:block;}
.ws-pop-row{display:flex;align-items:center;gap:8px;padding:7px 14px;cursor:pointer;font-size:12px;color:var(--text-dim);transition:background .1s,color .1s;}
.ws-pop-row:hover{background:var(--bg-hover);color:var(--text-brightest);}
.ws-pop-row svg{width:14px;height:14px;flex-shrink:0;color:var(--text-ghost);}
.ws-pop-row:hover svg{color:var(--text-dim);}
.ws-pop-row.danger{color:var(--status-error);}
.ws-pop-row.danger:hover{background:#1c1414;color:var(--status-error-alt);}
.ws-pop-row.danger:hover svg{color:var(--status-error-alt);}
.ws-pop-div{height:1px;background:var(--border-divider);margin:4px 0;}
.ws-pop-vis{display:flex;gap:4px;padding:6px 14px;}
.ws-pop-vis-btn{flex:1;padding:5px 0;border-radius:6px;border:1px solid var(--border-divider);background:transparent;color:var(--text-ghost);font-size:11px;font-family:inherit;cursor:pointer;transition:all .15s;}
.ws-pop-vis-btn:hover{border-color:var(--border-medium);color:var(--text-muted);}
.ws-pop-vis-btn.active{background:var(--bg-input);border-color:var(--text-disabled);color:var(--text-lighter);}
.ws-pop-colors{display:flex;gap:6px;padding:6px 14px;flex-wrap:wrap;}
.ws-pop-cswatch{width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color .15s,transform .1s;}
.ws-pop-cswatch:hover{transform:scale(1.15);}
.ws-pop-cswatch.sel{border-color:var(--text-white);}
.ws-color-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.ws-color-swatch{width:14px;height:14px;border-radius:4px;flex-shrink:0;border:1px solid rgba(255,255,255,.08);}
.ws-color-lbl{font-size:10px;color:var(--text-disabled);flex:1;}
.ws-color-edit{font-size:10px;color:var(--border-medium);background:transparent;border:none;cursor:pointer;padding:0;transition:color .1s;}
.ws-color-edit:hover{color:var(--text-faint);}
.ws-badge-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;}
.ws-badge{display:flex;align-items:center;gap:7px;}
.ws-badge-lbl{font-size:10px;color:var(--text-disabled);width:62px;flex-shrink:0;}
.ws-badge-val{font-size:11px;color:var(--text-muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ws-vis{display:flex;align-items:center;gap:0;background:var(--bg-chat-sub);border:1px solid var(--bg-input);border-radius:7px;overflow:hidden;margin-bottom:10px;}
.ws-vis-btn{flex:1;padding:5px 0;font-size:10px;font-weight:600;background:transparent;border:none;cursor:pointer;transition:background .15s,color .15s;color:var(--border-medium);letter-spacing:.02em;}
.ws-vis-btn.active{background:var(--bg-input);color:var(--text-secondary);}
.ws-vis-btn:hover:not(.active){color:var(--text-subtle);}
.ws-acts{display:flex;gap:4px;flex-wrap:wrap;}
.ws-act{font-size:10px;color:var(--text-disabled);background:transparent;border:1px solid var(--bg-input);border-radius:5px;padding:3px 8px;cursor:pointer;transition:color .15s,border-color .15s,background .15s;white-space:nowrap;}
.ws-act:hover{color:var(--text-secondary-dim);border-color:var(--border-primary);background:var(--bg-hover-sm);}
.ws-act.danger:hover{color:var(--status-error);border-color:rgba(224,85,85,.3);}

/* ── LOGIN SCREEN ── */
.login-screen{position:fixed;inset:0;z-index:9999;background:var(--bg-app);display:none;align-items:center;justify-content:center;flex-direction:column;}
.login-screen.visible{display:flex;}
.login-card{width:340px;background:var(--bg-secondary);border:1px solid var(--bg-input);border-radius:16px;padding:40px 36px 36px;display:flex;flex-direction:column;align-items:center;gap:0;}
.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.login-badge{width:34px;height:34px;border-radius:9px;background:var(--ws-accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--text-white);letter-spacing:-.5px;flex-shrink:0;}
.login-wordmark{font-size:20px;font-weight:700;color:var(--text-lighter);letter-spacing:-.3px;}
.login-sub{font-size:11px;color:var(--text-disabled);letter-spacing:.08em;text-transform:uppercase;margin-bottom:32px;}
.login-input{width:100%;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:9px;color:var(--text-primary-dim);font-size:14px;padding:11px 14px;outline:none;box-sizing:border-box;transition:border-color .15s;font-family:inherit;letter-spacing:.06em;}
.login-input:focus{border-color:rgba(var(--ws-accent-rgb),.5);}
.login-input::placeholder{color:var(--border-medium);letter-spacing:0;}
.login-btn{margin-top:10px;width:100%;background:var(--ws-accent);border:none;border-radius:9px;color:var(--text-white);font-size:13px;font-weight:700;padding:11px;cursor:pointer;font-family:inherit;transition:background .15s;}
.login-btn:hover{background:var(--accent-hover);}
.login-btn:active{background:var(--accent-hover);}
.login-err{min-height:18px;font-size:11px;color:var(--status-error);margin-top:10px;text-align:center;}
.login-hint{font-size:10px;color:var(--border-primary);margin-top:18px;text-align:center;}
@media(max-width:400px){.login-card{width:calc(100vw - 32px);padding:32px 24px 28px;}}
/* ═══ Bananaland — The Dark Room ═══ */
.dr-room{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:flex-start;position:relative;overflow:hidden;}
.dr-room::before{content:'';position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgba(253,196,36,0.06) 0%,transparent 70%);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);transition:all 2s ease;pointer-events:none;}
.dr-room.dr-warm::before{width:500px;height:500px;background:radial-gradient(circle,rgba(253,196,36,0.1) 0%,transparent 70%);}
.dr-room.dr-hot::before{width:800px;height:800px;background:radial-gradient(circle,rgba(253,196,36,0.14) 0%,transparent 70%);}
.dr-flow{flex:1;width:100%;max-width:580px;overflow-y:auto;display:flex;flex-direction:column;gap:28px;padding:40px 20px;scrollbar-width:none;-ms-overflow-style:none;}
.dr-flow::-webkit-scrollbar{display:none;}
.dr-prompt{font-size:22px;font-weight:300;color:rgba(232,224,216,0.7);text-align:center;animation:drFadeIn 1.5s ease;line-height:1.5;}
@keyframes drFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.dr-yours{font-size:15px;text-align:right;padding-right:8px;line-height:1.6;animation:drFadeIn 0.4s ease;background:rgba(26,18,0,0.85);color:#fff;border-radius:10px;padding:8px 14px;align-self:flex-end;max-width:80%;}
.dr-response{font-size:17px;line-height:1.8;animation:drFadeIn 0.8s ease;background:rgba(255,255,255,0.92);color:#1a1200;border-radius:10px;padding:10px 14px;align-self:flex-start;max-width:85%;}
.dr-response em{color:#6b4a00;}
.dr-response strong{color:#1a1200;font-weight:600;}
.dr-thinking{font-size:13px;color:#1a1200;font-style:italic;animation:drPulse 1.5s ease-in-out infinite;}
@keyframes drPulse{0%,100%{opacity:0.3;}50%{opacity:0.7;}}
.dr-input-area{width:100%;max-width:580px;padding:12px 20px;flex-shrink:0;z-index:10;background:rgba(26,18,0,0.3);border-top:1px solid rgba(26,18,0,0.15);margin:0 auto;}
.dr-input{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(253,196,36,0.1);outline:none;color:rgba(232,224,216,0.8);font-size:16px;font-family:inherit;padding:12px 0;resize:none;text-align:center;transition:border-color .3s;}
.dr-input:focus{border-color:rgba(253,196,36,0.3);}
.dr-input::placeholder{color:rgba(255,255,255,0.1);}
.dr-highlight{cursor:pointer;transition:color .2s;}.dr-highlight:hover{color:rgba(126,203,161,0.8);}
.dr-harvest-bar{width:100%;max-width:580px;padding:12px 20px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;}
.dr-harvest-pill{font-size:11px;padding:4px 10px;border-radius:12px;background:rgba(126,203,161,0.1);border:1px solid rgba(126,203,161,0.2);color:rgba(126,203,161,0.6);cursor:pointer;transition:all .15s;}
.dr-harvest-pill:hover{background:rgba(126,203,161,0.2);color:var(--status-green);}

/* ── The Porch ── */
#porch-btn.sbar-btn{border-color:var(--border-primary);color:var(--text-secondary);}
#porch-btn.sbar-btn:hover{background:rgba(var(--ws-accent-rgb),.1);border-color:var(--accent-primary);color:var(--accent-primary);}
.porch-room{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:flex-start;position:relative;overflow:hidden;background:var(--surface-elevated);transition:background 1.5s ease;padding-top:60px;}
.porch-room::before{content:'';position:absolute;width:200px;height:200px;background:radial-gradient(circle,rgba(var(--ws-accent-rgb),0.08) 0%,transparent 70%);border-radius:50%;top:40%;left:50%;transform:translate(-50%,-50%);animation:porchBreathe 4s ease-in-out infinite;pointer-events:none;}
@keyframes porchBreathe{0%,100%{opacity:0.3;width:200px;height:200px;}50%{opacity:0.6;width:280px;height:280px;}}
.porch-flow{flex:1;width:100%;max-width:520px;overflow-y:auto;display:flex;flex-direction:column;gap:32px;padding:48px 20px;scrollbar-width:thin;scrollbar-color:var(--border-primary) transparent;}
.porch-flow::-webkit-scrollbar{width:4px;}
.porch-flow::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px;}
.porch-flow::-webkit-scrollbar-track{background:transparent;}
.porch-opening{font-size:20px;font-weight:300;color:var(--text-tertiary);text-align:center;animation:porchFadeIn 2s ease;line-height:1.7;font-style:italic;}
.porch-yours{font-size:15px;color:var(--text-tertiary);text-align:right;padding-right:8px;line-height:1.7;animation:porchFadeIn 0.5s ease;}
.porch-ella{font-size:16px;color:var(--text-secondary);line-height:1.8;animation:porchFadeIn 1s ease;font-style:italic;max-width:85%;}
.porch-thinking{font-size:13px;color:var(--accent-primary);opacity:0.25;font-style:italic;animation:porchPulse 2s ease-in-out infinite;}
@keyframes porchPulse{0%,100%{opacity:0.15;}50%{opacity:0.35;}}
@keyframes porchFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
.porch-input-area{width:100%;max-width:520px;padding:20px;flex-shrink:0;background:var(--surface-elevated);z-index:10;margin:0 auto;}
.porch-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-subtle);outline:none;color:var(--text-primary);font-size:15px;font-family:inherit;padding:14px 0;resize:none;text-align:center;transition:border-color .4s;}
.porch-input:focus{border-color:var(--border-default);}
.porch-input::placeholder{color:var(--text-muted);}
.porch-save-prompt{font-size:14px;color:var(--text-tertiary);text-align:center;padding:16px;animation:porchFadeIn 1s ease;}
.porch-save-btn{background:var(--surface-elevated);border:1px solid var(--border-default);color:var(--accent-primary);padding:6px 16px;border-radius:14px;font-size:13px;cursor:pointer;transition:all .2s;margin:0 6px;}
.porch-save-btn:hover{background:var(--surface-hover);color:var(--accent-primary);}

/* ── MCP Connectors Overlay ── */
/* ── Welcome Email Overlay (superadmin only) ── */
#we-overlay{display:none;position:fixed;inset:0;z-index:9100;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);align-items:flex-start;justify-content:center;padding:30px 20px;}
#we-overlay.open{display:flex;}
.we-panel{background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:16px;width:100%;max-width:1100px;max-height:calc(100vh - 60px);display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.8);}
.we-hdr{padding:16px 24px 12px;border-bottom:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.we-title{font-size:17px;font-weight:700;color:var(--text-primary-dim);}
.we-subtitle{font-size:11px;color:var(--text-subtle);margin-top:2px;}
.we-close{background:none;border:none;color:var(--text-subtle);font-size:22px;cursor:pointer;padding:4px 8px;line-height:1;}.we-close:hover{color:var(--text-white);}
.we-body{display:flex;flex:1;min-height:0;overflow:hidden;}
.we-form-col{width:400px;min-width:360px;overflow-y:auto;padding:20px 24px;border-right:1px solid var(--border-default);}
.we-preview-col{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--surface-base);}
.we-preview-hdr{padding:12px 20px;border-bottom:1px solid var(--border-primary);font-size:12px;font-weight:600;color:var(--text-muted);display:flex;align-items:center;justify-content:space-between;}
.we-preview-frame{flex:1;border:none;width:100%;background:#f4f4f4;}
.we-field{margin-bottom:14px;}
.we-field label{display:block;font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:5px;letter-spacing:.3px;}
.we-field input[type="text"],.we-field input[type="email"],.we-field select{width:100%;box-sizing:border-box;padding:9px 12px;background:var(--surface-input);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s;}
.we-field input:focus,.we-field select:focus{border-color:var(--accent-primary);}
.we-field input[type="color"]{width:48px;height:32px;border:1px solid var(--border-default);border-radius:4px;background:var(--surface-input);cursor:pointer;padding:2px;}
.we-color-row{display:flex;align-items:center;gap:10px;}
.we-color-hex{font-size:12px;color:var(--text-muted);font-family:'Courier New',monospace;}
.we-field-row{display:flex;gap:8px;align-items:flex-end;}
.we-field-row .we-field{flex:1;}
.we-gen-btn{padding:9px 12px;background:var(--border-subtle);border:1px solid var(--text-disabled);border-radius:6px;color:var(--accent-primary);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit;transition:background .15s;}.we-gen-btn:hover{background:var(--border-default);}
.we-actions{padding:16px 24px;border-top:1px solid var(--border-default);display:flex;gap:10px;flex-shrink:0;}
.we-btn-primary{padding:10px 20px;background:var(--accent-primary);color:var(--text-inverse);border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s;}.we-btn-primary:hover{opacity:.85;}.we-btn-primary:disabled{opacity:.4;cursor:not-allowed;}
.we-btn-secondary{padding:10px 20px;background:var(--border-subtle);color:var(--text-secondary);border:1px solid var(--text-disabled);border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit;transition:background .15s;}.we-btn-secondary:hover{background:var(--border-default);}
.we-status{font-size:12px;color:var(--text-muted);margin-left:auto;align-self:center;}
.we-status.ok{color:var(--status-success);}.we-status.err{color:var(--status-error);}
#mcp-overlay{display:none;position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);align-items:flex-start;justify-content:center;padding:40px 20px;}
#mcp-overlay.open{display:flex;}
.mcp-panel{background:var(--bg-secondary);border:1px solid var(--border-divider);border-radius:16px;width:100%;max-width:960px;max-height:calc(100vh - 80px);display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.8);}
.mcp-hdr{padding:18px 24px 14px;border-bottom:1px solid var(--bg-input);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.mcp-hdr-left{display:flex;align-items:center;gap:14px;}
.mcp-title{font-size:17px;font-weight:700;color:var(--text-primary-dim);}
.mcp-subtitle{font-size:11px;color:var(--text-disabled);margin-top:2px;}
.mcp-tabs{display:flex;gap:2px;background:var(--bg-hover);border-radius:8px;padding:2px;}
.mcp-tab{padding:6px 14px;border:none;background:none;color:var(--text-subtle);font-size:11px;font-weight:600;border-radius:6px;cursor:pointer;font-family:inherit;transition:all .15s;}
.mcp-tab:hover{color:var(--text-tertiary);}
.mcp-tab.active{background:var(--accent-primary);color:var(--text-inverse);}
.mcp-close{background:none;border:none;color:var(--text-ghost);font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;border-radius:6px;transition:color .15s;}
.mcp-close:hover{color:var(--text-white);}
.mcp-body{flex:1;overflow-y:auto;padding:20px 24px 32px;}
.mcp-section-hdr{font-size:11px;font-weight:700;color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px;}
.mcp-connected-bar{margin-bottom:20px;}
.mcp-connected-list{display:flex;flex-direction:column;gap:6px;margin-bottom:4px;}
.mcp-connected-row{display:flex;align-items:center;gap:10px;background:var(--bg-tertiary);border:1px solid var(--bg-input);border-radius:8px;padding:8px 12px;}
.mcp-conn-dot{width:7px;height:7px;border-radius:50%;background:var(--status-success);flex-shrink:0;}
.mcp-conn-name{font-size:13px;font-weight:600;color:var(--text-secondary);flex:1;}
.mcp-conn-scope{font-size:10px;color:var(--text-ghost);background:var(--bg-hover);border-radius:4px;padding:2px 7px;}
.mcp-conn-date{font-size:10px;color:var(--text-disabled);}
.mcp-disconnect-btn{font-size:10px;color:var(--text-subtle);background:none;border:1px solid var(--border-primary);border-radius:5px;padding:3px 9px;cursor:pointer;transition:all .15s;font-family:inherit;}
.mcp-disconnect-btn:hover{border-color:var(--status-error);color:var(--status-error-alt);}
.mcp-divider{height:1px;background:var(--bg-input);margin:16px 0;}
.mcp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;}
.mcp-card{background:var(--bg-tertiary);border:1px solid var(--border-divider);border-radius:12px;padding:14px;cursor:pointer;transition:border-color .15s,transform .12s;position:relative;}
.mcp-card:hover{border-color:var(--accent-primary);transform:translateY(-1px);}
.mcp-card.mcp-card-connected{border-color:#2a3a2a;}
.mcp-card.mcp-card-recommended{border-color:#3a3020;}
.mcp-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.mcp-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--text-white);flex-shrink:0;}
.mcp-status-dot{width:8px;height:8px;border-radius:50%;background:var(--border-medium);}
.mcp-status-dot.connected{background:var(--status-success);}
.mcp-card-name{font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:3px;}
.mcp-card-desc{font-size:11px;color:var(--text-ghost);line-height:1.45;margin-bottom:10px;}
.mcp-card-footer{display:flex;align-items:center;justify-content:space-between;}
.mcp-cat-badge{font-size:9px;font-weight:700;color:var(--text-ghost);background:var(--bg-hover);border-radius:4px;padding:2px 7px;letter-spacing:.03em;text-transform:uppercase;}
.mcp-rec-badge{font-size:9px;font-weight:700;color:#c8a96e;background:rgba(200,169,110,.1);border-radius:4px;padding:2px 7px;letter-spacing:.03em;}
.mcp-connect-btn{font-size:10px;font-weight:600;background:var(--accent-primary);color:var(--text-inverse);border:none;border-radius:6px;padding:4px 12px;cursor:pointer;font-family:inherit;transition:opacity .15s;}
.mcp-connect-btn:hover{opacity:.85;}
.mcp-connect-btn.connected{background:var(--surface-elevated);color:var(--status-success);border:1px solid var(--border-subtle);}
/* MCP Connection Modal */
#mcp-modal-overlay{display:none;position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,.8);backdrop-filter:blur(3px);align-items:center;justify-content:center;}
#mcp-modal-overlay.open{display:flex;}
.mcp-modal{background:var(--bg-hover-sm);border:1px solid var(--border-primary);border-radius:14px;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.9);}
.mcp-modal-hdr{padding:18px 20px 14px;border-bottom:1px solid var(--bg-input);display:flex;align-items:flex-start;justify-content:space-between;}
.mcp-modal-title{font-size:15px;font-weight:700;color:var(--text-primary-dim);}
.mcp-modal-sub{font-size:11px;color:var(--text-ghost);margin-top:3px;}
.mcp-modal-close{background:none;border:none;color:var(--text-ghost);font-size:20px;cursor:pointer;padding:0 4px;line-height:1;}
.mcp-modal-close:hover{color:var(--text-white);}
.mcp-modal-body{padding:18px 20px;}
.mcp-scope-row{display:flex;gap:8px;margin-bottom:16px;}
.mcp-scope-btn{flex:1;padding:7px 12px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-subtle);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;text-align:center;}
.mcp-scope-btn:hover{border-color:var(--text-disabled);color:var(--text-tertiary);}
.mcp-scope-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse);}
.mcp-field-row{margin-bottom:14px;}
.mcp-field-label{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:5px;display:flex;align-items:center;gap:6px;}
.mcp-field-required{color:var(--status-error);font-size:9px;}
.mcp-field-input{width:100%;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-lighter);font-size:13px;padding:8px 12px;font-family:inherit;box-sizing:border-box;transition:border-color .15s;}
.mcp-field-input:focus{outline:none;border-color:var(--accent-primary);}
.mcp-field-help{font-size:10px;color:var(--text-disabled);margin-top:4px;line-height:1.4;}
.mcp-field-help strong{color:var(--text-subtle);}
.mcp-security-note{font-size:10px;color:var(--text-disabled);background:var(--bg-primary);border:1px solid var(--bg-input);border-radius:6px;padding:8px 12px;margin:16px 0;line-height:1.5;}
.mcp-modal-footer{display:flex;gap:8px;padding:12px 20px 18px;border-top:1px solid var(--bg-hover);}
.mcp-test-btn{flex:1;padding:9px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;}
.mcp-test-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);}
.mcp-save-btn{flex:2;padding:9px;background:var(--accent-primary);border:none;border-radius:8px;color:var(--text-inverse);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity .15s;}
.mcp-save-btn:hover{opacity:.85;}
.mcp-oauth-note{font-size:12px;color:var(--text-muted);text-align:center;padding:20px;line-height:1.6;}
/* MCP List View */
.mcp-search-wrap{padding:10px 24px 0;flex-shrink:0;position:relative;}
.mcp-search-icon{position:absolute;left:36px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text-ghost);pointer-events:none;}
.mcp-search-input{width:100%;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);font-size:13px;padding:8px 12px 8px 36px;font-family:inherit;box-sizing:border-box;transition:border-color .15s;outline:none;}
.mcp-search-input:focus{border-color:var(--accent-primary);}
.mcp-search-input::placeholder{color:var(--text-disabled);}
.mcp-list-section{margin-bottom:24px;}
.mcp-list-cat-hdr{font-size:10px;font-weight:700;color:var(--text-ghost);letter-spacing:.08em;text-transform:uppercase;padding:0 0 8px;border-bottom:1px solid var(--bg-hover);margin-bottom:4px;}
.mcp-list-row{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .12s;border:1px solid transparent;}
.mcp-list-row:hover{background:var(--bg-tertiary);border-color:var(--border-subtle);}
.mcp-list-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.mcp-list-icon svg{display:block;}
.mcp-list-info{flex:1;min-width:0;}
.mcp-list-name{font-size:13px;font-weight:600;color:var(--text-secondary-dim);}
.mcp-list-desc{font-size:11px;color:var(--text-ghost);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mcp-list-connected{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--status-green-dark);flex-shrink:0;}
.mcp-conn-dot-green{width:6px;height:6px;border-radius:50%;background:var(--status-success);flex-shrink:0;}
.mcp-list-connect-btn{flex-shrink:0;font-size:11px;font-weight:600;background:none;color:var(--accent-primary);border:1px solid var(--accent-primary)55;border-radius:6px;padding:4px 12px;cursor:pointer;font-family:inherit;transition:all .15s;}
.mcp-list-connect-btn:hover{background:var(--accent-primary)15;border-color:var(--accent-primary);}

/* ── Discover modal ── */
.disc-overlay{position:fixed;inset:48px 80px;z-index:8500;background:var(--surface-base);display:flex;flex-direction:column;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.5);border:1px solid var(--border-subtle);}
.disc-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px 12px;border-bottom:1px solid var(--border-subtle);}
.disc-title{font-size:18px;font-weight:700;color:var(--accent-primary);letter-spacing:-.01em;}
.disc-subtitle{font-size:11px;color:var(--text-tertiary);margin-top:2px;}
.disc-close{width:36px;height:36px;border-radius:10px;border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.disc-close:hover{background:var(--surface-hover);}
.disc-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:12px;}
.disc-loading{text-align:center;color:var(--text-tertiary);font-size:13px;padding:40px 0;}
.disc-card{background:var(--surface-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:16px 18px;cursor:pointer;transition:background .15s,border-color .15s;}
.disc-card:hover{background:var(--surface-tertiary);border-color:var(--border-strong);}
.disc-card-title{font-size:14px;font-weight:600;color:var(--accent-primary);margin-bottom:4px;}
.disc-card-desc{font-size:12px;color:var(--text-secondary);line-height:1.4;}
.disc-own{margin-top:8px;padding:12px 16px;background:transparent;border:1px dashed var(--border-subtle);border-radius:12px;cursor:pointer;color:var(--text-muted);font-size:12px;text-align:center;transition:color .15s,border-color .15s;}
.disc-own:hover{color:var(--accent-primary);border-color:var(--border-default);}
/* notification popup styles already defined above */
/* payment modal styles already defined above */

/* ── MCP Connectors Overlay ── */
#mcp-overlay{display:none;position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);align-items:flex-start;justify-content:center;padding:40px 20px;}
#mcp-overlay.open{display:flex;}
.mcp-panel{background:var(--bg-secondary);border:1px solid var(--border-divider);border-radius:16px;width:100%;max-width:960px;max-height:calc(100vh - 80px);display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.8);}
.mcp-hdr{padding:18px 24px 14px;border-bottom:1px solid var(--bg-input);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.mcp-hdr-left{display:flex;align-items:center;gap:14px;}
.mcp-title{font-size:17px;font-weight:700;color:var(--text-primary-dim);}
.mcp-subtitle{font-size:11px;color:var(--text-disabled);margin-top:2px;}
.mcp-tabs{display:flex;gap:2px;background:var(--bg-hover);border-radius:8px;padding:2px;}
.mcp-tab{padding:6px 14px;border:none;background:none;color:var(--text-subtle);font-size:11px;font-weight:600;border-radius:6px;cursor:pointer;font-family:inherit;transition:all .15s;}
.mcp-tab:hover{color:var(--text-tertiary);}
.mcp-tab.active{background:var(--accent-primary);color:var(--text-inverse);}
.mcp-close{background:none;border:none;color:var(--text-ghost);font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;border-radius:6px;transition:color .15s;}
.mcp-close:hover{color:var(--text-white);}
.mcp-body{flex:1;overflow-y:auto;padding:20px 24px 32px;}
.mcp-section-hdr{font-size:11px;font-weight:700;color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px;}
.mcp-connected-bar{margin-bottom:20px;}
.mcp-connected-list{display:flex;flex-direction:column;gap:6px;margin-bottom:4px;}
.mcp-connected-row{display:flex;align-items:center;gap:10px;background:var(--bg-tertiary);border:1px solid var(--bg-input);border-radius:8px;padding:8px 12px;}
.mcp-conn-dot{width:7px;height:7px;border-radius:50%;background:var(--status-success);flex-shrink:0;}
.mcp-conn-name{font-size:13px;font-weight:600;color:var(--text-secondary);flex:1;}
.mcp-conn-scope{font-size:10px;color:var(--text-ghost);background:var(--bg-hover);border-radius:4px;padding:2px 7px;}
.mcp-conn-date{font-size:10px;color:var(--text-disabled);}
.mcp-disconnect-btn{font-size:10px;color:var(--text-subtle);background:none;border:1px solid var(--border-primary);border-radius:5px;padding:3px 9px;cursor:pointer;transition:all .15s;font-family:inherit;}
.mcp-disconnect-btn:hover{border-color:var(--status-error);color:var(--status-error-alt);}
.mcp-divider{height:1px;background:var(--bg-input);margin:16px 0;}
.mcp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;}
.mcp-card{background:var(--bg-tertiary);border:1px solid var(--border-divider);border-radius:12px;padding:14px;cursor:pointer;transition:border-color .15s,transform .12s;position:relative;}
.mcp-card:hover{border-color:var(--accent-primary);transform:translateY(-1px);}
.mcp-card.mcp-card-connected{border-color:#2a3a2a;}
.mcp-card.mcp-card-recommended{border-color:#3a3020;}
.mcp-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.mcp-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--text-white);flex-shrink:0;}
.mcp-status-dot{width:8px;height:8px;border-radius:50%;background:var(--border-medium);}
.mcp-status-dot.connected{background:var(--status-success);}
.mcp-card-name{font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:3px;}
.mcp-card-desc{font-size:11px;color:var(--text-ghost);line-height:1.45;margin-bottom:10px;}
.mcp-card-footer{display:flex;align-items:center;justify-content:space-between;}
.mcp-cat-badge{font-size:9px;font-weight:700;color:var(--text-ghost);background:var(--bg-hover);border-radius:4px;padding:2px 7px;letter-spacing:.03em;text-transform:uppercase;}
.mcp-rec-badge{font-size:9px;font-weight:700;color:#c8a96e;background:rgba(200,169,110,.1);border-radius:4px;padding:2px 7px;letter-spacing:.03em;}
.mcp-connect-btn{font-size:10px;font-weight:600;background:var(--accent-primary);color:var(--text-inverse);border:none;border-radius:6px;padding:4px 12px;cursor:pointer;font-family:inherit;transition:opacity .15s;}
.mcp-connect-btn:hover{opacity:.85;}
.mcp-connect-btn.connected{background:var(--surface-elevated);color:var(--status-success);border:1px solid var(--border-subtle);}
/* MCP Connection Modal */
#mcp-modal-overlay{display:none;position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,.8);backdrop-filter:blur(3px);align-items:center;justify-content:center;}
#mcp-modal-overlay.open{display:flex;}
.mcp-modal{background:var(--bg-hover-sm);border:1px solid var(--border-primary);border-radius:14px;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.9);}
.mcp-modal-hdr{padding:18px 20px 14px;border-bottom:1px solid var(--bg-input);display:flex;align-items:flex-start;justify-content:space-between;}
.mcp-modal-title{font-size:15px;font-weight:700;color:var(--text-primary-dim);}
.mcp-modal-sub{font-size:11px;color:var(--text-ghost);margin-top:3px;}
.mcp-modal-close{background:none;border:none;color:var(--text-ghost);font-size:20px;cursor:pointer;padding:0 4px;line-height:1;}
.mcp-modal-close:hover{color:var(--text-white);}
.mcp-modal-body{padding:18px 20px;}
.mcp-scope-row{display:flex;gap:8px;margin-bottom:16px;}
.mcp-scope-btn{flex:1;padding:7px 12px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-subtle);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;text-align:center;}
.mcp-scope-btn:hover{border-color:var(--text-disabled);color:var(--text-tertiary);}
.mcp-scope-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse);}
.mcp-field-row{margin-bottom:14px;}
.mcp-field-label{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:5px;display:flex;align-items:center;gap:6px;}
.mcp-field-required{color:var(--status-error);font-size:9px;}
.mcp-field-input{width:100%;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-lighter);font-size:13px;padding:8px 12px;font-family:inherit;box-sizing:border-box;transition:border-color .15s;}
.mcp-field-input:focus{outline:none;border-color:var(--accent-primary);}
.mcp-field-help{font-size:10px;color:var(--text-disabled);margin-top:4px;line-height:1.4;}
.mcp-field-help strong{color:var(--text-subtle);}
.mcp-security-note{font-size:10px;color:var(--text-disabled);background:var(--bg-primary);border:1px solid var(--bg-input);border-radius:6px;padding:8px 12px;margin:16px 0;line-height:1.5;}
.mcp-modal-footer{display:flex;gap:8px;padding:12px 20px 18px;border-top:1px solid var(--bg-hover);}
.mcp-test-btn{flex:1;padding:9px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;}
.mcp-test-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);}
.mcp-save-btn{flex:2;padding:9px;background:var(--accent-primary);border:none;border-radius:8px;color:var(--text-inverse);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity .15s;}
.mcp-save-btn:hover{opacity:.85;}
.mcp-oauth-note{font-size:12px;color:var(--text-muted);text-align:center;padding:20px;line-height:1.6;}

/* ── Discover modal ── */
.disc-overlay{position:fixed;inset:48px 80px;z-index:8500;background:var(--surface-base);display:flex;flex-direction:column;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.5);border:1px solid var(--border-subtle);}
.disc-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px 12px;border-bottom:1px solid var(--border-subtle);}
.disc-title{font-size:18px;font-weight:700;color:var(--accent-primary);letter-spacing:-.01em;}
.disc-sub{font-size:11px;color:var(--text-tertiary);margin-left:12px;}
.disc-close{width:36px;height:36px;border-radius:10px;border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.disc-close:hover{background:var(--surface-hover);}
.disc-body{flex:1;overflow-y:auto;padding:32px 24px;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;}
.disc-loading{font-size:13px;color:var(--text-tertiary);}
.disc-cards{display:flex;flex-direction:column;gap:12px;max-width:600px;width:100%;}
.disc-card{padding:16px 20px;border-radius:12px;border:1px solid var(--border-primary);background:var(--surface-secondary);cursor:pointer;transition:background .15s,border-color .15s;}
.disc-card:hover{background:var(--surface-tertiary);border-color:var(--border-strong);}
.disc-card-title{font-size:14px;font-weight:600;color:var(--accent-primary);margin-bottom:4px;}
.disc-card-desc{font-size:12px;color:var(--text-secondary);line-height:1.4;}
.disc-or{font-size:11px;color:var(--text-muted);text-align:center;padding:4px 0;}
.disc-custom{display:flex;gap:8px;max-width:600px;width:100%;margin-top:8px;}
.disc-custom input{flex:1;background:var(--surface-input);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);padding:10px 14px;font-size:13px;font-family:inherit;outline:none;}
.disc-custom input::placeholder{color:var(--text-muted);}
.disc-custom button{padding:10px 16px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-elevated);color:var(--accent-primary);font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s;}
.disc-custom button:hover{background:var(--surface-hover);}
/* ── Notification popup ── */
.notif-pop{display:none;position:absolute;top:46px;right:80px;width:320px;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.6);z-index:350;overflow:hidden;}
.notif-pop.open{display:block;}
.notif-pop-hdr{padding:12px 16px;border-bottom:1px solid var(--border-divider);font-size:12px;font-weight:600;color:var(--text-muted);}
.notif-pop-body{padding:8px 0;max-height:320px;overflow-y:auto;}
.notif-item{padding:10px 16px;font-size:12px;color:var(--text-dim);line-height:1.5;border-bottom:1px solid var(--bg-input);transition:background .15s;}
.notif-item:last-child{border-bottom:none;}
.notif-item:hover{background:var(--bg-input);}
.notif-item .ni-title{color:var(--text-lighter);font-weight:500;}
.notif-item .ni-time{font-size:10px;color:var(--text-ghost);margin-top:2px;}
.notif-trial{padding:12px 16px;background:rgba(var(--ws-accent-rgb),.05);border-bottom:1px solid rgba(var(--ws-accent-rgb),.1);}
.notif-trial-text{font-size:12px;color:var(--ws-accent);line-height:1.5;}
/* ── Payment modal ── */
.pay-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(3px);z-index:500;display:flex;align-items:center;justify-content:center;}
.pay-modal{background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:16px;padding:28px;max-width:420px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.8);}
.pay-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:4px;}
.pay-desc{font-size:12px;color:var(--text-subtle);margin-bottom:20px;}
.pay-plan{padding:14px;border-radius:10px;border:1px solid rgba(var(--ws-accent-rgb),.2);background:rgba(var(--ws-accent-rgb),.05);margin-bottom:16px;}
.pay-plan-name{font-size:14px;font-weight:600;color:var(--ws-accent);}
.pay-plan-price{font-size:12px;color:var(--text-muted);margin-top:2px;}
#pay-card-element{padding:14px;border-radius:8px;border:1px solid var(--border-medium);background:var(--bg-secondary);margin-bottom:16px;}
.pay-btn{width:100%;padding:12px;border-radius:10px;border:none;background:var(--ws-accent);color:var(--bg-secondary);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s;}
.pay-btn:hover{opacity:.9;}
.pay-btn:disabled{opacity:.4;cursor:not-allowed;}
.pay-cancel{width:100%;padding:8px;margin-top:8px;border:none;background:transparent;color:var(--text-ghost);font-size:12px;font-family:inherit;cursor:pointer;}
.pay-success{text-align:center;padding:20px 0;}
.pay-success-icon{font-size:36px;margin-bottom:8px;color:var(--ws-accent);}
/* Exit dialog */
.bv-exit-dlg{position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.bv-exit-card{background:var(--bg-hover);border:1px solid var(--border-medium);border-radius:16px;padding:32px;max-width:420px;width:90%;text-align:center;}
.bv-exit-title{font-size:18px;font-weight:700;color:#fdc424;margin-bottom:12px;}
.bv-exit-body{font-size:14px;color:var(--text-secondary-dim);line-height:1.5;margin-bottom:24px;}
.bv-exit-actions{display:flex;flex-direction:column;gap:10px;}
.bv-exit-btn{padding:12px 20px;border-radius:10px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;}
.bv-exit-btn.bv-exit-yes{background:#fdc424;color:var(--bg-hover);}
.bv-exit-btn.bv-exit-yes:hover{background:#ffe066;}
.bv-exit-btn.bv-exit-no{background:var(--border-primary);color:var(--text-dim);border:1px solid var(--border-medium);}
.bv-exit-btn.bv-exit-no:hover{background:var(--border-medium);color:var(--text-secondary);}
.ws-personal-bar{display:flex;align-items:center;gap:0;padding:10px 14px;cursor:pointer;transition:background .15s;flex-shrink:0;}.ws-personal-bar:hover{background:var(--bg-secondary);}.ws-personal-bar.ws-active{background:var(--bg-secondary);}.ws-personal-bar .ws-personal-name{font-size:12px;color:var(--text-tertiary);font-weight:500;}.ws-personal-bar.ws-active .ws-personal-name{color:var(--text-primary);font-weight:600;}
.ws-list{padding:4px 12px 8px;border-bottom:1px solid var(--bg-hover);}.ws-list-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:11px;color:var(--text-dim);transition:background .15s;}.ws-list-item:hover{background:var(--bg-hover);color:var(--text-secondary);}.ws-list-item.ws-active{background:var(--bg-hover);color:var(--text-primary);font-weight:600;}.ws-list-item .ws-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}.ws-dot.ws-personal{background:var(--status-info);}.ws-dot.ws-private{background:var(--accent-secondary);}.ws-dot.ws-team{background:var(--accent-primary);}.ws-list-empty{font-size:10px;color:var(--text-disabled);padding:8px 12px;font-style:italic;}.ws-new-ws-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;margin-left:38px;font-size:11px;color:var(--text-ghost);cursor:pointer;border:none;background:none;width:100%;text-align:left;border-radius:6px;transition:color .15s,background .15s;font-family:inherit;}.ws-new-ws-btn:hover{color:var(--accent-primary);background:var(--bg-hover);}.ws-new-ws-btn svg{width:12px;height:12px;}#new-ws-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:500;align-items:center;justify-content:center;}#new-ws-modal.open{display:flex;}.nw-box{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:12px;padding:24px;width:380px;max-width:90vw;}.nw-box h3{color:var(--text-primary);font-size:14px;margin:0 0 16px;}.nw-box input,.nw-box select{width:100%;padding:10px 12px;background:var(--bg-app);border:1px solid var(--border-medium);border-radius:8px;color:var(--text-brightest);font-size:12px;box-sizing:border-box;margin-bottom:12px;font-family:inherit;}.nw-type-row{display:flex;gap:8px;margin-bottom:16px;}.nw-type-btn{flex:1;padding:10px;border:1px solid var(--border-medium);border-radius:8px;background:var(--bg-app);color:var(--text-muted);font-size:11px;cursor:pointer;text-align:center;transition:border-color .15s,color .15s;}.nw-type-btn:hover{border-color:var(--text-ghost);color:var(--text-secondary);}.nw-type-btn.selected{border-color:var(--accent-primary);color:var(--accent-primary);}.nw-hier-row{margin-bottom:12px;}.nw-hier-label{font-size:10px;color:var(--text-ghost);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;}.nw-btns{display:flex;gap:8px;justify-content:flex-end;}.nw-cancel{padding:8px 16px;border:1px solid var(--border-medium);border-radius:8px;background:none;color:var(--text-muted);cursor:pointer;font-size:11px;font-family:inherit;}.nw-create{padding:8px 16px;border:none;border-radius:8px;background:var(--accent-primary);color:var(--text-inverse);cursor:pointer;font-size:11px;font-weight:600;font-family:inherit;}.nw-create:disabled{opacity:.4;cursor:default;}
/* ── Sidebar V2 ── */
#sb2-container{position:fixed;left:0;top:48px;bottom:0;width:300px;min-width:180px;max-width:440px;background:var(--bg-secondary);border-right:1px solid var(--bg-input);z-index:90;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease,opacity .2s ease;}
#sb2-resize-handle{position:absolute;top:0;right:0;bottom:0;width:6px;cursor:col-resize;z-index:91;background:transparent;transition:background .15s;}
#sb2-resize-handle:hover,#sb2-resize-handle.dragging{background:rgba(var(--ws-accent-rgb),.06);}
#sb2-resize-handle::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:44px;background:var(--border-divider);border-radius:2px;transition:background .15s;}
#sb2-resize-handle:hover::after,#sb2-resize-handle.dragging::after{background:var(--border-strong);}
.sb2-resizing #sb2-container{transition:none!important;}
.sb2-resizing .app-body{transition:none!important;}
.sb2-resizing{cursor:col-resize!important;user-select:none!important;}
#sb2-private{display:none !important;}
#sb2-private:hover{background:var(--bg-tertiary);}
#sb2-private.active{background:var(--bg-hover);}
.sb2-pr-avatar{width:22px;height:22px;border-radius:50%;background:var(--border-subtle);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted);flex-shrink:0;}
.sb2-pr-name{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb2-pr-sub{font-size:9px;color:var(--text-disabled);}
#sb2-org-row{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;position:relative;}
#sb2-org-row:hover{background:var(--bg-tertiary);}
.sb2-org-avatar{width:22px;height:22px;border-radius:6px;background:var(--border-subtle);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted);flex-shrink:0;cursor:pointer;}
.sb2-org-name{font-size:14px;color:var(--text-secondary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sb2-org-dd{font-size:8px;color:var(--text-disabled);margin-left:2px;}
#sb2-ws-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0;}
#sb2-ws-list::-webkit-scrollbar{width:6px;}
#sb2-ws-list::-webkit-scrollbar-thumb{background:var(--text-disabled);border-radius:3px;}#sb2-ws-list::-webkit-scrollbar-thumb:hover{background:var(--text-ghost);}
.sb2-search-bar{display:flex;align-items:center;gap:6px;padding:4px 12px 6px;flex-shrink:0;}
.sb2-search-input{flex:1;background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:6px;padding:5px 8px 5px 26px;font-size:11px;color:var(--text-primary);font-family:inherit;outline:none;transition:border-color .15s;}
.sb2-search-input:focus{border-color:var(--accent-primary);}
.sb2-search-input::placeholder{color:var(--text-disabled);}
.sb2-search-wrap{position:relative;flex:1;}
.sb2-search-wrap svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:11px;height:11px;color:var(--text-disabled);pointer-events:none;}
.sb2-sort-btn{background:none;border:none;color:var(--text-disabled);cursor:pointer;padding:2px 4px;font-size:10px;display:flex;align-items:center;gap:3px;border-radius:4px;transition:color .15s,background .15s;font-family:inherit;}
.sb2-sort-btn:hover{color:var(--text-muted);background:var(--bg-hover);}
.sb2-output-files{padding:0 0 0 54px;}

/* Sub-org groups */
.sb2-suborg-group{margin:0;}
.sb2-suborg-label{display:flex;align-items:center;gap:4px;padding:6px 14px 6px 14px;font-size:13px;color:var(--text-dim);cursor:pointer;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(var(--ws-accent-rgb),.15);}
.sb2-suborg-label:hover,.sb2-suborg-label:active{color:var(--text-secondary);background:rgba(255,255,255,.03);}
.sb2-suborg-label.active-parent{color:var(--text-primary);}
.sb2-so-chev{font-size:7px;transition:transform .15s;display:inline-block;}
.sb2-suborg-label.collapsed .sb2-so-chev{transform:rotate(-90deg);}
.sb2-suborg-content{transition:none;}
.sb2-suborg-label.collapsed+.sb2-suborg-content{display:none;}
.sidebar-streaming .sb2-ws-row{pointer-events:none;opacity:0.6;cursor:not-allowed;}.sidebar-streaming .bc-dd-item{pointer-events:none;opacity:0.6;}
.role-franchisee .sb2-org-ems-row,.role-franchisee .sb2-org-bk-row,.role-franchisee .sb2-org-ems-list,.role-franchisee .sb2-org-bk-list{display:none;}
.sb2-so-name{flex:1;}
.sb2-so-actions{display:none;align-items:center;gap:2px;margin-left:auto;}
.sb2-suborg-label:hover .sb2-so-actions{display:flex;}
.sb2-suborg-label .sb2-so-actions{display:none;}
.sb2-suborg-label:hover .sb2-so-actions{display:flex;}
.sb2-so-add,.sb2-so-dots{font-size:10px;color:var(--border-medium);cursor:pointer;padding:0 3px;border-radius:3px;}
body:not(.role-admin):not(.role-superadmin) .sb2-so-add{display:none !important;}
.sb2-so-add:hover,.sb2-so-dots:hover{color:var(--text-muted);background:var(--bg-input);}

/* Team labels */
.sb2-team-label{display:flex;align-items:center;gap:4px;padding:3px 14px 3px 38px;font-size:12px;color:var(--text-dim);position:relative;user-select:none;}
.sb2-team-label.active-parent{color:var(--text-secondary);}
.sb2-team-label:hover .sb2-so-actions{display:flex;}
.sb2-tl-icon{width:10px;height:10px;color:var(--border-medium);flex-shrink:0;}

/* Workspace rows */
.sb2-ws-row{display:flex;align-items:center;gap:6px;padding:3px 10px 3px 46px;font-size:11px;color:var(--text-muted);cursor:pointer;position:relative;white-space:nowrap;overflow:hidden;}
.sb2-ws-row:hover{color:var(--text-lighter);background:var(--bg-tertiary);}
.sb2-ws-row.active{background:var(--bg-hover);color:var(--text-primary);}
.sb2-ws-dot{width:5px;height:5px;border-radius:50%;background:var(--border-medium);flex-shrink:0;}
.sb2-ws-row.active .sb2-ws-dot,.sb2-ws-dot.on{background:var(--ws-accent);}
.sb2-ws-name{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:rgba(var(--ws-accent-rgb),0.45);}
.sb2-ws-row.active .sb2-ws-name{color:var(--ws-accent,var(--accent-primary));}
.sb2-ws-shared{width:10px;height:10px;color:rgba(var(--ws-accent-rgb),0.4);flex-shrink:0;}
.sb2-ws-chev{font-size:7px;color:var(--text-ghost);cursor:pointer;padding:0 4px 0 0;transition:transform .15s;flex-shrink:0;}
.sb2-ws-chev.expanded{transform:rotate(90deg);}
.sb2-ws-dots{font-size:11px;color:var(--border-medium);cursor:pointer;padding:0 3px;opacity:0.35;transition:opacity .15s;}
.sb2-ws-row:hover .sb2-ws-dots{opacity:1;color:var(--text-muted);}

/* Expanded workspace sub-items */
.sb2-ws-sub{display:none;padding:2px 0 4px;}
.sb2-ws-wrap.expanded .sb2-ws-sub{display:block;}
.sb2-ws-sub-item{display:flex;align-items:center;gap:6px;padding:1px 10px 1px 54px;font-size:13px;color:var(--text-disabled);cursor:pointer;}
.sb2-ws-sub-item:hover{color:var(--text-muted);}
.sb2-ws-sub-icon{width:10px;height:10px;color:var(--border-medium);}

/* Ella-ment items */
.sb2-em-item{display:flex;align-items:center;gap:6px;padding:1px 10px 1px 60px;font-size:12px;color:var(--text-muted);cursor:pointer;}
.sb2-em-item:hover{color:var(--text-dim);}
.sb2-em-micro{width:4px;height:4px;border-radius:50%;background:var(--border-medium);flex-shrink:0;}
.sb2-em-micro.on{background:var(--ws-accent);}
.sb2-em-item.inherited{opacity:.7;}
.sb2-em-item.inherited .sb2-em-micro{background:transparent;border:1.5px solid var(--text-ghost);}
.sb2-em-lock{font-size:8px;color:var(--text-disabled);margin-left:auto;flex-shrink:0;}

/* Research group */
.sb2-research-group{margin:4px 0 2px;padding:2px 0;border:1px solid var(--bg-input);border-radius:6px;margin-left:32px;margin-right:10px;}
.sb2-research-header{display:flex;align-items:center;gap:6px;padding:3px 8px;font-size:9px;color:var(--text-ghost);cursor:pointer;}
.sb2-research-header:hover{color:var(--text-muted);}
.sb2-research-refresh{margin-left:auto;font-size:8px;color:var(--border-medium);cursor:pointer;padding:1px 5px;border-radius:4px;border:1px solid var(--border-subtle);}
.sb2-research-refresh:hover{color:var(--ws-accent);border-color:var(--text-disabled);}
.sb2-research-item{display:flex;align-items:center;gap:6px;padding:1px 8px 1px 14px;font-size:10px;color:var(--text-ghost);cursor:pointer;}
.sb2-research-item:hover{color:var(--text-muted);}
.sb2-research-age{font-size:8px;color:var(--border-medium);margin-left:auto;}

/* ICP groups */
.sb2-icp-group{margin:2px 0;}
.sb2-icp-header{display:flex;align-items:center;gap:6px;padding:3px 14px 3px 62px;font-size:12px;color:var(--text-dim);cursor:pointer;font-weight:500;}
.sb2-icp-header:hover{color:var(--text-secondary);}
.sb2-icp-chev{font-size:7px;color:var(--text-disabled);transition:transform .15s;display:inline-block;}
.sb2-icp-header.collapsed .sb2-icp-chev{transform:rotate(-90deg);}
.sb2-icp-items{padding:0;}
.sb2-icp-header.collapsed+.sb2-icp-items{display:none;}
.sb2-icp-count{font-size:8px;color:var(--border-medium);margin-left:auto;}

.icp-menu-btn{display:none;margin-left:auto;padding:2px 6px;font-size:14px;color:var(--text-disabled);background:none;border:none;cursor:pointer;border-radius:3px;line-height:1;flex-shrink:0;}
.icp-menu-btn:hover{color:var(--accent-primary);background:rgba(var(--ws-accent-rgb),.1);}
.em-tier-hdr:hover .icp-menu-btn{display:block;}
.icp-menu-btn.active{display:block;color:var(--accent-primary);}
.icp-ctx-menu{position:fixed;z-index:9999;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:6px;padding:4px 0;min-width:130px;box-shadow:0 4px 16px rgba(0,0,0,.6);font-size:11px;}
.icp-ctx-item{display:block;width:100%;padding:6px 14px;color:var(--text-secondary);background:none;border:none;cursor:pointer;text-align:left;white-space:nowrap;}
.icp-ctx-item:hover{color:var(--accent-primary);background:rgba(var(--ws-accent-rgb),.08);}
.icp-ctx-sep{height:1px;background:var(--border-default);margin:3px 0;}

/* Avatar picker */
.av-picker{position:absolute;left:40px;top:0;background:var(--bg-hover);border:1px solid var(--border-medium);border-radius:8px;padding:8px;z-index:200;box-shadow:0 4px 16px rgba(0,0,0,.5);min-width:180px;}
.av-opt{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:11px;color:var(--text-muted);cursor:pointer;border-radius:4px;}
.av-opt:hover{background:var(--border-subtle);color:var(--text-secondary);}
.av-emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:4px 0;}
.av-emoji-grid span{font-size:16px;cursor:pointer;padding:4px;text-align:center;border-radius:4px;}
.av-emoji-grid span:hover{background:var(--border-subtle);}

/* Chat header */
.sb2-chat-header{padding:8px 16px;border-bottom:1px solid var(--bg-input);display:flex;align-items:baseline;gap:8px;}
#chat-hdr-name{font-size:14px;color:var(--text-primary);font-weight:600;}
#chat-hdr-sub{font-size:11px;color:var(--text-disabled);}.has-sb2 .sb2-chat-header{display:none;}

/* Layout shift for sidebar */
.has-sb2 .app-body{margin-left:var(--sb2-width,300px);transition:margin-left .2s ease;}.sb2-collapsed.has-sb2 .app-body{margin-left:0;}
.has-sb2 .drawer{display:none!important;}
.has-sb2 .topbar{padding-left:0;}.sb2-collapsed .topbar .logo{width:auto;}.has-sb2 .logo{width:calc(var(--sb2-width,300px) - 40px);display:flex;align-items:center;justify-content:flex-start;padding-left:14px;flex-shrink:0;box-sizing:border-box;}.has-sb2 .topbar-div{display:none;}.has-sb2 .topbar-right{margin-left:auto;padding-right:14px;}
.has-sb2 .breadcrumb{display:none!important;}
.has-sb2 .ws-personal-bar{display:none!important;}
.has-sb2 #ws-sw{display:none!important;}

.support-drawer{position:fixed;right:0;top:0;bottom:0;width:360px;max-width:90vw;background:var(--surface-elevated);border-left:1px solid var(--border-default);z-index:800;display:none;flex-direction:column;box-shadow:-8px 0 32px rgba(0,0,0,.6);}
.support-drawer.open{display:flex;}
.support-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-default);flex-shrink:0;}
.support-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;}
.support-msg{max-width:85%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5;word-wrap:break-word;}
.support-msg.user{align-self:flex-end;background:var(--accent-primary);color:var(--text-inverse);border-bottom-right-radius:4px;}
.support-msg.bot{align-self:flex-start;background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border-default);border-bottom-left-radius:4px;}
.support-msg.system{align-self:center;color:var(--text-muted);font-size:11px;font-style:italic;}
.support-input-wrap{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-default);flex-shrink:0;align-items:flex-end;}
.support-input-wrap textarea{flex:1;background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:8px;color:var(--text-secondary);padding:8px 12px;font-size:13px;resize:none;font-family:inherit;}
.support-input-wrap textarea:focus{outline:none;border-color:var(--accent-primary);}
.support-send-btn{width:36px;height:36px;border-radius:50%;background:var(--accent-primary);border:none;color:var(--text-inverse);font-size:16px;font-weight:700;cursor:pointer;flex-shrink:0;}
.persp-loaded { opacity: 0.55; }
.persp-loaded:hover { opacity: 1; }
.persp-active { border-color: var(--ws-accent) !important; color: var(--ws-accent) !important; opacity: 1 !important; }
.persp-pulse { animation: perspPulse 2s ease-in-out infinite !important; border-color: var(--glow-color, #E8A838) !important; color: var(--glow-color, #E8A838) !important; box-shadow: 0 0 8px color-mix(in srgb, var(--glow-color, #E8A838) 30%, transparent) !important; }
@keyframes perspPulse { 0%,100% { box-shadow: 0 0 4px color-mix(in srgb, var(--glow-color, #E8A838) 20%, transparent); } 50% { box-shadow: 0 0 14px color-mix(in srgb, var(--glow-color, #E8A838) 45%, transparent); } }

/* Theme-light rules removed: E3-402 uses data-theme attribute system */


/* Daily greeting UX improvements */
.de-invite-arr{color:var(--accent-primary)!important;font-size:16px!important;}
.de-invite:hover .de-invite-arr{color:var(--accent-primary)!important;}
.screen-pull-tab{padding:10px 14px!important;color:var(--text-tertiary)!important;gap:4px;flex-direction:column!important;}
.screen-pull-tab:hover{color:var(--text-secondary)!important;background:var(--surface-hover)!important;}
.screen-pull-tab svg{width:20px!important;height:10px!important;}


/* E3-644: Inline Markdown Rendering Styles */
.md-render-body h1,
.md-render-body h2,
.md-render-body h3,
.md-render-body h4,
.md-render-body h5,
.md-render-body h6 {
  color: var(--text-lighter);
  font-weight: 600;
  margin: 12px 0 6px 0;
  line-height: 1.3;
}
.md-render-body h1 { font-size: 18px; padding-bottom: 6px; border-bottom: 1px solid var(--border-primary); }
.md-render-body h2 { font-size: 16px; padding-bottom: 4px; border-bottom: 1px solid var(--border-primary); }
.md-render-body h3 { font-size: 14px; }
.md-render-body h4 { font-size: 13px; }
.md-render-body h1:first-child,
.md-render-body h2:first-child,
.md-render-body h3:first-child { margin-top: 0; }
.md-render-body p { margin: 6px 0; }
.md-render-body ul,
.md-render-body ol { margin: 6px 0; padding-left: 22px; }
.md-render-body li { margin: 3px 0; }
.md-render-body code {
  background: var(--bg-tertiary, var(--surface-elevated));
  padding: 1px 5px;
  border-radius: 3px;
  font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
  font-size: 12px;
  color: var(--text-lighter);
}
.md-render-body pre {
  background: var(--bg-tertiary, var(--surface-elevated));
  border: 1px solid var(--border-primary);
  border-radius: 6px;
  padding: 12px;
  overflow-x: auto;
  margin: 8px 0;
}
.md-render-body pre code {
  background: none;
  padding: 0;
  font-size: 12px;
  line-height: 1.5;
}
.md-render-body table {
  border-collapse: collapse;
  width: 100%;
  margin: 8px 0;
  font-size: 12px;
}
.md-render-body th,
.md-render-body td {
  border: 1px solid var(--border-primary);
  padding: 6px 10px;
  text-align: left;
}
.md-render-body th {
  background: var(--bg-tertiary, var(--surface-elevated));
  font-weight: 600;
  color: var(--text-lighter);
}
.md-render-body blockquote {
  border-left: 3px solid var(--accent-primary, var(--accent-primary));
  margin: 8px 0;
  padding: 4px 12px;
  color: var(--text-muted);
  font-style: italic;
}
.md-render-body a {
  color: var(--accent-primary, var(--accent-primary));
  text-decoration: none;
}
.md-render-body a:hover { text-decoration: underline; }
.md-render-body hr {
  border: none;
  border-top: 1px solid var(--border-primary);
  margin: 12px 0;
}
.md-render-body img {
  max-width: 100%;
  border-radius: 6px;
}
.md-render-body strong { color: var(--text-lighter); }

/* EasyMDE dark theme overrides */
.EasyMDEContainer { background: var(--bg-secondary) !important; }
.EasyMDEContainer .CodeMirror { background: var(--bg-secondary) !important; color: var(--text-secondary) !important; border: none !important; font-size: 13px !important; }
.EasyMDEContainer .CodeMirror-cursor { border-left-color: var(--text-primary) !important; }
.EasyMDEContainer .CodeMirror-selected { background: rgba(var(--ws-accent-rgb),0.15) !important; }
.EasyMDEContainer .editor-toolbar { background: var(--bg-tertiary) !important; border: none !important; border-bottom: 1px solid var(--border-primary) !important; }
.EasyMDEContainer .editor-toolbar button { color: var(--text-muted) !important; }
.EasyMDEContainer .editor-toolbar button:hover { background: var(--bg-hover) !important; }
.EasyMDEContainer .editor-toolbar button.active { background: var(--bg-hover) !important; color: var(--ws-accent) !important; }
.EasyMDEContainer .editor-toolbar i.separator { border-left-color: var(--border-medium) !important; }
.EasyMDEContainer .editor-preview { background: var(--bg-secondary) !important; color: var(--text-secondary) !important; }
.EasyMDEContainer .editor-preview h1, .EasyMDEContainer .editor-preview h2, .EasyMDEContainer .editor-preview h3 { color: var(--text-lighter) !important; }
.EasyMDEContainer .editor-preview-side { background: var(--bg-primary) !important; color: var(--text-secondary) !important; border-left: 1px solid var(--border-primary) !important; }
.EasyMDEContainer .cm-s-easymde .cm-header { color: var(--text-lighter) !important; }
.EasyMDEContainer .cm-s-easymde .cm-link { color: var(--ws-accent) !important; }
.EasyMDEContainer .cm-s-easymde .cm-url { color: var(--text-disabled) !important; }
.EasyMDEContainer .cm-s-easymde .cm-comment { color: var(--text-muted) !important; }

/* RE Action Toolbar */
.re-action-toolbar{display:flex;gap:2px;align-items:center;}
.re-act-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;border:none;background:none;cursor:pointer;border-radius:6px;min-width:44px;transition:background .15s;}
.re-act-btn:hover{background:var(--bg-hover);}
.re-act-btn svg{stroke:var(--text-muted);width:18px;height:18px;transition:stroke .15s;}
.re-act-btn:hover svg{stroke:var(--accent-primary,var(--accent-primary));}
.re-act-btn span{font-size:8px;color:var(--text-ghost);white-space:nowrap;transition:color .15s;}
.re-act-btn:hover span{color:var(--accent-primary,var(--accent-primary));}
.re-prop-row-selected{background:rgba(var(--ws-accent-rgb),0.15) !important;color:var(--accent-primary) !important;border-left:2px solid var(--accent-primary);}

/* Bananaverse layout */
.bv-overlay{position:fixed;inset:0;z-index:9000;background:#f5c518;display:flex;align-items:stretch;justify-content:center;}
.bv-container{display:flex;flex-direction:column;width:100%;max-width:700px;height:100%;}
.bv-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;flex-shrink:0;}
.bv-feed{flex:1;overflow-y:auto;padding:20px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent;}
.bv-feed::-webkit-scrollbar{width:4px;}
.bv-feed::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:4px;}
.bv-input-bar{flex-shrink:0;padding:12px 20px;border-top:1px solid rgba(0,0,0,.1);position:sticky;bottom:0;background:inherit;z-index:10;}
