:root {
  --ink:#182130; --muted:#727b89; --line:#dce1e7; --soft:#f5f7f9;
  --navy:#18365d; --blue:#285fd4; --green:#187554; --red:#c92d3b; --amber:#a96309;
  --text-caption:12px; --text-body:14px; --text-control:13px; --text-section:18px;
  font-family:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  color:var(--ink); background:#edf0f3;
}
* { box-sizing:border-box; }
html,body { height:100%; }
body { min-width:1280px; margin:0; overflow:hidden; font-size:var(--text-body); line-height:1.5; }
button,textarea { font:inherit; }
button { cursor:pointer; }
.start-screen { position:fixed; inset:0; z-index:90; display:flex; flex-direction:column; background:#fff; }
.start-screen[hidden] { display:none; }
.start-screen>header { height:58px; display:flex; align-items:center; gap:10px; border-bottom:1px solid #e1e5ea; padding:0 20px; }
.start-screen>header strong { color:var(--navy); font-size:22px; letter-spacing:-.04em; }
.start-screen>header span { border-left:1px solid var(--line); padding-left:10px; color:var(--muted); font-size:14px; font-weight:700; }
.start-screen>div { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding-bottom:7vh; text-align:center; }
.start-screen h1 { margin:0; color:#182433; font-size:34px; letter-spacing:-.045em; }
.start-screen p { margin:13px 0 28px; color:#768190; font-size:14px; }
.start-folder-button { min-width:180px; height:48px; border:0; border-radius:10px; background:var(--blue); color:#fff; font-size:15px; font-weight:850; }
.start-folder-button:hover { background:#2054c2; }
.analysis-overlay { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:40px; background:#f3f5f7; }
.analysis-overlay[hidden] { display:none; }
.analysis-panel { width:min(680px,100%); overflow:hidden; border:1px solid #d9dee5; border-radius:14px; background:#fff; box-shadow:0 18px 50px rgba(29,42,60,.09); }
.analysis-panel>header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:26px 28px 20px; }
.analysis-panel strong,.analysis-panel p { display:block; }
.analysis-panel strong { font-size:21px; }
.analysis-panel p { margin:7px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.analysis-panel>header>b { flex:none; color:#40516a; font-size:14px; }
.analysis-progress { height:4px; margin:0 28px 18px; overflow:hidden; border-radius:4px; background:#e8ecf1; }
.analysis-progress i { display:block; width:0; height:100%; border-radius:4px; background:var(--blue); transition:width .25s ease; }
.analysis-file-list { max-height:390px; overflow:auto; border-top:1px solid #e6e9ed; padding:8px 0; }
.analysis-file-row { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:46px; padding:7px 28px; }
.analysis-file-row .state { width:18px; height:18px; display:grid; place-items:center; border:1px solid #d4dae2; border-radius:50%; color:#8290a1; font-size:12px; font-weight:900; }
.analysis-file-row .name { overflow:hidden; color:#334054; font-size:13px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.analysis-file-row small { color:#8a94a1; font-size:12px; }
.analysis-file-row.current { background:#f5f8ff; }
.analysis-file-row.current .state { border:0; }
.analysis-file-row.complete .state { border-color:#9bcbb8; background:#eaf7f1; color:var(--green); }
.analysis-file-row.waiting { opacity:.65; }
.spinner { display:inline-block; width:28px; height:28px; border:3px solid #dce5f4; border-top-color:var(--blue); border-radius:50%; animation:spin .8s linear infinite; }
.analysis-file-row .spinner { width:18px; height:18px; border-width:2px; }
@keyframes spin { to { transform:rotate(360deg); } }
.primary,.secondary { min-height:40px; border-radius:6px; padding:0 15px; font-size:13px; font-weight:800; }
.primary { border:1px solid var(--blue); background:var(--blue); color:#fff; }
.secondary { border:1px solid #cfd6df; background:#fff; color:#4b5665; }
.small { min-height:36px; font-size:12px; }

.topbar { height:64px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid #d7dce2; padding:0 20px; background:#fff; }
.brand { display:flex; align-items:center; gap:10px; }
.brand strong { color:var(--navy); font-size:22px; letter-spacing:-.04em; }
.brand span { border-left:1px solid var(--line); padding-left:10px; color:var(--muted); font-size:14px; font-weight:700; }
.deal-title { display:flex; align-items:baseline; gap:9px; }
.deal-title b { font-size:15px; }
.deal-title span { color:var(--muted); font-size:12px; }
.topbar>.primary { justify-self:end; }
.topbar-actions { justify-self:end; display:flex; align-items:center; gap:7px; }
.workspace-save,.workspace-new { min-height:38px; border:1px solid #cbd3dd; border-radius:6px; padding:0 14px; background:#fff; color:#354255; font-size:12px; font-weight:800; }
.workspace-new { border-color:#2f65c8; background:#2f65c8; color:#fff; }
.workspace-save:hover { border-color:#8fa8d4; color:var(--blue); }

.workspace { height:calc(100vh - 64px); display:grid; grid-template-columns:minmax(670px,1fr) 292px; }
.explorer,.viewer { min-width:0; min-height:0; background:#fff; }
.viewer { grid-column:1; grid-row:1; }
.explorer { grid-column:2; grid-row:1; border-left:1px solid #cfd5dc; }

.explorer { display:flex; flex-direction:column; background:#f7f8fa; }
.explorer nav { flex:1; overflow:auto; padding:8px 0; }
.tree-label { display:flex; align-items:center; justify-content:space-between; padding:9px 13px 6px; color:#8a929e; font-size:12px; font-weight:900; letter-spacing:.02em; }
.tree-label b { font-weight:800; }
.source-label { margin-top:6px; border-top:1px solid #e4e7eb; padding-top:14px; }
.source-label button { border:0; padding:0; background:transparent; color:var(--blue); font-size:12px; font-weight:900; }
#sourceTree { display:contents; }
.tree-item { width:100%; min-height:58px; display:grid; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:10px; border:0; border-left:3px solid transparent; padding:10px 12px; background:transparent; color:#354050; text-align:left; }
.tree-item:hover { background:#eef1f5; }
.tree-item.active { border-left-color:var(--blue); background:#e9effc; }
.tree-item.report-link { margin:0 8px 6px; width:calc(100% - 16px); border:1px solid #cbd6e8; border-radius:7px; background:#fff; }
.tree-item.report-link.active { border-color:#9fb6e9; background:#edf3ff; }
.tree-item strong,.tree-item small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tree-item strong { font-size:12px; }
.tree-item small { margin-top:3px; color:#8a929d; font-size:11px; }
.item-mark,.file-mark { min-width:42px; height:32px; display:grid; place-items:center; border:1px solid #c8d0da; border-radius:4px; padding:0 5px; background:#fff; font-size:10px; font-weight:950; }
.item-mark.report { border-color:#91aee8; color:var(--blue); }
.item-mark.data { border-color:#8dc7ac; color:var(--green); }
.item-mark.risk { border-color:#e4bc82; color:var(--amber); }
.item-mark.audit { border-color:#aeb8c6; color:#5b6675; }
.file-mark.pdf { color:#a43442; }.file-mark.csv { color:var(--green); }

.viewer { display:flex; flex-direction:column; background:#e8ebee; }
.viewer-header { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); padding:11px 18px; background:#fff; }
.viewer-header>div:first-child { min-width:0; }
.viewer-header span { color:var(--muted); font-size:12px; font-weight:800; }
.viewer-header h1 { margin:4px 0 0; overflow:hidden; font-size:18px; text-overflow:ellipsis; white-space:nowrap; }
.viewer-actions { flex:none; display:flex; align-items:center; gap:6px; }
.viewer-actions>span { min-width:42px; text-align:center; }
.quiet-status { border-radius:12px; padding:5px 9px; background:#eaf6f0; color:var(--green)!important; }
.viewer-canvas { flex:1; overflow:auto; padding:24px 25px 65px; }
.viewer-footer { min-height:48px; display:flex; align-items:center; border-top:1px solid #d4d9df; padding:0 18px; background:#fff; color:var(--muted); font-size:12px; }

.workflow-page { width:min(100%,1000px); margin:0 auto; }
.intake-folder { display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid #ced6df; border-radius:10px 10px 0 0; padding:18px 20px; background:#fff; }
.intake-folder span { color:#75808d; font-size:12px; font-weight:800; }.intake-folder h3 { margin:5px 0 3px; font-size:18px; }.intake-folder p { margin:0; color:#7b8591; font-size:12px; }
.intake-files { overflow:hidden; border:1px solid #ced6df; border-top:0; border-radius:0 0 10px 10px; background:#fff; }
.intake-files table { width:100%; border-collapse:collapse; font-size:12px; }.intake-files th,.intake-files td { border-bottom:1px solid #e0e4e9; padding:11px 14px; text-align:left; }.intake-files tr:last-child td { border-bottom:0; }.intake-files th { background:#f1f3f6; color:#637080; font-size:12px; }.intake-files th:last-child,.intake-files td:last-child { width:90px; text-align:center; }
.intake-files button { border:0; padding:0; background:transparent; color:#314054; font-size:12px; text-align:left; }
.workflow-next { display:flex; justify-content:flex-end; margin-top:13px; }.workflow-next .primary { min-width:150px; }.primary:disabled { border-color:#cdd3dc; background:#cdd3dc; cursor:not-allowed; }
.validation-workbench { display:grid; grid-template-columns:340px minmax(0,1fr); align-items:start; gap:14px; }
.validation-fields { overflow:hidden; border:1px solid #cbd3dc; border-radius:10px; background:#fff; }
.validation-fields>header { height:48px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #dce1e7; padding:0 14px; }.validation-fields>header strong { font-size:14px; }.validation-fields>header span { color:#77828f; font-size:12px; }
.field-list { max-height:650px; overflow:auto; }
.field-row { width:100%; display:block; border:0; border-bottom:1px solid #e2e6eb; padding:11px 13px; background:#fff; text-align:left; }
button.field-row { display:flex; align-items:center; justify-content:space-between; gap:14px; }.field-row>span { color:#657181; font-size:12px; }.field-row>strong { color:#263346; font-size:13px; }
.field-row.active { box-shadow:inset 3px 0 0 #2e63c1; background:#f3f7fd; }
.conflict-field { padding:12px 13px 14px; }.conflict-field>label { display:block; margin-bottom:7px; color:#364459; font-size:12px; font-weight:900; }
.field-input { display:flex; align-items:center; overflow:hidden; border:1px solid #d54b57; border-radius:5px; background:#fff; }.field-input input { width:100%; height:34px; border:0; padding:0 9px; color:#273548; font-size:14px; font-weight:900; outline:none; }.field-input span { padding-right:9px; color:#6f7a87; font-size:12px; }
.field-error,.field-confirmed { margin:5px 0 0; font-size:12px; font-weight:800; }.field-error { color:#b32835; }.field-confirmed { color:#267256; }.conflict-field:has(.field-confirmed) .field-input { border-color:#5b9b7e; }
.field-suggestions { display:grid; gap:5px; margin-top:9px; }.field-suggestions button { display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid #d8dde4; border-radius:5px; padding:8px 9px; background:#fff; text-align:left; }.field-suggestions button:hover { border-color:#86a5dd; background:#f5f8ff; }.field-suggestions span { color:#667383; font-size:12px; }.field-suggestions strong { color:#26364d; font-size:12px; }
.validation-fields>footer { display:grid; grid-template-columns:1fr 1fr; gap:7px; border-top:1px solid #dce1e7; padding:10px; background:#f6f7f9; }.validation-fields>footer button { min-height:31px; font-size:12px; }
.conflict-document { overflow:hidden; border:1px solid #cbd3dc; border-radius:10px; background:#dfe3e7; }
.conflict-document>header { height:48px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #ccd3db; padding:0 13px; background:#fff; }.conflict-document>header div { display:flex; align-items:baseline; gap:8px; }.conflict-document>header strong { font-size:13px; }.conflict-document>header span { color:#77828f; font-size:12px; }
.conflict-document-canvas { max-height:720px; overflow:auto; padding:16px; }
.conflict-document-canvas .source-paper { width:100%; min-height:680px; padding:38px 34px 60px; box-shadow:0 5px 18px rgba(23,30,40,.12); }
.conflict-document-canvas .sheet { min-height:680px; }
.original-pdf { width:100%; height:720px; overflow:hidden; border-radius:3px; background:#555; box-shadow:0 5px 18px rgba(23,30,40,.12); }
.original-pdf iframe, .original-pdf object { display:block; width:100%; height:100%; border:0; background:#555; }
.conflict-choice-bar { display:grid; gap:6px; border-top:1px solid #ccd3db; padding:12px; background:#fff; }
.conflict-choice-bar button { min-height:42px; }
.validation-continue { display:flex; justify-content:flex-end; margin-top:12px; }.validation-continue .primary { min-width:150px; }

.pre-review { width:min(100%,1000px); margin:0 auto; }
.review-hero { display:grid; grid-template-columns:minmax(0,1fr) 210px; overflow:hidden; border:1px solid #d5dbe3; border-radius:10px; background:#fff; box-shadow:0 5px 18px rgba(31,42,58,.06); }
.review-request { padding:22px 24px; }
.review-request span,.section-heading span,.issue-result span,.issue-response>span { color:#778291; font-size:12px; font-weight:900; }
.review-request h2 { margin:7px 0 6px; font-size:21px; letter-spacing:-.035em; }
.review-request p { margin:0; color:#667181; font-size:12px; }
.ai-opinion { display:flex; flex-direction:column; justify-content:center; border-left:1px solid #cad7ee; padding:20px; background:#eff4fd; }
.ai-opinion span { color:var(--blue); font-size:12px; font-weight:900; }
.ai-opinion strong { margin:8px 0 5px; color:#183b77; font-size:18px; }
.ai-opinion small { color:#6b7890; font-size:12px; }
.thesis-summary,.review-section { margin-top:14px; border:1px solid #d7dde5; border-radius:10px; padding:19px 20px; background:#fff; box-shadow:0 3px 13px rgba(31,42,58,.045); }
.section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.section-heading h2 { margin:5px 0 0; font-size:18px; letter-spacing:-.025em; }
.section-heading>strong { border-radius:12px; padding:5px 8px; background:#f0f3f7; color:#5d6877; font-size:12px; white-space:nowrap; }
.thesis-metrics { display:grid; grid-template-columns:repeat(4,1fr); margin-top:16px; border:1px solid #d8dde4; border-radius:7px; }
.thesis-metrics button { min-width:0; border:0; border-right:1px solid #dfe3e8; padding:13px 14px; background:#fff; text-align:left; }
.thesis-metrics button:last-child { border-right:0; }
.thesis-metrics button:hover { background:#f5f8fe; }
.thesis-metrics span,.thesis-metrics strong,.thesis-metrics small { display:block; }
.thesis-metrics span { color:#77818e; font-size:11px; font-weight:800; }
.thesis-metrics strong { margin:5px 0 4px; color:#1c2a3c; font-size:18px; }
.thesis-metrics small { overflow:hidden; color:#8a929d; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.ai-challenge { display:grid; grid-template-columns:67px minmax(0,1fr); align-items:start; gap:12px; margin-top:12px; border-left:3px solid #d25661; padding:10px 12px; background:#fff5f5; }
.ai-challenge span { color:#a72b36; font-size:12px; font-weight:900; }
.ai-challenge p { margin:0; color:#4f5967; font-size:12px; line-height:1.6; }
.review-issues { display:grid; gap:10px; margin-top:14px; }
.review-issue { overflow:hidden; border:1px solid #d9dee5; border-radius:8px; background:#fff; }
.review-issue>header { display:grid; grid-template-columns:28px minmax(0,1fr); gap:11px; padding:14px 15px 10px; }
.issue-number { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#edf2fb; color:var(--blue); font-size:12px; font-weight:950; }
.risk-level { display:inline-block; border-radius:10px; padding:3px 6px; background:#fff0da; color:#8b570e; font-size:11px; font-weight:900; }
.risk-level.high { background:#ffe8ea; color:#aa2531; }
.review-issue h3 { margin:5px 0 4px; font-size:14px; }
.review-issue header p { margin:0; color:#6c7684; font-size:12px; line-height:1.55; }
.issue-result,.issue-response { display:grid; grid-template-columns:78px minmax(0,1fr); align-items:start; gap:8px; margin:0 15px; padding:9px 10px; }
.issue-result { border:1px solid #e1e5ea; border-radius:5px; background:#f7f8fa; }
.issue-result strong { font-size:12px; }
.issue-response { margin-top:5px; }
.issue-response p { min-height:28px; margin:0; border-radius:4px; padding:4px 6px; font-size:12px; line-height:1.55; outline:none; }
.issue-response p:hover,.issue-response p:focus { background:#f4f7fd; box-shadow:inset 0 0 0 1px #b7c8e8; }
.review-issue footer { display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid #e5e8ec; padding:9px 15px; }
.review-issue footer>div { display:flex; flex-wrap:wrap; gap:11px; }
.review-issue footer button { border:0; border-bottom:1px solid currentColor; padding:0; background:transparent; color:var(--blue); font-size:12px; font-weight:800; }
.metric-export { margin-top:18px; border:1px solid #d3d9e1; border-radius:10px; padding:19px 20px 20px; background:#fff; box-shadow:0 3px 13px rgba(31,42,58,.045); }
.metric-help { margin:7px 0 13px; color:#6d7785; font-size:12px; line-height:1.6; }
.metric-sheet { overflow:auto; border:1px solid #cbd2da; background:#fff; }
.metric-sheet table { width:100%; min-width:840px; border-collapse:separate; border-spacing:0; font-size:12px; }
.metric-sheet th,.metric-sheet td { height:34px; border-right:1px solid #dce1e6; border-bottom:1px solid #dce1e6; padding:7px 9px; text-align:left; white-space:nowrap; }
.metric-sheet th:first-child { width:18%; }
.metric-sheet th:nth-child(2) { width:22%; }
.metric-sheet th:nth-child(3) { width:20%; }
.metric-sheet th:last-child { width:40%; }
.metric-sheet td:last-child { white-space:normal; overflow-wrap:anywhere; }
.metric-sheet th:last-child,.metric-sheet td:last-child { border-right:0; }
.metric-sheet tbody tr:last-child th,.metric-sheet tbody tr:last-child td { border-bottom:0; }
.metric-sheet thead th { background:#edf0f3; color:#596576; font-weight:900; }
.metric-sheet .row-index { width:34px; min-width:34px; padding:0; background:#f1f3f5; color:#858e99; text-align:center; }
.metric-sheet tbody tr.difference td { background:#fff1f2; color:#8f2731; }
.metric-sheet tbody tr.difference td:first-of-type { box-shadow:inset 3px 0 0 #cf4552; font-weight:900; }
.metric-sheet button { display:inline; border:0; border-bottom:1px solid currentColor; margin-right:8px; padding:0; background:transparent; color:var(--blue); font-size:12px; font-weight:800; line-height:1.5; overflow-wrap:anywhere; white-space:normal; }
.decision-hero { border-radius:12px; padding:38px 34px 34px; background:#fff; box-shadow:0 5px 20px rgba(31,42,58,.055); }
.decision-hero h2 { margin:0; font-size:27px; letter-spacing:-.045em; }
.decision-hero p { margin:12px 0 17px; color:#5f6a79; font-size:14px; line-height:1.65; }
.decision-hero button { border:0; padding:0; background:transparent; color:var(--blue); font-size:12px; font-weight:800; }
.deal-metrics { margin-top:14px; border-radius:12px; padding:21px 22px 22px; background:#fff; box-shadow:0 4px 16px rgba(31,42,58,.05); }
.deal-metrics-title { display:flex; align-items:baseline; justify-content:space-between; gap:15px; }
.deal-metrics-title h2 { margin:0; font-size:20px; }
.deal-metrics-title span { color:#7b8592; font-size:12px; }
.deal-metric-grid { display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; margin-top:15px; border:1px solid #dbe0e6; border-radius:8px; }
.deal-metric { min-width:0; min-height:145px; border:0; border-right:1px solid #dfe3e8; padding:16px; background:#fff; text-align:left; }
.deal-metric:last-child { border-right:0; }
.deal-metric:hover { background:#f7f9fc; }
.deal-metric>span,.deal-metric>strong,.deal-metric>small,.deal-metric>em { display:block; }
.deal-metric>span { color:#737e8c; font-size:12px; font-weight:800; }
.deal-metric>strong { margin:7px 0 13px; color:#1c293a; font-size:23px; letter-spacing:-.025em; }
.deal-metric>small { color:#7c8693; font-size:12px; }
.deal-metric>div { border-top:1px solid #e5e8ec; padding-top:10px; }
.deal-metric>div small { display:block; color:#818a96; font-size:11px; }
.deal-metric>div b { display:block; margin-top:4px; color:#a52b36; font-size:14px; }
.deal-metric>em { margin-top:7px; color:#b22633; font-size:11px; font-style:normal; font-weight:900; }
.deal-metric.critical { background:#fff8f8; }
.review-section.lean { padding:22px 22px 10px; }
.review-section.lean>h2 { margin:0 0 13px; font-size:20px; }
.review-section.lean .review-issues { gap:0; margin:0; }
.review-section.lean .review-issue { border:0; border-top:1px solid #e3e6ea; border-radius:0; }
.review-section.lean .review-issue:last-child { border-bottom:1px solid #e3e6ea; }
.review-section.lean .review-issue>header { display:grid; grid-template-columns:31px minmax(0,1fr); align-items:center; gap:11px; padding:17px 2px; }
.review-section.lean .review-issue>header h3 { margin:0 0 5px; font-size:14px; }
.review-section.lean .review-issue>header p { margin:0; color:#6b7582; font-size:12px; }
.risk-flow { min-width:0; }
.risk-flow h3 { margin-bottom:10px!important; }
.flow-line { display:grid; grid-template-columns:minmax(190px,.9fr) minmax(300px,1.4fr); gap:9px; }
.flow-assumption,.flow-results>div { display:grid; grid-template-columns:auto auto auto auto; align-items:center; justify-content:start; gap:6px; min-width:0; border-radius:5px; padding:7px 8px; background:#f5f7f9; }
.flow-assumption span,.flow-results span { color:#687483; font-size:11px; font-weight:800; }
.flow-assumption b,.flow-results b { color:#566170; font-size:12px; white-space:nowrap; }
.flow-assumption i,.flow-results i { border-radius:7px; padding:2px 5px; background:#e4e8ed; color:#77818e; font-size:10px; font-style:normal; }
.flow-assumption strong,.flow-results strong { color:#a52632; font-size:12px; white-space:nowrap; }
.flow-results { display:flex; gap:6px; min-width:0; }
.flow-results>div { flex:1; background:#fff2f3; }
.issue-detail { margin:0 0 13px 42px; border-radius:7px; padding:13px; background:#f6f8fa; }
.issue-detail>p { margin:0 0 10px; color:#5e6977; font-size:12px; line-height:1.65; }
.calculation-method { display:grid; grid-template-columns:68px minmax(0,1fr); gap:8px; border-radius:5px; padding:8px; background:#fff; }
.calculation-method span { color:#718091; font-size:11px; font-weight:900; }
.calculation-method p { margin:0; color:#536071; font-size:12px; line-height:1.55; }
.issue-detail .issue-response { margin:0; padding:7px 0; }
.issue-detail footer { margin-top:7px; border-top:1px solid #dfe4e9; padding:10px 0 0; }
.draft-permission.simple { margin-top:14px; border:0; padding:21px 22px; background:#edf3ff; }
.draft-permission.simple h3 { margin:0 0 5px; font-size:16px; }
.metric-export { padding:0; }
.metric-export-title { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #dde2e7; padding:15px 16px; }
.metric-export-title>div { display:flex; align-items:baseline; gap:10px; }
.metric-export-title strong { font-size:14px; }
.metric-export-body { padding:14px 16px 16px; }
.metric-tools { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:10px; }
.metric-tools p { margin:0; color:#727c89; font-size:12px; }
.metric-sheet table { min-width:640px; }
.action-panel.hidden { display:none; }
.deal-brief { display:flex; align-items:center; justify-content:space-between; gap:24px; border-radius:12px; padding:27px 28px; background:#fff; box-shadow:0 5px 20px rgba(31,42,58,.055); }
.deal-brief span { color:#788391; font-size:12px; font-weight:900; }
.deal-brief h2 { display:block; margin:7px 0 5px; color:#182130; font-size:26px; font-weight:900; letter-spacing:-.035em; }
.deal-brief p { margin:0; color:#677281; font-size:12px; }
.deal-brief>strong { border-radius:13px; padding:6px 10px; background:#edf3ff; color:var(--blue); font-size:12px; white-space:nowrap; }
.deal-terms { display:grid; grid-template-columns:repeat(6,1fr); overflow:hidden; margin-top:12px; border:1px solid #d7dde4; border-radius:9px; background:#fff; }
.deal-terms button,.deal-terms > .deal-term { min-width:0; border:0; border-right:1px solid #e0e4e9; padding:13px 15px; background:#fff; text-align:left; }
.deal-terms button:last-child,.deal-terms > .deal-term:last-child { border-right:0; }
.deal-terms button:hover { background:#f6f8fc; }
.deal-terms span,.deal-terms strong { display:block; }
.deal-terms span { color:#7c8693; font-size:11px; font-weight:800; }
.deal-terms strong { margin-top:6px; overflow:hidden; color:#253244; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.scenario-review { margin-top:14px; border-radius:11px; padding:21px 22px 18px; background:#fff; box-shadow:0 4px 16px rgba(31,42,58,.05); }
.business-review { margin-top:14px; border-radius:11px; padding:21px 22px 18px; background:#fff; box-shadow:0 4px 16px rgba(31,42,58,.05); }
.business-title { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.business-title h2 { margin:0; font-size:20px; }
.business-title>span { border-radius:12px; padding:5px 8px; background:#edf3ff; color:#2859b9; font-size:12px; font-weight:900; white-space:nowrap; }
.business-table { width:100%; margin-top:14px; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.business-table th,.business-table td { border:1px solid #d5dbe2; padding:10px 11px; text-align:left; vertical-align:top; line-height:1.55; }
.business-table thead th { background:#e9edf2; color:#455368; font-size:12px; }.business-table thead th:first-child { width:13%; }.business-table thead th:nth-child(2) { width:22%; }.business-table thead th:nth-child(4) { width:18%; }
.business-table tbody th { background:#f7f8fa; color:#344154; font-weight:900; }.business-table td>strong { display:block; margin-bottom:3px; color:#263a59; }.business-table td>p { margin:0; color:#657180; }
.business-table td:last-child button { display:block; width:max-content; border:0; border-bottom:1px solid #9eb2d8; margin-bottom:5px; padding:0; background:transparent; color:#284f91; font-size:12px; font-weight:900; }
.business-opinion { display:grid; grid-template-columns:110px 1fr; gap:12px; margin-top:11px; border-left:3px solid #2859b9; padding:11px 13px; background:#f3f6fb; }
.business-opinion span { color:#2859b9; font-size:12px; font-weight:900; }.business-opinion p { margin:0; color:#354357; font-size:12px; line-height:1.65; }
.scenario-title { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.scenario-title>div:last-child,.risk-section-title>div { display:flex; gap:7px; }
.scenario-title h2 { margin:0; font-size:20px; }
.scenario-definitions { display:grid; grid-template-columns:repeat(3,1fr); margin-top:14px; border:1px solid #dfe3e8; border-bottom:0; }
.scenario-definitions span { border-right:1px solid #dfe3e8; padding:9px 10px; color:#717c89; font-size:11px; }
.scenario-definitions span:last-child { border-right:0; background:#fff6f6; }
.scenario-definitions b { margin-right:6px; color:#344154; }
.scenario-table { overflow:auto; border:1px solid #d3d9e0; }
.scenario-table table { width:100%; min-width:720px; border-collapse:collapse; font-size:12px; }
.scenario-table th,.scenario-table td { border-right:1px solid #dde2e7; border-bottom:1px solid #dde2e7; padding:10px; text-align:right; white-space:nowrap; }
.scenario-table th:last-child,.scenario-table td:last-child { border-right:0; }
.scenario-table tr:last-child th,.scenario-table tr:last-child td { border-bottom:0; }
.scenario-table thead th { background:#eef1f4; color:#687483; font-size:11px; }
.scenario-table thead th:first-child,.scenario-table tbody th { text-align:left; }
.scenario-table tbody th { color:#354153; }
.scenario-table tbody th button { border:0; border-bottom:1px solid #9eb2d8; padding:0; background:transparent; color:#284f91; font-size:12px; font-weight:900; }
.scenario-table .downside { background:#fff7f7; color:#a72b36; font-weight:900; }
.scenario-table .breach { background:#ffe9eb; color:#a31f2c; font-weight:950; }
.sensitivity-report { overflow:auto; margin-top:14px; border:1px solid #cfd6de; }
.sensitivity-report table { width:100%; min-width:790px; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.sensitivity-report th,.sensitivity-report td { border-right:1px solid #d8dde3; border-bottom:1px solid #d8dde3; padding:8px 9px; text-align:right; vertical-align:middle; }
.sensitivity-report th:last-child,.sensitivity-report td:last-child { border-right:0; }
.sensitivity-report tr:last-child th,.sensitivity-report tr:last-child td { border-bottom:0; }
.sensitivity-report thead th { background:#e9edf2; color:#38465a; font-size:12px; text-align:center; }
.sensitivity-report thead th:first-child,.sensitivity-report tbody th { text-align:left; }
.sensitivity-report tbody th { background:#f7f8fa; color:#4b5869; font-weight:900; }
.sensitivity-report button { border:0; border-bottom:1px solid #9eb2d8; padding:0; background:transparent; color:#284f91; font:inherit; font-weight:900; }
.sensitivity-report .section-row th { padding:6px 9px; background:#edf1f5; color:#6a7582; font-size:11px; letter-spacing:.02em; }
.sensitivity-report .changed { background:#fff9ee; color:#8d5b0f; font-weight:900; }
.sensitivity-report .result-row th,.sensitivity-report .result-row td { font-weight:900; }
.sensitivity-report .worst-column { background:#fff5f5; }
.sensitivity-report .failed { background:#ffe8ea!important; color:#a41f2c; font-weight:950; }
.sensitivity-report .judgment-row th,.sensitivity-report .judgment-row td { border-top:2px solid #aeb8c4; font-weight:900; }
.pass,.fail { border-radius:10px; padding:4px 6px; font-size:11px; font-weight:900; }
.pass { background:#eaf6f0; color:#176c4e; }
.fail { background:#ffe8ea; color:#a52531; }
.scenario-formula { margin:9px 0 0; color:#7b8592; font-size:11px; }
.risk-section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.risk-section-title h2 { margin:0; }
.risk-editing .review-issue>header { grid-template-columns:31px minmax(0,1fr) auto; }
.risk-delete { align-self:start; border:0; padding:5px 7px; background:transparent; color:#a23a45; font-size:12px; font-weight:800; }
.risk-add-panel { margin-top:14px; border:1px solid #cfd7e2; border-radius:9px; padding:16px; background:#f8fafc; }
.risk-add-panel h3 { margin:0 0 13px; color:#263a57; font-size:14px; }
.risk-add-panel label { display:grid; gap:5px; margin-top:10px; }
.risk-add-panel label span { color:#657286; font-size:12px; font-weight:800; }
.risk-add-panel input,.risk-add-panel textarea,.risk-add-panel select { width:100%; border:1px solid #c2ccd9; border-radius:6px; padding:9px 10px; background:#fff; color:#26364d; font:inherit; font-size:12px; box-sizing:border-box; }
.risk-add-panel textarea { resize:vertical; }
.risk-add-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
.risk-add-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:13px; }
.risk-editing [contenteditable="true"] { border-radius:4px; background:#f7f9fc; box-shadow:inset 0 0 0 1px #aebfdd; outline:none; }
.risk-editing .risk-flow h3[contenteditable="true"],.risk-editing .risk-flow p[contenteditable="true"] { padding:5px 7px; }
.risk-editing .calculation-method p[contenteditable="true"],.risk-editing .issue-response p[contenteditable="true"] { padding:6px 8px; background:#fff; }
.new-risk-slot { border:1px dashed #9fb2cf!important; background:#f8fafd!important; }
.new-risk-slot textarea { width:100%; resize:vertical; border:1px solid #c3cedd; border-radius:6px; padding:9px 10px; background:#fff; color:#29394e; font-size:12px; line-height:1.55; outline:none; }
.new-risk-slot textarea:focus { border-color:#7695ce; box-shadow:0 0 0 3px rgba(40,95,212,.08); }
.new-risk-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; border-top:1px solid #dfe5ed; padding:10px 13px; }
.new-risk-actions span { color:#718094; font-size:12px; }
.scenario-rows table { min-width:1040px; table-layout:auto; }
.scenario-rows thead th:first-child { width:145px; }
.scenario-rows thead th:nth-child(2) { min-width:260px; }
.scenario-rows th,.scenario-rows td { text-align:left; }
.scenario-rows td:nth-child(n+3) { text-align:right; white-space:nowrap; }
.scenario-rows .worst th,.scenario-rows .worst td { background:#fff7f7; }
.risk-scenario-list { display:grid; gap:14px; margin-top:14px; }
.risk-scenario-card { overflow:hidden; border:1px solid #cfd7e2; border-radius:9px; background:#fff; }
.risk-scenario-card > header { display:flex; gap:10px; align-items:flex-start; padding:13px 15px; border-bottom:1px solid #e0e5ec; background:#f8fafc; }
.risk-scenario-card > header > span { display:grid; place-items:center; width:21px; height:21px; flex:0 0 21px; border-radius:50%; background:#273d65; color:#fff; font-size:12px; font-weight:900; }
.risk-scenario-card h3 { margin:0 0 3px; color:#1f2e44; font-size:13px; }
.risk-scenario-card header p { margin:0; color:#667388; font-size:12px; line-height:1.45; }
.risk-input-change { display:grid; grid-template-columns:64px minmax(120px,1fr) minmax(90px,auto) 18px minmax(90px,auto) minmax(100px,1fr); align-items:center; gap:8px; padding:10px 15px; border-bottom:1px solid #e4e8ee; font-size:12px; }
.risk-input-change span { color:#718096; font-weight:800; }
.risk-input-change strong { color:#25364d; }
.risk-input-change b { padding:6px 8px; border-radius:5px; background:#f0f3f7; text-align:right; }
.risk-input-change i { color:#8894a3; font-style:normal; text-align:center; }
.risk-scenario-card table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.risk-scenario-card th,.risk-scenario-card td { padding:8px 12px; border-bottom:1px solid #e6eaf0; text-align:right; }
.risk-scenario-card th:first-child { text-align:left; }
.risk-scenario-card thead th { background:#f4f6f9; color:#5d6b7e; font-size:11px; }
.risk-scenario-card tbody th { color:#33445a; }
.risk-scenario-card .metric-changed th,.risk-scenario-card .metric-changed td { font-weight:900; }
.risk-scenario-card .metric-unchanged th,.risk-scenario-card .metric-unchanged td { color:#87909c; }
.risk-scenario-card .metric-caution th,.risk-scenario-card .metric-caution td { background:#fff8eb; color:#81520f; }
.risk-scenario-card .metric-breach th,.risk-scenario-card .metric-breach td { background:#fff1f2; color:#a12d38; }
.risk-scenario-card > footer { display:flex; justify-content:space-between; gap:15px; padding:9px 15px; background:#fafbfd; color:#748195; font-size:11px; }
.risk-scenario-card > footer strong { color:#34465e; }
.risk-scenario-card > footer>div { display:flex; flex-wrap:wrap; gap:12px; }
.risk-scenario-card > footer button { border:0; border-bottom:1px solid currentColor; padding:0; background:transparent; color:var(--blue); font-size:11px; font-weight:800; }
.risk-outcome { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:center; gap:12px; border-bottom:1px solid #e4e8ee; padding:14px 15px; background:#f5f8fc; }
.risk-outcome span { color:#66758a; font-size:11px; font-weight:900; }
.risk-outcome strong { color:#263a57; font-size:14px; line-height:1.45; }
.risk-outcome.breach { background:#fff1f2; }
.risk-outcome.breach strong { color:#a32835; }
.risk-outcome.adverse { background:#fff8eb; }
.risk-outcome.adverse strong { color:#87550f; }
.risk-response { display:grid; grid-template-columns:95px minmax(0,1fr); gap:12px; padding:13px 15px; border-top:1px solid #e4e8ee; }
.risk-response span { color:#68768a; font-size:11px; font-weight:900; }
.risk-response p { min-height:20px; margin:0; color:#34445a; font-size:12px; line-height:1.6; outline:none; }
.risk-editing .risk-response p[contenteditable] { border-radius:5px; padding:6px 8px; background:#f7f9fc; box-shadow:inset 0 0 0 1px #aebfdd; }
.risk-scenario-card > header .risk-delete { margin-left:auto; }
.risk-workbench { margin-top:18px; }
.scenario-value-editor { display:flex; align-items:center; gap:6px; }
.scenario-value-editor input { width:150px; border:1px solid #9db0ca; border-radius:5px; padding:6px 8px; background:#fff; color:#22344e; font:inherit; font-weight:800; text-align:right; }
.scenario-value-editor small { color:#667388; font-size:11px; }
.risk-input-changes { display:grid; }
.risk-input-change em { color:#748195; font-size:11px; font-style:normal; }
.metric-conflict td { background:#fff3f3; }
.metric-mismatch { display:block; margin-top:3px; color:#a52b35; font-size:11px; font-weight:800; }
.report-risk-scenarios { margin:8px 0 18px; }
.report-risk-scenarios .risk-scenario-card { break-inside:avoid; border-radius:0; }
.scenario-name-input { width:100%; border:1px solid #bdc9d9; border-radius:5px; padding:7px 8px; background:#fff; color:#28384d; font-size:12px; font-weight:800; outline:none; }
.scenario-name-edit { display:grid; gap:5px; }
.inline-assumption { display:grid; grid-template-columns:minmax(65px,auto) 72px auto; align-items:center; gap:5px; }
.inline-assumption span { color:#566579; font-size:12px; font-weight:800; }
.inline-assumption input { width:72px; border:1px solid #bfcbd9; border-radius:5px; padding:6px 7px; background:#fff; color:#27374b; font-size:12px; font-weight:900; text-align:right; outline:none; }
.inline-assumption b { color:#6e7988; font-size:12px; }
.inline-assumption.custom-shock { margin-top:7px; }
.scenario-risk-selector { display:flex; flex-wrap:wrap; gap:5px; }
.scenario-risk-selector label { display:flex; align-items:center; gap:4px; border:1px solid #ccd6e3; border-radius:14px; padding:5px 7px; background:#fff; color:#536176; font-size:11px; white-space:nowrap; }
.row-delete { border:0!important; color:#9b3942!important; text-decoration:none; }
.covenant-result { display:inline-block; margin-top:8px; border-radius:10px; padding:4px 7px; background:#fff0f1; color:#a02b35; font-size:11px; font-weight:900; }
.review-decision { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:14px; border:1px solid #aebfe1; border-radius:10px; padding:20px 22px; background:#edf3ff; }
.review-decision span { color:var(--blue); font-size:11px; font-weight:900; }
.review-decision h2 { margin:5px 0; color:#1d3c72; font-size:20px; }
.review-decision p { margin:0; color:#5f6c80; font-size:12px; line-height:1.55; }
.report-generation-action { display:flex; justify-content:flex-end; margin-top:12px; }
.report-generation-action .primary { min-width:190px; }
.report-download-action { display:flex; justify-content:flex-end; }
.report-download-action .primary { min-width:170px; }

.data-workspace,.risk-workspace,.audit-workspace { width:min(100%,1000px); margin:0 auto; }
.classification-card { display:flex; align-items:center; justify-content:space-between; gap:25px; border:1px solid #d7dde6; border-radius:9px; padding:17px 18px; background:#fff; box-shadow:0 3px 12px rgba(31,42,58,.05); }
.classification-card span,.risk-intro>span { color:var(--blue); font-size:12px; font-weight:900; }
.classification-card h2 { margin:5px 0 4px; font-size:20px; }
.classification-card p,.risk-intro p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.data-heading { display:flex; align-items:flex-end; justify-content:space-between; margin-top:22px; padding:0 2px 9px; }
.data-heading h2 { margin:0; font-size:18px; }.data-heading p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.data-heading>span { border-radius:12px; padding:5px 8px; background:#fff0f1; color:#a32833; font-size:11px; font-weight:900; }
.canonical-table { overflow:auto; border:1px solid #cdd4dd; background:#fff; box-shadow:0 3px 12px rgba(31,42,58,.04); }
.canonical-table table { width:100%; min-width:860px; border-collapse:collapse; font-size:12px; }
.canonical-table th,.canonical-table td { border-right:1px solid #e0e4e9; border-bottom:1px solid #e0e4e9; padding:10px; text-align:left; white-space:nowrap; }
.canonical-table th:last-child,.canonical-table td:last-child { border-right:0; }
.canonical-table tr:last-child td { border-bottom:0; }
.canonical-table thead th { background:#f0f2f5; color:#536071; font-size:12px; }
.canonical-table tbody tr.review td { background:#fff9ef; }
.canonical-table tbody tr.review td:first-child { box-shadow:inset 3px 0 0 #dc8b29; font-weight:900; }
.canonical-table button,.citations button,.risk-card footer button { border:0; border-bottom:1px solid currentColor; padding:0; background:transparent; color:var(--blue); font-size:12px; font-weight:800; }
.data-note { display:flex; gap:14px; margin-top:12px; border-left:3px solid var(--blue); padding:11px 13px; background:#f4f7fc; font-size:12px; line-height:1.6; }
.data-note strong { flex:none; color:var(--blue); }.data-note span { color:#526073; }

.risk-intro { border-radius:9px; padding:19px 20px; background:#fff; box-shadow:0 3px 12px rgba(31,42,58,.05); }
.risk-intro h2 { margin:6px 0 5px; font-size:23px; letter-spacing:-.025em; }
.risk-list { display:grid; gap:11px; margin-top:14px; }
.risk-card { border:1px solid #d6dce4; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(31,42,58,.04); }
.risk-card.excluded { opacity:.55; }
.risk-card>header { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:start; gap:11px; padding:14px 15px 11px; }
.severity { display:grid; place-items:center; height:22px; border-radius:4px; background:#fff1d9; color:#8d570b; font-size:11px; font-weight:900; }
.severity.high { background:#ffe8ea; color:#aa2531; }
.risk-card h3 { margin:1px 0 4px; font-size:14px; }.risk-card header p { margin:0; color:#697382; font-size:12px; line-height:1.55; }
.risk-toggle { min-width:49px; min-height:27px; border:1px solid #a8bde8; border-radius:5px; background:#eef3ff; color:var(--blue); font-size:12px; font-weight:900; }
.excluded .risk-toggle { border-color:#d1d6dd; background:#f3f4f6; color:#747d89; }
.risk-impact { display:flex; align-items:center; gap:13px; margin:0 15px; border:1px solid #e1e5eb; border-radius:5px; padding:9px 11px; background:#f7f8fa; }
.risk-impact span,.recommendation span { flex:none; color:#7b8491; font-size:11px; font-weight:800; }.risk-impact strong { font-size:12px; }
.recommendation { display:grid; grid-template-columns:73px 1fr; align-items:start; gap:4px; padding:11px 16px 10px; }
.recommendation p { min-height:27px; margin:0; border-radius:4px; padding:4px 6px; font-size:12px; line-height:1.55; outline:none; }
.recommendation p:hover,.recommendation p:focus { background:#f4f7fd; box-shadow:inset 0 0 0 1px #b8c8e8; }
.risk-card footer { display:flex; flex-wrap:wrap; gap:12px; border-top:1px solid #e5e8ec; padding:9px 15px; }
.draft-permission { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:16px; border:1px solid #adc0e7; border-radius:9px; padding:17px 18px; background:#f4f7ff; }
.draft-permission span { color:var(--blue); font-size:11px; font-weight:900; }.draft-permission h3 { margin:4px 0; font-size:16px; }.draft-permission p { margin:0; color:#6e7887; font-size:12px; }

.empty-report { min-height:100%; display:grid; place-items:center; }
.empty-report>div { width:min(100%,560px); border-radius:12px; padding:48px; background:#fff; text-align:center; box-shadow:0 8px 25px rgba(31,42,58,.08); }
.empty-report span { color:var(--blue); font-size:12px; font-weight:900; }.empty-report h2 { margin:8px 0; font-size:26px; }.empty-report p { margin:0 auto 20px; color:var(--muted); font-size:12px; line-height:1.7; }
.report-stage { width:100%; }
.paper { position:relative; width:min(100%,800px); min-height:1040px; margin:0 auto; padding:44px 50px 70px; background:#fff; box-shadow:0 10px 30px rgba(23,30,40,.13); }
.paper-head,.paper-foot { display:flex; justify-content:space-between; color:#7a8491; font-size:12px; font-weight:800; }
.paper-head { border-bottom:2px solid var(--navy); padding-bottom:8px; }
.paper-foot { position:absolute; right:50px; bottom:26px; left:50px; border-top:1px solid #d2d7dd; padding-top:8px; }
.report-title { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; border-bottom:1px solid #dce1e6; padding:29px 0 20px; }
.report-title span { color:var(--blue); font-size:12px; font-weight:900; }.report-title h2 { margin:6px 0 5px; font-size:30px; outline:none; }.report-title p { margin:0; color:var(--muted); font-size:12px; }.report-title>strong { border-radius:14px; padding:6px 9px; background:#fff0df; color:#975a0a; font-size:12px; }
.report-block { margin-top:25px; }.report-block h3 { margin:0 0 11px; border-bottom:2px solid var(--navy); padding-bottom:7px; color:var(--navy); font-size:14px; }.report-block>p { min-height:36px; margin:0; border-radius:4px; padding:6px; font-size:12px; line-height:1.75; outline:none; }.report-block [contenteditable]:hover,.report-block [contenteditable]:focus { background:#f4f7fd; box-shadow:inset 0 0 0 1px #b6c7e7; }
.citations { display:flex; flex-wrap:wrap; gap:12px; margin-top:7px; }
.thesis-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid #d8dde4; }.thesis-grid>div { padding:11px 12px; }.thesis-grid>div+div { border-left:1px solid #d8dde4; background:#f6f8fb; }.thesis-grid span { color:#707b88; font-size:11px; font-weight:900; }.thesis-grid p { min-height:52px; margin:5px 0 0; border-radius:4px; padding:5px; font-size:12px; line-height:1.65; outline:none; }
.report-block table { width:100%; border-collapse:collapse; font-size:12px; }.report-block th,.report-block td { border:1px solid #d4dae1; padding:9px; text-align:left; vertical-align:top; line-height:1.55; }.report-block th { background:#eef1f4; color:#546172; }.report-block td[contenteditable] { outline:none; }
.report-block.opinion { border-left:4px solid var(--blue); padding:13px 15px; background:#f1f5fc; }.report-block.opinion h3 { border:0; padding:0; }.report-block.opinion p { background:transparent; }

.audit-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:14px; }.audit-summary article { border:1px solid #d8dde4; border-radius:7px; padding:13px; background:#fff; }.audit-summary span,.audit-summary strong,.audit-summary small { display:block; }.audit-summary span { color:var(--muted); font-size:11px; }.audit-summary strong { margin:5px 0 3px; font-size:21px; }.audit-summary small { color:#7d8692; font-size:11px; }
.audit-table,.trace { margin-top:14px; border-radius:8px; padding:16px; background:#fff; box-shadow:0 3px 12px rgba(31,42,58,.04); }.audit-table h3,.trace h3 { margin:0 0 11px; font-size:14px; }.audit-table table { width:100%; border-collapse:collapse; font-size:12px; }.audit-table th,.audit-table td { border:1px solid #d7dce3; padding:9px; text-align:left; }.audit-table th { background:#f0f2f5; color:#566273; }
.trace>div { display:flex; align-items:center; gap:8px; overflow:auto; }.trace span { flex:1; min-width:140px; border:1px solid #d8dee7; border-radius:5px; padding:10px; background:#f8f9fb; font-size:12px; line-height:1.5; }.trace i { color:#8490a0; font-size:14px; }

.sheet-canvas { overflow:hidden; padding:0; background:#fff; }
.sheet { height:100%; display:grid; grid-template-rows:40px 36px minmax(0,1fr) 34px; background:#fff; }
.sheet-bar { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #d9dee4; padding:0 13px; background:#f6f7f9; }.sheet-bar strong { font-size:13px; }.sheet-bar span { color:var(--muted); font-size:12px; }
.formula { display:grid; grid-template-columns:60px 35px minmax(0,1fr); align-items:center; border-bottom:1px solid #ccd2da; font-size:12px; }.formula>span,.formula>b { display:grid; height:100%; place-items:center; border-right:1px solid #d6dbe2; }.formula>b { color:#6e7884; font-family:Georgia,serif; font-style:italic; }.formula p { margin:0; padding:0 10px; }
.sheet-grid { overflow:auto; }.sheet-grid table { width:max-content; min-width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; font-size:12px; }.sheet-grid th,.sheet-grid td { min-width:135px; height:34px; border-right:1px solid #d9dde2; border-bottom:1px solid #d9dde2; padding:8px 10px; text-align:left; white-space:nowrap; }.sheet-grid thead th,.sheet-grid tbody th { min-width:42px; background:#eef1f4; color:#707a86; text-align:center; }.sheet-grid mark,.source-paper mark { border-radius:2px; padding:2px 3px; background:#ffe0e3; color:#9d202c; box-shadow:inset 0 -2px 0 #d24b57; font-weight:900; }
.sheet-tab { border-top:1px solid #ccd2d9; padding:10px 18px; background:#f4f5f7; color:var(--blue); font-size:12px; font-weight:900; }
.source-paper { position:relative; width:min(100%,760px); min-height:930px; margin:0 auto; padding:48px 52px; background:#fff; box-shadow:0 10px 30px rgba(23,30,40,.13); }.doc-brand { margin-bottom:34px; border-bottom:3px solid var(--navy); padding-bottom:9px; color:var(--navy); font-size:12px; font-weight:900; }.source-paper h2 { margin:0 0 25px; font-size:30px; }.source-paper h3 { margin:25px 0 10px; border-bottom:1px solid #343c47; padding-bottom:7px; font-size:14px; }.source-paper p { font-size:12px; line-height:1.8; }.source-paper table { width:100%; border-collapse:collapse; font-size:12px; }.source-paper th,.source-paper td { border:1px solid #b9c0c9; padding:10px; text-align:left; }.source-paper th { background:#ebeff3; }.page-number { position:absolute; right:50%; bottom:26px; color:#7d8590; font-size:12px; }

@media(max-width:1450px) {
  .workspace { grid-template-columns:minmax(620px,1fr) 270px; }
  .viewer-canvas { padding-right:17px; padding-left:17px; }
  .paper { padding-right:40px; padding-left:40px; }
}

/* 실무 검토 화면은 정보량보다 장시간 판독성을 우선한다. */
.explorer>header { font-size:14px; }
.tree-label { font-size:13px; }
.tree-item strong { font-size:14px; }
.tree-item small { font-size:12px; }
.deal-brief span { font-size:13px; }
.deal-brief p { font-size:14px; }
.deal-terms span { font-size:12px; }
.deal-terms strong { font-size:14px; }
.scenario-definitions span { font-size:12px; }
.scenario-table table { font-size:13px; }
.scenario-table thead th { font-size:12px; }
.scenario-table tbody th button { font-size:13px; }
.scenario-formula { font-size:12px; }
.review-issue summary h3 { font-size:14px; }
.flow-assumption span,.flow-results span { font-size:12px; }
.flow-assumption b,.flow-results b { font-size:12px; }
.flow-assumption strong,.flow-results strong { font-size:13px; }
.covenant-result,.review-issue .chevron { font-size:12px; }
.report-stage { display:grid; gap:24px; }

/* 투자심의안건: 화면용 카드가 아니라 위원회 배포 문서의 문법을 따른다. */
.committee-memo { gap:24px; }
.memo-paper { min-height:1120px; padding:42px 52px 68px; color:#202a36; }
.memo-cover { padding:34px 0 18px; }
.memo-cover>span { color:#596575; font-size:12px; font-weight:800; }
.memo-cover h1 { margin:7px 0 28px; color:#17263b; font-size:30px; line-height:1.3; outline:none; }
.memo-cover h1:hover,.memo-cover h1:focus { background:#f3f7fd; box-shadow:inset 0 0 0 1px #b7c8e8; }
.memo-meta,.memo-request,.memo-grid,.memo-analysis,.memo-risk,.memo-sensitivity,.memo-dd,.memo-conditions,.memo-sources { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.memo-meta th,.memo-meta td,.memo-request th,.memo-request td,.memo-grid th,.memo-grid td,.memo-analysis th,.memo-analysis td,.memo-risk th,.memo-risk td,.memo-sensitivity th,.memo-sensitivity td,.memo-dd th,.memo-dd td,.memo-conditions th,.memo-conditions td,.memo-sources th,.memo-sources td { border:1px solid #bfc7d1; padding:9px 10px; text-align:left; vertical-align:top; line-height:1.55; }
.memo-meta th,.memo-request th,.memo-grid th,.memo-analysis th,.memo-risk th,.memo-sensitivity th,.memo-dd th,.memo-conditions th,.memo-sources th { background:#eef1f4; color:#37465a; font-weight:900; }
.memo-meta th { width:15%; }
.memo-meta td { width:35%; }
.memo-request th { width:20%; }
.memo-grid th { width:15%; }
.memo-grid td { width:35%; }
.memo-chapter { margin:25px 0 10px; border-bottom:2px solid #243b5c; padding:0 0 7px; color:#203957; font-size:18px; }
.memo-chapter.first { margin-top:28px; }
.memo-section { margin:17px 0 10px; }
.memo-section h3 { margin:0 0 6px; color:#2b3d54; font-size:14px; }
.memo-section>p { min-height:30px; margin:0; border-radius:3px; padding:5px 6px; color:#344254; font-size:12px; line-height:1.75; outline:none; }
.memo-section>p:hover,.memo-section>p:focus { background:#f3f7fd; box-shadow:inset 0 0 0 1px #b7c8e8; }
.memo-analysis td:nth-child(2),.memo-analysis td:nth-child(3),.memo-sensitivity td:not(:first-child) { text-align:right; }
.memo-risk th:nth-child(1) { width:18%; }
.memo-risk th:nth-child(2) { width:20%; }
.memo-risk th:nth-child(3) { width:28%; }
.memo-risk th:nth-child(4) { width:34%; }
.memo-worst td { background:#fff0f1; color:#8d2731; font-weight:800; }
.memo-dd th:first-child { width:16%; }
.memo-opinion { margin:14px 0 24px; border:2px solid #2a4569; padding:16px 18px; }
.memo-opinion h3 { margin:0 0 9px; color:#203e65; font-size:20px; }
.memo-opinion p { min-height:50px; margin:0; padding:5px; color:#2e3d50; font-size:13px; line-height:1.75; outline:none; }
.memo-opinion p:hover,.memo-opinion p:focus { background:#f3f7fd; box-shadow:inset 0 0 0 1px #b7c8e8; }
.memo-conditions th:first-child { width:14%; }
.memo-conditions th:last-child { width:18%; }
.memo-sources th:first-child { width:19%; }
.memo-sources th:nth-child(2) { width:19%; }
.memo-sources th:nth-child(3) { width:22%; }
.memo-sources button { border:0; padding:0; background:transparent; color:var(--blue); font-size:12px; text-decoration:underline; }
.memo-disclaimer { margin:18px 0 0; border-top:1px solid #c9d0d9; padding-top:10px; color:#6f7885; font-size:12px; line-height:1.6; }

@media print {
  @page { size:A4; margin:0; }
  html,body { height:auto; min-width:0; overflow:visible; background:#fff; }
  .topbar,.explorer,.viewer-header,.viewer-footer,.report-download-action { display:none!important; }
  .workspace,.viewer { display:block; width:auto; height:auto; border:0; }
  .viewer-canvas { overflow:visible; padding:0; background:#fff; }
  .report-stage { display:block; }
  .memo-paper { width:210mm; min-height:297mm; margin:0; border:0; border-radius:0; box-shadow:none; break-after:page; page-break-after:always; }
  .memo-paper:last-of-type { break-after:auto; page-break-after:auto; }
}
