/* Pythia consultant workspace: document surfaces and task-based navigation. */
:root {
  color-scheme: light;
  --pythia-bg: #f5f4f7;
  --pythia-bg-elevated: #fff;
  --pythia-surface: #fff;
  --pythia-surface-raised: #f8f7fb;
  --pythia-surface-soft: #f0eef5;
  --pythia-surface-hover: #eae5f4;
  --pythia-canvas: #fff;
  --pythia-border: #dfdce7;
  --pythia-border-strong: #b8b1c5;
  --pythia-text: #272336;
  --pythia-text-secondary: #514b62;
  --pythia-text-tertiary: #686077;
  --pythia-accent: #6645a6;
  --pythia-yellow: var(--pythia-accent);
  --pythia-yellow-hover: #52348f;
  --pythia-yellow-soft: #eee8f8;
  --pythia-red: #a62941;
  --pythia-red-soft: #fff0f2;
  --pythia-green: #176148;
  --pythia-green-soft: #e8f5ef;
  --pythia-blue: #245d8f;
  --pythia-blue-soft: #eaf3fb;
  --pythia-amber: #87500a;
  --pythia-focus: 0 0 0 3px #ded2f3;
  --pythia-shadow-sm: 0 1px 2px #29203b08;
  --pythia-shadow-md: 0 8px 28px #29203b0d;
  --pythia-shadow-overlay: 0 16px 50px #29203b26;
  --border-color: var(--pythia-border);
}
body.pythia-consultant { padding: 0; margin: 0; min-width: 0; font-size: 15px; line-height: 1.5; }
.pythia-consultant [hidden] { display: none !important; }
.pythia-consultant ::selection { background: #e1d5f5; color: #272336; }
.pythia-consultant :focus-visible { outline: 3px solid #7754b7; outline-offset: 3px; box-shadow: none; }
.pythia-consultant .app-shell {
  position: relative; inset: auto; width: 100%; height: auto; min-height: 76px;
  padding: 14px clamp(18px, 3vw, 48px); display: flex; flex-direction: row;
  justify-content: space-between; gap: 24px; background: #fff; border: 0;
  border-bottom: 1px solid var(--pythia-border); z-index: 45;
}
.pythia-consultant .brand-lockup { display: flex; align-items: center; gap: 12px; }
.pythia-consultant .brand-block { width: auto; min-width: 0; flex: 0 0 auto; }
.pythia-consultant .brand-lockup > div { clip: auto; clip-path: none; height: auto; width: auto; overflow: visible; position: static; white-space: normal; }
.pythia-consultant .brand-lockup h1 { font-size: 24px; letter-spacing: -.6px; margin: 0; color: #302044; white-space: nowrap; }
.pythia-consultant .brand-eyebrow { font-size: 11px; color: var(--pythia-text-tertiary); letter-spacing: .025em; }
.pythia-consultant .brand-eyebrow span:last-child { display: none; }
.pythia-consultant .brand-ey-logo { width: 38px; height: 38px; }
.pythia-consultant .header-controls { position: static; flex-wrap: wrap; justify-content: flex-end; --pythia-header-control-height: 44px; }
.pythia-consultant .header-controls :is(.language-control,.density-control,.zoom-control,.text-spacing-control,.command-palette-trigger,.auth-session-status,.status-pill) { background: var(--pythia-surface-raised); color: var(--pythia-text-secondary); border-color: var(--pythia-border); box-shadow: none; }
.pythia-consultant #api-status { display: none; }
.pythia-consultant .consultant-preferences, .pythia-consultant .consultant-tools { position: relative; border: 0; margin: 0; padding: 0; overflow: visible; }
.pythia-consultant .consultant-preferences > summary, .pythia-consultant .consultant-tools > summary { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 16px; font-size: 13px; color: var(--pythia-text-secondary); border: 1px solid var(--pythia-border); border-radius: 9px; cursor: pointer; white-space: nowrap; background: #fff; }
.pythia-consultant .consultant-tools > summary::after, .pythia-consultant .consultant-preferences > summary::after { content: "⌄"; margin-left: 12px; }
.consultant-preference-menu, .consultant-tool-menu { position: absolute; right: 0; top: calc(100% + 8px); min-width: 270px; padding: 12px; background: #fff; border: 1px solid var(--pythia-border); border-radius: 12px; box-shadow: var(--pythia-shadow-overlay); z-index: 60; }
.consultant-preference-menu { display: grid; gap: 12px; }
.consultant-tool-menu { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.pythia-consultant .consultant-tool-menu .nav-button { width: 100%; display: block; text-align: left; min-height: 44px; padding: 10px; font-size: 13px; }
.pythia-consultant .consultant-tool-menu .nav-icon { display: none; }
.pythia-consultant .consultant-tool-menu .nav-button > span:last-child { clip: auto; clip-path: none; height: auto; width: auto; position: static; overflow: visible; white-space: normal; }
.pythia-consultant .app-nav { position: sticky; inset: auto; top: 0; width: 100%; height: auto; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)) auto; gap: 8px; align-items: center; padding: 10px clamp(18px, 3vw, 48px); background: #fff; border: 0; border-bottom: 1px solid var(--pythia-border); z-index: 40; }
.pythia-consultant .consultant-stage { display: grid; grid-template-columns: 24px 1fr; gap: 2px 9px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--pythia-text-secondary); padding: 10px; text-align: left; min-height: 64px; height: auto; min-width: 0; transform: none; box-shadow: none; }
.consultant-stage .consultant-step-number { grid-row: span 2; align-self: start; color: #736383; font-size: 12px; padding-top: 3px; }
.consultant-stage strong { font-size: 15px; color: inherit; }
.consultant-stage small { font-size: 11px; font-weight: 400; line-height: 1.35; color: inherit; overflow-wrap: anywhere; }
.pythia-consultant .consultant-stage:hover { background: #f8f5fc; color: #55348d; }
.pythia-consultant .consultant-stage[aria-current="step"] { background: #eee8f8; border-color: #d5c6eb; color: #55348d; }
.pythia-consultant .status-strip { position: relative; inset: auto; margin: 0; width: 100%; padding: 8px clamp(18px,3vw,48px); min-height: 36px; height: auto; background: #f5f4f7; border: 0; color: var(--pythia-text-secondary); font-size: 12px; z-index: 1; }
.consultant-context { max-width: 1500px; margin: 0 auto; padding: 22px clamp(18px,3vw,48px) 18px; display: grid; grid-template-columns: 1fr auto; gap: 20px; }
.consultant-context-title h1 { font-size: clamp(24px,2.2vw,32px); line-height: 1.2; font-weight: 650; margin: 5px 0 8px; letter-spacing: -.6px; overflow-wrap: anywhere; }
.consultant-eyebrow { display: block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pythia-text-tertiary); }
#consultant-save-state { font-size: 12px; color: #62596e; }
#consultant-save-state[data-state="dirty"] { color: #87500a; }
.consultant-context-facts { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1.4fr 1.5fr; gap: 24px; margin: 0; }
.consultant-context-facts > div { border-top: 1px solid var(--pythia-border); padding-top: 12px; min-width: 0; }
.consultant-context dt { font-size: 11px; color: var(--pythia-text-tertiary); }
.consultant-context dd { font-size: 13px; font-weight: 600; margin: 4px 0 0; overflow-wrap: anywhere; }
.consultant-context-actions { grid-column: 2; grid-row: 1; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.consultant-next { max-width: 1404px; margin: 0 clamp(18px,3vw,48px); border-left: 3px solid #8b6cb7; padding: 12px 16px; background: #ede8f4; border-radius: 0 8px 8px 0; display: flex; gap: 20px; align-items: center; justify-content: space-between; }
.consultant-next p { font-size: 12px; margin: 5px 0 0; line-height: 1.5; max-width: 820px; }
.consultant-next button { flex-shrink: 0; }
.pythia-consultant .workbench { margin: 0 auto; width: 100%; max-width: 1500px; padding: 22px clamp(18px,3vw,48px) 48px; min-height: 50vh; }
.pythia-consultant .consultant-stage-panel { min-width: 0; }
.consultant-stage-heading { padding: 14px 0 22px; }
.consultant-stage-heading h2 { font-size: clamp(22px,2vw,28px); font-weight: 650; letter-spacing: -.4px; margin: 6px 0 8px; line-height: 1.2; }
.consultant-stage-heading p { max-width: 900px; font-size: 14px; margin: 0; color: var(--pythia-text-secondary); }
.pythia-consultant .assessor-workspace { --assessor-ink: #272336; --assessor-text: #272336; --assessor-muted: #62596f; --assessor-line: #dfdce7; --assessor-panel: #fff; --assessor-accent: #6645a6; --assessor-good: #176148; --assessor-warn: #87500a; --assessor-bad: #a62941; --assessor-surface-strong: #f7f5fa; --assessor-warning-soft: #fff4de; --assessor-success-soft: #e8f5ef; --assessor-danger-soft: #fff0f2; }
.pythia-consultant .assessor-workspace :is(.section-card,.assessor-toolbar,.complete-assessment-card,.review-workspace-card,.checklist-card,.findings-card) { width: 100%; background: #fff; border: 1px solid var(--pythia-border); box-shadow: var(--pythia-shadow-sm); border-radius: 12px; margin-bottom: 18px; }
.pythia-consultant .assessor-workspace .section-title h2 { font-size: 19px; letter-spacing: -.2px; }
.pythia-consultant .assessor-workspace :is(label, input, select, textarea, button) { font-size: 13px; }
.pythia-consultant :is(input,select,textarea) { color: var(--pythia-text); background-color: #fff; border-color: #b8b1c5; border-radius: 7px; }
.pythia-consultant :is(input,textarea)::placeholder { color: #777083; opacity: 1; }
.pythia-consultant button { color: #fff; background-color: var(--pythia-accent); border-color: var(--pythia-accent); border-radius: 8px; letter-spacing: 0; }
.pythia-consultant button:hover { background-color: #55358e; border-color: #55358e; color: #fff; }
.pythia-consultant :is(.ghost-button,.nav-button,.density-option,.zoom-button,.zoom-value,.text-spacing-toggle,.command-palette-trigger) { color: var(--pythia-text-secondary); background: #fff; border-color: var(--pythia-border-strong); }
.pythia-consultant :is(.ghost-button,.nav-button):hover { background: #eee8f8; color: #55348d; border-color: #aa95cd; }
.pythia-consultant button:disabled { color: #766f80; background: #eeebf1; border-color: #d4cfdd; opacity: 1; }
.pythia-consultant .consultant-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.pythia-consultant .consultant-disclosure { margin: 0 0 12px; background: #fff; border: 1px solid var(--pythia-border); border-radius: 10px; padding: 0; min-width: 0; }
.pythia-consultant .consultant-disclosure > summary { cursor: pointer; min-height: 48px; padding: 14px 18px; font-size: 14px; color: var(--pythia-text-secondary); font-weight: 600; }
.pythia-consultant .consultant-disclosure > :not(summary) { margin: 0; border: 0; box-shadow: none; padding: 20px; }
.consultant-specialist-list { margin-top: 20px; }
.consultant-utilities { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 8px; align-items: flex-start; }
.pythia-consultant .consultant-utilities > * { margin: 0; width: auto; flex: 1 1 300px; padding: 0; background: transparent; box-shadow: none; }
.pythia-consultant .consultant-utilities #human-effort { border: 1px solid var(--pythia-border); background: #fff; margin: 0; }
.pythia-consultant .consultant-utilities .human-effort summary { padding: 14px 18px; font-size: 13px; min-height: 48px; }
.pythia-consultant .consultant-utilities #human-effort > details > :not(summary) { margin-left: 16px; margin-right: 16px; }
.pythia-consultant .consultant-scope-people { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; background: #f8f7fb; border-radius: 8px; padding: 12px; }
.consultant-scope-people p { font-size: 12px; margin: 0; flex: 1; }
.pythia-consultant .he-warning { border-color: #8b6cb7; background: #f3eef9; }
.pythia-consultant .assessment-governed-exports { padding: 24px; }
.pythia-consultant .assessment-section-navigator { scroll-margin-top: 120px; }
.pythia-consultant [data-workspace-section], .pythia-consultant [data-workspace-section] h3 { scroll-margin-top: 125px; }
.pythia-consultant .app-footer { margin-left: 0; width: 100%; background: #f5f4f7; }
/* Evidence intake uses the same readable document surfaces as assessment. */
.pythia-consultant #analysis-form :is(.section-card,.advanced-evidence-options,.evidence-metadata-editor,.command-bar) {
  background: var(--pythia-surface); color: var(--pythia-text); border-color: var(--pythia-border); box-shadow: none;
}
.pythia-consultant #analysis-form :is(.transparency-panel,.evidence-list,.quality-card) {
  background: var(--pythia-surface-raised); color: var(--pythia-text-secondary); border-color: var(--pythia-border);
}
.pythia-consultant #analysis-form :is(label,p,li,.command-bar span) { color: var(--pythia-text-secondary); }
.pythia-consultant #analysis-form :is(#select-folder,#submit-btn) { color: #fff; background: var(--pythia-accent); }
.pythia-consultant #analysis-form :is(#select-folder,#submit-btn):hover { color: #fff; background: #55358e; }
.pythia-consultant #analysis-form :is(#select-folder,#submit-btn):disabled { color: #766f80; background: #eeebf1; }
.pythia-consultant #analysis-form :is(.grid,.field-group,.command-bar > div) { min-width: 0; }
.pythia-consultant #analysis-form :is(.transparency-panel,.evidence-list,.command-bar) { overflow-wrap: anywhere; }
.pythia-consultant #analysis-form .quality-card.ready { border-left-color: var(--pythia-green); }
.pythia-consultant #analysis-form .quality-card.weak { border-left-color: var(--pythia-amber); }
.pythia-consultant #analysis-form .quality-card.missing { border-left-color: var(--pythia-red); }
@media (min-width:1500px) { .consultant-next { margin-inline: auto; } }
@media (max-width:1000px) {
  .pythia-consultant .app-shell { align-items: flex-start; }
  .pythia-consultant .brand-eyebrow { display: none; }
  .pythia-consultant .header-controls { gap: 6px; }
  .pythia-consultant .app-nav { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; padding: 8px 16px; }
  .pythia-consultant .consultant-tools { grid-column: 1 / -1; justify-self: end; }
  .pythia-consultant .consultant-tools > summary { min-height: 32px; padding: 3px 12px; }
  .pythia-consultant .consultant-stage { grid-template-columns: 1fr; gap: 3px; padding: 8px; }
  .consultant-stage .consultant-step-number { display: none; }
  .consultant-context { grid-template-columns: 1fr; }
  .consultant-context-actions { grid-column: 1; grid-row: auto; }
  .consultant-next { flex-direction: column; align-items: flex-start; gap: 12px; }
  .pythia-consultant .assessor-setup-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .pythia-consultant .app-shell { flex-wrap: wrap; padding: 14px 18px; gap: 12px; }
  .pythia-consultant .header-controls { justify-content: flex-start; width: 100%; }
  .pythia-consultant .auth-session-status { max-width: 100%; }
  .pythia-consultant .app-nav { position: relative; padding: 8px 12px; }
  .pythia-consultant .consultant-stage { min-height: 58px; padding: 8px 4px; text-align: center; }
  .consultant-stage strong { font-size: 12px; }
  .consultant-stage small { display: none; }
  .consultant-context-facts { grid-template-columns: 1fr; gap: 12px; }
  .consultant-context-actions { align-items: stretch; flex-direction: column; }
  .consultant-next button { max-width: 100%; white-space: normal; }
  .pythia-consultant .assessor-setup-grid { grid-template-columns: 1fr; }
  .pythia-consultant .consultant-scope-people { flex-direction: column; align-items: stretch; }
  .pythia-consultant .consultant-disclosure > :not(summary) { padding: 12px; }
  .pythia-consultant [data-workspace-section] { scroll-margin-top: 18px; }
}
#assessment-review-error {
  grid-column: 1 / -1;
  margin: 0;
  padding: .75rem;
  border: 1px solid #b47c26;
  border-radius: .5rem;
  background: #fff8e9;
  color: #653e08;
  overflow-wrap: anywhere;
}
#assessment-review-error:focus { outline: 3px solid #6a48a1; outline-offset: 2px; }
.pythia-consultant .review-history-panel {
  min-width: 0; margin: 16px 0; border: 1px solid var(--pythia-border);
  border-radius: 10px; background: #fff; color: var(--pythia-text);
}
.pythia-consultant .review-history-panel > summary {
  padding: 14px; cursor: pointer; font-weight: 650;
}
.pythia-consultant #assessment-review-history { padding: 0 14px 14px; min-width: 0; }
.pythia-consultant #assessment-review-history > details {
  padding: 12px 0; border-top: 1px solid var(--pythia-border); overflow-wrap: anywhere;
}
.pythia-consultant #assessment-review-history summary { cursor: pointer; padding: 8px 0; }
.pythia-consultant #assessment-review-history p { margin: 8px 0; line-height: 1.6; }
.pythia-consultant #assessment-review-history pre {
  max-height: 24rem; padding: 12px; border: 1px solid var(--pythia-border); border-radius: 8px;
  background: #f7f5fa; color: #272336; font-size: 13px; line-height: 1.6;
  white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; overflow: auto;
}
.pythia-consultant .review-history-panel :is(summary, pre):focus-visible {
  outline: 3px solid #7754b7; outline-offset: 2px;
}
.engagement-recovery { margin: 16px 0; padding: 20px; background: #fffaf0; border: 1px solid #c49a55; border-radius: 12px; color: #30283e; scroll-margin-top: 100px; }
.engagement-recovery[hidden] { display: none; }
.engagement-recovery h2 { margin: 0 0 12px; }
.engagement-recovery p { line-height: 1.6; }
.engagement-recovery-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.engagement-recovery-conflict { margin: 16px 0; padding: 16px; border: 1px solid #dfdce7; border-radius: 10px; background: #fff; min-width: 0; }
.engagement-recovery-values { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.engagement-recovery-values > div { min-width: 0; }
.engagement-recovery pre { color: #272336; background: #f7f5fa; padding: 12px; border: 1px solid #dfdce7; border-radius: 8px; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 280px; overflow: auto; font: inherit; line-height: 1.6; }
.engagement-recovery label { display: block; margin: 12px 0 6px; font-weight: 600; }
.engagement-recovery select, .engagement-recovery textarea { width: 100%; }
.engagement-recovery :is(pre,summary,h2,[role="alert"]):focus-visible { outline: 3px solid #7754b7; outline-offset: 3px; }
.engagement-recovery-changes { margin: 16px 0; }
#engagement-recovery-error { color: #842038; background: #fff0f2; padding: 12px; border-radius: 8px; }
@media (max-width: 700px) {
  .engagement-recovery { padding: 14px; scroll-margin-top: 18px; }
  .engagement-recovery-values { grid-template-columns: minmax(0,1fr); }
  .engagement-recovery-conflict { padding: 12px; }
}
.report-preview-block { min-width: 0; grid-template-columns: minmax(0, 1fr); }
details.report-preview-block:not([open]) > :not(summary) { display: none; }
.report-preview-table-scroll { min-width: 0; width: 100%; }
.report-preview-table-scroll:focus-visible { outline: 3px solid #6a48a1; outline-offset: 2px; }
.report-preview-table-scroll table { min-width: 760px; }
#assessment-report-workspace, #client-report-preview { min-width: 0; max-width: 100%; }
#assessment-report-preview { grid-template-columns: minmax(0, 1fr); }
.client-report-preview-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.client-report-preview-heading h3 { margin: 0 0 8px; color: #30283e; }
.client-report-limit { flex: 0 0 auto; border-radius: 8px; background: #f0eafa; color: #533b77; padding: 8px 12px; font-weight: 700; }
.client-report-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.client-report-nav button { white-space: normal; text-align: left; }
.client-report-section, .report-supporting-preview { min-width: 0; border: 1px solid #ddd7e6; border-radius: 8px; margin: 10px 0; background: #fff; }
.client-report-section > summary, .report-supporting-preview > summary { padding: 14px; font-weight: 650; cursor: pointer; color: #382d49; }
.client-report-section:not([open]) > :not(summary), .report-supporting-preview:not([open]) > :not(summary) { display: none; }
.client-report-section-body { padding: 0 14px 14px; min-width: 0; overflow-wrap: anywhere; }
.client-report-section-body p { line-height: 1.6; margin: 8px 0; }
.client-report-section-body table { border-collapse: collapse; width: 100%; font-size: 14px; }
.client-report-section-body th, .client-report-section-body td { padding: 10px; text-align: left; vertical-align: top; border: 1px solid #e3dfea; white-space: pre-line; }
.client-report-section-body th { background: #f3eff8; color: #392d4a; }
.client-report-material-card { padding: 14px 0; border-top: 1px solid #e5e0eb; }
.client-report-material-card h4 { margin: 0 0 10px; color: #583d7e; }
.report-supporting-preview > .report-preview-block { margin: 14px; }
.client-report-section summary:focus-visible, .client-report-nav button:focus-visible { outline: 3px solid #6a48a1; outline-offset: 2px; }
.assessment-export-state:focus { outline: 3px solid #6a48a1; outline-offset: 4px; border-radius: 3px; }
@media (max-width: 600px) {
  .client-report-preview-heading { flex-direction: column; }
  .client-report-nav { display: grid; grid-template-columns: minmax(0,1fr); }
  .client-report-section-body { padding: 0 10px 10px; }
}
