  :root {
    --nav-bg:#1a1a2e;--nav-hover:#252540;--nav-active:#2e2e50;
    --nav-text:#a0a0c8;--nav-accent:#7c6af5;
    --bg:#f5f6fa;--surface:#ffffff;--bg2:#f0f1f7;
    --border:#e8eaf0;--border-bright:#d0d3e0;
    --green:#3dba7a;--green-dim:#e8f8f1;--green-mid:#8de0b4;
    --pink:#e84393;--pink-dim:#fce8f3;--pink-mid:#f49ece;
    --amber:#f0a500;--amber-dim:#fef6e0;
    --blue:#3b82f6;--blue-dim:#eff6ff;
    --purple:#7c6af5;--purple-dim:#f0eeff;
    --red:#e53e3e;--red-dim:#fff5f5;
    --text:#1a1a2e;--text-dim:#4a4a6a;--text-dimmer:#686887;
    --shadow-sm:0 1px 3px rgba(26,26,46,.08);
    --shadow-md:0 4px 12px rgba(26,26,46,.10);
    --shadow-lg:0 8px 24px rgba(26,26,46,.12);
    --radius:12px;--radius-sm:8px;
    /* raised surface for cards, panels, and form-control fills (was undefined -> rendered transparent) */
    --surface-raised:#f4f6fb;
    --purple-bg:rgba(124,106,245,.10);
    --purple-ring:rgba(124,106,245,.16);
    --tc:var(--purple);
    --field-h:42px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  *{scrollbar-width:auto;scrollbar-color:#9aa0b8 #eceef5}
  *::-webkit-scrollbar{width:10px;height:10px}
  *::-webkit-scrollbar-track{background:#eceef5;border-radius:999px}
  *::-webkit-scrollbar-thumb{background:#9aa0b8;border:2px solid #eceef5;border-radius:999px}
  *::-webkit-scrollbar-thumb:hover{background:#7f86a4}
  body{font-family:'Nunito',sans-serif;background:var(--bg);color:var(--text);display:flex;height:100vh;overflow:hidden;overflow-x:auto;font-size:14px;min-width:840px}

  /* NAV */
  .side-nav{width:220px;min-width:180px;background:var(--nav-bg);display:flex;flex-direction:column;flex-shrink:0;height:100vh}
  .nav-logo{display:flex;align-items:center;gap:10px;padding:18px 16px 14px;border-bottom:1px solid rgba(255,255,255,.06)}
  .nav-logo-mark{width:42px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;background:#1a1a2e}
  .nav-logo-text{font-size:15px;font-weight:800;color:white;line-height:1.1}
  .nav-logo-sub{font-size:9px;color:var(--nav-text);font-weight:500}
  .nav-section-title{font-size:10px;font-weight:700;color:var(--nav-text);letter-spacing:.1em;text-transform:uppercase;padding:14px 16px 5px;opacity:.6}
  .nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;color:var(--nav-text);font-family:'Nunito',sans-serif;font-size:13px;font-weight:600;text-align:left;background:none;cursor:pointer;transition:background .1s,color .1s,border-color .1s;border:0;border-left:3px solid transparent;margin:1px 0}
  .nav-item:hover{background:var(--nav-hover);color:white}
  .nav-item:focus-visible{outline:2px solid white;outline-offset:-4px;color:white}
  .nav-item.active{background:var(--nav-active);color:white;border-left-color:var(--purple)}
  .nav-item.disabled{opacity:.35;cursor:not-allowed}
  .nav-item.disabled:hover{background:none;color:var(--nav-text)}
  .nav-icon{font-size:15px;width:20px;height:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
  .nav-icon svg{display:block}
  .cmic{vertical-align:-2px;flex-shrink:0}
  .nav-badge{margin-left:auto;font-size:9px;background:rgba(255,255,255,.1);color:var(--nav-text);padding:2px 6px;border-radius:20px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
  .nav-spacer{flex:1}
  .nav-bottom{padding:10px 8px;border-top:1px solid rgba(255,255,255,.06)}
  .nav-profile-btn{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;width:100%;background:none;border:none;color:var(--nav-text);font-family:'Nunito',sans-serif}
  .nav-profile-btn:hover{background:var(--nav-hover)}
  .nav-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--pink));display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
  .nav-profile-name{font-size:12px;font-weight:700;color:white}
  .nav-profile-sub{font-size:10px;color:var(--nav-text)}
  .nav-legal-links{padding:8px 10px 2px;font-size:10px}
  .nav-legal-links a{color:var(--nav-text);text-decoration:none}
  .nav-legal-links a:hover{color:white;text-decoration:underline}

  /* MAIN */
  .main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:620px}
  .top-bar{display:flex;align-items:center;gap:16px;padding:13px 22px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}
  .top-bar-title{font-size:16px;font-weight:800;color:var(--text);display:inline-flex;align-items:center;gap:8px}
  .top-bar-title svg{flex-shrink:0}
  .top-bar-sub{font-size:12px;color:var(--text-dimmer);font-weight:500}
  .top-bar-date{margin-left:auto;font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dimmer)}
  .content-area{flex:1;display:flex;overflow:hidden;min-height:0}
  #moduleSentiment{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}

  /* MODAL */
  .modal-overlay{position:fixed;inset:0;background:rgba(26,26,46,.5);z-index:200;display:none;align-items:center;justify-content:center;backdrop-filter:blur(3px)}
  .modal-overlay.open{display:flex}
  .modal{background:var(--surface);border-radius:16px;width:520px;max-height:82vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);animation:modalIn .2s cubic-bezier(.34,1.56,.64,1)}
  @keyframes modalIn{from{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
  .modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid var(--border);flex-shrink:0}
  .modal-title{font-size:16px;font-weight:800;color:var(--text)}
  .modal-close{background:none;border:none;color:var(--text-dimmer);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s}
  .modal-close:hover{background:var(--bg);color:var(--text)}
  .modal-body{padding:18px 22px 22px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;flex:1}
  .modal-section-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dimmer);margin-bottom:8px}
  .onboarding-modal{width:min(860px,calc(100vw - 48px));max-height:86vh}
  .onboarding-subtitle{font-size:12px;color:var(--text-dimmer);font-weight:600;margin-top:3px}
  .onboarding-progress-card{border:1.5px solid var(--border);border-radius:12px;background:var(--surface-raised);padding:14px;display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:12px 18px;align-items:center}
  .onboarding-progress-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dimmer)}
  .onboarding-progress-text{font-size:18px;font-weight:900;color:var(--text);margin-top:2px}
  .onboarding-progress-meter{height:10px;background:var(--bg);border:1px solid var(--border);border-radius:999px;overflow:hidden}
  .onboarding-progress-meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--purple),var(--green));border-radius:999px;transition:width .25s ease}
  .worker-status-row{grid-column:1/-1;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:8px 10px;font-size:11px;font-weight:800;color:var(--text-dim)}
  .worker-status-row.ok{border-color:rgba(46,204,113,.28);background:var(--green-dim);color:var(--green)}
  .worker-status-row.warn{border-color:rgba(240,165,0,.32);background:var(--amber-dim);color:var(--amber)}
  .worker-status-row.err{border-color:rgba(236,72,153,.25);background:var(--pink-dim);color:var(--pink)}
  .worker-status-inline{border-left:0;border-right:0;border-radius:0;padding:7px 16px;background:var(--surface)}
  .worker-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(0,0,0,.04);flex-shrink:0}
  /* breathing ring while the worker state is still resolving ("Checking…") */
  .worker-status-row:not(.ok):not(.warn):not(.err) .worker-dot{animation:cmWorkerPulse 1.5s ease-in-out infinite}
  @keyframes cmWorkerPulse{0%{box-shadow:0 0 0 0 rgba(124,106,245,.45)}70%,100%{box-shadow:0 0 0 6px rgba(124,106,245,0)}}
  @media (prefers-reduced-motion:reduce){.worker-status-row .worker-dot{animation:none}}
  .worker-clear-btn{margin-left:auto;background:rgba(255,255,255,.65);border:1px solid currentColor;border-radius:999px;color:inherit;font:inherit;font-size:10px;padding:3px 8px;cursor:pointer;white-space:nowrap}
  .worker-clear-btn:hover{background:#fff}
  .onboarding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .onboarding-card{border:1.5px solid var(--border);border-radius:12px;background:var(--surface);padding:14px;display:flex;flex-direction:column;gap:11px;min-height:260px}
  .onboarding-card.ready{border-color:rgba(46,204,113,.35);background:linear-gradient(180deg,rgba(46,204,113,.06),#fff 55%)}
  .onboarding-card.partial{border-color:rgba(240,165,0,.35);background:linear-gradient(180deg,rgba(240,165,0,.06),#fff 55%)}
  .onboarding-card-head{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:start}
  .onboarding-icon{width:36px;height:36px;border-radius:10px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:18px}
  .onboarding-title{font-size:14px;font-weight:900;color:var(--text)}
  .onboarding-copy{font-size:12px;line-height:1.4;color:var(--text-dimmer);padding:0 2px 2px}
  .onboarding-status{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);border-radius:999px;padding:5px 8px;color:var(--text-dimmer);background:var(--surface-raised);white-space:nowrap}
  .onboarding-status.ready{background:var(--green-dim);border-color:var(--green-mid);color:var(--green)}
  .onboarding-status.partial{background:var(--amber-dim);border-color:rgba(240,165,0,.35);color:var(--amber)}
  .onboarding-status.todo{background:var(--bg);color:var(--text-dimmer)}
  .onboarding-steps{display:flex;flex-direction:column;gap:7px;flex:1}
  .onboarding-step{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.35;color:var(--text-dim);font-weight:700}
  .onboarding-step span{font-family:'DM Mono',monospace;color:var(--text-dimmer);line-height:1.25}
  .onboarding-step.done{color:var(--text)}
  .onboarding-step.done span{color:var(--green)}
  .onboarding-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
  .onboarding-actions .btn-action{justify-content:center}
  @media(max-width:1050px){.onboarding-grid{grid-template-columns:1fr}.onboarding-progress-card{grid-template-columns:1fr}.onboarding-card{min-height:0}}

  /* INPUTS */
  input[type=text],input[type=password],input[type=date],input[type=search],input[type=email],input[type=number],input[type=url],input[type=tel],textarea{width:100%;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:9px 13px;color:var(--text);font-family:'Nunito',sans-serif;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}
  input:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(124,106,245,.12)}
  .api-key-field{position:relative}
  .toggle-visibility{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-dimmer);cursor:pointer;font-size:11px;font-family:'DM Mono',monospace}
  .key-input-row{display:flex;gap:8px;align-items:center}
  .key-input-row .api-key-field{flex:1}
  .btn-verify{flex-shrink:0;background:var(--bg);border:1.5px solid var(--border);color:var(--text-dim);padding:9px 14px;border-radius:var(--radius-sm);font-family:'Nunito',sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap}
  .btn-verify:hover{border-color:var(--border-bright)}
  .btn-verify.verified{border-color:var(--green);color:var(--green);background:var(--green-dim)}
  .btn-verify.failed{border-color:var(--red);color:var(--red);background:var(--red-dim)}
  .btn-verify:disabled{opacity:.5;cursor:not-allowed}
  .key-status{font-size:11px;margin-top:5px;min-height:14px;font-family:'DM Mono',monospace}
  .key-status.ok{color:var(--green)}.key-status.err{color:var(--red)}.key-status.checking{color:var(--amber)}

  /* INTEGRATION HEALTH */
  .settings-health-callout{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1.5px solid var(--border);border-radius:12px;background:var(--bg2)}
  .settings-health-copy{font-size:12px;color:var(--text-dimmer);line-height:1.4}
  .settings-action-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
  .billing-panel{display:grid;gap:12px;padding:12px 14px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface-raised)}
  .billing-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
  .billing-summary{font-size:12px;color:var(--text-dim);line-height:1.45}
  .billing-summary strong{font-size:15px;color:var(--text);font-weight:900}
  .billing-warning{color:var(--amber);font-weight:800;margin-top:3px}
  .billing-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .billing-usage-card{border:1.5px solid var(--border);border-radius:10px;background:var(--surface);padding:10px;display:grid;gap:7px}
  .billing-usage-card.soft{border-color:rgba(245,158,11,.4);background:var(--amber-dim)}
  .billing-usage-card.hard{border-color:rgba(255,45,135,.36);background:var(--pink-dim)}
  .billing-usage-head{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:12px;color:var(--text);min-width:0}
  .billing-usage-head strong{line-height:1.2}
  .billing-usage-head span{font-family:'DM Mono',monospace;color:var(--text-dimmer);font-size:11px;white-space:nowrap}
  .billing-meter{height:8px;background:var(--bg);border:1px solid var(--border);border-radius:999px;overflow:hidden}
  .billing-meter span{display:block;height:100%;background:var(--purple);border-radius:999px}
  .billing-usage-copy{font-size:11px;color:var(--text-dimmer);font-weight:700}
  .billing-usage-daily{font-size:11px;color:var(--text-dim);font-weight:700}
  .billing-usage-daily.hard{color:var(--pink)}
  .billing-actions{display:grid;grid-template-columns:minmax(140px,1fr) auto auto auto;gap:8px;align-items:center}
  .billing-plan-select{height:36px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-family:'Nunito',sans-serif;font-size:12px;font-weight:800;color:var(--text);padding:0 10px}
  .btn-action.danger{border-color:rgba(255,45,135,.32);color:var(--pink);background:var(--pink-dim)}
  .security-privacy-panel{display:grid;gap:12px;padding:12px 14px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface-raised)}
  .security-privacy-actions{display:flex;gap:8px;flex-wrap:wrap}
  .security-privacy-summary{display:grid;gap:5px;font-size:12px;color:var(--text-dim);line-height:1.4}
  .security-privacy-summary strong{text-transform:capitalize;color:var(--text);font-weight:900}
  .workspace-members-modal{width:min(760px,calc(100vw - 48px));max-height:88vh}
  .workspace-modal-subtitle,.workspace-muted{font-size:12px;color:var(--text-dimmer);line-height:1.4}
  .workspace-auth-callout,.workspace-switcher,.workspace-invite-card{border:1.5px solid var(--border);border-radius:12px;background:var(--bg2);padding:12px 14px}
  .workspace-auth-callout,.workspace-switcher{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .workspace-auth-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
  .workspace-switcher>div{flex:1}
  .workspace-select,.workspace-role-select,.workspace-invite-row input{width:100%;height:38px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:'Nunito',sans-serif;font-size:13px;padding:0 10px}
  .workspace-invite-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto;gap:8px;align-items:center}
  .workspace-members-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
  .workspace-members-list{display:flex;flex-direction:column;gap:8px}
  .workspace-member-row{display:grid;grid-template-columns:minmax(180px,1fr) 140px 92px;gap:10px;align-items:center;border:1.5px solid var(--border);border-radius:12px;background:var(--surface);padding:10px 12px}
  .workspace-member-name{font-size:13px;font-weight:800;color:var(--text);line-height:1.2;word-break:break-word}
  .workspace-member-email{font-size:12px;color:var(--text-dimmer);line-height:1.25;word-break:break-word}
  .workspace-status-pill{display:inline-flex;width:max-content;align-items:center;border-radius:999px;background:var(--bg2);color:var(--text-dimmer);font-size:11px;font-weight:800;line-height:1;padding:5px 8px;margin-top:6px;text-transform:capitalize}
  .workspace-empty{border:1.5px dashed var(--border);border-radius:12px;padding:16px;color:var(--text-dimmer);font-size:13px;text-align:center}
  @media(max-width:760px){.workspace-auth-callout,.workspace-switcher{align-items:flex-start;flex-direction:column}.workspace-auth-actions{width:100%;flex-wrap:wrap}.workspace-invite-row,.workspace-member-row{grid-template-columns:1fr}.workspace-member-row .btn-action{width:max-content}}
  .integration-health-modal{width:min(980px,calc(100vw - 48px));max-height:88vh}
  .integration-health-subtitle{font-size:12px;color:var(--text-dimmer);font-weight:700;margin-top:2px}
  .integration-health-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1.5px solid var(--border);border-radius:12px;background:var(--bg2)}
  .integration-health-summary{font-size:13px;font-weight:800;color:var(--text)}
  .integration-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .integration-health-card{border:1.5px solid var(--border);border-radius:12px;background:var(--surface);padding:14px;display:flex;flex-direction:column;gap:10px;min-height:162px}
  .integration-health-card.ok{border-color:var(--green-mid);background:linear-gradient(180deg,rgba(52,199,89,.08),var(--surface))}
  .integration-health-card.warn{border-color:rgba(245,158,11,.35);background:linear-gradient(180deg,rgba(245,158,11,.08),var(--surface))}
  .integration-health-card.err{border-color:rgba(255,45,135,.32);background:linear-gradient(180deg,rgba(255,45,135,.08),var(--surface))}
  .integration-health-card.off{opacity:.82}
  .integration-health-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
  .integration-health-name{font-size:15px;font-weight:900;color:var(--text)}
  .integration-health-detail{font-size:12px;color:var(--text-dim);line-height:1.4;min-height:34px}
  .integration-health-meta{display:grid;gap:4px;margin-top:auto;padding-top:8px;border-top:1px solid var(--border);font-size:11px;color:var(--text-dimmer)}
  .integration-health-meta strong{color:var(--text-dim);font-weight:800}
  .integration-health-badge{border:1.5px solid var(--border);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;text-transform:capitalize;white-space:nowrap;background:var(--bg)}
  .integration-health-badge.connected{background:var(--green-dim);border-color:var(--green-mid);color:var(--green)}
  .integration-health-badge.rate_limited{background:var(--amber-dim);border-color:rgba(245,158,11,.35);color:var(--amber)}
  .integration-health-badge.permission_missing,.integration-health-badge.token_expired,.integration-health-badge.error{background:var(--pink-dim);border-color:rgba(255,45,135,.32);color:var(--pink)}
  .integration-health-badge.not_configured{background:var(--bg);color:var(--text-dimmer)}
  .integration-health-loading{grid-column:1/-1;padding:28px;text-align:center;color:var(--text-dimmer);font-weight:800}
  .operations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .operations-card{border:1.5px solid var(--border);border-radius:12px;background:var(--surface);padding:14px;display:grid;gap:8px;min-height:128px}
  .operations-card.ok{border-color:var(--green-mid);background:linear-gradient(180deg,rgba(52,199,89,.08),var(--surface))}
  .operations-card.warn{border-color:rgba(245,158,11,.35);background:linear-gradient(180deg,rgba(245,158,11,.08),var(--surface))}
  .operations-card.err{border-color:rgba(255,45,135,.32);background:linear-gradient(180deg,rgba(255,45,135,.08),var(--surface))}
  .operations-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;font-size:13px;color:var(--text)}
  .operations-card-value{font-size:18px;font-weight:900;color:var(--text)}
  .operations-card-detail{font-size:11px;color:var(--text-dimmer);line-height:1.35;overflow-wrap:anywhere}
  .operations-panel{border:1.5px solid var(--border);border-radius:12px;background:var(--surface-raised);padding:14px;display:grid;gap:10px}
  .operations-list{display:grid;gap:7px}
  .operations-list-row{display:grid;grid-template-columns:minmax(120px,180px) minmax(100px,180px) 1fr;gap:8px;align-items:start;padding:8px 0;border-top:1px solid var(--border);font-size:12px;color:var(--text-dim)}
  .operations-list-row:first-child{border-top:0}
  .operations-list-row strong{color:var(--text);font-weight:900}
  .operations-list-row span{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dimmer);overflow-wrap:anywhere}
  .operations-list-row em{font-style:normal;overflow-wrap:anywhere}
  .operations-empty{font-size:12px;color:var(--text-dimmer);font-weight:800;padding:8px 0}
  .hosted-credential-panel{display:grid;gap:12px;padding-top:14px;border-top:1.5px solid var(--border)}
  .hosted-credential-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  .hosted-credential-title{font-size:15px;font-weight:900;color:var(--text)}
  .hosted-credential-copy,.hosted-credential-summary{font-size:12px;color:var(--text-dimmer);font-weight:700;line-height:1.4}
  .hosted-credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .hosted-credential-card{border:1.5px solid var(--border);border-radius:12px;background:var(--surface);padding:13px;display:grid;gap:10px;min-width:0}
  .hosted-credential-card.connected{border-color:var(--green-mid);background:linear-gradient(180deg,rgba(52,199,89,.07),var(--surface))}
  .hosted-credential-card.not_configured{opacity:.86}
  .hosted-credential-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
  .hosted-credential-name{font-size:14px;font-weight:900;color:var(--text);min-width:0;overflow-wrap:anywhere}
  .hosted-credential-fields{font-size:11px;color:var(--text-dimmer);font-weight:700;line-height:1.4;min-height:16px}
  .hosted-credential-actions{display:flex;flex-wrap:wrap;gap:8px}
  .hosted-credential-action{min-height:32px;padding:7px 10px;font-size:11px}
  .hosted-credential-action.danger{border-color:rgba(255,45,135,.32);color:var(--pink);background:var(--pink-dim)}
  @media(max-width:900px){.integration-health-grid,.hosted-credential-grid,.billing-usage-grid,.operations-grid{grid-template-columns:1fr}.settings-health-callout,.integration-health-toolbar,.hosted-credential-head,.billing-panel-head{align-items:flex-start;flex-direction:column}.settings-action-row{justify-content:flex-start}.billing-actions,.operations-list-row{grid-template-columns:1fr}.security-privacy-actions{flex-direction:column;align-items:stretch}}

  /* PROVIDER TABS */
  .provider-tabs{display:flex;gap:4px;background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:3px}
  .provider-tab{flex:1;background:none;border:none;color:var(--text-dimmer);font-family:'Nunito',sans-serif;font-size:11px;font-weight:700;padding:6px 4px;border-radius:7px;cursor:pointer;transition:all .15s}
  .provider-tab:hover{color:var(--text-dim)}
  .provider-tab.active{background:var(--surface);color:var(--purple);box-shadow:var(--shadow-sm)}

  /* CONFIG PANEL */
  .config-panel{width:320px;min-width:260px;max-width:350px;background:var(--surface);border-right:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;flex-shrink:1}
  .config-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:18px 14px 12px;display:flex;flex-direction:column;gap:16px}
  .config-scroll::-webkit-scrollbar{width:10px}
  .config-scroll::-webkit-scrollbar-thumb{background:#9aa0b8;border:2px solid #eceef5;border-radius:999px}
  .config-actions{flex-shrink:0;padding:8px 14px 14px;background:var(--surface);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}
  .section-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dimmer);margin-bottom:8px;display:flex;align-items:center;gap:8px}
  .section-label::after{content:'';flex:1;height:1px;background:var(--border)}

  /* CHANNELS */
  .channel-list{display:flex;flex-direction:column;gap:6px;margin-bottom:7px}
  .src-list-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:4px 0;margin-bottom:4px;user-select:none;border:0;background:none;font-family:inherit;text-align:left}
  .src-list-toggle-label{font-size:11px;font-weight:700;color:var(--text-dim)}
  .src-list-toggle-count{font-size:10px;color:var(--text-dimmer);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1px 7px}
  .src-list-toggle-arrow{font-size:10px;color:var(--text-dimmer);transition:transform .2s}
  .src-list-toggle-arrow.open{transform:rotate(180deg)}
  .src-list-body{overflow:hidden;transition:max-height .25s ease}
  .channel-item{display:flex;align-items:center;gap:10px;background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:8px 11px;animation:popIn .2s cubic-bezier(.34,1.56,.64,1);transition:opacity .2s}
  .channel-item.disabled{opacity:.45;filter:grayscale(.6)}
  .src-toggle{position:relative;width:32px;height:18px;flex-shrink:0;cursor:pointer}
  .src-toggle input{opacity:0;width:0;height:0;position:absolute}
  .src-toggle-track{position:absolute;inset:0;background:var(--border);border-radius:9px;transition:background .2s}
  .src-toggle input:checked + .src-toggle-track{background:var(--green)}
  .src-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:white;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
  .src-toggle input:checked ~ .src-toggle-thumb{transform:translateX(14px)}
  @keyframes popIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
  .channel-thumb{width:30px;height:30px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--border)}
  .channel-thumb-placeholder{width:30px;height:30px;border-radius:50%;background:var(--purple-dim);border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px}
  .channel-info{flex:1;min-width:0}
  .channel-name{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .channel-id{font-family:'DM Mono',monospace;font-size:9px;color:var(--text-dimmer)}
  .channel-remove{background:none;border:none;color:var(--text-dimmer);cursor:pointer;padding:4px 6px;border-radius:5px;font-size:12px;transition:all .15s;line-height:1}
  .channel-remove:hover{color:var(--red);background:var(--red-dim)}
  .channel-input-row{display:flex;gap:8px}
  .channel-input-row input{flex:1}
  .btn-add{background:var(--purple);border:none;color:white;padding:9px 14px;border-radius:var(--radius-sm);font-family:'Nunito',sans-serif;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s;box-shadow:0 2px 6px rgba(124,106,245,.3)}
  .btn-add:hover{background:#6b58e8;transform:translateY(-1px)}
  .btn-add:disabled{opacity:.4;cursor:not-allowed;transform:none}

  .date-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .field-label{font-size:11px;color:var(--text-dimmer);margin-bottom:5px;font-weight:700;letter-spacing:.04em}
  .hashtag-wrap{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px;min-height:10px}
  .hashtag-chip{display:inline-flex;align-items:center;gap:4px;background:var(--purple-dim);border:1.5px solid var(--purple);color:var(--purple);font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;animation:popIn .15s ease}
  .hashtag-remove{background:none;border:none;color:var(--purple);cursor:pointer;font-size:13px;opacity:.6;transition:opacity .15s;line-height:1;padding:0}
  .hashtag-remove:hover{opacity:1}
  .hashtag-input-row{display:flex;gap:8px}
  .hashtag-input-row input{flex:1}
  .limit-row{display:flex;align-items:center;gap:12px}
  input[type=range]{flex:1;accent-color:var(--purple)}
  .limit-val{font-family:'DM Mono',monospace;font-size:14px;font-weight:500;color:var(--purple);min-width:24px;text-align:right}
  .sheets-status{font-size:11px;color:var(--text-dimmer);margin-top:5px}

  .btn-cancel{background:transparent;border:2px solid var(--pink);color:var(--pink);padding:14px 18px;border-radius:var(--radius);font-family:'Nunito',sans-serif;font-size:14px;font-weight:800;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}
  .btn-cancel:hover{background:var(--pink-dim)}
  .btn-fetch{width:100%;background:linear-gradient(135deg,var(--purple) 0%,var(--pink) 100%);border:none;color:white;padding:13px;border-radius:var(--radius);font-family:'Nunito',sans-serif;font-size:14px;font-weight:800;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px rgba(124,106,245,.35);letter-spacing:.02em;margin-top:4px}
  .btn-fetch:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(124,106,245,.45)}
  .btn-fetch:active{transform:translateY(0)}
  .btn-fetch:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
  .btn-analyse{width:100%;background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);border:none;color:white;padding:13px;border-radius:var(--radius);font-family:'Nunito',sans-serif;font-size:14px;font-weight:800;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px rgba(22,163,74,.3);letter-spacing:.02em;margin-top:4px}
  .btn-analyse:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(22,163,74,.4)}
  .btn-analyse:active{transform:translateY(0)}
  .btn-analyse:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;background:#6b7280}

  /* RESULTS */
  .results-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:360px;background:var(--bg)}
  .status-bar{display:flex;align-items:center;gap:10px;padding:9px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}
  .status-dot{width:8px;height:8px;border-radius:50%;background:var(--border-bright);flex-shrink:0}
  .status-dot.running{background:var(--amber);animation:pulse 1s infinite}
  .status-dot.done{background:var(--green)}
  .status-dot.error{background:var(--red)}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
  .status-text{font-size:12px;color:var(--text-dimmer);flex:1;font-weight:600}
  .results-count{font-family:'DM Mono',monospace;font-size:12px;color:var(--green);font-weight:500}
  .btn-action{display:flex;align-items:center;gap:5px;background:var(--bg);border:1.5px solid var(--border);color:var(--text-dim);padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:'Nunito',sans-serif}
  .btn-action:hover{border-color:var(--border-bright);color:var(--text)}
  .btn-action:disabled{opacity:.3;cursor:not-allowed}
  .btn-action.primary{background:var(--green-dim);border-color:var(--green-mid);color:var(--green)}

  .log-panel{background:var(--surface);border-bottom:1px solid var(--border);padding:8px 20px;font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dimmer);min-height:50px;max-height:88px;overflow-y:auto;flex-shrink:0}
  .log-line{margin-bottom:2px;line-height:1.6}
  .log-line.ok{color:var(--green)}.log-line.warn{color:var(--amber)}.log-line.err{color:var(--red)}

  .tab-bar{display:flex;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:0 20px;gap:2px;overflow-x:auto;scrollbar-width:thin}
  .main-tab{position:relative;background:none;border:none;border-bottom:2.5px solid transparent;color:var(--text-dimmer);font-family:'Nunito',sans-serif;font-size:13px;font-weight:700;padding:10px 14px 8px;cursor:pointer;transition:color .15s;margin-bottom:-1px;white-space:nowrap}
  .main-tab:hover{color:var(--text-dim)}
  .main-tab.active{color:var(--purple);border-bottom-color:var(--purple)}
  .tab-badge{display:inline-block;background:var(--purple-dim);border:1px solid var(--purple);color:var(--purple);font-size:9px;padding:1px 5px;border-radius:20px;margin-left:5px;font-family:'DM Mono',monospace;vertical-align:middle}
  .tab-content{flex:1;min-height:0;position:relative}
  .tab-analysis-inner{position:absolute;inset:0;overflow-y:auto;overflow-x:auto}
  .tab-comments-inner{position:absolute;inset:0;display:flex;flex-direction:column}
  .tab-comments-inner .filter-bar{flex-shrink:0}
  .tab-comments-inner .comments-scroll{flex:1;overflow-y:auto;overflow-x:auto;min-height:0}

  .analysis-panel-inner{padding:16px 20px 28px}
  .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:240px;gap:10px;color:var(--text-dimmer);text-align:center}
  .empty-scene{width:300px;max-width:78%;height:auto;margin-bottom:2px;user-select:none;pointer-events:none}
  .empty-icon{font-size:40px;opacity:.4}
  .empty-state p{font-size:13px;font-weight:600}
  .empty-state small{font-size:11px;opacity:.7}
  .empty-guide{width:min(520px,calc(100% - 32px));background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:18px;text-align:left;box-shadow:var(--shadow-sm)}
  .empty-guide.compact{width:100%;padding:14px}
  .empty-guide-icon{width:38px;height:38px;border-radius:10px;background:var(--purple-dim);border:1px solid rgba(124,106,245,.25);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
  .empty-guide-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
  .empty-guide-title{font-size:15px;font-weight:900;color:var(--text);line-height:1.25}
  .empty-guide-copy{font-size:12px;color:var(--text-dimmer);line-height:1.5;margin-top:3px}
  .empty-guide-steps{display:grid;gap:7px;margin-top:10px}
  .empty-guide-step{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.4;color:var(--text-dim);font-weight:700}
  .empty-guide-step span{color:var(--green);font-family:'DM Mono',monospace;line-height:1.3}
  .empty-guide-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
  .empty-guide-actions .btn-action,.empty-guide-actions .btn-fetch,.empty-guide-actions .btn-add{justify-content:center}
  .inline-empty-guide{border:1.5px dashed var(--border-bright);border-radius:var(--radius);background:var(--surface-raised);padding:14px;color:var(--text-dim);font-size:12px;line-height:1.5}
  .analysis-loading{display:flex;align-items:center;gap:12px;padding:22px 0;font-size:13px;color:var(--text-dimmer)}
  .spinner{width:18px;height:18px;border:2.5px solid var(--border);border-top-color:var(--purple);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
  @keyframes spin{to{transform:rotate(360deg)}}
  /* Mascot working out (doing a curl rep) while a Player Intelligence
     analysis runs. Uses the real brand still art (thick-hand mid-curl)
     via <img> and animates the whole element with a grounded "rep" pump
     — no Lottie/JS dependency, CSP-safe. */
  .cm-curl-mascot{flex-shrink:0;width:64px;height:64px;display:block;transform-origin:50% 100%;animation:cmRep 1.3s ease-in-out infinite}
  @keyframes cmRep{0%,100%{transform:translateY(2px) scaleY(.985)}50%{transform:translateY(-3px) scaleY(1.015)}}
  @media (prefers-reduced-motion:reduce){
    .cm-curl-mascot{animation:none;transform:none}
  }

  .channel-filter-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
  .channel-tab{font-size:12px;font-weight:700;padding:5px 13px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface);color:var(--text-dimmer);cursor:pointer;transition:all .15s}
  .channel-tab:hover{border-color:var(--border-bright);color:var(--text-dim)}
  .channel-tab.active{border-color:var(--purple);color:var(--purple);background:var(--purple-dim)}

  .analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;min-width:0;width:100%}
  .analysis-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);transition:box-shadow .15s;min-width:0;overflow:hidden}
  .analysis-card:hover{box-shadow:var(--shadow-md)}
  .analysis-card.full-width{grid-column:1/-1}
  #moduleCompetitors .analysis-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:360px;background:var(--bg);position:relative}
  #moduleCompetitors .tab-analysis-inner{position:relative;inset:auto;flex:1;min-height:0;overflow-y:auto;overflow-x:auto;padding:16px 20px 28px}
  #moduleCompetitors .competitor-pulse-report{display:flex;flex-direction:column;gap:12px}
  #moduleCompetitors .cmp-report-header{margin-bottom:0}
  #moduleCompetitors .cmp-summary-card{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:18px;align-items:start}
  #moduleCompetitors .cmp-kicker{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);margin-bottom:4px}
  #moduleCompetitors .cmp-summary-card h1{font-size:24px;line-height:1.12;margin:0;color:var(--text);font-weight:900}
  #moduleCompetitors .cmp-summary-card ul{margin:0;padding-left:18px;color:var(--text-dim);font-size:13px;line-height:1.55}
  #moduleCompetitors .cmp-summary-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
  #moduleCompetitors .cmp-decode-cta{width:max-content}
  #moduleCompetitors .cmp-period-note{font-size:12px;color:var(--text-dimmer);margin-top:6px;font-weight:700}
  #moduleCompetitors .cmp-report-section{margin-bottom:2px}
  #moduleCompetitors .cmp-report-section .ir-list-item{margin-bottom:8px}
  #moduleCompetitors .cmp-empty-section{border:1.5px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:14px 16px;color:var(--text-dimmer);font-size:12px;font-weight:800;text-align:center}
  #moduleCompetitors .cmp-section-note{background:var(--surface);border:1.5px solid var(--border);border-left:4px solid var(--blue);border-radius:var(--radius-sm);padding:10px 13px;margin-bottom:8px;font-size:12px;color:var(--text-dim);line-height:1.45}
  #moduleCompetitors .cmp-section-note b{color:var(--text)}
  #moduleCompetitors .cmp-context-card{border-left:4px solid #1E1B4B;background:#f6f4ff}
  #moduleCompetitors .cmp-title-opportunity{border-left-color:#534AB7;color:#534AB7}
  #moduleCompetitors .cmp-title-strength{border-left-color:#D97706;color:#D97706}
  #moduleCompetitors .cmp-opportunity-card{border-left:4px solid #534AB7;background:#FAEEDA}
  #moduleCompetitors .cmp-strength-card{border-left:4px solid #D97706;background:#E6F1FB}
  #moduleCompetitors .cmp-for-us{display:block;background:#EEEDFE;border-left:3px solid #534AB7;border-radius:0 6px 6px 0;padding:8px 10px;margin-top:9px;color:var(--text-dim);font-size:11px;line-height:1.5}
  #moduleCompetitors .cmp-for-us b{color:#534AB7;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
  #moduleCompetitors .cmp-source-composition{display:flex;flex-direction:column;gap:6px;margin:10px 0}
  #moduleCompetitors .cmp-source-row{display:grid;grid-template-columns:minmax(110px,180px) minmax(140px,1fr) 90px minmax(150px,220px);gap:8px;align-items:center;font-size:10px;color:var(--text-dim)}
  #moduleCompetitors .cmp-source-label{font-weight:900;color:var(--text)}
  #moduleCompetitors .cmp-source-track{height:12px;background:var(--border);border-radius:3px;overflow:hidden}
  #moduleCompetitors .cmp-source-track i{display:block;height:100%;background:#534AB7}
  #moduleCompetitors .cmp-source-row.is-gap .cmp-source-track i{background:#9CA3AF}
  #moduleCompetitors .cmp-source-row.is-gap .cmp-source-type{color:var(--red);font-weight:900}
  #moduleCompetitors .cmp-gap-table td:first-child{min-width:48px;font-weight:900}
  #moduleCompetitors .cmp-gap-table td:last-child{min-width:280px}
  #moduleCompetitors .cmp-gap-p1{border-left:4px solid #DC2626;color:#DC2626}
  #moduleCompetitors .cmp-gap-p2{border-left:4px solid #D97706;color:#D97706}
  #moduleCompetitors .cmp-gap-protect{border-left:4px solid #16A34A;color:#16A34A}
  #moduleCompetitors .cmp-gap-none{border-left:4px solid #9CA3AF;color:#6B7280}
  #moduleCompetitors .cmp-one-insight{background:#EEEDFE;border:1px solid #d8d5fb;border-left:6px solid #534AB7;border-radius:6px;padding:16px 18px;color:var(--text-dim);line-height:1.55}
  #moduleCompetitors .cmp-one-insight>b{display:block;color:var(--text);font-size:15px;line-height:1.4}
  #moduleCompetitors .cmp-one-insight p{margin:8px 0}
  #moduleCompetitors .cmp-one-insight span,#moduleCompetitors .cmp-one-insight small{display:block;font-size:11px;margin-top:5px}
  #moduleCompetitors .cmp-decoded-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  #moduleCompetitors .cmp-decoded-summary>div{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px}
  #moduleCompetitors .cmp-decoded-summary>div:nth-child(1){background:#f6f4ff}
  #moduleCompetitors .cmp-decoded-summary>div:nth-child(2){background:#fff5f5}
  #moduleCompetitors .cmp-decoded-summary>div:nth-child(3){background:#fff9e8}
  #moduleCompetitors .cmp-decoded-summary b{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dimmer)}
  #moduleCompetitors .cmp-decoded-summary p{font-size:12px;line-height:1.5;color:var(--text-dim);margin:5px 0 0}
  #moduleCompetitors .cmp-card-copy{font-size:12px;color:var(--text-dim);line-height:1.45;margin:6px 0}
  #moduleCompetitors .cmp-delta{font-size:10px;font-weight:900;margin-top:6px}
  #moduleCompetitors .cmp-delta.up{color:var(--green)}
  #moduleCompetitors .cmp-delta.down{color:var(--red)}
  #moduleCompetitors .competitor-comments-card{height:calc(100vh - 250px);min-height:420px;display:flex;flex-direction:column;padding:0;overflow:hidden}
  #moduleCompetitors .cmp-comments-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface)}
  #moduleCompetitors .cmp-comments-toolbar h2{font-size:18px;margin:0;color:var(--text);line-height:1.2}
  #moduleCompetitors .cmp-comments-toolbar p{font-size:12px;color:var(--text-dimmer);margin:3px 0 0;line-height:1.35}
  #moduleCompetitors .cmp-page-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
  #moduleCompetitors .cmp-page-controls span{font-size:11px;font-weight:900;color:var(--text-dim);white-space:nowrap}
  #moduleCompetitors .competitor-comments-scroll{flex:1;min-height:0;overflow:auto;border:0;border-radius:0}
  #moduleCompetitors .cmp-decoded-empty h2{font-size:20px;margin:0 0 6px;color:var(--text)}
  #moduleCompetitors .cmp-decoded-empty p{font-size:13px;line-height:1.55;color:var(--text-dim);margin:0}
  #moduleCompetitors .cmp-decode-controls{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:16px;box-shadow:var(--shadow-sm)}
  #moduleCompetitors .cmp-decode-label{font-size:10px;font-weight:800;color:var(--text-dimmer);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
  #moduleCompetitors .cmp-decode-preview{font-size:11px;color:var(--text-dimmer);margin:8px 0 12px}
  .comments-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:12px}
  .comments-table th{position:sticky;top:0;background:var(--surface-raised);color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.08em;text-align:left;border-bottom:1px solid var(--border);padding:9px 10px;z-index:1}
  .comments-table td{vertical-align:top;border-bottom:1px solid var(--border);padding:9px 10px;color:var(--text-dim);line-height:1.45}
  .comments-table td:last-child{color:var(--text);min-width:360px}
  .card-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dimmer);margin-bottom:12px;display:flex;align-items:center;gap:0}

  /* Info button & tooltip */
  .info-btn{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:none;border:1.5px solid var(--border-bright);color:var(--text-dimmer);font-size:9px;font-weight:700;cursor:pointer;flex-shrink:0;vertical-align:middle;margin-left:6px;transition:all .15s;font-family:'DM Mono',monospace;padding:0;line-height:1}
  .info-btn:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-dim)}
  .info-tooltip-popup{position:fixed;background:#1a1a2e;color:#e8eaf0;font-size:11px;line-height:1.55;padding:11px 14px;border-radius:10px;max-width:270px;z-index:9999;box-shadow:0 8px 28px rgba(0,0,0,.35);pointer-events:none;font-family:'Nunito',sans-serif;font-weight:400}
  .info-tooltip-popup strong{color:#fff;font-weight:700}
  .info-tooltip-popup .tip-row{margin-bottom:6px}
  .info-tooltip-popup .tip-row:last-child{margin-bottom:0}

  /* Source icon in table + breakdown */
  .src-icon{font-size:13px;margin-right:5px;line-height:1}
  .src-icon-yt{color:#ff0000}
  .src-icon-reddit{color:#ff4500}
  .src-icon-discord{color:#5865f2}
  .src-icon-tiktok{color:var(--text);font-style:normal;font-weight:700}
  .src-icon-steam{color:var(--text-dim)}
  .src-icon-gplay{color:#34a853}
  .src-icon-appstore{color:#555}
  .src-icon-store{color:var(--amber)}

  /* Complaint/praise count */
  .complaint-count{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dimmer);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px;margin-left:auto;white-space:nowrap;flex-shrink:0}

  .sentiment-score{display:flex;align-items:center;gap:14px}
  .sentiment-emoji{font-size:30px;line-height:1}
  .sentiment-label{font-size:22px;font-weight:800;color:var(--green)}
  .sentiment-label.negative{color:var(--red)}
  .sentiment-label.mixed{color:var(--amber)}
  .score-bar-wrap{flex:1;height:6px;background:var(--bg);border-radius:3px;overflow:hidden;margin-top:4px}
  .score-bar{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--green-mid),var(--green));transition:width .6s ease}
  .score-bar.negative{background:linear-gradient(90deg,var(--pink-mid),var(--red))}
  .score-bar.mixed{background:linear-gradient(90deg,#fcd34d,var(--amber))}
  .score-num{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dimmer);margin-top:5px}

  .theme-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}
  .theme-item:last-child{border-bottom:none}
  .theme-dot{width:9px;height:9px;border-radius:50%;margin-top:4px;flex-shrink:0}
  .dot-positive{background:var(--green)}.dot-negative{background:var(--red)}.dot-neutral{background:var(--text-dimmer)}.dot-mixed{background:var(--amber)}
  .theme-content{flex:1;min-width:0}
  .theme-name{font-size:13px;font-weight:700;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}
  .theme-name>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .theme-count{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dimmer);font-weight:400;flex-shrink:0;white-space:nowrap}
  .theme-meta{font-size:11px;color:var(--text-dimmer);margin-top:3px;display:flex;gap:8px;flex-wrap:wrap}
  .theme-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;font-family:'DM Mono',monospace}
  .badge-single{background:var(--blue-dim);color:var(--blue)}
  .badge-multi{background:var(--green-dim);color:var(--green)}
  .badge-echoed{background:var(--amber-dim);color:var(--amber)}
  .badge-over{background:var(--pink-dim);color:var(--pink)}
  .badge-overrepresented{background:var(--pink-dim);color:var(--pink)}
  .badge-proper{background:var(--green-dim);color:var(--green)}
  .badge-under{background:var(--blue-dim);color:var(--blue)}
  .badge-underweighted{background:var(--blue-dim);color:var(--blue)}
  .badge-intensity-low{background:var(--green-dim);color:var(--green)}
  .badge-intensity-medium{background:var(--amber-dim);color:var(--amber)}
  .badge-intensity-high{background:#fce7f3;color:#be185d}
  .badge-player-type{background:var(--surface);border:1px solid var(--border);color:var(--text-dim)}
  .handoff-quotes-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dimmer);margin:8px 0 4px}
  .theme-quote{font-size:11px;color:var(--text-dimmer);font-style:italic;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .feature-chips{display:flex;flex-wrap:wrap;gap:6px}
  .feature-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:20px;font-size:12px;font-weight:600;border:1.5px solid transparent;transition:transform .1s;cursor:default}
  .feature-chip:hover{transform:translateY(-1px)}
  .feature-chip.positive{background:var(--green-dim);border-color:var(--green-mid);color:var(--green)}
  .feature-chip.negative{background:var(--pink-dim);border-color:var(--pink-mid);color:var(--pink)}
  .feature-chip.mixed{background:var(--amber-dim);border-color:#fcd34d;color:var(--amber)}
  .feature-chip.predefined{font-weight:800}
  .chip-count{font-family:'DM Mono',monospace;font-size:10px;opacity:.65}

  .signal-item{padding:9px 12px;background:var(--bg);border-radius:var(--radius-sm);border-left:3px solid var(--border);margin-bottom:6px;font-size:12px;color:var(--text-dim);line-height:1.5}
  .signal-item:last-child{margin-bottom:0}
  .signal-item.high{border-left-color:var(--red)}.signal-item.medium{border-left-color:var(--amber)}.signal-item.low{border-left-color:var(--green)}
  .signal-item.misalign{border-left-color:var(--purple);background:rgba(124,106,245,.06);color:var(--text-dim)}

  /* ── CREATOR PROGRAM ─────────────────────────────── */
  .creator-module{display:flex;flex:1;overflow:hidden;min-height:0}
  .creator-config{width:280px;min-width:240px;border-right:1.5px solid var(--border);padding:18px 16px;overflow-y:auto;background:var(--surface);flex-shrink:0}
  .creator-results{flex:1;overflow-y:auto;padding:18px 20px;background:#eef0f6}

  .creator-card{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px}
  .creator-card img{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}
  .creator-card-info{flex:1;min-width:0}
  .creator-card-name{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .creator-card-sub{font-size:11px;color:var(--text-dimmer)}
  .creator-card-remove{background:none;border:none;color:var(--text-dimmer);cursor:pointer;font-size:13px;padding:2px 4px;flex-shrink:0}
  .creator-card-remove:hover{color:var(--pink)}

  .cp-summary-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
  .cp-stat{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 16px;flex:1;min-width:100px}
  .cp-stat-val{font-size:22px;font-weight:800;color:var(--text)}
  .cp-stat-label{font-size:11px;color:var(--text-dimmer);margin-top:2px}

  .cp-grid{display:flex;flex-direction:column;gap:10px}
  .cp-creator-row{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}
  .cp-creator-row.status-ok{border-left:3px solid var(--green)}
  .cp-creator-row.status-warn{border-left:3px solid var(--amber)}
  .cp-creator-row.status-fail{border-left:3px solid var(--pink)}

  .cp-row-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
  .cp-row-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--border)}
  .cp-row-name{font-size:13px;font-weight:800;color:var(--text);flex:1}
  .cp-row-subs{font-size:12px;color:var(--text-dimmer)}
  .cp-status-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;flex-shrink:0}
  .cp-status-badge.ok{background:var(--green-dim);color:var(--green)}
  .cp-status-badge.warn{background:var(--amber-dim);color:var(--amber)}
  .cp-status-badge.fail{background:var(--pink-dim);color:var(--pink)}

  .cp-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  @media(max-width:700px){.cp-metrics{grid-template-columns:repeat(2,1fr)}}
  .cp-metric{background:var(--bg);border-radius:6px;padding:8px 10px}
  .cp-metric-val{font-size:16px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:4px}
  .cp-metric-label{font-size:10px;color:var(--text-dimmer);margin-top:1px;text-transform:uppercase;letter-spacing:.04em}
  .trend-up{color:var(--green)}
  .trend-down{color:var(--pink)}
  .trend-flat{color:var(--text-dimmer)}

  .cp-videos-list{margin-top:10px;border-top:1px solid var(--border);padding-top:8px}
  .cp-video-item{display:flex;align-items:baseline;gap:8px;padding:4px 0;border-bottom:1px solid var(--border);font-size:11px}
  .cp-video-item:last-child{border-bottom:none}
  .cp-video-title{flex:1;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cp-video-views{color:var(--text-dimmer);flex-shrink:0;font-family:'DM Mono',monospace}
  .cp-video-link{color:var(--purple);text-decoration:none;flex-shrink:0}
  .cp-video-link:hover{text-decoration:underline}
  .cp-error{font-size:12px;color:var(--pink);padding:8px 0}

  /* ── History table ── */
  .cp-history{margin-top:12px}
  .cp-history-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dimmer);margin-bottom:6px;display:flex;align-items:center;justify-content:space-between}
  .cp-history-table{width:100%;border-collapse:collapse;font-size:11px}
  .cp-history-table th{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dimmer);padding:4px 8px;text-align:left;border-bottom:1.5px solid var(--border);white-space:nowrap}
  .cp-history-table td{padding:5px 8px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-dim)}
  .cp-history-table tr:last-child td{border-bottom:none}
  .cp-history-table tr:hover td{background:var(--bg)}
  .cp-hist-pass{color:var(--green);font-weight:700}
  .cp-hist-fail{color:var(--pink);font-weight:700}
  .cp-hist-input{background:none;border:none;border-bottom:1px dashed var(--border);color:var(--text);font-size:11px;font-family:'Nunito',sans-serif;width:100%;padding:1px 2px;min-width:60px}
  .cp-hist-input:focus{outline:none;border-bottom-color:var(--purple)}
  .cp-hist-gems{width:55px}
  .cp-hist-notes{min-width:120px}
  .cp-hist-why{max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:var(--text-dimmer)}

  /* ── PLAYER SUPPORT ──────────────────────────────── */
  .ps-inbox-panel{width:280px;min-width:240px;border-right:1.5px solid var(--border);display:flex;flex-direction:column;overflow:hidden;background:var(--surface);flex-shrink:0}
  .ps-inbox-header{padding:12px 12px 8px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex-shrink:0}
  .ps-inbox-toolbar{display:flex;align-items:center;gap:6px;justify-content:space-between}
  .ps-template-toggle{background:var(--surface-raised);border-radius:8px;padding:5px 9px}
  .ps-template-toggle.active{background:var(--purple-dim);border-color:var(--purple);color:var(--purple)}
  .ps-tag-btn{font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;border:1.5px solid var(--border);background:none;color:var(--text-dimmer);cursor:pointer;font-family:'Nunito',sans-serif;transition:all .15s;white-space:nowrap}
  .ps-tag-btn:hover{border-color:var(--tc,var(--purple));color:var(--tc,var(--purple))}
  .ps-tag-btn.active{background:var(--tc,var(--purple));border-color:var(--tc,var(--purple));color:white}
  .ps-inbox-list{flex:1;overflow-y:auto;padding:6px}
  .ps-empty-inbox{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:24px}

  .ps-email-item{padding:10px 10px;border-radius:8px;cursor:pointer;margin-bottom:3px;border-left:3px solid transparent;transition:background .1s}
  .ps-email-item.new-message{background:#fff1f2;border-left-color:#fb7185}
  .ps-email-item.responded{background:#ecfdf5;border-left-color:#34d399}
  .ps-email-item.read-message{background:var(--surface)}
  .ps-email-item:hover{background:var(--bg)}
  .ps-email-item.active{background:var(--purple-dim);border-left-color:var(--purple)}
  .ps-email-item.unread .ps-email-from{font-weight:800;color:var(--text)}
  .ps-email-from{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ps-email-subject{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
  .ps-email-preview{font-size:10px;color:var(--text-dimmer);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
  .ps-email-meta{display:flex;align-items:center;justify-content:space-between;margin-top:3px}
  .ps-email-date{font-size:10px;color:var(--text-dimmer);font-family:'DM Mono',monospace}
  .ps-email-tag{font-size:9px;font-weight:700;padding:1px 6px;border-radius:10px;white-space:nowrap}
  .ps-tag-creator_program{background:#ede9fe;color:#5b21b6}
  .ps-tag-business{background:#dbeafe;color:#1e40af}
  .ps-tag-player_support{background:#dcfce7;color:#15803d}
  .ps-tag-other{background:#f3f4f6;color:#374151}
  .ps-tag-needs_review{background:#fee2e2;color:#991b1b}
  .ps-tag-auto_sent{background:#d1fae5;color:#065f46}
  .ps-tag-draft{background:#fef3c7;color:#92400e}

  .ps-detail-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}
  .ps-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;flex:1;background:var(--bg)}
  .ps-email-header{padding:16px 20px 12px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}
  .ps-email-subject-line{font-size:15px;font-weight:800;color:var(--text);margin-bottom:6px}
  .ps-email-from-line{font-size:12px;color:var(--text-dim);margin-bottom:4px}
  .ps-email-body{flex:1;overflow-y:auto;padding:18px 20px;font-size:13px;color:var(--text);line-height:1.7;min-height:0;background:var(--bg)}
  .ps-response-area{border-top:1.5px solid var(--border);background:var(--surface);flex-shrink:0;max-height:52vh;min-height:260px;display:flex;flex-direction:column;overflow:hidden}
  .ps-response-toolbar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}
  .ps-response-label{font-size:11px;font-weight:700;color:var(--text-dim);flex:1}
  .ps-confidence{font-size:11px;font-family:'DM Mono',monospace;padding:2px 8px;border-radius:10px}
  .ps-confidence.high{background:#d1fae5;color:#065f46}
  .ps-confidence.med{background:#fef3c7;color:#92400e}
  .ps-confidence.low{background:#fee2e2;color:#991b1b}
  .ps-response-body{flex:1;overflow-y:auto;padding:0}
  .ps-response-body textarea{width:100%;height:100%;min-height:190px;border:none;background:none;color:var(--text);font-family:'Nunito',sans-serif;font-size:13px;padding:14px 16px;resize:vertical;outline:none;line-height:1.6;box-sizing:border-box}
  .ps-response-actions{display:flex;gap:8px;padding:8px 14px;flex-shrink:0;border-top:1px solid var(--border)}
  .ps-btn-send{background:var(--green);border:none;color:white;padding:7px 18px;border-radius:6px;font-family:'Nunito',sans-serif;font-size:12px;font-weight:700;cursor:pointer}
  .ps-btn-send:hover{opacity:.88}
  .ps-btn-discard{background:none;border:1.5px solid var(--border);color:var(--text-dimmer);padding:7px 12px;border-radius:6px;font-family:'Nunito',sans-serif;font-size:12px;font-weight:700;cursor:pointer}
  .ps-btn-regen{background:var(--purple-dim);border:1.5px solid var(--purple);color:var(--purple);padding:7px 12px;border-radius:6px;font-family:'Nunito',sans-serif;font-size:12px;font-weight:700;cursor:pointer}
  /* Shared compact controls for Support ticket/bug cards (replaces repeated inline styling). */
  .ps-card-control{font-size:11px;padding:4px 8px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);cursor:pointer;font-family:'Nunito',sans-serif;font-weight:700}
  .ps-card-ghost{font-size:11px;padding:3px 8px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:none;color:var(--text-dimmer);cursor:pointer}
  /* Shared controls for the Support ticket detail/response toolbar (replaces inline styling). */
  .ps-detail-select{font-size:11px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);padding:4px 8px;font-family:'Nunito',sans-serif}
  .ps-detail-select.lg{font-size:12px;padding:6px 8px}
  .ps-detail-action{font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;cursor:pointer;font-family:'Nunito',sans-serif}
  .ps-detail-action.primary{background:var(--purple);border:none;color:#fff}
  .ps-detail-action.danger{background:var(--surface);border:1px solid var(--border);color:var(--pink)}
  .ps-detail-chip{font-size:11px;padding:3px 10px;border-radius:20px;background:var(--bg);border:1px solid var(--border)}

  /* Unified Player Support template picker and manager */
  .ps-template-picker,.ps-template-modal,.ps-template-discard{
    --ps-template-action:#5542c7;
    --ps-template-success:#176b43;
    --ps-template-warning:#6f4e00;
    --ps-template-danger:#b42318;
  }
  .ps-template-picker-wrap{position:relative;flex:0 1 280px;min-width:180px}
  .ps-template-picker-trigger{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 11px;border:1.5px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text);font:700 12px 'Nunito',sans-serif;cursor:pointer;text-align:left}
  .ps-template-picker-trigger[aria-expanded="true"]{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-ring)}
  .ps-template-picker-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ps-template-picker{position:fixed;z-index:190;width:min(420px,calc(100vw - 24px));max-height:min(480px,calc(100vh - 24px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md)}
  .ps-template-picker[hidden]{display:none}
  .ps-template-picker-search{display:flex;flex-direction:column;gap:5px}
  .ps-template-picker-search input{width:100%}
  .ps-template-count{min-height:16px;font-size:11px;font-weight:700;color:var(--text-dimmer)}
  .ps-template-picker-results,.ps-template-browse-results{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:2px}
  .ps-template-picker-row,.ps-template-manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;border:1.5px solid var(--border);border-radius:8px;background:var(--surface-raised);padding:8px}
  .ps-template-picker-row.applied{border-color:var(--ps-template-success);box-shadow:inset 3px 0 0 var(--ps-template-success)}
  .ps-template-choose{min-width:0;border:0;background:none;color:var(--text);font-family:'Nunito',sans-serif;text-align:left;padding:2px;cursor:pointer}
  .ps-template-row-name{display:block;font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ps-template-row-meta{display:block;margin-top:2px;font-size:10px;font-weight:700;color:var(--text-dimmer);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ps-template-row-preview{display:-webkit-box;margin-top:3px;font-size:11px;line-height:1.4;color:var(--text-dim);overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
  .ps-template-applied{display:inline-block;margin-left:6px;color:var(--ps-template-success);font-size:10px;font-weight:900}
  .ps-template-edit{align-self:center;min-height:40px;padding:6px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--ps-template-action);font:800 11px 'Nunito',sans-serif;cursor:pointer}
  .ps-template-picker-footer{padding-top:8px;border-top:1px solid var(--border)}
  .ps-template-create{width:100%;min-height:42px;border:1.5px solid var(--ps-template-action);border-radius:8px;background:var(--purple-dim);color:var(--ps-template-action);font:800 12px 'Nunito',sans-serif;cursor:pointer;text-align:left;padding:8px 12px}
  .ps-template-readonly{max-width:360px;color:var(--text-dim);font-size:11px;font-weight:700;line-height:1.4}
  .ps-template-readonly-row{align-self:center;color:var(--text-dimmer);font-size:11px;font-weight:800}
  .ps-template-state{padding:24px 12px;text-align:center;color:var(--text-dim);font-size:12px;line-height:1.5}
  .ps-template-state-title{font-size:13px;font-weight:900;color:var(--text);margin-bottom:4px}
  .ps-template-state-actions{display:flex;justify-content:center;gap:8px;margin-top:10px}
  .ps-template-modal{width:760px;max-width:calc(100vw - 48px);max-height:88vh;padding:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}
  .ps-template-modal-header{gap:10px}
  .ps-template-title-wrap{min-width:0;flex:1}
  .ps-template-subtitle{font-size:11px;color:var(--text-dimmer);margin-top:2px}
  .ps-template-back{min-height:40px;border:0;background:none;color:var(--ps-template-action);font:800 12px 'Nunito',sans-serif;cursor:pointer;padding:4px}
  .ps-template-modal-body{overflow-y:auto;padding:22px;display:block}
  .ps-template-status:empty{display:none}
  .ps-template-status{margin:0 22px;padding:9px 11px;border-radius:8px;background:var(--green-dim);color:var(--ps-template-success);font-size:12px;font-weight:800}
  .ps-template-status.error{background:var(--red-dim);color:var(--ps-template-danger)}
  .ps-template-status.warning{background:var(--amber-dim);color:var(--ps-template-warning)}
  .ps-template-status.info{background:var(--purple-dim);color:var(--ps-template-action)}
  .ps-template-browse-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:12px}
  .ps-template-search-field label{display:block;margin-bottom:5px;font-size:11px;font-weight:800;color:var(--text-dim)}
  .ps-template-search-field input{width:100%}
  .ps-template-manage-row{min-height:72px;padding:12px}
  .ps-template-manage-row.saved{border-color:var(--ps-template-success);box-shadow:inset 3px 0 0 var(--ps-template-success)}
  .ps-template-modal-footer:empty{display:none}
  .ps-template-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--border);background:var(--surface)}
  .ps-template-dirty{margin-right:auto;color:var(--ps-template-warning);font-size:11px;font-weight:800}
  .ps-template-cancel,.ps-template-save,.ps-template-danger,.ps-template-reload{min-height:42px;padding:8px 16px;border-radius:8px;font:800 13px 'Nunito',sans-serif;cursor:pointer}
  .ps-template-cancel{border:1.5px solid var(--border);background:var(--surface);color:var(--text-dim)}
  .ps-template-save,.ps-template-modal .btn-add{min-width:132px;border:0;background:var(--ps-template-action);color:#fff}
  .ps-template-reload{border:1.5px solid var(--ps-template-warning);background:var(--amber-dim);color:var(--ps-template-warning)}
  .ps-template-save:disabled{opacity:.55;cursor:not-allowed}
  .ps-template-form{display:flex;flex-direction:column;gap:14px}
  .ps-template-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .ps-tpl-field{display:flex;flex-direction:column;gap:4px}
  .ps-tpl-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dimmer)}
  .ps-tpl-body{min-height:220px;font-family:'Nunito',sans-serif;font-size:13px;resize:vertical}
  .ps-placeholder-hint{font-size:10px;color:var(--text-dimmer);margin-top:4px}
  .ps-template-field-error{min-height:14px;color:var(--ps-template-danger);font-size:11px;font-weight:700}
  .ps-template-form [aria-invalid="true"]{border-color:var(--ps-template-danger)}
  .ps-template-discard-overlay{z-index:240}
  .ps-template-discard{width:420px;max-width:calc(100vw - 24px)}
  .ps-template-discard p{font-size:13px;line-height:1.5;color:var(--text-dim)}
  .ps-template-discard-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
  .ps-template-danger{border:1.5px solid var(--ps-template-danger);background:var(--red-dim);color:var(--ps-template-danger)}

  /* History log */
  .ps-history-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--border);font-size:11px}
  .ps-history-row:last-child{border-bottom:none}
  .ps-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;margin-left:5px;border-radius:999px;background:rgba(232,93,117,.14);color:var(--pink);font-size:10px;font-weight:900;line-height:1}
  .ps-unread-count{font-size:10px;font-weight:800;color:var(--pink);background:rgba(232,93,117,.1);border:1px solid rgba(232,93,117,.18);border-radius:999px;padding:3px 8px;white-space:nowrap}
  .ps-audit-panel{border-top:1px solid var(--border);background:var(--surface);padding:10px 14px;max-height:220px;overflow:auto;flex-shrink:0}
  .ps-audit-panel.empty{max-height:none}
  .ps-audit-title{font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dimmer);margin-bottom:7px;display:flex;align-items:center;justify-content:space-between;gap:8px}
  .ps-audit-title-actions{display:flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0}
  .ps-audit-refresh{border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text-dim);font-family:'Nunito',sans-serif;font-size:10px;font-weight:900;padding:3px 8px;cursor:pointer}
  .ps-audit-refresh:hover{border-color:var(--purple);color:var(--purple)}
  .ps-audit-row{border:1px solid var(--border);border-radius:8px;background:var(--bg);padding:7px 9px;margin-bottom:6px}
  .ps-audit-meta{font-size:10px;font-weight:800;color:var(--text-dimmer);display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:4px}
  .ps-audit-body{font-size:11px;color:var(--text-dim);white-space:pre-wrap;word-break:break-word;line-height:1.4;max-height:52px;overflow:hidden}
  .ps-audit-status{border-radius:999px;padding:1px 7px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;background:var(--bg);border:1px solid var(--border);color:var(--text-dimmer)}
  .ps-audit-status.sent{background:var(--green-dim);border-color:var(--green-mid);color:var(--green)}
  .ps-audit-status.retrying{background:var(--amber-dim);border-color:rgba(240,165,0,.35);color:var(--amber)}
  .ps-audit-status.failed{background:var(--pink-dim);border-color:var(--pink-mid);color:var(--pink)}
  .ps-audit-empty{font-size:11px;color:var(--text-dimmer);line-height:1.45}

  /* ── Creator full profile cards ── */
  .cp-card{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:box-shadow .15s}
  .cp-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.10)}
  /* Status left border — keeps quota feedback without overriding platform tint */
  .cp-card.status-ok{border-left:4px solid var(--green)}
  .cp-card.status-warn{border-left:4px solid var(--amber)}
  .cp-card.status-fail{border-left:4px solid var(--pink)}
  .cp-card.enrolled{border-left:4px solid var(--purple)}
  /* Platform tints — subtle background wash */
  .cp-card.plat-youtube{background:linear-gradient(135deg,#fff5f5 0%,var(--surface) 120px)}
  .cp-card.plat-twitch{background:linear-gradient(135deg,#f5f0ff 0%,var(--surface) 120px)}
  .cp-card.plat-tiktok{background:linear-gradient(135deg,#f2f2f4 0%,var(--surface) 120px)}
  .cp-card.plat-meta{background:linear-gradient(135deg,#eef5ff 0%,var(--surface) 120px)}
  .cp-card.plat-instagram{background:linear-gradient(135deg,#f0f4ff 0%,var(--surface) 120px)}
  .cp-card-header{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;user-select:none}
  .cp-card-header:hover{background:rgba(0,0,0,.02)}
  .cp-card-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0}
  .cp-card-identity{flex:1;min-width:0}
  .cp-card-name{font-size:13px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cp-card-meta{display:flex;align-items:center;gap:6px;margin-top:2px;flex-wrap:wrap}
  .cp-card-subs{font-size:11px;color:var(--text-dimmer)}
  .cp-card-badges{display:flex;gap:4px;align-items:center;flex-shrink:0}
  .cp-tier-badge{font-size:10px;font-weight:800;padding:2px 8px;border-radius:12px;border:1.5px solid}
  .cp-tier-1{background:#f5f3ff;border-color:#7c3aed;color:#5b21b6;font-weight:800}
  .cp-tier-2{background:#eff6ff;border-color:#2563eb;color:#1e40af;font-weight:800}
  .cp-tier-3{background:#f0fdf4;border-color:#16a34a;color:#15803d;font-weight:800}
  .cp-nda-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:12px;background:var(--green-dim);border:1px solid var(--green-mid);color:var(--green)}
  .cp-enrolled-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:12px;background:rgba(124,106,245,.12);border:1px solid rgba(124,106,245,.3);color:var(--purple)}
  .cp-expand-btn{font-size:18px;color:var(--text-dimmer);flex-shrink:0;line-height:1;transition:transform .2s}
  .cp-expand-btn.open{transform:rotate(180deg)}
  .cp-card-body{display:none;border-top:1px solid var(--border);padding:16px 16px 12px;background:var(--bg)}
  .cp-card-body.open{display:block}

  /* Profile field grid */
  .cp-date-range{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:8px}
  .cp-date-range label{min-width:0}
  .cp-date-range .field-label{display:block;margin-bottom:4px}
  .cp-date-range input[type=date]{min-width:0;max-width:100%}
  .cp-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:12px}
  @media(max-width:800px){.cp-profile-grid{grid-template-columns:1fr}}
  .cp-profile-grid.full{grid-template-columns:1fr}
  .cp-field-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dimmer);margin-bottom:3px}
  .cp-field-input{width:100%;padding:6px 9px;border:1.5px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:12px;font-family:'Nunito',sans-serif;box-sizing:border-box}
  .cp-field-input:focus{outline:none;border-color:var(--purple)}
  .cp-field-textarea{width:100%;padding:6px 9px;border:1.5px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:12px;font-family:'Nunito',sans-serif;resize:vertical;min-height:52px;box-sizing:border-box}
  .cp-field-textarea:focus{outline:none;border-color:var(--purple)}
  .cp-field-select{width:100%;padding:6px 9px;border:1.5px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:12px;font-family:'Nunito',sans-serif;box-sizing:border-box}
  .cp-field-select:focus{outline:none;border-color:var(--purple)}
  .cp-manual-evidence{border:1.5px solid var(--border);border-radius:10px;background:var(--surface-raised);padding:12px;margin:10px 0 12px}
  .cp-manual-evidence-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
  .cp-manual-evidence-copy{font-size:11px;color:var(--text-dimmer);line-height:1.35}

  /* Checkbox rows */
  .cp-checks{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:12px}
  .cp-check-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-dim);cursor:pointer}
  .cp-check-item input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--purple)}

  /* NDA upload */
  .cp-nda-upload{display:flex;align-items:center;gap:8px;background:var(--bg);border:1.5px dashed var(--border);border-radius:6px;padding:6px 10px;font-size:11px;color:var(--text-dimmer);cursor:pointer;margin-top:4px}
  .cp-nda-upload:hover{border-color:var(--purple);color:var(--purple)}
  .cp-nda-file{font-size:11px;color:var(--green);font-weight:600;margin-top:4px}

  /* Stats row in card */
  .cp-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
  .cp-stat-cell{background:var(--bg);border-radius:6px;padding:7px 9px;text-align:center}
  .cp-stat-cell-val{font-size:14px;font-weight:800;color:var(--text)}
  .cp-stat-cell-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dimmer);margin-top:1px}
  .cp-explain-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0 10px}
  @media(max-width:900px){.cp-explain-list{grid-template-columns:1fr}}
  .cp-explain-item{display:flex;gap:7px;align-items:flex-start;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:7px 8px}
  .cp-explain-item.pass{border-color:rgba(46,204,113,.28);background:rgba(46,204,113,.06)}
  .cp-explain-item.fail{border-color:rgba(232,93,117,.28);background:rgba(232,93,117,.06)}
  .cp-explain-status{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px;font-weight:900;background:var(--border);color:var(--text-dim);margin-top:1px}
  .cp-explain-item.pass .cp-explain-status{background:var(--green);color:white}
  .cp-explain-item.fail .cp-explain-status{background:var(--pink);color:white}
  .cp-explain-body{min-width:0}
  .cp-explain-label{font-size:10px;font-weight:900;color:var(--text);line-height:1.2}
  .cp-explain-message{font-size:10px;color:var(--text-dimmer);line-height:1.35;margin-top:1px}

  /* Video list inside card */
  .cp-video-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border);font-size:11px}
  .cp-video-row:last-child{border-bottom:none}
  .cp-video-row a{color:var(--text-dim);text-decoration:none;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
  .cp-video-row a:hover{color:var(--purple);text-decoration:underline}
  .cp-video-views{color:var(--text-dimmer);font-family:'DM Mono',monospace;flex-shrink:0}

  /* Card action bar */
  .cp-card-actions{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--border);margin-top:4px}
  .cp-save-btn{font-size:12px;font-weight:700;padding:6px 14px;border-radius:6px;border:none;background:var(--purple);color:white;cursor:pointer;font-family:'Nunito',sans-serif}
  .cp-save-btn:hover{opacity:.88}
  .cp-del-btn{font-size:12px;font-weight:700;padding:6px 12px;border-radius:6px;border:1.5px solid var(--border);background:none;color:var(--text-dimmer);cursor:pointer;font-family:'Nunito',sans-serif;margin-left:auto}
  .cp-del-btn:hover{border-color:var(--pink);color:var(--pink)}
  .cp-saved-flash{font-size:11px;color:var(--green);font-weight:700;align-self:center;opacity:0;transition:opacity .3s}
  .cp-saved-flash.show{opacity:1}

  /* Requirements tabs */
  .cp-req-tabs{display:flex;gap:3px;margin-bottom:10px;background:var(--bg);border:1.5px solid var(--border);border-radius:8px;padding:3px}
  .cp-req-tab{flex:1;background:none;border:none;border-radius:6px;padding:5px 4px;font-size:11px;font-weight:700;color:var(--text-dimmer);cursor:pointer;font-family:'Nunito',sans-serif;transition:all .15s}
  .cp-req-tab.active{background:var(--surface);color:var(--purple);box-shadow:0 1px 3px rgba(0,0,0,.1)}
  .cp-req-panel{animation:fadeIn .15s}
  .cp-req-name-row{margin-bottom:8px}
  .cp-req-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .cp-req-field{}
  .cp-req-platform-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px}
  .cp-req-platform-tab{border:1.5px solid var(--border);background:var(--surface);color:var(--text-dim);border-radius:999px;padding:5px 10px;font-family:'Nunito',sans-serif;font-size:11px;font-weight:800;cursor:pointer}
  .cp-req-platform-tab.active{border-color:var(--purple);background:var(--purple-dim);color:var(--purple)}
  .cp-req-platform-panel{border:1.5px solid var(--border);background:var(--bg);border-radius:10px;padding:10px}
  .cp-req-note{font-size:10px;color:var(--text-dimmer);margin-top:8px;line-height:1.35}
  .cp-req-summary-platform{display:inline-flex;align-items:center;gap:3px;margin:2px 4px 2px 0;padding:2px 7px;border:1px solid var(--border);border-radius:999px;background:var(--bg);line-height:1.35}

  /* Filter bar */
  .cp-filter-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}
  .cp-filter-sel{padding:5px 8px;border:1.5px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);font-size:11px;font-family:'Nunito',sans-serif;font-weight:600;cursor:pointer}
  .cp-filter-sel:focus{outline:none;border-color:var(--purple)}
  .cp-filter-clear{padding:5px 10px;border:1.5px solid var(--border);border-radius:20px;background:none;color:var(--text-dimmer);font-size:11px;font-family:'Nunito',sans-serif;font-weight:700;cursor:pointer}
  .cp-filter-clear:hover{border-color:var(--pink);color:var(--pink)}

  /* Platform tabs in creator config */
  .cp-platform-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
  .cp-ptab{background:var(--bg);border:1.5px solid var(--border);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700;color:var(--text-dim);cursor:pointer;transition:all .15s;font-family:'Nunito',sans-serif}
  .cp-ptab:hover{border-color:var(--purple);color:var(--purple)}
  .cp-ptab.active{background:var(--purple-dim);border-color:var(--purple);color:var(--purple)}

  /* Platform badges on creator cards */
  .cp-plat-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}
  .cp-plat-youtube{border-color:#ef4444;color:#ef4444;background:#fef2f2}
  .cp-plat-tiktok{border-color:#1a1a1a;color:#1a1a1a;background:#f5f5f5}
  .cp-plat-twitch{border-color:#9146ff;color:#9146ff;background:#f5f0ff}
  .cp-plat-meta{border-color:#2563eb;color:#2563eb;background:#eff6ff}
  .cp-plat-instagram{border-color:#e1306c;color:#e1306c;background:#fdf2f7}

  /* Avatar fallback for non-YouTube */
  .creator-avatar-fallback{width:32px;height:32px;border-radius:50%;background:var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px}
  .cp-row-avatar.fallback{background:var(--border);display:flex;align-items:center;justify-content:center;font-size:18px}

  /* Manual status buttons */
  .cp-manual-btn{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;cursor:pointer;border:1.5px solid;font-family:'Nunito',sans-serif;transition:all .15s}
  .cp-manual-btn.ok{border-color:var(--green-mid);color:var(--green);background:var(--green-dim)}
  .cp-manual-btn.ok:hover,.cp-manual-btn.ok.selected{background:var(--green);color:white}
  .cp-manual-btn.warn{border-color:#fcd34d;color:var(--amber);background:var(--amber-dim)}
  .cp-manual-btn.warn:hover,.cp-manual-btn.warn.selected{background:var(--amber);color:white}
  .cp-manual-btn.fail{border-color:var(--pink-mid);color:var(--pink);background:var(--pink-dim)}
  .cp-manual-btn.fail:hover,.cp-manual-btn.fail.selected{background:var(--pink);color:white}
  .badge-align-aligned{background:var(--green-dim);color:var(--green)}
  .badge-align-pushback{background:var(--pink-dim);color:var(--pink)}
  .badge-align-neutral{background:var(--bg);color:var(--text-dimmer)}

  .handoff-item{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:8px}
  .handoff-item:last-child{margin-bottom:0}
  .handoff-theme{font-size:13px;font-weight:700;color:var(--text);margin-bottom:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .handoff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 16px;font-size:11px;margin-bottom:6px}
  .handoff-row{display:grid;grid-template-columns:150px 1fr;gap:4px;font-size:11px;padding:3px 0;border-bottom:1px solid var(--border)}
  .handoff-row:last-child{border-bottom:none}
  .handoff-field{color:var(--text-dimmer);font-weight:700;display:flex;align-items:center;gap:4px}
  .handoff-value{color:var(--text-dim)}
  .handoff-section-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dimmer);margin:10px 0 4px;opacity:.7}

  /* Theme extended fields */
  .theme-extended{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 14px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}
  .theme-ext-row{font-size:10px;display:flex;gap:5px}
  .theme-ext-label{color:var(--text-dimmer);font-weight:700;white-space:nowrap}
  .theme-ext-val{color:var(--text-dim)}

  /* Trajectory / lifecycle badges */
  .badge-rising{background:#e8f8f1;color:var(--green)}
  .badge-declining{background:var(--pink-dim);color:var(--pink)}
  .badge-stable{background:var(--bg2);color:var(--text-dimmer)}
  .badge-emerging{background:var(--blue-dim);color:var(--blue)}
  .badge-growing{background:var(--purple-dim);color:var(--purple)}
  .badge-none{background:var(--bg2);color:var(--text-dimmer)}

  /* ── PLAYER INSIGHTS TAB ─────────────────────────────── */
  .insight-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:12px;box-shadow:var(--shadow-sm)}
  .insight-card:last-child{margin-bottom:0}
  .insight-theme-name{font-size:14px;font-weight:800;color:var(--text);margin-bottom:4px}
  .insight-complaint{font-size:12px;color:var(--text-dim);font-style:italic;margin-bottom:12px;padding:8px 12px;background:var(--bg);border-radius:var(--radius-sm);border-left:3px solid var(--purple)}
  .insight-section{margin-bottom:10px}
  .insight-section-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dimmer);margin-bottom:4px}
  .insight-section-value{font-size:12px;color:var(--text-dim);line-height:1.55}
  .insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:10px}
  .insight-metric{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}
  .insight-metric-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dimmer);margin-bottom:4px;display:flex;align-items:center;gap:4px}
  .insight-metric-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;display:inline-block}
  .insight-metric-detail{font-size:11px;color:var(--text-dim);margin-top:5px;line-height:1.45}
  .insight-handoff-chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:5px 10px;font-size:11px;font-weight:700;color:var(--text-dim);margin:3px 4px 3px 0;cursor:default}

  /* ── SENTIMENT REPORT (Layer 1 Insights) ──────────── */
  .insights-run-again{background:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);font-size:11px;font-weight:700;padding:5px 12px;cursor:pointer;margin-bottom:14px;transition:all .15s}
  .insights-run-again:hover{border-color:var(--purple);color:var(--purple)}
  .ir-header{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:13px 16px;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center}
  /* History panel */
  .history-row-btn{background:none;border:none;font-size:11px;font-weight:700;color:var(--text-dim);cursor:pointer;padding:0;font-family:inherit;transition:color .12s}
  .history-row-btn:hover{color:var(--purple)}
  .competitor-history-list{display:flex;flex-direction:column;gap:8px}
  .competitor-history-row{display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;box-shadow:var(--shadow-sm)}
  .competitor-history-row b{font-size:13px;color:var(--text)}
  .competitor-history-row span{font-size:11px;color:var(--text-dimmer)}
  .competitor-profile-heading{display:flex;align-items:center;gap:10px;margin:2px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--border)}
  .competitor-profile-heading img,.competitor-profile-logo-fallback{width:36px;height:36px;border-radius:10px;object-fit:cover;flex-shrink:0}
  .competitor-profile-logo-fallback{background:var(--surface-raised);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-dimmer);font-weight:900}
  .competitor-profile-heading h2{font-size:22px;line-height:1.15;margin:0;color:var(--text);font-weight:900;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .competitor-profile-heading .competitor-profile-spacer{flex:1}
  .competitor-profile-select-row{display:flex;gap:8px;align-items:center}
  .competitor-profile-select-row select{min-width:0;flex:1;height:43px;padding-top:0;padding-bottom:0}
  .competitor-context-button{margin-left:auto;display:inline-flex;align-items:center;gap:9px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--purple),#8b6cff);color:#fff;font-size:13px;font-weight:900;font-family:'Nunito',sans-serif;padding:10px 14px;box-shadow:0 8px 20px rgba(126,105,239,.22);cursor:pointer;transition:transform .12s,box-shadow .12s}
  .competitor-context-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(126,105,239,.28)}
  .competitor-context-button img{width:22px;height:22px;border-radius:6px;display:block;flex-shrink:0}
  .competitor-source-modal{width:min(520px,calc(100vw - 28px))}
  .modal-hint{font-size:12px;line-height:1.45;color:var(--text-dimmer)}
  .competitor-source-card{display:flex;align-items:center;gap:10px;background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:9px 11px;transition:opacity .2s,box-shadow .15s}
  .competitor-source-card:hover{box-shadow:var(--shadow-sm)}
  .competitor-source-card.disabled{opacity:.48;filter:grayscale(.45)}
  .competitor-source-main{min-width:0;flex:1}
  .competitor-source-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--text)}
  .competitor-source-meta{font-size:11px;color:var(--text-dimmer);line-height:1.45;margin-top:2px}
  .competitor-source-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
  .competitor-icon-img{width:18px;height:18px;border-radius:5px;object-fit:cover;flex-shrink:0}
  .history-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);margin-bottom:6px;min-width:0}
  .history-item:last-child{margin-bottom:0}
  .history-item-meta{flex:1;min-width:0}
  .history-item-label{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .history-item-sub{font-size:10px;color:var(--text-dimmer);margin-top:1px}
  .history-item-actions{display:flex;gap:5px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}

  /* AUDIENCE LAB */
  #moduleAudienceLab{background:#f7f8fb}
  .audience-lab-topbar{min-height:64px;padding:12px 20px}
  .audience-lab-topbar .top-bar-title{font-size:17px}
  .audience-lab-top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
  .audience-lab-shell{position:relative;flex:1;min-height:0;display:flex;overflow:hidden;background:#f7f8fb}
  .audience-lab-sidebar{width:260px;flex:0 0 260px;background:var(--surface);border-right:1px solid var(--border);min-height:0;overflow:hidden}
  .audience-lab-sidebar-scroll{height:100%;overflow-y:auto;padding:20px 16px}
  .audience-sidebar-heading{font-size:10px;line-height:1;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dimmer);margin-bottom:12px}
  .audience-dataset{padding-bottom:20px;border-bottom:1px solid var(--border)}
  .audience-dataset-name{font-size:14px;font-weight:900;color:var(--text);line-height:1.3}
  .audience-dataset-count{font-size:12px;color:var(--text-dimmer);line-height:1.4;margin-top:3px}
  .audience-scope-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
  .audience-scope-chip{display:inline-flex;align-items:center;max-width:100%;padding:4px 7px;border:1px solid var(--border);border-radius:6px;background:var(--bg);font-size:10px;font-weight:800;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .audience-text-button{margin-top:12px;border:0;background:none;padding:0;color:var(--purple);font:800 12px 'Nunito',sans-serif;cursor:pointer}
  .audience-text-button:hover{text-decoration:underline}
  .audience-history{padding-top:20px}
  .audience-history-list{display:flex;flex-direction:column;gap:3px}
  .audience-history-item{width:100%;border:0;border-left:2px solid transparent;background:transparent;border-radius:0;padding:9px 8px;text-align:left;cursor:pointer;font-family:'Nunito',sans-serif;transition:background .15s,border-color .15s}
  .audience-history-item:hover{background:var(--bg);border-left-color:var(--border-bright)}
  .audience-history-item.active{background:var(--purple-dim);border-left-color:var(--purple)}
  .audience-history-question{display:block;font-size:12px;font-weight:800;color:var(--text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .audience-history-meta{display:block;font-size:10px;color:var(--text-dimmer);margin-top:3px}
  .audience-sidebar-empty{font-size:12px;color:var(--text-dimmer);line-height:1.45;padding:4px 8px}
  .audience-lab-workspace{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}
  .audience-thread{flex:1;min-height:0;overflow-y:auto;padding:42px 32px 28px}
  .audience-lab-welcome{width:min(760px,100%);margin:7vh auto 0;text-align:center}
  .audience-welcome-mark{width:44px;height:44px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--text);color:white;font-size:12px;font-weight:900;letter-spacing:.04em}
  .audience-welcome-mascot{width:128px;height:auto;display:block;margin:0 auto 10px;user-select:none}
  .audience-lab-welcome h1{font-size:25px;line-height:1.2;font-weight:900;color:var(--text);letter-spacing:0}
  .audience-lab-welcome>p{max-width:520px;margin:9px auto 0;font-size:13px;line-height:1.5;color:var(--text-dimmer)}
  .audience-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:26px;text-align:left}
  .audience-template-button{min-height:64px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:12px 14px;color:var(--text);font:800 12px/1.35 'Nunito',sans-serif;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
  .audience-template-button:hover{border-color:var(--border-bright);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
  .audience-template-button span{display:block;margin-top:4px;color:var(--text-dimmer);font-size:10px;font-weight:700}
  .audience-turn{width:min(780px,100%);margin:0 auto 30px}
  .audience-user-question{display:flex;justify-content:flex-end;margin-bottom:24px}
  .audience-user-question span{max-width:620px;background:#25253d;color:white;border-radius:8px 8px 2px 8px;padding:11px 14px;font-size:13px;font-weight:700;line-height:1.45}
  .audience-answer{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px 26px;box-shadow:var(--shadow-sm)}
  .audience-answer-kicker{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);margin-bottom:8px}
  .audience-answer-title{font-size:20px;line-height:1.25;font-weight:900;color:var(--text);letter-spacing:0;margin-bottom:12px}
  .audience-answer-copy{font-size:14px;line-height:1.65;color:var(--text-dim);overflow-wrap:anywhere}
  .audience-answer-copy p+p{margin-top:10px}
  .audience-answer-copy strong{color:var(--text)}
  .audience-answer-status{display:flex;align-items:center;gap:8px;border:1px solid rgba(240,165,0,.25);border-radius:7px;background:var(--amber-dim);padding:10px 12px;color:#855d00;font-size:12px;font-weight:800;line-height:1.4}
  .audience-answer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:15px;border-top:1px solid var(--border)}
  .audience-answer-meta{font-size:11px;color:var(--text-dimmer);line-height:1.4}
  .audience-evidence-button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:7px;background:var(--surface);padding:7px 10px;color:var(--text-dim);font:800 11px 'Nunito',sans-serif;cursor:pointer;white-space:nowrap}
  .audience-evidence-button:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-dim)}
  .audience-followups{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
  .audience-followup{border:1px solid var(--border);border-radius:6px;background:var(--bg);padding:6px 9px;color:var(--text-dim);font:700 11px 'Nunito',sans-serif;cursor:pointer}
  .audience-followup:hover{border-color:var(--border-bright);color:var(--text)}
  .audience-loading{width:min(780px,100%);margin:0 auto;display:flex;align-items:center;gap:10px;color:var(--text-dimmer);font-size:13px;font-weight:700}
  .audience-composer-wrap{flex-shrink:0;padding:12px 24px 14px;background:linear-gradient(180deg,rgba(247,248,251,0),#f7f8fb 20%)}
  .audience-composer{width:min(780px,100%);margin:0 auto;display:flex;align-items:flex-end;gap:8px;border:1px solid var(--border-bright);border-radius:8px;background:var(--surface);padding:8px 8px 8px 13px;box-shadow:0 4px 16px rgba(26,26,46,.08)}
  .audience-composer:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px rgba(124,106,245,.1),0 4px 16px rgba(26,26,46,.08)}
  .audience-composer textarea{min-height:34px;max-height:120px;resize:none;padding:7px 0;border:0;background:transparent;box-shadow:none;font-size:13px;line-height:1.45}
  .audience-composer textarea:focus{border:0;box-shadow:none}
  .audience-send-button{width:34px;height:34px;flex:0 0 34px;border:0;border-radius:7px;background:var(--text);color:white;font:900 18px/1 'Nunito',sans-serif;cursor:pointer}
  .audience-send-button:hover{background:var(--purple)}
  .audience-send-button:disabled{opacity:.4;cursor:not-allowed}
  .audience-composer-meta{width:min(780px,100%);margin:6px auto 0;text-align:center;font-size:10px;color:var(--text-dimmer)}
  .audience-composer-meta button{border:0;background:none;color:var(--text-dim);font:800 10px 'Nunito',sans-serif;cursor:pointer}
  .audience-drawer-backdrop{position:absolute;inset:0;z-index:20;background:rgba(26,26,46,.2);opacity:0;pointer-events:none;transition:opacity .2s}
  .audience-drawer-backdrop.open{opacity:1;pointer-events:auto}
  .audience-drawer{position:absolute;z-index:21;top:0;right:0;width:min(420px,100%);height:100%;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:-12px 0 28px rgba(26,26,46,.1);transform:translateX(102%);transition:transform .22s ease}
  .audience-drawer.open{transform:translateX(0)}
  .audience-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--border)}
  .audience-drawer-title{font-size:16px;font-weight:900;color:var(--text)}
  .audience-drawer-copy{font-size:12px;color:var(--text-dimmer);line-height:1.4;margin-top:2px}
  .audience-icon-button{width:30px;height:30px;flex:0 0 30px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-dim);font-size:20px;line-height:1;cursor:pointer}
  .audience-icon-button:hover{background:var(--bg);color:var(--text)}
  .audience-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}
  .audience-drawer-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}
  .audience-primary-button{border:0;border-radius:7px;background:var(--text);color:white;padding:8px 13px;font:800 12px 'Nunito',sans-serif;cursor:pointer}
  .audience-primary-button:hover{background:var(--purple)}
  .audience-field{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:900;color:var(--text-dim)}
  .audience-field input{background:var(--surface-raised)}
  .audience-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .audience-date-grid label{display:flex;flex-direction:column;gap:5px}
  .audience-date-grid small{font-size:10px;color:var(--text-dimmer)}
  .audience-scope-preview{border:1px solid var(--border);border-radius:7px;background:var(--bg);padding:11px 12px;font-size:11px;font-weight:800;color:var(--text-dim);line-height:1.4}
  .audience-evidence-card{padding:15px 0;border-bottom:1px solid var(--border)}
  .audience-evidence-card:first-child{padding-top:0}
  .audience-evidence-card:last-child{border-bottom:0}
  .audience-evidence-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
  .audience-evidence-source{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:900;color:var(--text)}
  .audience-source-mark{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--bg2);color:var(--text-dim);font-size:9px;font-weight:900;text-transform:uppercase}
  .audience-evidence-id{font:700 10px 'DM Mono',monospace;color:var(--text-dimmer)}
  .audience-evidence-snippet{font-size:13px;line-height:1.55;color:var(--text-dim);overflow-wrap:anywhere}
  .audience-evidence-meta{margin-top:8px;font-size:10px;color:var(--text-dimmer)}
  .audience-evidence-flag{display:inline-flex;margin-top:8px;border:1px solid rgba(240,165,0,.25);border-radius:6px;background:var(--amber-dim);padding:4px 8px;color:#855d00;font-size:10px;font-weight:800;line-height:1.3}
  .audience-evidence-card.highlight{animation:audienceEvidenceFlash 1.5s ease}
  @keyframes audienceEvidenceFlash{0%{background:var(--purple-dim)}100%{background:transparent}}
  .audience-citation-chip{display:inline-flex;align-items:center;margin:0 2px;border:1px solid var(--border);border-radius:5px;background:var(--purple-dim);padding:1px 6px;color:var(--purple);font:800 10px 'DM Mono',monospace;cursor:pointer;vertical-align:baseline}
  .audience-citation-chip:hover{border-color:var(--purple);background:var(--purple);color:white}
  .audience-citation-chip:focus-visible{outline:2px solid var(--purple);outline-offset:1px}
  .audience-data-warning{width:min(780px,100%);margin:0 auto 8px;border:1px solid rgba(240,165,0,.3);border-radius:7px;background:var(--amber-dim);padding:8px 12px;color:#855d00;font-size:12px;font-weight:800;line-height:1.4}
  .audience-data-warning[hidden]{display:none}
  .audience-preset-block{border-top:1px solid var(--border);padding-top:14px;margin-top:2px}
  .audience-preset-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:11px;font-weight:900;color:var(--text-dim)}
  .audience-preset-list{display:flex;flex-direction:column;gap:6px}
  .audience-preset-empty{font-size:11px;color:var(--text-dimmer)}
  .audience-preset-item{display:flex;align-items:center;gap:6px}
  .audience-preset-apply{flex:1;text-align:left;border:1px solid var(--border);border-radius:7px;background:var(--bg);padding:8px 11px;color:var(--text-dim);font:800 12px 'Nunito',sans-serif;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .audience-preset-apply:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-dim)}
  .audience-preset-del{flex:0 0 28px;width:28px;height:28px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-dimmer);font-size:16px;line-height:1;cursor:pointer}
  .audience-preset-del:hover{border-color:#d4524a;color:#d4524a}
  .audience-stream-caret{display:inline-block;width:7px;height:14px;margin-left:2px;background:var(--purple);vertical-align:text-bottom;animation:audienceCaretBlink 1s steps(2) infinite}
  @keyframes audienceCaretBlink{0%{opacity:1}50%{opacity:0}100%{opacity:1}}
  @media(max-width:1050px){
    .audience-lab-sidebar{width:220px;flex-basis:220px}
    .audience-thread{padding-left:22px;padding-right:22px}
  }
  @media(max-width:820px){
    .audience-lab-sidebar{position:absolute;z-index:19;left:0;top:0;bottom:0;width:270px;transform:translateX(-102%);box-shadow:12px 0 28px rgba(26,26,46,.1);transition:transform .2s}
    .audience-lab-sidebar.open{transform:translateX(0)}
    .audience-thread{padding:28px 16px 20px}
    .audience-template-grid{grid-template-columns:1fr}
    .audience-answer{padding:20px}
    .audience-answer-footer{align-items:flex-start;flex-direction:column}
    .audience-composer-wrap{padding-left:14px;padding-right:14px}
    .audience-lab-topbar .top-bar-sub{display:none}
  }
  .history-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:10px;font-weight:700;padding:3px 8px;cursor:pointer;color:var(--text-dim);transition:all .12s;font-family:inherit}
  .history-btn:hover{border-color:var(--purple);color:var(--purple)}
  .history-btn.del{color:var(--red-dim,#c0392b)}
  .history-btn.del:hover{border-color:var(--red,#e74c3c);color:var(--red,#e74c3c)}
  .history-btn.active-load{border-color:var(--purple);color:var(--purple);background:var(--purple-bg,rgba(107,78,255,.1))}
  .job-history-panel{display:flex;align-items:center;gap:8px;padding:7px 16px;border-bottom:1px solid var(--border);background:var(--surface);overflow-x:auto}
  .job-history-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dimmer);white-space:nowrap}
  .job-history-item{display:flex;align-items:center;gap:5px;min-width:0;flex-shrink:0}
  .job-chip{border:1px solid var(--border);background:var(--bg);border-radius:999px;padding:4px 9px;font-size:10px;font-weight:700;color:var(--text-dim);white-space:nowrap;cursor:pointer;font-family:inherit}
  .job-chip:hover{border-color:var(--purple);color:var(--purple)}
  .job-chip.active{border-color:var(--purple);background:rgba(107,78,255,.08);color:var(--purple)}
  .job-chip.error{border-color:rgba(236,72,153,.25);color:var(--red)}
  .job-chip.running{border-color:rgba(245,158,11,.35);color:#b7791f;background:rgba(245,158,11,.08)}
  .job-mini-btn{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:3px 7px;font-size:9px;font-weight:900;color:var(--text-dim);white-space:nowrap;cursor:pointer;font-family:inherit}
  .job-mini-btn:hover{border-color:var(--purple);color:var(--purple)}
  .job-mini-btn.warn{border-color:rgba(245,158,11,.35);color:#b7791f;background:rgba(245,158,11,.08)}
  .job-error-note{font-size:9px;font-weight:800;color:var(--red);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .job-history-dropdown{width:100%}
  .job-history-dropdown summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:2px 0}
  .job-history-dropdown summary::-webkit-details-marker{display:none}
  .job-history-dropdown summary:after{content:'⌄';margin-left:auto;color:var(--text-dimmer);font-size:14px;transition:transform .12s}
  .job-history-dropdown[open] summary:after{transform:rotate(180deg)}
  .job-history-current{font-size:10px;font-weight:800;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:3px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .job-history-menu{display:flex;flex-direction:column;gap:5px;max-height:180px;overflow-y:auto;margin-top:7px;padding-top:7px;border-top:1px solid var(--border)}
  .job-history-menu .job-history-item{width:100%;flex-shrink:1}
  .job-history-menu .job-chip{max-width:520px;overflow:hidden;text-overflow:ellipsis}
  .module-job-history{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:7px 9px;margin-top:8px;display:flex;align-items:center;gap:7px;overflow-x:auto}
  .ps-job-history{border-bottom:1px solid var(--border);border-top:0;flex-shrink:0}
  /* Badge tooltips */
  .badge-tip{position:relative;cursor:help}
  /* Tooltip opens DOWN-RIGHT from the badge to avoid being hidden by the left sidebar */
  .badge-tip .badge-tooltip{display:none;position:absolute;top:calc(100% + 7px);left:0;transform:none;width:260px;background:var(--surface);border:1.5px solid var(--border-bright,var(--border));border-radius:var(--radius-sm);padding:11px 13px;font-size:10.5px;line-height:1.6;color:var(--text-dim);z-index:9999;white-space:normal;text-align:left;box-shadow:0 6px 24px rgba(0,0,0,.35);font-family:'Nunito',sans-serif;pointer-events:none}
  .badge-tip:hover .badge-tooltip{display:block}
  .badge-tooltip strong{color:var(--text);font-weight:800}
  .badge-tooltip .tt-rule{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}
  /* Info icon — small pill next to badge text */
  .info-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:currentColor;font-size:8.5px;font-weight:900;font-style:normal;font-family:'DM Mono',monospace;vertical-align:middle;margin-left:4px;opacity:.75;line-height:1;color:var(--bg);flex-shrink:0}
  .info-icon::before{content:'i';color:var(--bg)}
  /* Churn badge: always use explicit color regardless of prefix text */
  .churn-high{background:var(--pink-dim);color:var(--pink)}
  .churn-medium{background:var(--amber-dim);color:var(--amber)}
  .churn-low{background:var(--green-dim);color:var(--green)}
  /* Quote translation */
  .quote-translated{display:block}
  .quote-see-original{display:block;font-size:10px;color:var(--text-dimmer);margin-top:3px}
  .quote-see-original summary{list-style:none;cursor:pointer;color:var(--text-dimmer);font-style:italic}
  .quote-see-original summary:hover{color:var(--text-dim)}
  .quote-see-original summary::before{content:'🌐 '}
  .translate-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:10px;font-weight:700;padding:4px 10px;cursor:pointer;color:var(--text-dimmer);transition:all .12s;font-family:inherit;margin-left:8px}
  .translate-btn:hover{border-color:var(--purple);color:var(--purple)}
  .translate-btn:disabled{opacity:.4;cursor:default}
  /* Meaning source select */
  #meaningSourceSelect:focus{outline:none;border-color:var(--purple)}
  .source-opt-saved{color:var(--purple)}
  .ir-header-item{display:flex;flex-direction:column;gap:1px}
  .ir-header-item .ir-hi-label{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dimmer)}
  .ir-header-item .ir-hi-value{font-size:13px;font-weight:800;color:var(--text)}
  .ir-section{margin-bottom:14px}
  .ir-section-title{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:6px 0 6px 10px;border-left:3px solid var(--border-bright);color:var(--text-dimmer);margin-bottom:8px;display:flex;align-items:center;gap:6px}
  .ir-section-title.ir-pos{border-left-color:var(--green);color:var(--green)}
  .ir-section-title.ir-neu{border-left-color:var(--text-dim);color:var(--text-dim)}
  .ir-section-title.ir-neg{border-left-color:var(--red);color:var(--red)}
  .ir-section-title.ir-mix{border-left-color:var(--amber);color:var(--amber)}
  .ir-section-title.ir-iss{border-left-color:var(--red);color:var(--red)}
  .ir-section-title.ir-feat{border-left-color:var(--purple);color:var(--purple)}
  .ir-section-title.ir-echo{border-left-color:var(--blue);color:var(--blue)}
  .ir-section-title.ir-notes{border-left-color:var(--border-bright);color:var(--text-dimmer)}
  .ir-section-title.ir-handoff{border-left-color:var(--purple);color:var(--purple)}
  .ir-sentiment-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:18px 20px}
  .ir-sentiment-visual{display:flex;align-items:center;gap:12px}
  .ir-donut{width:184px;height:184px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
  .ir-donut-hole{width:120px;height:120px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--border)}
  .ir-donut-hole strong{font-size:36px;font-weight:900;color:var(--text);line-height:1}
  .ir-donut-hole span{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dimmer);font-weight:800;margin-top:6px}
  .ir-donut-legend{display:none;flex-direction:column;gap:3px}
  .ir-donut-legend span{font-size:10px;color:var(--text-dim);font-weight:700;display:flex;align-items:center;gap:5px}
  .ir-donut-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}
  .ir-donut-legend i.pos{background:var(--green)}.ir-donut-legend i.neu{background:var(--border-bright)}.ir-donut-legend i.neg{background:var(--red)}.ir-donut-legend i.mix{background:var(--amber)}
  .ir-sentiment-detail{min-width:0}
  .ir-sentiment-bar{height:10px;border-radius:6px;overflow:hidden;display:flex;margin-bottom:8px}
  .ir-bar-pos{background:var(--green);height:100%}
  .ir-bar-neu{background:var(--border-bright);height:100%}
  .ir-bar-neg{background:var(--red);height:100%}
  .ir-bar-mix{background:var(--amber);height:100%}
  .ir-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
  .ir-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;font-size:11px;font-weight:700}
  .ir-pill.pos{background:var(--green-dim);color:var(--green)}
  .ir-pill.neu{background:var(--bg);color:var(--text-dim);border:1px solid var(--border)}
  .ir-pill.neg{background:var(--red-dim);color:var(--red)}
  .ir-pill.mix{background:var(--amber-dim);color:var(--amber)}
  .ir-trend-row{font-size:12px;color:var(--text-dim);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  /* ── Comparison widget ── */
  .cmp-bar{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin-bottom:12px}
  .cmp-bar-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
  .cmp-bar-title{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--text-dimmer)}
  .cmp-bar-select{flex:1;min-width:160px;max-width:340px;padding:4px 8px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:11px;font-weight:600;font-family:inherit;cursor:pointer}
  .cmp-bar-select:focus{outline:none;border-color:var(--purple)}
  .cmp-metrics{display:flex;gap:8px;flex-wrap:wrap}
  .cmp-metric{flex:1;min-width:80px;background:var(--bg);border-radius:var(--radius-sm);padding:8px 10px;text-align:center}
  .cmp-metric-label{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dimmer);margin-bottom:2px}
  .cmp-metric-val{font-size:16px;font-weight:800;color:var(--text)}
  .cmp-metric-delta{font-size:10px;font-weight:700;margin-top:1px}
  .cmp-delta-up{color:var(--green)}.cmp-delta-down{color:var(--red)}.cmp-delta-flat{color:var(--text-dimmer)}
  .cmp-issues{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
  .cmp-issue-col{flex:1;min-width:140px}
  .cmp-issue-col-title{font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px}
  .cmp-issue-chip{font-size:10px;background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:2px 9px;margin-bottom:3px;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cmp-new-issue .cmp-issue-col-title{color:var(--red)}
  .cmp-resolved-issue .cmp-issue-col-title{color:var(--green)}
  .cmp-unchanged-issue .cmp-issue-col-title{color:var(--text-dimmer)}
  .cmp-toggle{font-size:10px;font-weight:700;color:var(--text-dimmer);background:none;border:none;cursor:pointer;padding:0;font-family:inherit}
  .cmp-toggle:hover{color:var(--text)}
  .cmp-no-baseline{font-size:11px;color:var(--text-dimmer);font-style:italic;padding:4px 0}
  /* ── end comparison widget ── */
  /* ── Platform filter chips ── */
  .pf-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:4px}
  .pf-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dimmer);margin-right:4px;white-space:nowrap}
  .pf-chip{background:var(--surface);border:1.5px solid var(--border);color:var(--text-dim);padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s;font-family:'Nunito',sans-serif;display:inline-flex;align-items:center;gap:4px}
  .pf-chip:hover{border-color:var(--purple);color:var(--purple)}
  .pf-chip.active{background:var(--purple-dim);border-color:var(--purple);color:var(--purple)}
  .src-icon-img{width:16px;height:16px;object-fit:contain;vertical-align:-3px;display:inline-block;flex-shrink:0}
  .source-tab .src-icon-img,.store-icon .src-icon-img{width:18px;height:18px;vertical-align:-4px}
  .pf-active-banner{background:var(--purple-dim);border:1.5px solid var(--purple);border-radius:var(--radius-sm);padding:6px 12px;margin-bottom:12px;font-size:11px;font-weight:700;color:var(--purple);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  /* ── end platform filter ── */
  .ir-platform-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
  .ir-platform-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px}
  .ir-platform-name{font-size:12px;font-weight:800;color:var(--text);margin-bottom:1px}
  .ir-platform-meta{font-size:10px;color:var(--text-dimmer);margin-bottom:7px}
  .ir-sub-sources{list-style:none;padding:6px 0 0 0;margin:6px 0 0 0;border-top:1px solid var(--border)}
  .ir-sub-sources li{font-size:10px;color:var(--text-dim);padding:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ir-sub-sources li::before{content:"• ";color:var(--text-dimmer)}
  .ir-mini-bar{height:6px;border-radius:4px;overflow:hidden;display:flex;margin-bottom:5px}
  .ir-platform-notes{font-size:10px;color:var(--text-dimmer);font-style:italic}
  .pi-platform-section-head{display:flex;align-items:center;gap:10px;margin:14px 0 8px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}
  .pi-platform-section-name{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:900;color:var(--text)}
  .pi-platform-section-name .src-icon-img{width:22px;height:22px;object-fit:contain;flex:0 0 22px}
  .pi-platform-section-meta{font-size:11px;font-weight:800;color:var(--text-dimmer)}
  .ir-theme-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:13px 15px;margin-bottom:8px}
  .ir-theme-card.risk-card-high,.ir-list-item.risk-card-high{border-left:4px solid var(--red)}
  .ir-theme-card.risk-card-medium,.ir-list-item.risk-card-medium{border-left:4px solid var(--amber)}
  .ir-theme-card.risk-card-positive,.ir-list-item.risk-card-positive{border-left:4px solid var(--green)}
  .ir-theme-card.risk-card-mixed,.ir-list-item.risk-card-mixed{border-left:4px solid var(--blue)}
  .ir-theme-card.risk-card-neutral,.ir-list-item.risk-card-neutral{border-left:4px solid var(--border-bright)}
  .ir-theme-card:last-child{margin-bottom:0}
  .ir-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}
  .ir-theme-name{font-size:13px;font-weight:800;color:var(--text);min-width:0}
  .pi-signal-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}
  .pi-signal-controls button{border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-dim);font-family:'Nunito',sans-serif;font-size:10px;font-weight:900;padding:3px 7px;cursor:pointer}
  .pi-signal-controls button:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-dim)}
  .ir-meta-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:7px;align-items:center}
  .ir-tag{font-size:10px;color:var(--text-dimmer);background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:2px 7px}
  .ir-evidence-breakdown{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:9px 10px;margin:6px 0 8px;display:flex;flex-direction:column;gap:7px}
  .ir-evidence-title{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dimmer);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .ir-evidence-title span{font-size:9px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--text-dimmer)}
  .ir-section-title.ir-section-title-h1{font-size:30px!important;line-height:1.1;letter-spacing:0;text-transform:none;padding:10px 0 10px 14px;margin-bottom:14px;color:var(--text)}
  .ir-section-title.ir-section-title-h2,.ir-section-title.ir-section-title-large{font-size:24px!important;line-height:1.12;letter-spacing:0;text-transform:none;padding:10px 0 10px 14px;margin-bottom:14px}
  .ir-evidence-row{display:grid;grid-template-columns:minmax(92px,140px) minmax(160px,1fr);gap:10px;align-items:center;min-height:26px}
  .ir-evidence-label{font-size:10px;font-weight:800;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ir-evidence-bar{height:26px;border-radius:4px;background:var(--border);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:flex-end;padding:2px 8px 2px 0}
  .ir-evidence-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--purple),var(--green));position:absolute;left:0;top:0;z-index:0}
  .ir-evidence-count{font-size:10px;font-weight:900;color:#fff;white-space:nowrap;text-align:right;position:relative;z-index:1;text-shadow:-1px -1px 0 rgba(0,0,0,.75),1px -1px 0 rgba(0,0,0,.75),-1px 1px 0 rgba(0,0,0,.75),1px 1px 0 rgba(0,0,0,.75)}
  .pi-pressure-view{margin:8px 0 12px}
  .pi-pressure-label{font-size:11px;font-weight:800;color:var(--text);margin-bottom:4px}
  .pi-pressure-bar{height:12px;border-radius:8px;overflow:hidden;display:flex;background:var(--border)}
  .pi-pressure-view.primary .pi-pressure-bar{height:20px}
  .pi-pressure-view.audit .pi-pressure-label{color:var(--text-dim);font-weight:700}
  .pi-pressure-bar i{display:block;height:100%}
  .pi-pressure-bar .pos{background:#16A34A}.pi-pressure-bar .neu{background:#D1D5DB}
  .pi-pressure-bar .neg{background:#DC2626}.pi-pressure-bar .mix{background:#D97706}
  .pi-pressure-values,.pi-spike-note{font-size:10px;color:var(--text-dim);margin-top:4px;line-height:1.4}
  .pi-independence{font-size:11px;font-weight:800;margin:5px 0}
  .pi-independence-low{color:#B45309}.pi-independence-medium{color:#6B7280}.pi-independence-high{color:#15803D}
  .pi-chip{width:12px;height:12px;vertical-align:-2px;margin-right:2px}
  .pi-theme-tier-1{border-left:4px solid #DC2626!important;background:#FEF2F2!important}
  .pi-theme-tier-1 .ir-list-title,.pi-theme-tier-1 .ir-theme-name{font-size:18px}
  .pi-theme-tier-2{border-left:3px solid #D97706!important}
  .pi-theme-tier-2 .ir-list-title,.pi-theme-tier-2 .ir-theme-name{font-size:16px}
  .pi-theme-tier-3{border-left:2px solid #E5E7EB!important}
  .pi-churn-split{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin:0 0 14px}
  .pi-churn-split>div{padding:9px;text-align:center;background:var(--surface);border-right:1px solid var(--border)}
  .pi-churn-split>div:last-child{border-right:0}.pi-churn-split strong{display:block;font-size:20px}
  .pi-churn-split span,.pi-churn-split small{display:block;font-size:10px}.pi-churn-split small{color:var(--text-dim)}
  .pi-churn-split .low strong{color:#16A34A}.pi-churn-split .high strong{color:#D97706}.pi-churn-split .highest strong{color:#DC2626}
  .silent-risk-pill{display:inline-block;font-size:9px;font-weight:900;padding:2px 7px;border-radius:999px;background:#D97706;color:#fff}
  .silent-risk-high,.silent-risk-critical{background:#FEF2F2!important;border-left:4px solid #DC2626!important}
  .silent-risk-high .silent-risk-pill,.silent-risk-critical .silent-risk-pill{background:#DC2626}
  .job-status-banner{border:1px solid var(--border);border-left:4px solid var(--border-bright);border-radius:var(--radius-sm);background:var(--surface);padding:8px 10px;margin:8px 0;font-size:12px;color:var(--text-dim);display:flex;flex-direction:column;gap:6px}
  .job-status-banner.ok{border-left-color:var(--green)}
  .job-status-banner.running{border-left-color:var(--blue)}
  .job-status-banner.warn{border-left-color:var(--amber)}
  .job-status-banner.err{border-left-color:var(--red);color:var(--red)}
  .job-progress{height:18px;border-radius:4px;background:var(--border);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:flex-end;padding:0 7px}
  .job-progress i{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));z-index:0}
  .job-progress span{position:relative;z-index:1;font-size:10px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}
  .job-phases{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800;color:var(--text-dimmer);text-transform:uppercase;letter-spacing:.04em}
  .job-phase{color:var(--text-dimmer)}
  .job-phase--active{color:var(--blue)}
  .job-phase--done{color:var(--green)}
  .job-phase-separator{color:var(--border-bright)}
  .save-indicator{min-height:16px;font-size:11px;color:var(--text-dimmer);display:flex;align-items:center;gap:4px;margin:2px 0 8px}
  .save-indicator--saved{color:var(--green)}
  .save-indicator--saving{color:var(--amber)}
  .save-indicator--error{color:var(--red)}
  .report-help-row{display:flex;justify-content:flex-end;padding:6px 20px;border-bottom:1px solid var(--border);background:var(--surface)}
  .report-info-btn{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border-bright);background:var(--bg);color:var(--text-dim);font-size:13px;font-weight:900;font-family:'DM Mono',monospace;cursor:pointer;display:flex;align-items:center;justify-content:center}
  .report-info-btn:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-dim)}
  .scope-help-card{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-dim);font-size:12px;font-weight:700;line-height:1.4;padding:10px 12px;margin-bottom:8px}
  .scope-field-hint{font-size:11px;color:var(--text-dimmer);font-weight:700;margin:2px 0 8px}
  .competitor-cancel-btn{width:100%;margin-top:8px;padding:10px 14px;border-radius:var(--radius-sm);border:1.5px solid rgba(229,62,62,.28);background:var(--red-dim);color:var(--red);font-family:'Nunito',sans-serif;font-size:13px;font-weight:900;cursor:pointer}
  .competitor-cancel-btn:hover{border-color:var(--red);background:#fff}
  .competitor-cancel-btn:disabled{opacity:.55;cursor:not-allowed}
  .competitor-progress{margin-top:8px;height:20px;background:#d9dce7}
  .trend-indicator{display:inline-flex;align-items:center;gap:2px;margin-left:5px;font-size:10px;font-weight:900;white-space:nowrap;vertical-align:middle}
  .first-report-trend-note{font-size:13px;color:#9CA3AF;margin-top:6px;margin-bottom:0}
  .trend-sources-caveat{font-size:12px;color:#92400E;background:#FEF3C7;border:1px solid #F59E0B;border-radius:4px;padding:6px 10px;margin-top:8px}
  .integration-health-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
  .integration-health-dot{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--text-dim)}
  .integration-health-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:#9CA3AF;display:inline-block}
  .integration-health-dot.healthy::before{background:#16A34A}
  .integration-health-dot.warn::before{background:#F59E0B}
  .integration-health-dot.error::before{background:#E53935}
  .integration-health-dot.unknown::before{background:#9CA3AF}
  .trend-good{color:var(--green)}
  .trend-bad{color:var(--red)}
  .trend-flat{color:var(--text-dimmer)}
  .ir-list-item{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;margin-bottom:7px;display:flex;gap:10px;align-items:flex-start}
  .ir-list-item:last-child{margin-bottom:0}
  .ir-list-rank{font-size:11px;font-weight:800;color:var(--text-dimmer);min-width:16px;padding-top:1px}
  .ir-list-body{flex:1;min-width:0}
  .ir-list-title{font-size:12px;font-weight:700;color:var(--text);min-width:0}
  .ir-list-badges{display:flex;flex-wrap:wrap;gap:4px}
  .ir-echo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ir-echo-cell{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 13px}
  .ir-echo-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dimmer);margin-bottom:3px}
  .ir-echo-value{font-size:12px;font-weight:700;color:var(--text)}
  .ir-notes-list{list-style:none;display:flex;flex-direction:column;gap:5px}
  .ir-notes-list li{font-size:11px;color:var(--text-dim);padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);line-height:1.5}
  .ir-handoff-card{background:var(--bg);border:1.5px solid var(--purple-dim);border-radius:var(--radius-sm);padding:13px 15px;margin-bottom:8px}
  .ir-handoff-card:last-child{margin-bottom:0}
  .ir-handoff-theme{font-size:12px;font-weight:800;color:var(--purple);margin-bottom:5px;display:flex;align-items:center;gap:6px}
  .ir-handoff-row{font-size:11px;color:var(--text-dim);line-height:1.55;margin-bottom:3px}
  .ir-handoff-row strong{color:var(--text);font-weight:700}
  .insights-run-again{background:none;border:1.5px solid var(--border);color:var(--text-dim);padding:7px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s;font-family:'Nunito',sans-serif;margin-bottom:14px}
  .insights-run-again:hover{border-color:var(--purple);color:var(--purple)}
  .risk-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:20px;font-size:10px;font-weight:700;font-family:'DM Mono',monospace;text-transform:uppercase}
  .risk-high{background:var(--pink-dim);color:var(--pink)}
  .risk-medium{background:var(--amber-dim);color:var(--amber)}
  .risk-low{background:var(--green-dim);color:var(--green)}
  .confidence-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;font-family:'DM Mono',monospace}
  .conf-high{background:var(--green-dim);color:var(--green)}
  .conf-medium{background:var(--amber-dim);color:var(--amber)}
  .conf-low{background:var(--blue-dim);color:var(--blue)}
  .quote-block{border-left:3px solid var(--purple);padding:5px 10px;margin:4px 0;font-size:11px;font-style:italic;color:var(--text-dimmer);background:var(--bg);border-radius:0 6px 6px 0}

  @media(max-width:760px){
    #moduleCompetitors .cmp-summary-card{grid-template-columns:1fr}
    #moduleCompetitors .cmp-comments-toolbar{align-items:flex-start;flex-direction:column}
    #moduleCompetitors .cmp-page-controls{width:100%;justify-content:space-between}
    #moduleCompetitors .competitor-comments-card{height:calc(100vh - 220px);min-height:360px}
    #moduleCompetitors .cmp-source-row{grid-template-columns:1fr}
    #moduleCompetitors .cmp-decoded-summary{grid-template-columns:1fr}
    .ir-sentiment-card{grid-template-columns:1fr}
    .ir-sentiment-visual{justify-content:flex-start}
    .ir-donut-legend{display:flex}
    .ir-evidence-row{grid-template-columns:1fr;gap:3px}
  }

  /* SOURCE TABS */
  .source-tabs{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap}
  .source-tab{background:var(--bg);border:1.5px solid var(--border);color:var(--text-dimmer);font-family:'Nunito',sans-serif;font-size:11px;font-weight:700;padding:5px 11px;border-radius:20px;cursor:pointer;transition:all .15s;white-space:nowrap}
  .source-tab:hover:not(.disabled){border-color:var(--border-bright);color:var(--text-dim)}
  .source-tab.active{background:var(--purple-dim);border-color:var(--purple);color:var(--purple)}
  .source-tab.disabled{opacity:.4;cursor:not-allowed}
  .source-access-badge{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:2px 6px;font-size:9px;font-weight:900;line-height:1.2;white-space:nowrap;color:var(--text-dimmer);background:var(--surface)}
  .source-access-badge.import{color:var(--blue);background:var(--blue-dim);border-color:var(--blue)}
  .source-access-badge.approval{color:var(--amber);background:var(--amber-dim);border-color:var(--amber)}
  .source-access-badge.connected{color:var(--green);background:var(--green-dim);border-color:var(--green-mid)}
  .source-tab .source-access-badge{margin-left:4px;font-size:8px;padding:1px 4px}
  .source-panel-inner{padding:4px 0}
  .source-coming-soon{text-align:center;padding:24px 16px;color:var(--text-dimmer);font-size:13px;font-weight:600;background:var(--bg);border-radius:var(--radius-sm);border:1.5px dashed var(--border);line-height:1.8}
  .source-coming-soon small{font-size:11px;font-weight:400}

  /* DISCORD */
  .source-info-box{background:var(--blue-dim);border:1.5px solid #bfdbfe;border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:12px}
  .source-info-title{font-size:12px;font-weight:700;color:var(--blue);margin-bottom:6px}
  .source-access-notice p{font-size:11px;color:var(--text-dim);line-height:1.5;margin:0 0 8px}
  .source-access-notice.approval-required{background:var(--amber-dim);border-color:var(--amber)}
  .source-access-notice.approval-required .source-info-title{color:var(--text)}
  .source-template-link{display:inline-flex;text-decoration:none;margin-top:2px}
  .source-template-columns{font-size:10px;color:var(--text-dimmer);line-height:1.45;margin-top:8px}
  .source-info-steps{font-size:11px;color:var(--text-dim);padding-left:16px;line-height:1.9}
  .discord-upload-area{width:100%;display:block;border:2px dashed var(--border);border-radius:var(--radius);padding:24px 16px;text-align:center;cursor:pointer;transition:border-color .15s,background-color .15s;background:var(--bg);color:inherit;font-family:inherit}
  .discord-upload-area:hover,.discord-upload-area.dragover{border-color:var(--purple);background:var(--purple-dim)}
  .upload-icon{display:block;font-size:28px;margin-bottom:6px}
  .upload-text{display:block;font-size:13px;font-weight:700;color:var(--text-dim)}
  .upload-sub{display:block;font-size:11px;color:var(--text-dimmer);margin-top:3px}
  .discord-file-loaded{display:flex;align-items:center;gap:8px;background:var(--green-dim);border:1.5px solid var(--green-mid);border-radius:var(--radius-sm);padding:10px 12px;font-size:12px;font-weight:600;color:var(--green);margin-top:8px}
  .tiktok-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
  @media(max-width:600px){.tiktok-slots{grid-template-columns:1fr}}
  .tiktok-slot{}
  .tiktok-slot-label{font-size:12px;font-weight:800;color:var(--text);margin-bottom:2px}
  .tiktok-slot-sub{font-size:11px;color:var(--text-dimmer);margin-bottom:8px;line-height:1.4}
  .discord-file-loaded span:first-child{flex:1}

  /* ACTIVE SOURCES */
  .active-sources-list{display:flex;flex-wrap:wrap;gap:6px}
  .active-source-chip{display:inline-flex;align-items:center;gap:5px;background:var(--surface);border:1.5px solid var(--border);border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600;color:var(--text-dim)}
  .active-source-chip.live{border-color:var(--green-mid);color:var(--green);background:var(--green-dim)}
  .active-source-chip.import{border-color:var(--blue);color:var(--blue);background:var(--blue-dim)}
  .active-source-chip.approval{border-color:var(--amber);color:var(--amber);background:var(--amber-dim)}
  .chip-x{background:none;border:none;color:inherit;opacity:.6;cursor:pointer;font-size:11px;padding:0 0 0 4px;line-height:1;margin-left:2px}
  .chip-x:hover{opacity:1}
  .import-file-meta{font-size:10px;font-weight:600;color:var(--text-dim);line-height:1.4;margin-top:4px;overflow-wrap:anywhere}
  .import-error{font-size:11px;font-weight:700;color:var(--red);background:var(--red-dim);border:1px solid var(--red);border-radius:var(--radius-sm);padding:9px 11px;margin-top:8px;line-height:1.45}
  .import-badge{color:var(--blue);background:var(--blue-dim);border-color:var(--blue)}

  .dataset-context{padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface-raised)}
  .dataset-context-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:7px}
  .dataset-context-head strong{font-size:11px;color:var(--text);font-weight:900}
  .dataset-context-head span{font-size:10px;color:var(--text-dimmer)}
  .dataset-source-list{display:flex;flex-wrap:wrap;gap:6px}
  .dataset-source{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:10px;color:var(--text-dimmer)}
  .dataset-source strong{font-size:10px;color:var(--text);white-space:nowrap}
  @media(max-width:720px){
    .dataset-source-list{display:grid;grid-template-columns:1fr}
    .dataset-source{width:100%;flex-wrap:wrap}
    .dataset-source>span:last-child{width:100%}
    .source-tab{white-space:normal;text-align:left}
  }

  /* STORE APP CARD */
  .store-app-card{display:flex;align-items:center;gap:10px;background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:9px 12px;margin-bottom:8px;animation:popIn .2s cubic-bezier(.34,1.56,.64,1)}
  .store-app-icon{width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0;border:1px solid var(--border);background:var(--border)}
  .store-app-info{flex:1;min-width:0}
  .store-app-title{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .store-app-id{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dimmer)}

  /* STORE REVIEWS */
  .store-section{padding:10px 0}
  .store-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}
  .store-icon{font-size:16px}
  .store-name{font-size:13px;font-weight:700;color:var(--text)}
  .store-badge{background:var(--green-dim);border:1px solid var(--green-mid);color:var(--green);font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;font-family:'DM Mono',monospace}
  .store-info-btn{width:20px;height:20px;border:1.5px solid var(--border);border-radius:999px;background:var(--surface-raised);color:var(--text-dimmer);font-family:'Nunito',sans-serif;font-size:11px;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
  .store-info-btn:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-dim)}
  .store-input-row{display:flex;gap:6px;align-items:center}
  .store-input-row input{flex:1;font-size:12px}
  .btn-store-fetch{background:var(--purple);border:none;color:white;padding:9px 14px;border-radius:var(--radius-sm);font-family:'Nunito',sans-serif;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}
  .btn-store-fetch:hover{background:#6b58e8}
  .btn-store-fetch:disabled{opacity:.4;cursor:not-allowed}
  .btn-store-fetch.loaded{background:var(--green)}
  .store-hint{font-size:10px;color:var(--text-dimmer);margin-top:5px;line-height:1.5}
  .store-divider{height:1px;background:var(--border);margin:4px 0}

  .exec-summary{background:linear-gradient(135deg,var(--purple-dim),var(--pink-dim));border:1.5px solid var(--purple);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px}
  .exec-summary-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);margin-bottom:8px}
  .exec-bullet{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--text-dim);padding:3px 0;line-height:1.5}
  .exec-bullet-dot{color:var(--purple);flex-shrink:0;font-weight:800}

  .list-item{font-size:12px;color:var(--text-dim);padding:7px 0;border-bottom:1px solid var(--border);line-height:1.5;display:flex;gap:8px;align-items:flex-start}
  .list-item:last-child{border-bottom:none}
  .channel-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}
  .channel-row:last-child{border-bottom:none}
  .channel-row-name{font-size:13px;font-weight:700;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .channel-row-theme{font-size:11px;color:var(--text-dimmer);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .channel-row-right{flex-shrink:0;display:flex;align-items:center;gap:8px}
  .sentiment-pill{font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.05em}
  .sentiment-pill.positive{background:var(--green-dim);color:var(--green)}
  .sentiment-pill.negative{background:var(--pink-dim);color:var(--pink)}
  .sentiment-pill.mixed{background:var(--amber-dim);color:var(--amber)}

  .filter-bar{display:flex;gap:8px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center}
  .source-filter-chip{background:var(--bg);border:1.5px solid var(--border);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700;color:var(--text-dim);cursor:pointer;font-family:'Nunito',sans-serif;transition:all .15s;white-space:nowrap}
  .source-filter-chip:hover{border-color:var(--purple);color:var(--purple)}
  .source-filter-chip.active{background:var(--purple-dim);border-color:var(--purple);color:var(--purple)}
  .filter-bar input{max-width:240px;font-size:13px}
  .filter-select{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-dim);font-family:'Nunito',sans-serif;font-size:12px;font-weight:600;outline:none;cursor:pointer}
  .table-wrap{overflow-x:auto;padding:14px 20px}
  table{width:100%;border-collapse:collapse;font-size:13px}
  thead th{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dimmer);padding:8px 12px;text-align:left;border-bottom:1.5px solid var(--border);white-space:nowrap;position:sticky;top:0;background:var(--bg)}
  tbody tr{border-bottom:1px solid var(--border);transition:background .1s}
  tbody tr:hover{background:var(--surface)}
  tbody td{padding:9px 12px;color:var(--text);vertical-align:top}
  .td-channel{font-size:11px;font-weight:700;color:var(--purple);white-space:nowrap;width:120px}
  .td-author{font-size:12px;color:var(--text-dim);white-space:nowrap;width:120px}
  .td-text{font-size:12px;color:var(--text);max-width:420px;cursor:pointer}
  .td-text .td-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .td-text .td-full{display:none;white-space:pre-wrap;word-break:break-word;padding-top:4px;color:var(--text-dim);border-top:1px solid var(--border);margin-top:4px}
  .td-text.expanded .td-preview{display:none}
  .td-text.expanded .td-full{display:block}
  tbody tr:hover .td-text .td-preview{text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--border-bright)}
  .td-date{font-family:'DM Mono',monospace;font-size:10px;color:var(--text-dimmer);white-space:nowrap;width:90px}
  .td-likes{font-family:'DM Mono',monospace;font-size:11px;color:var(--text-dimmer);text-align:right;width:40px}
  .reply-badge{display:inline-block;background:var(--bg);border:1px solid var(--border);color:var(--text-dimmer);font-size:9px;padding:1px 5px;border-radius:4px;margin-left:5px;font-family:'DM Mono',monospace}

  .toast{position:fixed;bottom:22px;right:22px;background:var(--surface);border:1.5px solid var(--border);padding:12px 18px;border-radius:var(--radius);font-size:13px;font-weight:600;color:var(--text);display:none;z-index:300;box-shadow:var(--shadow-md);animation:popIn .2s ease}
  .toast.show{display:block}
  .toast.ok{border-color:var(--green);color:var(--green)}
  .toast.err{border-color:var(--red);color:var(--red)}
  .toast.warn{border-color:var(--amber);color:var(--amber)}

  .discord-picker{position:relative;width:100%;font-size:13px}
  .discord-picker-button{width:100%;min-height:42px;border:1.5px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;font-family:'Nunito',sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}
  .discord-picker-button:hover,.discord-picker.open .discord-picker-button{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-dim)}
  .discord-picker-value{min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden}
  .discord-picker-icon{width:24px;height:24px;border-radius:6px;background:var(--bg);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:12px;flex-shrink:0}
  .discord-picker-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .discord-picker-caret{color:var(--text-dimmer);font-size:11px;flex-shrink:0}
  .discord-picker-menu{position:absolute;z-index:240;top:calc(100% + 6px);left:0;right:0;max-height:260px;overflow-y:auto;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;display:none}
  .discord-picker.open .discord-picker-menu{display:block}
  .discord-picker-option{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:7px;color:var(--text);font-size:13px;font-weight:700;cursor:pointer}
	  .discord-picker-option:hover{background:var(--surface-raised)}
	  .discord-picker-option.active{background:var(--purple-dim);color:var(--purple)}
	  .discord-picker-option.muted{color:var(--text-dimmer);font-weight:600}
	  .discord-status-chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap;width:max-content;max-width:100%;font-size:11px;font-weight:900;line-height:1;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);color:var(--text-dimmer);padding:7px 10px}
	  .discord-status-chip:before{content:'';width:7px;height:7px;border-radius:999px;background:currentColor;opacity:.7;flex-shrink:0}
	  .discord-status-chip.ready{background:rgba(46,204,113,.12);border-color:rgba(46,204,113,.35);color:var(--green)}
	  .discord-status-chip.partial{background:rgba(240,165,0,.12);border-color:rgba(240,165,0,.35);color:var(--amber)}
	  .discord-status-chip.empty{background:var(--surface-raised);color:var(--text-dimmer)}
	  .discord-server-settings-row{display:grid;grid-template-columns:minmax(240px,420px) auto auto;gap:12px;align-items:end}
	  .discord-server-select{width:100%;height:42px;min-height:42px;font-size:12px;border:1.5px solid var(--border);border-radius:8px;background:var(--surface-raised);padding:0 10px;color:var(--text);font-family:'Nunito',sans-serif}
	  .discord-command-card{width:max-content;justify-self:start;height:42px;min-height:42px;border:1.5px solid var(--border);border-radius:8px;background:var(--surface-raised);display:flex;align-items:center;gap:10px;padding:0 10px;font-size:12px;font-weight:900;color:var(--text);cursor:pointer;user-select:none}
	  .discord-command-card input{display:none}
	  .discord-command-toggle{width:46px;height:22px;border-radius:999px;background:var(--border);position:relative;display:inline-flex;align-items:center;justify-content:flex-end;padding:0 7px;color:var(--text-dimmer);font-size:9px;font-weight:900;text-transform:uppercase;transition:all .15s}
	  .discord-command-toggle:before{content:'';position:absolute;left:3px;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:all .15s}
	  .discord-command-card input:checked + .discord-command-toggle{background:rgba(46,204,113,.18);color:var(--green);justify-content:flex-start}
	  .discord-command-card input:checked + .discord-command-toggle:before{left:27px}
	  .discord-command-toggle:after{content:attr(data-off)}
	  .discord-command-card input:checked + .discord-command-toggle:after{content:attr(data-on)}
	  @media(max-width:900px){.discord-server-settings-row{grid-template-columns:1fr}.discord-command-card{justify-content:space-between;width:max-content}}
	  .pi-discord-compact{margin-bottom:12px;padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface-raised);display:flex;align-items:center;justify-content:space-between;gap:10px}
	  .discord-connect-button{border:1.5px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-dim);font-family:'Nunito',sans-serif;font-size:12px;font-weight:900;padding:8px 12px;cursor:pointer;white-space:nowrap;transition:all .15s}
	  .discord-connect-button:hover{border-color:var(--purple);color:var(--purple);box-shadow:0 0 0 3px var(--purple-dim)}
	  .discord-connect-button.ready{background:rgba(46,204,113,.12);border-color:rgba(46,204,113,.35);color:var(--green)}
	  .discord-connect-button.partial{background:rgba(240,165,0,.12);border-color:rgba(240,165,0,.35);color:var(--amber)}
	  .discord-connect-button.empty{background:var(--surface);border-color:var(--border);color:var(--text-dim)}
	  .pi-discord-picker-wrap{margin-bottom:10px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-sm);overflow:visible}
	  .pi-discord-picker-head{padding:9px;background:var(--surface-raised);display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--border);position:relative;z-index:20}
	  .pi-discord-picker-head .discord-picker{flex:1}
	  .pi-discord-channel-picker{max-height:220px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:5px}
	  .pi-discord-channel-row{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid transparent;border-radius:8px;background:transparent}
	  .pi-discord-channel-row:hover{background:var(--surface-raised);border-color:var(--border)}
	  .pi-discord-channel-icon{width:28px;height:28px;border-radius:8px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-weight:900;flex-shrink:0}
	  .pi-discord-channel-meta{flex:1;min-width:0}
	  .pi-discord-channel-name{font-size:12px;font-weight:900;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
	  .pi-discord-channel-server{font-size:10px;color:var(--text-dimmer);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
	  .pi-discord-add{border:0;border-radius:8px;background:var(--purple);color:#fff;font-family:'Nunito',sans-serif;font-size:11px;font-weight:900;padding:7px 12px;cursor:pointer;box-shadow:var(--shadow-sm)}
	  .pi-discord-add:hover{filter:brightness(.98);transform:translateY(-1px)}
	  .pi-discord-added{font-size:11px;font-weight:900;color:var(--green);padding:0 4px;white-space:nowrap}
	  .pi-discord-empty{padding:12px 10px;font-size:12px;color:var(--text-dimmer);line-height:1.4}

	  .ps-emoji-picker{position:relative;width:100%;min-width:0}
	  .ps-emoji-button{width:100%;height:32px;border:1.5px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;gap:5px;padding:4px 7px;font-family:'Nunito',sans-serif;font-size:11px;font-weight:800;cursor:pointer}
	  .ps-emoji-picker.open .ps-emoji-button,.ps-emoji-button:hover{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-dim)}
	  .ps-emoji-menu{position:absolute;z-index:260;top:calc(100% + 6px);left:0;width:260px;max-height:320px;overflow:auto;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:9px;display:none}
	  .ps-emoji-picker.open .ps-emoji-menu{display:block}
	  .ps-emoji-search{width:100%;border:1.5px solid var(--border);border-radius:8px;background:var(--surface-raised);color:var(--text);font-family:'Nunito',sans-serif;font-size:12px;font-weight:700;padding:8px 9px;margin-bottom:8px;outline:none}
	  .ps-emoji-search:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-dim)}
	  .ps-emoji-menu-label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dimmer);margin:4px 2px 6px}
	  .ps-emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:8px}
	  .ps-emoji-option{height:32px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
	  .ps-emoji-option:hover,.ps-emoji-option.active{border-color:var(--purple);background:var(--purple-dim)}
	  .ps-emoji-img{width:20px;height:20px;object-fit:contain;display:block}
	  .ps-emoji-char{font-size:17px;line-height:1}
	  .ps-emoji-empty{font-size:11px;color:var(--text-dimmer);padding:6px 2px 2px}
  .discord-diagnostics-panel{margin-top:14px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);padding:12px;display:flex;flex-direction:column;gap:8px}
  .discord-diagnostics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:2px}
  .discord-diagnostics-title{font-size:13px;font-weight:900;color:var(--text)}
  .discord-diagnostics-copy{font-size:11px;color:var(--text-dimmer);line-height:1.45;margin-top:2px}
  .discord-diagnostic-item{display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:start;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:10px}
  .discord-diagnostic-name{font-size:12px;font-weight:900;color:var(--text)}
  .discord-diagnostic-scope{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dimmer);font-weight:800;margin-top:2px}
  .discord-diagnostic-detail{font-size:11px;color:var(--text-dim);line-height:1.45}
  .discord-diagnostic-missing{font-size:11px;color:var(--pink);font-weight:800;margin-top:4px}
  .discord-diagnostic-fix{font-size:11px;color:var(--text);font-weight:800;margin-top:5px;background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:6px 8px}
  .discord-diagnostic-ok{font-size:11px;color:var(--green);font-weight:800;margin-top:4px}
  .discord-diagnostic-chip{font-size:10px;font-weight:900;border-radius:999px;padding:4px 8px;border:1px solid var(--border);white-space:nowrap;background:var(--bg);color:var(--text-dimmer)}
  .discord-diagnostic-chip.ok{background:var(--green-dim);border-color:var(--green-mid);color:var(--green)}
  .discord-diagnostic-chip.warning{background:var(--amber-dim);border-color:rgba(240,165,0,.35);color:var(--amber)}
  .discord-diagnostic-chip.bad{background:var(--pink-dim);border-color:var(--pink-mid);color:var(--pink)}
  .discord-next-actions{display:flex;flex-direction:column;gap:5px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px}
  .discord-next-title{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dimmer)}
  .discord-next-action{font-size:11px;font-weight:800;color:var(--text);line-height:1.4}
  .discord-test-actions{margin-top:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-raised);padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
  .discord-test-title{font-size:12px;font-weight:900;color:var(--text)}
  .discord-test-copy{font-size:11px;color:var(--text-dimmer);line-height:1.45;margin-top:2px;max-width:560px}
  .discord-test-buttons{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
  .discord-test-status{grid-column:1/-1;font-size:11px;color:var(--text-dimmer);min-height:14px}
  .discord-test-status.ok{color:var(--green);font-weight:800}
  .discord-test-status.err{color:var(--pink);font-weight:800}
  .discord-test-status.warn{color:var(--amber);font-weight:800}
	  .topic-icon-picker{display:grid;grid-template-columns:repeat(6,34px);gap:6px}
	  .topic-icon-option{width:34px;height:34px;border:1.5px solid var(--border);border-radius:8px;background:var(--surface-raised);display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer}
	  .topic-icon-option:hover,.topic-icon-option.active{border-color:var(--purple);background:var(--purple-dim);box-shadow:0 0 0 2px var(--purple-dim)}

	  .ps-dashboard-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:14px}
  .ps-dashboard-toolbar>div:first-child{margin-right:auto}
  .ps-dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:14px}
  .ps-dashboard-stat{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;min-height:84px}
  .ps-dashboard-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:16px;margin-bottom:20px}
  .ps-dashboard-panel{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:16px;min-width:0}
  #psSentimentSection{grid-column:1/-1}
  @media(max-width:1100px){.ps-dashboard-stats{grid-template-columns:repeat(2,minmax(150px,1fr))}.ps-dashboard-grid{grid-template-columns:1fr}}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-track{background:#eceef5;border-radius:999px}
  ::-webkit-scrollbar-thumb{background:#9aa0b8;border:2px solid #eceef5;border-radius:999px}
  ::-webkit-scrollbar-thumb:hover{background:#7f86a4}

  /* PDF export button */
  .pdf-export-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;background:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .15s}
  .pdf-export-btn:hover{border-color:var(--text-dim);color:var(--text);background:var(--surface)}
  /* PDF render target — clean white page, hidden via opacity/pointer-events during render */
  @media print{body{background:#fff}}
  #pdfRenderTarget{display:none;position:absolute;top:0;left:0;width:800px;opacity:0;pointer-events:none;z-index:-999;background:#ffffff;color:#111;font-family:'Inter',sans-serif;font-size:12px;line-height:1.6;padding:36px 40px;box-sizing:border-box}
  #pdfRenderTarget h1{font-size:18px;font-weight:800;margin:0 0 4px;color:#111}
  #pdfRenderTarget .pdf-meta{font-size:11px;color:#666;margin-bottom:20px}
  #pdfRenderTarget .pdf-section{margin-bottom:20px}
  #pdfRenderTarget .pdf-section-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#444;border-left:3px solid #7c5cbf;padding-left:8px;margin-bottom:10px}
  #pdfRenderTarget .pdf-card{background:#f5f5f5;border-radius:6px;padding:12px 14px;margin-bottom:8px}
  #pdfRenderTarget .pdf-card-title{font-size:13px;font-weight:800;color:#111;margin-bottom:5px}
  #pdfRenderTarget .pdf-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;margin-right:4px;margin-bottom:2px}
  #pdfRenderTarget .badge-green{background:#d4f4e0;color:#1a7a40}
  #pdfRenderTarget .badge-red{background:#fce4e4;color:#c0392b}
  #pdfRenderTarget .badge-amber{background:#fef3cd;color:#b8770a}
  #pdfRenderTarget .badge-blue{background:#dbeafe;color:#1d4ed8}
  #pdfRenderTarget .badge-purple{background:#ede9fe;color:#5b21b6}
  #pdfRenderTarget .badge-gray{background:#e5e7eb;color:#374151}
  #pdfRenderTarget .pdf-quote{font-style:italic;color:#555;font-size:11px;padding:4px 0 4px 10px;border-left:2px solid #ccc;margin:4px 0}
  #pdfRenderTarget .pdf-bullet{display:flex;gap:8px;padding:3px 0;font-size:12px;color:#333}
  #pdfRenderTarget .pdf-bullet-dot{color:#7c5cbf;font-weight:800;flex-shrink:0}
  #pdfRenderTarget .pdf-platform-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px}
  #pdfRenderTarget .pdf-stat{background:#f5f5f5;border-radius:6px;padding:10px 14px;min-width:100px;text-align:center}
  #pdfRenderTarget .pdf-stat-val{font-size:20px;font-weight:800;color:#111}
  #pdfRenderTarget .pdf-stat-lbl{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:.05em}
  #pdfRenderTarget .pdf-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}

  /* ============================================================
     UNIFIED FORM CONTROLS
     Appended last so it wins by source order over earlier,
     divergent per-component rules (no !important needed).
     Goal: every input, textarea, select and custom picker reads
     as one app — same fill, border, radius, focus ring, and a
     single custom dropdown chevron instead of the OS default.
     ============================================================ */
  input[type=text],input[type=password],input[type=date],input[type=search],
  input[type=email],input[type=number],input[type=url],input[type=tel],
  input:not([type]):not(.cp-hist-input),
  textarea,select,.modal-input,
  .discord-server-select,.workspace-select,.workspace-role-select,
  .billing-plan-select,.cp-field-select,.cp-filter-sel,.filter-select,
  .ps-detail-select,.cmp-bar-select{
    /* background-color (not the background shorthand) so the select chevron
       background-image set below is never wiped out.
       input:not([type]) catches JS-rendered inputs with no type= attribute,
       which otherwise miss input[type=text] entirely. cp-hist-input keeps
       its intentional dashed-underline inline-editor look. */
    background-color:var(--surface-raised);
    border:1.5px solid var(--border);
    color:var(--text);
    font-family:'Nunito',sans-serif;
    transition:border-color .15s,box-shadow .15s,background-color .15s;
  }
  /* Normalize corner radius on compact custom fields so nothing looks boxy */
  input:not([type]):not(.cp-hist-input),.cp-field-input,.cp-field-textarea{border-radius:var(--radius-sm)}
  /* Standard full-height fields share one height so they line up in grids */
  input[type=text],input[type=password],input[type=date],input[type=search],
  input[type=email],input[type=number],input[type=url],input[type=tel],
  .modal-input,.discord-server-select,.workspace-select,.workspace-role-select{
    min-height:var(--field-h);
    padding:9px 13px;
    border-radius:var(--radius-sm);
    font-size:13px;
  }
  textarea{border-radius:var(--radius-sm);padding:10px 13px;font-size:13px;line-height:1.5;min-height:80px}
  input:hover:not(:focus),textarea:hover:not(:focus),select:hover:not(:focus){border-color:var(--border-bright)}
  input:focus,textarea:focus,select:focus{
    border-color:var(--purple);
    box-shadow:0 0 0 3px var(--purple-ring);
    outline:none;
  }
  input::placeholder,textarea::placeholder{color:var(--text-dimmer);opacity:1}
  input:disabled,textarea:disabled,select:disabled{opacity:.55;cursor:not-allowed}

  /* Native selects: drop the OS arrow, paint a single consistent chevron.
     The class list is enumerated so it overrides each variant's own
     background shorthand (defined earlier) by equal specificity + source order.
     padding-right reserves room for the chevron on every select variant. */
  select,
  .discord-server-select,.workspace-select,.workspace-role-select,
  .billing-plan-select,.cp-field-select,.cp-filter-sel,.filter-select,
  .ps-detail-select,.cmp-bar-select{
    -webkit-appearance:none;-moz-appearance:none;appearance:none;
    cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239090b0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 11px center;
    background-size:11px;
  }
  .discord-server-select,.workspace-select,.workspace-role-select,
  .billing-plan-select,.cp-field-select,.filter-select,.cmp-bar-select{padding-right:32px}
  .cp-filter-sel,.ps-detail-select{padding-right:26px;background-position:right 8px center;background-size:10px}

  /* Form labels (.modal-label was used in markup but never styled) */
  .modal-label{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--text-dim);margin-bottom:5px}

  /* ACCESSIBILITY */
  .skip-link{position:fixed;z-index:1000;top:8px;left:8px;transform:translateY(-150%);background:var(--text);color:white;padding:9px 13px;border-radius:6px;font-weight:800;text-decoration:none;box-shadow:var(--shadow-md)}
  .skip-link:focus{transform:translateY(0)}
  :where(button,a[href],input,select,textarea,[role="button"],[tabindex]):focus-visible{outline:3px solid var(--purple);outline-offset:2px;box-shadow:0 0 0 2px var(--surface)}
  .modal-overlay[aria-hidden="true"]{visibility:hidden}
  .log-line{display:flex;align-items:flex-start;gap:7px}
  .log-line .cmic{flex:0 0 auto;margin-top:2px}
  @media(prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  }

  /* RESPONSIVE APP SHELL */
  .mobile-nav-toggle,.mobile-nav-backdrop{display:none}
  @media(max-width:839px){
    body{width:100%;min-width:0;overflow:hidden}
    .main-content{width:100%;min-width:0}
    .side-nav{position:fixed;inset:0 auto 0 0;z-index:180;width:min(280px,85vw);min-width:0;transform:translateX(-101%);transition:transform .2s ease;box-shadow:12px 0 28px rgba(26,26,46,.2)}
    body.nav-open .side-nav{transform:translateX(0)}
    .mobile-nav-toggle{position:fixed;z-index:190;top:9px;left:10px;width:44px;height:44px;border:1px solid var(--border);border-radius:7px;background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px}
    .mobile-nav-toggle span{display:block;width:16px;height:2px;border-radius:2px;background:var(--text)}
    .mobile-nav-toggle:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
    .mobile-nav-backdrop{position:fixed;inset:0;z-index:170;border:0;background:rgba(26,26,46,.42);cursor:pointer}
    .mobile-nav-toggle{display:flex}
    body.nav-open .mobile-nav-backdrop{display:block}
    .top-bar{min-height:62px;padding:10px 14px 10px 58px;gap:8px;flex-wrap:wrap}
    .top-bar>div:first-child{min-width:0}
    .top-bar-title{font-size:15px}
    .top-bar-sub{display:none}
    .top-bar-date{display:none}
    .content-area,.creator-module{flex-direction:column;overflow-y:auto}
    .config-panel,.creator-config{width:100%;min-width:0;max-width:none;max-height:48vh;border-right:0;border-bottom:1px solid var(--border);flex:0 0 auto}
    .creator-results{min-height:52vh;padding:14px}
    .analysis-area,#moduleCompetitors .analysis-area{width:100%;min-width:0;min-height:52vh;flex:1 0 auto}
    #moduleCompetitors .tab-analysis-inner{padding:14px}
    #psViewInbox{position:relative;flex-direction:column;overflow-y:auto!important}
    .ps-inbox-panel{width:100%;min-width:0;height:42vh;min-height:240px;border-right:0;border-bottom:1px solid var(--border);flex:0 0 auto}
    .ps-detail-panel{width:100%;min-height:58vh;flex:1 0 auto}
    .ps-template-modal{width:calc(100vw - 24px);max-width:none;max-height:90vh}
    .ps-template-modal-body{padding:18px}
    .ps-template-form-grid{grid-template-columns:1fr}
    .ps-response-toolbar{flex-wrap:wrap}
    .ps-template-picker-wrap{flex:1 1 220px}
    .ps-response-area{min-height:230px}
    .audience-lab-top-actions{gap:6px}
    .modal{width:calc(100vw - 24px);max-height:90vh}
    .onboarding-grid{grid-template-columns:1fr}
    .onboarding-progress-card{grid-template-columns:1fr}
    .onboarding-card{min-height:0}
    .tab-bar{padding-left:10px;padding-right:10px}
    .main-tab{min-height:44px}
    .source-tab,.btn-action,.history-btn,.job-chip{min-height:40px}
    .cp-history,.comments-table-wrap,.cmp-table-wrap{max-width:100%;overflow-x:auto}
  }
  @media(max-width:540px){
    .top-bar{align-items:flex-start}
    .top-bar>div:not(:first-child):not(.top-bar-date){max-width:100%;margin-left:0!important;overflow-x:auto}
    .top-bar .btn-action{white-space:nowrap}
    .config-panel,.creator-config{max-height:44vh}
    .analysis-area,#moduleCompetitors .analysis-area{min-height:56vh}
    .cp-summary-bar{gap:7px}
    .ps-template-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
    .ps-template-modal-body{padding:14px}
    .ps-template-status{margin:0 14px}
    .ps-template-browse-head{grid-template-columns:1fr}
    .ps-template-picker{left:8px!important;right:8px;width:auto;top:auto!important;bottom:8px;max-height:min(70dvh,520px);border-radius:12px}
    .ps-template-picker-row,.ps-template-manage-row{grid-template-columns:1fr}
    .ps-template-edit{min-height:44px;justify-self:end}
    .ps-tpl-body{min-height:180px}
    .ps-template-modal-footer{padding:12px 14px;flex-direction:column;align-items:stretch}
    .ps-template-dirty{margin:0}
    .ps-template-modal-footer button{width:100%}
    .cp-stat{padding:9px 11px}
    .ps-response-actions{overflow-x:auto}
    .ps-dashboard-stats,.ps-dashboard-grid{grid-template-columns:1fr}
    .audience-lab-top-actions .btn-action{padding-left:9px;padding-right:9px}
  }
