/* The canvas owns the working area; source/tool controls remain on their own tabs. */
.fa-skill-selection {display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 0;border-top:1px solid var(--border-color,#dbe2eb);margin-bottom:12px}
.fa-skill-selection>div {flex:1;min-width:180px;display:grid;gap:4px}
.fa-skill-selection span,.fa-skill-selection label {font-size:13px;color:var(--text-secondary,#475569);line-height:1.6}
.fa-skill-selection label {display:grid;gap:6px;width:100%}
.fa-skill-selection select {font:inherit;padding:8px;max-width:100%;border:1px solid var(--border-color,#dbe2eb);border-radius:6px;background:var(--card-bg,#fff);color:var(--text-primary,#213047)}
.fa-skill-selection p {margin:0}
.fa-skill-output {margin:12px 0;max-width:72ch;color:var(--text-primary,#213047)}
.fa-chat-shortcuts button[data-fa-skill] {color:var(--primary,#244bc2)}
.fa-assistant-answer:has(.fa-skill-output[open]) {max-height:none}
.fa-skill-output>summary {color:var(--primary,#244bc2);font-weight:600;cursor:pointer;padding:8px 0}
.fa-skill-output section {padding:12px 0;border-top:1px solid var(--border-color,#dbe2eb)}
.fa-skill-output h4 {font-size:14px;margin:0 0 8px;color:var(--text-primary,#213047)}
.fa-skill-output p {font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}
.fa-skill-output blockquote {margin:10px 0;padding:12px;background:var(--visual-surface-soft,#f1f5fa);color:var(--text-primary,#213047);border:0;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.fa-skill-output small {display:block;color:var(--text-secondary,#475569);margin-top:6px}
.fa-skill-status {font-size:12px;color:var(--text-secondary,#475569)}
.fa-skill-status[data-status="difference"] {color:#895200}
.fa-skill-status[data-status="supported"] {color:#246044}
.fa-skill-selection :is(select,button):focus-visible,.fa-skill-output summary:focus-visible {outline:2px solid var(--primary,#244bc2);outline-offset:3px}
.fa-layout.fa-layout--canvas {grid-template-columns:176px minmax(0,1fr);height:max(720px,calc(100dvh - 238px))}
.fa-layout.fa-layout--canvas .fa-tools-sidebar,
.fa-layout--canvas .fa-workspace>.fa-context-bar,
.fa-layout--canvas .fa-workspace>.fa-chat-scope,
.fa-layout--canvas .fa-workspace>.fa-chat {display:none}
.fa-layout--canvas .fa-operation {display:flex;flex-direction:column;padding:0;min-height:0;max-height:none;overflow:hidden;scrollbar-gutter:auto}
.fa-layout--canvas .fa-sheet-choice {flex-shrink:0}
.fa-canvas-panel {display:flex;flex-direction:column;flex:1;min-height:0;background:var(--card-bg,#fff)}
.fa-canvas-intro {flex-shrink:0;padding:12px 16px;border-bottom:1px solid var(--border-color,#dbe2eb)}
#free-analysis-content .fa-canvas-intro h2 {margin:0 0 4px;font-size:16px!important;line-height:1.5!important}
.fa-canvas-intro p {margin:0;color:var(--text-secondary,#475569);font-size:13px;line-height:1.6}
.fa-canvas-host {display:flex;flex-direction:column;flex:1;min-height:0}
.fa-canvas-actions {display:flex;justify-content:flex-end;flex-shrink:0;padding:8px 16px;border-bottom:1px solid var(--border-color,#dbe2eb)}
.fa-canvas-adoption-dialog {margin:auto;width:min(540px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;padding:24px;border:1px solid var(--border-color,#dbe2eb);border-radius:12px;background:var(--card-bg,#fff);color:var(--text-primary,#213047);font:inherit}
.fa-canvas-adoption-dialog::backdrop {background:rgb(22 34 52 / .35)}
.fa-canvas-adoption-dialog header,.fa-canvas-adoption-dialog footer {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fa-canvas-adoption-dialog h2 {margin:0;font-size:20px;line-height:1.5}
.fa-canvas-adoption-dialog p {font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.fa-canvas-adoption-dialog label {display:grid;gap:8px;margin-block:20px;font-size:14px}
.fa-canvas-adoption-dialog select {width:100%;min-width:0;padding:10px;border:1px solid var(--border-color,#dbe2eb);border-radius:6px;font:inherit;background:var(--card-bg,#fff);color:inherit}
.fa-canvas-adoption-dialog :is(button,select):focus-visible {outline:2px solid var(--primary,#244bc2);outline-offset:3px}
.fa-canvas-adoption-dialog footer {justify-content:flex-end;margin-top:20px}
.fa-canvas-frame {display:block;width:100%;flex:1;min-height:0;border:0;background:var(--card-bg,#fff)}
.fa-canvas-status {flex-shrink:0;margin:0;padding:8px 16px;background:var(--bg-secondary,#f6f8fb);color:var(--text-secondary,#475569);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:860px) {
  .fa-layout.fa-layout--canvas {grid-template-columns:minmax(0,1fr);height:auto}
  .fa-layout--canvas .fa-workspace {height:760px;min-height:0}
  .fa-layout--canvas .fa-work-tabs {overflow-x:auto;flex-shrink:0}
}
#free-analysis-content {max-width:1280px;margin:0 auto;color:var(--text-primary,#1d1d1f)}
.fa-header {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.fa-header h1 {font-size:28px;letter-spacing:-.025em;margin-bottom:8px}
.fa-header p,.fa-muted,.fa-tasks small {color:var(--text-secondary,#606066);line-height:1.6}
.fa-layout {display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px}
.fa-layout aside {border-right:1px solid var(--border-color,#d2d2d7);padding-right:20px}
.fa-tasks {list-style:none;margin:20px 0;padding:0}
.fa-tasks button {display:block;width:100%;text-align:left;padding:12px 8px;border:0;border-bottom:1px solid var(--border-color,#d2d2d7);background:transparent;overflow-wrap:anywhere}
.fa-tasks button[aria-current] {background:var(--bg-secondary,#eef5ff);color:var(--accent-color,#0066cc)}
.fa-tasks small {display:block;margin-top:6px;font-size:12px}
.fa-workspace {min-width:0}.fa-workspace h2 {font-size:19px;margin:28px 0 12px}
.fa-workspace label {display:flex;flex-direction:column;gap:8px;font-size:14px;margin:12px 0}
.fa-workspace input,.fa-workspace select,.fa-workspace textarea {width:100%;padding:10px 12px;min-height:42px;border:1px solid var(--border-color,#c6c6cc);border-radius:8px;background:var(--card-bg,#fff);color:inherit;font:inherit;box-sizing:border-box}
.fa-workspace :focus-visible,.fa-layout button:focus-visible {outline:2px solid var(--accent-color,#0066cc);outline-offset:3px}
.fa-task-heading {display:flex;align-items:end;gap:10px;flex-wrap:wrap}.fa-task-heading label {flex:1;min-width:190px;margin:0}
.fa-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:16px 0}.fa-fields p,.fa-fields .fa-check {grid-column:1/-1}
.fa-workspace .fa-check {flex-direction:row;align-items:center}.fa-check input {width:18px;min-height:18px}
.fa-opinion {margin-top:26px!important}.fa-results {border-top:1px solid var(--border-color,#d2d2d7);margin-top:24px;padding-top:18px}
.fa-results ul {list-style:none;padding:0}.fa-results li {padding:16px 0;border-bottom:1px solid var(--border-color,#dedee2)}
.fa-results p {line-height:1.7;max-width:72ch}.fa-results small {color:var(--text-secondary,#606066)}
.fa-results pre {max-height:420px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg-secondary,#f5f5f7);padding:16px}
.fa-results summary {cursor:pointer;padding:14px 0}.fa-text {white-space:pre-wrap}
#fa-status {min-height:24px;color:var(--text-secondary,#606066);overflow-wrap:anywhere}
#free-analysis-content button {cursor:pointer}#free-analysis-content button:hover {filter:brightness(.94)}
#free-analysis-content [disabled] {opacity:.6;cursor:wait}
@media(max-width:760px) {.fa-layout {grid-template-columns:1fr;gap:24px}.fa-layout aside {border-right:0;border-bottom:1px solid var(--border-color,#d2d2d7);padding:0 0 16px}.fa-tasks {max-height:160px;overflow:auto}.fa-fields {grid-template-columns:1fr}.fa-header {align-items:start}.fa-task-heading button {flex:1}}
/* Independent workspace keeps account controls, without a project-selection prerequisite. */
body[data-active-view="freeanalysis"] .project-context,
body[data-active-view="freeanalysis"] .project-actions {display:none!important}
body[data-active-view="freeanalysis"] .project-toolbar {position:sticky;top:0;height:auto}
body[data-active-view="freeanalysis"] .project-bar-inner {display:flex;align-items:center;flex-wrap:wrap;gap:16px;min-height:72px;height:auto}
body[data-active-view="freeanalysis"] .user-info-bar {position:static;margin-left:auto}
body[data-active-view="freeanalysis"] .breadcrumb {position:static;margin-top:0}
body[data-active-view="freeanalysis"] .main-content {padding-top:28px;margin-top:0;background:var(--visual-canvas,#f5f6f8)!important}
.fa-header>button {padding:10px 16px;min-height:42px;border:1px solid var(--border-color,#c6c6cc);border-radius:8px;background:var(--card-bg,#fff);font:inherit;white-space:nowrap}
@media(max-width:760px) {
  .fa-task-heading label {flex-basis:100%}
  .fa-task-heading button {min-width:120px}
  body[data-active-view="freeanalysis"] .project-bar-inner {padding:12px 16px}
  body[data-active-view="freeanalysis"] .user-info-bar {margin-left:0}
}

.fa-setup {margin-top:24px;border-top:1px solid var(--border-color,#d2d2d7);padding-top:18px}
.fa-setup>summary {cursor:pointer;font-weight:600;padding:10px 0}
.fa-run-sources {font-size:13px;overflow-wrap:anywhere}
.fa-source-link {font:inherit;color:var(--visual-accent-deep,var(--accent-color,#0066cc));border:0;background:transparent;text-decoration:underline;padding:6px 0}
@media(max-width:760px) {body[data-active-view="freeanalysis"] .user-logout-btn {white-space:nowrap;min-width:48px}}

/* Workspace choices share the title row; the existing navigation remains intact. */
.fa-mode-switch {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:456px;max-width:100%;flex-shrink:0;margin-left:auto}
.fa-mode-card {display:block;min-width:0;padding:14px 16px;border:1px solid #cbd5e1;border-radius:12px;background:var(--card-bg,#fff);color:var(--text-primary,#172033);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box}
.fa-mode-card-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.fa-mode-card-heading strong {font-size:16px;line-height:1.4;font-weight:700}
.fa-mode-state {font-size:11px;line-height:1.4;white-space:nowrap;color:#475569}
.fa-mode-description {display:block;font-size:12px;line-height:1.7;color:#475569}
.fa-mode-card[aria-current="true"] {border-color:#315ac6;background:#eef3ff}
.fa-mode-card[aria-current="true"] .fa-mode-card-heading {color:#2446a1}
.fa-mode-card[aria-current="true"] .fa-mode-state {color:#2446a1;font-weight:600}
.fa-mode-card:hover {border-color:#315ac6;background:#f4f7ff}
.fa-mode-card:focus-visible {outline:2px solid #315ac6;outline-offset:3px}
#view-dashboard .dash-home-shell > .dash-header {align-items:center}
#view-dashboard .dash-home-shell .dash-header-left {flex:1}
.fa-header > div {min-width:0}
html[data-theme="dark"] .fa-mode-card {background:#1d2939;border-color:#56657a;color:#f1f5f9}
html[data-theme="dark"] .fa-mode-description,
html[data-theme="dark"] .fa-mode-state {color:#cbd5e1}
html[data-theme="dark"] .fa-mode-card[aria-current="true"],
html[data-theme="dark"] .fa-mode-card:hover {background:#243657;border-color:#9bb9ff}
html[data-theme="dark"] .fa-mode-card[aria-current="true"] .fa-mode-card-heading,
html[data-theme="dark"] .fa-mode-card[aria-current="true"] .fa-mode-state {color:#bfd1ff}
html[data-theme="dark"] .fa-mode-card:focus-visible {outline-color:#9bb9ff}
@media(max-width:1000px) {
  #view-dashboard .dash-home-shell > .dash-header,.fa-header {flex-direction:column;align-items:stretch;gap:20px}
  .fa-mode-switch {width:100%;margin-left:0}
}
@media(max-width:440px) {
  .fa-mode-switch {gap:8px}
  .fa-mode-card {padding:12px}
  .fa-mode-card-heading {flex-wrap:wrap;gap:4px}
  .fa-mode-card-heading strong {font-size:15px}
}

/* Visible, keyboard-accessible tool choices, grouped by the auditor's task. */
.fa-tool-picker {margin:20px 0 28px}
.fa-tool-picker-heading {display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.fa-workspace .fa-tool-picker-heading h2 {margin:0;font-size:20px}
.fa-tool-picker-heading>span {font-size:13px;color:var(--text-secondary,#475569)}
.fa-tool-categories {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.fa-tool-categories button {padding:8px 12px;min-height:40px;border:1px solid transparent;border-radius:8px;font:inherit;font-size:13px;background:transparent;color:var(--text-secondary,#475569)}
.fa-tool-categories button[aria-pressed="true"] {background:#e5edff;border-color:#b4c6ed;color:#2446a1;font-weight:600}
.fa-tool-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fa-tool-tile {display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:16px;border:1px solid var(--border-color,#cbd5e1);border-radius:12px;background:var(--card-bg,#fff);font:inherit;text-align:left;color:var(--text-primary,#172033)}
.fa-tool-tile-top {display:flex;align-items:center;justify-content:space-between;width:100%;min-height:28px;color:#315ac6}
.fa-tool-tile-top svg {width:26px;height:26px;flex-shrink:0}
.fa-tool-tile strong {font-size:14px;line-height:1.5}
.fa-tool-purpose {font-size:12px;line-height:1.6;color:var(--text-secondary,#475569)}
.fa-tool-ai-badge {font-size:11px;font-weight:600;background:#eef0ff;color:#4b3d99;padding:2px 7px;border-radius:6px}
.fa-tool-tile[aria-pressed="true"] {border-color:#315ac6;background:#eef3ff}
.fa-tool-tile[aria-pressed="true"] strong {color:#2446a1}
.fa-tool-tile:hover {border-color:#315ac6}
.fa-tool-selection {display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:16px;padding:12px 0;border-bottom:1px solid var(--border-color,#cbd5e1);font-size:13px;line-height:1.6}
.fa-tool-selection>[data-fa-ai-readiness] {color:var(--text-secondary,#475569)}
html[data-theme="dark"] .fa-tool-tile-top {color:#a9c1ff}
html[data-theme="dark"] .fa-tool-tile[aria-pressed="true"],html[data-theme="dark"] .fa-tool-categories button[aria-pressed="true"] {background:#243657;border-color:#9bb9ff;color:#bfd1ff}
html[data-theme="dark"] .fa-tool-tile[aria-pressed="true"] strong {color:#bfd1ff}
@media(max-width:1100px) {.fa-tool-grid {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px) {.fa-tool-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.fa-tool-tile {padding:12px}.fa-tool-categories {gap:4px}.fa-tool-categories button {padding:8px}}

/* Task workspace: history, working document, tools. Upload and conversation share one composer. */
#free-analysis-content {max-width:none}
body[data-active-view="freeanalysis"] .main-content {padding:18px 24px 24px}
.fa-header {margin-bottom:18px;gap:20px}
.fa-header h1 {font-size:24px;margin:0 0 5px}
.fa-header p {margin:0;font-size:13px}
.fa-header .fa-mode-switch {width:400px}
.fa-header .fa-mode-card {padding:10px 12px}
.fa-header .fa-mode-card-heading {margin-bottom:0}
.fa-layout {grid-template-columns:176px minmax(340px,1fr) 258px;gap:0;border:1px solid var(--border-color,#cbd5e1);border-radius:12px;background:var(--card-bg,#fff);height:calc(100dvh - 238px);min-height:580px;overflow:hidden}
.fa-layout aside {padding:16px;border:0;min-width:0;overflow:auto;background:var(--bg-secondary,#f6f8fb)}
.fa-layout .fa-sidebar {border-right:1px solid var(--border-color,#cbd5e1)}
.fa-layout .fa-tools-sidebar {border-left:1px solid var(--border-color,#cbd5e1)}
.fa-sidebar>.btn {width:100%;min-height:42px}
.fa-sidebar input {width:100%;min-width:0;margin-top:16px;padding:9px;border:1px solid var(--border-color,#cbd5e1);border-radius:7px;background:var(--card-bg,#fff);color:inherit;box-sizing:border-box}
.fa-list-heading {display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:12px}
.fa-tasks {margin:8px 0}
.fa-tasks button {font-size:13px;line-height:1.6;border-bottom:0;border-radius:6px;margin-bottom:4px}
.fa-tasks small {font-size:11px;margin-top:4px}
.fa-workspace {display:flex;flex-direction:column;min-height:0;overflow:hidden}
.fa-task-heading {padding:16px 20px 8px;align-items:center;flex-wrap:nowrap}
.fa-task-heading label {min-width:0;font-size:11px;color:var(--text-secondary,#475569);gap:4px}
.fa-task-heading input {font-size:16px;font-weight:600;padding:4px 6px;min-height:34px;border-color:transparent}
.fa-task-heading input:hover,.fa-task-heading input:focus {border-color:var(--border-color,#cbd5e1)}
.fa-task-heading .btn {padding:8px 10px;white-space:nowrap;min-height:36px;font-size:12px}
.fa-context-bar {padding:0 20px;display:flex;gap:12px;align-items:center;font-size:12px}
.fa-context-bar label {flex:1;min-width:0;margin:6px 0;font-size:12px;flex-direction:row;align-items:center;white-space:nowrap}
.fa-context-bar select {min-width:0;font-size:12px;padding:6px;min-height:34px}
.fa-context-bar>span {white-space:nowrap}
.fa-work-tabs {display:flex;gap:16px;padding:0 20px;border-bottom:1px solid var(--border-color,#cbd5e1)}
.fa-work-tabs button {font:inherit;font-size:13px;padding:12px 0;background:none;border:0;border-bottom:2px solid transparent;color:var(--text-secondary,#475569);white-space:nowrap}
.fa-work-tabs button[aria-pressed="true"] {color:#2446a1;border-bottom-color:#315ac6;font-weight:600}
.fa-operation {flex:1;min-height:120px;overflow:auto;padding:16px 20px;scrollbar-gutter:stable}
.fa-operation [hidden] {display:none!important}
.fa-operation h2 {margin:0 0 12px;font-size:18px}
.fa-operation h3 {font-size:16px;line-height:1.7}
.fa-operation .fa-setup {margin:0;padding:0;border:0}
.fa-empty {display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:210px;padding:24px 12px;flex:1}
.fa-empty>svg {width:36px;height:36px;margin-bottom:20px;color:#64748b}
.fa-empty h2 {margin:0 0 12px;font-size:20px}
.fa-empty p {max-width:44ch;line-height:1.8;font-size:13px;margin:4px 0}
.fa-empty>.btn {margin-top:20px}
.fa-preview-heading {display:flex;justify-content:space-between;gap:12px;align-items:center}
.fa-preview-heading h2 {overflow-wrap:anywhere;font-size:15px}
.fa-preview-heading .btn {font-size:12px;padding:6px 8px;white-space:nowrap}
.fa-material-text {white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.8}
.fa-table-scroll {max-width:100%;overflow:auto}
.fa-table-scroll table {border-collapse:collapse;min-width:100%;font-size:12px;font-variant-numeric:tabular-nums}
.fa-table-scroll th,.fa-table-scroll td {padding:9px 12px;border-bottom:1px solid var(--border-color,#dbe2eb);text-align:left;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.fa-table-scroll th {background:var(--bg-secondary,#f6f8fb)}
.fa-tools-sidebar .fa-tool-picker {margin:0}
.fa-tools-sidebar .fa-tool-picker-heading {gap:4px;margin-bottom:12px}
.fa-tools-sidebar h2 {font-size:14px;margin:0}
.fa-tools-sidebar .fa-tool-picker-heading>span {font-size:11px}
.fa-tools-sidebar .fa-tool-categories {gap:4px;margin-bottom:12px}
.fa-tools-sidebar .fa-tool-categories button {padding:5px 7px;font-size:11px;min-height:30px}
.fa-tools-sidebar .fa-tool-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.fa-tools-sidebar .fa-tool-tile {padding:10px 8px;gap:5px;border-radius:8px;min-height:77px;justify-content:center}
.fa-tools-sidebar .fa-tool-tile strong {font-size:12px;line-height:1.45}
.fa-tools-sidebar .fa-tool-tile-top {min-height:21px}
.fa-tools-sidebar .fa-tool-tile-top svg {width:21px;height:21px}
.fa-tools-sidebar .fa-tool-purpose {display:none}
.fa-tool-selection {font-size:12px}
.fa-state {padding-top:18px;font-size:12px;line-height:1.6}
.fa-state h2 {margin-bottom:10px}
.fa-state p {margin:6px 0}
.fa-chat {flex-shrink:0;border-top:1px solid var(--border-color,#cbd5e1);padding:12px 20px;background:var(--card-bg,#fff)}
.fa-chat-heading {display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}
#fa-chat-status {font-size:11px}
.fa-chat textarea {min-height:60px;resize:vertical;max-height:150px;font-size:13px;line-height:1.6;margin:0}
.fa-composer-actions {display:flex;align-items:center;gap:8px;margin-top:8px}
.fa-composer-actions>.btn:last-child {margin-left:auto;font-size:12px;min-height:34px;padding:7px 14px}
.fa-composer-actions>span {font-size:11px}
.fa-workspace .fa-upload {position:relative;display:flex;flex-direction:row;align-items:center;gap:6px;margin:0;padding:7px 10px;min-height:34px;font-size:12px;cursor:pointer;overflow:hidden}
.fa-upload svg {width:16px;height:16px}
.fa-upload input {position:absolute;inset:0;opacity:0;cursor:pointer;padding:0;min-height:0}
.fa-upload:focus-within {outline:2px solid #315ac6;outline-offset:2px}
.fa-chat-scope {margin-top:8px;font-size:11px;max-height:160px;overflow:auto;line-height:1.6}
.fa-chat-scope summary,.fa-chat-history summary {cursor:pointer;overflow-wrap:anywhere}
.fa-chat-scope label {font-size:12px;margin:8px 0}
.fa-chat-scope select {font-size:12px;min-height:34px;padding:6px}
.fa-chat-history {font-size:12px;margin-bottom:8px}
.fa-chat-messages {max-height:180px;overflow:auto}
.fa-chat-messages article {padding:8px 0;border-bottom:1px solid var(--border-color,#cbd5e1);line-height:1.7;overflow-wrap:anywhere}
.fa-chat-messages small {display:block;font-size:11px}
.fa-chat-question {color:#2446a1}
.fa-last-reply {white-space:pre-wrap;max-height:160px;overflow:auto;font-size:12px;line-height:1.7;margin:0 0 8px}
.fa-sr-only {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.fa-sheet-choice {padding:12px;background:var(--bg-secondary,#f6f8fb);margin-bottom:16px;font-size:12px}
html[data-theme="dark"] .fa-work-tabs button[aria-pressed="true"],html[data-theme="dark"] .fa-chat-question {color:#bfd1ff}
@media(max-width:1100px) {
  .fa-layout {grid-template-columns:144px minmax(300px,1fr) 224px}
  body[data-active-view="freeanalysis"] .main-content {padding:12px}
  .fa-layout aside {padding:12px}
  .fa-header {flex-direction:row;align-items:center}
  .fa-header .fa-mode-switch {width:350px}
  .fa-header .fa-mode-description {font-size:11px}
  .fa-operation,.fa-chat {padding:12px}
}
@media(max-width:860px) {
  .fa-layout {grid-template-columns:minmax(0,1fr) 224px;height:auto;min-height:640px;overflow:visible}
  .fa-layout .fa-sidebar {grid-column:1/-1;border-right:0;border-bottom:1px solid var(--border-color,#cbd5e1);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
  .fa-sidebar>.btn {width:auto}
  .fa-sidebar input {width:180px;margin:0}
  .fa-list-heading {margin:0}
  .fa-tasks {flex-basis:100%;display:flex;gap:8px;max-height:110px;overflow:auto;margin:0}
  .fa-tasks li {min-width:140px;max-width:200px}
  .fa-workspace {min-height:640px}
  .fa-operation {min-height:260px;max-height:500px}
}
@media(max-width:600px) {
  .fa-header {flex-direction:column;align-items:stretch;gap:12px}
  .fa-header .fa-mode-switch {width:100%}
  .fa-layout {display:flex;flex-direction:column;border-radius:8px}
  .fa-layout .fa-tools-sidebar {order:1;border-left:0;border-bottom:1px solid var(--border-color,#cbd5e1)}
  .fa-layout .fa-sidebar {order:0}
  .fa-workspace {order:2;min-height:640px}
  .fa-tools-sidebar .fa-tool-grid {grid-template-columns:repeat(2,minmax(0,1fr));max-height:185px;overflow:auto}
  .fa-tools-sidebar .fa-tool-tile {min-height:66px}
  .fa-tools-sidebar .fa-state {padding-top:6px}
  .fa-tools-sidebar .fa-state h2,.fa-tools-sidebar .fa-state>p:not(#fa-status) {display:none}
  .fa-tools-sidebar .fa-tool-selection {margin:8px 0 0;padding:6px 0}
  .fa-task-heading {padding:12px;flex-wrap:wrap}
  .fa-task-heading label {flex-basis:100%}
  .fa-task-heading button {min-width:72px;flex:0 0 auto}
  .fa-context-bar {padding:0 12px}
  .fa-context-bar>span {display:none}
  .fa-work-tabs {padding:0 12px;gap:18px;overflow:auto}
  .fa-chat-heading {align-items:start;flex-direction:column;gap:3px}
  .fa-composer-actions>span {max-width:90px}
  .fa-fields {grid-template-columns:1fr}
  .fa-chat {position:sticky;bottom:0}
}
@media(min-width:861px) {
  .fa-layout .fa-tools-sidebar {display:flex;flex-direction:column;overflow:hidden}
  .fa-tools-sidebar .fa-tool-picker {display:flex;flex-direction:column;min-height:0;flex:1}
  .fa-tools-sidebar .fa-tool-grid {min-height:0;overflow:auto;align-content:start;scrollbar-gutter:stable}
  .fa-tools-sidebar .fa-tool-selection {flex-shrink:0}
  .fa-tools-sidebar .fa-state {flex-shrink:0;padding-top:8px}
}
#free-analysis-content .fa-tools-sidebar h2 {font-size:15px;line-height:1.5}
#free-analysis-content .fa-empty h2 {font-size:20px;line-height:1.5}
#view-freeanalysis .fa-tools-sidebar h2 {font-size:15px!important;line-height:1.5!important}
#view-freeanalysis .fa-results {border:0;margin-top:10px;padding-top:0}
#view-freeanalysis .fa-results p {margin:6px 0;font-size:13px}
#view-freeanalysis .fa-results h3 {margin:12px 0 8px;font-size:17px}
#view-freeanalysis .fa-results li {padding:10px 0}

/* Context belongs beside the selected material; the composer stays focused on input. */
.fa-workspace>.fa-chat-scope {margin:0 20px 6px;padding:7px 0;border-bottom:1px solid var(--border-color,#dbe2eb);font-size:12px;flex-shrink:0;max-height:180px}
.fa-workspace>.fa-chat-scope summary {color:var(--text-secondary,#475569);line-height:1.6}
.fa-workspace>.fa-chat-scope[open] {padding:8px 12px;background:var(--bg-secondary,#f6f8fb);border-radius:8px}
.fa-tool-picker>input {font:inherit;font-size:12px;width:100%;box-sizing:border-box;border:1px solid var(--border-color,#cbd5e1);background:var(--card-bg,#fff);color:inherit;border-radius:7px;padding:9px 10px;margin:0 0 12px;min-height:36px}
.fa-tool-groups {min-height:0;overflow:auto;flex:1;scrollbar-gutter:stable}
.fa-tool-group {margin-bottom:18px}
#view-freeanalysis .fa-tool-group h3 {font-size:12px;font-weight:600;line-height:1.5;margin:0 0 8px;color:var(--text-secondary,#475569);display:flex;justify-content:space-between}
.fa-tool-group h3 span {font-weight:400;font-variant-numeric:tabular-nums}
.fa-tools-sidebar .fa-tool-group .fa-tool-grid {overflow:visible;max-height:none;gap:6px;scrollbar-gutter:auto}
.fa-tools-sidebar .fa-tool-tile {position:relative;min-height:68px;align-items:center;justify-content:center;gap:6px;padding:10px 4px;text-align:center}
.fa-tools-sidebar .fa-tool-tile>svg {width:21px;height:21px;color:#315ac6;flex-shrink:0}
.fa-tools-sidebar .fa-tool-tile strong {font-size:12px;line-height:1.4}
.fa-tools-sidebar .fa-tool-ai-badge {position:absolute;top:4px;right:4px;font-size:9px;padding:1px 3px}
.fa-tool-group[hidden],.fa-tool-tile[hidden],#fa-no-tools[hidden] {display:none!important}
.fa-result-toolbar {display:flex;align-items:center;gap:12px;margin-bottom:16px}
.fa-result-toolbar label {flex:1;margin:0;font-size:12px;flex-direction:row;align-items:center;white-space:nowrap}
.fa-result-toolbar select {min-width:0;font-size:12px;min-height:34px;padding:6px}
.fa-result-toolbar>.fa-source-link {font-size:12px;white-space:nowrap;text-decoration:none}
#view-freeanalysis .fa-result-summary h3 {font-size:20px;line-height:1.45;margin:0 0 8px}
#view-freeanalysis .fa-result-summary p {color:var(--text-secondary,#475569);font-size:13px;line-height:1.7;margin:0;max-width:72ch}
.fa-result-section,.fa-result-notes {margin:22px 0}
#view-freeanalysis .fa-results h4 {font-size:14px;line-height:1.6;margin:0 0 8px;font-weight:600}
.fa-result-section h4 span {font-weight:400;color:var(--text-secondary,#475569);font-size:12px;margin-left:8px}
.fa-result-table {max-width:100%;overflow:auto;border:1px solid var(--border-color,#dbe2eb);border-radius:8px}
.fa-result-table table {border-collapse:collapse;width:100%;font-size:12px;line-height:1.7;font-variant-numeric:tabular-nums}
.fa-result-table th,.fa-result-table td {padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border-color,#e2e8f0);min-width:90px;overflow-wrap:anywhere;white-space:normal}
.fa-result-table th {background:var(--bg-secondary,#f4f6fa);color:var(--text-secondary,#475569);font-weight:600}
.fa-result-table tr:last-child td {border-bottom:0}
.fa-result-table tr:hover td {background:var(--bg-secondary,#f6f8fb)}
#view-freeanalysis .fa-result-notes li {padding:3px 0;border:0;font-size:12px;line-height:1.7;color:var(--text-secondary,#475569)}
#view-freeanalysis .fa-result-notes ul {list-style:disc;padding-left:18px;margin:6px 0}
.fa-result-empty {padding:10px 12px;background:var(--bg-secondary,#f6f8fb);border-radius:6px;color:var(--text-secondary,#475569)}
.fa-result-detail {font-size:12px;border-top:1px solid var(--border-color,#dbe2eb);margin-top:18px}
.fa-result-detail summary {font-weight:500}
.fa-result-provenance {margin-top:24px;padding-top:12px;border-top:1px solid var(--border-color,#dbe2eb);font-size:12px}
.fa-observations article {padding:18px 0;border-bottom:1px solid var(--border-color,#dbe2eb)}
.fa-observations details {font-size:12px;color:var(--text-secondary,#475569)}
.fa-observations blockquote {margin:8px 0;padding:12px;background:var(--bg-secondary,#f6f8fb);line-height:1.8;border:0}
.fa-document-page {margin:20px 0}
html[data-theme="dark"] .fa-tools-sidebar .fa-tool-tile>svg {color:#bfd1ff}
@media(max-width:1100px) {.fa-workspace>.fa-chat-scope {margin-left:12px;margin-right:12px}}
@media(max-width:600px) {
  .fa-tools-sidebar .fa-tool-groups {max-height:210px}
  .fa-tools-sidebar .fa-tool-group .fa-tool-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .fa-result-toolbar {align-items:stretch;flex-direction:column;gap:4px}
  .fa-result-toolbar>.fa-source-link {align-self:flex-start}
  .fa-workspace>.fa-chat-scope {max-height:150px}
  .fa-result-table th,.fa-result-table td {padding:8px;font-size:12px;min-width:80px}
}
#view-freeanalysis .fa-tool-group h3,#view-freeanalysis .fa-tool-group h3 span {font-size:12px!important;line-height:1.5!important}
@media(max-width:600px) {.fa-result-table table:has(th:nth-child(4)) {min-width:560px}}

/* All assistant replies share one place above the message input. */
.fa-assistant-answer{min-height:64px;max-height:200px;overflow:auto;margin:0 0 10px;font-size:12px;line-height:1.7}.fa-assistant-answer .fa-last-reply{max-height:none;overflow:visible}.fa-recommendation{margin:0;padding:0;display:flex;gap:16px;align-items:flex-start}
.fa-recommendation>div:first-child{flex:1;min-width:0}.fa-recommendation p{margin:6px 0;overflow-wrap:anywhere}.fa-recommendation-actions{display:flex;flex-wrap:wrap;gap:8px}.fa-context-bar{flex-wrap:wrap}.fa-context-bar>button{white-space:nowrap}
@media(max-width:700px){.fa-recommendation{flex-direction:column}.fa-recommendation-actions{width:100%}}

/* Material actions belong to task context; assistant shortcuts address the actual work. */
.fa-material-actions{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color,#cbd5e1);width:100%;box-sizing:border-box}
#free-analysis-content .fa-material-actions h2{font-size:13px!important;margin:0 0 8px}.fa-material-name{font-size:12px;overflow-wrap:anywhere;line-height:1.6;margin:0 0 10px}
.fa-material-actions>div{display:flex;flex-wrap:wrap;gap:8px}.fa-material-actions .btn{font-size:12px;padding:7px 8px;min-height:34px}.fa-material-actions .fa-remove{color:#a33131}
.fa-deleted-materials{font-size:12px;overflow-wrap:anywhere;margin-top:12px}.fa-deleted-materials summary{cursor:pointer;padding:6px 0}
.fa-chat-shortcuts{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 4px}.fa-chat-shortcuts button{border:0;background:none;color:var(--accent-color,#315ac6);font:inherit;font-size:12px;padding:4px 0;min-height:28px}
/* The border signals an unacknowledged suggestion without adding a badge. */
.fa-tool-tile[data-recommended="true"]{--fa-suggestion-border:#315ac6;--fa-suggestion-muted:#9bafd9;border:2px dashed var(--fa-suggestion-border);outline:none}
.fa-tool-attention{animation:fa-tool-attention 1.6s ease-in-out infinite}
@keyframes fa-tool-attention{0%,100%{border-color:var(--fa-suggestion-border)}50%{border-color:var(--fa-suggestion-muted)}}
@media(prefers-reduced-motion:reduce){.fa-tool-attention{animation:none}}
html[data-theme="dark"] .fa-tool-tile[data-recommended="true"]{--fa-suggestion-border:#b7cbff;--fa-suggestion-muted:#6c83b5}

/* A compact composer at the bottom, with replies that fold away independently. */
.fa-chat{margin-top:auto}
.fa-chat-heading-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.fa-chat-heading-actions button{display:flex;align-items:center;gap:4px;font-size:12px;min-height:28px}
.fa-chat-heading-actions svg{width:14px;height:14px}
.fa-chat-output[hidden]{display:none!important}
.fa-composer-input{position:relative}
.fa-chat .fa-composer-input textarea{display:block;width:100%;box-sizing:border-box;min-height:96px;padding:10px 12px 40px}
.fa-workspace .fa-composer-input .fa-upload{position:absolute;left:7px;bottom:6px;width:30px;height:30px;min-height:30px;padding:0;justify-content:center;border-radius:6px;color:var(--accent-color,#315ac6)}
.fa-composer-input .fa-upload:hover{background:var(--bg-secondary,#edf3ff)}
.fa-composer-input .fa-upload svg{width:20px;height:20px}
.fa-upload-hint{position:absolute;left:44px;bottom:13px;font-size:11px;color:var(--text-secondary,#475569);pointer-events:none}
.fa-composer-actions{align-items:center;justify-content:space-between;gap:8px}
.fa-composer-actions .fa-chat-shortcuts{margin:0;gap:12px;min-width:0}
.fa-composer-actions>.btn:last-child{flex-shrink:0}
@media(max-width:700px){.fa-chat-heading{flex-direction:row;align-items:center}.fa-chat-heading-actions{gap:8px}.fa-composer-actions .fa-chat-shortcuts{gap:8px}.fa-composer-actions>.btn:last-child{padding:7px 10px}}

.fa-delete-turn{margin:4px 0 4px 12px;font-size:12px;color:var(--text-secondary,#475569)}
.fa-chat-messages .fa-delete-turn{margin-left:0}

/* Keep task controls and canvas storage feedback readable without narrowing the drawing. */
.fa-layout--canvas .fa-material-actions,
.fa-layout--canvas .fa-canvas-intro {display:none}
.fa-layout--canvas .fa-task-heading {display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:6px 10px}
.fa-layout--canvas .fa-task-heading #fa-status {grid-column:1/-1;min-height:0;font-size:12px;line-height:1.5;overflow-wrap:break-word}
.fa-layout--canvas .fa-task-heading label {min-width:0}
.fa-layout--canvas .fa-task-heading .btn {min-width:0}
@media(max-width:860px) {
  .fa-layout--canvas .fa-sidebar {padding:10px 12px}
  .fa-layout--canvas .fa-tasks {max-height:72px}
  .fa-layout--canvas .fa-tasks button {padding:7px 8px}
  .fa-layout--canvas .fa-tasks small {margin-top:2px}
  .fa-layout--canvas .fa-task-heading {padding:10px 12px 6px}
  .fa-layout--canvas .fa-canvas-intro {padding:8px 12px}
}
@media(max-width:600px) {
  .fa-layout--canvas .fa-task-heading {grid-template-columns:repeat(2,minmax(0,1fr))}
  .fa-layout--canvas .fa-task-heading label {grid-column:1/-1}
  .fa-layout--canvas .fa-task-heading .btn {width:100%}
}

.fa-canvas-adoption-dialog [hidden] {display:none!important}

/* Professional checks keep mappings secondary to the decision. */
.fa-fields .fa-wide,.fa-fields .fa-professional-mapping {grid-column:1/-1;min-width:0}
.fa-professional-mapping {padding:12px 0;margin:4px 0;border-top:1px solid var(--border-color,#dbe2eb)}
.fa-professional-mapping summary {font-size:13px;cursor:pointer;color:var(--primary-color,#2454ce)}
.fa-professional-mapping h4 {font-size:13px;margin:18px 0 8px;overflow-wrap:anywhere}
.fa-professional-mapping .fa-fields {margin:12px 0}

.fa-layout.fa-layout--professional {height:auto;min-height:760px}
.fa-layout--professional .fa-operation {min-height:360px;max-height:720px;flex:1 1 auto}
.fa-layout--professional .fa-chat {position:static}
@media(max-width:700px){.fa-layout--professional .fa-operation {max-height:none;overflow:visible}.fa-layout--professional .fa-workspace {overflow:visible}}
