/* ProQuenta — Frontend Styles v1.1.0 */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap');

:root {
  --pq-navy:       #0D1F47;
  --pq-navy-mid:   #1A3366;
  --pq-blue:       #1B6CA8;
  --pq-cyan:       #00AEEF;
  --pq-cyan-light: #4DC9F0;
  --pq-cyan-faint: #E3F6FD;
  --pq-purple:     #7C3AED;
  --pq-purple-bg:  #F5F0FF;
  --pq-teal:       #0D7A5F;
  --pq-teal-bg:    #E8F7F3;
  --pq-white:      #FFFFFF;
  --pq-off:        #F5F8FC;
  --pq-g100:       #EDF2F7;
  --pq-g200:       #D1DBE8;
  --pq-g400:       #8FA5BF;
  --pq-g600:       #4A6070;
  --pq-red:        #B91C1C;
  --pq-red-bg:     #FEE2E2;
  --pq-amber:      #B45309;
  --pq-amber-bg:   #FEF3C7;
  --pq-success:    #0BA360;
  --pq-font:       'Montserrat', sans-serif;
  --pq-r:          10px;

  /* ── Header spacing tokens — change here to affect ALL tool headers ── */
  --pq-header-pad-x:      32px;
  --pq-header-pad-top:    28px;
  --pq-header-curve:      40px;  /* height of the rounded bottom overlap */
}

/* ── BASE TOOL WRAPPER ── */
.pq-tool {
  font-family: var(--pq-font);
  color: var(--pq-navy);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--pq-g200);
  box-shadow: 0 4px 20px rgba(13,31,71,.08);
  margin: 32px 0;
}

/* ── TOOL HEADERS ── */
.pq-tool-header {
  padding: var(--pq-header-pad-top) var(--pq-header-pad-x) 0;
  position: relative;
  overflow: hidden;
}

/* Rounded "bridge" between dark header and light body */
.pq-tool-header::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: var(--pq-header-curve);
  background: var(--pq-off);
  border-radius: 16px 16px 0 0;
}

.pq-reply-header   { background: linear-gradient(135deg, var(--pq-navy) 0%, var(--pq-navy-mid) 100%); }
.pq-guard-header   { background: linear-gradient(135deg, #150A2E 0%, var(--pq-navy-mid) 100%); }
.pq-control-header { background: linear-gradient(135deg, #071A30 0%, #0D3A2A 100%); }
.pq-pitch-header   { background: linear-gradient(135deg, #0A2540 0%, #1A3A5C 60%, #0D4A3A 100%); }
.pq-risk-header    { background: linear-gradient(135deg, #1A0A0A 0%, #3D1515 50%, #1A1F3A 100%); }
.pq-respond-header { background: linear-gradient(135deg, #0D2B1F 0%, #0D3A2A 100%); }

.pq-tool-header-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  /* FIX: was just 36px (exactly the curve height), leaving zero real space.
     Now: curve height + 12px breathing room above the body. */
  padding-bottom: calc(var(--pq-header-curve) + 12px);
}

.pq-tool-kicker {
  font-size: 10px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: var(--pq-cyan); margin-bottom: 6px;
}
.pq-kicker-purple { color: #A78BFA; }
.pq-kicker-teal   { color: #34D399; }
.pq-kicker-pitch  { color: #FFD700; }
.pq-kicker-risk   { color: #FF6B6B; }
.pq-kicker-respond{ color: #34D399; }

.pq-tool-title {
  font-size: 22px; font-weight: 800; color: #fff;
  letter-spacing: -.4px; line-height: 1.15;
}
.pq-tool-sub {
  font-size: 12px; font-weight: 300;
  color: rgba(255,255,255,.55); margin-top: 6px; line-height: 1.5;
}

.pq-usage-pill {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.6); font-size: 11px; font-weight: 500;
  padding: 6px 12px; border-radius: 20px;
  display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
.pq-usage-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--pq-cyan); animation: pq-blink 2s ease-in-out infinite;
}
.pq-pro-pill {
  background: rgba(0,174,239,.15); border: 1px solid rgba(0,174,239,.3);
  color: var(--pq-cyan-light); font-size: 11px; font-weight: 700;
  padding: 6px 12px; border-radius: 20px;
}
.pq-guard-shield, .pq-control-icon { font-size: 28px; flex-shrink: 0; }

@keyframes pq-blink { 0%,100%{opacity:1}50%{opacity:.3} }

/* ── TOOL BODY ── */
.pq-tool-body { background: var(--pq-off); padding: 20px 24px 24px; }

/* ── TONE SELECTOR ── */
.pq-tone-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 18px; }
.pq-tone-card { background: var(--pq-white); border: 2px solid var(--pq-g200); border-radius: 10px; padding: 14px 14px 12px; cursor: pointer; transition: all .18s; position: relative; overflow: hidden; }
.pq-tone-card::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.pq-tone-professional::after { background: var(--pq-blue); }
.pq-tone-personal::after     { background: var(--pq-cyan); }
.pq-tone-concise::after      { background: var(--pq-navy); }
.pq-tone-card.active::after  { transform: scaleX(1); }
.pq-tone-professional.active { border-color: var(--pq-blue); }
.pq-tone-personal.active     { border-color: var(--pq-cyan); }
.pq-tone-concise.active      { border-color: var(--pq-navy); }
.pq-tone-icon  { font-size: 20px; display: block; margin-bottom: 6px; }
.pq-tone-name  { font-size: 12px; font-weight: 700; color: var(--pq-navy); margin-bottom: 3px; }
.pq-tone-desc  { font-size: 11px; font-weight: 400; color: var(--pq-g400); line-height: 1.4; }
.pq-tone-check { position: absolute; top: 10px; right: 10px; width: 17px; height: 17px; border-radius: 50%; background: var(--pq-cyan); color: #fff; font-size: 9px; font-weight: 700; display: flex; align-items: center; justify-content: center; opacity: 0; transform: scale(.6); transition: all .18s; }
.pq-tone-card.active .pq-tone-check { opacity: 1; transform: scale(1); }
.pq-tone-indicator { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px; color: var(--pq-blue); }

/* ── CONTEXT TOGGLE ── */
.pq-ctx-toggle-wrap { margin-bottom: 16px; }
.pq-ctx-toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; color: var(--pq-blue); font-size: 12px; font-weight: 600; background: none; border: none; font-family: var(--pq-font); padding: 0; transition: color .2s; }
.pq-ctx-toggle:hover { color: var(--pq-cyan); }
.pq-ctx-arrow { font-size: 10px; transition: transform .2s; display: inline-block; }
.pq-ctx-open .pq-ctx-arrow { transform: rotate(90deg); }
.pq-ctx-fields { background: var(--pq-white); border: 1px solid var(--pq-g200); border-radius: 10px; padding: 16px; margin-top: 8px; }
.pq-ctx-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

/* ── PANELS ── */
.pq-editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pq-panel { background: var(--pq-white); border-radius: 12px; border: 1px solid var(--pq-g200); overflow: hidden; }
.pq-panel-hdr { background: var(--pq-g100); border-bottom: 1px solid var(--pq-g200); padding: 10px 16px; display: flex; align-items: center; justify-content: space-between; }
.pq-panel-title { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--pq-g600); display: flex; align-items: center; gap: 7px; }
.pq-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.pq-dot-blue   { background: var(--pq-blue); }
.pq-dot-cyan   { background: var(--pq-cyan); }
.pq-dot-purple { background: var(--pq-purple); }
.pq-dot-teal   { background: var(--pq-teal); }
.pq-char-count, .pq-finding-count { font-size: 11px; font-weight: 500; color: var(--pq-g400); }

/* ── TEXTAREA ── */
.pq-textarea { width: 100%; min-height: 260px; padding: 16px; border: none; outline: none; font-family: var(--pq-font); font-size: 13px; font-weight: 400; color: var(--pq-navy); line-height: 1.7; resize: vertical; background: transparent; display: block; }
.pq-textarea::placeholder { color: var(--pq-g400); font-weight: 300; }
.pq-small-textarea { min-height: 60px; }

/* ── PANEL FOOTER ── */
.pq-panel-footer { padding: 12px 16px; border-top: 1px solid var(--pq-g100); display: flex; align-items: center; gap: 8px; }
.pq-hint-text { font-size: 11px; font-weight: 300; color: var(--pq-g400); margin-left: auto; }

/* ── OUTPUT AREAS ── */
.pq-output-area, .pq-guard-output, .pq-control-output-panel { min-height: 260px; }
.pq-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 260px; gap: 10px; color: var(--pq-g400); text-align: center; padding: 28px; }
.pq-placeholder-icon { font-size: 36px; opacity: .4; }
.pq-placeholder p { font-size: 12px; font-weight: 300; line-height: 1.5; }
.pq-reply-text { padding: 16px; font-size: 13px; font-weight: 400; color: var(--pq-navy); line-height: 1.75; white-space: pre-wrap; word-break: break-word; min-height: 260px; }

/* ── BUTTONS ── */
.pq-btn-primary, .pq-btn-guard, .pq-btn-control {
  display: inline-flex; align-items: center; gap: 7px;
  border: none; border-radius: 8px; cursor: pointer;
  font-family: var(--pq-font); font-size: 13px; font-weight: 700;
  padding: 11px 22px; transition: all .2s; color: #fff;
  letter-spacing: .2px;
}
.pq-btn-primary  { background: linear-gradient(135deg, var(--pq-blue) 0%, var(--pq-cyan) 100%); }
.pq-btn-guard    { background: linear-gradient(135deg, #4C1D95 0%, var(--pq-purple) 100%); }
.pq-btn-control  { background: linear-gradient(135deg, var(--pq-teal) 0%, #0D9E7A 100%); width: 100%; justify-content: center; }
.pq-btn-primary:hover:not(:disabled)  { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,174,239,.3); }
.pq-btn-guard:hover:not(:disabled)    { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(124,58,237,.3); }
.pq-btn-control:hover:not(:disabled)  { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(13,122,95,.3); }
.pq-btn-primary:disabled, .pq-btn-guard:disabled, .pq-btn-control:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.pq-btn-ghost { background: transparent; border: 1px solid var(--pq-g200); border-radius: 7px; padding: 10px 14px; font-family: var(--pq-font); font-size: 12px; font-weight: 600; color: var(--pq-g600); cursor: pointer; transition: all .2s; }
.pq-btn-ghost:hover { border-color: var(--pq-g400); color: var(--pq-navy); }
.pq-btn-copy { display: flex; align-items: center; gap: 6px; background: var(--pq-navy); color: #fff; border: none; border-radius: 7px; padding: 8px 14px; font-family: var(--pq-font); font-size: 12px; font-weight: 600; cursor: pointer; transition: all .2s; }
.pq-btn-copy:hover { background: var(--pq-blue); }
.pq-btn-copy.pq-copied { background: var(--pq-success); }
.pq-output-actions { padding: 10px 16px; border-top: 1px solid var(--pq-g100); display: flex; gap: 8px; }
.pq-spinner { width: 15px; height: 15px; border: 2px solid rgba(255,255,255,.3); border-top-color: #fff; border-radius: 50%; animation: pq-spin .7s linear infinite; flex-shrink: 0; }
@keyframes pq-spin { to { transform: rotate(360deg); } }

/* ── FORM FIELDS ── */
.pq-field-group { display: flex; flex-direction: column; gap: 4px; }
.pq-field-group label { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--pq-g400); }
.pq-input { font-family: var(--pq-font) !important; font-size: 12px !important; font-weight: 400; color: var(--pq-navy); border: 1px solid var(--pq-g200); border-radius: 7px; padding: 9px 12px; outline: none; background: var(--pq-white); transition: border-color .2s; width: 100%; }
.pq-input:focus { border-color: var(--pq-cyan); }
.pq-input[type=textarea], textarea.pq-input { resize: vertical; }

/* ── CATEGORY PILLS (Guard) ── */
.pq-cat-strip { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; margin-bottom: 16px; }
.pq-cat-label { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--pq-g400); }
.pq-cat-pill { background: var(--pq-white); border: 1.5px solid var(--pq-g200); border-radius: 20px; padding: 4px 11px; font-size: 11px; font-weight: 600; color: var(--pq-g600); cursor: pointer; transition: all .18s; user-select: none; }
.pq-cat-scope.active  { background: var(--pq-purple-bg);  border-color: var(--pq-purple);  color: var(--pq-purple); }
.pq-cat-fin.active    { background: #FFF7ED; border-color: #C05C00; color: #C05C00; }
.pq-cat-fact.active   { background: var(--pq-cyan-faint); border-color: var(--pq-blue);   color: var(--pq-blue); }
.pq-cat-commit.active { background: var(--pq-red-bg);     border-color: var(--pq-red);    color: var(--pq-red); }

/* ── GUARD FINDINGS ── */
.pq-risk-summary { padding: 12px 16px; border-bottom: 1px solid var(--pq-g200); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: var(--pq-white); }
.pq-rs-num { font-size: 18px; font-weight: 800; line-height: 1; }
.pq-rs-label { font-size: 10px; font-weight: 500; color: var(--pq-g400); line-height: 1.3; }
.pq-rs-div { width: 1px; height: 26px; background: var(--pq-g200); }
.pq-overall-badge { margin-left: auto; font-size: 10px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; padding: 4px 10px; border-radius: 20px; }
.pq-badge-clear  { background: #E8F7F3; color: var(--pq-teal); }
.pq-badge-review { background: #FEF3C7; color: var(--pq-amber); }
.pq-badge-risk   { background: var(--pq-red-bg); color: var(--pq-red); }
.pq-findings-list { padding: 12px 16px; display: flex; flex-direction: column; gap: 8px; max-height: 480px; overflow-y: auto; }
.pq-finding { border-radius: 8px; border: 1px solid; padding: 12px 14px; }
.pq-finding.high   { background: #FEF2F1; border-color: #FECDCA; }
.pq-finding.medium { background: #FFF7ED; border-color: #FDDFB0; }
.pq-finding.low    { background: #F0FBF5; border-color: #AEECD0; }
.pq-finding-top  { display: flex; gap: 7px; margin-bottom: 7px; flex-wrap: wrap; }
.pq-sev-badge { font-size: 9px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 2px 7px; border-radius: 20px; }
.pq-sev-high   { background: #FEE4E2; color: var(--pq-red); }
.pq-sev-medium { background: #FDE8C8; color: var(--pq-amber); }
.pq-sev-low    { background: #D4F4E5; color: var(--pq-teal); }
.pq-cat-badge-f { font-size: 9px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; padding: 2px 7px; border-radius: 20px; }
.pq-cat-scope-f  { background: #EDE9FE; color: var(--pq-purple); }
.pq-cat-fin-f    { background: #FEF3C7; color: var(--pq-amber); }
.pq-cat-fact-f   { background: var(--pq-cyan-faint); color: var(--pq-blue); }
.pq-cat-commit-f { background: var(--pq-red-bg); color: var(--pq-red); }
.pq-finding-quote { font-size: 12px; font-weight: 600; color: var(--pq-navy); border-left: 3px solid; padding-left: 9px; margin-bottom: 7px; font-style: italic; line-height: 1.5; }
.pq-finding.high .pq-finding-quote   { border-color: var(--pq-red); }
.pq-finding.medium .pq-finding-quote { border-color: var(--pq-amber); }
.pq-finding.low .pq-finding-quote    { border-color: var(--pq-teal); }
.pq-finding-expl { font-size: 12px; color: var(--pq-g600); line-height: 1.55; margin-bottom: 8px; }
.pq-finding-sug-lbl { font-size: 9px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--pq-g400); margin-bottom: 3px; }
.pq-finding-sug { font-size: 12px; color: var(--pq-navy); background: rgba(255,255,255,.7); border-radius: 5px; padding: 7px 9px; line-height: 1.55; border: 1px solid rgba(13,31,71,.07); }
.pq-all-clear { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 200px; gap: 10px; padding: 28px; text-align: center; }
.pq-all-clear-title { font-size: 15px; font-weight: 700; color: var(--pq-teal); }
.pq-all-clear-sub { font-size: 12px; font-weight: 300; color: var(--pq-g400); line-height: 1.5; }

/* ── CONTROL LAYOUT ── */
.pq-control-grid { display: grid; grid-template-columns: 300px 1fr; gap: 18px; }
.pq-config-panel { background: var(--pq-white); border-radius: 12px; border: 1px solid var(--pq-g200); overflow: hidden; }
.pq-config-section { padding: 14px 16px; border-bottom: 1px solid var(--pq-g100); }
.pq-config-section:last-child { border-bottom: none; }
.pq-config-label { font-size: 10px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--pq-g400); margin-bottom: 10px; }
.pq-role-grid { display: flex; flex-direction: column; gap: 5px; }
.pq-role-btn { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 8px; border: 1.5px solid var(--pq-g200); background: var(--pq-off); cursor: pointer; text-align: left; width: 100%; font-family: var(--pq-font); transition: all .15s; }
.pq-role-btn:hover { border-color: var(--pq-g400); }
.pq-role-btn.active { background: var(--pq-teal-bg); border-color: var(--pq-teal); }
.pq-role-icon { font-size: 16px; flex-shrink: 0; }
.pq-role-info { display: flex; flex-direction: column; }
.pq-role-info strong { font-size: 11px; font-weight: 700; color: var(--pq-navy); }
.pq-role-btn.active .pq-role-info strong { color: var(--pq-teal); }
.pq-role-info small { font-size: 10px; font-weight: 400; color: var(--pq-g400); }
.pq-meeting-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.pq-meeting-btn { padding: 9px 8px; border-radius: 7px; border: 1.5px solid var(--pq-g200); background: var(--pq-off); cursor: pointer; text-align: left; font-family: var(--pq-font); font-size: 11px; font-weight: 600; color: var(--pq-navy); transition: all .15s; display: flex; align-items: center; gap: 6px; }
.pq-meeting-btn:hover { border-color: var(--pq-g400); }
.pq-meeting-btn.active { background: var(--pq-cyan-faint); border-color: var(--pq-cyan); color: var(--pq-blue); }
.pq-meeting-custom { grid-column: span 2; border-style: dashed; color: var(--pq-g400); justify-content: center; }
.pq-meeting-custom:hover { border-color: var(--pq-cyan); color: var(--pq-cyan); }

/* ── CONTROL OUTPUT — TABS ── */
.pq-output-panel { background: var(--pq-white); border-radius: 12px; border: 1px solid var(--pq-g200); overflow: hidden; }
.pq-briefing-hdr { padding: 14px 18px 0; border-bottom: 1px solid var(--pq-g200); }
.pq-briefing-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.pq-bmeta-role    { font-size: 11px; font-weight: 700; color: var(--pq-teal);  background: var(--pq-teal-bg);   padding: 3px 10px; border-radius: 20px; }
.pq-bmeta-meeting { font-size: 11px; font-weight: 700; color: var(--pq-blue);  background: var(--pq-cyan-faint); padding: 3px 10px; border-radius: 20px; }
.pq-bmeta-time    { font-size: 11px; font-weight: 400; color: var(--pq-g400); }
.pq-tabs { display: flex; overflow-x: auto; }
.pq-tab { padding: 9px 14px; border-bottom: 2px solid transparent; font-size: 12px; font-weight: 600; color: var(--pq-g400); cursor: pointer; transition: all .15s; white-space: nowrap; display: flex; align-items: center; gap: 5px; background: transparent; border-top: none; border-left: none; border-right: none; font-family: var(--pq-font); }
.pq-tab:hover { color: var(--pq-navy); }
.pq-tab.active { color: var(--pq-teal); border-bottom-color: var(--pq-teal); }
.pq-tab-content { display: none; padding: 18px; max-height: 540px; overflow-y: auto; }
.pq-tab-content.active { display: block; }

/* ── AGENDA ── */
.pq-agenda-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--pq-g100); }
.pq-agenda-item:last-child { border-bottom: none; }
.pq-agenda-time { font-size: 10px; font-weight: 700; color: var(--pq-g400); min-width: 52px; padding-top: 2px; }
.pq-agenda-title { font-size: 13px; font-weight: 700; color: var(--pq-navy); margin-bottom: 3px; }
.pq-agenda-goal  { font-size: 12px; font-weight: 400; color: var(--pq-g600); line-height: 1.5; }
.pq-agenda-owner { font-size: 10px; font-weight: 700; color: var(--pq-teal); margin-top: 3px; text-transform: uppercase; letter-spacing: .5px; }

/* ── TALKING POINTS ── */
.pq-tp-section { margin-bottom: 18px; }
.pq-tp-title   { font-size: 12px; font-weight: 700; color: var(--pq-navy); margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid var(--pq-g100); display: flex; align-items: center; gap: 6px; }
.pq-tp-item    { display: flex; gap: 9px; font-size: 12px; color: var(--pq-g600); line-height: 1.55; align-items: flex-start; margin-bottom: 5px; }
.pq-tp-bullet  { width: 6px; height: 6px; border-radius: 50%; background: var(--pq-teal); flex-shrink: 0; margin-top: 5px; }
.pq-tp-key     { font-weight: 700; color: var(--pq-navy); }

/* ── STAKEHOLDERS ── */
.pq-sh-card { background: var(--pq-off); border: 1px solid var(--pq-g200); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
.pq-sh-top  { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.pq-sh-avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--pq-cyan-faint); border: 2px solid var(--pq-cyan); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: var(--pq-blue); flex-shrink: 0; }
.pq-sh-name  { font-size: 13px; font-weight: 700; color: var(--pq-navy); }
.pq-sh-title { font-size: 11px; font-weight: 400; color: var(--pq-g400); }
.pq-sh-lbl   { font-size: 9px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--pq-g400); margin-bottom: 2px; }
.pq-sh-int   { font-size: 12px; font-weight: 400; color: var(--pq-g600); line-height: 1.5; margin-bottom: 7px; }
.pq-sh-app-lbl { color: var(--pq-teal); }
.pq-sh-app   { font-size: 12px; font-weight: 600; color: var(--pq-navy); line-height: 1.5; }
.pq-inf-bar  { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.pq-inf-lbl  { font-size: 10px; font-weight: 600; color: var(--pq-g400); width: 56px; flex-shrink: 0; }
.pq-inf-track { flex: 1; height: 4px; background: var(--pq-g200); border-radius: 2px; overflow: hidden; }
.pq-inf-fill  { height: 100%; background: linear-gradient(90deg, var(--pq-teal), var(--pq-cyan)); border-radius: 2px; }
.pq-inf-pct   { font-size: 10px; font-weight: 600; color: var(--pq-g400); min-width: 28px; text-align: right; }

/* ── Q&A ── */
.pq-qa-item { border: 1px solid var(--pq-g200); border-radius: 9px; overflow: hidden; margin-bottom: 9px; }
.pq-qa-q    { background: var(--pq-g100); padding: 10px 12px; font-size: 12px; font-weight: 700; color: var(--pq-navy); display: flex; align-items: flex-start; gap: 8px; }
.pq-qa-a    { padding: 10px 12px; font-size: 12px; font-weight: 400; color: var(--pq-g600); line-height: 1.6; }
.pq-diff-badge { font-size: 9px; font-weight: 700; padding: 2px 7px; border-radius: 20px; white-space: nowrap; margin-left: auto; flex-shrink: 0; }
.pq-diff-hard   { background: var(--pq-red-bg); color: var(--pq-red); }
.pq-diff-medium { background: #FEF3C7; color: var(--pq-amber); }
.pq-diff-easy   { background: var(--pq-teal-bg); color: var(--pq-teal); }

/* ── RISK RADAR ── */
.pq-risk-section { margin-bottom: 16px; }
.pq-risk-title { font-size: 12px; font-weight: 700; color: var(--pq-navy); margin-bottom: 8px; padding-bottom: 5px; border-bottom: 1px solid var(--pq-g100); display: flex; align-items: center; gap: 6px; }
.pq-risk-item { display: flex; gap: 9px; padding: 9px 11px; border-radius: 8px; margin-bottom: 6px; align-items: flex-start; }
.pq-risk-avoid { background: var(--pq-red-bg);   border: 1px solid #FECDCA; }
.pq-risk-watch { background: var(--pq-amber-bg);  border: 1px solid #FDE68A; }
.pq-risk-tip   { background: var(--pq-teal-bg);   border: 1px solid #A7F3D0; }
.pq-risk-icon  { font-size: 13px; flex-shrink: 0; margin-top: 1px; }
.pq-risk-text  { font-size: 12px; font-weight: 400; color: var(--pq-g600); line-height: 1.5; }

/* ── LOADING STATES ── */
.pq-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 260px; gap: 16px; text-align: center; padding: 28px; }
.pq-loading-orb { width: 48px; height: 48px; border-radius: 50%; background: var(--pq-teal-bg); border: 3px solid var(--pq-teal); display: flex; align-items: center; justify-content: center; font-size: 22px; animation: pq-pulse 1.5s ease-in-out infinite; }
@keyframes pq-pulse { 0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.07);opacity:.8} }
.pq-loading-title { font-size: 14px; font-weight: 700; color: var(--pq-navy); }
.pq-loading-step  { font-size: 12px; font-weight: 400; color: var(--pq-g400); display: flex; align-items: center; gap: 7px; }
.pq-loading-step.done   { color: var(--pq-teal); }
.pq-loading-step.active { color: var(--pq-navy); font-weight: 600; }
.pq-step-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--pq-g200); flex-shrink: 0; }
.pq-loading-step.done .pq-step-dot   { background: var(--pq-teal); }
.pq-loading-step.active .pq-step-dot { background: var(--pq-cyan); animation: pq-blink .8s step-end infinite; }
.pq-scan-state { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 260px; gap: 14px; padding: 28px; text-align: center; }
.pq-scan-spinner { width: 32px; height: 32px; border: 3px solid rgba(124,58,237,.2); border-top-color: var(--pq-purple); border-radius: 50%; animation: pq-spin .9s linear infinite; }
.pq-scan-bar { width: 160px; height: 3px; background: var(--pq-g200); border-radius: 2px; overflow: hidden; }
.pq-scan-fill { height: 100%; background: linear-gradient(90deg, var(--pq-purple), var(--pq-cyan)); border-radius: 2px; animation: pq-scanfill 2.5s ease-in-out infinite; }
@keyframes pq-scanfill { 0%{width:5%}50%{width:80%}100%{width:95%} }

/* ── ERROR BANNER ── */
.pq-error-banner { background: #FEF2F1; border: 1px solid #FECDCA; border-radius: 9px; padding: 10px 14px; font-size: 12px; font-weight: 500; color: var(--pq-red); margin-top: 12px; display: flex; align-items: center; gap: 8px; }

/* ── ACTIONS ROW (Control) ── */
.pq-actions-row { padding: 12px 18px; border-top: 1px solid var(--pq-g100); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.pq-actions-note { margin-left: auto; font-size: 11px; font-weight: 300; color: var(--pq-g400); }

/* ── DISABLED STATE ── */
.pq-tool-disabled { color: var(--pq-g400); font-style: italic; padding: 16px; background: var(--pq-g100); border-radius: 8px; text-align: center; }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  :root {
    --pq-header-pad-x:   16px;
    --pq-header-pad-top: 20px;
    --pq-header-curve:   32px;
  }
  .pq-editor-grid  { grid-template-columns: 1fr; }
  .pq-tone-row     { grid-template-columns: 1fr; }
  .pq-ctx-grid     { grid-template-columns: 1fr; }
  .pq-control-grid { grid-template-columns: 1fr; }
  .pq-meeting-grid { grid-template-columns: 1fr; }
  .pq-tool-body    { padding: 16px; }
}

/* ── DOCUMENT UPLOAD ── */
.pq-upload-zone {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border: 1.5px dashed var(--pq-g200);
  border-radius: 9px; background: var(--pq-white);
  cursor: pointer; transition: all .2s; margin-bottom: 10px;
}
.pq-upload-zone:hover { border-color: var(--pq-cyan); background: var(--pq-cyan-faint); }
.pq-upload-icon  { font-size: 16px; flex-shrink: 0; }
.pq-upload-label { font-size: 12px; font-weight: 600; color: var(--pq-blue); }
.pq-upload-hint  { font-weight: 400; color: var(--pq-g400); margin-left: 4px; }

.pq-file-list { display: flex; flex-direction: column; gap: 5px; }
.pq-file-pill { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 7px; font-size: 12px; font-weight: 500; border: 1px solid; }
.pq-file-processing { background: #FFF7ED; border-color: #FDDFB0; color: var(--pq-amber); }
.pq-file-ready      { background: var(--pq-teal-bg); border-color: #A7F3D0; color: var(--pq-teal); }
.pq-file-error      { background: var(--pq-red-bg); border-color: #FECDCA; color: var(--pq-red); }
.pq-file-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--pq-navy); }
.pq-file-icon { font-size: 14px; flex-shrink: 0; }
.pq-file-remove { background: none; border: none; cursor: pointer; font-size: 16px; color: var(--pq-g400); padding: 0 2px; line-height: 1; flex-shrink: 0; transition: color .15s; }
.pq-file-remove:hover { color: var(--pq-red); }
.pq-file-spinner { width: 12px; height: 12px; border: 2px solid rgba(180,83,9,.3); border-top-color: var(--pq-amber); border-radius: 50%; animation: pq-spin .7s linear infinite; flex-shrink: 0; }

/* ── PROQUENTA PITCH ── */
.pq-btn-pitch {
  width: 100%; background: linear-gradient(135deg, #C8973A 0%, #F0C060 100%);
  color: var(--pq-navy); border: none; border-radius: 9px; padding: 14px;
  font-family: var(--pq-font); font-size: 13px; font-weight: 700;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  gap: 8px; transition: all .2s; letter-spacing: .2px;
}
.pq-btn-pitch:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(200,151,58,.4); }
.pq-btn-pitch:disabled { opacity: .5; cursor: not-allowed; transform: none; }

.pq-pitch-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pq-pitch-type { padding: 12px 10px; border-radius: 9px; border: 1.5px solid var(--pq-g200); background: var(--pq-off); cursor: pointer; text-align: left; font-family: var(--pq-font); transition: all .18s; display: flex; flex-direction: column; gap: 4px; }
.pq-pitch-type:hover { border-color: var(--pq-g400); }
.pq-pitch-type.active { background: #FEF9EC; border-color: #C8973A; }
.pq-pitch-type-icon { font-size: 20px; }
.pq-pitch-type strong { font-size: 12px; font-weight: 700; color: var(--pq-navy); }
.pq-pitch-type.active strong { color: #8B6914; }
.pq-pitch-type small { font-size: 10px; font-weight: 400; color: var(--pq-g400); line-height: 1.3; }

.pq-pitch-grid { display: grid; grid-template-columns: 320px 1fr; gap: 18px; }

.pq-placeholder-steps { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; text-align: left; }
.pq-placeholder-step { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 500; color: var(--pq-g600); }
.pq-ps-num { width: 22px; height: 22px; border-radius: 50%; background: #FEF9EC; color: #C8973A; font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

.pq-pitch-briefing-hdr { padding: 14px 18px 0; border-bottom: 1px solid var(--pq-g200); }
.pq-pitch-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.pq-pitch-meta-company { font-size: 11px; font-weight: 700; color: #8B6914; background: #FEF9EC; padding: 3px 10px; border-radius: 20px; }
.pq-pitch-meta-type { font-size: 11px; font-weight: 700; color: var(--pq-blue); background: var(--pq-cyan-faint); padding: 3px 10px; border-radius: 20px; }

.pq-wow-box { background: linear-gradient(135deg, #0A2540 0%, #1A3A5C 100%); border-radius: 12px; padding: 20px; margin-bottom: 16px; position: relative; overflow: hidden; }
.pq-wow-box::before { content: '⭐'; position: absolute; top: 12px; right: 16px; font-size: 32px; opacity: .2; }
.pq-wow-label { font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #FFD700; margin-bottom: 8px; }
.pq-wow-line { font-size: 15px; font-weight: 700; color: #fff; line-height: 1.4; margin-bottom: 10px; font-style: italic; }
.pq-wow-screen { font-size: 12px; font-weight: 400; color: rgba(255,255,255,.65); line-height: 1.55; margin-bottom: 8px; }
.pq-wow-hook { font-size: 11px; font-weight: 500; color: #FFD700; opacity: .8; }

.pq-discovery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 4px; }
.pq-disc-item { background: var(--pq-off); border: 1px solid var(--pq-g200); border-radius: 9px; padding: 12px 14px; }
.pq-disc-lbl { font-size: 9px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--pq-g400); margin-bottom: 4px; }
.pq-disc-val { font-size: 12px; font-weight: 500; color: var(--pq-navy); line-height: 1.45; }

.pq-flow-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--pq-g100); align-items: flex-start; }
.pq-flow-item:last-child { border-bottom: none; }
.pq-flow-num { width: 28px; height: 28px; border-radius: 50%; background: #FEF9EC; border: 2px solid #C8973A; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; color: #8B6914; flex-shrink: 0; }
.pq-flow-action { font-size: 13px; font-weight: 700; color: var(--pq-navy); margin-bottom: 3px; }
.pq-flow-why { font-size: 12px; font-weight: 400; color: var(--pq-g600); line-height: 1.5; }
.pq-flow-time { font-size: 10px; font-weight: 700; color: #C8973A; margin-top: 3px; }

.pq-harbor-item { display: flex; gap: 9px; padding: 9px 12px; border-radius: 8px; margin-bottom: 7px; background: #FFF0F0; border: 1px solid #FECDCA; align-items: flex-start; }
.pq-harbor-icon { font-size: 13px; flex-shrink: 0; }
.pq-harbor-text { font-size: 12px; font-weight: 400; color: var(--pq-g600); line-height: 1.5; }

.pq-value-item { background: var(--pq-off); border: 1px solid var(--pq-g200); border-left: 3px solid #C8973A; border-radius: 0 9px 9px 0; padding: 12px 14px; margin-bottom: 8px; }
.pq-value-cap { font-size: 11px; font-weight: 700; color: #C8973A; text-transform: uppercase; letter-spacing: .8px; margin-bottom: 4px; }
.pq-value-stmt { font-size: 12px; font-weight: 500; color: var(--pq-navy); line-height: 1.55; }

.pq-bq-item { background: var(--pq-off); border: 1px solid var(--pq-g200); border-radius: 9px; overflow: hidden; margin-bottom: 8px; }
.pq-bq-q { background: var(--pq-g100); padding: 10px 14px; font-size: 13px; font-weight: 700; color: var(--pq-navy); display: flex; gap: 8px; }
.pq-bq-purpose { padding: 9px 14px; font-size: 12px; color: var(--pq-g600); line-height: 1.55; font-style: italic; }

.pq-closing-box { background: linear-gradient(135deg, var(--pq-navy) 0%, var(--pq-navy-mid) 100%); border-radius: 12px; padding: 18px; }
.pq-closing-lbl { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #FFD700; margin-bottom: 8px; }
.pq-closing-stmt { font-size: 13px; font-weight: 600; color: #fff; line-height: 1.5; margin-bottom: 12px; font-style: italic; }
.pq-closing-next-lbl { font-size: 10px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--pq-cyan-light); margin-bottom: 4px; }
.pq-closing-next { font-size: 12px; font-weight: 500; color: rgba(255,255,255,.75); line-height: 1.5; }

@media (max-width: 900px) {
  .pq-pitch-grid       { grid-template-columns: 1fr; }
  .pq-pitch-type-grid  { grid-template-columns: 1fr; }
  .pq-discovery-grid   { grid-template-columns: 1fr; }
}

/* ── PROQUENTA RISK ── */
.pq-btn-risk {
  width:100%; background: linear-gradient(135deg, #B91C1C 0%, #DC2626 100%);
  color:#fff; border:none; border-radius:9px; padding:14px;
  font-family:var(--pq-font); font-size:13px; font-weight:700;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  gap:8px; transition:all .2s;
}
.pq-btn-risk:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 6px 20px rgba(185,28,28,.4); }
.pq-btn-risk:disabled { opacity:.5; cursor:not-allowed; transform:none; }

.pq-risk-layout { display:grid; grid-template-columns:300px 1fr; gap:18px; }

.pq-risk-cats { display:flex; flex-direction:column; gap:7px; }
.pq-risk-cat-check { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:500; color:var(--pq-g600); cursor:pointer; }
.pq-risk-cat-check input { width:14px; height:14px; cursor:pointer; accent-color:var(--pq-red); }

/* Risk summary — note: .pq-risk-summary is also used by Guard; these extend it */
.pq-risk-level-badge { font-size:12px; font-weight:700; padding:5px 14px; border-radius:20px; letter-spacing:.5px; text-transform:uppercase; }
.pq-risk-high   { background:var(--pq-red-bg);  color:var(--pq-red); }
.pq-risk-medium { background:#FEF3C7;            color:var(--pq-amber); }
.pq-risk-low    { background:var(--pq-teal-bg);  color:var(--pq-teal); }
.pq-risk-headline { font-size:13px; font-weight:500; color:var(--pq-navy); flex:1; line-height:1.4; }

.pq-risk-table-wrap { overflow-x:auto; }
.pq-risk-table { width:100%; border-collapse:collapse; font-size:12px; }
.pq-risk-table th { background:var(--pq-g100); padding:8px 12px; text-align:left; font-size:10px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--pq-g600); border-bottom:1px solid var(--pq-g200); white-space:nowrap; }
.pq-risk-table td { padding:10px 12px; border-bottom:1px solid var(--pq-g100); vertical-align:top; line-height:1.45; color:var(--pq-g600); }
.pq-risk-table tr:hover td { background:var(--pq-off); }
.pq-risk-table td:first-child { font-weight:700; color:var(--pq-navy); white-space:nowrap; }

.pq-score-badge { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; font-size:12px; font-weight:800; }
.pq-score-9 { background:#FEE2E2; color:#B91C1C; }
.pq-score-6, .pq-score-4 { background:#FEF3C7; color:#B45309; }
.pq-score-3, .pq-score-2, .pq-score-1 { background:#E8F7F3; color:#0D7A5F; }

.pq-prob-badge, .pq-imp-badge { font-size:10px; font-weight:700; padding:2px 7px; border-radius:20px; text-transform:uppercase; }
.pq-badge-high   { background:#FEE2E2; color:#B91C1C; }
.pq-badge-medium { background:#FEF3C7; color:#B45309; }
.pq-badge-low    { background:#E8F7F3; color:#0D7A5F; }
.pq-cat-risk-badge { font-size:10px; font-weight:600; padding:2px 7px; border-radius:20px; background:var(--pq-cyan-faint); color:var(--pq-blue); }

.pq-top3-item { background:var(--pq-red-bg); border:1px solid #FECDCA; border-left:4px solid var(--pq-red); border-radius:0 10px 10px 0; padding:14px 16px; margin-bottom:10px; }
.pq-top3-header { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.pq-top3-id { font-size:10px; font-weight:700; color:var(--pq-red); background:#FEE4E2; padding:2px 8px; border-radius:20px; }
.pq-top3-title { font-size:13px; font-weight:700; color:var(--pq-navy); }
.pq-top3-why { font-size:12px; color:var(--pq-g600); line-height:1.55; margin-bottom:8px; }
.pq-top3-action-lbl { font-size:10px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--pq-red); margin-bottom:3px; }
.pq-top3-action { font-size:12px; font-weight:600; color:var(--pq-navy); line-height:1.5; }

.pq-risk-matrix { display:grid; grid-template-columns:40px 1fr 1fr 1fr; grid-template-rows:auto 1fr 1fr 1fr; gap:4px; margin:8px 0; }
.pq-matrix-label { display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; color:var(--pq-g400); text-transform:uppercase; letter-spacing:.5px; }
.pq-matrix-cell { border-radius:8px; padding:10px 8px; min-height:64px; display:flex; flex-wrap:wrap; gap:4px; align-content:flex-start; }
.pq-matrix-cell-hh { background:#FEE2E2; border:1px solid #FECDCA; }
.pq-matrix-cell-hm { background:#FEF3C7; border:1px solid #FDE68A; }
.pq-matrix-cell-hl { background:#FEF9EC; border:1px solid #FDE68A; }
.pq-matrix-cell-mh { background:#FEF3C7; border:1px solid #FDE68A; }
.pq-matrix-cell-mm { background:#FEF9EC; border:1px solid var(--pq-g200); }
.pq-matrix-cell-ml { background:#F0FBF5; border:1px solid #A7F3D0; }
.pq-matrix-cell-lh { background:#FEF9EC; border:1px solid var(--pq-g200); }
.pq-matrix-cell-lm { background:#F0FBF5; border:1px solid #A7F3D0; }
.pq-matrix-cell-ll { background:#F0FBF5; border:1px solid #A7F3D0; }
.pq-matrix-risk-id { font-size:10px; font-weight:700; padding:2px 6px; border-radius:20px; background:rgba(255,255,255,.7); color:var(--pq-navy); }

.pq-rec-item { display:flex; gap:10px; padding:10px 12px; border-radius:8px; margin-bottom:7px; background:var(--pq-off); border:1px solid var(--pq-g200); border-left:3px solid var(--pq-cyan); align-items:flex-start; }
.pq-rec-icon { font-size:14px; flex-shrink:0; }
.pq-rec-text { font-size:12px; color:var(--pq-g600); line-height:1.55; }

/* Risk table cell classes (replaces inline styles) */
.pq-risk-td-risk strong { color:var(--pq-navy); font-size:12px; }
.pq-risk-td-risk span   { font-size:11px; }
.pq-risk-td-owner       { font-size:11px; white-space:nowrap; }
.pq-risk-td-mitigation  { font-size:11px; white-space:normal; word-break:break-word; }

/* Preview frame: verberg Owner kolom zodat Mitigation zichtbaar blijft */
.pq-prev-risk .pq-risk-td-owner { display:none; }
.pq-prev-risk .pq-risk-table th:nth-child(7) { display:none; }

@media (max-width: 900px) { .pq-risk-layout { grid-template-columns:1fr; } }

/* ── ERP & context field fixes ── */
.pq-ctrl-stakeholders { font-size: 12px !important; }
.pq-ctrl-stakeholders::placeholder { font-size: 12px; }

/* ── RESPOND TOOL ── */
.pq-respond-context-grid  { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.pq-respond-input-wrap    { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }
.pq-dot-respond           { background: #10B981; }

.pq-btn-respond {
  display: inline-flex; align-items: center; gap: 7px;
  border: none; border-radius: 8px; cursor: pointer;
  font-family: var(--pq-font); font-size: 13px; font-weight: 700;
  padding: 11px 22px; transition: all .2s; color: #fff;
  background: linear-gradient(135deg, #065F46 0%, #10B981 100%);
}
.pq-btn-respond:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(16,185,129,.3); }
.pq-btn-respond:disabled { opacity: .5; cursor: not-allowed; transform: none; }

.pq-respond-output-panel { background: var(--pq-white); border-radius: 12px; border: 1px solid var(--pq-g200); overflow: hidden; }
.pq-respond-placeholder  { min-height: 200px; }
.pq-respond-header-bar   { padding: 14px 18px 0; border-bottom: 1px solid var(--pq-g200); }
.pq-respond-stats        { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.pq-respond-stat-num     { font-size: 20px; font-weight: 800; color: var(--pq-navy); line-height: 1; }
.pq-respond-stat-num.pq-respond-flagged { color: var(--pq-amber); }
.pq-respond-stat-lbl     { font-size: 11px; font-weight: 500; color: var(--pq-g400); }
.pq-respond-divider      { width: 1px; height: 24px; background: var(--pq-g200); }

.pq-respond-qa-item      { border-bottom: 1px solid var(--pq-g100); padding: 16px 18px; }
.pq-respond-qa-item:last-child { border-bottom: none; }
.pq-respond-qa-item.pq-respond-qa-risk { background: #FFFBEB; }
.pq-respond-qa-header    { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 8px; }
.pq-respond-q-num        { font-size: 10px; font-weight: 800; color: #10B981; background: #ECFDF5; padding: 3px 8px; border-radius: 20px; flex-shrink: 0; margin-top: 1px; }
.pq-respond-q-text       { font-size: 13px; font-weight: 700; color: var(--pq-navy); line-height: 1.4; flex: 1; }
.pq-respond-risk-badge   { font-size: 9px; font-weight: 700; color: var(--pq-amber); background: #FEF3C7; padding: 3px 8px; border-radius: 20px; flex-shrink: 0; white-space: nowrap; }
.pq-respond-risk-note    { font-size: 11px; font-weight: 500; color: var(--pq-amber); background: #FEF9EC; border: 1px solid #FDE68A; border-radius: 7px; padding: 8px 12px; margin-bottom: 10px; line-height: 1.5; }
.pq-respond-answer       { font-size: 12px; font-weight: 400; color: var(--pq-g600); line-height: 1.7; margin-bottom: 10px; }
.pq-respond-copy-btn     { background: transparent; border: 1px solid var(--pq-g200); border-radius: 6px; padding: 5px 12px; font-family: var(--pq-font); font-size: 11px; font-weight: 600; color: var(--pq-g600); cursor: pointer; transition: all .2s; }
.pq-respond-copy-btn:hover { border-color: #10B981; color: #10B981; }
.pq-respond-copy-btn.pq-copied { background: var(--pq-success); color: #fff; border-color: var(--pq-success); }

.pq-respond-full-doc     { padding: 20px 24px; max-height: 600px; overflow-y: auto; }
.pq-respond-exec-label   { font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #10B981; margin-bottom: 8px; }
.pq-respond-exec-text    { font-size: 13px; font-weight: 400; color: var(--pq-navy); line-height: 1.75; margin-bottom: 20px; }
.pq-respond-full-divider { height: 1px; background: var(--pq-g200); margin-bottom: 20px; }
.pq-respond-full-item    { margin-bottom: 24px; padding-bottom: 36px; border-bottom: 1px solid var(--pq-g100); }
.pq-respond-full-item:last-child { border-bottom: none; }
.pq-respond-full-q       { font-size: 13px; font-weight: 700; color: var(--pq-navy); margin-bottom: 10px; }
.pq-respond-full-a       { font-size: 12px; font-weight: 400; color: var(--pq-g600); line-height: 1.75; }

@media (max-width: 768px) {
  .pq-respond-context-grid { grid-template-columns: 1fr; }
}
.pq-role-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
}

/* ── Risk tool input normalisation ────────────────────────────────── */
/* Override inline styles in class-proquenta-risk.php                  */
.pq-risk-wrap .pq-risk-input,
.pq-risk-wrap .pq-risk-select,
.pq-risk-wrap .pq-risk-textarea {
  font-family: var(--pq-font) !important;
  font-size: 12px !important;
  background: var(--pq-white) !important;
}

/* ═══════════════════════════════════════════════════
   MOBILE FIXES — comprehensive responsive overrides
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* 1. Role grid: undo the 1fr 1fr override, back to single column */
  .pq-role-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
  }

  /* 2. Tool header inner: stack title and pill vertically */
  .pq-tool-header-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  /* 3. Tool title: smaller on mobile */
  .pq-tool-title {
    font-size: 17px;
  }

  /* 4. Textarea: less tall when stacked */
  .pq-textarea {
    min-height: 140px;
  }

  /* 5. Tab content: remove inner scroll on mobile, let page scroll */
  .pq-tab-content {
    max-height: none;
    overflow-y: visible;
  }

  /* 6. Risk matrix: allow horizontal scroll on very small screens */
  .pq-risk-matrix {
    min-width: 320px;
    overflow-x: auto;
  }

  /* 7. Pitch: collapse at 768 as well (belt & braces) */
  .pq-pitch-grid      { grid-template-columns: 1fr; }
  .pq-pitch-type-grid { grid-template-columns: 1fr; }
  .pq-discovery-grid  { grid-template-columns: 1fr; }

  /* 8. Risk layout: collapse (belt & braces) */
  .pq-risk-layout { grid-template-columns: 1fr; }

  /* 9. Panel footer: wrap buttons on small screens */
  .pq-panel-footer {
    flex-wrap: wrap;
  }

  /* 10. Cat strip: smaller pills so they wrap cleanly */
  .pq-cat-pill {
    font-size: 10px;
    padding: 4px 8px;
  }

  /* 11. Output actions: wrap */
  .pq-output-actions,
  .pq-actions-row {
    flex-wrap: wrap;
  }

  /* 12. Config section padding */
  .pq-config-section {
    padding: 14px 14px;
  }

  /* 13. Tabs: smaller text so they fit without horizontal scroll */
  .pq-tab {
    font-size: 11px;
    padding: 8px 10px;
  }

  /* 14. Risk tool inline — override its inner grid too */
  .pq-risk-wrap {
    grid-template-columns: 1fr !important;
  }
}