/* ProQenta — Frontend Styles v1.0.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;
}

/* ── 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: 28px 32px 0; position: relative; overflow: hidden; }
.pq-tool-header::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 24px; 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-tool-header-inner { position: relative; z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; padding-bottom: 20px; }
.pq-tool-kicker { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--pq-cyan); margin-bottom: 5px; }
.pq-kicker-purple { color: #A78BFA; }
.pq-kicker-teal   { color: #34D399; }
.pq-tool-title { font-size: 22px; font-weight: 800; color: #fff; letter-spacing: -.4px; line-height: 1.1; }
.pq-tool-sub   { font-size: 12px; font-weight: 300; color: rgba(255,255,255,.5); margin-top: 5px; }
.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); font-size: 12px; font-weight: 400; color: var(--pq-navy); border: 1px solid var(--pq-g200); border-radius: 7px; padding: 9px 12px; outline: none; background: var(--pq-off); 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) {
  .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; }
  .pq-tool-header { padding: 20px 16px 0; }
}

/* ── DOCUMENT UPLOAD ── */
.pq-upload-area {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 8px;
  border: 1.5px dashed var(--pq-g200);
  background: var(--pq-white); cursor: pointer;
  transition: all .2s; margin-bottom: 8px;
}
.pq-upload-area: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-g600); }
.pq-upload-hint { font-size: 10px; font-weight: 400; color: var(--pq-g400); margin-left: 4px; }
.pq-file-list { display: flex; flex-direction: column; gap: 5px; }
.pq-file-item {
  display: flex; align-items: center; gap: 8px;
  background: var(--pq-off); border: 1px solid var(--pq-g200);
  border-radius: 7px; padding: 7px 10px;
  font-size: 12px;
}
.pq-file-item.pq-file-loading { opacity: .7; }
.pq-file-icon { font-size: 14px; flex-shrink: 0; }
.pq-file-name { font-weight: 600; color: var(--pq-navy); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 180px; }
.pq-file-status { font-size: 11px; font-weight: 500; color: var(--pq-g400); flex-shrink: 0; }
.pq-file-remove { background: none; border: none; color: var(--pq-g400); cursor: pointer; font-size: 12px; padding: 0 2px; transition: color .15s; flex-shrink: 0; }
.pq-file-remove:hover { color: var(--pq-red); }

/* ── 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;
}
