.financial-adviser-four-section-report { color: #17364b; max-width: 100%; overflow-wrap: anywhere; }
.financial-adviser-four-section-report > header { padding: 18px 0; border-bottom: 1px solid #d9e0e6; }
.financial-adviser-four-section-report > header span { font-size: 17px; font-weight: 700; }
.financial-adviser-four-section-report > section { padding: 22px 0; border-bottom: 1px solid #d9e0e6; }
.financial-adviser-four-section-report h3 { margin: 0 0 16px; color: #12394e; font-size: 19px; }
.financial-adviser-four-section-report h4 { margin: 0 0 12px; font-size: 16px; }
.financial-adviser-four-section-report p, .financial-adviser-four-section-report li { line-height: 1.8; }
.financial-adviser-four-section-report .raw-report-paragraph { white-space: pre-wrap; overflow: visible; max-height: none; -webkit-line-clamp: unset; }
.financial-adviser-direct-data-overview .financial-adviser-data-overview { margin-top: 0; }
.financial-adviser-direct-data-overview .financial-adviser-data-intro { margin-bottom: 18px; }
.financial-adviser-direct-result > [data-financial-adviser-panel="overview"] { min-width: 0; }
.raw-report-item { border: 1px solid #d9e0e6; border-radius: 12px; padding: 18px; margin: 12px 0; background: #fff; }
.raw-report-terms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; background: #f6f9fb; padding: 14px; }
.raw-report-terms div { min-width: 0; }
.raw-report-terms dt { color: #617686; font-size: 12px; }
.raw-report-terms dd { margin: 4px 0 0; }
.raw-report-boundary, .raw-report-kind { font-size: 12px; color: #617686; }
.raw-report-web-notice { padding: 12px 14px; border-left: 3px solid #3686a6; background: #eff7fa; font-size: 13px; }
.raw-report-web-provenance { margin: 14px 0; padding: 12px; border: 1px solid #d7e2e8; border-radius: 8px; background: #f8fafc; }
.raw-report-web-source { margin: 10px 0; padding: 10px 0; border-top: 1px solid #d7e2e8; overflow-wrap: anywhere; font-size: 13px; }
.raw-report-web-source p { margin: 6px 0; }
.raw-report-web-source a, .raw-report-web-source small { display: block; margin-top: 6px; overflow-wrap: anywhere; }
.raw-report-web-source small { color: #617686; }
.raw-report-source-category { padding: 3px 6px; border-radius: 4px; background: #e8eff3; }
.raw-report-sources, .raw-report-professional { margin: 14px 0; border: 1px solid #d9e0e6; border-radius: 8px; padding: 12px; }
.raw-report-sources summary, .raw-report-professional summary { cursor: pointer; color: #156d96; }
.raw-report-sources > div { margin-top: 12px; padding-top: 12px; border-top: 1px solid #d9e0e6; }
.raw-report-source-text { white-space: pre-wrap; max-height: 260px; overflow: auto; }
.raw-report-failure { padding: 20px; background: #fff8ee; border: 1px solid #e8c896; border-radius: 12px; overflow-wrap: anywhere; }
.raw-report-legacy-notice { margin: 0 0 20px; padding: 18px 20px; border: 1px solid #d9e0e6; border-radius: 12px; background: #f6f9fc; color: #17364b; overflow-wrap: anywhere; }
.raw-report-legacy-notice h3 { margin: 0 0 10px; font-size: 18px; }
.raw-report-legacy-notice p { margin: 8px 0; line-height: 1.7; }
.raw-report-capacity { margin: 16px 0; border: 1px solid #d9e0e6; border-radius: 10px; padding: 14px; color: #284555; background: #f8fafc; overflow-wrap: anywhere; }
.raw-report-capacity[hidden] { display: none; }
.raw-report-capacity summary { cursor: pointer; color: #156d96; font-weight: 600; }
.raw-report-capacity summary span { font-size: 12px; font-weight: 400; }
.raw-report-capacity-diagnostics { padding-top: 10px; }
.raw-report-capacity-status { font-weight: 600; }
.raw-report-capacity-status.is-over-budget { color: #975312; }
.raw-report-capacity-boundary { color: #617686; font-size: 12px; line-height: 1.7; }
.raw-report-capacity-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 16px 0; }
.raw-report-capacity-metrics > div { min-width: 0; }
.raw-report-capacity-metrics dt { color: #617686; font-size: 12px; }
.raw-report-capacity-metrics dd { margin: 4px 0 0; }
.raw-report-capacity-table-wrap { max-width: 100%; overflow-x: auto; }
.raw-report-capacity table { width: 100%; border-collapse: collapse; font-size: 13px; }
.raw-report-capacity th, .raw-report-capacity td { text-align: left; padding: 10px 8px; border-bottom: 1px solid #dde4e9; }
.raw-report-capacity th { font-weight: 500; }
@media (max-width: 600px) { .raw-report-capacity-metrics { grid-template-columns: 1fr; } .raw-report-capacity { padding: 12px; } }
@media (max-width: 600px) { .raw-report-terms { grid-template-columns: 1fr; } .raw-report-item { padding: 12px; } }

/* Direct-model reports: typography and lossless source segmentation only. */
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] {
  color: #33465a;
  font-size: 15px;
  line-height: 1.85;
  text-align: left;
  container-type: inline-size;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] > .raw-report-header {
  padding: 4px 0 22px;
  border-bottom: 1px solid #e5ebf0;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] > .raw-report-header > span {
  color: #65768a;
  font-size: 13px;
  font-weight: 500;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-intro {
  margin: 5px 0 0;
  color: #65768a;
  font-size: 13px;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] > section {
  padding: 30px 0 0;
  border-bottom: 0;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] h3 {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 18px;
  color: #15354e;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .015em;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] h3::before {
  content: "";
  width: 4px;
  height: 21px;
  flex: 0 0 4px;
  border-radius: 3px;
  background: #1976bd;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-item-list {
  display: grid;
  gap: 16px;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-item,
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-qualification {
  min-width: 0;
  margin: 0;
  padding: 24px;
  border: 1px solid #e0e7ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(24, 53, 78, .025);
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-paragraph {
  margin: 0;
  color: #33465a;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.9;
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-item-title {
  display: block;
  margin: 0 0 18px;
  padding: 0 0 15px;
  border-bottom: 1px solid #e8edf2;
  color: #143c5b;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.75;
  white-space: normal;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-field {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  align-items: baseline;
  gap: 18px;
  padding: 15px 0;
  border-top: 1px solid #edf1f5;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-field:first-child,
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-first-field,
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-item-title + .raw-report-field,
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-whitespace:first-child + .raw-report-field,
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-item-title + .raw-report-whitespace + .raw-report-field {
  padding-top: 0;
  border-top: 0;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-field:last-child {
  padding-bottom: 0;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-field-label {
  color: #47627a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.85;
  white-space: normal;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-field-body {
  display: block;
  min-width: 0;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-text-chunk {
  display: block;
  white-space: normal;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-whitespace {
  display: none;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-text-chunk + .raw-report-text-chunk {
  margin-top: 12px;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-whitespace:first-child + .raw-report-text-chunk,
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-item-title + .raw-report-whitespace + .raw-report-text-chunk {
  margin-top: 0;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-empty {
  margin: 0;
  padding: 18px 20px;
  border: 1px dashed #d9e2eb;
  border-radius: 12px;
  background: #f8fafc;
  color: #62758a;
  font-size: 14px;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-details {
  display: grid;
  gap: 0;
  margin: 32px 0 20px;
  padding: 6px 18px;
  border: 1px solid #e4eaf0;
  border-radius: 12px;
  background: #f8fafc;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-details > details {
  margin: 0;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid #e4eaf0;
  border-radius: 0;
  background: transparent;
  color: #607389;
  font-size: 13px;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-details > details:last-child {
  border-bottom: 0;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-details summary {
  color: #46627d;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-details summary:focus-visible {
  outline: 2px solid #1976bd;
  outline-offset: 4px;
  border-radius: 3px;
}
.financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-details .raw-report-web-provenance {
  margin: 12px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
}
@container (max-width: 660px) {
  .financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-field {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }
  .financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-item,
  .financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-qualification {
    padding: 18px;
  }
}
@media (max-width: 600px) {
  .financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] > section { padding-top: 24px; }
  .financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] h3 { font-size: 19px; gap: 8px; }
  .financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-item,
  .financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-qualification { padding: 16px; border-radius: 12px; }
  .financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-field { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-item-title { font-size: 16px; }
  .financial-adviser-four-section-report[data-report-output-mode="MODEL_DIRECT"] .raw-report-details { padding: 4px 14px; }
}

:root {
  color-scheme: light;
  --bg: #f2f5f7;
  --surface: #ffffff;
  --surface-soft: #f6f9fb;
  --border: #d9e0e6;
  --border-strong: #b9c5cf;
  --text: #17232d;
  --muted: #667683;
  --navy: #15364f;
  --blue: #0f6fb5;
  --blue-hover: #0b5c97;
  --green: #18794e;
  --green-bg: #eaf6ef;
  --amber: #9a6700;
  --amber-bg: #fff6dc;
  --red: #b42318;
  --red-bg: #fff0ee;
  --shadow: 0 8px 24px rgba(21, 54, 79, 0.07);
  font-family: "Microsoft YaHei", "Segoe UI", sans-serif;
}

.auth-gate {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
  background:
    radial-gradient(circle at 18% 14%, rgba(52, 133, 244, .2), transparent 34%),
    radial-gradient(circle at 88% 82%, rgba(18, 113, 181, .16), transparent 32%),
    linear-gradient(145deg, #071b36 0%, #0d376a 52%, #0b5a9b 100%);
}

.auth-panel {
  width: min(440px, 100%);
  display: grid;
  gap: 22px;
  padding: 34px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 24px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 30px 80px rgba(0, 17, 47, .35);
}

.auth-brand-mark {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(145deg, #0f6fb5, #0754a2);
  color: #fff;
  box-shadow: 0 12px 26px rgba(15, 111, 181, .28);
  font-size: 24px;
  font-weight: 900;
}

.auth-copy {
  display: grid;
  gap: 7px;
}

.auth-copy span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}

.auth-copy h1 {
  margin: 0;
  color: #0a2c50;
  font-size: 30px;
  line-height: 1.2;
}

.auth-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.auth-loading {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  border-radius: 12px;
  background: #eef6fd;
  color: #31536f;
  font-size: 13px;
}

.auth-loading-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 6px rgba(15, 111, 181, .12);
  animation: auth-pulse 1.2s ease-in-out infinite;
}

@keyframes auth-pulse {
  50% { opacity: .45; transform: scale(.82); }
}

.auth-login-form {
  display: grid;
  gap: 15px;
}

.auth-login-form[hidden] {
  display: none;
}

.auth-login-form label {
  display: grid;
  gap: 7px;
  color: #21405a;
  font-size: 13px;
  font-weight: 800;
}

.auth-login-form input {
  width: 100%;
  min-height: 46px;
  box-sizing: border-box;
  padding: 0 13px;
  border: 1px solid #cbd8e4;
  border-radius: 10px;
  outline: none;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-weight: 500;
}

.auth-login-form input:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(15, 111, 181, .12);
}

.auth-login-form .button {
  min-height: 46px;
}

.auth-login-form > small {
  color: #71818e;
  font-size: 11px;
  line-height: 1.65;
  text-align: center;
}

.auth-resource-failure {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid #e7c88d;
  border-radius: 12px;
  background: #fff8e8;
  color: #59431a;
}

.auth-resource-failure[hidden] { display: none; }
.auth-resource-failure strong { color: #7a4c00; font-size: 15px; }
.auth-resource-failure p { margin: 0; font-size: 13px; line-height: 1.7; }
.auth-resource-failure .button { min-height: 42px; }

.account-menu {
  min-height: 32px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 12px;
  border-left: 1px solid rgba(255, 255, 255, .2);
  color: #e6f0f8;
  font-size: 12px;
}

.account-menu[hidden] {
  display: none;
}

.account-menu button {
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  cursor: pointer;
}

.account-menu button:hover {
  background: rgba(255, 255, 255, .16);
}

@media (max-width: 620px) {
  .auth-gate { padding: 15px; }
  .auth-panel { padding: 25px 20px; border-radius: 18px; }
  .auth-copy h1 { font-size: 26px; }
  .account-menu > span { display: none; }
}

/*
 * Conversation-first consultation workbench.
 * The left rail is history navigation, not a case-management directory.
 */
.bangdaikan-app .app-shell {
  grid-template-columns: 244px minmax(0, 1fr);
}

.bangdaikan-app .consultation-history-nav {
  gap: 10px;
  padding: 18px 12px 16px;
}

.bangdaikan-app .consultation-history-heading {
  display: grid;
  gap: 4px;
  padding: 2px 8px 4px;
}

.bangdaikan-app .consultation-history-heading strong {
  color: #fff;
  font-size: 16px;
}

.bangdaikan-app .consultation-history-heading small,
.bangdaikan-app .consultation-history-label {
  color: rgba(215, 232, 255, .62);
  font-size: 10px;
}

.bangdaikan-app .consultation-history-label {
  padding: 7px 8px 0;
  font-weight: 800;
  letter-spacing: .08em;
}

.bangdaikan-app .new-consultation-button {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 10px;
  background: #fff;
  color: #0b58b1;
  box-shadow: 0 9px 22px rgba(0, 18, 58, .22);
  font-weight: 900;
  cursor: pointer;
}

.bangdaikan-app .new-consultation-button span {
  font-size: 20px;
  line-height: 1;
}

.bangdaikan-app .new-consultation-button:hover {
  background: #f2f7ff;
}

.bangdaikan-app .new-consultation-button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.bangdaikan-app .consultation-history-list {
  min-height: 0;
  align-content: start;
  gap: 5px;
  padding: 0 2px 6px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(185, 214, 255, .35) transparent;
}

.bangdaikan-app .consultation-history-item {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 10px 11px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: rgba(235, 244, 255, .9);
  text-align: left;
  cursor: pointer;
}

.bangdaikan-app .consultation-history-item:hover,
.bangdaikan-app .consultation-history-item.is-last-opened {
  border-color: rgba(255, 255, 255, .13);
  background: rgba(255, 255, 255, .08);
}

.bangdaikan-app .consultation-history-item.is-active {
  border-color: rgba(184, 216, 255, .46);
  background: rgba(67, 139, 236, .28);
  box-shadow: inset 3px 0 0 #7db8ff;
}

.bangdaikan-app .consultation-history-item:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.bangdaikan-app .consultation-history-item-title,
.bangdaikan-app .consultation-history-item-meta,
.bangdaikan-app .consultation-history-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bangdaikan-app .consultation-history-item-title {
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.bangdaikan-app .consultation-history-item-meta {
  color: rgba(220, 235, 255, .72);
  font-size: 10px;
}

.bangdaikan-app .consultation-history-item small {
  color: rgba(190, 213, 245, .55);
  font-size: 9px;
}

.bangdaikan-app .consultation-history-nav .case-directory-loading,
.bangdaikan-app .consultation-history-nav .case-directory-empty {
  min-height: 0;
  padding: 15px 10px;
  border: 1px dashed rgba(185, 214, 255, .24);
  border-radius: 9px;
  background: rgba(255, 255, 255, .04);
  box-shadow: none;
  color: rgba(220, 235, 255, .7);
  text-align: left;
}

.bangdaikan-app .consultation-history-nav .case-directory-empty {
  display: block;
}

.bangdaikan-app .consultation-history-nav .case-directory-empty strong {
  margin-bottom: 4px;
  color: #fff;
  font-size: 12px;
}

.bangdaikan-app .consultation-history-nav .case-directory-empty p {
  color: rgba(220, 235, 255, .64);
  font-size: 10px;
  line-height: 1.55;
}

.bangdaikan-app .consultation-history-nav .notice {
  margin: 0 2px;
  padding: 9px;
  border-radius: 8px;
  font-size: 10px;
}

.bangdaikan-app .consultation-history-nav.is-history-focus {
  box-shadow: inset 0 0 0 2px rgba(126, 184, 255, .5);
}

.bangdaikan-app .main-content {
  min-width: 0;
}

@media (max-width: 1160px) and (min-width: 901px) {
  .bangdaikan-app .app-shell {
    grid-template-columns: 210px minmax(0, 1fr);
  }
}

/* Additive case-level narrative used only when the result publishes V2 analysis fields. */
.financial-adviser-v2-narrative {
  width: min(100%, 980px);
  margin: 22px auto 28px;
  color: #17324a;
  overflow-wrap: anywhere;
}

.financial-adviser-v2-conclusion {
  padding: 24px 26px;
  border: 1px solid #cfe0f2;
  border-left: 4px solid #2374d8;
  border-radius: 14px;
  background: linear-gradient(135deg, #f7fbff 0%, #eef6ff 100%);
}

.financial-adviser-v2-conclusion > header,
.financial-adviser-v2-kind > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.financial-adviser-v2-conclusion > header span,
.financial-adviser-v2-kind > header span {
  color: #2374d8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}

.financial-adviser-v2-conclusion > header strong,
.financial-adviser-v2-kind > header > strong {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: #e3f0ff;
  color: #1764bd;
  font-size: 12px;
}

.financial-adviser-v2-conclusion h4 {
  margin: 12px 0 0;
  color: #0b3559;
  font-size: clamp(21px, 2.6vw, 30px);
  line-height: 1.35;
}

.financial-adviser-v2-conclusion > p {
  margin: 12px 0 0;
  color: #45647d;
  font-size: 15px;
  line-height: 1.85;
}

.financial-adviser-v2-conclusion > div {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #d8e7f6;
}

.financial-adviser-v2-conclusion > div strong {
  color: #1764bd;
  font-size: 13px;
}

.financial-adviser-v2-conclusion > div p {
  margin: 0;
  color: #264a68;
  line-height: 1.75;
}

.financial-adviser-v2-kind {
  margin-top: 28px;
}

.financial-adviser-v2-kind > header {
  padding-bottom: 12px;
  border-bottom: 1px solid #dbe5ee;
}

.financial-adviser-v2-kind > header h5 {
  margin: 4px 0 0;
  color: #123b5d;
  font-size: 19px;
}

.financial-adviser-v2-kind.is-fact > header span { color: #2374d8; }
.financial-adviser-v2-kind.is-fact > header > strong { background: #eaf3ff; color: #1d66bd; }
.financial-adviser-v2-kind.is-strength > header span { color: #18794e; }
.financial-adviser-v2-kind.is-strength > header > strong { background: #e7f7ef; color: #18794e; }
.financial-adviser-v2-kind.is-risk > header span { color: #b45b08; }
.financial-adviser-v2-kind.is-risk > header > strong { background: #fff2df; color: #9b4c05; }
.financial-adviser-v2-kind.is-conflict > header span { color: #b42318; }
.financial-adviser-v2-kind.is-conflict > header > strong { background: #ffebe9; color: #a31b12; }
.financial-adviser-v2-kind.is-unknown > header span { color: #66788a; }
.financial-adviser-v2-kind.is-unknown > header > strong { background: #edf1f5; color: #526475; }

.financial-adviser-v2-domains {
  display: grid;
  gap: 22px;
  padding-top: 18px;
}

.financial-adviser-v2-domain,
.financial-adviser-v2-domain > div,
.financial-adviser-v2-finding,
.financial-adviser-v2-finding header > div {
  min-width: 0;
}

.financial-adviser-v2-domain > h6 {
  margin: 0 0 8px;
  color: #63798c;
  font-size: 13px;
  font-weight: 750;
}

.financial-adviser-v2-domain > div {
  border-top: 1px solid #edf1f4;
}

.financial-adviser-v2-finding {
  padding: 20px 2px 21px 14px;
  border-bottom: 1px solid #edf1f4;
  border-left: 3px solid #aab9c6;
}

.financial-adviser-v2-finding.is-fact { border-left-color: #5b93cf; }
.financial-adviser-v2-finding.is-strength { border-left-color: #39a673; }
.financial-adviser-v2-finding.is-risk { border-left-color: #e4a146; }
.financial-adviser-v2-finding.is-conflict { border-left-color: #db6259; }
.financial-adviser-v2-finding.is-unknown { border-left-color: #98a7b5; }

.financial-adviser-v2-finding > header {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.financial-adviser-v2-finding > header > span {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: #edf4fb;
  color: #27679e;
  font-size: 12px;
  font-weight: 800;
}

.financial-adviser-v2-finding header small {
  color: #73879a;
  font-size: 13px;
}

.financial-adviser-v2-finding header h6 {
  margin: 4px 0 0;
  color: #143853;
  font-size: 16px;
  line-height: 1.5;
}

.financial-adviser-v2-finding dl {
  margin: 14px 0 0 38px;
}

.financial-adviser-v2-finding dl > div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 14px;
  padding: 7px 0;
}

.financial-adviser-v2-finding dt {
  color: #6b8092;
  font-size: 13px;
  font-weight: 750;
}

.financial-adviser-v2-finding dd {
  min-width: 0;
  margin: 0;
  color: #27465f;
  font-size: 14px;
  line-height: 1.75;
}

.financial-adviser-v2-empty-detail {
  margin: 12px 0 0 38px;
  color: #73879a;
  line-height: 1.7;
}

.financial-adviser-v2-references {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 14px 0 0 38px;
}

.financial-adviser-v2-references span,
.financial-adviser-v2-references button {
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid #d7e2ec;
  border-radius: 999px;
  background: #f7f9fb;
  color: #5c7285;
  font: inherit;
  font-size: 11px;
}

.financial-adviser-v2-references button {
  border-color: #b9d5f3;
  background: #eef6ff;
  color: #1769c2;
  cursor: pointer;
  font-weight: 750;
}

.financial-adviser-v2-references button:hover,
.financial-adviser-v2-references button:focus-visible {
  border-color: #2b7bd8;
  outline: 2px solid rgba(43, 123, 216, .18);
  outline-offset: 2px;
}

@media (max-width: 620px) {
  .financial-adviser-v2-narrative {
    width: 100%;
    margin: 16px 0 22px;
    overflow-x: hidden;
  }

  .financial-adviser-v2-conclusion {
    padding: 18px 16px;
    border-radius: 12px;
  }

  .financial-adviser-v2-conclusion > header,
  .financial-adviser-v2-kind > header {
    align-items: flex-start;
  }

  .financial-adviser-v2-conclusion h4 {
    font-size: 21px;
  }

  .financial-adviser-v2-conclusion > div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .financial-adviser-v2-kind {
    margin-top: 22px;
  }

  .financial-adviser-v2-kind > header h5 {
    font-size: 17px;
  }

  .financial-adviser-v2-finding {
    padding: 16px 0 17px 10px;
  }

  .financial-adviser-v2-finding dl,
  .financial-adviser-v2-empty-detail,
  .financial-adviser-v2-references {
    margin-left: 36px;
  }

  .financial-adviser-v2-finding dl > div {
    grid-template-columns: 1fr;
    gap: 3px;
    padding: 6px 0;
  }

  .financial-adviser-v2-references {
    align-items: stretch;
  }

  .financial-adviser-v2-references span,
  .financial-adviser-v2-references button {
    max-width: 100%;
    white-space: normal;
  }
}

/* Customer-facing V2 report: an editorial reading flow, not an audit-card grid. */
.financial-adviser-v2-narrative {
  width: min(100%, 900px);
  margin: 8px auto 34px;
  color: #183a54;
}

.financial-adviser-v2-kind,
.financial-adviser-v2-key-figures,
.financial-adviser-v2-financing-directions,
.financial-adviser-v2-product-directions,
.financial-adviser-v2-actions {
  margin-top: 32px;
}

.financial-adviser-v2-kind > h5,
.financial-adviser-v2-key-figures > h5,
.financial-adviser-v2-financing-directions > h5,
.financial-adviser-v2-product-directions > h5,
.financial-adviser-v2-actions > h5 {
  margin: 0;
  padding-bottom: 11px;
  border-bottom: 1px solid #d9e4ed;
  color: #103b5d;
  font-size: 20px;
  line-height: 1.4;
}

.financial-adviser-v2-kind.is-strength > h5 { color: #176b48; }
.financial-adviser-v2-kind.is-risk > h5 { color: #9a4b12; }

.financial-adviser-v2-kind > ol,
.financial-adviser-v2-actions > ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.financial-adviser-v2-point {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  padding: 18px 0;
  border-bottom: 1px solid #e8eef3;
}

.financial-adviser-v2-point > span {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: #edf4fa;
  color: #316c99;
  font-size: 12px;
  font-weight: 800;
}

.financial-adviser-v2-kind.is-strength .financial-adviser-v2-point > span {
  background: #e7f5ed;
  color: #19704b;
}

.financial-adviser-v2-kind.is-risk .financial-adviser-v2-point > span {
  background: #fff0e3;
  color: #a05216;
}

.financial-adviser-v2-point strong {
  display: block;
  color: #123a58;
  font-size: 16px;
  line-height: 1.55;
}

.financial-adviser-v2-point p {
  margin: 7px 0 0;
  color: #3f5f75;
  font-size: 15px;
  line-height: 1.85;
}

.financial-adviser-v2-evidence-link {
  margin-top: 9px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #176dc1;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.financial-adviser-v2-evidence-link:hover,
.financial-adviser-v2-evidence-link:focus-visible {
  color: #0c4f8f;
  outline: 2px solid rgba(23, 109, 193, .16);
  outline-offset: 3px;
}

.financial-adviser-v2-key-figures > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding-top: 16px;
}

.financial-adviser-v2-key-figures article {
  min-width: 0;
  padding: 15px 17px;
  border-left: 3px solid #5e9bd1;
  background: #f5f9fc;
}

.financial-adviser-v2-key-figures strong,
.financial-adviser-v2-key-figures span {
  display: block;
}

.financial-adviser-v2-key-figures strong {
  color: #0d426d;
  font-size: 22px;
  line-height: 1.35;
}

.financial-adviser-v2-key-figures span {
  margin-top: 5px;
  color: #5f778b;
  font-size: 13px;
  line-height: 1.5;
}

.financial-adviser-v2-actions > ol {
  counter-reset: adviser-action;
  padding-top: 8px;
}

.financial-adviser-v2-actions li {
  counter-increment: adviser-action;
  position: relative;
  padding: 10px 0 10px 38px;
  color: #2f536d;
  font-size: 15px;
  line-height: 1.75;
}

.financial-adviser-v2-actions li::before {
  content: counter(adviser-action);
  position: absolute;
  top: 11px;
  left: 0;
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  background: #176fc5;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.financial-adviser-v2-financing-directions > ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.financial-adviser-v2-financing-directions > ol > li {
  padding: 19px 0;
  border-bottom: 1px solid #e4ebf1;
}

.financial-adviser-v2-financing-directions li > div {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.financial-adviser-v2-financing-directions li > div > span {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: #176fc5;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.financial-adviser-v2-financing-directions h6 {
  margin: 0;
  color: #123a58;
  font-size: 17px;
  line-height: 1.55;
}

.financial-adviser-v2-financing-directions em {
  color: #176b48;
  font-size: 13px;
  font-style: normal;
  font-weight: 750;
}

.financial-adviser-v2-financing-directions p {
  margin: 8px 0 0 38px;
  color: #3f5f75;
  font-size: 15px;
  line-height: 1.8;
}

.financial-adviser-v2-financing-directions p strong {
  color: #153e5d;
}

/* Case-level deep analysis is written as one report, with numbers explained in context. */
.financial-adviser-case-overview,
.financial-adviser-case-detail-section {
  margin-top: 32px;
}

.financial-adviser-case-overview > h5,
.financial-adviser-case-detail-section > h5 {
  margin: 0;
  padding-bottom: 11px;
  border-bottom: 1px solid #d9e4ed;
  color: #103b5d;
  font-size: 20px;
  line-height: 1.4;
}

.financial-adviser-case-overview > div {
  padding: 17px 0 2px;
}

.financial-adviser-case-overview > div + div {
  border-top: 1px solid #e8eef3;
}

.financial-adviser-case-overview h6 {
  margin: 0 0 9px;
  color: #176b48;
  font-size: 15px;
}

.financial-adviser-case-overview .is-limitation h6 {
  color: #9a4b12;
}

.financial-adviser-case-overview ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 22px;
}

.financial-adviser-case-overview li {
  color: #35566e;
  font-size: 15px;
  line-height: 1.8;
}

.financial-adviser-case-overview li strong {
  color: #123a58;
}

.financial-adviser-case-overview li span::before {
  content: "。";
}

.financial-adviser-case-detail-section > ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.financial-adviser-case-detail-point {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  padding: 18px 0;
  border-bottom: 1px solid #e8eef3;
}

.financial-adviser-case-detail-point > span {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: #edf4fa;
  color: #316c99;
  font-size: 12px;
  font-weight: 800;
}

.financial-adviser-case-detail-point strong {
  display: block;
  color: #123a58;
  font-size: 16px;
  line-height: 1.55;
}

.financial-adviser-case-detail-point p {
  margin: 7px 0 0;
  color: #3f5f75;
  font-size: 15px;
  line-height: 1.85;
}

.conversation-adviser-deep-analysis .financial-adviser-case-detail-section {
  margin: 0;
  padding: 17px 0;
  border-bottom: 1px solid #dce6ee;
}

.conversation-adviser-deep-analysis .financial-adviser-case-detail-section > h5 {
  padding: 0;
  border: 0;
  font-size: 16px;
}

.conversation-adviser-deep-analysis .financial-adviser-case-detail-point {
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
  padding: 12px 0;
}

.conversation-adviser-deep-analysis .financial-adviser-case-detail-point:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.conversation-adviser-deep-analysis .financial-adviser-case-detail-point > span {
  width: 22px;
  height: 22px;
  font-size: 11px;
}

.conversation-adviser-deep-analysis .financial-adviser-case-detail-point strong {
  font-size: 14px;
}

.conversation-adviser-deep-analysis .financial-adviser-case-detail-point p {
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.75;
}

/* A published case synthesis is one continuous report, not a generated card dashboard. */
.financial-adviser-case-synthesis {
  width: min(100%, 900px);
  margin: 0 auto;
  color: #294b63;
  font-size: 16px;
  line-height: 1.85;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.financial-adviser-case-synthesis > section {
  margin: 0;
  padding: 28px 0 4px;
}

.financial-adviser-case-synthesis > section + section {
  margin-top: 6px;
}

.financial-adviser-case-synthesis h5 {
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d9e4ed;
  color: #103b5d;
  font-size: 21px;
  line-height: 1.45;
}

.financial-adviser-case-synthesis h6 {
  margin: 0 0 7px;
  color: #173f5d;
  font-size: 16px;
  line-height: 1.55;
}

.financial-adviser-case-synthesis p {
  margin: 0;
  color: #34566e;
  font-size: 16px;
  line-height: 1.85;
}

.financial-adviser-case-synthesis p + p {
  margin-top: 8px;
}

.financial-adviser-case-synthesis ul,
.financial-adviser-case-synthesis ol {
  margin: 0;
  padding-left: 25px;
}

.financial-adviser-case-synthesis li {
  padding: 3px 0 12px 3px;
  color: #34566e;
  font-size: 16px;
  line-height: 1.85;
}

.financial-adviser-case-synthesis li + li {
  margin-top: 5px;
}

.financial-adviser-case-synthesis li > strong {
  display: block;
  margin-bottom: 3px;
  color: #173f5d;
  font-size: 16px;
  line-height: 1.65;
}

.financial-adviser-case-synthesis-overview > div {
  padding: 3px 0 10px;
}

.financial-adviser-case-synthesis-overview > div + div {
  padding-top: 12px;
  border-top: 1px solid #edf1f4;
}

.financial-adviser-case-synthesis-overview .is-strength > h6 {
  color: #176b48;
}

.financial-adviser-case-synthesis-overview .is-limitation > h6 {
  color: #9b4d13;
}

.financial-adviser-case-synthesis-paragraph {
  padding: 2px 0 16px;
}

.financial-adviser-case-synthesis-paragraph + .financial-adviser-case-synthesis-paragraph {
  padding-top: 14px;
  border-top: 1px solid #edf1f4;
}

.financial-adviser-case-synthesis-section.is-products > ol,
.financial-adviser-case-synthesis-section.is-actions > ol {
  padding-left: 28px;
}

.financial-adviser-case-synthesis.is-compact {
  width: 100%;
  margin: 0;
  font-size: 15px;
}

.financial-adviser-case-synthesis.is-compact > section {
  padding: 18px 0 2px;
  border-bottom: 1px solid #dce6ee;
}

.financial-adviser-case-synthesis.is-compact > section:last-child {
  border-bottom: 0;
}

.financial-adviser-case-synthesis.is-compact h5 {
  margin-bottom: 12px;
  padding: 0;
  border: 0;
  font-size: 17px;
}

.financial-adviser-case-synthesis.is-compact h6,
.financial-adviser-case-synthesis.is-compact p,
.financial-adviser-case-synthesis.is-compact li,
.financial-adviser-case-synthesis.is-compact li > strong {
  font-size: 15px;
}

.financial-adviser-case-synthesis.is-compact p,
.financial-adviser-case-synthesis.is-compact li {
  line-height: 1.8;
}

@media (max-width: 620px) {
  .financial-adviser-case-synthesis,
  .financial-adviser-case-synthesis.is-compact {
    width: 100%;
    font-size: 15px;
  }

  .financial-adviser-case-synthesis > section {
    padding-top: 22px;
  }

  .financial-adviser-case-synthesis h5 {
    font-size: 19px;
  }

  .financial-adviser-case-synthesis h6,
  .financial-adviser-case-synthesis p,
  .financial-adviser-case-synthesis li,
  .financial-adviser-case-synthesis li > strong {
    font-size: 15px;
  }

  .financial-adviser-case-synthesis ul,
  .financial-adviser-case-synthesis ol {
    padding-left: 22px;
  }
}

/* A-version report overview: decision first, then auditable facts and next actions. */
.financial-adviser-a-overview {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 38px 46px 54px;
  color: #173f5d;
  background: #fff;
  font-size: 16px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.financial-adviser-a-conclusion {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 42px;
  align-items: start;
  padding: 0 0 30px;
}

.financial-adviser-a-conclusion > div > span {
  display: block;
  margin-bottom: 8px;
  color: #116db0;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.financial-adviser-a-conclusion h3 {
  margin: 0 0 13px;
  color: #0b3658;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.35;
}

.financial-adviser-a-conclusion p {
  margin: 0;
  color: #31556e;
  font-size: 17px;
  line-height: 1.85;
}

.financial-adviser-a-route {
  padding-left: 22px;
  border-left: 3px solid #1980c2;
}

.financial-adviser-a-route > span {
  display: block;
  margin-bottom: 13px;
  color: #6a8397;
  font-size: 13px;
  font-weight: 700;
}

.financial-adviser-a-route-node {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  color: #0b4f80;
}

.financial-adviser-a-route-node i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #0b69a8;
  background: #e9f5fb;
  font-size: 14px;
  font-style: normal;
  font-weight: 800;
}

.financial-adviser-a-route-node strong {
  font-size: 15px;
  line-height: 1.5;
}

.financial-adviser-a-route-connector {
  margin: 7px 0 7px 14px;
  padding: 5px 0 5px 25px;
  border-left: 1px solid #ccdae4;
  color: #718899;
  font-size: 13px;
}

.financial-adviser-a-fact-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  margin: 0;
  border-top: 1px solid #d7e2ea;
  border-bottom: 1px solid #d7e2ea;
}

.financial-adviser-a-fact-strip > div {
  min-width: 0;
  padding: 19px 16px;
  border-right: 1px solid #e1e9ef;
}

.financial-adviser-a-fact-strip > div:last-child {
  border-right: 0;
}

.financial-adviser-a-fact-strip dt {
  color: #678096;
  font-size: 13px;
}

.financial-adviser-a-fact-strip dd {
  margin: 6px 0 0;
  color: #0a426c;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.35;
}

.financial-adviser-a-fact-strip small {
  display: block;
  margin-top: 5px;
  color: #70889a;
  font-size: 13px;
  line-height: 1.55;
}

.financial-adviser-a-module-index {
  padding-top: 12px;
}

.financial-adviser-evidence-chain-section {
  padding-top: 18px;
}

.financial-adviser-evidence-chain-list {
  border-top: 1px solid #d8e3eb;
}

.financial-adviser-evidence-chain {
  --chain-accent: #1776b4;
  --chain-soft: #edf6fc;
  padding: 24px 0 22px;
  border-bottom: 1px solid #dfe8ee;
}

.financial-adviser-evidence-chain.is-corroborated {
  --chain-accent: #16805d;
  --chain-soft: #edf8f3;
}

.financial-adviser-evidence-chain.is-partial,
.financial-adviser-evidence-chain.is-documented {
  --chain-accent: #aa6b18;
  --chain-soft: #fff7e9;
}

.financial-adviser-evidence-chain.is-conflict {
  --chain-accent: #bd504d;
  --chain-soft: #fff1f0;
}

.financial-adviser-evidence-chain.is-unverified {
  --chain-accent: #687f91;
  --chain-soft: #f1f5f7;
}

.financial-adviser-evidence-chain > header {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: start;
}

.financial-adviser-evidence-chain > header > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  color: var(--chain-accent);
  background: var(--chain-soft);
  font-size: 13px;
  font-weight: 900;
}

.financial-adviser-evidence-chain > header h5 {
  margin: 0;
  color: #123f60;
  font-size: 19px;
  line-height: 1.45;
}

.financial-adviser-evidence-chain > header p {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 7px 0 0;
}

.financial-adviser-evidence-chain > header p i {
  padding: 3px 8px;
  border-radius: 999px;
  color: #60798d;
  background: #f2f6f8;
  font-size: 13px;
  font-style: normal;
  line-height: 1.5;
}

.financial-adviser-evidence-chain > header > strong {
  padding: 5px 10px;
  border: 1px solid color-mix(in srgb, var(--chain-accent) 22%, #fff);
  border-radius: 999px;
  color: var(--chain-accent);
  background: var(--chain-soft);
  font-size: 13px;
  line-height: 1.45;
  white-space: nowrap;
}

.financial-adviser-evidence-chain-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 20px;
  border: 1px solid #dce6ed;
  border-radius: 14px;
  background: #fbfdfe;
  overflow: hidden;
}

.financial-adviser-evidence-chain-steps > section {
  min-width: 0;
  padding: 16px;
  border-left: 1px solid #e1e9ef;
}

.financial-adviser-evidence-chain-steps > section:first-child {
  border-left: 0;
}

.financial-adviser-evidence-chain-steps > section > span,
.financial-adviser-evidence-chain-steps strong,
.financial-adviser-evidence-chain-steps p,
.financial-adviser-evidence-chain-steps small {
  display: block;
}

.financial-adviser-evidence-chain-steps > section > span {
  margin-bottom: 6px;
  color: var(--chain-accent);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.financial-adviser-evidence-chain-steps strong {
  color: #234b68;
  font-size: 13px;
}

.financial-adviser-evidence-chain-steps p {
  margin: 7px 0 0;
  color: #5b7386;
  font-size: 13px;
  line-height: 1.7;
}

.financial-adviser-evidence-chain-steps small {
  margin-top: 8px;
  color: #8193a2;
  font-size: 13px;
  line-height: 1.65;
}

.financial-adviser-evidence-chain > footer {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  margin-top: 13px;
}

.financial-adviser-evidence-chain > footer button {
  padding: 4px 0;
  border: 0;
  color: #176c9f;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.financial-adviser-evidence-chain > footer button:last-child {
  color: #637c8f;
}

.financial-adviser-evidence-chain > footer button:hover,
.financial-adviser-evidence-chain > footer button:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.financial-adviser-a-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
}

.financial-adviser-a-section-heading > div > span {
  display: block;
  margin-bottom: 3px;
  color: #6d8496;
  font-size: 13px;
  font-weight: 700;
}

.financial-adviser-a-section-heading h4 {
  margin: 0;
  color: #0d3d60;
  font-size: 22px;
  line-height: 1.45;
}

.financial-adviser-a-section-heading > small {
  color: #71899a;
  font-size: 13px;
  white-space: nowrap;
}

.financial-adviser-a-section-heading > button {
  flex: 0 0 auto;
  padding: 7px 0;
  border: 0;
  color: #0d6fae;
  background: transparent;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.financial-adviser-a-section-heading > button:hover,
.financial-adviser-a-section-heading > button:focus-visible {
  color: #084b77;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.financial-adviser-a-module-rows {
  border-top: 1px solid #d8e3eb;
}

.financial-adviser-a-module-row {
  --module-accent: #1976b8;
  --module-soft: #edf6fc;
  display: grid;
  grid-template-columns: minmax(190px, 220px) minmax(0, 1fr) 92px;
  gap: 20px;
  align-items: center;
  padding: 21px 0;
  border-bottom: 1px solid #dfe8ee;
}

.financial-adviser-a-module-row.is-debt { --module-accent: #b6632e; --module-soft: #fff5ec; }
.financial-adviser-a-module-row.is-income { --module-accent: #20825f; --module-soft: #edf8f3; }
.financial-adviser-a-module-row.is-cashflow { --module-accent: #16838d; --module-soft: #edf8f8; }
.financial-adviser-a-module-row.is-assets { --module-accent: #7358a7; --module-soft: #f5f1fb; }
.financial-adviser-a-module-row.is-evidence { --module-accent: #526d82; --module-soft: #f1f5f7; }

.financial-adviser-a-module-identity {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
}

.financial-adviser-a-module-identity > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  color: var(--module-accent);
  background: var(--module-soft);
  font-size: 13px;
  font-weight: 900;
}

.financial-adviser-a-module-identity h5,
.financial-adviser-a-module-identity h4 {
  margin: 0 0 3px;
  color: #123f60;
  font-size: 18px;
  line-height: 1.4;
}

.financial-adviser-a-module-identity p {
  margin: 0;
  color: #6a8193;
  font-size: 13px;
  line-height: 1.55;
}

.financial-adviser-a-module-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
}

.financial-adviser-a-module-metric {
  position: relative;
  min-width: 0;
  min-height: 84px;
  padding: 9px 28px 9px 16px;
  border: 0;
  border-left: 1px solid #dce6ed;
  border-radius: 0;
  color: #244d69;
  background: transparent;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease;
}

.financial-adviser-a-module-metric:first-child {
  border-left: 0;
}

.financial-adviser-a-module-metric:hover,
.financial-adviser-a-module-metric:focus-visible {
  border-radius: 9px;
  background: var(--module-soft);
  outline: none;
}

.financial-adviser-a-module-metric > span,
.financial-adviser-a-module-metric > strong,
.financial-adviser-a-module-metric > small {
  display: block;
}

.financial-adviser-a-module-metric > span {
  color: #6b8294;
  font-size: 13px;
  line-height: 1.35;
}

.financial-adviser-a-module-metric > strong {
  margin-top: 5px;
  color: #0d446c;
  font-size: 20px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.financial-adviser-a-module-metric > small {
  margin-top: 4px;
  color: #6d8495;
  font-size: 13px;
  line-height: 1.4;
}

.financial-adviser-a-module-metric > i {
  position: absolute;
  top: 11px;
  right: 12px;
  color: #9bafbc;
  font-size: 20px;
  font-style: normal;
  line-height: 1;
}

.financial-adviser-a-module-metric.is-emphasis {
  background: transparent;
}

.financial-adviser-a-module-metric.is-emphasis > strong { color: var(--module-accent); }
.financial-adviser-a-module-metric.is-positive > strong { color: #16704a; }
.financial-adviser-a-module-metric.is-caution > strong { color: #9a591e; }

.financial-adviser-a-metric-progress {
  display: block;
  width: 100%;
  height: 4px;
  margin-top: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6edf2;
}

.financial-adviser-a-metric-progress > i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--module-accent);
}

.financial-adviser-a-module-metric.is-caution .financial-adviser-a-metric-progress > i {
  background: #d28439;
}

.financial-adviser-a-module-open {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  min-width: 0;
  padding: 10px 0;
  border: 0;
  color: var(--module-accent);
  background: transparent;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}

.financial-adviser-a-module-open i {
  font-size: 17px;
  font-style: normal;
  transition: transform 160ms ease;
}

.financial-adviser-a-module-open:hover i,
.financial-adviser-a-module-open:focus-visible i {
  transform: translateX(3px);
}

.financial-adviser-a-module-open:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--module-accent) 32%, transparent);
  outline-offset: 4px;
  border-radius: 4px;
}

.financial-adviser-overview-more {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  margin: 26px 30px 0;
  padding: 20px 0;
  border-top: 1px solid #d8e5ee;
  border-bottom: 1px solid #d8e5ee;
}

.financial-adviser-overview-more span {
  color: #6c8497;
  font-size: 13px;
}

.financial-adviser-overview-more h3 {
  margin: 3px 0 0;
  color: #173f5d;
  font-size: 19px;
}

.financial-adviser-overview-more > div:last-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.financial-adviser-overview-more button {
  padding: 10px 14px;
  border: 1px solid #d5e2eb;
  border-radius: 10px;
  color: #125f91;
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.financial-adviser-drilldown[hidden] {
  display: none !important;
}

.financial-adviser-drilldown {
  min-height: 520px;
  background: #f7fafc;
}

.financial-adviser-drilldown-header {
  position: sticky;
  top: 0;
  z-index: 5;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: 17px 30px;
  border-bottom: 1px solid #d8e5ee;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 4px 16px rgba(27, 64, 91, 0.05);
  backdrop-filter: blur(10px);
}

.financial-adviser-drilldown-header > button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 13px;
  border: 1px solid #ccdae4;
  border-radius: 10px;
  color: #125f91;
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.financial-adviser-drilldown-header > button:hover,
.financial-adviser-drilldown-header > button:focus-visible {
  border-color: #61a1ca;
  background: #eef7fc;
  outline: none;
}

.financial-adviser-drilldown-header > div > span {
  display: block;
  color: #6a8396;
  font-size: 13px;
}

.financial-adviser-drilldown-header h3 {
  margin: 2px 0 0;
  color: #103f61;
  font-size: 21px;
  line-height: 1.35;
}

[data-financial-adviser-detail-anchor] {
  scroll-margin-top: 112px;
}

.financial-adviser-credit-overview {
  overflow: hidden;
  margin-bottom: 24px;
  border: 1px solid #d5e2eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(22, 65, 95, 0.06);
}

.financial-adviser-reading-warning {
  margin: 16px 20px;
  padding: 14px 18px;
  border-left: 3px solid #b87418;
  border-radius: 6px;
  background: #fff8ec;
  color: #775321;
}

.financial-adviser-reading-warning p {
  margin: 6px 0 0;
  line-height: 1.7;
  font-size: 14px;
}

.financial-adviser-credit-overview-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 25px 28px 22px;
  border-bottom: 1px solid #dce6ed;
  background: linear-gradient(115deg, #f0f8fd 0%, #f8fbfd 65%, #f0f8f5 100%);
}

.financial-adviser-credit-overview-header > div:first-child > span {
  display: block;
  margin-bottom: 5px;
  color: #1675b5;
  font-size: 13px;
  font-weight: 800;
}

.financial-adviser-credit-overview-header h4 {
  margin: 0;
  color: #0a3f65;
  font-size: 25px;
  line-height: 1.4;
}

.financial-adviser-credit-overview-header p {
  margin: 7px 0 0;
  color: #5f788b;
  font-size: 14px;
  line-height: 1.7;
}

.financial-adviser-credit-overview-header > div:last-child {
  flex: 0 0 auto;
  padding-top: 3px;
  color: #708798;
  font-size: 13px;
  text-align: right;
}

.financial-adviser-credit-overview-header > div:last-child strong {
  display: block;
  margin-top: 5px;
  color: #164b6d;
  font-size: 16px;
}

.financial-adviser-credit-overview-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  border-bottom: 1px solid #dfe7ed;
}

.financial-adviser-credit-overview-group:last-child {
  border-bottom: 0;
}

.financial-adviser-credit-overview-group-title {
  padding: 22px 20px 20px 24px;
  border-bottom: 1px solid #dfe7ed;
  background: #f7fafc;
}

.financial-adviser-credit-overview-group-title > span {
  display: block;
  margin-bottom: 7px;
  color: #1675b5;
  font-size: 13px;
  font-weight: 900;
}

.financial-adviser-credit-overview-group-title h5 {
  margin: 0;
  color: #163f5d;
  font-size: 17px;
  line-height: 1.45;
}

.financial-adviser-credit-overview-group-title p {
  margin: 7px 0 0;
  color: #6b8191;
  font-size: 13px;
  line-height: 1.6;
}

.financial-adviser-credit-overview-metrics {
  display: grid;
  min-width: 0;
}

.financial-adviser-credit-overview-metrics.is-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.financial-adviser-credit-overview-metrics.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.financial-adviser-credit-overview-metrics.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.financial-adviser-credit-overview-metrics.is-one { grid-template-columns: minmax(0, 1fr); }

.financial-adviser-credit-overview-metric {
  position: relative;
  min-width: 0;
  min-height: 128px;
  padding: 20px 36px 18px 19px;
  border: 0;
  border-left: 1px solid #dfe7ed;
  color: #224b68;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 150ms ease;
}

.financial-adviser-credit-overview-metric:first-child { border-left: 0; }
.financial-adviser-credit-overview-metric:hover,
.financial-adviser-credit-overview-metric:focus-visible { background: #eef7fc; outline: none; }

.financial-adviser-credit-overview-metric-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #637d90;
  font-size: 13px;
  line-height: 1.45;
}

.financial-adviser-credit-overview-metric-label > i {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 9px;
  color: #176ea9;
  background: #e8f3fb;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.financial-adviser-credit-overview-metric > strong {
  display: block;
  margin-top: 11px;
  color: #0a426c;
  font-size: 21px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.financial-adviser-credit-overview-metric > small {
  display: block;
  margin-top: 6px;
  color: #6e8494;
  font-size: 13px;
  line-height: 1.55;
}

.financial-adviser-credit-overview-metric > b {
  position: absolute;
  top: 50%;
  right: 14px;
  color: #9bafbc;
  font-size: 21px;
  font-weight: 500;
  transform: translateY(-50%);
}

.financial-adviser-credit-overview-metric.is-positive > strong { color: #14734c; }
.financial-adviser-credit-overview-metric.is-caution > strong { color: #a05d1f; }
.financial-adviser-credit-overview-metric.is-alert > strong { color: #b34242; }
.financial-adviser-credit-overview-metric.is-missing > strong { color: #617687; font-size: 18px; }
.financial-adviser-credit-overview-metric.is-missing .financial-adviser-credit-overview-metric-label > i { color: #687f90; background: #edf1f4; }

.financial-adviser-a-module-row.financial-adviser-income-expense-overview {
  display: block;
  margin-bottom: 0;
}

.financial-adviser-income-expense-overview-heading {
  margin-bottom: 14px;
}

.financial-adviser-income-expense-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
}

.financial-adviser-income-expense-overview-metric {
  --income-expense-accent: #147a59;
  --income-expense-soft: #eaf7f1;
  position: relative;
  min-width: 0;
  min-height: 104px;
  padding: 12px 32px 12px 15px;
  border: 0;
  border-left: 1px solid #dfe7ed;
  color: #224b68;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 150ms ease;
}

.financial-adviser-income-expense-overview-metric.is-income {
  --income-expense-accent: #147a59;
  --income-expense-soft: #eaf7f1;
}

.financial-adviser-income-expense-overview-metric.is-expense {
  --income-expense-accent: #9a621f;
  --income-expense-soft: #fbf3e8;
}

.financial-adviser-income-expense-overview-metric.is-risk {
  --income-expense-accent: #a34848;
  --income-expense-soft: #faeeee;
}

.financial-adviser-income-expense-overview-metric.is-surplus {
  --income-expense-accent: #166f7b;
  --income-expense-soft: #eaf6f7;
}

.financial-adviser-income-expense-overview-metric:first-child { border-left: 0; }
.financial-adviser-income-expense-overview-metric:hover,
.financial-adviser-income-expense-overview-metric:focus-visible {
  border-radius: 9px;
  background: var(--income-expense-soft);
  outline: none;
}

.financial-adviser-income-expense-overview-metric-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #637d90;
  font-size: 13px;
  line-height: 1.45;
}

.financial-adviser-income-expense-overview-metric-label > i {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  color: var(--income-expense-accent);
  background: var(--income-expense-soft);
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.financial-adviser-income-expense-overview-metric > strong {
  display: block;
  margin-top: 7px;
  color: #0a426c;
  font-size: 19px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.financial-adviser-income-expense-overview-metric > small {
  display: block;
  margin-top: 4px;
  color: #6e8494;
  font-size: 13px;
  line-height: 1.55;
}

.financial-adviser-income-expense-overview-metric > b {
  position: absolute;
  top: 50%;
  right: 14px;
  color: #9bafbc;
  font-size: 21px;
  font-weight: 500;
  transform: translateY(-50%);
}

.financial-adviser-income-expense-overview-metric.is-positive > strong { color: #14734c; }
.financial-adviser-income-expense-overview-metric.is-caution > strong { color: #a05d1f; }
.financial-adviser-income-expense-overview-metric.is-missing > strong { color: #617687; font-size: 18px; }
.financial-adviser-income-expense-overview-metric.is-missing .financial-adviser-income-expense-overview-metric-label > i {
  color: #687f90;
  background: #edf1f4;
}

section.financial-adviser-section.financial-adviser-income-expense-specialist-panel {
  --income-expense-detail-accent: #147a59;
  --income-expense-detail-soft: #edf8f3;
  --income-expense-detail-border: #cfe5db;
  width: min(calc(100% - 60px), 1180px);
  margin-right: auto;
  margin-left: auto;
  padding: 28px;
}

.financial-adviser-income-expense-specialist-panel.is-expense {
  --income-expense-detail-accent: #9a621f;
  --income-expense-detail-soft: #fcf4e9;
  --income-expense-detail-border: #ead7b8;
}

.financial-adviser-income-expense-specialist-panel.is-risk {
  --income-expense-detail-accent: #a34848;
  --income-expense-detail-soft: #fbefef;
  --income-expense-detail-border: #ebcccc;
}

.financial-adviser-income-expense-specialist-panel.is-surplus {
  --income-expense-detail-accent: #166f7b;
  --income-expense-detail-soft: #ebf7f8;
  --income-expense-detail-border: #cce3e6;
}

.financial-adviser-income-expense-specialist-lead {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 24px;
  padding: 20px 22px;
  border: 1px solid var(--income-expense-detail-border);
  border-radius: 16px;
  background: linear-gradient(115deg, var(--income-expense-detail-soft), #fff);
}

.financial-adviser-income-expense-specialist-lead > span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  color: #fff;
  background: var(--income-expense-detail-accent);
  font-size: 20px;
  font-weight: 900;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--income-expense-detail-accent) 22%, transparent);
}

.financial-adviser-income-expense-specialist-lead small {
  color: var(--income-expense-detail-accent);
  font-size: 13px;
  font-weight: 900;
}

.financial-adviser-income-expense-specialist-lead h4 {
  margin: 3px 0 0;
  color: #143e5b;
  font-size: 24px;
  line-height: 1.35;
}

.financial-adviser-income-expense-specialist-lead p {
  margin: 6px 0 0;
  color: #5c7689;
  font-size: 14px;
  line-height: 1.7;
}

.financial-adviser-income-expense-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 24px;
  border: 1px solid #dbe5ec;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.financial-adviser-income-expense-summary-strip > div {
  min-width: 0;
  padding: 17px 16px;
  border-left: 1px solid #e0e8ee;
}

.financial-adviser-income-expense-summary-strip > div:first-child { border-left: 0; }
.financial-adviser-income-expense-summary-strip dt { color: #6d8292; font-size: 13px; }
.financial-adviser-income-expense-summary-strip dd {
  margin: 7px 0 0;
  color: #123f60;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.financial-adviser-income-expense-summary-strip small {
  display: block;
  margin-top: 5px;
  color: #718696;
  font-size: 13px;
  line-height: 1.55;
}
.financial-adviser-income-expense-summary-strip .is-caution dd { color: #a25a25; }

.financial-adviser-income-verification-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 18px;
  margin-bottom: 22px;
  padding: 17px 19px;
  border: 1px solid var(--income-expense-detail-border);
  border-left: 5px solid var(--income-expense-detail-accent);
  border-radius: 13px;
  background: var(--income-expense-detail-soft);
}

.financial-adviser-income-verification-status > span,
.financial-adviser-income-verification-status > p,
.financial-adviser-income-verification-status > small { grid-column: 1; }
.financial-adviser-income-verification-status > span { color: #60798a; font-size: 13px; font-weight: 800; }
.financial-adviser-income-verification-status > strong {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--income-expense-detail-accent);
  font-size: 18px;
}
.financial-adviser-income-verification-status > p { margin: 0; color: #3f6278; line-height: 1.65; }
.financial-adviser-income-verification-status > small { color: #687f90; }

.financial-adviser-income-expense-comparison {
  margin: 0 0 24px;
  padding: 20px;
  border: 1px solid #dbe5ec;
  border-radius: 15px;
  background: #fff;
}

.financial-adviser-income-expense-comparison figcaption { margin-bottom: 18px; }
.financial-adviser-income-expense-comparison figcaption strong { display: block; color: #173f5d; font-size: 17px; }
.financial-adviser-income-expense-comparison figcaption span { display: block; margin-top: 4px; color: #708696; font-size: 13px; }
.financial-adviser-income-expense-comparison-bars { display: grid; gap: 13px; }
.financial-adviser-income-expense-comparison-bars > div {
  display: grid;
  grid-template-columns: minmax(110px, 0.75fr) minmax(170px, 2fr) minmax(104px, auto);
  gap: 5px 14px;
  align-items: center;
}
.financial-adviser-income-expense-comparison-bars span { color: #4f6c80; font-size: 13px; font-weight: 800; }
.financial-adviser-income-expense-comparison-bars i {
  height: 10px;
  border-radius: 999px;
  background: #e9eff3;
  overflow: hidden;
}
.financial-adviser-income-expense-comparison-bars b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--income-expense-detail-accent);
}
.financial-adviser-income-expense-comparison-bars .is-proof b { background: #3e8f70; }
.financial-adviser-income-expense-comparison-bars .is-flow b { background: #2b83a7; }
.financial-adviser-income-expense-comparison-bars strong { color: #183f5c; font-size: 14px; text-align: right; }
.financial-adviser-income-expense-comparison-bars small {
  grid-column: 2 / -1;
  color: #7a8d9b;
  font-size: 13px;
}

.financial-adviser-income-expense-table-section {
  margin-top: 24px;
  border: 1px solid #dbe5ec;
  border-radius: 15px;
  background: #fff;
  overflow: hidden;
}

.financial-adviser-income-expense-table-section > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border-bottom: 1px solid #dfe7ed;
  background: #f7fafc;
}
.financial-adviser-income-expense-table-section > header small { color: var(--income-expense-detail-accent); font-size: 13px; font-weight: 900; }
.financial-adviser-income-expense-table-section > header h5 { margin: 3px 0 0; color: #173f5d; font-size: 18px; }
.financial-adviser-income-expense-table-section > header > span { color: #6e8494; font-size: 13px; }
.financial-adviser-income-expense-table-wrap { max-width: 100%; overflow-x: auto; }
.financial-adviser-income-expense-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  color: #3e6076;
  font-size: 13px;
}
.financial-adviser-income-expense-table th,
.financial-adviser-income-expense-table td {
  padding: 13px 15px;
  border-bottom: 1px solid #e4ebf0;
  text-align: left;
  vertical-align: top;
}
.financial-adviser-income-expense-table th { color: #637c8e; background: #fbfcfd; font-size: 13px; white-space: nowrap; }
.financial-adviser-income-expense-table tbody tr:last-child td { border-bottom: 0; }
.financial-adviser-income-expense-table td > strong { display: block; color: #173f5d; }
.financial-adviser-income-expense-table td > small { display: block; margin-top: 4px; color: #7a8d9b; line-height: 1.5; }
.financial-adviser-income-expense-table td > span {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}
.financial-adviser-income-expense-table .is-adopted,
.financial-adviser-income-expense-table .is-verified { color: #14734c; background: #e7f5ed; }
.financial-adviser-income-expense-table .is-pending { color: #965b1e; background: #fbf0df; }
.financial-adviser-income-expense-table .is-risk-clue { color: #a34848; background: #faeeee; }
.financial-adviser-income-expense-table strong.is-positive { color: #14734c; }
.financial-adviser-income-expense-table strong.is-negative { color: #b34242; }

.financial-adviser-income-expense-visual-grid { display: grid; margin-top: 24px; }
.financial-adviser-income-expense-donut-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid #dbe5ec;
  border-radius: 15px;
  background: #fff;
}
.financial-adviser-income-expense-donut-card > div:first-child small { color: var(--income-expense-detail-accent); font-size: 13px; font-weight: 900; }
.financial-adviser-income-expense-donut-card > div:first-child h5 { margin: 3px 0 18px; color: #173f5d; font-size: 18px; }

.financial-adviser-income-expense-quality {
  margin-top: 24px;
  padding: 20px;
  border: 1px solid #dbe5ec;
  border-radius: 15px;
  background: #fff;
}
.financial-adviser-income-expense-quality > header { display: flex; justify-content: space-between; gap: 16px; align-items: end; }
.financial-adviser-income-expense-quality > header small { color: var(--income-expense-detail-accent); font-size: 13px; font-weight: 900; }
.financial-adviser-income-expense-quality > header h5 { margin: 3px 0 0; color: #173f5d; font-size: 18px; }
.financial-adviser-income-expense-quality > header > strong { color: var(--income-expense-detail-accent); }
.financial-adviser-income-expense-quality dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 18px 0 0;
  border-top: 1px solid #e1e9ef;
  border-bottom: 1px solid #e1e9ef;
}
.financial-adviser-income-expense-quality dl > div { padding: 13px; border-left: 1px solid #e1e9ef; }
.financial-adviser-income-expense-quality dl > div:first-child { border-left: 0; }
.financial-adviser-income-expense-quality dt { color: #758997; font-size: 13px; }
.financial-adviser-income-expense-quality dd { margin: 5px 0 0; color: #173f5d; font-weight: 800; }
.financial-adviser-income-expense-quality ul { margin: 14px 0 0; padding-left: 20px; color: #60798a; line-height: 1.65; }

.financial-adviser-income-expense-boundary {
  margin: 20px 0 0;
  padding: 14px 16px;
  border-left: 4px solid var(--income-expense-detail-accent);
  color: #587286;
  background: var(--income-expense-detail-soft);
  font-size: 13px;
  line-height: 1.7;
}
.financial-adviser-income-expense-boundary strong { color: #294f68; }
.financial-adviser-income-expense-empty {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 22px;
  border: 1px dashed var(--income-expense-detail-border);
  border-radius: 14px;
  color: #5f7789;
  background: var(--income-expense-detail-soft);
}
.financial-adviser-income-expense-empty > span { color: var(--income-expense-detail-accent); font-size: 24px; line-height: 1; }
.financial-adviser-income-expense-empty strong { color: #234c67; }
.financial-adviser-income-expense-empty p { margin: 5px 0 0; line-height: 1.65; }
.financial-adviser-income-expense-partial-warning {
  display: flex;
  gap: 12px;
  margin: 0 0 20px;
  padding: 13px 15px;
  border: 1px solid #ebd4ae;
  border-radius: 12px;
  color: #84541f;
  background: #fff7e8;
}
.financial-adviser-income-expense-partial-warning span { color: #725e46; }
.cashflow-chart-card.financial-adviser-income-expense-surplus-chart {
  margin: 0 0 24px;
  border-radius: 15px;
  box-shadow: none;
}
.financial-adviser-income-expense-surplus-chart .cashflow-chart-card-heading { padding: 16px 18px; }
.financial-adviser-income-expense-surplus-chart .cashflow-chart-card-heading span,
.financial-adviser-income-expense-surplus-chart .cashflow-chart-legend,
.financial-adviser-income-expense-surplus-chart .cashflow-month-column > strong,
.financial-adviser-income-expense-surplus-chart .cashflow-month-column > small { font-size: 13px; }
.financial-adviser-income-expense-surplus-chart .cashflow-chart-card-heading h4 { font-size: 18px; }

.financial-adviser-cross-evidence {
  margin: 0 0 24px;
  padding: 20px;
  border: 1px solid #d7e5ed;
  border-radius: 15px;
  background: linear-gradient(145deg, #fbfdff, #f4faf7);
}
.financial-adviser-cross-evidence > header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 16px;
}
.financial-adviser-cross-evidence > header small { color: #378269; font-size: 13px; font-weight: 900; }
.financial-adviser-cross-evidence > header h5 { margin: 3px 0 0; color: #173f5d; font-size: 17px; }
.financial-adviser-cross-evidence > header > strong,
.financial-adviser-cashflow-risk-object summary > b {
  padding: 5px 9px;
  border-radius: 999px;
  color: #8b591e;
  background: #fff0d8;
  font-size: 13px;
  white-space: nowrap;
}
.financial-adviser-cross-evidence > header > strong.is-corroborated,
.financial-adviser-cashflow-risk-object summary > b.is-corroborated { color: #14734c; background: #e4f4eb; }
.financial-adviser-cross-evidence > header > strong.is-contradicted { color: #a23f45; background: #fae8ea; }
.financial-adviser-cross-evidence-stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #dce7ed;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.financial-adviser-cross-evidence-stages article {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 9px;
  padding: 14px;
  border-left: 1px solid #e2e9ee;
}
.financial-adviser-cross-evidence-stages article:first-child { border-left: 0; }
.financial-adviser-cross-evidence-stages i { color: #268066; font-size: 13px; font-style: normal; font-weight: 900; }
.financial-adviser-cross-evidence-stages strong { color: #274e68; font-size: 13px; }
.financial-adviser-cross-evidence-stages p { margin: 5px 0 0; color: #657d8e; font-size: 13px; line-height: 1.65; }
.financial-adviser-cross-evidence-checks { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.financial-adviser-cross-evidence-checks span {
  display: inline-flex;
  gap: 6px;
  padding: 5px 9px;
  border-radius: 8px;
  color: #7e591f;
  background: #fff3df;
  font-size: 13px;
}
.financial-adviser-cross-evidence-checks b { color: #496578; }
.financial-adviser-cross-evidence-checks .is-match { color: #14734c; background: #e8f5ed; }
.financial-adviser-cross-evidence-checks .is-mismatch { color: #a23f45; background: #faeaec; }

.financial-adviser-accounting-closure-notice {
  margin: 0 0 22px;
  padding: 15px 17px;
  border: 1px solid #cfe0ea;
  border-left: 4px solid #2d7eaa;
  border-radius: 12px;
  color: #557184;
  background: #f5fafe;
}
.financial-adviser-accounting-closure-notice.is-caution { border-color: #ead4ad; border-left-color: #b3772e; background: #fff8eb; }
.financial-adviser-accounting-closure-notice.is-verified { border-color: #c7e2d4; border-left-color: #2a8a66; background: #f1faf5; }
.financial-adviser-accounting-closure-notice strong { color: #204c68; font-size: 14px; }
.financial-adviser-accounting-closure-notice p { margin: 5px 0 0; font-size: 13px; line-height: 1.65; }

.financial-adviser-cashflow-risk-modules { display: grid; gap: 20px; }
.financial-adviser-cashflow-risk-module {
  border: 1px solid #d8e3ea;
  border-radius: 15px;
  background: #fff;
  overflow: hidden;
}
.financial-adviser-cashflow-risk-module-head {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 17px 19px;
  border-bottom: 1px solid #e0e8ed;
  background: #f7fafc;
}
.financial-adviser-cashflow-risk-module-head > span { color: #2b7aa2; font-size: 13px; font-weight: 900; }
.financial-adviser-cashflow-risk-module-head h5 { margin: 0; color: #173f5d; font-size: 17px; }
.financial-adviser-cashflow-risk-module-head p { margin: 4px 0 0; color: #6a8191; font-size: 13px; line-height: 1.55; }
.financial-adviser-cashflow-risk-module-head > strong { color: #48697e; font-size: 13px; }
.financial-adviser-cashflow-risk-object-list { padding: 0 18px 18px; }
.financial-adviser-cashflow-risk-object-list > .financial-adviser-income-expense-empty { margin-top: 18px; }
.financial-adviser-cashflow-risk-object {
  border-bottom: 1px solid #e2e9ee;
}
.financial-adviser-cashflow-risk-object:last-child { border-bottom: 0; }
.financial-adviser-cashflow-risk-object > summary {
  display: grid;
  grid-template-columns: 132px minmax(150px, 1.3fr) minmax(120px, .8fr) minmax(120px, .8fr) auto 18px;
  gap: 12px;
  align-items: center;
  padding: 16px 2px;
  cursor: pointer;
  list-style: none;
}
.financial-adviser-cashflow-risk-object > summary::-webkit-details-marker { display: none; }
.financial-adviser-cashflow-risk-object > summary > strong { color: #173f5d; font-size: 14px; overflow-wrap: anywhere; }
.financial-adviser-cashflow-risk-object > summary > span { color: #3f6075; font-size: 13px; }
.financial-adviser-cashflow-risk-object > summary > span small { display: block; margin-top: 3px; color: #7a8d9b; font-size: 13px; }
.financial-adviser-cashflow-risk-object-type { color: #2e789d !important; font-weight: 800; }
.financial-adviser-cashflow-risk-object > summary > i { color: #78909f; font-style: normal; transition: transform .18s ease; }
.financial-adviser-cashflow-risk-object[open] > summary > i { transform: rotate(180deg); }
.financial-adviser-cashflow-risk-object-body { padding: 0 2px 18px; }
.financial-adviser-cashflow-risk-object-body > p { margin: 12px 0; color: #4f6d80; font-size: 13px; line-height: 1.7; }
.financial-adviser-cashflow-risk-object-body > dl { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 0 0 14px; }
.financial-adviser-cashflow-risk-object-body > dl > div { display: flex; gap: 7px; color: #657d8d; font-size: 13px; }
.financial-adviser-cashflow-risk-object-body dt { font-weight: 800; }
.financial-adviser-cashflow-risk-object-body dd { margin: 0; }
.financial-adviser-cashflow-risk-signals { display: flex; flex-wrap: wrap; gap: 7px; }
.financial-adviser-cashflow-risk-signals span { padding: 4px 8px; border-radius: 7px; color: #6f552c; background: #f8eedf; font-size: 13px; }
.financial-adviser-cashflow-risk-module[data-risk-module="quality"] .financial-adviser-income-expense-quality { margin: 0; border: 0; border-radius: 0; }

.financial-adviser-credit-specialist-panel {
  width: min(calc(100% - 60px), 1180px);
  margin-right: auto;
  margin-left: auto;
  padding: 28px;
}

.financial-adviser-credit-specialist-lead {
  margin: 0;
  padding: 16px 18px;
  border-left: 4px solid #2280b8;
  color: #315a74;
  background: #f0f7fb;
  font-size: 15px;
  line-height: 1.75;
}

.financial-adviser-credit-summary-line {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 24px 0 0;
  border-top: 1px solid #d9e3ea;
  border-bottom: 1px solid #d9e3ea;
}

.financial-adviser-credit-summary-line > div {
  min-width: 0;
  padding: 17px 16px;
  border-left: 1px solid #dfe7ed;
}

.financial-adviser-credit-summary-line > div:nth-child(4n + 1) { border-left: 0; }
.financial-adviser-credit-summary-line > div:nth-child(n + 5) { border-top: 1px solid #dfe7ed; }

.financial-adviser-credit-summary-line dt {
  color: #6c8293;
  font-size: 13px;
}

.financial-adviser-credit-summary-line dd {
  margin: 6px 0 0;
  color: #0b426a;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.financial-adviser-credit-summary-line small {
  display: block;
  margin-top: 4px;
  color: #778b99;
  font-size: 13px;
  line-height: 1.5;
}

.financial-adviser-credit-detail-section {
  margin-top: 28px;
}

.financial-adviser-credit-detail-section > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 13px;
}

.financial-adviser-credit-detail-section > header h4 {
  margin: 0;
  color: #173f5d;
  font-size: 18px;
}

.financial-adviser-credit-detail-section > header span {
  color: #718696;
  font-size: 13px;
  text-align: right;
}

.financial-adviser-credit-bars {
  display: grid;
  gap: 13px;
}

.financial-adviser-credit-bars > div {
  display: grid;
  grid-template-columns: minmax(130px, 190px) minmax(180px, 1fr) 105px;
  gap: 14px;
  align-items: center;
}

.financial-adviser-credit-bars span,
.financial-adviser-credit-bars strong {
  color: #31566f;
  font-size: 14px;
}

.financial-adviser-credit-bars strong { text-align: right; }
.financial-adviser-credit-bars > div > i,
.financial-adviser-credit-utilization-list > div > i {
  display: block;
  height: 11px;
  overflow: hidden;
  border-radius: 999px;
  background: #e4e9ed;
}

.financial-adviser-credit-bars b,
.financial-adviser-credit-utilization-list b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #236fbd, #2c9c87);
}

.financial-adviser-credit-query-types {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 11px;
}

.financial-adviser-credit-query-types > span {
  padding: 7px 10px;
  border: 1px solid #d7e2e9;
  border-radius: 999px;
  color: #587083;
  background: #f7fafc;
  font-size: 13px;
}

.financial-adviser-credit-query-types strong { color: #155d8e; }

.financial-adviser-credit-utilization-list {
  display: grid;
  gap: 14px;
}

.financial-adviser-credit-utilization-list > div {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1.35fr) 88px;
  gap: 15px;
  align-items: center;
}

.financial-adviser-credit-utilization-list span strong,
.financial-adviser-credit-utilization-list span small { display: block; }
.financial-adviser-credit-utilization-list span strong { color: #294f69; font-size: 14px; }
.financial-adviser-credit-utilization-list span small { margin-top: 3px; color: #768a98; font-size: 13px; }
.financial-adviser-credit-utilization-list em { color: #254e69; font-size: 14px; font-style: normal; font-weight: 800; text-align: right; }
.financial-adviser-credit-utilization-list > div > i.is-high b { background: linear-gradient(90deg, #d38b35, #bd5048); }

.financial-adviser-credit-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border-top: 1px solid #d8e2e9;
  border-bottom: 1px solid #d8e2e9;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

.financial-adviser-credit-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: #fff;
}

.financial-adviser-credit-table.is-account { min-width: 1160px; }
.financial-adviser-credit-table th,
.financial-adviser-credit-table td {
  padding: 13px 11px;
  border-bottom: 1px solid #e1e7eb;
  color: #38586d;
  font-size: 14px;
  line-height: 1.55;
  text-align: left;
  vertical-align: top;
}

.financial-adviser-credit-table th {
  color: #637b8d;
  background: #f4f7f9;
  font-weight: 700;
  white-space: nowrap;
}

.financial-adviser-credit-table tbody tr:last-child td { border-bottom: 0; }
.financial-adviser-credit-table td strong { color: #173f5d; }
.financial-adviser-credit-status { display: inline-block; padding: 3px 8px; border-radius: 999px; color: #27684f; background: #ebf6f0; font-size: 13px; white-space: nowrap; }

.financial-adviser-credit-empty {
  padding: 22px;
  border-radius: 12px;
  color: #5d7485;
  background: #f3f6f8;
}

.financial-adviser-credit-empty.is-positive {
  color: #326750;
  background: #edf7f2;
}

.financial-adviser-credit-empty strong {
  display: block;
  color: inherit;
  font-size: 17px;
}

.financial-adviser-credit-empty p {
  margin: 7px 0 0;
  font-size: 14px;
  line-height: 1.7;
}

.financial-adviser-a-section {
  padding-top: 34px;
}

.financial-adviser-a-section > h4 {
  margin: 0 0 19px;
  color: #0d3d60;
  font-size: 22px;
  line-height: 1.45;
}

.financial-adviser-a-ordered-path {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: overview-action;
}

.financial-adviser-a-section[data-overview-block="next-steps"] .financial-adviser-a-ordered-path {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.financial-adviser-a-ordered-path li {
  position: relative;
  min-width: 0;
  padding-left: 42px;
  counter-increment: overview-action;
}

.financial-adviser-a-ordered-path li::before {
  content: counter(overview-action);
  position: absolute;
  top: 1px;
  left: 0;
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  color: #fff;
  background: #1478b8;
  font-size: 14px;
  font-weight: 800;
}

.financial-adviser-a-ordered-path strong,
.financial-adviser-a-ordered-path span {
  display: block;
}

.financial-adviser-a-ordered-path strong {
  margin-bottom: 5px;
  color: #143d5b;
  font-size: 16px;
  line-height: 1.55;
}

.financial-adviser-a-ordered-path span {
  color: #5f788c;
  font-size: 15px;
  line-height: 1.7;
}

.financial-adviser-a-reasons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 42px;
}

.financial-adviser-a-reasons > section + section {
  padding-left: 42px;
  border-left: 1px solid #dbe5ec;
}

.financial-adviser-a-reasons h5 {
  margin: 0 0 15px;
  font-size: 18px;
}

.financial-adviser-a-reasons .is-strength h5 {
  color: #16704a;
}

.financial-adviser-a-reasons .is-limitation h5 {
  color: #9a591e;
}

.financial-adviser-a-reasons ul {
  margin: 0;
  padding-left: 22px;
}

.financial-adviser-a-reasons li {
  margin: 0 0 11px;
  color: #31566f;
  font-size: 15px;
  line-height: 1.75;
}

.financial-adviser-a-reasons li:last-child {
  margin-bottom: 0;
}

.financial-adviser-a-reasons li > strong {
  display: block;
  color: #173f5d;
  font-size: 15px;
}

.financial-adviser-a-reasons li p {
  margin: 2px 0 0;
  color: #4f6f84;
  font-size: 15px;
  line-height: 1.75;
}

.financial-adviser-a-visuals {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 40px;
}

.financial-adviser-a-visuals figure {
  min-width: 0;
  margin: 0;
}

.financial-adviser-a-visuals figure + figure {
  padding-left: 40px;
  border-left: 1px solid #dbe5ec;
}

.financial-adviser-a-visuals figcaption {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: baseline;
  margin-bottom: 18px;
}

.financial-adviser-a-visuals figcaption strong {
  color: #173f5d;
  font-size: 16px;
}

.financial-adviser-a-visuals figcaption span {
  color: #70879a;
  font-size: 13px;
}

.financial-adviser-a-debt-total {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 13px;
}

.financial-adviser-a-debt-total strong {
  color: #0b4e7c;
  font-size: 24px;
}

.financial-adviser-a-debt-total span {
  color: #70879a;
  font-size: 13px;
}

.financial-adviser-a-debt-stack {
  display: flex;
  width: 100%;
  height: 24px;
  overflow: hidden;
  border-radius: 4px;
  background: #eef3f6;
}

.financial-adviser-a-debt-stack > span {
  height: 100%;
}

.financial-adviser-a-debt-stack .is-loan,
.financial-adviser-a-debt-legend .is-loan { background: #176eaa; }
.financial-adviser-a-debt-stack .is-lease,
.financial-adviser-a-debt-legend .is-lease { background: #2b9a82; }
.financial-adviser-a-debt-stack .is-card,
.financial-adviser-a-debt-legend .is-card { background: #e2a138; }
.financial-adviser-a-debt-stack .is-installment,
.financial-adviser-a-debt-legend .is-installment { background: #c66a6a; }

.financial-adviser-a-debt-legend {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 22px;
  margin: 17px 0 0;
  padding: 0;
  list-style: none;
}

.financial-adviser-a-debt-legend li {
  display: grid;
  grid-template-columns: 11px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
  color: #5f788c;
  font-size: 14px;
}

.financial-adviser-a-debt-legend i {
  width: 11px;
  height: 11px;
  border-radius: 2px;
}

.financial-adviser-a-debt-legend strong {
  color: #173f5d;
  font-size: 14px;
}

.financial-adviser-a-chart-note {
  margin: 15px 0 0;
  color: #6b8396;
  font-size: 13px;
  line-height: 1.7;
}

.financial-adviser-a-income-plot {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: end;
  height: 190px;
  padding: 8px 12px 0;
  border-bottom: 1px solid #d4e0e8;
  background: linear-gradient(to top, transparent 49.5%, #e4ebf0 50%, transparent 50.5%);
}

.financial-adviser-a-income-plot > div {
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: end;
  height: 100%;
  text-align: center;
}

.financial-adviser-a-income-plot strong {
  margin-bottom: 7px;
  color: #173f5d;
  font-size: 15px;
}

.financial-adviser-a-income-bar {
  align-self: end;
  justify-self: center;
  width: min(64px, 72%);
  min-height: 18px;
  background: #176eaa;
}

.financial-adviser-a-income-bar.is-current {
  background: #2b9a82;
}

.financial-adviser-a-income-plot small {
  padding: 9px 0 10px;
  color: #627c90;
  font-size: 13px;
}

.financial-adviser-a-income-change {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: baseline;
  margin-top: 14px;
}

.financial-adviser-a-income-change strong {
  color: #16704a;
  font-size: 20px;
}

.financial-adviser-a-income-change span {
  color: #6a8397;
  font-size: 13px;
}

.financial-adviser-a-product-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.financial-adviser-a-product-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  table-layout: fixed;
}

.financial-adviser-a-product-table th {
  padding: 12px 13px;
  border-top: 1px solid #d7e2ea;
  border-bottom: 1px solid #d7e2ea;
  color: #678096;
  font-size: 13px;
  font-weight: 700;
}

.financial-adviser-a-product-table td {
  padding: 16px 13px;
  border-bottom: 1px solid #e0e8ee;
  color: #31566f;
  font-size: 15px;
  line-height: 1.65;
  vertical-align: top;
}

.financial-adviser-a-product-table th:first-child,
.financial-adviser-a-product-table td:first-child {
  width: 62px;
  padding-left: 0;
  color: #1273b3;
}

.financial-adviser-a-product-table th:nth-child(2) { width: 25%; }
.financial-adviser-a-product-table th:nth-child(3) { width: 17%; }
.financial-adviser-a-product-table td strong { color: #173f5d; font-size: 15px; }
.financial-adviser-a-product-table td.is-priority { color: #16704a; font-weight: 800; }
.financial-adviser-a-product-table td.is-conditional { color: #0f649c; font-weight: 800; }
.financial-adviser-a-product-table td.is-paused { color: #9a591e; font-weight: 800; }

.financial-adviser-case-operations {
  margin-bottom: 26px;
}

@media (max-width: 1080px) {
  .financial-adviser-a-module-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px 18px;
  }

  .financial-adviser-a-module-metrics {
    grid-column: 1 / -1;
  }

  .financial-adviser-a-module-open {
    align-self: start;
  }
}

@media (max-width: 860px) {
  .financial-adviser-a-overview {
    padding: 30px 26px 42px;
  }

  .financial-adviser-a-conclusion {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .financial-adviser-evidence-chain-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .financial-adviser-evidence-chain-steps > section:nth-child(odd) {
    border-left: 0;
  }

  .financial-adviser-evidence-chain-steps > section:nth-child(n + 3) {
    border-top: 1px solid #e1e9ef;
  }

  .financial-adviser-evidence-chain-steps > section:last-child {
    grid-column: 1 / -1;
  }

  .financial-adviser-a-route {
    padding: 18px 0 0;
    border-top: 1px solid #dbe5ec;
    border-left: 0;
  }

  .financial-adviser-a-fact-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .financial-adviser-a-fact-strip > div {
    border-bottom: 1px solid #e1e9ef;
  }

  .financial-adviser-a-module-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px 18px;
  }

  .financial-adviser-a-module-metrics {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .financial-adviser-a-module-metric:nth-child(odd) {
    border-left: 0;
  }

  .financial-adviser-a-module-metric:nth-child(n + 3) {
    border-top: 1px solid #dce6ed;
  }

  .financial-adviser-a-module-open {
    align-self: start;
  }

  .financial-adviser-drilldown-header {
    padding: 15px 22px;
  }

  .financial-adviser-credit-overview-group {
    grid-template-columns: 1fr;
  }

  .financial-adviser-credit-overview-group-title {
    border-right: 0;
    border-bottom: 1px solid #dfe7ed;
  }

  .financial-adviser-credit-overview-metrics.is-four,
  .financial-adviser-credit-overview-metrics.is-three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .financial-adviser-credit-overview-metric:nth-child(odd) { border-left: 0; }
  .financial-adviser-credit-overview-metric:nth-child(n + 3) { border-top: 1px solid #dfe7ed; }
  .financial-adviser-income-expense-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .financial-adviser-income-expense-overview-metric:nth-child(odd) { border-left: 0; }
  .financial-adviser-income-expense-overview-metric:nth-child(n + 3) { border-top: 1px solid #dfe7ed; }
  section.financial-adviser-section.financial-adviser-income-expense-specialist-panel { width: calc(100% - 44px); margin-right: auto; margin-left: auto; padding: 24px; }
  .financial-adviser-income-expense-summary-strip,
  .financial-adviser-income-expense-quality dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .financial-adviser-income-expense-summary-strip > div:nth-child(odd),
  .financial-adviser-income-expense-quality dl > div:nth-child(odd) { border-left: 0; }
  .financial-adviser-income-expense-summary-strip > div:nth-child(n + 3),
  .financial-adviser-income-expense-quality dl > div:nth-child(n + 3) { border-top: 1px solid #e0e8ee; }
  .financial-adviser-cross-evidence-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .financial-adviser-cross-evidence-stages article:nth-child(odd) { border-left: 0; }
  .financial-adviser-cross-evidence-stages article:nth-child(n + 3) { border-top: 1px solid #e2e9ee; }
  .financial-adviser-cashflow-risk-object > summary {
    grid-template-columns: 118px minmax(140px, 1fr) minmax(110px, .8fr) auto 18px;
  }
  .financial-adviser-cashflow-risk-object > summary > span:nth-of-type(3) { display: none; }
  .financial-adviser-credit-summary-line { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .financial-adviser-credit-summary-line > div:nth-child(odd) { border-left: 0; }
  .financial-adviser-credit-summary-line > div:nth-child(n + 3) { border-top: 1px solid #dfe7ed; }
  .financial-adviser-credit-specialist-panel { width: calc(100% - 44px); padding: 24px; }
  .financial-adviser-credit-utilization-list > div { grid-template-columns: minmax(180px, 1fr) minmax(170px, 1fr) 80px; }

  .financial-adviser-a-ordered-path,
  .financial-adviser-a-section[data-overview-block="next-steps"] .financial-adviser-a-ordered-path,
  .financial-adviser-a-reasons,
  .financial-adviser-a-visuals {
    grid-template-columns: 1fr;
  }

  .financial-adviser-a-reasons > section + section,
  .financial-adviser-a-visuals figure + figure {
    margin-top: 4px;
    padding: 26px 0 0;
    border-top: 1px solid #dbe5ec;
    border-left: 0;
  }
}

@media (max-width: 620px) {
  .financial-adviser-a-overview {
    padding: 25px 18px 36px;
    font-size: 15px;
  }

  .financial-adviser-a-conclusion h3 { font-size: 25px; }
  .financial-adviser-a-conclusion p { font-size: 15px; }

  .financial-adviser-evidence-chain > header {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .financial-adviser-evidence-chain > header > strong {
    grid-column: 2;
    justify-self: start;
  }

  .financial-adviser-evidence-chain-steps {
    grid-template-columns: 1fr;
  }

  .financial-adviser-evidence-chain-steps > section,
  .financial-adviser-evidence-chain-steps > section:nth-child(odd) {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 8px;
    border-top: 1px solid #e1e9ef;
    border-left: 0;
  }

  .financial-adviser-evidence-chain-steps > section:first-child {
    border-top: 0;
  }

  .financial-adviser-evidence-chain-steps > section:last-child {
    grid-column: auto;
  }

  .financial-adviser-evidence-chain-steps > section > span {
    margin: 1px 0 0;
  }

  .financial-adviser-evidence-chain > footer {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .financial-adviser-a-section { padding-top: 29px; }
  .financial-adviser-a-section > h4 { font-size: 20px; }
  .financial-adviser-a-fact-strip { grid-template-columns: 1fr; }
  .financial-adviser-a-fact-strip > div { border-right: 0; }
  .financial-adviser-a-debt-legend { grid-template-columns: 1fr; }

  .financial-adviser-a-section-heading {
    align-items: flex-start;
  }

  .financial-adviser-a-section-heading h4 {
    font-size: 20px;
  }

  .financial-adviser-a-module-row {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 18px 0;
  }

  .financial-adviser-a-module-identity {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 10px;
  }

  .financial-adviser-a-module-identity > span {
    width: 32px;
    height: 32px;
  }

  .financial-adviser-a-module-identity h5 {
    font-size: 17px;
  }

  .financial-adviser-a-module-metrics {
    gap: 0;
  }

  .financial-adviser-a-module-metric {
    min-height: 88px;
    padding: 11px 25px 10px 11px;
  }

  .financial-adviser-a-module-metric > strong {
    font-size: 18px;
  }

  .financial-adviser-a-module-open > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  [data-financial-adviser-detail-anchor] {
    scroll-margin-top: 142px;
  }

  .financial-adviser-overview-more {
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 22px 18px 0;
  }

  .financial-adviser-overview-more > div:last-child {
    justify-content: flex-start;
  }

  .financial-adviser-drilldown-header {
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 13px 16px;
  }

  .financial-adviser-drilldown-header > button {
    justify-self: start;
  }

  .financial-adviser-credit-overview-header {
    display: grid;
    padding: 22px 18px;
  }

  .financial-adviser-credit-overview-header > div:last-child { text-align: left; }
  .financial-adviser-credit-overview-group-title { padding: 18px; }
  .financial-adviser-credit-overview-metrics.is-four,
  .financial-adviser-credit-overview-metrics.is-three,
  .financial-adviser-credit-overview-metrics.is-two { grid-template-columns: 1fr; }
  .financial-adviser-credit-overview-metric,
  .financial-adviser-credit-overview-metric:nth-child(odd) {
    min-height: 108px;
    border-top: 1px solid #dfe7ed;
    border-left: 0;
  }
  .financial-adviser-credit-overview-metric:first-child { border-top: 0; }
  .financial-adviser-income-expense-overview-heading { margin-bottom: 12px; }
  .financial-adviser-income-expense-overview-grid { grid-template-columns: 1fr; }
  .financial-adviser-income-expense-overview-metric,
  .financial-adviser-income-expense-overview-metric:nth-child(odd) {
    min-height: 108px;
    border-top: 1px solid #dfe7ed;
    border-left: 0;
  }
  .financial-adviser-income-expense-overview-metric:first-child { border-top: 0; }
  section.financial-adviser-section.financial-adviser-income-expense-specialist-panel { width: calc(100% - 24px); margin: 14px auto 0; padding: 17px; }
  .financial-adviser-income-expense-specialist-lead {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 17px;
  }
  .financial-adviser-income-expense-specialist-lead > span { width: 42px; height: 42px; border-radius: 13px; font-size: 17px; }
  .financial-adviser-income-expense-specialist-lead h4 { font-size: 21px; }
  .financial-adviser-income-expense-summary-strip,
  .financial-adviser-income-expense-quality dl { grid-template-columns: 1fr; }
  .financial-adviser-income-expense-summary-strip > div,
  .financial-adviser-income-expense-summary-strip > div:nth-child(odd),
  .financial-adviser-income-expense-quality dl > div,
  .financial-adviser-income-expense-quality dl > div:nth-child(odd) { border-top: 1px solid #e0e8ee; border-left: 0; }
  .financial-adviser-income-expense-summary-strip > div:first-child,
  .financial-adviser-income-expense-quality dl > div:first-child { border-top: 0; }
  .financial-adviser-income-verification-status { grid-template-columns: 1fr; }
  .financial-adviser-income-verification-status > strong { grid-column: 1; grid-row: auto; }
  .financial-adviser-cross-evidence { padding: 16px; }
  .financial-adviser-cross-evidence > header { align-items: flex-start; flex-direction: column; }
  .financial-adviser-cross-evidence-stages { grid-template-columns: 1fr; }
  .financial-adviser-cross-evidence-stages article,
  .financial-adviser-cross-evidence-stages article:nth-child(odd) { border-top: 1px solid #e2e9ee; border-left: 0; }
  .financial-adviser-cross-evidence-stages article:first-child { border-top: 0; }
  .financial-adviser-cashflow-risk-module-head { grid-template-columns: 30px minmax(0, 1fr); }
  .financial-adviser-cashflow-risk-module-head > strong { grid-column: 2; }
  .financial-adviser-cashflow-risk-object > summary {
    grid-template-columns: minmax(0, 1fr) auto 18px;
    gap: 7px 10px;
  }
  .financial-adviser-cashflow-risk-object > summary > .financial-adviser-cashflow-risk-object-type { grid-column: 1; }
  .financial-adviser-cashflow-risk-object > summary > strong { grid-column: 1; }
  .financial-adviser-cashflow-risk-object > summary > span { grid-column: 1; }
  .financial-adviser-cashflow-risk-object > summary > span:nth-of-type(3) { display: block; }
  .financial-adviser-cashflow-risk-object > summary > b { grid-column: 2; grid-row: 1 / span 2; }
  .financial-adviser-cashflow-risk-object > summary > i { grid-column: 3; grid-row: 1 / span 2; }
  .financial-adviser-income-expense-comparison-bars > div { grid-template-columns: minmax(92px, 0.8fr) minmax(100px, 1.4fr); }
  .financial-adviser-income-expense-comparison-bars strong { text-align: left; }
  .financial-adviser-income-expense-comparison-bars small { grid-column: 1 / -1; }
  .financial-adviser-income-expense-table-section > header,
  .financial-adviser-income-expense-quality > header,
  .financial-adviser-income-expense-partial-warning { align-items: flex-start; flex-direction: column; }
  .financial-adviser-credit-specialist-panel { width: calc(100% - 24px); padding: 17px; }
  .financial-adviser-credit-summary-line { grid-template-columns: 1fr; }
  .financial-adviser-credit-summary-line > div,
  .financial-adviser-credit-summary-line > div:nth-child(odd) { border-top: 1px solid #dfe7ed; border-left: 0; }
  .financial-adviser-credit-summary-line > div:first-child { border-top: 0; }
  .financial-adviser-credit-detail-section > header { display: grid; }
  .financial-adviser-credit-detail-section > header span { text-align: left; }
  .financial-adviser-credit-bars > div { grid-template-columns: minmax(0, 1fr) 88px; gap: 7px 12px; }
  .financial-adviser-credit-bars > div > i { grid-column: 1 / -1; grid-row: 2; }
  .financial-adviser-credit-utilization-list > div { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .financial-adviser-credit-utilization-list em { text-align: left; }

  .financial-adviser-a-product-table-wrap {
    overflow: visible;
  }

  .financial-adviser-a-product-table,
  .financial-adviser-a-product-table tbody,
  .financial-adviser-a-product-table tr,
  .financial-adviser-a-product-table td {
    display: block;
    width: 100%;
  }

  .financial-adviser-a-product-table {
    table-layout: auto;
  }

  .financial-adviser-a-product-table thead {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }

  .financial-adviser-a-product-table tr {
    padding: 14px 0;
    border-bottom: 1px solid #dbe5ec;
  }

  .financial-adviser-a-product-table td,
  .financial-adviser-a-product-table td:first-child {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    padding: 5px 0;
    border: 0;
    font-size: 15px;
  }

  .financial-adviser-a-product-table td::before {
    content: attr(data-label);
    color: #6b8396;
    font-size: 13px;
    font-weight: 500;
  }
}

@media (max-width: 420px) {
  .financial-adviser-a-module-metrics {
    grid-template-columns: 1fr;
  }

  .financial-adviser-a-module-metric,
  .financial-adviser-a-module-metric:nth-child(odd) {
    border-left: 0;
    border-top: 1px solid #dce6ed;
  }

  .financial-adviser-a-module-metric:first-child {
    border-top: 0;
  }
}

.financial-adviser-v2-products {
  width: min(100%, 900px);
  margin: 0 auto;
  border-top: 1px solid #d9e4ed;
}

.financial-adviser-v2-product {
  padding: 22px 0;
  border-bottom: 1px solid #d9e4ed;
}

.financial-adviser-v2-product > header {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.financial-adviser-v2-product > header > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #eaf3fb;
  color: #176eb8;
  font-size: 13px;
  font-weight: 850;
}

.financial-adviser-v2-product h4,
.financial-adviser-v2-product p {
  margin: 0;
}

.financial-adviser-v2-product h4 {
  color: #103b5e;
  font-size: 18px;
  line-height: 1.5;
}

.financial-adviser-v2-product em {
  display: inline-block;
  margin-top: 4px;
  color: #1471be;
  font-size: 13px;
  font-style: normal;
  font-weight: 750;
}

.financial-adviser-v2-product > p,
.financial-adviser-v2-product > a {
  margin-left: 46px;
}

.financial-adviser-v2-product > p {
  margin-top: 9px;
  color: #35566e;
  font-size: 15px;
  line-height: 1.75;
}

.financial-adviser-v2-product > p strong {
  color: #153e5d;
}

.financial-adviser-v2-product > p.is-limitation,
.financial-adviser-v2-product > p.is-limitation strong {
  color: #8e4a18;
}

.financial-adviser-v2-product > a {
  display: inline-block;
  margin-top: 10px;
  color: #176fc0;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 620px) {
  .financial-adviser-v2-kind,
  .financial-adviser-v2-key-figures,
  .financial-adviser-v2-financing-directions,
  .financial-adviser-v2-product-directions,
  .financial-adviser-v2-actions {
    margin-top: 25px;
  }

  .financial-adviser-v2-kind > h5,
  .financial-adviser-v2-key-figures > h5,
  .financial-adviser-v2-financing-directions > h5,
  .financial-adviser-v2-product-directions > h5,
  .financial-adviser-v2-actions > h5 {
    font-size: 18px;
  }

  .financial-adviser-v2-point {
    padding: 15px 0;
  }

  .financial-adviser-v2-point p,
  .financial-adviser-v2-actions li {
    font-size: 14px;
  }

  .financial-adviser-v2-key-figures > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .financial-adviser-v2-product {
    padding: 18px 0;
  }

  .financial-adviser-v2-product h4 {
    font-size: 16px;
  }

  .financial-adviser-v2-product > p {
    font-size: 14px;
  }

  .financial-adviser-v2-financing-directions li > div {
    grid-template-columns: 26px minmax(0, 1fr);
  }

  .financial-adviser-v2-financing-directions em {
    grid-column: 2;
  }

  .financial-adviser-v2-financing-directions p {
    margin-left: 36px;
    font-size: 14px;
  }

  .financial-adviser-case-overview,
  .financial-adviser-case-detail-section {
    margin-top: 25px;
  }

  .financial-adviser-case-overview > h5,
  .financial-adviser-case-detail-section > h5 {
    font-size: 18px;
  }

  .financial-adviser-case-overview li,
  .financial-adviser-case-detail-point p {
    font-size: 14px;
  }
}

@media (max-width: 900px) {
  .bangdaikan-app .consultation-history-nav {
    display: grid;
    grid-template-columns: 124px minmax(0, 1fr);
    grid-auto-flow: row;
    gap: 7px;
    padding: 8px;
  }

  .bangdaikan-app .consultation-history-heading,
  .bangdaikan-app .consultation-history-label,
  .bangdaikan-app .consultation-history-nav .side-nav-review-card {
    display: none;
  }

  .bangdaikan-app .new-consultation-button {
    min-height: 40px;
    align-self: start;
  }

  .bangdaikan-app .consultation-history-list {
    display: flex;
    gap: 6px;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .bangdaikan-app .consultation-history-item {
    width: 184px;
    flex: 0 0 184px;
    padding: 7px 9px;
  }

  .bangdaikan-app .consultation-history-nav .case-directory-loading,
  .bangdaikan-app .consultation-history-nav .case-directory-empty {
    width: 100%;
    min-width: 220px;
    padding: 8px 10px;
  }

  .bangdaikan-app .consultation-history-nav .case-directory-empty p {
    display: none;
  }

  .bangdaikan-app .consultation-history-nav .notice {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .bangdaikan-app .consultation-history-nav {
    grid-template-columns: 108px minmax(0, 1fr);
  }

  .bangdaikan-app .new-consultation-button {
    min-width: 108px;
    padding: 0 8px;
    font-size: 11px;
  }

  .bangdaikan-app .consultation-history-item {
    width: 154px;
    flex-basis: 154px;
  }
}

/* Personal consultation directory: explicit subject/case selection before the chat workspace. */
.bangdaikan-app .case-directory-panel[hidden],
.bangdaikan-app .interview-layout[hidden],
.bangdaikan-app .new-case-panel[hidden],
.bangdaikan-app .new-case-field[hidden],
.bangdaikan-app .new-case-authorization[hidden] {
  display: none !important;
}

.bangdaikan-app .case-directory-panel {
  width: min(1120px, calc(100% - 48px));
  margin: 30px auto 56px;
}

.bangdaikan-app .case-directory-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  padding: 8px 2px 22px;
}

.bangdaikan-app .case-directory-heading h1 {
  margin: 7px 0 8px;
  color: #102d50;
  font-size: clamp(25px, 2.4vw, 34px);
  line-height: 1.25;
}

.bangdaikan-app .case-directory-heading p {
  max-width: 760px;
  margin: 0;
  color: #66809c;
  font-size: 14px;
  line-height: 1.8;
}

.bangdaikan-app .case-directory-heading-actions,
.bangdaikan-app .new-case-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

.bangdaikan-app .case-directory-list {
  display: grid;
  gap: 13px;
}

.bangdaikan-app .case-directory-card,
.bangdaikan-app .case-directory-empty,
.bangdaikan-app .case-directory-loading {
  border: 1px solid #d7e3ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(31, 73, 115, 0.07);
}

.bangdaikan-app .case-directory-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 108px;
  padding: 20px 22px;
}

.bangdaikan-app .case-directory-card.is-last-opened {
  border-color: #9dc8f0;
  box-shadow: 0 9px 30px rgba(25, 112, 194, 0.1);
}

.bangdaikan-app .case-directory-card-main {
  min-width: 0;
}

.bangdaikan-app .case-directory-card-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.bangdaikan-app .case-directory-card-heading strong {
  color: #102f52;
  font-size: 18px;
}

.bangdaikan-app .case-directory-card p {
  margin: 7px 0 5px;
  color: #315b81;
  font-weight: 700;
}

.bangdaikan-app .case-directory-card small {
  color: #7b91a8;
}

.bangdaikan-app .case-relationship-badge,
.bangdaikan-app .case-last-opened-badge {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 2px 9px;
  border-radius: 999px;
  background: #eaf5ff;
  color: #1268ae;
  font-size: 12px;
  font-weight: 800;
}

.bangdaikan-app .case-relationship-badge.is-unknown {
  background: #fff3dc;
  color: #986100;
}

.bangdaikan-app .case-last-opened-badge {
  background: #eef1f5;
  color: #627286;
}

.bangdaikan-app .case-directory-loading {
  padding: 42px 22px;
  color: #607c98;
  text-align: center;
}

.bangdaikan-app .case-directory-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 190px;
  padding: 34px;
  color: #66809c;
}

.bangdaikan-app .case-directory-empty > span {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: #eaf4ff;
  color: #1671c5;
  font-size: 31px;
}

.bangdaikan-app .case-directory-empty strong {
  display: block;
  margin-bottom: 5px;
  color: #173757;
  font-size: 18px;
}

.bangdaikan-app .case-directory-empty p {
  margin: 0;
  line-height: 1.7;
}

.bangdaikan-app .new-case-panel {
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid #cfddeb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(27, 67, 108, 0.11);
}

.bangdaikan-app .new-case-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid #e1e9f1;
  background: linear-gradient(135deg, #f8fbff, #eef7ff);
}

.bangdaikan-app .new-case-heading > div > span {
  color: #1874c7;
  font-size: 12px;
  font-weight: 800;
}

.bangdaikan-app .new-case-heading h2 {
  margin: 5px 0 5px;
  color: #123457;
  font-size: 21px;
}

.bangdaikan-app .new-case-heading p {
  margin: 0;
  color: #70879f;
  font-size: 13px;
}

.bangdaikan-app .new-case-form {
  display: grid;
  gap: 18px;
  padding: 24px;
}

.bangdaikan-app .new-case-relationship {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  border: 0;
}

.bangdaikan-app .new-case-relationship legend {
  grid-column: 1 / -1;
  margin-bottom: 2px;
  color: #1a3959;
  font-size: 14px;
  font-weight: 800;
}

.bangdaikan-app .new-case-relationship label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 76px;
  padding: 14px;
  border: 1px solid #d8e3ee;
  border-radius: 12px;
  cursor: pointer;
}

.bangdaikan-app .new-case-relationship label:has(input:checked) {
  border-color: #2a82d4;
  background: #f0f8ff;
  box-shadow: inset 0 0 0 1px #2a82d4;
}

.bangdaikan-app .new-case-relationship input {
  margin-top: 4px;
}

.bangdaikan-app .new-case-relationship strong,
.bangdaikan-app .new-case-relationship small {
  display: block;
}

.bangdaikan-app .new-case-relationship strong {
  color: #183b5e;
}

.bangdaikan-app .new-case-relationship small {
  margin-top: 4px;
  color: #72879c;
  line-height: 1.5;
}

.bangdaikan-app .new-case-field {
  display: grid;
  gap: 7px;
  color: #244768;
  font-size: 13px;
  font-weight: 800;
}

.bangdaikan-app .new-case-field select,
.bangdaikan-app .new-case-field input {
  width: 100%;
  min-height: 45px;
  padding: 9px 12px;
  border: 1px solid #cbd9e7;
  border-radius: 9px;
  background: #fff;
  color: #173757;
  font: inherit;
  font-weight: 600;
}

.bangdaikan-app .new-case-field small {
  color: #798da2;
  font-weight: 400;
  line-height: 1.55;
}

.bangdaikan-app .new-case-goal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.bangdaikan-app .new-case-authorization {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px 14px;
  border: 1px solid #efcc88;
  border-radius: 10px;
  background: #fff8ea;
  color: #795213;
  font-size: 13px;
  line-height: 1.6;
}

.bangdaikan-app .recorded-information-card {
  display: grid;
  gap: 14px;
}

.bangdaikan-app .recorded-information-subsection {
  padding-top: 13px;
  border-top: 1px solid #dfe8f1;
}

.bangdaikan-app .recorded-information-label {
  margin-bottom: 8px;
  color: #456783;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 760px) {
  .bangdaikan-app .case-directory-panel {
    width: min(100% - 24px, 1120px);
    margin-top: 16px;
  }

  .bangdaikan-app .case-directory-heading,
  .bangdaikan-app .case-directory-card,
  .bangdaikan-app .new-case-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .bangdaikan-app .case-directory-heading-actions,
  .bangdaikan-app .case-directory-card > .button {
    width: 100%;
  }

  .bangdaikan-app .case-directory-heading-actions .button,
  .bangdaikan-app .case-directory-card > .button {
    flex: 1;
  }

  .bangdaikan-app .new-case-relationship,
  .bangdaikan-app .new-case-goal-grid {
    grid-template-columns: 1fr;
  }

  .bangdaikan-app .new-case-form,
  .bangdaikan-app .new-case-heading {
    padding: 18px;
  }
}

/* Dialogue polish: keep short question-and-answer turns visually connected.
 * The transcript itself follows its content; the surrounding scroll region,
 * rather than a forced message height, owns the remaining workspace height. */
.bangdaikan-app .interview-messages {
  width: min(820px, 100%);
  min-height: 0;
  max-height: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0 auto;
  padding: 20px 24px 8px;
  overflow: visible;
}

.bangdaikan-app .interview-messages:empty {
  min-height: 96px;
}

.bangdaikan-app .interview-message,
.bangdaikan-app .interview-message.is-user {
  display: flex;
  grid-template-columns: none;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
}

.bangdaikan-app .interview-message.is-user {
  justify-content: flex-end;
}

.bangdaikan-app .message-avatar {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #0d67bd, #1685df);
  color: #fff;
  box-shadow: 0 4px 12px rgba(15, 111, 200, .16);
}

.bangdaikan-app .message-avatar svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.bangdaikan-app .message-body {
  width: fit-content;
  max-width: min(660px, 78%);
  min-height: 0;
  padding: 12px 15px;
  border: 1px solid #dce7f0;
  border-radius: 6px 17px 17px 17px;
  background: #fff;
  color: #17344f;
  font-size: 15px;
  line-height: 1.65;
  box-shadow: 0 4px 14px rgba(17, 55, 91, .045);
  overflow-wrap: anywhere;
}

.bangdaikan-app .interview-message.is-user .message-body {
  max-width: min(600px, 72%);
  border-color: #cfe1f4;
  border-radius: 17px 17px 6px 17px;
  background: #edf6ff;
  box-shadow: none;
}

.bangdaikan-app .message-body.is-thinking {
  background: #f7fafe;
  color: #637d93;
}

.bangdaikan-app .interview-suggestions {
  width: min(820px, 100%);
  min-height: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 auto;
  padding: 0 24px 14px 64px;
}

.bangdaikan-app .interview-suggestions:empty {
  display: none;
}

.bangdaikan-app .suggestion-button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #b8d2eb;
  border-radius: 999px;
  background: #fff;
  color: #0d66bc;
  font-size: 13px;
  line-height: 1.2;
  box-shadow: 0 2px 7px rgba(20, 83, 139, .035);
}

.bangdaikan-app .suggestion-button:hover {
  border-color: #6ba8df;
  background: #edf6ff;
}

.bangdaikan-app .interview-composer-dock {
  padding: 8px 24px 12px;
  background: linear-gradient(180deg, rgba(247, 250, 253, 0), #f7fafd 14px, #f7fafd 100%);
}

.bangdaikan-app .interview-composer {
  width: min(820px, 100%);
  margin: 0 auto;
  gap: 7px 10px;
  padding: 9px 10px 8px;
  border-color: #d7e3ee;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(28, 71, 111, .075);
}

.bangdaikan-app .interview-composer textarea {
  min-height: 44px;
  max-height: 112px;
  padding: 11px 13px;
  resize: none;
  field-sizing: content;
  border: 0;
  border-radius: 12px;
  background: #f6f9fc;
  font-size: 14px;
  line-height: 1.55;
}

.bangdaikan-app .interview-composer textarea:focus {
  outline: 2px solid rgba(15, 111, 219, .18);
}

.bangdaikan-app .interview-composer .button {
  min-width: 76px;
  min-height: 44px;
  border-radius: 12px;
  box-shadow: 0 6px 14px rgba(18, 100, 211, .15);
}

.bangdaikan-app .composer-tools {
  gap: 5px;
  padding: 1px 2px 0;
}

.bangdaikan-app .composer-tool-button {
  min-height: 30px;
  padding: 0 9px;
  border-color: transparent;
  background: transparent;
  color: #4a6680;
  font-size: 11px;
  font-weight: 650;
}

.bangdaikan-app .composer-tool-button:hover {
  border-color: #d0e2f2;
  background: #f1f7fd;
}

.bangdaikan-app .composer-hint {
  width: min(820px, 100%);
  margin: 6px auto 0;
  color: #7b8fa2;
  font-size: 11px;
}

@media (max-width: 900px) {
  .bangdaikan-app .interview-workspace {
    grid-template-rows: auto auto;
  }
}

@media (max-width: 620px) {
  .bangdaikan-app .interview-messages {
    gap: 14px;
    padding: 14px 12px 6px;
  }

  .bangdaikan-app .message-avatar {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }

  .bangdaikan-app .message-avatar svg {
    width: 15px;
    height: 15px;
  }

  .bangdaikan-app .message-body,
  .bangdaikan-app .interview-message.is-user .message-body {
    max-width: calc(100% - 38px);
    padding: 10px 13px;
    font-size: 14px;
    line-height: 1.6;
  }

  .bangdaikan-app .interview-message.is-user .message-body {
    max-width: 88%;
  }

  .bangdaikan-app .interview-suggestions {
    gap: 7px;
    padding: 0 12px 12px 50px;
  }

  .bangdaikan-app .suggestion-button {
    min-height: 36px;
    padding: 0 12px;
    font-size: 12px;
  }

  .bangdaikan-app .interview-composer-dock {
    padding: 7px 12px calc(9px + env(safe-area-inset-bottom));
  }

  .bangdaikan-app .interview-composer {
    padding: 8px;
    border-radius: 16px;
  }

  .bangdaikan-app .interview-composer textarea {
    min-height: 42px;
    max-height: 96px;
    padding: 10px 11px;
    font-size: 13px;
  }

  .bangdaikan-app .interview-composer .button {
    min-width: 58px;
    min-height: 42px;
    padding: 0 11px;
  }

  .bangdaikan-app .composer-tools {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }

  .bangdaikan-app .composer-tools::-webkit-scrollbar {
    display: none;
  }

  .bangdaikan-app .composer-hint {
    margin-top: 5px;
    font-size: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* Conversational diagnosis: continuous reading, with specialist data disclosed on request. */
.financial-adviser-result:has([data-diagnostic-report]) .financial-adviser-hero {
  background: #fff;
  color: #183b56;
  padding: 24px max(24px, calc((100% - 964px) / 2));
  border-bottom: 1px solid #e5eaf0;
}
.financial-adviser-result:has([data-diagnostic-report]) .financial-adviser-hero h3 {
  font-size: 24px;
  line-height: 1.45;
}
.financial-adviser-result:has([data-diagnostic-report]) .financial-adviser-hero span,
.financial-adviser-result:has([data-diagnostic-report]) .financial-adviser-version {
  color: #60758a;
}
.financial-adviser-diagnostic-report {
  counter-reset: diagnostic-chapter;
  width: min(100%, 1060px);
  padding: 30px 48px 46px;
  font-size: 16px;
  line-height: 1.9;
  color: #243b50;
}
.financial-adviser-diagnostic-report p {
  margin: 8px 0 12px;
  font-size: inherit;
  line-height: inherit;
}
.financial-adviser-diagnostic-conclusion > p:first-child {
  font-size: 18px;
  line-height: 1.85;
  color: #183b56;
}
.financial-adviser-diagnostic-report .financial-adviser-diagnostic-asof {
  color: #64788b;
  font-size: 14px;
}
.financial-adviser-diagnostic-conclusion {
  padding: 20px 24px 14px;
  border-left: 3px solid #2179b9;
  border-radius: 0 10px 10px 0;
  background: #f5f9fd;
}
.financial-adviser-diagnostic-conclusion .financial-adviser-diagnostic-asof {
  padding-top: 12px;
  border-top: 1px solid #dde8f1;
}
.financial-adviser-diagnostic-chapter {
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid #d8e3ed;
  min-width: 0;
}
.financial-adviser-diagnostic-chapter > .financial-adviser-diagnostic-chapter-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  color: #183b56;
  font-size: 22px;
  line-height: 1.5;
}
.financial-adviser-diagnostic-chapter-heading::before {
  counter-increment: diagnostic-chapter;
  content: counter(diagnostic-chapter, decimal-leading-zero);
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #edf4fa;
  color: #226ca3;
  font-size: 14px;
  font-weight: 700;
}
.financial-adviser-diagnostic-chapter-body {
  margin-left: 16px;
  padding-left: 26px;
  border-left: 2px solid #e7eef4;
}
.financial-adviser-diagnostic-section {
  padding: 0 0 8px;
  border: 0;
  background: transparent;
  min-width: 0;
}
.financial-adviser-diagnostic-section + .financial-adviser-diagnostic-section {
  margin-top: 22px;
  padding-top: 24px;
  border-top: 1px dashed #dfe7ee;
}
.financial-adviser-diagnostic-section > h5 {
  margin: 0 0 16px;
  color: #183b56;
  font-size: 18px;
  line-height: 1.5;
}
.financial-adviser-diagnostic-section.is-strength > h5 { color: #18745b; }
.financial-adviser-diagnostic-section.is-limitation > h5 { color: #985c20; }
.financial-adviser-diagnostic-section.is-strength > h5::before,
.financial-adviser-diagnostic-section.is-limitation > h5::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 9px;
  border-radius: 50%;
  background: currentColor;
  vertical-align: middle;
}
.financial-adviser-diagnostic-point {
  margin: 0 0 17px;
  padding: 0;
  border: 0;
  background: transparent;
}
.financial-adviser-diagnostic-point h6,
.financial-adviser-diagnostic-point > strong {
  margin: 0 0 5px;
  color: #213e58;
  font-size: 16px;
  line-height: 1.65;
}
.financial-adviser-diagnostic-report ul,
.financial-adviser-diagnostic-report ol {
  padding-left: 25px;
  margin: 0;
}
.financial-adviser-diagnostic-report li::marker {
  color: #365f7b;
}
.financial-adviser-diagnostic-report .financial-adviser-v2-evidence-link {
  font-size: 13px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #1766ae;
}
.financial-adviser-diagnostic-report table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.7;
  text-align: left;
}
.financial-adviser-diagnostic-report table caption {
  text-align: left;
  color: #183b56;
  font-weight: 600;
  font-size: 18px;
  padding: 12px 0;
}
.financial-adviser-diagnostic-report table th,
.financial-adviser-diagnostic-report table td {
  padding: 12px 14px;
  border: 1px solid #e1e7ed;
  vertical-align: top;
  color: inherit;
}
.financial-adviser-diagnostic-report table thead {
  background: #f5f7fa;
}
.financial-adviser-diagnostic-report table p {
  margin: 0 0 8px;
}
.financial-adviser-diagnostic-debt {
  margin: 22px 0 4px;
  max-width: 780px;
}
.financial-adviser-diagnostic-debt th:first-child { width: 40%; }
.financial-adviser-diagnostic-debt th:nth-child(2) { width: 28%; }
.financial-adviser-diagnostic-share {
  display: flex;
  align-items: center;
  gap: 10px;
  font-variant-numeric: tabular-nums;
}
.financial-adviser-diagnostic-share > i {
  position: relative;
  display: block;
  width: 76px;
  height: 6px;
  border-radius: 3px;
  background: #e7eef5;
  overflow: hidden;
}
.financial-adviser-diagnostic-share > i::before {
  content: "";
  display: block;
  height: 100%;
  width: var(--debt-share);
  background: #397cac;
  border-radius: inherit;
}
.financial-adviser-diagnostic-chapter[data-diagnostic-chapter="actions"] > ol {
  margin-left: 18px;
}
.financial-adviser-diagnostic-chapter[data-diagnostic-chapter="actions"] > ol > li {
  padding: 0 0 16px 6px;
  border-bottom: 1px dashed #e0e8ef;
}
.financial-adviser-diagnostic-chapter[data-diagnostic-chapter="actions"] > ol > li:last-child {
  border-bottom: 0;
}
.financial-adviser-diagnostic-report .financial-adviser-a-product-table-wrap {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
.financial-adviser-diagnostic-debt button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #1766ae;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.financial-adviser-diagnostic-debt > p {
  font-size: 13px;
  color: #64788b;
}
/* Verified debt and unconfirmed clues stay adjacent, but never share an amount total. */
.financial-adviser-debt-verification { min-width: 0; padding: 26px 0; border-bottom: 1px solid #dbe5ed; }
.financial-adviser-debt-verification > .financial-adviser-a-module-identity h4 { border-left-color: #a77333; }
.financial-adviser-debt-verification .financial-adviser-diagnostic-debt { max-width: none; margin: 20px 0 0; }
.financial-adviser-debt-verification table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.6; }
.financial-adviser-debt-verification caption { text-align: left; padding: 0 0 12px; color: #254961; font-size: 17px; font-weight: 700; }
.financial-adviser-debt-verification th,
.financial-adviser-debt-verification td { padding: 13px 16px; text-align: left; vertical-align: top; border: 1px solid #dfe7ee; overflow-wrap: anywhere; }
.financial-adviser-debt-verification thead th { background: #f0f5f9; color: #426079; font-size: 12px; }
.financial-adviser-debt-verification tbody th { background: #f9fbfd; font-weight: 600; }
.financial-adviser-debt-verification .financial-adviser-diagnostic-debt tbody tr:last-child { background: #eef5fa; font-weight: 700; }
.financial-adviser-debt-verification .financial-adviser-a-product-table-wrap,
.financial-adviser-debt-clue-table-wrap { max-width: 100%; overflow-x: auto; }
.financial-adviser-debt-clues { margin-top: 24px; padding-top: 22px; border-top: 1px solid #e3e8ed; }
.financial-adviser-debt-clues > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.financial-adviser-debt-clues h5 { margin: 0; color: #634d33; font-size: 17px; }
.financial-adviser-debt-clues > header > span { flex-shrink: 0; padding: 4px 9px; border-radius: 5px; background: #fff4e6; color: #976224; font-size: 12px; }
.financial-adviser-debt-clues > p,
.financial-adviser-debt-empty { color: #728291; font-size: 13px; line-height: 1.7; }
.financial-adviser-debt-clue-group { margin-top: 18px; }
.financial-adviser-debt-clue-group > h5 { margin-bottom: 9px; color: #4e6577; font-size: 14px; }
.financial-adviser-debt-clue-table-wrap th:first-child { width: 24%; }
.financial-adviser-debt-clue-table-wrap th:nth-child(2) { width: 31%; }
.financial-adviser-debt-clue-table-wrap span,
.financial-adviser-debt-clue-table-wrap small,
.financial-adviser-debt-clue-table-wrap strong { display: block; }
.financial-adviser-debt-clue-table-wrap span,
.financial-adviser-debt-clue-table-wrap small { color: #728291; font-size: 12px; font-weight: 400; }
.financial-adviser-debt-clue-table-wrap strong { margin: 4px 0; color: #845b28; font-size: 19px; font-variant-numeric: tabular-nums; }
.financial-adviser-debt-clue-table-wrap b { color: #8a652f; font-size: 13px; }
.financial-adviser-debt-clue-table-wrap p { margin: 5px 0 9px; color: #647a8c; font-size: 12px; }
.financial-adviser-debt-clue-table-wrap button { padding: 0; border: 0; background: none; color: #1766ae; font: inherit; font-size: 12px; cursor: pointer; text-align: left; }
@media (max-width: 640px) {
  .financial-adviser-debt-clues > header { align-items: flex-start; flex-wrap: wrap; }
  .financial-adviser-debt-verification th, .financial-adviser-debt-verification td { padding: 10px; }
  .financial-adviser-debt-verification .financial-adviser-diagnostic-debt table { min-width: 390px; }
  .financial-adviser-debt-clue-table-wrap table { min-width: 620px; }
  .financial-adviser-debt-clue-group:has(table)::after { content: "左右滑动表格，查看全部列"; display: block; margin-top: 6px; color: #7a8b98; font-size: 11px; }
}
/* Always-visible overview: module headings and one shared metric vocabulary. */
.financial-adviser-data-overview { margin-top: 30px; }
.financial-adviser-data-intro { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid #d8e3ec; color: #687e91; font-size: 13px; }
.financial-adviser-data-intro > span { color: #355771; font-weight: 600; }
.financial-adviser-data-intro > small { font-size: 12px; }
.financial-adviser-data-overview > .financial-adviser-a-section,
.financial-adviser-visible-modules { width: 100%; margin: 0; padding: 0; }
.financial-adviser-visible-modules > .financial-adviser-a-section-heading { display: none; }
.financial-adviser-visible-modules > .financial-adviser-a-module-rows { border: 0; }
.financial-adviser-visible-modules .financial-adviser-credit-overview,
.financial-adviser-visible-modules .financial-adviser-a-module-row { display: block; overflow: visible; margin: 0; padding: 26px 0; border: 0; border-bottom: 1px solid #dbe5ed; border-radius: 0; background: transparent; box-shadow: none; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 0 0 20px; padding: 0; border: 0; background: transparent; }
.financial-adviser-visible-modules .financial-adviser-a-module-identity { display: block; margin: 0 0 16px; }
.financial-adviser-visible-modules .financial-adviser-a-module-identity > span { display: none; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-header h4,
.financial-adviser-visible-modules .financial-adviser-a-module-identity h4 { margin: 0; padding-left: 12px; border-left: 3px solid #287bac; color: #163c56; font-size: 22px; line-height: 1.35; }
.financial-adviser-visible-modules .is-income > .financial-adviser-a-module-identity h4 { border-left-color: #308977; }
.financial-adviser-visible-modules .is-assets > .financial-adviser-a-module-identity h4 { border-left-color: #8073a9; }
.financial-adviser-visible-modules .is-evidence > .financial-adviser-a-module-identity h4 { border-left-color: #778d9f; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-header p,
.financial-adviser-visible-modules .financial-adviser-a-module-identity p { margin: 6px 0 0 15px; color: #728697; font-size: 13px; line-height: 1.5; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-header > div:last-child { padding: 0; font-size: 12px; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-header > div:last-child strong { margin-top: 3px; font-size: 15px; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-group { display: block; margin: 18px 0 0; padding: 0; border: 0; background: transparent; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-group-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 14px; margin: 0 0 10px; padding: 0; border: 0; background: transparent; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-group-title h5 { margin: 0; color: #335a74; font-size: 15px; line-height: 1.5; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-group-title p { margin: 0; color: #728697; font-size: 12px; line-height: 1.5; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-metrics,
.financial-adviser-visible-modules .financial-adviser-income-expense-overview-grid,
.financial-adviser-visible-modules .financial-adviser-a-module-metrics { display: grid; gap: 10px; width: 100%; min-width: 0; }
.financial-adviser-visible-modules .financial-adviser-a-module-metrics { grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); }
.financial-adviser-visible-modules .financial-adviser-credit-overview-metrics.is-four,
.financial-adviser-visible-modules .financial-adviser-income-expense-overview-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.financial-adviser-visible-modules .financial-adviser-credit-overview-metrics.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.financial-adviser-visible-modules .financial-adviser-credit-overview-metric,
.financial-adviser-visible-modules .financial-adviser-income-expense-overview-metric,
.financial-adviser-visible-modules .financial-adviser-a-module-metric { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; min-height: 130px; margin: 0; padding: 16px 27px 15px 16px; border: 1px solid #dfe7ee; border-radius: 9px; background: #fff; overflow-wrap: anywhere; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-metric:hover,
.financial-adviser-visible-modules .financial-adviser-income-expense-overview-metric:hover,
.financial-adviser-visible-modules .financial-adviser-a-module-metric:hover { border-color: #9fbed5; background: #f7fbfe; }
.financial-adviser-visible-modules button:focus-visible { outline: 2px solid #2482b8; outline-offset: 3px; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-metric-label,
.financial-adviser-visible-modules .financial-adviser-income-expense-overview-metric-label,
.financial-adviser-visible-modules .financial-adviser-a-module-metric > span:not(.financial-adviser-a-metric-progress) { display: block; min-height: 21px; color: #526d81; font-size: 13px; line-height: 1.55; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-metric-label > i,
.financial-adviser-visible-modules .financial-adviser-income-expense-overview-metric-label > i { display: none; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-metric > strong,
.financial-adviser-visible-modules .financial-adviser-income-expense-overview-metric > strong,
.financial-adviser-visible-modules .financial-adviser-a-module-metric > strong { display: block; margin-top: 9px; font-size: 25px; line-height: 1.35; font-variant-numeric: tabular-nums; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-metric.is-missing > strong,
.financial-adviser-visible-modules .financial-adviser-income-expense-overview-metric.is-missing > strong { font-size: 20px; color: #718291; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-metric > small,
.financial-adviser-visible-modules .financial-adviser-income-expense-overview-metric > small,
.financial-adviser-visible-modules .financial-adviser-a-module-metric > small { display: block; margin-top: 7px; color: #708494; font-size: 12px; line-height: 1.6; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-metric > b,
.financial-adviser-visible-modules .financial-adviser-income-expense-overview-metric > b,
.financial-adviser-visible-modules .financial-adviser-a-module-metric > i { top: 17px; right: 12px; transform: none; font-size: 18px; }
.financial-adviser-visible-modules .financial-adviser-credit-overview-group.is-independent { margin-top: 24px; padding-top: 22px; border-top: 1px solid #dbe5ed; }
.financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-group-title { display: block; margin-bottom: 12px; }
.financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-group-title h5 { font-size: 17px; }
.financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-group-title p { margin-top: 5px; }
.financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-metrics { grid-template-columns: minmax(0, 1fr); }
.financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-metric { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(0, 2fr); gap: 4px 24px; min-height: 104px; background: #f8fafc; }
.financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-metric-label { grid-area: 1 / 1; }
.financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-metric > strong { grid-area: 2 / 1; margin-top: 0; }
.financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-metric > small { grid-area: 1 / 2 / 3 / 3; align-self: center; margin: 0; font-size: 13px; }
.financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-metric > b { top: 50%; transform: translateY(-50%); }
.financial-adviser-visible-modules .financial-adviser-credit-overview-group.is-independent + .financial-adviser-credit-overview-group:not(.is-independent) { margin-top: 24px; padding-top: 22px; border-top: 1px solid #dbe5ed; }
.financial-adviser-visible-modules .financial-adviser-a-module-open { display: inline-flex; margin-top: 12px; font-size: 13px; }
.financial-adviser-data-overview > button { margin-top: 14px; }
.financial-adviser-visible-modules .is-evidence .financial-adviser-a-module-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.financial-adviser-material-boundary { margin: 0 0 20px; color: #6d8193; font-size: 14px; line-height: 1.7; }
.financial-adviser-material-scroll-hint { display: none; }
.financial-adviser-material-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid #dde6ee; border-radius: 8px; }
.financial-adviser-material-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.financial-adviser-material-table th { background: #f4f8fb; color: #536f84; text-align: left; font-weight: 600; }
.financial-adviser-material-table th, .financial-adviser-material-table td { padding: 14px 12px; border-bottom: 1px solid #e3eaf0; vertical-align: top; overflow-wrap: anywhere; }
.financial-adviser-material-table tr:last-child td { border-bottom: 0; }
.financial-adviser-material-table th:first-child { width: 32%; }
.financial-adviser-material-table td strong { color: #244a65; font-weight: 500; }
.financial-adviser-material-table td small { display: block; margin-top: 5px; color: #728798; font-size: 12px; }
.financial-adviser-material-filename { display: block; margin-bottom: 5px; }
.financial-adviser-material-loader { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin-top: 18px; }
.financial-adviser-material-loader button { padding: 9px 14px; border: 1px solid #b9ccdb; border-radius: 6px; background: #fff; color: #226598; }
.financial-adviser-material-loader button:disabled { color: #6f8494; background: #f5f8fa; }
.financial-adviser-material-loader small { flex: 1 1 260px; color: #718494; line-height: 1.6; }
.financial-adviser-material-conflict { margin-bottom: 18px; padding: 20px; border: 1px solid #e6d9c8; border-left: 3px solid #c58a3d; border-radius: 8px; }
.financial-adviser-material-conflict header { display: flex; justify-content: space-between; gap: 12px; }
.financial-adviser-material-conflict h4 { margin: 0; font-size: 17px; color: #254861; }
.financial-adviser-material-conflict header span { flex-shrink: 0; color: #9a652a; font-size: 13px; }
.financial-adviser-material-conflict p { color: #536f84; line-height: 1.7; overflow-wrap: anywhere; }
.financial-adviser-material-conflict > small { display: block; margin-top: 15px; color: #728494; line-height: 1.6; }
.financial-adviser-material-candidates { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px; }
.financial-adviser-material-candidates > div { display: flex; flex-direction: column; gap: 8px; padding: 14px; background: #f5f8fa; border-radius: 6px; overflow-wrap: anywhere; }
.financial-adviser-material-candidates span, .financial-adviser-material-candidates small { color: #698195; font-size: 12px; }
.financial-adviser-material-candidates strong { color: #204a67; font-size: 16px; }
@media (max-width: 760px) {
  .financial-adviser-visible-modules .is-evidence .financial-adviser-a-module-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .financial-adviser-material-table { min-width: 650px; }
  .financial-adviser-material-scroll-hint { display: block; margin-bottom: 8px; color: #718494; font-size: 12px; }
  .financial-adviser-material-panel[data-material-section="COVERAGE"] .financial-adviser-material-table { min-width: 520px; }
  .financial-adviser-material-conflict { padding: 14px; }
  .financial-adviser-visible-modules .financial-adviser-credit-overview-metrics.is-four,
  .financial-adviser-visible-modules .financial-adviser-credit-overview-metrics.is-three,
  .financial-adviser-visible-modules .financial-adviser-income-expense-overview-grid,
  .financial-adviser-visible-modules .financial-adviser-a-module-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .financial-adviser-visible-modules .financial-adviser-credit-overview-metrics.is-three > :last-child { grid-column: 1 / -1; }
  .financial-adviser-visible-modules .financial-adviser-credit-overview-header { align-items: flex-start; gap: 10px; }
  .financial-adviser-visible-modules .financial-adviser-credit-overview-header > div:last-child { text-align: right; }
  .financial-adviser-visible-modules .financial-adviser-credit-overview-header h4,
  .financial-adviser-visible-modules .financial-adviser-a-module-identity h4 { font-size: 20px; }
  .financial-adviser-visible-modules .financial-adviser-credit-overview-metric,
  .financial-adviser-visible-modules .financial-adviser-income-expense-overview-metric,
  .financial-adviser-visible-modules .financial-adviser-a-module-metric { padding: 14px 23px 13px 13px; min-height: 128px; }
  .financial-adviser-visible-modules .financial-adviser-credit-overview-metric > strong,
  .financial-adviser-visible-modules .financial-adviser-income-expense-overview-metric > strong,
  .financial-adviser-visible-modules .financial-adviser-a-module-metric > strong { font-size: 22px; }
  .financial-adviser-visible-modules .financial-adviser-credit-overview-metric.is-missing > strong,
  .financial-adviser-visible-modules .financial-adviser-income-expense-overview-metric.is-missing > strong { font-size: 18px; }
  .financial-adviser-visible-modules .financial-adviser-credit-overview-group-title p { flex-basis: 100%; }
  .financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-metric { display: flex; gap: 0; }
  .financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-metric > strong { margin-top: 9px; }
  .financial-adviser-visible-modules .is-independent .financial-adviser-credit-overview-metric > small { align-self: stretch; margin-top: 7px; }
}
@media (max-width: 620px) {
  .financial-adviser-diagnostic-report {
    padding: 20px 18px 32px;
    font-size: 15px;
  }
  .financial-adviser-diagnostic-conclusion > p:first-child { font-size: 16px; }
  .financial-adviser-diagnostic-conclusion { padding: 15px 16px 10px; }
  .financial-adviser-diagnostic-chapter > .financial-adviser-diagnostic-chapter-heading { font-size: 19px; gap: 9px; }
  .financial-adviser-diagnostic-chapter-body { margin-left: 0; padding-left: 12px; }
  .financial-adviser-diagnostic-section > h5 { font-size: 17px; }
  .financial-adviser-diagnostic-point h6,
  .financial-adviser-diagnostic-point > strong { font-size: 16px; }
  .financial-adviser-diagnostic-debt table { font-size: 13px; }
  .financial-adviser-diagnostic-debt table th,
  .financial-adviser-diagnostic-debt table td { padding: 10px 8px; }
  .financial-adviser-diagnostic-share { flex-direction: column-reverse; align-items: flex-start; gap: 4px; }
  .financial-adviser-diagnostic-share > i { width: 54px; }
  .financial-adviser-diagnostic-report .financial-adviser-a-product-table {
    display: table;
    min-width: 640px;
  }
  .financial-adviser-diagnostic-report .financial-adviser-a-product-table thead { display: table-header-group; }
  .financial-adviser-diagnostic-report .financial-adviser-a-product-table tbody { display: table-row-group; }
  .financial-adviser-diagnostic-report .financial-adviser-a-product-table tr { display: table-row; }
  .financial-adviser-diagnostic-report .financial-adviser-a-product-table td,
  .financial-adviser-diagnostic-report .financial-adviser-a-product-table th {
    display: table-cell;
    width: auto;
    min-width: 0;
    border: 1px solid #e1e7ed;
  }
  .financial-adviser-diagnostic-report .financial-adviser-a-product-table td::before { display: none; }
}


/* Conversation shell v3 final authority: keep late legacy presentation rules
 * from restoring the former blue dashboard frame or permanent report rail. */
.bangdaikan-app .app-header {
  position: relative;
  top: auto;
  height: 58px;
  padding: 0 18px;
  border-bottom: 1px solid #ececef;
  background: rgba(255, 255, 255, .97);
  color: #22252a;
  box-shadow: none;
}

.bangdaikan-app .brand-mark {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(145deg, #287ce8, #1263d6);
  color: #fff;
  box-shadow: 0 5px 14px rgba(22, 99, 214, .18);
}

.bangdaikan-app .brand-name { color: #22252a; }
.bangdaikan-app .brand-meta { color: #92969d; }
.bangdaikan-app .header-status {
  border-color: #e4e6e9;
  background: #f7f7f8;
  color: #777c84;
}
.bangdaikan-app .account-menu {
  border-left-color: #e4e6e9;
  color: #62666d;
}
.bangdaikan-app .account-menu button {
  border-color: #dedfe2;
  background: #fff;
  color: #565a61;
}

.bangdaikan-app .app-shell {
  grid-template-columns: 220px minmax(0, 1fr);
}

@media (min-width: 1161px) {
  .bangdaikan-app .app-shell {
    grid-template-columns: 220px minmax(0, 1fr);
  }
}

.bangdaikan-app .main-content {
  height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.bangdaikan-app .main-content > #view-intake,
.bangdaikan-app #view-intake.is-active,
.bangdaikan-app #activeCaseJourney.interview-layout {
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
}

.bangdaikan-app #activeCaseJourney .interview-heading-action,
.bangdaikan-app #activeCaseJourney .interview-heading-action.is-primary {
  border-color: transparent;
  background: #f5f5f6;
  color: #5c6067;
  box-shadow: none;
}

.bangdaikan-app #activeCaseJourney .interview-heading-action:hover,
.bangdaikan-app #activeCaseJourney .interview-heading-action.is-primary:hover {
  background: #ececee;
  color: #24282e;
}

@media (min-width: 901px) and (max-width: 1160px) {
  .bangdaikan-app .app-shell {
    grid-template-columns: 200px minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .bangdaikan-app .app-header {
    height: 54px;
    padding: 0 12px;
  }

  .bangdaikan-app .app-shell {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 50px minmax(0, 1fr);
  }
}

/*
 * Conversation shell v3.
 * The interaction follows the familiar modern AI-chat layout: a quiet history
 * rail, one uninterrupted conversation canvas and a floating composer. The
 * product identity, financial workflow and report controls remain 帮贷看.
 */
body.bangdaikan-app {
  height: 100dvh;
  overflow: hidden;
  background: #fff;
  color: #1f2329;
}

.bangdaikan-app #authenticatedApp:not([hidden]) {
  height: 100dvh;
  display: grid;
  grid-template-rows: 58px minmax(0, 1fr);
  overflow: hidden;
}

.bangdaikan-app .app-header {
  position: relative;
  top: auto;
  z-index: 60;
  height: 58px;
  padding: 0 18px;
  border-bottom: 1px solid #ececef;
  background: rgba(255, 255, 255, .97);
  color: #22252a;
  box-shadow: none;
  backdrop-filter: blur(14px);
}

.bangdaikan-app .brand-block {
  gap: 10px;
}

.bangdaikan-app .brand-mark {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(145deg, #287ce8, #1263d6);
  color: #fff;
  box-shadow: 0 5px 14px rgba(22, 99, 214, .18);
  font-size: 15px;
}

.bangdaikan-app .brand-name {
  color: #22252a;
  font-size: 15px;
  letter-spacing: 0;
}

.bangdaikan-app .brand-meta {
  color: #92969d;
  font-size: 9px;
}

.bangdaikan-app .header-trust {
  gap: 10px;
}

.bangdaikan-app .header-trust > strong {
  display: none;
}

.bangdaikan-app .header-status {
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #e4e6e9;
  background: #f7f7f8;
  color: #777c84;
  font-size: 11px;
}

.bangdaikan-app .account-menu {
  min-height: 30px;
  padding-left: 10px;
  border-left-color: #e4e6e9;
  color: #62666d;
}

.bangdaikan-app .account-menu button {
  min-height: 28px;
  border-color: #dedfe2;
  background: #fff;
  color: #565a61;
}

.bangdaikan-app .account-menu button:hover {
  background: #f4f4f5;
}

.bangdaikan-app .app-shell {
  width: 100%;
  height: 100%;
  min-height: 0;
  grid-template-columns: 220px minmax(0, 1fr);
  overflow: hidden;
  background: #fff;
}

.bangdaikan-app .side-nav.consultation-history-nav {
  position: relative;
  top: auto;
  align-self: stretch;
  height: 100%;
  min-height: 0;
  gap: 8px;
  padding: 14px 10px 16px;
  overflow: hidden;
  border-right: 1px solid #ececef;
  background: #f7f7f8;
  color: #2b2f35;
}

.bangdaikan-app .new-consultation-button {
  min-height: 42px;
  justify-content: flex-start;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: #fff;
  color: #24282e;
  box-shadow: none;
  font-size: 13px;
  font-weight: 700;
}

.bangdaikan-app .new-consultation-button:hover {
  border-color: #e2e3e6;
  background: #fff;
}

.bangdaikan-app .new-consultation-button span {
  color: #4e535a;
  font-size: 18px;
  font-weight: 500;
}

.bangdaikan-app .consultation-history-label {
  padding: 12px 10px 4px;
  color: #a0a3a9;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
}

.bangdaikan-app .consultation-history-list {
  gap: 3px;
  padding: 0;
  scrollbar-color: #d8dade transparent;
}

.bangdaikan-app .consultation-history-item,
.bangdaikan-app .consultation-history-item:hover,
.bangdaikan-app .consultation-history-item.is-last-opened,
.bangdaikan-app .consultation-history-item.is-active {
  min-height: 44px;
  gap: 2px;
  padding: 8px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #454950;
  box-shadow: none;
}

.bangdaikan-app .consultation-history-item:hover,
.bangdaikan-app .consultation-history-item.is-last-opened {
  background: #efeff1;
}

.bangdaikan-app .consultation-history-item.is-active {
  background: #e7e7ea;
}

.bangdaikan-app .consultation-history-item-title {
  color: #34383e;
  font-size: 12px;
  font-weight: 650;
}

.bangdaikan-app .consultation-history-item-meta,
.bangdaikan-app .consultation-history-item small {
  color: #9a9da3;
  font-size: 9px;
}

.bangdaikan-app .consultation-history-nav .case-directory-loading,
.bangdaikan-app .consultation-history-nav .case-directory-empty {
  padding: 14px 10px;
  border-color: #dadce0;
  background: transparent;
  color: #898d94;
}

.bangdaikan-app .consultation-history-nav .case-directory-empty strong {
  color: #4c5056;
}

.bangdaikan-app .consultation-history-nav .case-directory-empty p {
  color: #989ba1;
}

.bangdaikan-app .main-content {
  height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.bangdaikan-app .main-content > #view-intake,
.bangdaikan-app #view-intake.is-active {
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.bangdaikan-app #activeCaseJourney.interview-layout {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

.bangdaikan-app #activeCaseJourney .interview-workspace {
  height: 100%;
  min-height: 0;
  grid-template-rows: minmax(0, 1fr) auto;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.bangdaikan-app #activeCaseJourney .interview-scroll-region {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.bangdaikan-app #activeCaseJourney .interview-heading {
  position: sticky;
  top: 0;
  z-index: 12;
  min-height: 56px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 8px 18px 8px 22px;
  border-bottom: 1px solid #f0f0f2;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(12px);
}

.bangdaikan-app #activeCaseJourney .interview-heading-copy {
  min-width: 0;
  flex: 1 1 auto;
  text-align: center;
}

.bangdaikan-app #activeCaseJourney .interview-heading h1 {
  overflow: hidden;
  margin: 0;
  color: #272a30;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bangdaikan-app #activeCaseJourney .interview-heading-actions {
  position: static;
  flex: 0 0 auto;
  display: flex;
  gap: 6px;
}

.bangdaikan-app .interview-heading-action {
  min-height: 34px;
  padding: 0 10px;
  border-color: transparent;
  border-radius: 9px;
  background: #f5f5f6;
  color: #5c6067;
  box-shadow: none;
}

.bangdaikan-app .interview-heading-action:hover,
.bangdaikan-app .interview-heading-action.is-primary:hover {
  border-color: transparent;
  background: #ececee;
  color: #24282e;
}

.bangdaikan-app .interview-heading-action.is-primary {
  border-color: transparent;
  background: #f5f5f6;
  color: #5c6067;
}

.bangdaikan-app #activeCaseJourney .interview-messages {
  width: min(820px, 100%);
  gap: 18px;
  padding: 28px 24px 12px;
}

.bangdaikan-app #activeCaseJourney .interview-suggestions {
  width: min(820px, 100%);
  padding-right: 24px;
  padding-bottom: 16px;
}

.bangdaikan-app #activeCaseJourney .suggestion-button {
  border-color: #e0e1e4;
  background: #f7f7f8;
  color: #454950;
  box-shadow: none;
}

.bangdaikan-app #activeCaseJourney .suggestion-button:hover {
  border-color: #d5d7da;
  background: #f0f0f2;
}

.bangdaikan-app #activeCaseJourney .message-avatar {
  background: linear-gradient(145deg, #2b7de9, #1765d3);
  box-shadow: none;
}

.bangdaikan-app #activeCaseJourney .message-body {
  border-color: #ececef;
  background: #fff;
  color: #30343a;
  box-shadow: none;
}

.bangdaikan-app #activeCaseJourney .interview-message.is-user .message-body {
  border-color: transparent;
  background: #f0f1f3;
  color: #272a30;
}

.bangdaikan-app #activeCaseJourney .interview-composer-dock {
  position: static;
  align-self: end;
  padding: 10px 24px 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 18px, #fff 100%);
}

.bangdaikan-app #activeCaseJourney .interview-composer {
  width: min(820px, 100%);
  gap: 6px 8px;
  padding: 9px 10px 8px;
  border: 1px solid #dedfe2;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(24, 28, 34, .09);
}

.bangdaikan-app #activeCaseJourney .interview-composer textarea {
  min-height: 44px;
  padding: 11px 13px;
  background: transparent;
  color: #2b2f35;
}

.bangdaikan-app #activeCaseJourney .interview-composer .button {
  min-width: 66px;
  min-height: 42px;
  border-radius: 14px;
  background: #1f73e8;
  box-shadow: none;
}

.bangdaikan-app #activeCaseJourney .composer-tool-button {
  border-radius: 8px;
  color: #666b73;
}

.bangdaikan-app #activeCaseJourney .composer-tool-button:hover {
  background: #f4f4f5;
  color: #25292f;
}

.bangdaikan-app #activeCaseJourney .composer-hint {
  color: #a0a3a9;
  text-align: center;
}

.bangdaikan-app #interviewSidebar.interview-sidebar {
  position: fixed;
  top: 58px;
  right: 0;
  bottom: 0;
  z-index: 92;
  width: min(380px, 92vw);
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  border: 0;
  border-left: 1px solid #e6e7e9;
  background: #fff;
  box-shadow: -16px 0 44px rgba(23, 28, 35, .12);
  transform: translateX(105%);
  visibility: hidden;
  pointer-events: none;
  transition: transform .22s ease, visibility 0s linear .22s;
}

.bangdaikan-app #interviewSidebar.interview-sidebar.is-open {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
  transition: transform .22s ease;
}

.bangdaikan-app .interview-sidebar-drawer-heading {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  background: rgba(255, 255, 255, .97);
}

.bangdaikan-app #interviewSidebarBackdrop.interview-sidebar-backdrop {
  position: fixed;
  inset: 58px 0 0;
  z-index: 91;
  display: block;
  border: 0;
  background: rgba(25, 28, 33, .24);
  backdrop-filter: blur(1px);
}

.bangdaikan-app #interviewSidebarBackdrop.interview-sidebar-backdrop[hidden] {
  display: none;
}

body.has-interview-sidebar-open {
  overflow: hidden;
}

@media (max-width: 900px) {
  .bangdaikan-app #authenticatedApp:not([hidden]) {
    grid-template-rows: 54px minmax(0, 1fr);
  }

  .bangdaikan-app .app-header {
    height: 54px;
    padding: 0 12px;
  }

  .bangdaikan-app .brand-meta,
  .bangdaikan-app .header-status,
  .bangdaikan-app .account-menu > span {
    display: none;
  }

  .bangdaikan-app .app-shell {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 50px minmax(0, 1fr);
  }

  .bangdaikan-app .side-nav.consultation-history-nav {
    height: 50px;
    min-height: 50px;
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 6px;
    padding: 5px 8px;
    overflow: hidden;
    border-right: 0;
    border-bottom: 1px solid #ececef;
    background: #fafafa;
  }

  .bangdaikan-app .new-consultation-button {
    min-width: 0;
    min-height: 40px;
    padding: 0 10px;
  }

  .bangdaikan-app .consultation-history-list {
    display: flex;
    gap: 5px;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .bangdaikan-app .consultation-history-item {
    width: 156px;
    min-height: 40px;
    flex: 0 0 156px;
    padding: 6px 9px;
  }

  .bangdaikan-app #interviewSidebar.interview-sidebar {
    top: 54px;
    width: min(380px, 94vw);
  }

  .bangdaikan-app #interviewSidebarBackdrop.interview-sidebar-backdrop {
    inset: 54px 0 0;
  }
}

@media (max-width: 620px) {
  .bangdaikan-app .app-shell {
    grid-template-rows: 48px minmax(0, 1fr);
  }

  .bangdaikan-app .side-nav.consultation-history-nav {
    height: 48px;
    min-height: 48px;
    grid-template-columns: 104px minmax(0, 1fr);
    padding: 4px 6px;
  }

  .bangdaikan-app #activeCaseJourney .interview-heading {
    min-height: 48px;
    gap: 6px;
    padding: 6px 8px 6px 12px;
  }

  .bangdaikan-app #activeCaseJourney .interview-heading-copy {
    text-align: left;
  }

  .bangdaikan-app #activeCaseJourney .interview-heading h1 {
    font-size: 14px;
  }

  .bangdaikan-app .interview-heading-action {
    width: 34px;
    min-width: 34px;
    min-height: 34px;
    justify-content: center;
    padding: 0;
  }

  .bangdaikan-app .interview-heading-action > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .bangdaikan-app #activeCaseJourney .interview-messages {
    gap: 15px;
    padding: 18px 12px 8px;
  }

  .bangdaikan-app #activeCaseJourney .interview-composer-dock {
    padding: 7px 9px calc(9px + env(safe-area-inset-bottom));
  }

  .bangdaikan-app #activeCaseJourney .interview-composer {
    border-radius: 18px;
    box-shadow: 0 5px 20px rgba(24, 28, 34, .1);
  }

  .bangdaikan-app #activeCaseJourney .composer-hint {
    display: none;
  }

  .bangdaikan-app #interviewSidebar.interview-sidebar {
    top: 0;
    width: 100vw;
    max-width: none;
  }

  .bangdaikan-app #interviewSidebarBackdrop.interview-sidebar-backdrop {
    inset: 0;
  }
}

/* Conversation shell v2 final cascade: keep later legacy breakpoints from
 * returning the information rail to the bottom of the chat. */
.bangdaikan-app .interview-heading {
  display: flex;
  flex-wrap: nowrap;
}

.bangdaikan-app .interview-heading-actions {
  display: none;
}

@media (min-width: 901px) {
  .bangdaikan-app .interview-layout {
    grid-template-columns: minmax(0, 1fr) 340px;
  }

  .bangdaikan-app .interview-workspace {
    grid-template-rows: minmax(0, 1fr) auto;
  }
}

@media (max-width: 900px) {
  .bangdaikan-app .main-content,
  .bangdaikan-app #view-intake.is-active,
  .bangdaikan-app .interview-layout,
  .bangdaikan-app .interview-workspace {
    min-height: 0;
  }

  .bangdaikan-app .main-content,
  .bangdaikan-app #view-intake.is-active,
  .bangdaikan-app .interview-layout,
  .bangdaikan-app .interview-workspace {
    height: 100%;
  }

  .bangdaikan-app .interview-layout {
    position: relative;
    grid-template-columns: minmax(0, 1fr);
    max-height: 100%;
    overflow: hidden;
  }

  .bangdaikan-app .interview-workspace {
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
  }

  .bangdaikan-app .interview-scroll-region {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .bangdaikan-app .interview-heading {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }

  .bangdaikan-app .interview-heading-actions {
    display: flex;
  }

  .bangdaikan-app .interview-composer-dock {
    position: static;
    align-self: end;
  }

  .bangdaikan-app .interview-sidebar {
    position: fixed;
    top: 58px;
    right: 0;
    bottom: 0;
    width: min(360px, 92vw);
    transform: translateX(105%);
  }

  .bangdaikan-app .interview-sidebar.is-open {
    transform: translateX(0);
  }

  .bangdaikan-app .interview-sidebar-backdrop {
    position: fixed;
  }
}

@media (max-width: 620px) {
  .bangdaikan-app .interview-heading {
    display: flex;
    padding: 7px 10px 7px 12px;
  }

  .bangdaikan-app .interview-heading-copy {
    min-width: 0;
    flex: 1 1 auto;
  }

  .bangdaikan-app .interview-heading h1 {
    overflow: hidden;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .bangdaikan-app .interview-heading-actions {
    flex: 0 0 auto;
    display: flex;
  }

  .bangdaikan-app .interview-sidebar {
    top: 0;
    width: 100vw;
  }

  .bangdaikan-app .composer-hint {
    display: none;
  }
}

/* Conversation shell v2: auxiliary facts and report actions stay beside the
 * conversation on desktop and become a real drawer on narrow screens. */
.bangdaikan-app .interview-heading-copy {
  min-width: 0;
  flex: 1 1 auto;
}

.bangdaikan-app .interview-heading-actions {
  display: none;
  align-items: center;
  gap: 8px;
}

.bangdaikan-app .interview-heading-action {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 11px;
  border: 1px solid #d3dfeb;
  border-radius: 10px;
  background: #fff;
  color: #34516d;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.bangdaikan-app .interview-heading-action:hover,
.bangdaikan-app .interview-heading-action[aria-expanded="true"] {
  border-color: #92bce4;
  background: #f1f7fd;
  color: #0d63ba;
}

.bangdaikan-app .interview-heading-action.is-primary {
  border-color: #176fd0;
  background: #176fd0;
  color: #fff;
}

.bangdaikan-app .interview-heading-action svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.bangdaikan-app .interview-heading-action b {
  min-width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  background: #e6f1fc;
  color: #1767bd;
  font-size: 10px;
}

.bangdaikan-app .interview-sidebar-drawer-heading,
.bangdaikan-app .interview-sidebar-backdrop {
  display: none;
}

@media (min-width: 901px) {
  .bangdaikan-app .interview-layout {
    grid-template-columns: minmax(0, 1fr) 340px;
  }

  .bangdaikan-app .interview-workspace {
    grid-template-rows: minmax(0, 1fr) auto;
  }
}

@media (max-width: 900px) {
  .bangdaikan-app .app-shell {
    height: calc(100dvh - 58px);
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
  }

  .bangdaikan-app .side-nav.consultation-history-nav {
    align-self: stretch;
    max-height: 68px;
    overflow: hidden;
  }

  .bangdaikan-app .main-content {
    height: 100%;
    min-height: 0;
    padding: 8px;
    overflow: hidden;
  }

  .bangdaikan-app #view-intake.is-active {
    height: 100%;
    min-height: 0;
  }

  .bangdaikan-app .interview-layout {
    position: relative;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    grid-template-columns: minmax(0, 1fr);
    overflow: hidden;
  }

  .bangdaikan-app .interview-workspace {
    width: 100%;
    height: 100%;
    min-height: 0;
    grid-template-rows: minmax(0, 1fr) auto;
    padding: 0;
    overflow: hidden;
  }

  .bangdaikan-app .interview-scroll-region {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-padding-bottom: 18px;
  }

  .bangdaikan-app .interview-heading {
    position: sticky;
    top: 0;
    z-index: 8;
    min-height: 58px;
    margin: 0;
    padding: 9px 14px;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(14px);
  }

  .bangdaikan-app .interview-heading h1 {
    overflow: hidden;
    font-size: 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .bangdaikan-app .interview-heading-actions {
    flex: 0 0 auto;
    display: flex;
  }

  .bangdaikan-app .interview-messages {
    width: min(760px, 100%);
    padding-top: 18px;
  }

  .bangdaikan-app .interview-composer-dock {
    position: static;
    z-index: 12;
    align-self: end;
    padding: 8px 14px 10px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 14px, #fff 100%);
  }

  .bangdaikan-app .interview-sidebar {
    position: fixed;
    top: 58px;
    right: 0;
    bottom: 0;
    z-index: 80;
    width: min(360px, 92vw);
    min-height: 0;
    display: flex;
    overflow-x: hidden;
    overflow-y: auto;
    border: 0;
    background: #fff;
    box-shadow: -18px 0 48px rgba(16, 42, 72, .2);
    transform: translateX(105%);
    visibility: hidden;
    pointer-events: none;
    transition: transform .22s ease, visibility 0s linear .22s;
    overscroll-behavior: contain;
  }

  .bangdaikan-app .interview-sidebar.is-open {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }

  .bangdaikan-app .interview-sidebar-drawer-heading {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 16px;
    border-bottom: 1px solid #e1e8ef;
    background: rgba(255, 255, 255, .97);
    backdrop-filter: blur(14px);
  }

  .bangdaikan-app .interview-sidebar-drawer-heading div {
    display: grid;
    gap: 2px;
  }

  .bangdaikan-app .interview-sidebar-drawer-heading span {
    color: #7a8c9f;
    font-size: 10px;
  }

  .bangdaikan-app .interview-sidebar-drawer-heading strong {
    color: #173451;
    font-size: 15px;
  }

  .bangdaikan-app .interview-sidebar-drawer-heading button {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #f0f4f8;
    color: #3a556e;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
  }

  .bangdaikan-app .interview-sidebar-backdrop {
    position: fixed;
    inset: 58px 0 0;
    z-index: 70;
    display: block;
    border: 0;
    background: rgba(10, 26, 45, .34);
    backdrop-filter: blur(2px);
  }

  .bangdaikan-app .interview-sidebar-backdrop[hidden] {
    display: none;
  }

  body.has-interview-sidebar-open {
    overflow: hidden;
  }
}

@media (max-width: 620px) {
  .bangdaikan-app .side-nav.consultation-history-nav {
    min-height: 54px;
    max-height: 54px;
    grid-template-columns: 96px minmax(0, 1fr);
    padding: 7px 8px;
  }

  .bangdaikan-app .new-consultation-button {
    min-width: 96px;
    min-height: 40px;
  }

  .bangdaikan-app .consultation-history-list {
    height: 40px;
  }

  .bangdaikan-app .consultation-history-item {
    width: 142px;
    height: 40px;
    flex-basis: 142px;
    align-content: center;
    padding: 5px 8px;
  }

  .bangdaikan-app .consultation-history-item-meta,
  .bangdaikan-app .consultation-history-item small {
    display: none;
  }

  .bangdaikan-app .main-content {
    padding: 0;
  }

  .bangdaikan-app .interview-layout {
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .bangdaikan-app .interview-heading {
    min-height: 54px;
    padding: 7px 10px 7px 12px;
  }

  .bangdaikan-app .interview-heading-action {
    min-width: 42px;
    min-height: 40px;
    padding: 0 9px;
  }

  .bangdaikan-app .interview-heading-action span {
    display: none;
  }

  .bangdaikan-app .interview-heading-action b {
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
  }

  .bangdaikan-app .interview-messages {
    padding-top: 15px;
    padding-bottom: 8px;
  }

  .bangdaikan-app .interview-composer-dock {
    padding: 7px 10px calc(8px + env(safe-area-inset-bottom));
  }

  .bangdaikan-app .composer-hint {
    display: none;
  }

  .bangdaikan-app .interview-sidebar {
    top: 0;
    width: 100vw;
    max-width: none;
  }

  .bangdaikan-app .interview-sidebar-backdrop {
    inset: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bangdaikan-app .interview-sidebar {
    transition: none;
  }
}

/* User-facing adviser progress and AI explanation. Keep operational terms out of the UI. */
.financial-adviser-loading {
  width: min(100%, 720px);
}

.financial-adviser-loading-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 14px;
  margin: 22px 0 16px;
  padding: 0;
  list-style: none;
  text-align: left;
}

.financial-adviser-loading-steps li {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #dce8f1;
  border-radius: 11px;
  color: #6b8295;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
}

.financial-adviser-loading-steps li > span {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border: 2px solid #b8cad8;
  border-radius: 50%;
}

.financial-adviser-loading-steps li.is-current {
  border-color: #5ea5d3;
  color: #0b609c;
  background: #eef8ff;
}

.financial-adviser-loading-steps li.is-current > span {
  border-color: #1576bb;
  background: #1576bb;
  box-shadow: 0 0 0 4px rgba(21, 118, 187, 0.12);
}

.financial-adviser-loading-steps li.is-complete {
  border-color: #bfe4d6;
  color: #24745e;
  background: #f1fbf7;
}

.financial-adviser-loading-steps li.is-complete > span {
  border-color: #2aa47d;
  background: #2aa47d;
}

.financial-adviser-loading > small {
  display: block;
  color: #7890a4;
  line-height: 1.6;
}

.financial-adviser-ai {
  border-color: #cce1f0;
  background: linear-gradient(145deg, #f8fcff 0%, #f4fbf8 100%);
}

.financial-adviser-ai .financial-adviser-section-heading {
  align-items: flex-start;
}

.financial-adviser-ai .financial-adviser-section-heading > strong {
  max-width: 440px;
  text-align: right;
  line-height: 1.55;
}

.financial-adviser-ai-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.financial-adviser-ai-card {
  min-width: 0;
  padding: 18px;
  border: 1px solid #d7e6ef;
  border-radius: 14px;
  background: #fff;
}

.financial-adviser-ai-card > strong {
  display: block;
  color: #093e68;
  font-size: 16px;
  line-height: 1.55;
}

.financial-adviser-ai-card ul {
  margin: 12px 0 0;
  padding-left: 20px;
  color: #42667e;
  line-height: 1.75;
}

.financial-adviser-ai-card > div {
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid #e3edf3;
}

.financial-adviser-ai-card > div > span {
  display: block;
  margin-bottom: 5px;
  color: #23806b;
  font-size: 12px;
  font-weight: 800;
}

.financial-adviser-ai-card p {
  margin: 4px 0 0;
  color: #3f6279;
  line-height: 1.65;
}

@media (max-width: 760px) {
  .financial-adviser-loading {
    padding: 30px 16px;
  }

  .financial-adviser-loading-steps,
  .financial-adviser-ai-grid {
    grid-template-columns: 1fr;
  }

  .financial-adviser-ai .financial-adviser-section-heading > strong {
    max-width: none;
    text-align: left;
  }
}

/* Unified financial-adviser result: one immutable version for diagnosis and products. */
.financial-adviser-result-panel {
  padding: 0;
  overflow: hidden;
  border: 1px solid #cfe0ec;
  border-radius: 22px;
  background: #f5f9fc;
  box-shadow: 0 22px 56px rgba(17, 61, 94, 0.12);
}

.financial-adviser-result-panel.is-loading {
  min-height: 260px;
  display: grid;
  place-items: center;
}

.financial-adviser-loading {
  max-width: 620px;
  padding: 42px 28px;
  text-align: center;
  color: #173f60;
}

.financial-adviser-loading strong,
.financial-adviser-loading p {
  display: block;
}

.financial-adviser-loading strong {
  margin-top: 18px;
  font-size: 20px;
}

.financial-adviser-loading p {
  margin: 9px 0 0;
  color: #678096;
  line-height: 1.65;
}

.financial-adviser-spinner {
  width: 42px;
  height: 42px;
  display: inline-block;
  border: 4px solid #dceaf4;
  border-top-color: #1576bb;
  border-radius: 50%;
  animation: financial-adviser-spin 0.9s linear infinite;
}

@keyframes financial-adviser-spin {
  to { transform: rotate(360deg); }
}

.financial-adviser-result {
  color: #123c5d;
  background: #f5f9fc;
}

.financial-adviser-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  padding: 34px 38px;
  color: #fff;
  background: linear-gradient(125deg, #082e5d 0%, #0b5ca5 62%, #168b88 100%);
}

.financial-adviser-hero.is-case-overview {
  padding-top: 20px;
  padding-bottom: 20px;
}

.financial-adviser-hero.is-case-overview h3 {
  margin-bottom: 0;
  font-size: clamp(22px, 2.4vw, 29px);
}

.financial-adviser-hero > div:first-child > span,
.financial-adviser-section-heading span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.financial-adviser-hero h3 {
  margin: 8px 0 9px;
  color: inherit;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.2;
}

.financial-adviser-hero p {
  max-width: 850px;
  margin: 0;
  color: rgba(255, 255, 255, 0.84);
  line-height: 1.7;
}

.financial-adviser-version {
  min-width: 160px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 5px;
  text-align: right;
}

.financial-adviser-version strong {
  padding: 7px 12px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.13);
}

.financial-adviser-version span,
.financial-adviser-version small {
  color: rgba(255, 255, 255, 0.78);
}

.financial-adviser-boundary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 38px;
  border-bottom: 1px solid #efdfbd;
  background: #fff8e8;
  color: #7b5a16;
}

.financial-adviser-boundary span {
  color: #8f7339;
}

.financial-adviser-boundary.is-verification {
  border-bottom-color: #c9e1ef;
  background: #eef8fd;
  color: #155a7f;
}

.financial-adviser-boundary.is-verification span {
  color: #527b92;
}

.financial-adviser-nav {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  gap: 8px;
  padding: 12px 30px;
  overflow-x: auto;
  border-bottom: 1px solid #d8e5ee;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
}

.financial-adviser-nav button {
  flex: 0 0 auto;
  padding: 8px 13px;
  border: 0;
  border-radius: 999px;
  color: #315d7e;
  background: transparent;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.financial-adviser-nav button:hover,
.financial-adviser-nav button:focus-visible,
.financial-adviser-nav button.is-active,
.financial-adviser-nav button[aria-selected="true"] {
  color: #075c9c;
  background: #eaf5fc;
}

.financial-adviser-nav button:focus-visible {
  outline: 3px solid rgba(32, 132, 198, 0.22);
  outline-offset: 2px;
}

.financial-adviser-tab-panel[hidden] {
  display: none !important;
}

.financial-adviser-tab-panel {
  min-height: 360px;
}

.financial-adviser-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 24px 30px 4px;
}

.financial-adviser-overview article,
.financial-adviser-metric,
.financial-adviser-gap-grid article,
.financial-adviser-evidence {
  border: 1px solid #d8e5ee;
  border-radius: 14px;
  background: #fff;
}

.financial-adviser-overview article {
  padding: 18px;
}

.financial-adviser-overview span,
.financial-adviser-overview strong,
.financial-adviser-overview small,
.financial-adviser-metric span,
.financial-adviser-metric strong,
.financial-adviser-metric small {
  display: block;
}

.financial-adviser-overview span,
.financial-adviser-metric span {
  color: #688198;
  font-size: 12px;
}

.financial-adviser-overview strong {
  margin: 6px 0;
  color: #063b66;
  font-size: 24px;
}

.financial-adviser-overview small,
.financial-adviser-metric small {
  color: #7890a4;
  line-height: 1.5;
}

.financial-adviser-overview article.is-alert {
  border-color: #f0c9c5;
  background: #fff7f6;
}

.financial-adviser-overview article.is-alert strong {
  color: #c64f4f;
}

.financial-adviser-overview-analysis {
  padding: 20px 30px 4px;
}

.financial-adviser-overview-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.financial-adviser-overview-metric {
  padding: 16px;
  border: 1px solid #d9e6ee;
  border-left: 4px solid #2482b7;
  border-radius: 13px;
  background: #fff;
}

.financial-adviser-overview-metric span,
.financial-adviser-overview-metric strong,
.financial-adviser-overview-metric small {
  display: block;
}

.financial-adviser-overview-metric span {
  color: #698198;
  font-size: 12px;
  font-weight: 700;
}

.financial-adviser-overview-metric strong {
  margin: 6px 0;
  color: #063b66;
  font-size: 21px;
}

.financial-adviser-overview-metric small {
  color: #71899c;
  line-height: 1.5;
}

.financial-adviser-overview-metric.is-alert {
  border-color: #efc5c4;
  border-left-color: #d35459;
  background: #fff7f6;
}

.financial-adviser-overview-metric.is-alert strong {
  color: #b63f47;
}

.financial-adviser-overview-metric.is-income { border-left-color: #2d9b76; }
.financial-adviser-overview-metric.is-cashflow { border-left-color: #3988c5; }
.financial-adviser-overview-metric.is-asset { border-left-color: #b7822d; }
.financial-adviser-overview-metric.is-debt { border-left-color: #cd695b; }

.financial-adviser-overview-narratives {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.financial-adviser-overview-narratives article {
  padding: 16px;
  border-radius: 13px;
  background: #f4f8fb;
}

.financial-adviser-overview-narratives span {
  display: block;
  color: #177e69;
  font-size: 12px;
  font-weight: 800;
}

.financial-adviser-overview-narratives p {
  margin: 7px 0 0;
  color: #375a73;
  line-height: 1.75;
}

.financial-adviser-section {
  margin: 20px 30px 0;
  padding: 24px;
  border: 1px solid #d8e5ee;
  border-radius: 18px;
  background: #fff;
}

.financial-adviser-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.financial-adviser-section-heading span {
  color: #27806e;
}

.financial-adviser-section-heading h3 {
  margin: 4px 0 0;
  color: #073c67;
  font-size: 20px;
}

.financial-adviser-section-heading > strong {
  color: #6c8498;
  font-size: 13px;
}

.financial-adviser-products,
.financial-adviser-diagnosis-grid,
.financial-adviser-gap-grid,
.financial-adviser-evidence-grid {
  display: grid;
  gap: 14px;
}

.financial-adviser-products {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.financial-adviser-product-introduction {
  margin: 13px 0;
  padding: 13px 14px;
  border-radius: 11px;
  background: #f1f7fb;
}

.financial-adviser-product-introduction strong {
  display: block;
  color: #176b91;
  font-size: 11px;
}

.financial-adviser-product-introduction p {
  margin: 6px 0 0;
  color: #365f78;
  line-height: 1.65;
}

.financial-adviser-product-profile {
  display: grid;
  gap: 7px;
  margin: -3px 18px 14px;
}

.financial-adviser-product-profile > div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
}

.financial-adviser-product-profile dt {
  color: #6b8193;
  font-size: 11px;
  font-weight: 800;
}

.financial-adviser-product-profile dd {
  margin: 0;
  color: #355d78;
  font-size: 12px;
  line-height: 1.55;
}

.financial-adviser-professional-module {
  min-width: 0;
  margin-top: 16px;
  padding: 18px;
  border: 1px solid #d8e5ee;
  border-radius: 16px;
  background: #f8fbfd;
  overflow: hidden;
}

.financial-adviser-professional-module > :first-child {
  margin-top: 0;
}

.financial-adviser-professional-module .personal-analysis-panel,
.financial-adviser-professional-module .cashflow-section,
.financial-adviser-professional-module .asset-analysis-section,
.financial-adviser-professional-module .personal-credit-module {
  max-width: 100%;
}

.financial-adviser-cashflow-detail {
  margin-top: 16px;
}

.financial-adviser-contribution-static {
  margin-top: 16px;
  padding: 17px;
  border: 1px solid #cfe2d9;
  border-radius: 13px;
  background: #f5fbf8;
}

.financial-adviser-contribution-static header span {
  color: #26806b;
  font-size: 11px;
  font-weight: 800;
}

.financial-adviser-contribution-static header h3 {
  margin: 4px 0 0;
  color: #164e48;
}

.financial-adviser-contribution-static p {
  color: #58756d;
  line-height: 1.65;
}

.financial-adviser-contribution-static dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
}

.financial-adviser-contribution-static dl > div {
  padding: 10px;
  border-radius: 9px;
  background: #fff;
}

.financial-adviser-contribution-static dt {
  color: #6c817b;
  font-size: 10px;
}

.financial-adviser-contribution-static dd {
  margin: 4px 0 0;
  color: #194f48;
  font-weight: 800;
}

.financial-adviser-detail-loading {
  display: grid;
  place-items: center;
  min-height: 420px;
  padding: 40px;
  color: #335d75;
  text-align: center;
}

.financial-adviser-detail-loading strong {
  margin-top: 16px;
  color: #083f68;
  font-size: 18px;
}

.financial-adviser-detail-loading p {
  max-width: 480px;
  color: #6a8295;
  line-height: 1.65;
}

.financial-adviser-product-strategy {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #dfe8ef;
}

.financial-adviser-risk-gap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.financial-adviser-risk-gap-grid > div > h4 {
  margin: 0 0 11px;
  color: #244e6c;
  font-size: 14px;
}

.financial-adviser-risk-details,
.financial-adviser-gap-details {
  display: grid;
  gap: 10px;
}

.financial-adviser-risk-detail {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  padding: 13px;
  border: 1px solid #ecd2d1;
  border-radius: 11px;
  background: #fff8f7;
}

.financial-adviser-risk-detail > span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  color: #fff;
  background: #c9565b;
  font-size: 11px;
  font-weight: 900;
}

.financial-adviser-risk-detail header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.financial-adviser-risk-detail header strong { color: #834148; }
.financial-adviser-risk-detail header em { color: #b74a50; font-size: 10px; font-style: normal; white-space: nowrap; }
.financial-adviser-risk-detail dl { display: grid; gap: 6px; margin: 10px 0 0; }
.financial-adviser-risk-detail dl > div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 8px; }
.financial-adviser-risk-detail dt { color: #9a6a6d; font-size: 10px; }
.financial-adviser-risk-detail dd { margin: 0; color: #5f5157; font-size: 11px; line-height: 1.55; }

.financial-adviser-gap-detail {
  padding: 13px;
  border: 1px solid #eadbb7;
  border-radius: 11px;
  background: #fffbf1;
}

.financial-adviser-gap-detail span,
.financial-adviser-gap-detail strong,
.financial-adviser-gap-detail small { display: block; }
.financial-adviser-gap-detail span { color: #a96d17; font-size: 10px; font-weight: 800; }
.financial-adviser-gap-detail strong { margin-top: 6px; color: #6d511f; }
.financial-adviser-gap-detail p { margin: 6px 0; color: #776546; font-size: 11px; line-height: 1.55; }
.financial-adviser-gap-detail small { color: #8e7b5a; line-height: 1.5; }

.financial-adviser-gap-detail.is-verification {
  margin-bottom: 9px;
  border-color: #bcd9e9;
  background: #f2f9fd;
}

.financial-adviser-gap-detail.is-verification span { color: #267399; }
.financial-adviser-gap-detail.is-verification strong { color: #145676; }
.financial-adviser-gap-detail.is-verification p,
.financial-adviser-gap-detail.is-verification small { color: #52778a; }

.financial-adviser-strength-band {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #dfe9ef;
}

.financial-adviser-strength-band > strong {
  display: block;
  margin-bottom: 10px;
  color: #27735f;
  font-size: 13px;
}

.financial-adviser-module-guide {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: -3px 0 15px;
}

.financial-adviser-module-guide span {
  padding: 6px 9px;
  border-radius: 999px;
  color: #506f85;
  background: #edf5fa;
  font-size: 10px;
  font-weight: 700;
}

.financial-adviser-module-section > .financial-adviser-diagnosis-card {
  background: #f9fcfe;
}

.financial-adviser-declared-information {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid #e6d9b9;
  border-radius: 13px;
  background: #fffaf0;
}

.financial-adviser-declared-information > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.financial-adviser-declared-information > header strong { color: #76571d; }
.financial-adviser-declared-information > header span { color: #927a4e; font-size: 10px; }
.financial-adviser-declared-information > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.financial-adviser-declared-information article {
  padding: 10px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.82);
}

.financial-adviser-declared-information article span,
.financial-adviser-declared-information article strong,
.financial-adviser-declared-information article small { display: block; }
.financial-adviser-declared-information article span { color: #8f7a52; font-size: 10px; }
.financial-adviser-declared-information article strong { margin: 4px 0; color: #5c471e; }
.financial-adviser-declared-information article small { color: #aa9367; }

.financial-adviser-strategy-explanation {
  margin: 0 0 14px;
  color: #476b84;
  line-height: 1.75;
}

.financial-adviser-strategy-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.financial-adviser-strategy-list li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 13px 15px;
  border: 1px solid #dce7ee;
  border-left: 4px solid #2da67f;
  border-radius: 12px;
  background: #f9fcfe;
}

.financial-adviser-strategy-list li.is-needs-material { border-left-color: #dc9c24; }
.financial-adviser-strategy-list li.is-limited { border-left-color: #dd6168; }
.financial-adviser-strategy-list li.is-not-matched { border-left-color: #9aa9b6; }

.financial-adviser-strategy-list li > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #fff;
  background: #0f6da8;
  font-weight: 900;
}

.financial-adviser-strategy-list strong,
.financial-adviser-strategy-list small {
  display: block;
}

.financial-adviser-strategy-list strong {
  color: #0a416c;
}

.financial-adviser-strategy-list small {
  margin-top: 4px;
  color: #70879a;
}

.financial-adviser-product {
  overflow: hidden;
  border: 1px solid #d9e5ed;
  border-top: 4px solid #2da67f;
  border-radius: 14px;
  background: #fbfdff;
}

.financial-adviser-product.is-needs-material { border-top-color: #dc9c24; }
.financial-adviser-product.is-limited { border-top-color: #dd6168; }
.financial-adviser-product.is-not-matched { border-top-color: #9aa9b6; }

.financial-adviser-product > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 18px 10px;
}

.financial-adviser-product header span {
  color: #6f879a;
  font-size: 11px;
}

.financial-adviser-product h4 {
  margin: 5px 0 0;
  color: #093d66;
  font-size: 16px;
}

.financial-adviser-product > header > strong {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  color: #08745b;
  background: #e6f6f0;
  font-size: 11px;
}

.financial-adviser-product.is-needs-material > header > strong {
  color: #986600;
  background: #fff3d8;
}

.financial-adviser-product.is-limited > header > strong,
.financial-adviser-product.is-not-matched > header > strong {
  color: #a33b43;
  background: #fff0f1;
}

.financial-adviser-product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  padding: 0 18px 14px;
  color: #70879a;
  font-size: 11px;
}

.financial-adviser-product-meta a {
  color: #0871b4;
  font-weight: 800;
}

.financial-adviser-product-summary {
  margin: 0;
  padding: 0 18px 14px;
  color: #355d78;
  font-size: 13px;
  line-height: 1.6;
}

.financial-adviser-product-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 0 18px 16px;
}

.financial-adviser-product-insight {
  padding: 12px;
  border: 1px solid #dfe9ef;
  border-radius: 10px;
  background: #f7fafc;
}

.financial-adviser-product-insight > strong {
  display: block;
  color: #0d745d;
  font-size: 12px;
}

.financial-adviser-product-insight.is-limitation > strong { color: #b44a51; }
.financial-adviser-product-insight.is-missing > strong { color: #9b6a0d; }

.financial-adviser-product-insight ul {
  margin: 8px 0 0;
  padding-left: 17px;
}

.financial-adviser-product-insight li,
.financial-adviser-product-insight p {
  margin: 5px 0 0;
  color: #526f83;
  font-size: 12px;
  line-height: 1.55;
}

.financial-adviser-unmatched-products {
  margin-top: 16px;
  border: 1px solid #dfe7ed;
  border-radius: 12px;
  background: #f7f9fb;
}

.financial-adviser-unmatched-products > summary {
  padding: 14px 16px;
  color: #647b8c;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}

.financial-adviser-unmatched-products > .financial-adviser-products {
  padding: 0 14px 14px;
}

.financial-adviser-product details {
  border-top: 1px solid #e1eaf0;
}

.financial-adviser-product summary {
  padding: 12px 18px;
  color: #2c5a79;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}

.financial-adviser-rules {
  display: grid;
  gap: 8px;
  padding: 0 18px 16px;
}

.financial-adviser-rules > div {
  display: grid;
  grid-template-columns: minmax(100px, 1fr) auto;
  gap: 4px 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f2f7fa;
}

.financial-adviser-rules strong {
  color: #126b5a;
  font-size: 12px;
}

.financial-adviser-rules small {
  grid-column: 1 / -1;
  color: #71889b;
}

.financial-adviser-diagnosis-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.financial-adviser-diagnosis-card {
  padding: 17px;
  border: 1px solid #dce7ee;
  border-radius: 14px;
  background: #f9fcfe;
}

.financial-adviser-diagnosis-card.is-conflicted {
  border-color: #edc2bf;
  background: #fff8f7;
}

.financial-adviser-diagnosis-card > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
}

.financial-adviser-diagnosis-card header span {
  color: #6f879a;
  font-size: 11px;
}

.financial-adviser-diagnosis-card h4 {
  margin: 3px 0 0;
  color: #0a416c;
}

.financial-adviser-diagnosis-card header > strong {
  color: #3a7a6e;
  font-size: 11px;
}

.financial-adviser-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.financial-adviser-metric {
  padding: 12px;
}

.financial-adviser-metric strong {
  margin: 5px 0;
  color: #073e68;
  font-size: 17px;
}

.financial-adviser-metric.is-fact {
  border-left: 3px solid #79aeda;
}

.financial-adviser-permission-note,
.financial-adviser-empty {
  padding: 14px;
  border-radius: 11px;
  color: #647e92;
  background: #f0f6fa;
  line-height: 1.6;
}

.financial-adviser-empty.is-prominent {
  padding: 22px;
  text-align: center;
}

.financial-adviser-two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.financial-adviser-list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.financial-adviser-list li {
  position: relative;
  padding: 12px 14px 12px 34px;
  border-radius: 10px;
  color: #315c79;
  background: #f1f8f5;
  line-height: 1.55;
}

.financial-adviser-list li::before {
  position: absolute;
  left: 13px;
  content: "✓";
  color: #198368;
  font-weight: 900;
}

.financial-adviser-list.is-risk li {
  background: #fff4f3;
}

.financial-adviser-list.is-risk li::before {
  content: "!";
  color: #d24f55;
}

.financial-adviser-list li span {
  float: right;
  margin-left: 8px;
  color: #bd4a51;
  font-size: 11px;
}

.financial-adviser-gap-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.financial-adviser-gap-grid article,
.financial-adviser-evidence {
  padding: 15px;
}

.financial-adviser-gap-grid span,
.financial-adviser-gap-grid strong,
.financial-adviser-gap-grid small {
  display: block;
}

.financial-adviser-gap-grid span {
  color: #b16e17;
  font-size: 11px;
  font-weight: 800;
}

.financial-adviser-gap-grid strong {
  margin: 6px 0;
  color: #244f6d;
}

.financial-adviser-gap-grid small {
  color: #7b8fa0;
  line-height: 1.5;
}

.financial-adviser-evidence-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.financial-adviser-evidence header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.financial-adviser-evidence header span,
.financial-adviser-evidence small {
  color: #758b9d;
  font-size: 11px;
}

.financial-adviser-evidence p {
  margin: 9px 0;
  color: #3e637d;
  line-height: 1.6;
}

.financial-adviser-evidence-loader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f2f7fb;
}

.financial-adviser-evidence-loader button {
  flex: 0 0 auto;
  padding: 9px 18px;
  border: 1px solid #1f72b6;
  border-radius: 8px;
  background: #fff;
  color: #125b94;
  font-weight: 800;
  cursor: pointer;
}

.financial-adviser-evidence-loader button:disabled {
  cursor: default;
  opacity: .65;
}

.financial-adviser-evidence-loader small {
  color: #647f94;
  line-height: 1.5;
}

.financial-adviser-footer {
  margin-top: 22px;
  padding: 16px 30px 24px;
  color: #6f8496;
  font-size: 12px;
  text-align: center;
}

.report-history-detail .financial-adviser-section,
.report-history-detail .financial-adviser-overview {
  margin-left: 14px;
  margin-right: 14px;
}

@media (max-width: 920px) {
  .financial-adviser-overview,
  .financial-adviser-overview-metrics,
  .financial-adviser-overview-narratives,
  .financial-adviser-products,
  .financial-adviser-product-insights,
  .financial-adviser-diagnosis-grid,
  .financial-adviser-two-column,
  .financial-adviser-evidence-grid {
    grid-template-columns: 1fr 1fr;
  }

  .financial-adviser-risk-gap-grid {
    grid-template-columns: 1fr;
  }

  .financial-adviser-gap-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .financial-adviser-hero {
    grid-template-columns: 1fr;
    padding: 25px 20px;
  }

  .financial-adviser-version {
    align-items: flex-start;
    text-align: left;
  }

  .financial-adviser-boundary {
    align-items: flex-start;
    padding: 12px 20px;
  }

  .financial-adviser-nav {
    padding: 10px 14px;
  }

  .financial-adviser-overview,
  .financial-adviser-overview-metrics,
  .financial-adviser-overview-narratives,
  .financial-adviser-products,
  .financial-adviser-product-insights,
  .financial-adviser-diagnosis-grid,
  .financial-adviser-two-column,
  .financial-adviser-gap-grid,
  .financial-adviser-evidence-grid,
  .financial-adviser-risk-gap-grid,
  .financial-adviser-metric-grid,
  .financial-adviser-declared-information > div {
    grid-template-columns: 1fr;
  }

  .financial-adviser-declared-information > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .financial-adviser-overview {
    padding: 18px 14px 0;
  }

  .financial-adviser-overview-analysis {
    padding: 16px 14px 0;
  }

  .financial-adviser-contribution-static dl {
    grid-template-columns: 1fr;
  }

  .financial-adviser-section {
    margin: 14px 14px 0;
    padding: 17px;
  }

  .financial-adviser-section-heading,
  .financial-adviser-product > header,
  .financial-adviser-evidence header {
    align-items: flex-start;
    flex-direction: column;
  }

  .report-history-detail .financial-adviser-section,
  .report-history-detail .financial-adviser-overview {
    margin-left: 0;
    margin-right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .financial-adviser-spinner {
    animation-duration: 1.8s;
  }
}

/* Customer-facing diagnostic report. The same semantic blocks are used by the
   desktop page and the future mini-program; only the responsive layout changes. */
.bangdaikan-app .report-tablist.is-personal,
.bangdaikan-app .report-tablist.is-business { grid-template-columns: repeat(6, minmax(108px, 1fr)); }
.diagnostic-report { color: #17364b; background: #f4f8fc; }
.diagnostic-report-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 28px 30px 22px; background: #fff; border-bottom: 1px solid #dce7ee; }
.diagnostic-report-header h2 { margin: 5px 0 6px; color: #102f45; font-size: clamp(24px, 2.2vw, 34px); }
.diagnostic-report-header p { margin: 0; color: #6e8391; }
.diagnostic-report-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 15px 0 0; }
.diagnostic-report-meta > div { display: flex; gap: 6px; align-items: baseline; }
.diagnostic-report-meta dt { color: #7b909d; font-size: 11px; }
.diagnostic-report-meta dd { margin: 0; color: #33566b; font-size: 12px; font-weight: 800; }
.diagnostic-eyebrow { color: #0876c9; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.diagnostic-header-actions { display: flex; gap: 9px; flex-wrap: wrap; }
.diagnostic-conclusion { margin: 14px 30px 0; overflow: hidden; border: 1px solid rgba(41, 128, 221, .42); border-radius: 12px; color: #fff; background: linear-gradient(112deg, #061f50 0%, #07377d 58%, #075bc6 100%); box-shadow: 0 10px 28px rgba(7, 46, 105, .17); }
.diagnostic-conclusion.is-risk { background: linear-gradient(112deg, #54130f 0%, #8b211b 58%, #bd3d32 100%); }
.diagnostic-conclusion.is-review { background: linear-gradient(112deg, #4c2e05 0%, #7b5006 58%, #aa7210 100%); }
.diagnostic-conclusion > header { display: grid; grid-template-columns: 148px minmax(0, 1fr); gap: 20px; align-items: center; padding: 22px 24px 18px; }
.diagnostic-conclusion > header > span { color: #9fd4f4; font-weight: 800; }
.diagnostic-conclusion > header > span b { display: inline-block; padding: 6px 10px; border: 1px solid rgba(157, 210, 255, .4); border-radius: 6px; color: #fff; background: rgba(255, 255, 255, .09); }
.diagnostic-conclusion > header > span small { display: block; margin-top: 7px; color: #bddbea; font-weight: 500; }
.diagnostic-conclusion > header h3 { margin: 0; color: #fff; font-size: clamp(18px, 1.55vw, 24px); line-height: 1.55; }
.diagnostic-conclusion-audiences { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .85fr); gap: 12px; padding: 0 14px 14px; }
.diagnostic-conclusion-audiences > section { min-width: 0; padding: 18px; border: 1px solid rgba(201, 225, 245, .86); border-radius: 9px; color: #173c56; background: rgba(255, 255, 255, .97); }
.diagnostic-conclusion-audiences h4 { margin: 0 0 13px; color: #0a5d9c; font-size: 15px; }
.diagnostic-conclusion-bank > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.diagnostic-conclusion-bank article { min-width: 0; padding: 11px 12px; border: 1px solid #dce8f0; border-radius: 7px; background: #f7fafc; }
.diagnostic-conclusion-bank article small { display: block; color: #668091; font-size: 11px; }
.diagnostic-conclusion-bank article strong { display: block; margin: 5px 0; color: #0d3855; font-size: 15px; line-height: 1.4; }
.diagnostic-conclusion-bank article p { margin: 0; color: #637b8a; font-size: 11px; line-height: 1.55; }
.diagnostic-conclusion-customer { background: rgba(245, 251, 255, .98) !important; }
.diagnostic-conclusion-customer ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.diagnostic-conclusion-customer li { position: relative; padding-left: 18px; color: #36596f; font-size: 12px; line-height: 1.6; }
.diagnostic-conclusion-customer li::before { content: ""; position: absolute; top: .62em; left: 1px; width: 7px; height: 7px; border-radius: 50%; background: #2388c9; }
.diagnostic-conclusion > footer { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; align-items: baseline; margin: 0 14px 14px; padding: 13px 16px; border: 1px solid rgba(196, 222, 244, .38); border-radius: 8px; background: rgba(0, 20, 54, .25); }
.diagnostic-conclusion > footer b { color: #a9dcff; font-size: 13px; }
.diagnostic-conclusion > footer p { margin: 0; color: #fff; font-size: 13px; line-height: 1.55; }
.diagnostic-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 16px 30px 0; }
.diagnostic-kpi { display: flex; min-height: 118px; gap: 15px; align-items: flex-start; padding: 18px; border: 1px solid #d7e5f2; border-radius: 10px; background: #fff; box-shadow: 0 5px 18px rgba(19, 68, 111, .055); }
.diagnostic-kpi > div:last-child { min-width: 0; }
.diagnostic-kpi-icon { display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center; border-radius: 50%; color: #156fda; background: #eaf3ff; font-size: 15px; font-weight: 900; }
.diagnostic-kpi-icon svg { width: 23px; height: 23px; }
.diagnostic-kpi.is-loan .diagnostic-kpi-icon { color: #b87307; background: #fff4df; }
.diagnostic-kpi.is-card .diagnostic-kpi-icon { color: #146dcc; background: #eaf3ff; }
.diagnostic-kpi.is-due .diagnostic-kpi-icon { color: #8656ba; background: #f3ecfb; }
.diagnostic-kpi.is-debt .diagnostic-kpi-icon { color: #138265; background: #e6f7f1; }
.diagnostic-kpi span { display: block; color: #607989; font-size: 13px; }
.diagnostic-kpi strong { display: block; margin: 11px 0 8px; color: #123750; font-size: 25px; }
.diagnostic-kpi small { color: #748b98; line-height: 1.45; }
.diagnostic-kpi.is-risk { border-top: 3px solid #d74c43; }
.diagnostic-kpi.is-good { border-top: 3px solid #2a9a70; }
.diagnostic-kpi.is-review { border-top: 3px solid #e3a126; }
.diagnostic-bank-dashboard { margin: 16px 30px 0; overflow: hidden; border: 1px solid #d5e3ed; border-radius: 12px; background: #fff; box-shadow: 0 7px 22px rgba(17, 62, 99, .06); }
.diagnostic-bank-dashboard > .diagnostic-section-title { border-bottom: 1px solid #e2ebf1; }
.diagnostic-customer-overview-grid { display: grid; grid-template-columns: minmax(240px, .86fr) minmax(300px, 1.15fr) minmax(290px, 1fr); gap: 1px; background: #dfe8ee; }
.diagnostic-customer-overview-grid > article { min-width: 0; padding: 22px; background: #fbfdff; }
.diagnostic-customer-status-card { display: flex; align-items: flex-start; gap: 16px; }
.diagnostic-customer-icon { display: grid; flex: 0 0 50px; width: 50px; height: 50px; place-items: center; border-radius: 15px; color: #1273bd; background: linear-gradient(145deg, #e6f3ff, #f4f9ff); box-shadow: inset 0 0 0 1px #d7eafb; }
.diagnostic-customer-icon svg { width: 27px; height: 27px; }
.diagnostic-customer-status-card span { color: #1878b4; font-size: 12px; font-weight: 800; }
.diagnostic-customer-status-card h4 { margin: 7px 0; color: #14394f; font-size: 20px; }
.diagnostic-customer-status-card p { margin: 0; color: #647c8a; font-size: 12px; line-height: 1.65; }
.diagnostic-credit-behavior-card { overflow: hidden; }
.diagnostic-behavior-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.diagnostic-behavior-metrics > div { min-width: 0; padding: 13px 8px; border: 1px solid #e0e9ef; border-radius: 9px; text-align: center; background: #fff; }
.diagnostic-behavior-metrics span { display: grid; width: 31px; height: 31px; margin: 0 auto 7px; place-items: center; border-radius: 50%; color: #1379b7; background: #eaf4fa; }
.diagnostic-behavior-metrics span svg { width: 17px; height: 17px; }
.diagnostic-behavior-metrics small { display: block; overflow: hidden; color: #6c8390; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.diagnostic-behavior-metrics strong { display: block; margin-top: 7px; color: #173c54; font-size: 17px; }
.diagnostic-bank-grid { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(310px, 1.1fr) minmax(300px, 1fr); gap: 1px; background: #dfe8ee; }
.diagnostic-bank-grid > article { min-width: 0; padding: 22px; background: #fbfdff; }
.diagnostic-readiness-card { display: flex; align-items: center; gap: 18px; }
.diagnostic-score-ring { display: grid; flex: 0 0 112px; width: 112px; height: 112px; place-items: center; border-radius: 50%; background: conic-gradient(#1576d2 0 var(--score-angle), #e3ebf2 var(--score-angle) 360deg); }
.diagnostic-score-ring::before { content: ""; grid-area: 1 / 1; width: 82px; height: 82px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px #e7eef3; }
.diagnostic-score-ring > span { z-index: 1; grid-area: 1 / 1; color: #173c56; text-align: center; }
.diagnostic-score-ring strong { display: block; font-size: 32px; line-height: 1; }
.diagnostic-score-ring small { color: #708693; font-size: 11px; }
.diagnostic-readiness-card.is-good .diagnostic-score-ring { background: conic-gradient(#16855f 0 var(--score-angle), #e3ebf2 var(--score-angle) 360deg); }
.diagnostic-readiness-card.is-review .diagnostic-score-ring { background: conic-gradient(#dd941c 0 var(--score-angle), #e3ebf2 var(--score-angle) 360deg); }
.diagnostic-readiness-card.is-risk .diagnostic-score-ring { background: conic-gradient(#cf4a41 0 var(--score-angle), #e3ebf2 var(--score-angle) 360deg); }
.diagnostic-readiness-card > div:last-child > span { color: #1978b6; font-size: 12px; font-weight: 800; }
.diagnostic-readiness-card h4 { margin: 7px 0; color: #13384f; font-size: 18px; }
.diagnostic-readiness-card p { margin: 0; color: #667e8c; font-size: 12px; line-height: 1.55; }
.diagnostic-readiness-card > div:last-child > small { display: block; margin-top: 9px; color: #8799a5; font-size: 10px; line-height: 1.45; }
.diagnostic-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.diagnostic-card-heading strong { color: #153b53; font-size: 15px; }
.diagnostic-card-heading small { padding: 3px 7px; border-radius: 999px; color: #497187; background: #eaf3f8; font-size: 10px; }
.diagnostic-dimension-card ul { margin: 0; padding: 0; list-style: none; }
.diagnostic-dimension-card li { display: grid; grid-template-columns: 105px minmax(80px, 1fr) 26px; gap: 9px; align-items: center; margin: 9px 0; }
.diagnostic-dimension-card li > div:first-child { display: flex; min-width: 0; justify-content: space-between; gap: 5px; }
.diagnostic-dimension-card li span { color: #395b70; font-size: 11px; font-weight: 800; }
.diagnostic-dimension-card li em { color: #8798a3; font-size: 9px; font-style: normal; }
.diagnostic-dimension-card li > strong { color: #355b73; font-size: 11px; text-align: right; }
.diagnostic-debt-card { overflow: hidden; }
.diagnostic-dimension-track,
.diagnostic-debt-track { overflow: hidden; height: 7px; border-radius: 999px; background: #e5edf2; }
.diagnostic-dimension-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #27a27d, #1680c8); }
.diagnostic-debt-row { margin: 12px 0; }
.diagnostic-debt-row > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.diagnostic-debt-row span { color: #587383; font-size: 11px; }
.diagnostic-debt-row strong { color: #173d55; font-size: 13px; }
.diagnostic-debt-row small { display: block; margin-top: 4px; color: #8999a3; font-size: 9px; }
.diagnostic-debt-track { height: 9px; margin-top: 6px; }
.diagnostic-debt-track i { display: block; height: 100%; border-radius: inherit; background: #187fc4; }
.diagnostic-debt-row.is-card .diagnostic-debt-track i { background: #2aa17e; }
.diagnostic-debt-row.is-guarantee .diagnostic-debt-track i { background: repeating-linear-gradient(135deg, #d58a28 0 6px, #efb552 6px 12px); }
.diagnostic-chart-empty { padding: 26px 10px; color: #788e9a; font-size: 12px; text-align: center; }
.diagnostic-insight-grid { display: grid; grid-template-columns: minmax(330px, .9fr) minmax(0, 1.35fr); gap: 1px; border-top: 1px solid #dce8ef; background: #dce8ef; }
.diagnostic-insight-grid > * { min-width: 0; background: #fbfdff; }
.diagnostic-insight-grid .diagnostic-credit-behavior-card { padding: 18px 22px; }
.diagnostic-bank-opinion { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 5px 18px; padding: 17px 22px; border-top: 1px solid #dce8ef; border-bottom: 1px solid #dce8ef; background: linear-gradient(90deg, #eef7fb 0%, #f8fbfd 100%); }
.diagnostic-insight-grid .diagnostic-bank-opinion { border: 0; }
.diagnostic-bank-opinion > span { display: flex; grid-row: 1 / span 2; gap: 7px; align-items: center; color: #086fae; font-size: 12px; font-weight: 900; }
.diagnostic-bank-opinion > span svg { width: 19px; height: 19px; }
.diagnostic-bank-opinion p { margin: 0; color: #244b61; font-size: 14px; line-height: 1.7; }
.diagnostic-bank-opinion small { color: #80919b; line-height: 1.5; }
.diagnostic-module-portals { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: #dfe8ee; }
.diagnostic-module-portals button { display: grid; grid-template-columns: 36px minmax(0, 1fr) 18px; gap: 10px; align-items: center; min-height: 74px; padding: 13px 15px; border: 0; color: #234a61; background: #fff; cursor: pointer; text-align: left; font: inherit; }
.diagnostic-module-portals button:hover { z-index: 1; background: #f0f8fd; box-shadow: inset 0 -3px #1680c4; }
.diagnostic-module-portals b { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: #0874b9; background: #e8f4fb; }
.diagnostic-module-portals b svg { width: 19px; height: 19px; }
.diagnostic-module-portals span { font-size: 12px; font-weight: 900; }
.diagnostic-module-portals small { display: block; margin-top: 3px; color: #8999a4; font-size: 9px; font-weight: 500; }
.diagnostic-module-portals i { color: #6c93aa; font-style: normal; }
.diagnostic-main-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; padding: 16px 30px 22px; }
.diagnostic-risk-section,
.diagnostic-side-card,
.diagnostic-action-plan { border: 1px solid #d8e4ec; border-radius: 10px; background: #fff; }
.diagnostic-section-title { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 20px 22px; }
.diagnostic-section-title span { color: #1680c4; font-size: 12px; font-weight: 800; }
.diagnostic-section-title h3 { margin: 4px 0 0; color: #123750; font-size: 21px; }
.diagnostic-section-title small { color: #708895; }
.diagnostic-risk-filters { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 22px 16px; }
.diagnostic-filter-button { min-height: 34px; padding: 6px 13px; border: 1px solid #cbdce6; border-radius: 999px; color: #496b7d; background: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; }
.diagnostic-filter-button:hover { border-color: #7bb3d3; color: #0d6fa8; }
.diagnostic-filter-button.is-active { border-color: #0d78b8; color: #fff; background: #0d78b8; }
.diagnostic-risk-table-head { display: grid; grid-template-columns: minmax(170px, 1.12fr) minmax(115px, .7fr) minmax(155px, 1fr) minmax(155px, 1fr) 76px 22px; gap: 12px; padding: 10px 16px; border-top: 1px solid #dce7f0; color: #638097; background: #f6f9fc; font-size: 12px; font-weight: 800; }
.diagnostic-risk-row { border-top: 1px solid #e1eaf0; }
.diagnostic-risk-row summary { display: grid; grid-template-columns: minmax(170px, 1.12fr) minmax(115px, .7fr) minmax(155px, 1fr) minmax(155px, 1fr) 76px 22px; gap: 12px; align-items: start; padding: 15px 16px; cursor: pointer; list-style: none; transition: background .15s ease; }
.diagnostic-risk-row summary:hover { background: #f8fbfe; }
.diagnostic-risk-row summary::-webkit-details-marker { display: none; }
.diagnostic-risk-row summary strong,
.diagnostic-risk-row summary small { display: block; }
.diagnostic-risk-row summary small { margin-top: 4px; color: #718692; }
.diagnostic-risk-name { display: flex; min-width: 0; gap: 10px; align-items: flex-start; }
.diagnostic-risk-name > span { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; background: #187ac1; font-size: 11px; font-weight: 900; }
.diagnostic-risk-name strong { color: #133852; font-size: 14px; line-height: 1.45; }
.diagnostic-risk-cell { min-width: 0; color: #476478; font-size: 13px; line-height: 1.55; }
.diagnostic-risk-cell p { display: -webkit-box; overflow: hidden; margin: 0; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.diagnostic-risk-cell > small { margin: 0 0 5px !important; color: #7c92a2 !important; font-size: 11px; }
.diagnostic-risk-cell > strong { color: #173d58; font-size: 13px; }
.diagnostic-risk-cell > span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.diagnostic-risk-action-cell > span { color: #285d83; }
.diagnostic-risk-category { display: inline-block; margin-right: 7px; padding: 2px 6px; border-radius: 4px; color: #2b657f; background: #eaf4f8; font-size: 10px; font-weight: 800; }
.diagnostic-risk-index { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #0b79bb; background: #e7f3fb; font-weight: 900; }
.diagnostic-risk-level { display: grid; min-height: 28px; padding: 4px 8px; place-items: center; border-radius: 999px; color: #986611; background: #fff0ce; font-size: 10px; font-weight: 800; white-space: nowrap; }
.diagnostic-risk-row.is-high .diagnostic-risk-level { color: #a4312b; background: #ffe0dd; }
.diagnostic-risk-row.is-medium .diagnostic-risk-level { color: #986611; background: #fff0ce; }
.diagnostic-risk-row.is-review .diagnostic-risk-level { color: #966a10; background: #fff6d9; }
.diagnostic-risk-row.is-notice .diagnostic-risk-level { color: #176b91; background: #e5f4fb; }
.diagnostic-risk-chevron { color: #66889d; font-size: 20px; line-height: 28px; text-align: center; transition: transform .15s ease; }
.diagnostic-risk-row[open] .diagnostic-risk-chevron { transform: rotate(180deg); }
.diagnostic-risk-body { padding: 0 16px 16px; background: #fbfdff; }
.diagnostic-risk-body dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid #e0e9ef; border-radius: 7px; background: #e0e9ef; }
.diagnostic-risk-body dl > div { padding: 13px 14px; background: #f9fbfc; }
.diagnostic-risk-body dt { color: #69808e; font-size: 12px; }
.diagnostic-risk-body dd { margin: 6px 0 0; color: #24475d; line-height: 1.55; }
.diagnostic-risk-body dd small { display: block; margin-top: 6px; color: #768c98; }
.diagnostic-risk-evidence-action { width: auto; margin-top: 10px; font-size: 12px; }
.diagnostic-rule-badge { display: inline-block; padding: 3px 7px; border-radius: 999px; color: #267451; background: #e7f5ed; font-size: 11px; font-weight: 800; }
.diagnostic-evidence-strip { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 10px; padding: 12px 14px; border: 1px solid #dbe8f4; border-radius: 7px; background: #f5f9fd; }
.diagnostic-evidence-strip span { color: #47718e; font-size: 11px; font-weight: 800; }
.diagnostic-evidence-strip p { margin: 4px 0 0; color: #294d66; font-size: 12px; line-height: 1.5; }
.diagnostic-risk-link { flex: 0 0 auto; margin: 0; font-size: 12px; }
.diagnostic-risk-link:hover { text-decoration: underline; }
.diagnostic-empty { padding: 28px 22px; border-top: 1px solid #e1eaf0; color: #657d8b; }
.diagnostic-attention-list { display: grid; gap: 10px; padding: 0 18px 20px; }
.diagnostic-attention-card { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 13px; padding: 15px; border: 1px solid #e0e9ef; border-left: 4px solid #2a86bd; border-radius: 9px; background: #fbfdff; }
.diagnostic-attention-card.is-high { border-left-color: #d34c42; background: #fffafa; }
.diagnostic-attention-card.is-medium { border-left-color: #dd951d; background: #fffcf6; }
.diagnostic-attention-number { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: #2685bd; font-size: 12px; font-weight: 900; }
.diagnostic-attention-card.is-high .diagnostic-attention-number { background: #ce463d; }
.diagnostic-attention-card.is-medium .diagnostic-attention-number { background: #d58916; }
.diagnostic-attention-content { min-width: 0; }
.diagnostic-attention-content > div { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.diagnostic-attention-content > div strong { color: #173d55; font-size: 14px; line-height: 1.45; }
.diagnostic-attention-content em { flex: 0 0 auto; padding: 3px 8px; border-radius: 999px; color: #9b6411; background: #fff0d4; font-size: 10px; font-style: normal; font-weight: 800; }
.diagnostic-attention-card.is-high em { color: #a9342e; background: #ffe6e3; }
.diagnostic-attention-card.is-notice em { color: #176d9e; background: #e6f3fa; }
.diagnostic-attention-content dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 12px 0 0; overflow: hidden; border: 1px solid #e4ebf0; border-radius: 6px; background: #e4ebf0; }
.diagnostic-attention-content dl > div { padding: 10px 11px; background: rgba(255,255,255,.9); }
.diagnostic-attention-content dt { color: #748995; font-size: 10px; }
.diagnostic-attention-content dd { margin: 5px 0 0; color: #35576c; font-size: 11px; line-height: 1.5; }
.diagnostic-side-column { display: grid; align-content: start; gap: 12px; }
.diagnostic-side-card { padding: 20px; }
.diagnostic-side-card h3 { margin: 0 0 14px; color: #13384f; }
.diagnostic-side-card dl { margin: 0; }
.diagnostic-side-card dl > div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-top: 1px solid #e4ebf0; }
.diagnostic-side-card dt { color: #68808e; }
.diagnostic-side-card dd { margin: 0; font-weight: 800; text-align: right; }
.diagnostic-side-card ol { margin: 0 0 17px; padding-left: 21px; color: #36586b; }
.diagnostic-side-card ul { margin: 0 0 17px; padding-left: 19px; color: #36586b; }
.diagnostic-side-card li { margin: 8px 0; line-height: 1.5; }
.diagnostic-side-card > p,
.diagnostic-side-card > small { color: #667f8d; line-height: 1.5; }
.diagnostic-side-card > small { display: block; margin: -8px 0 14px; }
.diagnostic-side-card .button { width: 100%; }
.diagnostic-side-heading { display: flex; align-items: center; justify-content: space-between; }
.diagnostic-help { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid #b9ccdb; border-radius: 50%; color: #5d7789; font-size: 11px; font-weight: 900; }
.diagnostic-level-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.diagnostic-level-grid > div { padding: 10px 4px; border: 1px solid #e3eaf0; border-radius: 7px; text-align: center; background: #f8fafc; }
.diagnostic-level-grid small { display: block; color: #6f8391; font-size: 10px; }
.diagnostic-level-grid span { display: inline; margin-left: 2px; color: #6f8391; font-size: 10px; }
.diagnostic-level-grid strong { display: block; margin-top: 5px; color: #173c55; font-size: 20px; }
.diagnostic-level-grid .is-high { border-color: #f3d4d1; background: #fff4f3; }
.diagnostic-level-grid .is-high strong { color: #c83e36; }
.diagnostic-level-grid .is-medium { border-color: #f4e1bd; background: #fff9ee; }
.diagnostic-level-grid .is-medium strong { color: #d07809; }
.diagnostic-level-grid .is-review { border-color: #f2e7c9; background: #fffbef; }
.diagnostic-level-grid .is-review strong { color: #a87612; }
.diagnostic-level-grid .is-notice { border-color: #d4e6fb; background: #f2f8ff; }
.diagnostic-level-grid .is-notice strong { color: #1872cc; }
.diagnostic-top-risks ol { padding: 0; list-style: none; counter-reset: none; }
.diagnostic-top-risks li { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 8px; align-items: center; margin: 0; padding: 9px 0; border-top: 1px solid #edf1f4; }
.diagnostic-top-risks li > span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #fff; background: #146dd0; font-size: 10px; font-weight: 900; }
.diagnostic-top-risks li strong { color: #29495e; font-size: 12px; font-weight: 700; }
.diagnostic-top-risks li small { display: block; margin-top: 3px; color: #7a8f9b; font-size: 9px; }
.diagnostic-top-risks li em { padding: 3px 6px; border-radius: 4px; font-size: 10px; font-style: normal; }
.diagnostic-top-risks li em.is-high { color: #b52e28; background: #ffe8e6; }
.diagnostic-top-risks li em.is-medium { color: #ad6700; background: #fff0d4; }
.diagnostic-top-risks li em.is-review { color: #9a7011; background: #fff6d9; }
.diagnostic-top-risks li em.is-notice { color: #176da2; background: #e8f5fc; }
.diagnostic-top-risks li.is-empty { display: block; color: #6f8491; font-size: 12px; }
.diagnostic-missing-card li { display: flex; justify-content: space-between; gap: 8px; padding-bottom: 7px; border-bottom: 1px dashed #e2e9ee; }
.diagnostic-missing-card li em { flex: 0 0 auto; color: #b56b05; font-size: 10px; font-style: normal; }
.diagnostic-side-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.diagnostic-workflow { margin: 0 30px 22px; border: 1px solid #cfe0e9; border-radius: 10px; background: #eef7fb; }
.diagnostic-workflow ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; overflow: hidden; border-top: 1px solid #d6e7ef; list-style: none; background: #d6e7ef; }
.diagnostic-workflow li { position: relative; min-height: 118px; padding: 18px 20px; background: #f9fcfd; }
.diagnostic-workflow li:not(:last-child)::after { content: "→"; position: absolute; top: 18px; right: -7px; z-index: 1; color: #55a0c4; font-weight: 900; }
.diagnostic-workflow strong,
.diagnostic-workflow span { display: block; }
.diagnostic-workflow strong { margin-bottom: 9px; color: #126d9f; }
.diagnostic-workflow span { color: #55717f; font-size: 12px; line-height: 1.55; }
.diagnostic-action-plan { margin: 0 30px 22px; }
.diagnostic-action-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #e1eaf0; }
.diagnostic-action-columns article { display: flex; min-width: 0; flex-direction: column; padding: 22px; border-right: 1px solid #e1eaf0; }
.diagnostic-action-columns article:last-child { border-right: 0; }
.diagnostic-action-columns span { align-self: flex-start; padding: 5px 9px; border-radius: 999px; color: #0e6fa9; background: #eaf5fb; font-size: 12px; font-weight: 900; }
.diagnostic-action-columns strong { display: block; margin: 12px 0 8px; color: #173d54; font-size: 17px; line-height: 1.45; }
.diagnostic-action-columns p { margin: 0; color: #4f6d7e; font-size: 13px; line-height: 1.7; }
.diagnostic-action-columns dl { display: grid; gap: 1px; margin: 16px 0 0; overflow: hidden; border: 1px solid #dfe8ee; border-radius: 8px; background: #dfe8ee; }
.diagnostic-action-columns dl > div { padding: 11px 12px; background: #f8fbfd; }
.diagnostic-action-columns dt { color: #718996; font-size: 11px; font-weight: 800; }
.diagnostic-action-columns dd { margin: 5px 0 0; color: #294e64; font-size: 12px; line-height: 1.55; }
.diagnostic-action-link { align-self: flex-start; width: auto; margin-top: 14px; font-size: 12px; }
.diagnostic-action-columns small { display: block; margin-top: 10px; color: #8798a3; line-height: 1.45; }
.diagnostic-source-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 30px 22px; padding: 15px 18px; border: 1px solid #d8e4ec; border-radius: 9px; background: #fff; }
.diagnostic-source-legend > strong { margin-right: 5px; color: #244b62; }
.diagnostic-source-legend > span { padding: 4px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.diagnostic-source-legend .is-fact { color: #175f85; background: #e5f3fa; }
.diagnostic-source-legend .is-calculated { color: #267451; background: #e7f5ed; }
.diagnostic-source-legend .is-ai { color: #6e4a99; background: #f1eafa; }
.diagnostic-source-legend .is-unknown { color: #7a6750; background: #f3eee7; }
.diagnostic-source-legend p { flex-basis: 100%; margin: 4px 0 0; color: #6b818e; font-size: 12px; line-height: 1.55; }
.diagnostic-audit-details { margin: 0 30px 30px; border: 1px solid #cfdee7; border-radius: 9px; background: #fff; }
.diagnostic-audit-details > summary { padding: 16px 18px; color: #28536c; cursor: pointer; font-weight: 800; }
.diagnostic-audit-details .document-read-audit { margin: 0; border-width: 1px 0 0; border-radius: 0 0 9px 9px; }
.diagnostic-mobile-actions { display: none; }
.diagnostic-customer-disclaimer { margin: -6px 30px 24px; color: #758997; font-size: 12px; text-align: center; }

@media (max-width: 1380px) {
  .diagnostic-main-grid { grid-template-columns: 1fr; }
  .diagnostic-side-column { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .bangdaikan-app .report-tablist.is-personal,
  .bangdaikan-app .report-tablist.is-business { grid-template-columns: repeat(3, minmax(104px, 1fr)); }
  .diagnostic-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diagnostic-conclusion-audiences { grid-template-columns: 1fr; }
  .diagnostic-conclusion-bank > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diagnostic-customer-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diagnostic-customer-overview-grid > article:last-child { grid-column: 1 / -1; }
  .diagnostic-bank-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diagnostic-bank-grid > article:last-child { grid-column: 1 / -1; }
  .diagnostic-insight-grid { grid-template-columns: 1fr; }
  .diagnostic-module-portals { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .diagnostic-main-grid { grid-template-columns: 1fr; }
  .diagnostic-risk-table-head { display: none; }
  .diagnostic-risk-row summary { grid-template-columns: minmax(180px, 1.1fr) minmax(140px, .8fr) 76px 22px; }
  .diagnostic-risk-cell:nth-of-type(3), .diagnostic-risk-cell:nth-of-type(4) { display: none; }
  .diagnostic-side-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diagnostic-workflow ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .diagnostic-report-header { display: block; padding: 20px 16px; }
  .diagnostic-header-actions { margin-top: 15px; }
  .diagnostic-conclusion { margin: 10px 12px 0; }
  .diagnostic-conclusion > header { grid-template-columns: 1fr; padding: 18px 16px 15px; }
  .diagnostic-conclusion-audiences { padding: 0 8px 8px; }
  .diagnostic-conclusion-audiences > section { padding: 15px; }
  .diagnostic-conclusion-bank > div { grid-template-columns: 1fr; }
  .diagnostic-conclusion > footer { grid-template-columns: 1fr; gap: 5px; margin: 0 8px 8px; }
  .diagnostic-kpi-grid { margin: 14px 12px 0; }
  .diagnostic-kpi { min-height: 118px; padding: 15px; }
  .diagnostic-kpi strong { font-size: 21px; }
  .diagnostic-main-grid { padding: 14px 12px; }
  .diagnostic-bank-dashboard { margin: 14px 12px 0; }
  .diagnostic-customer-overview-grid { grid-template-columns: 1fr; }
  .diagnostic-customer-overview-grid > article:last-child { grid-column: auto; }
  .diagnostic-bank-grid { grid-template-columns: 1fr; }
  .diagnostic-bank-grid > article:last-child { grid-column: auto; }
  .diagnostic-readiness-card { align-items: flex-start; }
  .diagnostic-score-ring { flex-basis: 92px; width: 92px; height: 92px; }
  .diagnostic-score-ring::before { width: 68px; height: 68px; }
  .diagnostic-score-ring strong { font-size: 26px; }
  .diagnostic-bank-opinion { grid-template-columns: 1fr; }
  .diagnostic-bank-opinion > span { grid-row: auto; }
  .diagnostic-module-portals { grid-template-columns: 1fr 1fr; }
  .diagnostic-section-title { display: block; padding: 17px 15px; }
  .diagnostic-section-title > small { display: block; margin-top: 7px; }
  .diagnostic-attention-content dl { grid-template-columns: 1fr; }
  .diagnostic-risk-row summary { grid-template-columns: minmax(0, 1fr) auto 24px; padding: 14px 12px; }
  .diagnostic-risk-cell { display: none; }
  .diagnostic-evidence-strip { display: block; }
  .diagnostic-evidence-strip .button { width: 100%; margin-top: 10px; }
  .diagnostic-risk-body { padding: 0 12px 16px; }
  .diagnostic-risk-body dl { grid-template-columns: 1fr; }
  .diagnostic-risk-filters { flex-wrap: nowrap; overflow-x: auto; padding: 0 15px 14px; scrollbar-width: none; }
  .diagnostic-filter-button { flex: 0 0 auto; }
  .diagnostic-side-column,
  .diagnostic-action-columns { grid-template-columns: 1fr; }
  .diagnostic-workflow { margin: 0 12px 16px; }
  .diagnostic-workflow ol { grid-template-columns: 1fr; }
  .diagnostic-workflow li { min-height: auto; }
  .diagnostic-workflow li:not(:last-child)::after { content: "↓"; top: auto; right: 17px; bottom: -9px; }
  .diagnostic-action-plan { margin: 0 12px 16px; }
  .diagnostic-source-legend { margin: 0 12px 16px; }
  .diagnostic-action-columns article { border-right: 0; border-bottom: 1px solid #e1eaf0; }
  .diagnostic-action-columns article:last-child { border-bottom: 0; }
  .diagnostic-audit-details { margin: 0 12px 20px; }
  .diagnostic-customer-disclaimer { margin: -2px 12px 16px; text-align: left; }
  .diagnostic-mobile-actions { position: sticky; bottom: 0; z-index: 8; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px 12px; border-top: 1px solid #d4e1e8; background: rgba(255, 255, 255, .96); box-shadow: 0 -5px 18px rgba(21, 54, 79, .08); backdrop-filter: blur(8px); }
}

@media print {
  .app-header, .side-nav, .report-navigation, .diagnostic-header-actions, .diagnostic-audit-details, .diagnostic-mobile-actions, #deleteDocument { display: none !important; }
  .app-shell, .main-content, .result-panel, .report-panel { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; }
  .diagnostic-report { background: #fff; }
}

.cashflow-analysis-block {
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid #cbd9e2;
  border-radius: 8px;
  background: #fff;
}

.cashflow-core-workbench {
  overflow: hidden;
  border: 1px solid #b8cad6;
  border-radius: 9px;
  background: #f4f7f9;
  box-shadow: 0 8px 24px rgba(21, 54, 79, .07);
}

.cashflow-core-workbench > .cashflow-analysis-block,
.cashflow-core-workbench > .cashflow-vue-root {
  margin-top: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.cashflow-core-workbench > .cashflow-analysis-block + .cashflow-analysis-block,
.cashflow-core-workbench > .cashflow-vue-root {
  border-top: 8px solid #edf2f5;
}

.cashflow-block-heading {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 15px 18px;
  border-bottom: 1px solid #dbe4ea;
  background: #f5f8fa;
}

.cashflow-block-heading span {
  display: inline-grid;
  min-width: 30px;
  height: 25px;
  place-items: center;
  border-radius: 4px;
  background: #e4f1f8;
  color: #0b6cae;
  font-size: 12px;
  font-weight: 900;
}

.cashflow-block-heading h3 {
  margin-top: 6px;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.35;
}

.cashflow-block-heading p { margin-top: 4px; color: #607483; font-size: 12px; line-height: 1.5; }
.cashflow-block-heading > small {
  max-width: 360px;
  color: #607483;
  text-align: right;
}

.cashflow-quality-status {
  flex: 0 0 auto;
  padding: 6px 10px;
  border: 1px solid #9eb6c6;
  border-radius: 4px;
  font-size: 12px;
}

.cashflow-quality-status.is-complete { color: #17633f; border-color: #91c1a8; background: #eef8f3; }
.cashflow-quality-status.is-positive { color: #17633f; border-color: #91c1a8; background: #eef8f3; }
.cashflow-quality-status.is-review { color: #8a5a00; border-color: #dbbd76; background: #fff8df; }
.cashflow-quality-status.is-incomplete { color: #96382e; border-color: #dfa69f; background: #fff1ef; }
.cashflow-quality-status.is-negative { color: #96382e; border-color: #dfa69f; background: #fff1ef; }

.cashflow-quality-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cashflow-quality-grid > div {
  min-height: 92px;
  padding: 15px 18px;
  border-right: 1px solid #dbe4ea;
}

.cashflow-quality-grid > div:last-child { border-right: 0; }
.cashflow-quality-grid span, .cashflow-quality-grid small { display: block; color: #607483; }
.cashflow-quality-grid strong { display: block; margin: 7px 0 3px; color: var(--navy); font-size: 19px; }

.cashflow-condition-list {
  margin: 0;
  padding: 12px 34px 14px;
  border-top: 1px solid #e4eaee;
  color: #5b6c77;
  font-size: 12px;
}

.cashflow-repayment-metrics { border: 0; border-radius: 0; }
.cashflow-analysis-block > .table-note { margin: 0; padding: 11px 18px 14px; border-top: 1px solid #e4eaee; }

.cashflow-decision-block { border-color: #9eb8c8; box-shadow: 0 5px 18px rgba(21, 54, 79, .06); }
.cashflow-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
  background: #f7fafb;
}
.cashflow-decision-card {
  min-width: 0;
  padding: 17px 18px;
  border: 1px solid #cbd9e2;
  border-left: 5px solid #758c9b;
  border-radius: 6px;
  background: #fff;
}
.cashflow-decision-card.is-positive { border-left-color: #27815e; background: #f2faf6; }
.cashflow-decision-card.is-review { border-left-color: #bf8720; background: #fffaf0; }
.cashflow-decision-card.is-negative { border-left-color: #bd4037; background: #fff5f3; }
.cashflow-decision-card > span { display: block; color: #5d7180; font-size: 12px; font-weight: 700; }
.cashflow-decision-card > strong { display: block; margin-top: 6px; color: var(--navy); font-size: clamp(24px, 3vw, 34px); line-height: 1.2; }
.cashflow-decision-card > em {
  display: inline-block;
  margin-top: 9px;
  padding: 3px 8px;
  border-radius: 3px;
  background: rgba(21, 54, 79, .08);
  color: #3c5667;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}
.cashflow-decision-card > p { margin: 9px 0 0; color: #667985; font-size: 12px; }
.private-lending-analysis-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 18px 12px;
  border-top: 1px solid #dbe4ea;
  background: #f8fafb;
}
.private-lending-analysis-heading span { color: #a43a32; font-size: 11px; font-weight: 900; }
.private-lending-analysis-heading h4 { margin: 3px 0 0; color: var(--navy); font-size: 15px; }
.private-lending-analysis-heading small { color: #657985; text-align: right; }
.private-lending-candidate-list { display: grid; gap: 12px; padding: 14px 16px 16px; }
.private-lending-candidate {
  overflow: hidden;
  border: 1px solid #dfb2ad;
  border-radius: 6px;
  background: #fff;
}
.private-lending-path {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
  align-items: stretch;
  background: #fbfcfd;
}
.private-lending-path > div { min-width: 0; padding: 14px 16px; }
.private-lending-path > div.is-inflow { border-top: 4px solid #2d8d68; background: #f2faf6; }
.private-lending-path > div.is-outflow { border-top: 4px solid #c54b42; background: #fff5f3; }
.private-lending-path > div span,
.private-lending-path > div strong,
.private-lending-path > div small { display: block; }
.private-lending-path > div span { color: #596f7e; font-size: 11px; font-weight: 800; }
.private-lending-path > div strong { margin-top: 5px; color: var(--navy); font-size: 19px; }
.private-lending-path > div small { margin-top: 5px; overflow-wrap: anywhere; color: #687b87; }
.private-lending-path > i {
  display: grid;
  place-items: center;
  color: #9d3a33;
  font-size: 22px;
  font-style: normal;
  font-weight: 900;
}
.private-lending-conclusion { padding: 12px 16px; border-top: 1px solid #edd1ce; background: #fff9f8; }
.private-lending-conclusion strong { color: #9c312a; }
.private-lending-conclusion p { margin: 5px 0; color: #4f626f; }
.private-lending-conclusion small { color: #778995; }
.private-lending-empty { padding: 17px 18px; border-top: 1px solid #dbe4ea; background: #f7fafb; }
.private-lending-empty strong { color: #405b6c; }
.private-lending-empty p { margin: 5px 0 0; color: #6b7d88; }
.borrowing-summary-strip { border: 0; border-radius: 0; }
.borrowing-answer-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border-bottom: 1px solid #dbe4ea;
  background: #dbe4ea;
}
.borrowing-answer-strip article {
  min-width: 0;
  min-height: 105px;
  padding: 16px 18px;
  border-top: 4px solid #7792a3;
  background: #fff;
}
.borrowing-answer-strip article.is-formal { border-top-color: #2675a7; background: #f7fbfd; }
.borrowing-answer-strip article.is-private { border-top-color: #b84a42; background: #fff9f8; }
.borrowing-answer-strip span,
.borrowing-answer-strip strong,
.borrowing-answer-strip small { display: block; }
.borrowing-answer-strip span { color: #5c707d; font-size: 11px; font-weight: 800; }
.borrowing-answer-strip strong { margin-top: 6px; color: var(--navy); font-size: 23px; }
.borrowing-answer-strip small { margin-top: 7px; color: #697b86; line-height: 1.45; }
.borrowing-relationship-groups { display: grid; gap: 14px; padding: 16px; background: #f7fafb; }
.borrowing-relationship-group {
  overflow: hidden;
  border: 1px solid #cbd9e2;
  border-radius: 7px;
  background: #fff;
}
.borrowing-relationship-group.is-formal { border-color: #9ebbd0; }
.borrowing-relationship-group.is-private { border-color: #dfb2ad; }
.borrowing-relationship-group-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 16px;
  border-bottom: 1px solid #dbe4ea;
}
.borrowing-relationship-group.is-formal .borrowing-relationship-group-heading { background: #f1f7fb; }
.borrowing-relationship-group.is-private .borrowing-relationship-group-heading { background: #fff6f4; }
.borrowing-relationship-group-heading span { color: var(--navy); font-weight: 900; }
.borrowing-relationship-group-heading p { margin: 3px 0 0; color: #687b87; font-size: 11px; }
.borrowing-relationship-group-heading > strong {
  flex: 0 0 auto;
  padding: 4px 9px;
  border-radius: 3px;
  background: #e8f0f5;
  color: var(--navy);
}
.borrowing-relationship-group .private-lending-candidate-list { padding: 12px; }
.borrowing-relationship-group.is-formal .private-lending-candidate { border-color: #aec5d5; }
.borrowing-relationship-group.is-formal .private-lending-conclusion {
  border-top-color: #cddde7;
  background: #f4f9fc;
}
.borrowing-relationship-group.is-formal .private-lending-conclusion strong { color: #205d82; }
.cashflow-loan-support-block { border-color: #a6c7b7; }
.loan-support-summary {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: 14px;
  padding: 16px;
  background: #f5faf7;
}
.loan-support-metric-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.loan-support-metric-list article {
  min-width: 0;
  min-height: 83px;
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 12px 14px;
  border: 1px solid #d4e2da;
  border-radius: 6px;
  background: #fff;
}
.loan-support-metric-list span { color: #687b86; font-size: 11px; }
.loan-support-metric-list strong { color: var(--navy); font-size: 18px; }
.monthly-support-scroll {
  max-width: 100%;
  overflow-x: auto;
  padding: 0 16px 16px;
  background: #f5faf7;
  scrollbar-width: thin;
}
.monthly-support-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(150px, 1fr);
  gap: 10px;
}
.monthly-support-grid article {
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid #cbded4;
  border-radius: 5px;
  background: #fff;
}
.monthly-support-grid article.is-partial { border-style: dashed; opacity: .75; }
.monthly-support-grid span, .monthly-support-grid small { display: block; color: #657985; }
.monthly-support-grid strong { display: block; margin: 5px 0 3px; color: #17633f; font-size: 18px; }

.cashflow-balance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
}

.cashflow-balance-card {
  border: 1px solid #c9d8e2;
  border-top: 4px solid #287fb4;
  border-radius: 6px;
  background: #fff;
}

.cashflow-balance-card.is-unavailable { border-top-color: #8296a3; background: #f8fafb; }
.cashflow-balance-card > div:first-child { display: flex; justify-content: space-between; gap: 12px; padding: 13px 15px; border-bottom: 1px solid #dde6ec; }
.cashflow-balance-card > div:first-child span { color: #547081; font-size: 12px; }
.cashflow-balance-card p { padding: 16px; color: #607483; }
.cashflow-balance-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.cashflow-balance-card dl div { min-height: 72px; padding: 12px 15px; border-right: 1px solid #e0e7ec; border-bottom: 1px solid #e0e7ec; }
.cashflow-balance-card dl div:nth-child(2n) { border-right: 0; }
.cashflow-balance-card dt { color: #687b88; font-size: 12px; }
.cashflow-balance-card dd { margin: 5px 0 0; color: var(--navy); font-weight: 800; }

.cashflow-composition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cashflow-composition-column + .cashflow-composition-column { border-left: 1px solid #dbe4ea; }
.cashflow-composition-column h4 { margin: 0; padding: 13px 17px; border-bottom: 1px solid #dbe4ea; color: var(--navy); }
.cashflow-composition-column.is-inflow h4 { background: #eef8f3; color: #216a4d; }
.cashflow-composition-column.is-outflow h4 { background: #fff1ef; color: #8e3029; }
.cashflow-composition-row { display: flex; gap: 14px; align-items: center; justify-content: space-between; min-height: 58px; padding: 10px 17px; border-bottom: 1px solid #e7edf1; }
.cashflow-composition-row:last-child { border-bottom: 0; }
.cashflow-composition-row strong, .cashflow-composition-row small { display: block; }
.cashflow-composition-row small { margin-top: 3px; color: #6b7f8b; }
.cashflow-composition-row > span { flex: 0 0 auto; color: var(--navy); font-weight: 900; }

.cashflow-counterparty-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cashflow-counterparty-list + .cashflow-counterparty-list { border-left: 1px solid #dbe4ea; }
.cashflow-counterparty-list h4 { margin: 0; padding: 13px 15px; border-bottom: 1px solid #dbe4ea; color: var(--navy); }
.cashflow-counterparty-list article { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 8px; align-items: center; min-height: 62px; padding: 9px 13px; border-bottom: 1px solid #e7edf1; }
.cashflow-counterparty-list article > span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: #edf3f7; color: #476171; font-size: 11px; }
.cashflow-counterparty-list article div strong, .cashflow-counterparty-list article div small { display: block; }
.cashflow-counterparty-list article div small { margin-top: 3px; color: #6b7f8b; font-size: 11px; }
.cashflow-counterparty-list article > div:last-child { text-align: right; }

.cashflow-chart-dashboard {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
  background: #f6f9fb;
}

.cashflow-chart-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d1dde5;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(21, 54, 79, .04);
}

.cashflow-chart-card.is-wide { grid-column: 1 / -1; }
.cashflow-chart-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 67px;
  padding: 13px 15px;
  border-bottom: 1px solid #e0e7ec;
}
.cashflow-chart-card-heading span {
  color: #0b6cae;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
}
.cashflow-chart-card-heading h4 { margin: 3px 0 0; color: var(--navy); font-size: 15px; }
.cashflow-chart-card-heading > small { color: #607483; font-size: 11px; text-align: right; }
.cashflow-chart-legend { display: flex; gap: 12px; color: #596c78; font-size: 11px; }
.cashflow-chart-legend span::before {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 5px;
  border-radius: 2px;
  content: "";
}
.cashflow-chart-legend .is-inflow::before { background: #23805a; }
.cashflow-chart-legend .is-outflow::before { background: #cf5046; }

.cashflow-month-chart-scroll {
  max-width: 100%;
  overflow-x: auto;
  padding: 16px 12px 10px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.cashflow-month-chart {
  display: grid;
  grid-auto-columns: minmax(58px, 1fr);
  grid-auto-flow: column;
  gap: 7px;
  height: 254px;
  padding: 0 6px;
  border-bottom: 1px solid #cbd7df;
  background:
    linear-gradient(to top, transparent 24.5%, #e8eef2 25%, transparent 25.5%),
    linear-gradient(to top, transparent 49.5%, #e8eef2 50%, transparent 50.5%),
    linear-gradient(to top, transparent 74.5%, #e8eef2 75%, transparent 75.5%);
}
.cashflow-month-column {
  display: grid;
  grid-template-rows: 186px 22px 32px;
  min-width: 0;
  align-items: end;
  text-align: center;
}
.cashflow-month-bars {
  display: flex;
  height: 174px;
  align-items: flex-end;
  justify-content: center;
  gap: 4px;
}
.cashflow-month-bar {
  width: min(18px, 35%);
  min-height: 0;
  border-radius: 3px 3px 0 0;
  transition: opacity .15s ease, filter .15s ease;
}
.cashflow-month-bar:hover { opacity: .82; filter: saturate(1.2); }
.cashflow-month-bar.is-inflow { background: linear-gradient(#45a77e, #18794e); }
.cashflow-month-bar.is-outflow { background: linear-gradient(#e17870, #b42318); }
.cashflow-month-column > strong { overflow: hidden; color: #3b5261; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.cashflow-month-column > small {
  align-self: start;
  overflow: hidden;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cashflow-month-column > small.is-positive { color: #176b4b; }
.cashflow-month-column > small.is-negative { color: #a1362e; }
.cashflow-month-column > small.is-zero { color: #6a7b87; }

.cashflow-donut-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cashflow-donut-panel { min-width: 0; padding: 14px; }
.cashflow-donut-panel + .cashflow-donut-panel { border-left: 1px solid #e0e7ec; }
.cashflow-donut-panel h5 { margin: 0 0 12px; color: #315064; font-size: 12px; }
.cashflow-donut-panel.is-inflow h5 { color: #216a4d; }
.cashflow-donut-panel.is-outflow h5 { color: #8e3029; }
.cashflow-donut-content { display: grid; grid-template-columns: 1fr; gap: 13px; justify-items: center; }
.cashflow-donut {
  display: grid;
  width: 116px;
  height: 116px;
  place-items: center;
  border-radius: 50%;
}
.cashflow-donut > div {
  display: grid;
  width: 72px;
  height: 72px;
  place-content: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(21, 54, 79, .07);
  text-align: center;
}
.cashflow-donut small { color: #71828d; font-size: 9px; }
.cashflow-donut strong { display: block; margin-top: 2px; color: var(--navy); font-size: 12px; }
.cashflow-donut-panel ul { display: grid; width: 100%; gap: 6px; margin: 0; padding: 0; list-style: none; }
.cashflow-donut-panel li { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; gap: 6px; align-items: start; color: #425966; font-size: 10px; }
.cashflow-donut-panel li > i { width: 8px; height: 8px; margin-top: 3px; border-radius: 2px; }
.cashflow-donut-panel li span { min-width: 0; overflow-wrap: anywhere; }
.cashflow-donut-panel li small { display: block; color: #788791; font-size: 9px; }
.cashflow-donut-panel li strong { color: #294454; font-size: 10px; }

.cashflow-counterparty-chart { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cashflow-counterparty-chart-group { min-width: 0; padding: 14px; }
.cashflow-counterparty-chart-group + .cashflow-counterparty-chart-group { border-left: 1px solid #e0e7ec; }
.cashflow-counterparty-chart-group h5 { margin: 0 0 10px; color: #315064; font-size: 12px; }
.cashflow-counterparty-chart-group.is-inflow h5 { color: #216a4d; }
.cashflow-counterparty-chart-group.is-outflow h5 { color: #8e3029; }
.cashflow-counterparty-chart-row + .cashflow-counterparty-chart-row { margin-top: 10px; }
.cashflow-counterparty-chart-row > div { display: flex; justify-content: space-between; gap: 10px; color: #425966; font-size: 10px; }
.cashflow-counterparty-chart-row > div span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cashflow-counterparty-chart-row > div strong { flex: 0 0 auto; color: #294454; }
.cashflow-horizontal-track {
  display: block;
  height: 7px;
  margin-top: 4px;
  overflow: hidden;
  border-radius: 10px;
  background: #edf1f4;
}
.cashflow-horizontal-track i { display: block; height: 100%; border-radius: inherit; background: #2f926b; }
.cashflow-counterparty-chart-group.is-outflow .cashflow-horizontal-track i { background: #cc5147; }

.cashflow-executive-summary,
.cashflow-underwriting-summary,
.cashflow-monthly-workspace,
.cashflow-recurring-workbench {
  background: #fff;
}

.cashflow-executive-summary,
.cashflow-underwriting-summary,
.cashflow-monthly-workspace {
  border-bottom: 8px solid #edf2f5;
}

.cashflow-executive-heading {
  display: flex;
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 24px;
  border-bottom: 1px solid #cfdce4;
  background: #edf5f9;
}
.cashflow-executive-title {
  display: flex;
  align-items: center;
  gap: 11px;
}
.cashflow-executive-title span {
  display: inline-grid;
  width: 34px;
  height: 29px;
  place-items: center;
  border-radius: 4px;
  background: #0f6fb5;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.cashflow-executive-summary .cashflow-executive-title h3 {
  margin: 0;
  color: var(--navy);
  font-size: 26px;
  line-height: 1.25;
}
.cashflow-executive-sentence {
  margin: 0;
  padding: 22px 24px 24px;
  border-left: 5px solid #0f6fb5;
  background: #fff;
  color: #244252;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.9;
}

.cashflow-compact-heading {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 17px;
  border-bottom: 1px solid #dbe4ea;
  background: #f7f9fb;
}

.cashflow-compact-heading span {
  display: inline-grid;
  min-width: 30px;
  height: 25px;
  place-items: center;
  border-radius: 4px;
  background: #e4f1f8;
  color: #0b6cae;
  font-size: 12px;
  font-weight: 900;
}

.cashflow-compact-heading h3 {
  margin: 3px 0 0;
  color: var(--navy);
  font-size: 16px;
}

.cashflow-dashboard .cashflow-compact-heading h3 {
  margin-top: 6px;
  font-size: 22px;
  line-height: 1.35;
}

.cashflow-dashboard .cashflow-block-heading h3 {
  margin-top: 6px;
  font-size: 20px;
  line-height: 1.35;
}

.cashflow-compact-heading p { margin: 4px 0 0; color: #607483; font-size: 12px; line-height: 1.5; }

.cashflow-dashboard .cashflow-dashboard-heading h3 {
  margin-top: 5px;
  font-size: 22px;
  line-height: 1.35;
}

.cashflow-dashboard .cashflow-priority-heading h3 {
  margin-top: 4px;
  font-size: 20px;
  line-height: 1.35;
}

.cashflow-dashboard .cashflow-chart-card-heading h4 {
  margin-top: 5px;
  font-size: 17px;
  line-height: 1.4;
}

.cashflow-compact-heading > small { color: #607483; text-align: right; }

.cashflow-refresh-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 17px;
  border-bottom: 1px solid #ead8a9;
  background: #fffaf0;
  color: #6f5a28;
  font-size: 11px;
}

.cashflow-refresh-notice strong { flex: 0 0 auto; color: #815a09; }

.cashflow-underwriting-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-bottom: 1px solid #dbe4ea;
}

.cashflow-underwriting-metrics article {
  min-width: 0;
  min-height: 94px;
  padding: 14px 16px;
  border-right: 1px solid #dbe4ea;
}

.cashflow-underwriting-metrics article:last-child { border-right: 0; }
.cashflow-underwriting-metrics span,
.cashflow-underwriting-metrics small { display: block; color: #657985; }
.cashflow-underwriting-metrics strong {
  display: block;
  margin: 7px 0 5px;
  overflow-wrap: anywhere;
  color: var(--navy);
  font-size: clamp(16px, 1.7vw, 21px);
  line-height: 1.25;
}
.cashflow-underwriting-metrics article.is-negative strong { color: #a3372f; }
.cashflow-underwriting-metrics article.is-positive strong { color: #17633f; }
.cashflow-underwriting-metrics article.is-review strong { color: #815a09; }

.cashflow-borrowing-empty {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 17px;
  border-bottom: 1px solid #dbe4ea;
  background: #f6faf8;
  color: #5e7368;
  font-size: 11px;
}

.cashflow-borrowing-empty strong { color: #17633f; }

.cashflow-borrowing-ledger { border-bottom: 1px solid #dbe4ea; }
.cashflow-borrowing-ledger-heading,
.cashflow-borrowing-row {
  display: grid;
  grid-template-columns: 110px minmax(170px, 1.5fr) minmax(130px, .8fr) minmax(130px, .8fr) minmax(105px, .7fr);
  gap: 12px;
  align-items: center;
}
.cashflow-borrowing-ledger-heading {
  padding: 8px 16px;
  background: #eef3f6;
  color: #607483;
  font-size: 10px;
  font-weight: 800;
}
.cashflow-borrowing-row {
  min-height: 70px;
  padding: 10px 16px;
  border-top: 1px solid #e2e8ec;
}
.cashflow-borrowing-row > div strong,
.cashflow-borrowing-row > div small { display: block; }
.cashflow-borrowing-row > div small { margin-top: 3px; color: #71838e; font-size: 10px; }
.cashflow-borrowing-type {
  justify-self: start;
  padding: 4px 8px;
  border-radius: 3px;
  background: #e9f2f8;
  color: #205d82;
  font-size: 11px;
}
.cashflow-borrowing-row.is-private .cashflow-borrowing-type { color: #99382f; background: #fff0ee; }
.cashflow-borrowing-summary {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid #8eafc3;
  background: #f4f8fa;
  color: #385568;
  line-height: 1.65;
}
.cashflow-borrowing-row.is-private .cashflow-borrowing-summary {
  border-left-color: #c85d52;
  background: #fff8f7;
}
.cashflow-borrowing-summary strong { color: #173f58; white-space: nowrap; }
.cashflow-borrowing-row details { position: relative; }
.cashflow-borrowing-row summary { color: #0b6cae; font-size: 11px; font-weight: 800; cursor: pointer; }
.cashflow-borrowing-row details[open] { grid-column: 1 / -1; padding: 10px 12px; background: #f7f9fb; }
.cashflow-borrowing-row details p { margin: 0 0 4px; color: #4f636f; }
.cashflow-borrowing-row details small { color: #71838e; }
.cashflow-borrowing-identifiers {
  margin: 10px 0;
  border: 1px solid #d8e3e9;
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}
.cashflow-borrowing-transaction-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid #d8e3e9;
  background: #eef5f8;
}
.cashflow-borrowing-transaction-heading strong {
  color: #173f58;
  font-size: 13px;
}
.cashflow-borrowing-transaction-heading span {
  color: #607483;
  font-size: 10px;
}
.cashflow-borrowing-transaction-table-wrap { overflow-x: auto; }
.cashflow-borrowing-transaction-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
  color: #304b5c;
  font-size: 10px;
}
.cashflow-borrowing-transaction-table th {
  padding: 8px 9px;
  border-bottom: 1px solid #d8e3e9;
  background: #f7fafb;
  color: #526c7c;
  text-align: left;
  white-space: nowrap;
}
.cashflow-borrowing-transaction-table td {
  padding: 9px;
  border-bottom: 1px solid #e5ecef;
  vertical-align: top;
}
.cashflow-borrowing-transaction-table tbody tr:last-child td { border-bottom: 0; }
.cashflow-borrowing-transaction-table tbody tr:hover { background: #f7fbfd; }
.cashflow-borrowing-transaction-table td strong,
.cashflow-borrowing-transaction-table td small { display: block; }
.cashflow-borrowing-transaction-table td small { margin-top: 3px; color: #71838e; }
.cashflow-transaction-role,
.cashflow-transaction-direction { white-space: nowrap; }
.cashflow-transaction-role.is-inflow,
.cashflow-transaction-direction.is-inflow,
.cashflow-transaction-amount.is-inflow { color: #176b48; }
.cashflow-transaction-role.is-outflow,
.cashflow-transaction-direction.is-outflow,
.cashflow-transaction-amount.is-outflow { color: #a33a31; }
.cashflow-transaction-amount { font-weight: 900; white-space: nowrap; }
.cashflow-borrowing-transaction-cards { display: none; }
.cashflow-borrowing-identifiers code,
.bank-transaction-source-id {
  color: #0b5f91;
  font-family: Consolas, "Courier New", monospace;
  overflow-wrap: anywhere;
}
.cashflow-boundary-note {
  margin: 0;
  padding: 9px 17px 11px;
  color: #607483;
  font-size: 10px;
}

.cashflow-monthly-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 285px;
  align-items: stretch;
}
.cashflow-monthly-chart { min-width: 0; padding: 12px; background: #f7f9fb; }
.cashflow-monthly-chart .cashflow-chart-card { height: 100%; box-shadow: none; }
.cashflow-capacity-panel {
  padding: 17px;
  border-left: 1px solid #dbe4ea;
  background: #fff;
}
.cashflow-capacity-panel > span { color: #657985; font-size: 11px; font-weight: 800; }
.cashflow-capacity-panel > strong { display: block; margin-top: 6px; color: var(--navy); font-size: 30px; }
.cashflow-capacity-panel > em {
  display: inline-block;
  margin-top: 7px;
  padding: 3px 7px;
  border-radius: 3px;
  background: #eef3f6;
  color: #4d6472;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}
.cashflow-capacity-panel.is-positive > strong { color: #17633f; }
.cashflow-capacity-panel.is-negative > strong { color: #a3372f; }
.cashflow-capacity-panel.is-review > strong { color: #815a09; }
.cashflow-capacity-panel dl { margin: 14px 0 0; border-top: 1px solid #dbe4ea; }
.cashflow-capacity-panel dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #e6ebee; }
.cashflow-capacity-panel dt { color: #647782; font-size: 10px; }
.cashflow-capacity-panel dd { margin: 0; color: var(--navy); font-size: 11px; font-weight: 800; text-align: right; }
.cashflow-capacity-panel p { margin: 13px 0 0; color: #667985; font-size: 10px; line-height: 1.55; }
.cashflow-monthly-support-details { border-top: 1px solid #dbe4ea; }
.cashflow-monthly-support-details > summary { padding: 10px 17px; color: #0b6cae; font-size: 11px; font-weight: 800; cursor: pointer; }
.cashflow-monthly-support-details .monthly-support-scroll { padding-top: 0; background: #f7f9fb; }

.cashflow-recurring-counts { display: flex; gap: 7px; }
.cashflow-recurring-counts strong {
  padding: 5px 8px;
  border-radius: 3px;
  font-size: 11px;
}
.cashflow-recurring-counts .is-outflow { color: #96382e; background: #fff0ee; }
.cashflow-recurring-counts .is-inflow { color: #17633f; background: #eaf6ef; }
.cashflow-recurring-counts .is-high-frequency { color: #8b5600; background: #fff5dd; }
.cashflow-recurring-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cashflow-transfer-layers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 8px;
  background: #edf2f5;
}
.cashflow-transfer-layers > .cashflow-recurring-panel:first-child { grid-column: 1 / -1; }
.cashflow-recurring-panel { min-width: 0; }
.cashflow-recurring-panel + .cashflow-recurring-panel { border-left: 1px solid #dbe4ea; }
.cashflow-transfer-layers .cashflow-recurring-panel {
  border: 1px solid #dbe4ea;
  background: #fff;
}
.cashflow-transfer-layers .cashflow-recurring-panel + .cashflow-recurring-panel {
  border-left: 1px solid #dbe4ea;
}
.cashflow-recurring-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px 5px;
}
.cashflow-recurring-panel-heading span { color: #687b87; font-size: 10px; font-weight: 900; }
.cashflow-recurring-panel-heading h4 { margin: 3px 0 0; color: var(--navy); font-size: 17px; }
.cashflow-recurring-panel-heading > strong { color: #5a6e7a; font-size: 11px; }
.cashflow-recurring-panel.is-high-frequency .cashflow-recurring-panel-heading h4 { color: #8b5600; }
.cashflow-recurring-panel.is-outflow .cashflow-recurring-panel-heading h4 { color: #96382e; }
.cashflow-recurring-panel.is-inflow .cashflow-recurring-panel-heading h4 { color: #17633f; }
.cashflow-recurring-guidance { margin: 0; padding: 0 14px 9px; color: #71838e; font-size: 10px; }
.cashflow-pattern-list { border-top: 1px solid #e1e7eb; }
.cashflow-pattern-row {
  display: grid;
  grid-template-columns: 28px minmax(135px, 1fr) minmax(86px, auto) minmax(95px, auto) 48px;
  gap: 9px;
  align-items: center;
  min-height: 64px;
  padding: 8px 12px;
  border-bottom: 1px solid #e5eaee;
}
.cashflow-pattern-rank { color: #8a9aa4; font-size: 10px; font-weight: 800; }
.cashflow-pattern-identity,
.cashflow-pattern-value,
.cashflow-pattern-cadence { min-width: 0; }
.cashflow-pattern-identity strong,
.cashflow-pattern-identity small,
.cashflow-pattern-value strong,
.cashflow-pattern-value small,
.cashflow-pattern-cadence strong,
.cashflow-pattern-cadence small { display: block; }
.cashflow-pattern-identity strong { overflow: hidden; color: var(--navy); text-overflow: ellipsis; white-space: nowrap; }
.cashflow-pattern-channel {
  display: inline-block;
  margin-top: 2px;
  color: #526f82;
  font-size: 9px;
  font-weight: 700;
}
.cashflow-pattern-relationship {
  display: block;
  margin-bottom: 6px;
  color: #123b57;
  font-size: 10px;
  line-height: 1.55;
  font-style: normal;
}
.cashflow-pattern-identity small,
.cashflow-pattern-value small,
.cashflow-pattern-cadence small { margin-top: 3px; color: #71838e; font-size: 9px; }
.cashflow-pattern-identity b { color: #17633f; }
.cashflow-pattern-row.is-outflow .cashflow-pattern-identity b { color: #a3372f; }
.cashflow-pattern-nature {
  display: inline-block;
  margin-left: 5px;
  padding: 1px 5px;
  border-radius: 2px;
  color: #526a79;
  background: #eef3f6;
  font-style: normal;
  font-weight: 800;
}
.cashflow-pattern-nature.is-debt-service {
  color: #9a2e26;
  background: #ffe9e6;
}
.cashflow-pattern-nature.is-payroll {
  color: #1c6849;
  background: #e4f5eb;
}
.cashflow-pattern-nature.is-operating {
  color: #245d7b;
  background: #e5f1f7;
}
.cashflow-pattern-nature.is-personal-transfer {
  color: #6b4b13;
  background: #fff2cf;
}
.cashflow-pattern-value strong,
.cashflow-pattern-cadence strong { color: #294454; font-size: 11px; }
.cashflow-pattern-detail-button {
  display: grid;
  justify-items: center;
  gap: 1px;
  min-width: 66px;
  padding: 5px 7px;
  border: 1px solid #b8d5e8;
  border-radius: 4px;
  color: #086aa9;
  background: #f7fbfe;
  font: inherit;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.35;
  cursor: pointer;
}
.cashflow-pattern-detail-button:hover,
.cashflow-pattern-detail-button:focus-visible {
  border-color: #1683c4;
  background: #eaf6fd;
  outline: 0;
}
.cashflow-pattern-detail-button small {
  color: #637f91;
  font-size: 9px;
  font-weight: 700;
}
.cashflow-pattern-evidence { position: relative; }
.cashflow-pattern-evidence summary { color: #0b6cae; font-size: 10px; font-weight: 800; cursor: pointer; }
.cashflow-pattern-evidence[open] { grid-column: 1 / -1; padding: 9px 10px; background: #f7f9fb; }
.cashflow-pattern-evidence p { margin: 0 0 4px; color: #4f636f; font-size: 10px; }
.cashflow-pattern-evidence small { color: #71838e; font-size: 9px; }
.cashflow-recurring-empty { margin: 0; padding: 14px; border-top: 1px solid #e1e7eb; color: #71838e; font-size: 10px; }
.cashflow-expand-button { margin: 9px 12px 11px; }
.cashflow-borrowing-separation-note {
  margin: 0;
  padding: 10px 15px 12px;
  border-top: 1px solid #dbe4ea;
  color: #536b79;
  background: #f8fafb;
  font-size: 11px;
  line-height: 1.6;
}
body.cashflow-detail-modal-open { overflow: hidden; }
.cashflow-relationship-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(8, 29, 44, .62);
  backdrop-filter: blur(2px);
}
.cashflow-relationship-dialog {
  display: flex;
  flex-direction: column;
  width: min(1180px, calc(100vw - 48px));
  max-height: calc(100dvh - 48px);
  overflow: hidden;
  border: 1px solid #b9cbd7;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(4, 25, 39, .28);
}
.cashflow-relationship-dialog:focus { outline: 0; }
.cashflow-relationship-dialog-header {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px 15px;
  border-bottom: 1px solid #d8e3e9;
  background: linear-gradient(135deg, #f2f8fc 0%, #fff 70%);
}
.cashflow-relationship-dialog-header > div { min-width: 0; }
.cashflow-relationship-dialog-header > div > span {
  color: #0875b9;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}
.cashflow-relationship-dialog-header h2 {
  margin: 3px 0 7px;
  color: #092f49;
  font-size: 25px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.cashflow-relationship-dialog-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.cashflow-relationship-dialog-tags em {
  padding: 3px 7px;
  border-radius: 3px;
  color: #4c6473;
  background: #edf3f6;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}
.cashflow-relationship-dialog-tags em.is-outflow { color: #9a3129; background: #ffebe9; }
.cashflow-relationship-dialog-tags em.is-inflow { color: #176a49; background: #e8f6ee; }
.cashflow-relationship-dialog-tags em.is-debt-service { color: #9a2e26; background: #ffe3df; }
.cashflow-relationship-dialog-tags em.is-operating { color: #245d7b; background: #e5f1f7; }
.cashflow-relationship-dialog-tags em.is-payroll { color: #1c6849; background: #e4f5eb; }
.cashflow-relationship-dialog-close {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #bfd0da;
  border-radius: 50%;
  color: #37596d;
  background: #fff;
  font: inherit;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}
.cashflow-relationship-dialog-close:hover,
.cashflow-relationship-dialog-close:focus-visible {
  color: #fff;
  border-color: #a33a31;
  background: #a33a31;
  outline: 0;
}
.cashflow-relationship-dialog-scroll {
  min-height: 0;
  overflow-y: auto;
  padding: 16px 18px 20px;
  overscroll-behavior: contain;
}
.cashflow-relationship-dialog-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #d8e3e9;
  border-radius: 6px;
  overflow: hidden;
}
.cashflow-relationship-dialog-metrics article {
  min-width: 0;
  padding: 12px 14px;
  border-right: 1px solid #d8e3e9;
  background: #fbfdfe;
}
.cashflow-relationship-dialog-metrics article:last-child { border-right: 0; }
.cashflow-relationship-dialog-metrics span,
.cashflow-relationship-dialog-metrics strong { display: block; }
.cashflow-relationship-dialog-metrics span { color: #687d8a; font-size: 10px; }
.cashflow-relationship-dialog-metrics strong {
  margin-top: 4px;
  color: #0b3049;
  font-size: 17px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.cashflow-relationship-dialog-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.cashflow-relationship-dialog-summary > div {
  padding: 12px 14px;
  border-left: 3px solid #1780bd;
  background: #f4f8fb;
}
.cashflow-relationship-dialog-summary strong { color: #123b57; font-size: 12px; }
.cashflow-relationship-dialog-summary p {
  margin: 4px 0 0;
  color: #455f70;
  font-size: 11px;
  line-height: 1.65;
}
.cashflow-relationship-dialog-transactions { margin-top: 14px; }
.cashflow-relationship-dialog-transactions .cashflow-borrowing-identifiers {
  border-radius: 6px;
  overflow: hidden;
}
.cashflow-relationship-dialog-transactions .cashflow-borrowing-transaction-table { font-size: 12px; }
.cashflow-relationship-dialog-empty {
  margin: 14px 0 0;
  padding: 22px;
  color: #657b88;
  text-align: center;
  background: #f5f8fa;
}
.cashflow-relationship-dialog-footer {
  display: grid;
  gap: 5px;
  margin-top: 13px;
  padding: 11px 13px;
  border-top: 1px solid #dce5ea;
  color: #667b88;
  font-size: 10px;
  line-height: 1.55;
}
.cashflow-relationship-dialog-footer small { color: #7a8c97; }

@media (max-width: 760px) {
  .cashflow-block-heading { display: grid; align-items: start; padding: 13px 14px; }
  .cashflow-block-heading > small { max-width: none; text-align: left; }
  .cashflow-quality-status { justify-self: start; }
  .cashflow-quality-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cashflow-decision-grid { grid-template-columns: 1fr; padding: 12px; }
  .private-lending-analysis-heading { display: grid; align-items: start; padding: 13px 14px; }
  .private-lending-analysis-heading small { text-align: left; }
  .private-lending-candidate-list { padding: 12px; }
  .private-lending-path { grid-template-columns: 1fr; }
  .private-lending-path > i { min-height: 28px; transform: rotate(90deg); }
  .borrowing-relationship-group-heading { align-items: start; }
  .borrowing-answer-strip { grid-template-columns: 1fr; }
  .borrowing-answer-strip article { min-height: 88px; }
  .loan-support-summary { grid-template-columns: 1fr; padding: 12px; }
  .monthly-support-scroll { padding: 0 12px 12px; }
  .monthly-support-grid { grid-auto-columns: minmax(142px, 1fr); }
  .cashflow-quality-grid > div { min-height: 78px; padding: 12px 14px; border-bottom: 1px solid #dbe4ea; }
  .cashflow-quality-grid > div:nth-child(2n) { border-right: 0; }
  .cashflow-balance-grid, .cashflow-composition-grid, .cashflow-counterparty-grid { grid-template-columns: 1fr; }
  .cashflow-balance-grid { padding: 12px; }
  .cashflow-composition-column + .cashflow-composition-column,
  .cashflow-counterparty-list + .cashflow-counterparty-list { border-top: 1px solid #dbe4ea; border-left: 0; }
  .cashflow-counterparty-list article { grid-template-columns: 22px minmax(0, 1fr); }
  .cashflow-counterparty-list article > div:last-child { grid-column: 2; text-align: left; }
  .cashflow-chart-dashboard { grid-template-columns: 1fr; padding: 12px; }
  .cashflow-chart-card.is-wide { grid-column: auto; }
  .cashflow-donut-grid, .cashflow-counterparty-chart { grid-template-columns: 1fr; }
  .cashflow-donut-panel + .cashflow-donut-panel,
  .cashflow-counterparty-chart-group + .cashflow-counterparty-chart-group { border-top: 1px solid #e0e7ec; border-left: 0; }
  .cashflow-chart-card-heading { display: grid; align-items: start; }
  .cashflow-chart-card-heading > small { text-align: left; }
  .cashflow-chart-legend { justify-self: start; }
  .cashflow-compact-heading { display: grid; min-height: auto; padding: 11px 13px; }
  .cashflow-compact-heading > small { text-align: left; }
  .cashflow-executive-heading { display: grid; min-height: auto; padding: 17px 16px; }
  .cashflow-executive-summary .cashflow-executive-title h3 { font-size: 23px; }
  .cashflow-executive-heading .cashflow-quality-status { justify-self: start; }
  .cashflow-executive-sentence { padding: 17px 16px 19px; font-size: 15px; line-height: 1.8; }
  .cashflow-refresh-notice { display: grid; gap: 3px; padding: 9px 13px; }
  .cashflow-underwriting-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cashflow-underwriting-metrics article { min-height: 84px; padding: 12px; border-bottom: 1px solid #dbe4ea; }
  .cashflow-underwriting-metrics article:nth-child(2n) { border-right: 0; }
  .cashflow-borrowing-empty { display: grid; padding: 10px 13px; }
  .cashflow-borrowing-ledger-heading { display: none; }
  .cashflow-borrowing-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 12px 13px; }
  .cashflow-borrowing-type { grid-column: 1 / -1; }
  .cashflow-borrowing-summary { grid-template-columns: 1fr; gap: 3px; padding: 10px; }
  .cashflow-borrowing-row details { grid-column: 1 / -1; }
  .cashflow-borrowing-transaction-heading { display: grid; gap: 3px; }
  .cashflow-borrowing-transaction-table-wrap { display: none; }
  .cashflow-borrowing-transaction-cards { display: grid; }
  .cashflow-borrowing-transaction-card { padding: 13px; border-bottom: 1px solid #dfe7ec; }
  .cashflow-borrowing-transaction-card:last-child { border-bottom: 0; }
  .cashflow-borrowing-transaction-card header { display: flex; justify-content: space-between; gap: 8px; }
  .cashflow-borrowing-transaction-card header strong.is-inflow,
  .cashflow-borrowing-transaction-card-amount.is-inflow { color: #176b48; }
  .cashflow-borrowing-transaction-card header strong.is-outflow,
  .cashflow-borrowing-transaction-card-amount.is-outflow { color: #a33a31; }
  .cashflow-borrowing-transaction-card header time { color: #607483; font-size: 10px; }
  .cashflow-borrowing-transaction-card-amount { margin: 9px 0; font-size: 20px; font-weight: 900; }
  .cashflow-borrowing-transaction-card dl { display: grid; gap: 7px; margin: 0; }
  .cashflow-borrowing-transaction-card dl > div { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 8px; }
  .cashflow-borrowing-transaction-card dt { color: #71838e; }
  .cashflow-borrowing-transaction-card dd { margin: 0; color: #304b5c; overflow-wrap: anywhere; }
  .cashflow-monthly-layout { grid-template-columns: 1fr; }
  .cashflow-monthly-chart { padding: 9px; }
  .cashflow-capacity-panel { border-top: 1px solid #dbe4ea; border-left: 0; }
  .cashflow-capacity-panel > strong { font-size: 25px; }
  .cashflow-recurring-counts { justify-self: start; }
  .cashflow-recurring-columns { grid-template-columns: 1fr; }
  .cashflow-transfer-layers { grid-template-columns: 1fr; padding: 6px; }
  .cashflow-transfer-layers > .cashflow-recurring-panel:first-child { grid-column: auto; }
  .cashflow-recurring-panel + .cashflow-recurring-panel { border-top: 8px solid #edf2f5; border-left: 0; }
  .cashflow-transfer-layers .cashflow-recurring-panel + .cashflow-recurring-panel {
    border-top: 1px solid #dbe4ea;
    border-left: 1px solid #dbe4ea;
  }
  .cashflow-pattern-row {
    grid-template-columns: 22px minmax(0, 1fr) 80px 40px;
    gap: 8px;
  }
  .cashflow-pattern-value { text-align: right; }
  .cashflow-pattern-cadence { grid-column: 2 / 4; display: flex; align-items: baseline; gap: 7px; }
  .cashflow-pattern-cadence small { margin-top: 0; }
  .cashflow-pattern-evidence { grid-column: 4; grid-row: 1 / span 2; }
  .cashflow-pattern-evidence[open] { grid-column: 1 / -1; grid-row: auto; }
  .cashflow-relationship-modal { place-items: stretch; padding: 0; }
  .cashflow-relationship-dialog {
    width: 100%;
    height: 100dvh;
    max-height: none;
    border: 0;
    border-radius: 0;
  }
  .cashflow-relationship-dialog-header { padding: 14px 13px 12px; }
  .cashflow-relationship-dialog-header h2 { font-size: 21px; }
  .cashflow-relationship-dialog-close { width: 40px; height: 40px; }
  .cashflow-relationship-dialog-scroll { padding: 12px 10px 18px; }
  .cashflow-relationship-dialog-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cashflow-relationship-dialog-metrics article { border-bottom: 1px solid #d8e3e9; }
  .cashflow-relationship-dialog-metrics article:nth-child(2n) { border-right: 0; }
  .cashflow-relationship-dialog-metrics article:nth-last-child(-n + 2) { border-bottom: 0; }
  .cashflow-relationship-dialog-summary { grid-template-columns: 1fr; }
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

body {
  margin: 0;
  min-width: 320px;
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
  line-height: 1.5;
}

button, input, select { font: inherit; }
button, input, select, label { letter-spacing: 0; }
input:focus, select:focus, button:focus-visible {
  outline: 2px solid rgba(15, 111, 181, 0.34);
  outline-offset: 1px;
}

.app-header {
  height: 68px;
  padding: 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--navy);
  color: #fff;
  border-bottom: 1px solid #0f2b40;
  box-shadow: 0 1px 0 rgba(255,255,255,.05);
}

.brand-block { display: flex; align-items: center; gap: 12px; }

.brand-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  background: #e8f1f8;
  color: var(--navy);
  border-radius: 6px;
  font-size: 16px;
  font-weight: 800;
}

.brand-name { font-size: 18px; font-weight: 800; }
.brand-meta { margin-top: 2px; color: #b8c8d5; font-size: 12px; }

.header-status { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #d8e3ec; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #8a99a6; }
.status-dot.is-ok { background: #45b97c; }
.status-dot.is-warn { background: #efb53a; }

.app-shell { min-height: calc(100vh - 68px); display: grid; grid-template-columns: 196px minmax(0, 1fr); }

.side-nav {
  padding: 24px 14px;
  background: #f8fafb;
  border-right: 1px solid var(--border);
}

.nav-group-label {
  margin: 18px 12px 7px;
  color: #7a8792;
  font-size: 11px;
  font-weight: 700;
}

.nav-item {
  width: 100%;
  height: 44px;
  padding: 0 14px;
  margin-bottom: 4px;
  border: 0;
  border-left: 3px solid transparent;
  background: transparent;
  color: #40515f;
  text-align: left;
  cursor: pointer;
}

.nav-item:hover { background: #edf2f5; color: var(--navy); }
.nav-item.is-active { background: #e3eff7; color: #0c568b; border-left-color: var(--blue); font-weight: 800; }

.main-content { min-width: 0; padding: 30px 36px 56px; }
.view { display: none; }
.view.is-active { display: block; }
.main-content > .view { width: 100%; max-width: 1320px; margin: 0 auto; }

.page-heading {
  min-height: 48px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

h1, h2, p { margin: 0; }
h1 { font-size: 25px; line-height: 1.35; font-weight: 800; }
h2 { font-size: 17px; line-height: 1.4; }
.muted { margin-top: 6px; color: var(--muted); line-height: 1.65; }

.workflow-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: 860px;
  min-height: 58px;
  margin-bottom: 22px;
  padding: 0 8px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
  box-shadow: 0 2px 10px rgba(21, 54, 79, 0.04);
}

.workflow-step {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 56px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: #7a8792;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.workflow-step:hover:not(:disabled) { color: var(--blue); }
.workflow-step:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.workflow-step:disabled { cursor: not-allowed; opacity: 0.58; }

.workflow-step::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: transparent;
}

.workflow-step span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid #aeb9c3;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 800;
}

.workflow-step strong { font-size: 14px; }
.workflow-step.is-current { color: var(--blue); }
.workflow-step.is-current::after { background: var(--blue); }
.workflow-step.is-current span { border-color: var(--blue); background: var(--blue); color: #fff; }
.workflow-step.is-complete { color: var(--green); }
.workflow-step.is-complete span { border-color: var(--green); background: var(--green-bg); }

#view-analysis.is-result-stage .manual-form,
#view-analysis.is-result-stage .upload-panel { display: none; }
#view-analysis.is-result-stage .mode-switch { display: none; }
#view-analysis.is-result-stage > .workflow-steps,
#view-analysis.is-result-stage > .page-heading,
#view-analysis.is-result-stage > #intakeSummary { display: none; }
#view-analysis.is-result-stage .manual-layout,
#view-analysis.is-result-stage .analysis-layout { grid-template-columns: minmax(0, 1fr); }

.interview-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  min-height: calc(100vh - 158px);
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.interview-workspace {
  min-width: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  padding: 24px 28px 20px;
}

.interview-scroll-region {
  min-width: 0;
  min-height: 0;
}

.interview-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}

.interview-heading p { margin-top: 5px; color: var(--muted); line-height: 1.6; }

.interview-messages {
  min-height: 360px;
  max-height: calc(100vh - 405px);
  padding: 22px 2px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.interview-message {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-bottom: 18px;
}

.interview-message.is-user { grid-template-columns: minmax(0, 1fr) 32px; }
.interview-message.is-user .message-avatar { grid-column: 2; }
.interview-message.is-user .message-body { grid-row: 1; grid-column: 1; justify-self: end; background: #e7f2fa; border-color: #bed6e7; }

.message-avatar {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: var(--navy);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.interview-message.is-user .message-avatar { background: #e8edf1; color: #40515f; }

.message-body {
  width: fit-content;
  max-width: min(720px, 88%);
  padding: 11px 13px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #f7f9fa;
  color: #2b3c49;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.message-body.is-thinking { color: var(--muted); }

.interview-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 0;
  padding: 0 0 12px 42px;
}

.suggestion-button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #a9c4d7;
  border-radius: 4px;
  background: #f5f9fc;
  color: #185f91;
  cursor: pointer;
}

.suggestion-button:hover { border-color: var(--blue); background: #eaf4fb; }

.interview-attachment-panel {
  min-width: 0;
  max-width: 100%;
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid #c8d7e2;
  border-left: 3px solid var(--blue);
  background: #f6f9fb;
  overflow: visible;
}

.attachment-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.interview-attachment-list {
  width: 100%;
  min-width: 0;
  max-height: 176px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(126px, 1fr));
  gap: 8px;
  margin-top: 10px;
  padding-right: 3px;
  overflow-x: hidden;
  overflow-y: auto;
}

.interview-attachment {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 7px;
  border: 1px solid var(--border);
  background: #fff;
}

.interview-attachment img { width: 42px; height: 54px; object-fit: contain; border: 1px solid var(--border); }
.interview-attachment div { min-width: 0; }
.interview-attachment strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.interview-attachment span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.interview-attachment-panel .consent-row { margin: 11px 0 0; font-size: 11px; }
.interview-attachment-panel .consent-optional { margin-top: 8px; }
.interview-attachment-panel .consent-row.is-required {
  margin-inline: -6px;
  padding: 7px 6px;
  border-radius: 7px;
  background: #fff1ef;
  color: #a12a20;
  box-shadow: 0 0 0 2px rgba(201, 52, 42, .18);
}

.interview-composer-dock {
  position: sticky;
  bottom: 0;
  z-index: 12;
  width: 100%;
  min-width: 0;
  padding: 10px 0 4px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), var(--surface) 12px, var(--surface) 100%);
}

.interview-composer {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
  padding-top: 0;
  border-top: 1px solid var(--border);
  background: var(--surface);
}

.composer-icon-button {
  width: 42px;
  height: 42px;
  border: 1px solid var(--border-strong);
  border-radius: 5px;
  background: #fff;
  color: var(--blue);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.composer-icon-button:hover { border-color: var(--blue); background: #f1f7fb; }

.interview-composer textarea {
  width: 100%;
  min-height: 42px;
  max-height: 120px;
  resize: vertical;
  padding: 9px 11px;
  border: 1px solid var(--border-strong);
  border-radius: 5px;
  color: var(--text);
  line-height: 1.55;
}

.interview-composer .button { min-height: 42px; white-space: nowrap; }
.composer-hint { margin: 7px 0 0 50px; color: var(--muted); font-size: 11px; }

.interview-sidebar {
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--border);
  background: #f5f8fa;
}

.interview-sidebar > section { padding: 22px 22px 18px; border-bottom: 1px solid var(--border); }
.sidebar-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sidebar-title span { color: var(--blue); font-size: 12px; font-weight: 700; }
.interview-profile { display: grid; grid-template-columns: 84px minmax(0, 1fr); margin: 12px 0 0; }
.interview-profile dt, .interview-profile dd { margin: 0; padding: 7px 0; border-bottom: 1px solid #e1e7eb; overflow-wrap: anywhere; }
.interview-profile dt { color: var(--muted); font-size: 11px; }
.interview-profile dd { color: #2d414f; font-size: 12px; font-weight: 700; }
.sidebar-list { margin: 10px 0 0; padding-left: 18px; color: #4b5e6c; line-height: 1.7; font-size: 12px; }
.registered-materials-card { background: #f8fbff; }
.registered-material-list { display: grid; gap: 7px; margin: 10px 0 0; padding: 0; list-style: none; }
.registered-material-list li { min-width: 0; padding: 9px 10px; border: 1px solid #d9e6f2; border-radius: 8px; background: #fff; }
.registered-material-list strong { display: block; overflow: hidden; color: #24425f; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.registered-material-list span { display: block; margin-top: 3px; color: #718499; font-size: 10px; line-height: 1.5; }
.registered-material-hint { margin: 10px 0 0; color: #60758a; font-size: 10px; line-height: 1.6; }
.interview-sidebar-actions { display: grid; gap: 9px; margin-top: auto; padding: 22px; }
.sidebar-disclaimer { padding: 0 22px 22px; color: var(--muted); font-size: 11px; line-height: 1.6; }

.intake-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr);
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.intake-main { min-width: 0; padding: 34px 36px; }
.intake-aside { padding: 34px 30px; border-left: 1px solid var(--border); background: #f4f8fa; }
.intake-aside ol { display: grid; gap: 22px; margin: 24px 0; padding: 0; list-style: none; counter-reset: intake; }
.intake-aside li { display: grid; gap: 5px; min-height: 48px; padding-left: 38px; position: relative; counter-increment: intake; }
.intake-aside li::before { content: counter(intake); position: absolute; left: 0; top: -1px; width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid #9bb8cc; border-radius: 50%; background: #fff; color: var(--blue); font-size: 12px; font-weight: 800; }
.intake-aside li:not(:last-child)::after { content: ""; position: absolute; left: 12px; top: 28px; width: 1px; height: 42px; background: #cbd8e1; }
.intake-aside li span, .intake-aside > p { color: var(--muted); line-height: 1.6; }
.intake-aside > p { padding-top: 16px; border-top: 1px solid var(--border); font-size: 12px; }

.intake-fieldset { margin: 0; padding: 0; border: 0; }
.intake-fieldset legend { margin-bottom: 12px; font-weight: 800; }
.subject-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.subject-option {
  position: relative;
  min-height: 100px;
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 18px 18px 18px 48px;
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}
.subject-option:hover { border-color: #6f98b7; background: #f7fafc; }
.subject-option.is-selected { border-color: var(--blue); box-shadow: inset 4px 0 0 var(--blue); background: #f1f8fc; }
.subject-option input { position: absolute; left: 18px; top: 40px; }
.subject-option strong { font-size: 16px; }
.subject-option span { color: var(--muted); font-size: 12px; line-height: 1.5; }

.intake-fields, .manual-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 26px 0 22px;
}
.intake-fields label, .manual-fields label { display: grid; gap: 7px; color: #4f5e69; font-size: 12px; font-weight: 700; }
.intake-fields select, .intake-fields input, .manual-fields select, .manual-fields input {
  width: 100%;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid var(--border-strong);
  border-radius: 5px;
  background: #fff;
  color: var(--text);
}
.amount-input { display: grid; grid-template-columns: minmax(0, 1fr) 48px; }
.amount-input input { border-radius: 3px 0 0 3px; }
.amount-input span { display: grid; place-items: center; border: 1px solid var(--border-strong); border-left: 0; border-radius: 0 3px 3px 0; background: #edf2f5; color: var(--muted); font-weight: 400; }
.intake-actions { margin-top: 18px; }

.intake-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr)) auto;
  align-items: center;
  gap: 1px;
  margin-bottom: 18px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--border);
  overflow: hidden;
}
.intake-summary > div { min-height: 72px; display: grid; align-content: center; gap: 5px; padding: 11px 16px; background: #fff; }
.intake-summary span { color: var(--muted); font-size: 11px; }
.intake-summary strong { font-size: 15px; }
.intake-summary .button { margin: 0 12px; }

.mode-switch { display: inline-grid; grid-template-columns: 1fr 1fr; margin-bottom: 20px; border: 1px solid var(--border-strong); border-radius: 5px; overflow: hidden; }
.mode-button { min-width: 168px; min-height: 42px; padding: 0 18px; border: 0; border-right: 1px solid var(--border-strong); background: #fff; color: #52616d; cursor: pointer; }
.mode-button:last-child { border-right: 0; }
.mode-button.is-active { background: var(--navy); color: #fff; font-weight: 700; }

.manual-layout { display: grid; grid-template-columns: minmax(420px, 540px) minmax(0, 1fr); gap: 22px; align-items: start; }
.manual-form { padding: 24px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); box-shadow: 0 3px 14px rgba(21,54,79,.04); }
.manual-fields { grid-template-columns: 1fr 1fr; }
.manual-fields label:first-child:last-child { grid-column: 1 / -1; }

.toolbar, .action-row { display: flex; align-items: flex-end; gap: 10px; }
.compact-field { display: grid; gap: 5px; color: var(--muted); font-size: 12px; }
.compact-field input { width: 82px; height: 36px; padding: 0 10px; border: 1px solid var(--border-strong); border-radius: 4px; background: #fff; }

.button {
  min-height: 40px;
  padding: 0 16px;
  border-radius: 5px;
  border: 1px solid transparent;
  cursor: pointer;
  font-weight: 600;
}

.button:disabled { cursor: not-allowed; opacity: .5; }
.button-primary { background: var(--blue); color: #fff; box-shadow: 0 2px 5px rgba(15,111,181,.18); }
.button-primary:hover:not(:disabled) { background: var(--blue-hover); }
.button-secondary { background: #fff; border-color: var(--border-strong); color: #334250; }
.button-secondary:hover:not(:disabled) { background: #f1f4f6; }

.notice { margin-bottom: 14px; padding: 10px 12px; border-left: 3px solid var(--blue); background: #eaf3fa; color: #23475f; }
.notice.is-error { border-left-color: var(--red); background: var(--red-bg); color: #7f1d16; }
.notice.is-success { border-left-color: var(--green); background: var(--green-bg); color: #145c3d; }

.table-wrap { overflow: auto; background: var(--surface); border: 1px solid var(--border); border-radius: 6px; box-shadow: var(--shadow); }
table { width: 100%; min-width: 1380px; border-collapse: collapse; }
th, td { padding: 11px 12px; border-bottom: 1px solid #e4e8ec; text-align: left; vertical-align: top; }
th { position: sticky; top: 0; background: #edf2f6; color: #455360; font-size: 12px; }
tbody tr:hover { background: #f8fafb; }
.product-name { font-weight: 700; }
.product-code { margin-top: 3px; color: var(--muted); font-size: 11px; }
.product-cell { min-width: 190px; }
.product-bank { min-width: 120px; font-weight: 650; }
.product-channel { margin-top: 7px; color: #436174; font-size: 11px; line-height: 1.45; }
.product-list { min-width: 220px; margin: 0; padding-left: 18px; color: #354957; line-height: 1.5; }
.product-list li + li { margin-top: 4px; }
.product-facts { display: grid; min-width: 175px; gap: 6px; color: #354957; }
.product-facts span { display: grid; grid-template-columns: 38px 1fr; gap: 5px; line-height: 1.4; }
.product-facts b { color: var(--muted); font-size: 11px; }
.product-source-state { display: flex; min-width: 160px; flex-wrap: wrap; gap: 5px; align-items: center; }
.product-source-state > span:last-child { width: 100%; margin-top: 3px; color: var(--muted); font-size: 11px; }
.match-eligibility { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 12px 0; padding: 12px; background: #f5f8fa; border-left: 3px solid var(--blue); }
.match-eligibility h3 { margin: 0 0 6px; font-size: 13px; }
.match-eligibility ul { margin: 0; padding-left: 18px; }

.badge { display: inline-block; padding: 3px 7px; border-radius: 3px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.badge-ok { background: var(--green-bg); color: var(--green); }
.badge-warn { background: var(--amber-bg); color: var(--amber); }
.badge-blocked { background: var(--red-bg); color: var(--red); }

.analysis-layout { display: grid; grid-template-columns: minmax(360px, 460px) minmax(0, 1fr); gap: 22px; align-items: start; }
.upload-panel, .result-panel { background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 24px; box-shadow: 0 3px 14px rgba(21,54,79,.04); }

.upload-zone {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 168px;
  border: 1px dashed #9eabb7;
  border-radius: 5px;
  background: var(--surface-soft);
  cursor: pointer;
  overflow: hidden;
}

.upload-zone:hover, .upload-zone.is-dragging { border-color: var(--blue); background: #f2f7fb; }
.upload-placeholder { display: grid; gap: 8px; text-align: center; color: var(--muted); }
.upload-placeholder strong { color: #294456; font-size: 16px; }
.upload-placeholder span { font-size: 12px; }

.file-summary {
  margin-top: 12px;
  padding: 9px 10px;
  border-left: 3px solid var(--blue);
  background: #edf5fa;
  color: #31566f;
  font-size: 12px;
  line-height: 1.55;
}

.preview-list {
  display: grid;
  max-height: 480px;
  margin-top: 10px;
  border-top: 1px solid var(--border);
  overflow-y: auto;
}

.preview-item {
  display: grid;
  grid-template-columns: 28px 72px minmax(0, 1fr) 34px;
  gap: 10px;
  align-items: center;
  min-height: 106px;
  padding: 7px 0;
  border-bottom: 1px solid var(--border);
}

.page-number {
  color: var(--blue);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.preview-item img {
  width: 72px;
  height: 92px;
  border: 1px solid var(--border);
  background: #fff;
  object-fit: contain;
}

.pdf-file-icon {
  display: grid;
  width: 72px;
  height: 92px;
  place-items: center;
  border: 1px solid #d1a6a1;
  background: #fff4f2;
  color: #9e2f26;
  font-size: 14px;
  font-weight: 800;
}

.pdf-file-icon.is-compact { width: 42px; height: 54px; font-size: 10px; }

.preview-meta { min-width: 0; }
.preview-meta strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.preview-meta span { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; }
.preview-actions { display: grid; gap: 3px; }

.icon-button {
  width: 30px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  background: #fff;
  color: #3f5363;
  cursor: pointer;
}

.icon-button:hover:not(:disabled) { border-color: var(--blue); color: var(--blue); background: #f2f7fb; }
.icon-button:disabled { cursor: not-allowed; opacity: .35; }
.icon-button-danger:hover:not(:disabled) { border-color: var(--red); color: var(--red); background: var(--red-bg); }

.consent-row { display: flex; gap: 9px; align-items: flex-start; margin: 14px 0; color: #4d5b67; line-height: 1.55; }
.consent-row input { margin-top: 4px; }
.consent-optional { margin-top: -6px; padding-top: 10px; border-top: 1px solid #e4e8ec; }
.final-package-row { padding: 10px 12px; border: 1px solid #bfd2e2; background: #f3f8fc; color: #213f55; font-weight: 700; }

.result-panel { min-height: 360px; }
.empty-state { display: grid; place-items: center; color: var(--muted); text-align: center; }
.empty-state { border-style: dashed; background: #f8fafb; }
.empty-state div { display: grid; gap: 8px; max-width: 360px; padding: 32px; }
.empty-state strong { color: #40515e; font-size: 16px; }

.result-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.result-header p { margin-top: 4px; color: var(--muted); font-size: 12px; }
.report-navigation { position: sticky; top: 8px; z-index: 8; margin-top: 16px; border: 1px solid #bccbd6; background: #eef3f6; box-shadow: 0 4px 12px rgba(21,54,79,.08); }
.report-tablist { display: grid; grid-template-columns: repeat(5, minmax(112px, 1fr)); }
.report-tablist.is-personal { grid-template-columns: repeat(5, minmax(112px, 1fr)); }
.report-nav-button { min-width: 0; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 12px; border: 0; border-right: 1px solid #ccd7df; border-bottom: 3px solid transparent; background: #f4f7f9; color: #536571; font: inherit; font-weight: 800; cursor: pointer; }
.report-nav-button:last-child { border-right: 0; }
.report-nav-button span { width: 24px; height: 24px; display: inline-grid; place-items: center; flex: 0 0 auto; border: 1px solid #9fb5c5; border-radius: 50%; color: #486579; font-size: 11px; background: #fff; }
.report-nav-button:hover { background: #e8f1f7; color: #0f5f98; }
.report-nav-button:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(22,119,190,.24); outline-offset: -3px; }
.report-nav-button.is-active { border-bottom-color: var(--blue); background: #fff; color: #075f9d; }
.report-nav-button.is-active span { border-color: var(--blue); background: var(--blue); color: #fff; }
.report-panel { padding-top: 20px; }
.report-panel[hidden] { display: none !important; }
.report-panel > .result-section { padding-top: 0; border-top: 0; }
.report-panel .subject-summary-section { padding-top: 0; }
.report-panel .report-meta-strip { margin-top: 0; }
.personal-report-section { padding-top: 0; }
.personal-panel-heading { padding: 2px 0 14px; border-bottom: 1px solid var(--border); }
.personal-panel-heading h2 { font-size: 20px; }
.personal-credit-metrics, .personal-asset-metrics { margin-top: 16px; }
.professional-summary { margin-top: 16px; padding: 16px 18px; border-left: 4px solid var(--blue); background: #f3f8fc; }
.professional-summary strong { display: block; color: #113b58; font-size: 14px; }
.professional-summary p { margin-top: 7px; color: #324c5e; line-height: 1.7; }
.personal-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1px; margin-top: 16px; border: 1px solid var(--border); background: var(--border); }
.personal-summary-grid article { min-width: 0; min-height: 98px; padding: 13px 14px; background: #fff; }
.personal-summary-grid span { display: block; color: var(--muted); font-size: 11px; }
.personal-summary-grid strong { display: block; margin-top: 8px; color: #17364a; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.professional-finding-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.personal-fact-section { margin-top: 16px; border: 1px solid var(--border); background: #fff; }
.personal-fact-heading { padding: 13px 15px; border-bottom: 1px solid var(--border); background: #f6f9fb; }
.personal-fact-heading h3 { font-size: 15px; }
.personal-fact-heading p { margin-top: 5px; color: var(--muted); font-size: 12px; }
.personal-fact-table thead th:first-child { width: 24%; }
.personal-fact-table thead th:nth-child(2) { width: 42%; }
.personal-identity-hero { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: 16px; margin-top: 18px; padding: 20px; border: 1px solid #b9d2e3; border-left: 5px solid var(--blue); background: #f4f9fc; }
.personal-identity-hero.is-empty { border-color: #d4dde3; border-left-color: #879ba8; background: #f7f9fa; }
.personal-identity-avatar { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: #153f5a; color: #fff; font-size: 24px; font-weight: 800; }
.personal-identity-title span { display: block; color: #527083; font-size: 12px; font-weight: 700; }
.personal-identity-title h3 { display: block; margin-top: 4px; color: #102f44; font-size: 24px; line-height: 1.3; overflow-wrap: anywhere; }
.personal-identity-title p { margin-top: 5px; color: #607482; font-size: 12px; line-height: 1.5; }
.personal-identity-count { min-width: 96px; padding-left: 18px; border-left: 1px solid #c5d6e1; text-align: right; }
.personal-identity-count strong { display: block; color: var(--blue); font-size: 24px; }
.personal-identity-count span { display: block; margin-top: 2px; color: #607482; font-size: 11px; }
.personal-identity-count small { display: block; color: #607482; font-size: 11px; }
.personal-identity-details, .personal-judicial-section { margin-top: 18px; border: 1px solid var(--border); background: #fff; }
.personal-component-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border-bottom: 1px solid var(--border); background: #f4f7f9; }
.personal-component-heading > div > span { display: block; margin-bottom: 3px; color: var(--blue); font-size: 11px; font-weight: 800; }
.personal-component-heading h3 { color: #17364a; font-size: 16px; }
.personal-component-heading p { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.personal-component-heading > strong { flex: 0 0 auto; padding: 5px 9px; border: 1px solid #b8c9d4; background: #fff; color: #466679; font-size: 11px; font-weight: 800; }
.personal-component-heading > strong.has-records { border-color: #d8bd7d; background: #fff8e8; color: #785a14; }
.personal-component-heading > strong.no-records { border-color: #c5d2d9; background: #f8fafb; color: #5f727e; }
.identity-fact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; padding: 16px; }
.identity-fact-item { min-height: 88px; display: grid; align-content: center; gap: 8px; padding: 14px 15px; border: 1px solid #d4dee5; border-radius: 6px; background: #fbfcfd; }
.identity-fact-item span { color: var(--muted); font-size: 11px; font-weight: 700; }
.identity-fact-item strong { color: #102f44; font-size: 17px; line-height: 1.45; overflow-wrap: anywhere; }
.personal-evidence-drawer { border-top: 1px solid var(--border); background: #f8fafb; }
.personal-evidence-drawer > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; cursor: pointer; color: #315e79; font-size: 12px; font-weight: 800; list-style: none; }
.personal-evidence-drawer > summary::-webkit-details-marker { display: none; }
.personal-evidence-drawer > summary strong { font-size: 11px; }
.personal-evidence-drawer[open] > summary strong { color: transparent; }
.personal-evidence-drawer[open] > summary strong::after { content: "收起"; color: #315e79; }
.personal-evidence-drawer > div { display: grid; gap: 6px; padding: 0 16px 14px; color: #526675; font-size: 12px; line-height: 1.55; }
.personal-evidence-drawer > div span { padding-left: 12px; border-left: 2px solid #b8cbd7; }
.personal-info-empty-state { padding: 22px 18px; text-align: center; }
.personal-info-empty-state strong { display: block; color: #294b62; font-size: 15px; }
.personal-info-empty-state p { max-width: 680px; margin: 7px auto 0; color: #667986; font-size: 12px; line-height: 1.65; }
.personal-information-scope-note { margin-top: 18px; padding: 12px 15px; border-left: 4px solid #d0a848; background: #fff8e8; color: #68551e; font-size: 12px; line-height: 1.6; }
.vue-personal-root { min-height: 320px; }
.vue-personal-loading { min-height: 220px; display: grid; place-items: center; color: var(--muted); }
.vue-personal-layout { display: grid; gap: 20px; }
.vue-personal-sheet { overflow: hidden; border: 1px solid #c8d8e3; border-radius: 8px; background: #fff; box-shadow: 0 8px 22px rgba(21, 54, 79, .07); }
.vue-personal-sheet-header { min-height: 76px; display: flex; align-items: center; gap: 14px; padding: 16px 20px; background: #f2f7fa; }
.vue-personal-sheet-icon { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 7px; background: var(--navy); color: #fff; font-size: 15px; font-weight: 800; }
.vue-personal-sheet-header h2 { color: #102f44; font-size: 21px; line-height: 1.3; }
.vue-personal-sheet-header p { margin-top: 3px; color: #657a87; font-size: 11px; line-height: 1.5; }
.vue-personal-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid #d9e3e9; }
.vue-personal-detail-item { min-width: 0; min-height: 92px; display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 12px; padding: 15px 18px; border-right: 1px solid #e0e7eb; border-bottom: 1px solid #e0e7eb; }
.vue-personal-detail-item:nth-child(3n) { border-right: 0; }
.vue-personal-detail-marker { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 6px; background: #e8f2f9; color: #075f9d; font-size: 12px; font-weight: 800; }
.vue-personal-detail-marker.is-green { background: #eaf6ef; color: #18794e; }
.vue-personal-detail-marker.is-slate { background: #edf1f3; color: #526876; }
.vue-personal-detail-marker.is-amber { background: #fff3d2; color: #866000; }
.vue-personal-detail-item dt { color: #667b87; font-size: 11px; font-weight: 700; }
.vue-personal-detail-item dd { margin: 5px 0 0; color: #102f44; font-size: 16px; font-weight: 800; line-height: 1.45; overflow-wrap: anywhere; }
.vue-personal-empty { min-height: 120px; display: grid; place-items: center; padding: 20px; border-top: 1px solid #d9e3e9; color: #6d7f89; font-size: 13px; }
.vue-personal-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 4px 2px 2px; }
.vue-personal-intro > div { min-width: 0; }
.vue-personal-eyebrow { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 9px; border-radius: 5px; background: #e8f2f9; color: #075f9d; font-size: 11px; font-weight: 800; }
.vue-personal-intro h2 { margin-top: 8px; color: #102f44; font-size: 24px; line-height: 1.25; }
.vue-personal-intro p { max-width: 680px; margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.vue-personal-read-badge { flex: 0 0 auto; display: inline-flex; align-items: baseline; gap: 5px; padding: 9px 12px; border-radius: 6px; background: #eef6fb; color: #315e79; font-size: 12px; font-weight: 700; }
.vue-personal-read-badge strong { color: var(--blue); font-size: 20px; line-height: 1; }
.vue-identity-profile { min-width: 0; display: grid; grid-template-columns: 64px minmax(0, 1fr) 124px; align-items: center; gap: 18px; padding: 22px; border: 1px solid #b8cfde; border-radius: 8px; background: #f4f9fc; box-shadow: 0 8px 20px rgba(21, 54, 79, .07); }
.vue-identity-profile.is-empty { border-color: #d1dbe2; background: #f8fafb; }
.vue-identity-avatar { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 8px; background: var(--navy); color: #fff; font-size: 26px; font-weight: 800; box-shadow: 0 5px 12px rgba(21, 54, 79, .18); }
.vue-identity-profile.is-empty .vue-identity-avatar { background: #738794; }
.vue-identity-copy { min-width: 0; }
.vue-identity-copy > span { color: #4e7186; font-size: 11px; font-weight: 800; }
.vue-identity-copy h3 { margin-top: 3px; color: #102f44; font-size: 24px; line-height: 1.35; overflow-wrap: anywhere; }
.vue-identity-copy p { margin-top: 5px; color: #607582; font-size: 12px; line-height: 1.55; }
.vue-source-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.vue-source-chip { padding: 3px 8px; border-radius: 4px; background: #dfeef7; color: #245c7d; font-size: 10px; font-weight: 700; }
.vue-identity-stat { min-height: 78px; display: grid; place-content: center; padding: 12px; border-radius: 6px; background: #fff; text-align: center; box-shadow: inset 0 0 0 1px #c7d9e5; }
.vue-identity-stat strong { color: var(--blue); font-size: 26px; line-height: 1; }
.vue-identity-stat span { margin-top: 6px; color: #597181; font-size: 11px; font-weight: 700; }
.vue-facts-section, .vue-judicial-panel { display: grid; gap: 14px; }
.vue-personal-groups { display: grid; gap: 18px; }
.vue-fact-group { display: grid; gap: 12px; }
.vue-fact-group-header { min-height: 64px; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 11px 14px; border-left: 4px solid #1479b8; background: #edf6fb; }
.vue-fact-group-header > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 7px; background: #fff; color: #08679f; font-size: 13px; font-weight: 800; box-shadow: inset 0 0 0 1px #c7dde9; }
.vue-fact-group-header h3 { color: #14384f; font-size: 16px; line-height: 1.35; }
.vue-fact-group-header p { margin-top: 3px; color: #607684; font-size: 11px; line-height: 1.5; }
.vue-fact-group-header > strong { padding: 5px 9px; border-radius: 5px; background: #fff; color: #08679f; font-size: 10px; }
.vue-fact-group.is-extended .vue-fact-group-header { border-left-color: #25835b; background: #eef8f2; }
.vue-fact-group.is-extended .vue-fact-group-header > span, .vue-fact-group.is-extended .vue-fact-group-header > strong { color: #176f49; box-shadow: inset 0 0 0 1px #c9e2d4; }
.vue-fact-group.is-report .vue-fact-group-header { border-left-color: #687984; background: #f1f4f6; }
.vue-fact-group.is-report .vue-fact-group-header > span, .vue-fact-group.is-report .vue-fact-group-header > strong { color: #516875; box-shadow: inset 0 0 0 1px #d3dde2; }
.vue-fact-group-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.vue-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 2px; }
.vue-section-heading > div { min-width: 0; display: flex; align-items: center; gap: 11px; }
.vue-section-marker { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 7px; background: #e8f2f9; color: #075f9d; font-size: 14px; font-weight: 800; }
.vue-section-heading h3 { color: #18384e; font-size: 17px; line-height: 1.35; }
.vue-section-heading p { margin-top: 3px; color: var(--muted); font-size: 11px; }
.vue-status-badge { flex: 0 0 auto; padding: 5px 9px; border-radius: 5px; background: #eef2f4; color: #546b79; font-size: 10px; font-weight: 800; }
.vue-status-badge.is-info { background: #e8f2f9; color: #075f9d; }
.vue-status-badge.has-records { background: var(--amber-bg); color: #7c5900; }
.vue-status-badge.no-records { background: #eef2f4; color: #60727e; }
.vue-fact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.vue-fact-card { min-width: 0; min-height: 98px; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 13px; padding: 16px; border: 1px solid #d6e0e6; border-radius: 8px; background: #fff; box-shadow: 0 4px 12px rgba(21, 54, 79, .05); }
.vue-fact-marker { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 7px; background: #e8f2f9; color: #075f9d; font-size: 13px; font-weight: 800; }
.vue-fact-marker.is-green { background: #eaf6ef; color: #18794e; }
.vue-fact-marker.is-slate { background: #edf1f3; color: #526876; }
.vue-fact-marker.is-amber { background: #fff3d2; color: #866000; }
.vue-fact-label { display: block; color: var(--muted); font-size: 11px; font-weight: 700; }
.vue-fact-card strong { display: block; margin-top: 5px; color: #102f44; font-size: 16px; line-height: 1.45; overflow-wrap: anywhere; }
.vue-evidence-panel { overflow: hidden; border: 1px solid #cbd9e2; border-radius: 8px; background: #fff; box-shadow: 0 4px 12px rgba(21, 54, 79, .04); }
.vue-evidence-toggle { width: 100%; min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 15px; border: 0; background: #f4f8fa; color: #24495f; text-align: left; cursor: pointer; }
.vue-evidence-toggle:hover { background: #eaf3f8; }
.vue-evidence-toggle > span:first-child { display: grid; gap: 2px; }
.vue-evidence-toggle strong { font-size: 13px; }
.vue-evidence-toggle small { color: #6b7d88; font-size: 10px; }
.vue-evidence-action { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; color: #075f9d; font-size: 11px; font-weight: 800; }
.vue-evidence-action i { width: 8px; height: 8px; display: block; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .16s ease; }
.vue-evidence-action i.is-open { transform: rotate(225deg) translate(-2px, -1px); }
.vue-evidence-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; padding: 14px 15px 16px; }
.vue-evidence-list > span { min-width: 0; display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 8px; padding: 10px; border-radius: 6px; background: #f7f9fa; color: #4c6270; font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.vue-evidence-list b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 4px; background: #e5edf2; color: #315e79; font-size: 10px; }
.vue-judicial-panel { padding: 18px; border: 1px solid #d2dce3; border-radius: 8px; background: #fff; box-shadow: 0 5px 14px rgba(21, 54, 79, .05); }
.vue-judicial-empty { min-height: 112px; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 20px; border-radius: 7px; background: #f6f8f9; text-align: left; }
.vue-judicial-empty > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 7px; background: #e8edf0; color: #607580; font-weight: 800; }
.vue-judicial-empty strong { display: block; color: #29485c; font-size: 14px; }
.vue-judicial-empty p { max-width: 700px; margin-top: 5px; color: #687a85; font-size: 11px; line-height: 1.6; }
.vue-judicial-table-shell { overflow-x: auto; border-radius: 7px; box-shadow: inset 0 0 0 1px #d9e1e6; }
.vue-judicial-table { width: 100%; min-width: 820px; border-collapse: collapse; background: #fff; }
.vue-judicial-table th { padding: 10px 12px; background: #eef3f6; color: #496273; font-size: 10px; text-align: left; }
.vue-judicial-table td { padding: 12px; border-top: 1px solid #e2e8ec; color: #253d4d; font-size: 11px; line-height: 1.55; vertical-align: top; }
.vue-scope-notice { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 10px; padding: 12px 14px; border-radius: 7px; background: #fff7df; color: #66521d; }
.vue-scope-notice > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #efd48b; color: #644b08; font-family: Georgia, serif; font-weight: 800; }
.vue-scope-notice p { font-size: 11px; line-height: 1.6; }
.vue-scope-notice strong { margin-right: 8px; color: #5b4306; }
.query-metric-grid { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 1px; margin-top: 12px; border: 1px solid var(--border); background: var(--border); }
.query-metric-grid .metric { min-height: 72px; padding: 11px 13px; }
.query-metric-grid .metric strong { margin-top: 6px; font-size: 17px; }
.asset-definition-note { margin: -4px 0 15px; padding: 10px 12px; border-left: 3px solid var(--amber); background: #fff8e8; color: #66531f; }
.verification-task-group { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.verification-ledger { min-width: 760px; }
.judicial-ledger, .overdue-ledger { min-width: 980px; }
.empty-inline.is-caution { border-left: 3px solid var(--amber); background: #fff8e8; color: #70591f; }
.personal-assets-section { padding-bottom: 22px; }
.personal-match-section { margin-top: 8px; padding-top: 22px !important; border-top: 3px solid var(--blue) !important; }
.report-meta-strip { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 1px; margin: 16px 0 0; border: 1px solid var(--border); background: var(--border); }
.report-meta-strip div { min-height: 66px; display: grid; align-content: center; gap: 5px; padding: 10px 14px; background: #fff; }
.report-meta-strip span { color: var(--muted); font-size: 11px; }
.report-meta-strip strong { font-size: 14px; }
.assessment-modules { margin-top: 18px; border-top: 3px solid #315e79; border-bottom: 1px solid var(--border); background: #fff; }
.module-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 14px 16px; background: #f4f7f9; }
.module-heading span { display: block; margin-bottom: 4px; color: var(--blue); font-size: 11px; font-weight: 800; }
.module-heading h2 { font-size: 17px; }
.module-heading p { max-width: 560px; color: var(--muted); line-height: 1.5; text-align: right; }
.module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--border); }
.module-item { min-width: 0; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; padding: 13px 16px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.module-item:nth-child(2n) { border-right: 0; }
.module-item:nth-last-child(-n + 2) { border-bottom: 0; }
.module-number { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #b8c7d1; color: #526b7b; font-size: 11px; font-weight: 800; }
.module-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.module-title strong { color: #17364a; font-size: 13px; }
.module-title span { flex: 0 0 auto; padding: 2px 6px; border: 1px solid #c8d2d9; color: #596974; background: #f5f7f8; font-size: 10px; font-weight: 800; }
.module-item.is-ready .module-title span { border-color: #9dc8b6; color: #23694f; background: #eff8f4; }
.module-item.is-partial .module-title span, .module-item.is-review .module-title span { border-color: #d8bd7d; color: #785a14; background: #fff8e8; }
.module-item.is-missing .module-title span { border-color: #dfaaa3; color: #913e36; background: #fff2f0; }
.module-item p { margin-top: 5px; color: #536571; font-size: 12px; line-height: 1.5; }
.report-focus { margin-top: 18px; border-top: 3px solid var(--blue); background: #f7fafc; }
.report-focus-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 18px 12px; border-bottom: 1px solid var(--border); }
.report-focus-heading div > span, .report-section-heading div > span { display: block; margin-bottom: 4px; color: var(--blue); font-size: 11px; font-weight: 800; }
.report-focus-heading h2 { font-size: 18px; }
.report-focus-heading > strong { color: #294b62; font-size: 13px; }
.focus-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.focus-band { min-height: 160px; padding: 15px 18px; border-right: 1px solid var(--border); background: #fff; }
.focus-band:last-child { border-right: 0; }
.focus-band.is-risk { border-top: 3px solid var(--red); }
.focus-band.is-missing { border-top: 3px solid var(--amber); }
.focus-band.is-next { border-top: 3px solid var(--blue); }
.focus-band-title { display: flex; justify-content: space-between; gap: 12px; }
.focus-band-title span { color: var(--muted); font-size: 11px; font-weight: 700; }
.focus-band ul { margin: 10px 0 0; padding-left: 18px; color: #3a4d5a; line-height: 1.65; }
.focus-band small { display: block; margin-top: 8px; color: var(--muted); }
.metric-grid { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 1px; margin: 18px 0; background: var(--border); border: 1px solid var(--border); }
.metric { min-height: 88px; padding: 14px; background: #fff; }
.metric span { color: var(--muted); font-size: 12px; }
.metric strong { display: block; margin-top: 8px; font-size: 18px; }
.bank-metric-strip { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 1px; margin: 4px 0 16px; border: 1px solid var(--border); background: var(--border); }
.bank-metric-strip .metric { min-height: 76px; padding: 12px 14px; }
.bank-metric-strip .metric strong { margin-top: 6px; font-size: 16px; }
.cashflow-metrics { margin-top: 10px; }
.cashflow-dashboard { margin-top: 12px; }
.cashflow-dashboard-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 15px 18px;
  border-bottom: 1px solid #dbe4ea;
  background: #f3f7fa;
}
.cashflow-dashboard-heading span {
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}
.cashflow-dashboard-heading h3 { margin-top: 3px; color: var(--navy); font-size: 19px; }
.cashflow-dashboard-heading p { max-width: 520px; color: #51636f; font-size: 12px; text-align: right; }
.cashflow-metrics { grid-template-columns: repeat(4, minmax(140px, 1fr)); }
.cashflow-direction-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 10px;
  padding: 14px 16px 0;
}
.cashflow-direction-focus {
  min-height: 112px;
  padding: 13px 15px;
  border: 1px solid var(--border);
  border-top-width: 4px;
  background: #fff;
}
.cashflow-direction-focus > span { font-size: 11px; font-weight: 800; }
.cashflow-direction-focus strong { display: block; margin-top: 5px; color: var(--navy); font-size: 18px; }
.cashflow-direction-focus b { display: inline-block; margin-top: 7px; color: #52636f; font-size: 11px; }
.cashflow-direction-focus p { margin-top: 5px; color: #52636f; font-size: 11px; line-height: 1.5; }
.cashflow-direction-focus.is-outflow { border-color: #dfaaa4; border-top-color: var(--red); background: #fff7f5; }
.cashflow-direction-focus.is-outflow > span, .cashflow-direction-focus.is-outflow strong, .cashflow-direction-focus.is-outflow b { color: #982c24; }
.cashflow-direction-focus.is-inflow { border-color: #a8cdbc; border-top-color: var(--green); background: #f4faf7; }
.cashflow-direction-focus.is-inflow > span, .cashflow-direction-focus.is-inflow strong, .cashflow-direction-focus.is-inflow b { color: #216a4d; }
.cashflow-direction-focus.is-risk { border-color: #dfc68d; border-top-color: var(--amber); background: #fffaf0; }
.cashflow-direction-focus.is-risk > span, .cashflow-direction-focus.is-risk strong { color: #7c580c; }
.cashflow-priority-section {
  margin: 14px 16px 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
}
.cashflow-priority-section.is-outflow {
  border-color: #dba8a1;
  box-shadow: 0 5px 18px rgba(180, 35, 24, .08);
}
.cashflow-priority-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--border);
  background: #f5f8fa;
}
.cashflow-priority-heading span { color: var(--blue); font-size: 11px; font-weight: 900; }
.cashflow-priority-heading h3 { margin-top: 2px; color: var(--navy); font-size: 17px; }
.cashflow-priority-heading p { margin-top: 4px; color: #5b6c77; font-size: 12px; }
.cashflow-priority-heading > strong {
  flex: 0 0 auto;
  padding: 6px 10px;
  border: 1px solid #b7c8d4;
  color: #285b78;
  background: #fff;
  font-size: 12px;
}
.cashflow-priority-section.is-outflow .cashflow-priority-heading { background: #fff1ef; }
.cashflow-priority-section.is-outflow .cashflow-priority-heading span,
.cashflow-priority-section.is-outflow .cashflow-priority-heading h3 { color: #8e3029; }
.cashflow-priority-section.is-outflow .cashflow-priority-heading > strong {
  border-color: #d6a39e;
  color: #8e3029;
  background: #fff;
}
.cashflow-priority-section.is-inflow .cashflow-priority-heading { background: #eef8f3; }
.cashflow-priority-section.is-inflow .cashflow-priority-heading span,
.cashflow-priority-section.is-inflow .cashflow-priority-heading h3 { color: #216a4d; }
.cashflow-pattern-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 8px;
  padding: 10px;
}
.cashflow-pattern-card {
  position: relative;
  min-width: 0;
  padding: 12px;
  border: 1px solid #d7e0e6;
  border-left: 4px solid var(--green);
  background: #fff;
}
.cashflow-pattern-card.is-outflow { border-left-color: var(--red); background: #fffbfa; }
.cashflow-pattern-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.cashflow-pattern-card-heading > div { min-width: 0; }
.cashflow-pattern-card-heading strong {
  display: block;
  margin-top: 6px;
  overflow-wrap: anywhere;
  color: var(--navy);
  font-size: 16px;
}
.cashflow-direction-badge, .cashflow-nature-badge {
  display: inline-block;
  padding: 3px 7px;
  border: 1px solid #a9ccb9;
  color: #22684c;
  background: #edf8f2;
  font-size: 10px;
  font-weight: 900;
}
.cashflow-pattern-card.is-outflow .cashflow-direction-badge {
  border-color: #d89f99;
  color: #92332c;
  background: #fff0ee;
}
.cashflow-nature-badge {
  flex: 0 0 auto;
  border-color: #b8cad6;
  color: #2d607e;
  background: #f1f7fa;
}
.cashflow-pattern-amount {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  padding: 8px 10px;
  background: #f3f7f9;
}
.cashflow-pattern-card.is-outflow .cashflow-pattern-amount { background: #fff0ee; }
.cashflow-pattern-amount span { color: #657680; font-size: 11px; }
.cashflow-pattern-amount strong { color: var(--navy); font-size: 18px; }
.cashflow-pattern-card.is-outflow .cashflow-pattern-amount strong { color: #982c24; }
.cashflow-pattern-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 7px;
  background: #dfe6ea;
}
.cashflow-pattern-facts div { min-height: 45px; padding: 6px 7px; background: #fff; }
.cashflow-pattern-facts dt { color: #74838d; font-size: 10px; }
.cashflow-pattern-facts dd { margin-top: 4px; color: #294454; font-size: 12px; font-weight: 800; }
.cashflow-pattern-card > p { margin-top: 10px; color: #435560; font-size: 12px; line-height: 1.6; }
.cashflow-pattern-card .cashflow-pattern-evidence { margin-top: 8px; border-top: 1px solid #e0e6e9; }
.cashflow-pattern-card .cashflow-pattern-evidence summary {
  padding-top: 8px;
  color: #5e7180;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
}
.cashflow-pattern-card .cashflow-pattern-evidence p { margin: 8px 0 0; color: #435560; font-size: 11px; line-height: 1.55; }
.cashflow-pattern-card .cashflow-pattern-evidence small { display: block; padding: 8px 0 2px; color: var(--muted); line-height: 1.55; }
.cashflow-expand-button {
  width: calc(100% - 28px);
  min-height: 40px;
  margin: 0 14px 14px;
  border: 1px solid #b9c9d4;
  color: #2a5b77;
  background: #f5f9fb;
  cursor: pointer;
  font-weight: 800;
}
.cashflow-expand-button:hover { border-color: var(--blue); color: var(--blue); background: #eef6fb; }
.cashflow-priority-section.is-outflow .cashflow-expand-button {
  border-color: #d8aaa5;
  color: #8e3029;
  background: #fff5f3;
}
.cashflow-recurring-panel .cashflow-expand-button {
  width: auto;
  min-height: 30px;
  margin: 9px 12px 11px;
  padding: 0 10px;
  font-size: 10px;
}
.cashflow-dashboard-primary { padding-bottom: 16px; background: #fff; }
.cashflow-secondary-metrics { grid-template-columns: repeat(4, minmax(125px, 1fr)); }
.cashflow-supporting-details { display: grid; gap: 10px; margin-top: 16px; }
.result-section { padding: 16px 0; border-top: 1px solid #e5e9ed; }
.result-section:first-of-type { border-top: 0; }
.result-section ul { margin: 10px 0 0; padding-left: 20px; color: #384754; line-height: 1.7; }
.report-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.report-section-heading h2 { font-size: 18px; }
.report-section-heading > p { max-width: 620px; color: var(--muted); line-height: 1.55; text-align: right; }
.subject-summary-section { padding-top: 22px; }
.subject-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.subject-summary-grid.is-single { grid-template-columns: minmax(0, 1fr); }
.subject-summary { min-width: 0; border: 1px solid var(--border); background: #fff; }
.subject-summary.is-enterprise { border-top: 3px solid var(--blue); }
.subject-summary.is-legal-representative, .subject-summary.is-personal { border-top: 3px solid #3b7f68; }
.subject-summary-heading { padding: 14px 16px; border-bottom: 1px solid var(--border); background: #f6f9fb; }
.subject-summary-heading h2 { font-size: 16px; }
.subject-summary-heading p { margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.subject-summary-table-wrap { overflow-x: auto; }
.subject-summary-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }
.subject-summary-table th, .subject-summary-table td { padding: 10px 12px; border-bottom: 1px solid var(--border); color: #3e505d; font-size: 12px; line-height: 1.5; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.subject-summary-table thead th { background: #edf2f5; color: #5b6974; font-size: 11px; }
.subject-summary-table tbody th { width: 24%; color: #314653; }
.subject-summary-table tbody td:nth-child(2) { width: 28%; color: #102f43; font-weight: 800; }
.subject-summary-table tbody tr:last-child th, .subject-summary-table tbody tr:last-child td { border-bottom: 0; }
.exposure-summary { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 1px; margin-top: 14px; border-left: 3px solid var(--amber); background: var(--border); }
.exposure-summary div { padding: 12px 14px; background: #fffaf0; }
.exposure-summary span { display: block; color: #7a6842; font-size: 11px; }
.exposure-summary strong { display: block; margin-top: 6px; font-size: 16px; }
.exposure-summary p { grid-column: 1 / -1; padding: 10px 14px; background: #fffaf0; color: #665536; line-height: 1.55; }
.decision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid var(--border); background: var(--border); }
.decision-band { min-height: 150px; padding: 14px 16px; background: #fff; }
.decision-band h3 { padding-bottom: 8px; border-bottom: 2px solid #9cafbc; font-size: 14px; }
.decision-band.is-strength h3 { border-bottom-color: #489373; }
.decision-band.is-risk h3 { border-bottom-color: var(--red); }
.decision-band.is-missing h3 { border-bottom-color: var(--amber); }
.decision-band.is-next h3 { border-bottom-color: var(--blue); }
.decision-band ul { margin-top: 8px; }
.report-evidence-section { padding-top: 22px; }
.report-details { border-top: 1px solid var(--border-strong); background: #fff; }
.report-details:last-child { border-bottom: 1px solid var(--border-strong); }
.report-details > summary { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 4px; color: #203d50; cursor: pointer; list-style: none; }
.report-details > summary::-webkit-details-marker { display: none; }
.report-details > summary span:first-child { display: grid; gap: 4px; }
.report-details > summary strong { font-size: 14px; }
.report-details > summary small { color: var(--muted); line-height: 1.45; }
.details-action { flex: 0 0 auto; color: var(--blue); font-size: 12px; font-weight: 800; }
.report-details[open] .details-action { font-size: 0; }
.report-details[open] .details-action::after { content: "收起"; font-size: 12px; }
.report-details-body { padding: 0 0 18px; }
.report-details-body > ul { margin-top: 0; }
.report-details-body .declared-information { margin-top: 4px; }
.account-group { border-top: 1px solid var(--border); }
.account-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; color: #314b5c; cursor: pointer; }
.account-group > summary span { color: var(--blue); font-size: 12px; font-weight: 800; }
.credit-ledger-wrap {
  margin-top: 10px;
  overflow-x: auto;
  border: 1px solid var(--border);
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.credit-ledger { width: 100%; min-width: 960px; border-collapse: collapse; background: #fff; }
.credit-ledger th, .credit-ledger td { padding: 10px 9px; border-right: 1px solid #e7ebee; border-bottom: 1px solid #e2e7ea; color: #40525f; font-size: 11px; line-height: 1.45; text-align: left; vertical-align: top; }
.credit-ledger th { background: #eef3f6; color: #536672; white-space: nowrap; }
.credit-ledger tr:last-child td { border-bottom: 0; }
.credit-ledger th:last-child, .credit-ledger td:last-child { border-right: 0; }
.credit-ledger td strong { display: block; color: #17384d; font-size: 12px; }
.credit-ledger td small { display: block; margin-top: 3px; color: var(--muted); }
.credit-exposure-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(210px, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.credit-exposure-card {
  overflow: hidden;
  border: 1px solid #d5e0e6;
  border-top: 3px solid #2b78aa;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 5px 15px rgba(20, 52, 73, .07);
}
.credit-exposure-card.is-loan { border-top-color: #388164; }
.credit-exposure-card.is-total { border-top-color: #b37d20; }
.credit-exposure-card.is-guarantee { border-top-color: #aa4940; }
.credit-exposure-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 58px;
  padding: 11px 13px;
  background: #f4f8fa;
}
.credit-exposure-card.is-loan header { background: #f2f8f4; }
.credit-exposure-card.is-total header { background: #fff8e9; }
.credit-exposure-card.is-guarantee header { background: #fff3f1; }
.credit-exposure-title { min-width: 0; display: flex; align-items: center; gap: 9px; }
.credit-exposure-title h3 { color: #16394f; font-size: 15px; }
.credit-exposure-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  border-radius: 9px;
  background: #dcecff;
  color: #176fca;
  font-size: 12px;
  font-weight: 900;
}
.credit-exposure-card.is-loan .credit-exposure-icon { background: #dff3e7; color: #24845a; }
.credit-exposure-card.is-total .credit-exposure-icon { background: #ffebbd; color: #a36805; }
.credit-exposure-card.is-guarantee .credit-exposure-icon { background: #eee4ff; color: #7142ba; }
.credit-exposure-badge {
  flex: 0 0 auto;
  padding: 3px 7px;
  border: 1px solid #bfd0db;
  border-radius: 4px;
  background: #fff;
  color: #456779;
  font-size: 10px;
  font-weight: 800;
}
.credit-exposure-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}
.credit-exposure-row {
  min-width: 0;
  min-height: 72px;
  padding: 10px 12px;
  border-top: 1px solid #e3e9ed;
  border-right: 1px solid #e3e9ed;
}
.credit-exposure-row:nth-child(2n) { border-right: 0; }
.credit-exposure-row.is-ratio { grid-column: 1 / -1; border-right: 0; }
.credit-exposure-row dt { color: #667985; font-size: 11px; line-height: 1.45; }
.credit-exposure-row dd {
  margin-top: 6px;
  color: #17384d;
  font-size: 16px;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.credit-exposure-row.is-prominent { background: #f7fafc; }
.credit-exposure-row.is-prominent dd { font-size: 19px; }
.credit-exposure-card.is-guarantee dl { grid-template-columns: 1fr; }
.credit-exposure-card.is-guarantee .credit-exposure-row {
  min-height: 43px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border-right: 0;
}
.credit-exposure-card.is-guarantee .credit-exposure-row dd {
  margin-top: 0;
  white-space: nowrap;
  overflow-wrap: normal;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}
.credit-exposure-card.is-guarantee .credit-exposure-row.is-prominent dd { font-size: 17px; }
.credit-exposure-card.is-guarantee .credit-exposure-row.is-subject {
  min-height: 58px;
  grid-template-columns: 1fr;
  gap: 3px;
  align-items: start;
  background: #fffafa;
}
.credit-exposure-card.is-guarantee .credit-exposure-row.is-subject dd {
  white-space: normal;
  color: #314e60;
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.credit-exposure-progress {
  display: block;
  height: 5px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef2;
}
.credit-exposure-progress i { display: block; height: 100%; border-radius: inherit; background: #3988df; }
.credit-exposure-progress.is-medium i { background: #d08d0e; }
.credit-exposure-progress.is-high i { background: #d8554d; }
.credit-status-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 12px;
  border: 1px solid #dbe4e9;
  background: #dbe4e9;
}
.credit-status-strip > div { min-height: 68px; padding: 12px 14px; background: #fff; }
.credit-status-strip span { display: block; color: #6a7d89; font-size: 11px; }
.credit-status-strip strong { display: block; margin-top: 6px; color: #183a50; font-size: 16px; }
.credit-status-strip small { display: block; margin-top: 4px; color: #788995; font-size: 10px; }
.credit-dashboard-layout {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}
.credit-dashboard-layout .credit-module-stack { margin-top: 0; }
.credit-review-panel {
  order: -1;
  overflow: clip;
  border: 1px solid #d7e2ea;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(20, 52, 73, .06);
}
.credit-review-panel > header {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #e1e8ed;
  background: #f5f8fb;
}
.credit-review-shield {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #e5efff;
  color: #176ecc;
  font-size: 12px;
  font-weight: 900;
}
.credit-review-panel > header h3 { color: #17384d; font-size: 15px; }
.credit-review-panel > header p { margin-top: 3px; color: #748592; font-size: 11px; line-height: 1.45; }
.credit-review-panel > header > strong {
  padding: 3px 7px;
  border-radius: 999px;
  background: #e8f1fa;
  color: #326484;
  font-size: 10px;
}
.credit-review-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.credit-review-item {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: start;
  padding: 13px 14px;
  border-right: 1px solid #e5ebef;
  border-bottom: 1px solid #e5ebef;
}
.credit-review-marker {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #e7f1ff;
  color: #236fc1;
  font-size: 11px;
  font-weight: 900;
}
.credit-review-item h4 { color: #18394f; font-size: 13px; line-height: 1.4; }
.credit-review-item p { margin-top: 4px; color: #687b88; font-size: 11px; line-height: 1.55; }
.credit-review-item > strong {
  padding: 2px 6px;
  border-radius: 4px;
  background: #eaf2fb;
  color: #326989;
  font-size: 9px;
  white-space: nowrap;
}
.credit-review-item.is-alert .credit-review-marker { background: #ffe4e1; color: #bd3027; }
.credit-review-item.is-alert > strong { background: #ffe6e3; color: #b02f27; }
.credit-review-item.is-caution .credit-review-marker { background: #fff0d4; color: #aa6b02; }
.credit-review-item.is-caution > strong { background: #fff0d6; color: #9d6302; }
.credit-review-item.is-guarantee .credit-review-marker { background: #eee5ff; color: #7245b8; }
.credit-review-item.is-guarantee > strong { background: #efe7ff; color: #6840a7; }
.credit-review-item.is-normal .credit-review-marker { background: #e3f4e9; color: #26794f; }
.credit-review-item.is-normal > strong { background: #e5f4ea; color: #26714b; }
.credit-review-boundary { margin: 0; padding: 9px 14px; color: #7b8b96; background: #fafcfd; font-size: 9px; line-height: 1.5; }
.credit-overview-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 1px;
  margin-top: 16px;
  border: 1px solid var(--border);
  background: var(--border);
}
.credit-overview-grid .metric { min-height: 92px; padding: 14px 15px; background: #fff; }
.credit-overview-grid .metric span { display: block; color: var(--muted); font-size: 11px; }
.credit-overview-grid .metric strong { display: block; margin-top: 8px; color: #12354b; font-size: 17px; }
.credit-extraction-note { margin-top: 14px; padding: 12px 14px; border-left: 4px solid #c9952d; background: #fff8e8; color: #6d551f; line-height: 1.6; }
.credit-module-stack { display: grid; gap: 18px; margin-top: 22px; }
.credit-module-section { overflow: hidden; border: 1px solid #d9e3e9; border-radius: 6px; background: #fff; }
.credit-module-section.is-guarantee { border-color: #cfe2d7; }
.credit-module-section.is-risk { border-color: #e7c4c0; }
.credit-module-header { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 15px 17px; background: #f3f7fa; }
.credit-module-section.is-guarantee .credit-module-header { background: #f2f8f4; }
.credit-module-section.is-risk .credit-module-header { background: #fff5f3; }
.credit-module-number { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #aac5d6; border-radius: 4px; color: #126aa5; background: #fff; font-weight: 900; }
.credit-module-header h3 { font-size: 16px; color: #15364b; }
.credit-module-header p { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.credit-module-count { padding: 4px 8px; border: 1px solid #b9cfdd; border-radius: 4px; color: #2b627f; background: #fff; font-size: 11px; font-weight: 800; }
.credit-module-body { padding: 16px 17px 18px; }
.credit-section-summary { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 1px; margin-bottom: 12px; border: 1px solid #e0e7eb; background: #e0e7eb; }
.credit-section-summary .metric { min-height: 76px; padding: 12px 14px; background: #fff; }
.credit-section-summary .metric span { display: block; color: var(--muted); font-size: 11px; }
.credit-section-summary .metric strong { display: block; margin-top: 6px; color: #17384d; font-size: 15px; }
.credit-responsibility-summary { display: grid; gap: 1px; margin-bottom: 12px; border: 1px solid #d7e1e7; background: #d7e1e7; }
.credit-responsibility-row { display: grid; grid-template-columns: minmax(190px, 1.15fr) repeat(2, minmax(170px, 1fr)); gap: 1px; min-width: 0; background: #d7e1e7; }
.credit-responsibility-count { min-height: 82px; padding: 13px 15px; background: #fff; }
.credit-responsibility-count span { display: block; color: var(--muted); font-size: 11px; }
.credit-responsibility-count strong { display: block; margin-top: 7px; color: #17384d; font-size: 18px; }
.credit-responsibility-row.is-guarantee .credit-responsibility-count { border-left: 4px solid #2f7fae; }
.credit-responsibility-row.is-joint-borrower .credit-responsibility-count { border-left: 4px solid #b47a21; }
.credit-responsibility-row .metric { min-height: 82px; padding: 13px 15px; background: #fff; }
.credit-responsibility-row .metric span { display: block; color: var(--muted); font-size: 11px; }
.credit-responsibility-row .metric strong { display: block; margin-top: 7px; color: #17384d; font-size: 15px; }
.credit-empty { padding: 18px; border: 1px dashed #cbd7de; background: #f8fafb; color: var(--muted); text-align: center; }
.credit-utilization { min-width: 100px; }
.credit-utilization strong { font-size: 12px; }
.credit-utilization > span { display: block; height: 5px; margin-top: 6px; overflow: hidden; border-radius: 3px; background: #e6ecef; }
.credit-utilization > span > i { display: block; height: 100%; background: #3e9271; }
.credit-utilization.is-medium > span > i { background: #c38b24; }
.credit-utilization.is-high > span > i { background: #b84d43; }
.query-month-ledger { min-width: 1120px; }
.query-summary-section { margin-top: 18px; }
.query-summary-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.query-summary-heading strong { display: block; color: #17384d; font-size: 14px; }
.query-summary-heading span { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.query-month-card-grid { display: grid; grid-template-columns: repeat(3, minmax(260px, 1fr)); gap: 12px; margin-top: 12px; }
.query-month-card { overflow: hidden; border: 1px solid #d5e1e8; border-radius: 6px; background: #fff; }
.query-month-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; background: #eef4f8; }
.query-month-card > header span { display: block; color: #6b7f8c; font-size: 10px; }
.query-month-card > header strong { display: block; margin-top: 3px; color: #17384d; font-size: 16px; }
.query-month-total { min-width: 88px; padding-left: 12px; border-left: 1px solid #c9d8e1; text-align: right; }
.query-month-total strong { color: #0b6fae !important; }
.query-source-block { padding: 12px 14px 13px; border-top: 1px solid #e1e8ec; }
.query-source-block.is-institution { border-left: 4px solid #4b84a5; background: #f7fafc; }
.query-source-block.is-personal { border-left: 4px solid #4d916e; background: #f7fbf8; }
.query-source-title { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.query-source-title strong { color: #17384d; font-size: 13px; }
.query-source-title span { color: #617783; font-size: 11px; font-weight: 700; }
.query-source-block dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 1px; margin-top: 9px; background: #dce5ea; }
.query-source-block dl div { min-height: 54px; padding: 8px 9px; background: #fff; }
.query-source-block dt { color: #6d7e89; font-size: 10px; }
.query-source-block dd { margin-top: 5px; color: #17384d; font-size: 14px; font-weight: 900; }
.query-breakdown-ledger { min-width: 1120px; }
.query-breakdown-ledger .institution-column { background: #f3f8fb; }
.query-breakdown-ledger th.institution-column { color: #245c7c; background: #e6f0f6; }
.query-breakdown-ledger .personal-column { background: #f3f8f4; }
.query-breakdown-ledger th.personal-column { color: #2f6951; background: #e7f2eb; }
.query-breakdown-ledger .total-column { background: #fff8e9; }
.query-breakdown-ledger th.total-column { color: #775718; background: #f6ebcf; }
.query-record-ledger { min-width: 820px; }
.query-ledger { min-width: 680px; }
.scope-tag, .account-status { display: inline-block; padding: 2px 6px; border: 1px solid #b8cad6; color: #2c5f7d; background: #f1f7fa; font-size: 10px; font-weight: 800; white-space: nowrap; }
.account-status.is-closed, .account-status.is-normal { border-color: #a8cabd; color: #25634d; background: #f0f8f4; }
.account-status.is-overdue { border-color: #dba8a1; color: #8e3c34; background: #fff1ef; }
.table-note { margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.query-validation-warning { margin: 12px 0; padding: 12px 14px; border-left: 4px solid #d89a1d; background: #fff8e8; color: #76520d; font-size: 13px; line-height: 1.6; }
.section-copy { margin-top: 8px; color: var(--muted); line-height: 1.65; }
.declared-information { padding: 16px; border-left: 3px solid var(--amber); background: #fffaf0; }
.declared-information .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.declared-fact-grid { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 1px; margin-top: 12px; background: #eadfca; border: 1px solid #eadfca; }
.declared-fact-grid div { min-height: 66px; padding: 10px 12px; background: #fff; }
.declared-fact-grid dt { color: var(--muted); font-size: 12px; }
.declared-fact-grid dd { margin-top: 6px; color: var(--text); font-weight: 700; }
.empty-inline { margin-top: 10px; padding: 12px 0; color: var(--muted); border-top: 1px solid var(--border); }
.analysis-rows { margin-top: 10px; border-top: 1px solid var(--border-strong); }
.analysis-row { padding: 13px 0; border-bottom: 1px solid var(--border); }
.analysis-row-title { display: flex; justify-content: space-between; gap: 12px; }
.analysis-row-title span { color: var(--blue); font-size: 12px; font-weight: 700; }
.analysis-facts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 8px; color: #485966; font-size: 12px; }
.analysis-row p { margin-top: 7px; color: #3e4e5a; line-height: 1.6; }
.analysis-row small { display: block; margin-top: 7px; color: var(--muted); }
.compact-row { padding: 10px 0; }
.pattern-group { margin-top: 18px; }
.pattern-group h3 { font-size: 13px; }
.detail-table-wrap { margin-top: 10px; overflow-x: auto; border: 1px solid var(--border); }
.detail-table { min-width: 680px; }
.detail-table th, .detail-table td { padding: 9px 10px; font-size: 12px; }
.cashflow-signal-list { margin-top: 8px; border-top: 1px solid var(--border); }
.cashflow-signal { padding: 10px 0; border-bottom: 1px solid var(--border); }
.cashflow-signal > div { display: flex; justify-content: space-between; gap: 12px; }
.cashflow-signal > div span, .cashflow-signal small { color: var(--muted); font-size: 11px; }
.cashflow-signal p { margin-top: 5px; color: #42545f; line-height: 1.55; }
.cashflow-signal.is-risk { border-left: 3px solid var(--red); padding-left: 10px; }
.cashflow-signal.is-notice { border-left: 3px solid var(--amber); padding-left: 10px; }
.finding-list { display: grid; gap: 10px; margin-top: 10px; }
.finding { padding: 12px 14px; border-left: 3px solid #8ba6ba; background: #f5f8fa; }
.finding.is-high { border-left-color: var(--red); background: var(--red-bg); }
.finding-title { display: flex; justify-content: space-between; gap: 12px; font-weight: 700; }
.finding p { margin-top: 6px; color: #485865; line-height: 1.6; }
.disclaimer { margin-top: 18px; padding: 10px 12px; background: var(--amber-bg); color: #694c00; line-height: 1.6; }
.case-state { margin-top: 12px; padding: 8px 10px; background: #f1f4f6; color: var(--muted); font-size: 12px; }
.case-state.is-saved { background: var(--green-bg); color: var(--green); }
.document-read-audit { margin-top: 16px; overflow: hidden; border: 1px solid #b9d0df; border-radius: 8px; background: #f8fbfd; }
.document-read-audit-header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 13px; align-items: center; padding: 15px 17px; border-bottom: 1px solid #d4e2ea; background: #eef6fb; }
.document-read-audit-header h2 { color: #15384e; font-size: 17px; }
.document-read-audit-header p { margin-top: 4px; color: #607785; font-size: 12px; line-height: 1.55; }
.document-read-step { min-width: 52px; padding: 7px 9px; border: 1px solid #73a7c8; border-radius: 5px; color: #0e6da8; background: #fff; font-size: 12px; font-weight: 900; text-align: center; }
.document-read-private { padding: 5px 8px; border-radius: 999px; color: #8a5c12; background: #fff1cf; font-size: 10px; font-weight: 800; white-space: nowrap; }
.document-read-summary { display: grid; grid-template-columns: repeat(4, minmax(100px, 1fr)); gap: 1px; border-bottom: 1px solid #d9e5ec; background: #d9e5ec; }
.document-read-summary span { padding: 10px 13px; color: #647986; background: #fff; font-size: 11px; }
.document-read-summary strong { margin-right: 4px; color: #173b52; font-size: 16px; }
.document-read-page-list { display: grid; gap: 8px; padding: 12px 14px; }
.document-read-page { overflow: hidden; border: 1px solid #d5e1e8; border-radius: 6px; background: #fff; }
.document-read-page > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 55px; padding: 10px 13px; cursor: pointer; list-style: none; }
.document-read-page > summary::-webkit-details-marker { display: none; }
.document-read-page > summary span:first-child { min-width: 0; display: grid; gap: 3px; }
.document-read-page > summary strong { overflow: hidden; color: #1b3b50; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.document-read-page > summary small { color: #71848f; font-size: 10px; }
.document-read-page-method { flex: 0 0 auto; padding: 5px 8px; border-radius: 4px; color: #176c9d; background: #e8f4fb; font-size: 10px; font-weight: 800; }
.document-read-page[open] > summary { border-bottom: 1px solid #dce6ec; background: #fbfdfe; }
.document-read-page-body { padding: 13px; }
.document-read-meta { display: grid; grid-template-columns: repeat(5, minmax(110px, 1fr)); gap: 1px; margin-bottom: 10px; border: 1px solid #dde6eb; background: #dde6eb; }
.document-read-meta > div { padding: 8px 10px; background: #f8fafb; }
.document-read-meta dt { color: #778994; font-size: 10px; }
.document-read-meta dd { margin-top: 4px; color: #24465a; font-size: 11px; font-weight: 700; }
.document-read-raw-text { max-height: 520px; margin: 0; overflow: auto; padding: 14px; border: 1px solid #dbe3e8; border-radius: 5px; color: #243943; background: #f5f7f8; font-family: "Cascadia Mono", "Microsoft YaHei UI", monospace; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; tab-size: 4; white-space: pre-wrap; word-break: break-word; }
.document-read-no-text, .document-read-empty { margin: 12px 14px; padding: 14px; border: 1px dashed #c7d5dd; color: #6e7f89; background: #fff; font-size: 12px; line-height: 1.6; text-align: center; }
.document-read-boundary { margin: 0; padding: 10px 15px; border-top: 1px solid #d9e5ec; color: #687b87; background: #fffaf0; font-size: 11px; line-height: 1.6; }
.document-read-boundary strong { color: #8a5b16; }

.section-heading p { margin-top: 6px; color: var(--muted); line-height: 1.55; }
.match-controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, 1fr));
  gap: 12px;
  margin: 14px 0;
}
.match-controls label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 700; }
.match-controls select, .match-controls input {
  width: 100%;
  min-height: 38px;
  padding: 7px 9px;
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  background: #fff;
  color: var(--text);
}
.match-result { margin-top: 16px; border-top: 1px solid var(--border-strong); }
.match-summary { padding: 14px 0; }
.match-summary strong, .match-summary span { display: block; }
.match-summary span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.match-summary p { margin-top: 8px; line-height: 1.6; }
.historical-result-warning, .diagnosis-only-summary { padding: 16px; border-left: 3px solid var(--red); background: var(--red-bg); }
.bank-perspective { margin: 4px 0 16px; padding: 14px 16px; border-left: 3px solid var(--blue); background: #f2f7fb; }
.bank-perspective.is-blocked { border-left-color: var(--red); background: var(--red-bg); }
.bank-perspective h3 { font-size: 14px; }
.bank-perspective p { margin-top: 6px; color: #344755; line-height: 1.65; }
.match-item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  padding: 20px 0;
  border-top: 1px solid var(--border);
}
.match-rank { color: var(--blue); font-size: 20px; font-weight: 800; }
.match-title { display: flex; justify-content: space-between; gap: 12px; }
.match-title strong, .match-title span { display: block; }
.match-title div > span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.match-facts { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 9px; color: #4d5d69; font-size: 12px; }
.match-body > p { margin-top: 10px; color: #344755; line-height: 1.65; }
.match-body > p.ai-assessment { padding: 10px 12px; border-left: 3px solid #7aaed2; background: #f5f9fc; }
.match-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 12px; }
.match-columns h3, .match-missing h3, .match-action-plan h3 { font-size: 13px; }
.match-columns ul, .match-missing ul, .match-action-plan ul, .excluded-products ul { margin: 6px 0 0; padding-left: 18px; line-height: 1.65; }
.source-link { display: inline-block; margin-top: 10px; color: var(--blue); font-size: 12px; font-weight: 700; }
.excluded-products, .match-missing, .match-action-plan { padding: 14px 0; border-top: 1px solid var(--border); }
.excluded-products summary { cursor: pointer; color: #5c6872; font-weight: 700; }
.match-empty { padding: 16px 0; color: var(--muted); }
.bank-barriers { margin-top: 10px; padding-top: 10px; border-top: 1px solid #cbdbe7; }
.bank-barriers ul, .product-blockers ul { margin: 6px 0 0; padding-left: 18px; line-height: 1.65; }
.requirement-review, .reconsideration-section, .product-blockers { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); }
.requirement-review h3, .reconsideration-section h3, .product-blockers h3 { margin: 0 0 10px; font-size: 13px; }
.requirement-list, .reconsideration-list { display: grid; gap: 0; border-top: 1px solid var(--border); }
.requirement-row, .reconsideration-row { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.requirement-row strong, .reconsideration-row strong { display: block; font-size: 13px; }
.requirement-row p, .reconsideration-row p { margin: 4px 0 0; color: #465965; line-height: 1.55; }
.requirement-row small, .reconsideration-row small { display: block; margin-top: 5px; color: var(--muted); line-height: 1.5; }
.requirement-status { align-self: start; display: inline-flex; justify-content: center; min-height: 28px; padding: 5px 8px; border: 1px solid var(--border-strong); background: #f3f6f8; color: #3f505d; font-size: 12px; font-weight: 800; }
.requirement-status.status-met { border-color: #8cc8ad; background: #edf8f2; color: #176540; }
.requirement-status.status-not_met { border-color: #e7aaa5; background: var(--red-bg); color: var(--red); }
.requirement-status.status-risk { border-color: #e1c27f; background: var(--amber-bg); color: var(--amber); }
.reconsideration-row { grid-template-columns: 34px minmax(0, 1fr); }
.reconsideration-row > span { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid var(--blue); border-radius: 50%; color: var(--blue); font-weight: 800; }

.knowledge-grid { border-top: 1px solid var(--border-strong); }
.knowledge-band {
  min-height: 112px;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 20px 4px;
  border-bottom: 1px solid var(--border);
}
.knowledge-index { color: var(--blue); font-size: 12px; font-weight: 700; }
.knowledge-band h2 { margin-bottom: 7px; }
.knowledge-band p { max-width: 760px; color: var(--muted); line-height: 1.65; }
.knowledge-band > strong { min-width: 84px; color: var(--navy); font-size: 22px; text-align: right; }
.knowledge-policy { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--border-strong); }
.knowledge-policy dl { display: grid; grid-template-columns: 150px minmax(0, 1fr); margin: 14px 0 0; }
.knowledge-policy dt, .knowledge-policy dd { margin: 0; padding: 11px 12px; border-bottom: 1px solid #e4e8ec; line-height: 1.55; }
.knowledge-policy dt { color: var(--muted); font-weight: 700; }

.review-workbench {
  margin-top: 30px;
  border: 1px solid #cbd8e3;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

.review-workbench-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px;
  border-bottom: 1px solid #dce5ec;
  background: #f4f8fb;
}

.review-workbench-heading span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

.review-workbench-heading h2 {
  margin: 5px 0 7px;
  color: var(--navy);
  font-size: 22px;
}

.review-workbench-heading p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.review-queue-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #dce5ec;
}

.review-queue-summary article {
  min-width: 0;
  padding: 18px 22px;
  border-right: 1px solid #dce5ec;
}

.review-queue-summary article:last-child { border-right: 0; }
.review-queue-summary span,
.review-queue-summary small { display: block; color: var(--muted); }
.review-queue-summary strong { display: block; margin: 7px 0 4px; color: var(--navy); font-size: 27px; }
.review-queue-summary .is-pending strong { color: #a24120; }
.review-queue-summary .is-approved strong { color: #17734d; }
.review-queue-summary .is-evaluation strong { color: var(--blue); }

.review-queue-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr)) auto;
  gap: 12px;
  align-items: end;
  padding: 18px 22px;
  border-bottom: 1px solid #dce5ec;
}

.review-queue-filters label,
.review-sample-form label {
  display: grid;
  gap: 7px;
  color: #36536b;
  font-size: 13px;
  font-weight: 700;
}

.review-queue-filters select,
.review-sample-form select,
.review-sample-form input,
.review-sample-form textarea {
  width: 100%;
  border: 1px solid #bfcfdd;
  border-radius: 8px;
  background: #fff;
  color: var(--navy);
  font: inherit;
}

.review-queue-filters select,
.review-sample-form select,
.review-sample-form input { min-height: 42px; padding: 8px 10px; }
.review-sample-form textarea { padding: 10px 12px; line-height: 1.55; resize: vertical; }

.review-queue-list { min-height: 120px; }
.review-queue-table { min-width: 980px; }

.review-queue-row {
  display: grid;
  grid-template-columns: 155px 150px minmax(230px, 1.3fr) minmax(190px, 1fr) 160px 90px;
  align-items: center;
  border-bottom: 1px solid #e0e7ed;
}

.review-queue-row > span {
  min-width: 0;
  padding: 15px 13px;
}

.review-queue-row > span strong,
.review-queue-row > span small { display: block; }
.review-queue-row > span strong { overflow-wrap: anywhere; color: var(--navy); }
.review-queue-row > span small { margin-top: 5px; color: var(--muted); line-height: 1.4; }

.review-queue-row.is-header {
  min-height: 42px;
  color: #486276;
  background: #edf3f7;
  font-size: 13px;
  font-weight: 800;
}

.review-queue-row.is-header > span { padding-block: 11px; }

.review-status {
  display: inline-block;
  width: fit-content;
  padding: 5px 8px;
  border-radius: 6px;
  color: #41586b;
  background: #edf2f5;
  font-size: 12px;
}

.review-status.is-review_required { color: #a24120; background: #fff0e8; }
.review-status.is-approved { color: #176a49; background: #eaf7f0; }
.review-status.is-rejected { color: #667681; background: #eef1f3; }
.review-select-status { display: flex; align-items: flex-start; gap: 9px; }
.review-select-status input { width: 17px; height: 17px; margin: 3px 0 0; accent-color: var(--blue); }
.review-select-status > span { min-width: 0; }
.review-queue-open { min-width: 70px; padding-inline: 10px; }

.review-queue-empty {
  display: grid;
  min-height: 120px;
  place-items: center;
  padding: 26px;
  color: var(--muted);
}

.review-queue-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 15px 22px;
  background: #f8fafb;
}

.review-queue-pagination span { min-width: 150px; color: var(--muted); text-align: center; }

.review-sample-dialog {
  width: min(1120px, calc(100vw - 36px));
  max-height: calc(100vh - 36px);
  padding: 0;
  border: 0;
  border-radius: 16px;
  color: var(--navy);
  box-shadow: 0 24px 70px rgba(14, 38, 61, .26);
}

.review-sample-dialog::backdrop { background: rgba(13, 35, 54, .48); }

.review-sample-dialog-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 24px;
  border-bottom: 1px solid #d6e0e8;
  background: #f3f7fa;
}

.review-sample-dialog-heading span { color: var(--blue); font-size: 12px; font-weight: 800; }
.review-sample-dialog-heading h2 { margin: 4px 0 5px; font-size: 22px; }
.review-sample-dialog-heading p { margin: 0; color: var(--muted); }

.review-sample-dialog-body {
  max-height: calc(100vh - 150px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 22px 24px 26px;
}

.review-sample-preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.review-sample-preview article {
  min-width: 0;
  border: 1px solid #d4dfe7;
  border-radius: 10px;
  overflow: hidden;
}

.review-sample-preview h3 {
  margin: 0;
  padding: 11px 13px;
  border-bottom: 1px solid #d4dfe7;
  background: #edf3f7;
  font-size: 14px;
}

.review-sample-preview pre {
  min-height: 150px;
  max-height: 260px;
  margin: 0;
  overflow: auto;
  padding: 13px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: #29475e;
  background: #fbfcfd;
  font-family: "Cascadia Mono", Consolas, monospace;
  font-size: 12px;
  line-height: 1.55;
}

.review-sample-form {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #d8e2e9;
}

.review-sample-warning {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid #d18b1d;
  color: #765013;
  background: #fff8e9;
  line-height: 1.55;
}

.review-sample-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.review-attestation { grid-template-columns: auto 1fr !important; align-items: start; font-weight: 500 !important; }
.review-attestation input { width: 18px; min-height: 18px; margin-top: 1px; }
.review-sample-actions { display: flex; justify-content: flex-end; gap: 10px; }
.button-danger { border-color: #c9493c; color: #a92f25; background: #fff; }
.button-danger:hover { background: #fff1ef; }
.review-sample-readonly { margin-top: 18px; padding: 14px; border-radius: 8px; color: #526877; background: #edf3f6; }

.evaluation-workbench {
  margin-top: 24px;
  overflow: hidden;
  border: 1px solid #cbd8e3;
  border-radius: 16px;
  background: #fff;
}

.evaluation-dataset-layout {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  min-height: 360px;
}

.evaluation-dataset-form {
  display: grid;
  align-content: start;
  gap: 15px;
  padding: 22px;
  border-right: 1px solid #dce5ec;
  background: #fbfcfd;
}

.evaluation-dataset-form label,
.evaluation-dataset-toolbar label {
  display: grid;
  gap: 7px;
  color: #36536b;
  font-size: 13px;
  font-weight: 700;
}

.evaluation-dataset-form input,
.evaluation-dataset-form textarea,
.evaluation-dataset-toolbar select {
  width: 100%;
  border: 1px solid #bfcfdd;
  border-radius: 8px;
  background: #fff;
  color: var(--navy);
  font: inherit;
}

.evaluation-dataset-form input,
.evaluation-dataset-toolbar select { min-height: 42px; padding: 8px 10px; }
.evaluation-dataset-form textarea { padding: 10px 12px; line-height: 1.55; resize: vertical; }

.evaluation-selection-count {
  padding: 15px;
  border: 1px solid #c8dceb;
  border-radius: 10px;
  background: #eef7fc;
}

.evaluation-selection-count span,
.evaluation-selection-count small { display: block; color: var(--muted); }
.evaluation-selection-count strong { display: block; margin: 5px 0; color: var(--blue); font-size: 25px; }
.evaluation-gate-note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }

.evaluation-dataset-catalog { min-width: 0; }
.evaluation-dataset-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 20px;
  border-bottom: 1px solid #dce5ec;
}

.evaluation-dataset-toolbar label { width: min(230px, 100%); }
.evaluation-dataset-toolbar > div { color: var(--muted); font-weight: 700; }
.evaluation-dataset-list { min-height: 190px; }

.evaluation-dataset-item {
  display: grid;
  grid-template-columns: minmax(190px, 1.2fr) minmax(180px, 1fr) minmax(220px, 1.5fr) 110px;
  align-items: center;
  border-bottom: 1px solid #e0e7ed;
}

.evaluation-dataset-item > div { min-width: 0; padding: 16px 14px; }
.evaluation-dataset-item strong,
.evaluation-dataset-item span,
.evaluation-dataset-item small { display: block; }
.evaluation-dataset-item strong { overflow-wrap: anywhere; color: var(--navy); }
.evaluation-dataset-item span { margin-top: 5px; color: #45647a; }
.evaluation-dataset-item small { margin-top: 4px; color: var(--muted); line-height: 1.45; }
.evaluation-dataset-item .button { min-width: 88px; padding-inline: 10px; }
.evaluation-status { display: inline-block !important; width: fit-content; margin: 0 0 5px !important; padding: 5px 8px; border-radius: 6px; font-size: 12px; font-weight: 800; }
.evaluation-status.is-draft { color: #9b5d0a; background: #fff3dc; }
.evaluation-status.is-locked { color: #176a49; background: #eaf7f0; }

.status-grid { display: grid; grid-template-columns: 190px minmax(0, 1fr); background: var(--surface); border: 1px solid var(--border); }
.status-grid dt, .status-grid dd { margin: 0; padding: 13px 14px; border-bottom: 1px solid #e4e8ec; overflow-wrap: anywhere; }
.status-grid dt { background: #f1f4f6; color: #5c6a76; font-weight: 700; }

.ai-usage-section {
  margin-top: 24px;
  overflow: hidden;
  border: 1px solid #c7d8e4;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(21, 54, 79, .06);
}

.ai-usage-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-bottom: 1px solid #d6e2e9;
  background: linear-gradient(135deg, #eef7fd, #f7fafc);
}

.ai-usage-heading span {
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
}

.ai-usage-heading h2 { margin: 4px 0 0; color: var(--navy); font-size: 22px; }
.ai-usage-heading p { margin: 5px 0 0; color: #617482; font-size: 12px; line-height: 1.6; }
.ai-usage-heading > strong {
  flex: 0 0 auto;
  padding: 6px 10px;
  border: 1px solid #e3bd64;
  border-radius: 4px;
  background: #fff8df;
  color: #835900;
  font-size: 12px;
}

.ai-usage-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #dce5eb;
}

.ai-usage-summary article {
  min-width: 0;
  min-height: 108px;
  padding: 17px 18px;
  border-right: 1px solid #dce5eb;
  background: #fff;
}

.ai-usage-summary article:last-child { border-right: 0; }
.ai-usage-summary article.is-primary { box-shadow: inset 4px 0 0 #3188c8; }
.ai-usage-summary article.is-cost { box-shadow: inset 4px 0 0 #d29a28; background: #fffdf7; }
.ai-usage-summary article.is-error { box-shadow: inset 4px 0 0 #c94b41; background: #fff8f7; }
.ai-usage-summary article.is-review { box-shadow: inset 4px 0 0 #d29a28; }
.ai-usage-summary span,
.ai-usage-summary small { display: block; color: #617482; overflow-wrap: anywhere; }
.ai-usage-summary span { font-size: 12px; font-weight: 700; }
.ai-usage-summary strong {
  display: block;
  margin: 9px 0 5px;
  color: #123951;
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.ai-usage-summary small { font-size: 11px; line-height: 1.5; }

.ai-usage-recent-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 20px 12px;
}

.ai-usage-recent-heading h3 { margin: 0; color: var(--navy); font-size: 18px; }
.ai-usage-recent-heading p { margin: 4px 0 0; color: #667985; font-size: 11px; }
.ai-usage-recent-heading > span { color: #526b7c; font-size: 12px; font-weight: 700; text-align: right; }

.ai-usage-recent { border-top: 1px solid #dce5eb; }
.ai-usage-call {
  display: grid;
  grid-template-columns: minmax(180px, 1.3fr) minmax(170px, 1.2fr) minmax(145px, .85fr)
    minmax(120px, .7fr) minmax(110px, .65fr) minmax(105px, .55fr);
  align-items: center;
  min-width: 0;
  border-bottom: 1px solid #e1e8ed;
}
.ai-usage-call:last-child { border-bottom: 0; }
.ai-usage-call > div {
  min-width: 0;
  min-height: 82px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 12px 14px;
  border-right: 1px solid #e1e8ed;
}
.ai-usage-call > div:last-child { border-right: 0; }
.ai-usage-call > div > span,
.ai-usage-call > div > small { color: #687c89; font-size: 10px; overflow-wrap: anywhere; }
.ai-usage-call > div > strong {
  color: #173b52;
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.ai-usage-call-main > span { color: var(--blue) !important; font-weight: 800; }
.ai-usage-call-status { justify-items: start; }
.ai-usage-call-status > span {
  padding: 4px 8px;
  border-radius: 3px;
  font-size: 11px !important;
  font-weight: 800;
}
.ai-usage-call-status > span.is-success { color: #176540; background: #eaf6ef; }
.ai-usage-call-status > span.is-failed { color: #a3332b; background: #fff0ee; }
.ai-usage-empty { padding: 28px 20px; color: #70818d; text-align: center; }
.ai-usage-notice {
  margin: 0;
  padding: 12px 20px;
  border-top: 1px solid #dce5eb;
  background: #f7fafb;
  color: #667985;
  font-size: 11px;
  line-height: 1.6;
}

@media (max-width: 1200px) {
  .ai-usage-call { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ai-usage-call > div:nth-child(3n) { border-right: 0; }
  .ai-usage-call > div:nth-child(-n + 3) { border-bottom: 1px solid #e1e8ed; }
}

@media (max-width: 760px) {
  .ai-usage-heading,
  .ai-usage-recent-heading { display: grid; align-items: start; }
  .ai-usage-heading > strong,
  .ai-usage-recent-heading > span { justify-self: start; text-align: left; }
  .ai-usage-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-usage-summary article:nth-child(2n) { border-right: 0; }
  .ai-usage-summary article:nth-child(-n + 2) { border-bottom: 1px solid #dce5eb; }
}

@media (max-width: 520px) {
  .ai-usage-summary { grid-template-columns: 1fr; }
  .ai-usage-summary article,
  .ai-usage-summary article:nth-child(2n) { border-right: 0; border-bottom: 1px solid #dce5eb; }
  .ai-usage-summary article:last-child { border-bottom: 0; }
  .ai-usage-call { grid-template-columns: 1fr; }
  .ai-usage-call > div,
  .ai-usage-call > div:nth-child(3n),
  .ai-usage-call > div:nth-child(-n + 3) {
    min-height: 58px;
    border-right: 0;
    border-bottom: 1px solid #e1e8ed;
  }
  .ai-usage-call > div:last-child { border-bottom: 0; }
}

.release-block { margin-top: 24px; padding: 18px 0; border-top: 1px solid var(--border); }
.release-block ul { margin: 12px 0 0; padding-left: 20px; line-height: 1.8; color: #4c5a66; }

.personal-page-heading { align-items: center; }
.personal-stage-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 20px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
  list-style: none;
}
.personal-stage-strip li {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border-bottom: 3px solid transparent;
  color: #71808c;
}
.personal-stage-strip span {
  width: 27px;
  height: 27px;
  display: grid;
  flex: 0 0 27px;
  place-items: center;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  background: #fff;
  font-weight: 800;
}
.personal-stage-strip li.is-current { border-bottom-color: var(--blue); color: var(--blue); }
.personal-stage-strip li.is-current span { border-color: var(--blue); background: var(--blue); color: #fff; }
.personal-stage-strip li.is-complete { color: var(--green); }
.personal-stage-strip li.is-complete span { border-color: var(--green); background: var(--green-bg); }

.personal-section {
  margin-top: 18px;
  padding: 22px 24px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
}
.personal-section-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.personal-section-heading p { margin-top: 5px; color: var(--muted); }
.personal-case-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.personal-extraction-note {
  border-left: 3px solid var(--blue);
  background: #f5f9fc;
  padding: 16px 18px;
}
.personal-extraction-note strong {
  display: block;
  margin-bottom: 8px;
  color: var(--text);
}
.personal-extraction-note ul {
  margin: 0;
  padding-left: 20px;
  color: #425361;
  line-height: 1.8;
}
.personal-extraction-note p {
  margin: 10px 0 0;
  color: var(--muted);
}
.personal-case-form label:not(.consent-row) { display: grid; gap: 7px; color: #425361; font-weight: 700; }
.personal-case-form input:not([type="checkbox"]), .personal-case-form textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  background: #fff;
  color: var(--text);
  resize: vertical;
}
.personal-context-field { grid-column: 1 / -1; }
.personal-consent-row { grid-column: 1 / -1; border-top: 1px solid var(--border); padding-top: 14px; }
.personal-consent-row input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-height: 16px;
  margin: 3px 0 0;
  flex: 0 0 16px;
  accent-color: var(--blue);
}
.personal-form-action { grid-column: 1 / -1; }
.personal-workspace { min-width: 0; }
.personal-case-bar {
  border: 1px solid var(--border);
  border-left: 4px solid var(--blue);
  background: #f8fafb;
}
.personal-case-bar dl { display: grid; grid-template-columns: 1.4fr 1fr 1fr; margin: 0; }
.personal-case-bar dl > div { min-width: 0; padding: 13px 16px; border-right: 1px solid var(--border); }
.personal-case-bar dl > div:last-child { border-right: 0; }
.personal-case-bar dt { color: var(--muted); font-size: 12px; }
.personal-case-bar dd { margin: 3px 0 0; overflow-wrap: anywhere; font-weight: 800; }
.personal-upload-row { display: grid; grid-template-columns: minmax(240px, 1fr) auto auto; gap: 10px; align-items: center; }
.personal-file-picker {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 5px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  background: #fff;
}
.personal-file-picker input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.personal-file-picker label { flex: 0 0 auto; cursor: pointer; }
.personal-file-picker span { min-width: 0; color: var(--muted); font-size: 13px; }
.personal-pending-files {
  margin-top: 14px;
  border: 1px solid #b9d4e7;
  border-left: 4px solid var(--blue);
  background: #f4f9fc;
}
.personal-pending-files::before {
  content: "待上传资料";
  display: block;
  padding: 11px 12px 7px;
  font-weight: 800;
}
.personal-pending-files > div {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border-top: 1px solid #d6e5ef;
}
.personal-pending-files > div > span { color: var(--blue); font-weight: 800; }
.personal-pending-files small { color: var(--muted); }
.personal-pending-files button {
  border: 0;
  background: transparent;
  color: #a52a20;
  cursor: pointer;
}
.personal-document-list { display: grid; gap: 0; margin-top: 16px; border-top: 1px solid var(--border); }
.personal-document-list > div { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 10px; padding: 11px 4px; border-bottom: 1px solid var(--border); align-items: center; }
.personal-document-list > div > span { color: var(--blue); font-weight: 800; }
.personal-document-list small { color: var(--muted); }
.personal-job-progress { margin-top: 18px; }
.personal-job-progress > div { display: flex; justify-content: space-between; margin-bottom: 7px; }
.personal-job-progress progress { width: 100%; height: 9px; accent-color: var(--blue); }
.personal-report-shell { padding: 0; overflow: hidden; }
.personal-report-heading {
  margin: 0;
  padding: 20px 24px;
  align-items: center;
  border-bottom: 1px solid var(--border);
}
.personal-report-heading > div { min-width: 0; }
.personal-report-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.personal-report-version,
.personal-report-status {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 2px 8px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  background: var(--surface-soft);
  color: #425361;
  font-size: 12px;
  font-weight: 800;
}
.personal-report-status { border-color: #8cc8ad; background: var(--green-bg); color: var(--green); }
.personal-report-status.is-stale { border-color: #e1c27f; background: var(--amber-bg); color: var(--amber); }
.personal-report-tabs {
  display: flex;
  min-width: 0;
  overflow-x: auto;
  border-bottom: 1px solid var(--border);
  background: #f4f7f9;
  scrollbar-width: thin;
}
.personal-report-tabs button {
  display: flex;
  flex: 1 0 188px;
  align-items: center;
  gap: 10px;
  min-width: 188px;
  min-height: 70px;
  padding: 10px 14px;
  border: 0;
  border-right: 1px solid var(--border);
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #536572;
  cursor: pointer;
  text-align: left;
}
.personal-report-tabs button:hover { background: #eef4f8; color: var(--blue); }
.personal-report-tabs button.is-active { border-bottom-color: var(--blue); background: #fff; color: var(--blue); }
.personal-tab-index {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border: 1px solid #b6c5cf;
  border-radius: 4px;
  background: #fff;
  color: #60727f;
  font-size: 11px;
  font-weight: 800;
}
.personal-report-tabs button.is-active .personal-tab-index { border-color: var(--blue); background: var(--blue); color: #fff; }
.personal-tab-copy { display: grid; min-width: 0; gap: 2px; }
.personal-tab-copy strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.personal-tab-copy small { overflow: hidden; color: #71818c; font-size: 11px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.personal-report-tabs button.is-active small { color: #3e728f; }
.personal-report-content { min-height: 380px; padding: 26px 28px 34px; }
.personal-stale-banner {
  margin-bottom: 18px;
  padding: 12px 14px;
  border-left: 3px solid var(--amber);
  background: var(--amber-bg);
  color: #72510b;
}
.personal-request-summary {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  align-items: center;
  min-height: 66px;
  border: 1px solid var(--border);
  border-left: 5px solid var(--blue);
  background: #f8fbfd;
}
.personal-request-summary span { padding: 14px 16px; color: var(--muted); font-weight: 700; }
.personal-request-summary strong { padding: 14px 18px; border-left: 1px solid var(--border); font-size: 16px; }
.personal-processing-boundary {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto minmax(210px, 1.35fr) auto minmax(150px, 1fr);
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  padding: 15px 17px;
  border: 1px solid #b9ccd8;
  border-left: 5px solid var(--blue);
  background: #f5fafc;
}
.personal-processing-boundary strong,
.personal-processing-boundary small { grid-column: 1 / -1; }
.personal-processing-boundary strong { color: var(--navy); font-size: 13px; }
.personal-processing-boundary span {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #d2dfe6;
  background: #fff;
  color: #29495b;
  font-size: 12px;
  font-weight: 750;
  text-align: center;
}
.personal-processing-boundary i { color: var(--blue); font-style: normal; font-weight: 900; }
.personal-processing-boundary small { color: #5f717d; line-height: 1.55; }
.personal-overview-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--navy);
}
.personal-overview-intro span,
.personal-summary-section-heading span,
.personal-module-heading > div > span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
}
.personal-overview-intro h2 { margin: 5px 0 6px; font-size: 24px; }
.personal-overview-intro p { margin: 0; color: var(--muted); }
.personal-overview-intro > strong {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid #a8bdca;
  border-radius: 4px;
  color: #365466;
  font-size: 12px;
}
.personal-overview-status {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 16px;
  border: 1px solid var(--border);
  border-top: 3px solid var(--navy);
  background: #fff;
}
.personal-overview-status > div {
  min-width: 0;
  padding: 14px 16px 15px;
  border-right: 1px solid var(--border);
}
.personal-overview-status > div:last-child { border-right: 0; }
.personal-overview-status span,
.personal-overview-status small { display: block; }
.personal-overview-status span { color: var(--muted); font-size: 11px; font-weight: 700; }
.personal-overview-status strong { display: block; margin-top: 3px; color: var(--navy); font-size: 24px; line-height: 1.15; }
.personal-overview-status small { margin-top: 4px; color: #617480; font-size: 11px; line-height: 1.4; }
.personal-plain-conclusion {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  align-items: stretch;
  margin-top: 16px;
  border: 1px solid #aebfca;
  border-left: 5px solid var(--navy);
  background: #fff;
}
.personal-conclusion-heading {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 22px 20px;
  border-right: 1px solid #c7d3db;
  background: #eef4f7;
}
.personal-conclusion-heading > span { color: var(--blue); font-size: 12px; font-weight: 800; }
.personal-conclusion-heading > strong { color: var(--navy); font-size: 18px; }
.personal-conclusion-heading > small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.personal-conclusion-list { display: grid; min-width: 0; }
.personal-conclusion-list article {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  padding: 15px 20px;
  border-bottom: 1px solid var(--border);
}
.personal-conclusion-list article:last-child { border-bottom: 0; }
.personal-conclusion-list article > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid #9bb2c0;
  border-radius: 4px;
  color: #31576e;
  font-size: 11px;
  font-weight: 800;
}
.personal-conclusion-list p { margin: 2px 0 0; color: #263d4b; font-size: 15px; line-height: 1.7; }
.personal-summary-metrics,
.personal-module-guide { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--border-strong); }
.personal-summary-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 12px; }
.personal-summary-section-heading h3 { margin: 4px 0 0; font-size: 18px; }
.personal-summary-section-heading p { margin: 0; color: var(--muted); font-size: 12px; text-align: right; }
.personal-summary-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--border);
  border-top: 3px solid var(--navy);
}
.personal-summary-fact { position: relative; min-width: 0; min-height: 108px; padding: 15px 16px 17px; border-right: 1px solid var(--border); background: #fff; }
.personal-summary-fact::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: #7d96a5; content: ""; }
.personal-summary-fact.is-credit::before { background: #bd4a42; }
.personal-summary-fact.is-cashflow::before { background: #16815f; }
.personal-summary-fact.is-asset::before { background: #b47712; }
.personal-summary-fact.is-support::before { background: var(--blue); }
.personal-summary-facts > div:nth-child(4n) { border-right: 0; }
.personal-summary-facts > div:nth-child(n+5) { border-top: 1px solid var(--border); }
.personal-summary-fact-group {
  display: inline-flex;
  width: fit-content;
  padding: 3px 7px;
  border: 1px solid #c7d3da;
  border-radius: 3px;
  background: #f5f8fa;
  color: #4e6370;
  font-size: 10px;
  font-weight: 800;
}
.personal-summary-fact small { display: block; margin-top: 10px; color: var(--muted); font-size: 12px; }
.personal-summary-fact strong { display: block; margin-top: 5px; overflow-wrap: anywhere; color: var(--navy); font-size: 20px; line-height: 1.25; }
.personal-summary-fact.is-credit strong { color: #8f2f2a; }
.personal-summary-fact.is-cashflow strong { color: #17654d; }
.personal-summary-fact.is-asset strong { color: #80540c; }
.personal-summary-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.personal-summary-list { min-width: 0; border: 1px solid var(--border); border-top: 4px solid var(--border-strong); background: #fff; }
.personal-summary-list.is-strength { border-top-color: var(--green); }
.personal-summary-list.is-risk { border-top-color: var(--amber); }
.personal-summary-list > div { padding: 15px 17px 12px; border-bottom: 1px solid var(--border); background: #f8fafb; }
.personal-summary-list h3 { margin: 0; font-size: 17px; }
.personal-summary-list > div p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.personal-summary-list ol { margin: 0; padding: 15px 22px 17px 40px; color: #334754; }
.personal-summary-list li + li { margin-top: 8px; }
.personal-module-links { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--border); border-top: 3px solid var(--navy); }
.personal-module-link {
  display: grid;
  min-width: 0;
  min-height: 116px;
  align-content: start;
  gap: 5px;
  padding: 16px;
  border: 0;
  border-right: 1px solid var(--border);
  background: #fff;
  color: var(--navy);
  cursor: pointer;
  text-align: left;
}
.personal-module-link:last-child { border-right: 0; }
.personal-module-link:hover { background: #eef5f9; }
.personal-module-link span { color: var(--blue); font-weight: 800; }
.personal-module-link strong { font-size: 12px; }
.personal-module-link small { color: var(--muted); line-height: 1.45; }
.personal-confirmation-section,
.personal-report-next-step,
.personal-report-section { margin-top: 24px; border-top: 1px solid var(--border); padding-top: 20px; }
.personal-confirmation-section > summary { cursor: pointer; color: var(--blue); font-weight: 800; }
.personal-report-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.personal-report-section-title h3 { margin: 0; font-size: 18px; }
.personal-report-section-title p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.personal-report-section-title > span { flex: 0 0 auto; padding: 4px 8px; border: 1px solid var(--border); border-radius: 3px; color: var(--muted); font-size: 11px; font-weight: 700; }
.personal-confirmation-section > p,
.personal-report-next-step p,
.personal-module-heading p { margin: 5px 0 0; color: var(--muted); }
.personal-confirmation-list { margin-top: 14px; border: 1px solid var(--border); }
.personal-confirmation-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
}
.personal-confirmation-list article:last-child { border-bottom: 0; }
.personal-confirmation-list p { margin: 3px 0; }
.personal-confirmation-list small { color: var(--muted); }
.personal-report-next-step {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  align-items: center;
  padding: 0;
  border: 1px solid var(--border);
  border-left: 4px solid var(--navy);
  background: #f5f8fa;
}
.personal-report-next-step > span { align-self: stretch; display: grid; place-items: center; padding: 16px; border-right: 1px solid var(--border); color: var(--navy); font-weight: 800; }
.personal-report-next-step > div { padding: 17px 20px; }
.personal-report-next-step h3 { margin: 0; font-size: 16px; }
.personal-module-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 18px; border-bottom: 2px solid var(--navy); }
.personal-module-heading h2 { margin: 4px 0 0; font-size: 24px; }
.personal-module-heading > strong { flex: 0 0 auto; color: #536572; font-size: 12px; }
.personal-report-items { border: 1px solid var(--border); }
.personal-report-item { padding: 16px 18px; border-bottom: 1px solid var(--border); background: #fff; }
.personal-report-item:last-child { border-bottom: 0; }
.personal-report-item.needs-confirmation { border-left: 4px solid var(--amber); background: #fffdf7; }
.personal-report-item-header { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.personal-report-item-header h4 { margin: 0; font-size: 16px; }
.personal-report-item-header span {
  display: inline-block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}
.personal-report-item-header > small { flex: 0 0 auto; color: var(--blue); font-weight: 700; }
.personal-report-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 14px 0 0;
  border-top: 1px solid #e8edf1;
  border-left: 1px solid #e8edf1;
}
.personal-report-fields > div { min-width: 0; padding: 10px 12px; border-right: 1px solid #e8edf1; border-bottom: 1px solid #e8edf1; }
.personal-report-fields dt { color: var(--muted); font-size: 12px; }
.personal-report-fields dd { margin: 4px 0 0; overflow-wrap: anywhere; font-weight: 700; }
.personal-item-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 13px; }
.personal-item-actions .button { min-height: 34px; padding: 0 12px; font-size: 12px; }
.button-quiet { border-color: transparent; background: transparent; color: var(--blue); }
.button-quiet:hover:not(:disabled) { background: #eaf3fa; }
.personal-evidence-backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(15, 31, 43, .34);
}
.personal-evidence-drawer {
  position: fixed;
  z-index: 80;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(520px, 100vw);
  overflow-y: auto;
  background: #fff;
  box-shadow: -12px 0 36px rgba(21, 54, 79, .18);
}
.personal-evidence-drawer header {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 72px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
  background: #fff;
}
.personal-evidence-drawer header h2 { margin: 0; font-size: 19px; }
.personal-evidence-content { padding: 4px 20px 32px; }
.personal-evidence-content > section { padding: 18px 0; border-bottom: 1px solid var(--border); }
.personal-evidence-content > section:last-child { border-bottom: 0; }
.personal-evidence-content h3 { margin: 0 0 12px; font-size: 15px; }
.personal-evidence-fact-meta dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  border: 1px solid var(--border);
  background: #f7fafc;
}
.personal-evidence-fact-meta dl > div { padding: 10px 12px; }
.personal-evidence-fact-meta dl > div + div { border-left: 1px solid var(--border); }
.personal-evidence-fact-meta dt { color: var(--muted); font-size: 11px; }
.personal-evidence-fact-meta dd { margin: 4px 0 0; font-weight: 700; }
.personal-evidence-fact-meta p { margin: 10px 0 0; color: #865f08; font-size: 13px; }
.personal-source-card { padding: 13px 0; border-top: 1px solid #e8edf1; }
.personal-source-card:first-of-type { border-top: 0; }
.personal-source-card > span { display: block; margin-top: 3px; color: var(--blue); font-size: 12px; }
.personal-source-card p { margin: 10px 0; color: #354754; }
.personal-source-card dl,
.personal-calculation dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border: 1px solid var(--border); }
.personal-source-card dl > div,
.personal-calculation dl > div { min-width: 0; padding: 8px 10px; border-right: 1px solid var(--border); }
.personal-source-card dl > div:last-child,
.personal-calculation dl > div:nth-child(2n) { border-right: 0; }
.personal-source-card dt,
.personal-calculation dt { color: var(--muted); font-size: 11px; }
.personal-source-card dd,
.personal-calculation dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.personal-calculation > strong { display: block; }
.personal-calculation > span { display: block; margin: 4px 0 12px; color: var(--muted); font-size: 12px; }
.personal-revision-list { margin: 0; padding-left: 18px; }
.personal-revision-list li + li { margin-top: 14px; }
.personal-revision-list span { margin-left: 8px; color: var(--muted); font-size: 12px; }
.personal-revision-list p { margin: 4px 0; }
.personal-revision-list small { color: var(--muted); overflow-wrap: anywhere; }
.personal-correction-dialog {
  width: min(720px, calc(100vw - 32px));
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  box-shadow: 0 18px 60px rgba(21, 54, 79, .22);
}
.personal-correction-dialog::backdrop { background: rgba(15, 31, 43, .42); }
.personal-correction-dialog form { padding: 22px; }
.personal-correction-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.personal-correction-dialog header h2 { margin: 0; font-size: 20px; }
.personal-correction-dialog label { display: grid; gap: 6px; margin-top: 14px; color: #425361; font-weight: 700; }
.personal-correction-dialog textarea,
.personal-correction-dialog input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  background: #fff;
  font: inherit;
}
.personal-correction-dialog textarea { resize: vertical; font-family: Consolas, "Microsoft YaHei", monospace; }
.personal-correction-dialog menu { display: flex; justify-content: flex-end; gap: 10px; margin: 20px 0 0; padding: 0; }
body.has-personal-drawer { overflow: hidden; }

@media (min-width: 1500px) {
  .credit-dashboard-layout { grid-template-columns: minmax(0, 1fr) 310px; align-items: start; }
  .credit-dashboard-layout .credit-review-panel { position: static; order: 0; }
  .credit-review-list { grid-template-columns: 1fr; }
  .credit-review-item { border-right: 0; }
}

@media (max-width: 900px) {
  .app-shell { width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr); }
  .side-nav { width: 100%; min-width: 0; max-width: 100vw; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(100px, 1fr); gap: 4px; padding: 8px 12px; border-right: 0; border-bottom: 1px solid var(--border); overflow-x: auto; overscroll-behavior-inline: contain; }
  .nav-group-label { display: none; }
  .nav-item { width: auto; min-width: 100px; margin: 0; border-left: 0; border-bottom: 3px solid transparent; text-align: center; }
  .nav-item.is-active { border-left-color: transparent; border-bottom-color: var(--blue); }
  .main-content { padding: 24px 18px 44px; }
  .analysis-layout, .manual-layout, .intake-layout, .interview-layout { grid-template-columns: 1fr; }
  .intake-aside { border-top: 1px solid var(--border); border-left: 0; }
  .interview-sidebar { border-top: 1px solid var(--border); border-left: 0; }
  .interview-messages { max-height: 520px; }
  .report-navigation { top: 0; }
  .focus-grid, .subject-summary-grid, .module-grid { grid-template-columns: 1fr; }
  .module-item, .module-item:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--border); }
  .module-item:last-child { border-bottom: 0; }
  .module-item:nth-last-child(2) { border-bottom: 1px solid var(--border); }
  .focus-band { min-height: 0; border-right: 0; border-bottom: 1px solid var(--border); }
  .focus-band:last-child { border-bottom: 0; }
  .report-section-heading { align-items: start; }
  .report-section-heading > p { max-width: 48%; }
  .metric-grid, .bank-metric-strip { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
  .cashflow-metrics, .cashflow-secondary-metrics { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
  .cashflow-direction-overview { grid-template-columns: 1fr; }
  .cashflow-direction-focus { min-height: 0; }
  .cashflow-pattern-grid { grid-template-columns: 1fr; }
  .declared-fact-grid { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
  .personal-case-form { grid-template-columns: 1fr 1fr; }
  .personal-context-field, .personal-consent-row, .personal-form-action { grid-column: 1 / -1; }
  .personal-upload-row { grid-template-columns: 1fr 1fr; }
  .personal-file-picker { grid-column: 1 / -1; }
  .personal-summary-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .personal-summary-facts > div:nth-child(4n) { border-right: 1px solid var(--border); }
  .personal-summary-facts > div:nth-child(2n) { border-right: 0; }
  .personal-summary-facts > div:nth-child(n+3) { border-top: 1px solid var(--border); }
  .personal-report-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .personal-summary-columns { grid-template-columns: 1fr; }
  .personal-module-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .personal-module-link:nth-child(2n) { border-right: 0; }
  .personal-module-link:nth-child(n+3) { border-top: 1px solid var(--border); }
  .vue-personal-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vue-personal-detail-item:nth-child(3n) { border-right: 1px solid #e0e7eb; }
  .vue-personal-detail-item:nth-child(2n) { border-right: 0; }
  .credit-exposure-overview { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
  .credit-review-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .credit-overview-grid { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
  .credit-section-summary { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
  .query-month-card-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .app-header { height: 60px; padding: 0 14px; }
  .app-shell { min-height: calc(100vh - 60px); }
  .main-content { padding: 14px 10px 36px; }
  .brand-meta, .header-status span:last-child { display: none; }
  .side-nav { gap: 2px; }
  .nav-item { width: 100%; min-width: 82px; padding: 0 6px; }
  .personal-stage-strip li { min-height: 64px; flex-direction: column; justify-content: center; gap: 3px; padding: 4px; text-align: center; }
  .personal-stage-strip strong { font-size: 11px; }
  .personal-section { padding: 18px 14px; }
  .personal-case-form, .personal-upload-row { grid-template-columns: 1fr; }
  .personal-case-form > *, .personal-context-field, .personal-consent-row, .personal-form-action, .personal-file-picker { grid-column: 1; }
  .personal-file-picker { align-items: flex-start; flex-direction: column; }
  .personal-pending-files > div { grid-template-columns: 26px minmax(0, 1fr) auto; }
  .personal-pending-files small { grid-column: 2; }
  .personal-case-bar dl { grid-template-columns: 1fr; }
  .personal-case-bar dl > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .personal-case-bar dl > div:last-child { border-bottom: 0; }
  .personal-report-heading { padding: 17px 14px; }
  .personal-report-heading { align-items: start; }
  .personal-report-heading .button { flex: 0 0 auto; padding: 0 10px; }
  .personal-report-tabs button { flex-basis: 170px; min-width: 170px; min-height: 66px; padding: 9px 11px; }
  .personal-report-content { min-height: 320px; padding: 18px 14px; }
  .personal-overview-intro,
  .personal-summary-section-heading,
  .personal-module-heading { display: grid; align-items: start; }
  .personal-overview-intro > strong,
  .personal-module-heading > strong { justify-self: start; }
  .personal-summary-section-heading p { text-align: left; }
  .personal-request-summary { grid-template-columns: 1fr; }
  .personal-request-summary strong { border-top: 1px solid var(--border); border-left: 0; }
  .personal-processing-boundary { grid-template-columns: 1fr; }
  .personal-processing-boundary i { display: none; }
  .personal-overview-status { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .personal-overview-status > div:nth-child(2n) { border-right: 0; }
  .personal-overview-status > div:nth-child(n+3) { border-top: 1px solid var(--border); }
  .personal-plain-conclusion { grid-template-columns: 1fr; }
  .personal-conclusion-heading { border-right: 0; border-bottom: 1px solid #c7d3db; }
  .personal-summary-facts { grid-template-columns: 1fr; }
  .personal-summary-facts > div,
  .personal-summary-facts > div:nth-child(2n),
  .personal-summary-facts > div:nth-child(3n) { border-right: 0; border-top: 1px solid var(--border); }
  .personal-summary-facts > div:first-child { border-top: 0; }
  .personal-confirmation-list article { grid-template-columns: 1fr; }
  .personal-module-links { grid-template-columns: 1fr; }
  .personal-module-link,
  .personal-module-link:nth-child(2n) { border-top: 1px solid var(--border); border-right: 0; }
  .personal-module-link:first-child { border-top: 0; }
  .personal-report-next-step { grid-template-columns: 1fr; }
  .personal-report-next-step > span { justify-items: start; border-right: 0; border-bottom: 1px solid var(--border); }
  .personal-item-actions { justify-content: flex-start; }
  .personal-report-fields { grid-template-columns: 1fr; }
  .personal-report-item-header { display: grid; }
  .personal-evidence-drawer { width: 100vw; }
  .personal-source-card dl,
  .personal-calculation dl { grid-template-columns: 1fr; }
  .personal-source-card dl > div,
  .personal-calculation dl > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .personal-source-card dl > div:last-child,
  .personal-calculation dl > div:last-child { border-bottom: 0; }
  .credit-exposure-overview { grid-template-columns: 1fr; gap: 10px; }
  .credit-exposure-card header { min-height: 52px; align-items: center; padding: 10px 12px; }
  .credit-exposure-row { min-height: 48px; padding: 8px 12px; }
  .credit-exposure-row.is-prominent dd { font-size: 16px; }
  .credit-exposure-card.is-guarantee .credit-exposure-row { min-height: 42px; }
  .credit-exposure-card.is-guarantee .credit-exposure-row.is-subject { min-height: 54px; }
  .credit-review-list { grid-template-columns: 1fr; }
  .credit-review-item { border-right: 0; }
  .credit-review-panel > header { grid-template-columns: 34px minmax(0, 1fr); }
  .credit-review-panel > header > strong { grid-column: 2; justify-self: start; }
  .credit-status-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .credit-status-strip > div { min-height: 62px; padding: 10px 11px; }
  .credit-overview-grid { grid-template-columns: repeat(2, minmax(100px, 1fr)); }
  .credit-overview-grid .metric { min-height: 76px; padding: 11px 12px; }
  .credit-overview-grid .metric strong { margin-top: 6px; font-size: 15px; }
  .credit-module-header { grid-template-columns: 40px minmax(0, 1fr); padding: 13px; }
  .credit-module-count { grid-column: 2; justify-self: start; }
  .credit-module-body { padding: 12px; }
  .credit-section-summary { grid-template-columns: repeat(2, minmax(100px, 1fr)); }
  .credit-section-summary .metric { min-height: 68px; padding: 10px 11px; }
  .credit-responsibility-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .credit-responsibility-count { grid-column: 1 / -1; min-height: 64px; padding: 10px 12px; }
  .credit-responsibility-count strong { margin-top: 5px; font-size: 16px; }
  .credit-responsibility-row .metric { min-height: 68px; padding: 10px 11px; }
  .credit-responsibility-row .metric strong { margin-top: 5px; font-size: 14px; }
  .credit-ledger { min-width: 820px; }
  .credit-ledger th, .credit-ledger td { padding: 8px 7px; }
  .credit-ledger th:first-child,
  .credit-ledger td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    box-shadow: 5px 0 8px rgba(20, 52, 73, .07);
  }
  .credit-ledger th:first-child { z-index: 2; background: #eef3f6; }
  .credit-ledger td:first-child { background: #fff; }
  .cashflow-dashboard-heading,
  .cashflow-priority-heading { display: grid; align-items: start; }
  .cashflow-dashboard-heading p { max-width: none; text-align: left; }
  .cashflow-priority-heading > strong { justify-self: start; }
  .cashflow-core-workbench { border-radius: 6px; }
  .loan-support-metric-list { grid-template-columns: 1fr; }
  .cashflow-priority-section { margin: 10px 10px 0; }
  .cashflow-metrics, .cashflow-secondary-metrics { grid-template-columns: repeat(2, minmax(100px, 1fr)); }
  .cashflow-pattern-grid { padding: 10px; }
  .cashflow-pattern-card-heading { display: grid; }
  .cashflow-nature-badge { justify-self: start; }
  .cashflow-pattern-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cashflow-pattern-facts div { min-height: 44px; }
  .page-heading { display: grid; }
  .toolbar { justify-content: space-between; }
  .workflow-steps { min-height: 54px; padding: 0 4px; }
  .workflow-step { min-height: 58px; flex-direction: column; justify-content: center; gap: 2px; padding: 3px 2px; text-align: center; }
  .workflow-step strong { display: block; font-size: 10px; line-height: 1.25; white-space: nowrap; }
  .workflow-step span { width: 24px; height: 24px; flex: 0 0 24px; }
  .intake-main, .intake-aside { padding: 20px 16px; }
  .interview-workspace { padding: 18px 14px 14px; }
  .interview-heading { display: grid; }
  .interview-heading .button { justify-self: start; }
  .interview-messages { min-height: 320px; max-height: 440px; }
  .message-body { max-width: 94%; }
  .interview-suggestions { padding-left: 0; }
  .interview-composer { grid-template-columns: 38px minmax(0, 1fr); }
  .composer-icon-button { width: 38px; height: 42px; }
  .interview-composer .button { grid-column: 2; justify-self: end; }
  .composer-hint { margin-left: 46px; }
  .subject-options, .intake-fields, .manual-fields { grid-template-columns: 1fr; }
  .intake-fields label, .amount-input, .amount-input input { min-width: 0; }
  .intake-summary { grid-template-columns: 1fr 1fr; }
  .intake-summary > div:nth-child(3) { grid-column: 1 / -1; }
  .intake-summary .button { grid-column: 1 / -1; margin: 10px; }
  .mode-switch { width: 100%; }
  .mode-button { min-width: 0; }
  .result-header { display: grid; }
  .result-header .button { justify-self: start; white-space: nowrap; }
  .document-read-audit-header { grid-template-columns: auto minmax(0, 1fr); padding: 12px; }
  .document-read-private { grid-column: 2; justify-self: start; }
  .document-read-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-read-page-list { padding: 9px; }
  .document-read-page > summary { align-items: flex-start; }
  .document-read-page > summary strong { white-space: normal; }
  .document-read-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-read-raw-text { max-height: 420px; padding: 11px; font-size: 11px; }
  .report-navigation {
    margin-right: -1px;
    margin-left: -1px;
    overflow: hidden;
  }
  .report-navigation::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 5px;
    width: 24px;
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg, rgba(238, 243, 246, 0), rgba(188, 203, 214, .45));
  }
  .report-tablist {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .report-nav-button {
    flex: 0 0 124px;
    min-height: 48px;
    padding: 8px 10px;
    font-size: 12px;
    scroll-snap-align: start;
    white-space: nowrap;
  }
  .report-nav-button span { width: 22px; height: 22px; }
  .report-panel { padding-top: 16px; }
  .report-meta-strip { grid-template-columns: repeat(2, minmax(100px, 1fr)); }
  .report-focus-heading, .report-section-heading, .module-heading { display: grid; align-items: start; }
  .report-focus-heading > strong { justify-self: start; }
  .report-section-heading > p { max-width: none; text-align: left; }
  .module-heading p { max-width: none; text-align: left; }
  .decision-grid, .exposure-summary { grid-template-columns: 1fr; }
  .exposure-summary p { grid-column: 1; }
  .report-details > summary { align-items: flex-start; }
  .metric-grid, .bank-metric-strip, .query-metric-grid { grid-template-columns: repeat(2, minmax(100px, 1fr)); }
  .personal-summary-grid, .professional-finding-grid { grid-template-columns: 1fr; }
  .personal-identity-hero { grid-template-columns: 48px minmax(0, 1fr); padding: 16px; }
  .personal-identity-avatar { width: 48px; height: 48px; font-size: 20px; }
  .personal-identity-title h3 { font-size: 20px; }
  .personal-identity-count { grid-column: 1 / -1; padding: 12px 0 0; border-top: 1px solid #c5d6e1; border-left: 0; text-align: left; }
  .personal-identity-count strong, .personal-identity-count span, .personal-identity-count small { display: inline; }
  .personal-identity-count span { margin-left: 5px; }
  .personal-component-heading { display: grid; align-items: start; }
  .personal-component-heading > strong { justify-self: start; }
  .identity-fact-grid { grid-template-columns: 1fr; }
  .vue-personal-sheet-header { padding: 14px; }
  .vue-personal-detail-grid { grid-template-columns: 1fr; }
  .vue-personal-detail-item, .vue-personal-detail-item:nth-child(2n), .vue-personal-detail-item:nth-child(3n) { min-height: 82px; padding: 13px 14px; border-right: 0; }
  .vue-personal-detail-item:last-child { border-bottom: 0; }
  .vue-personal-intro { display: grid; align-items: start; }
  .vue-personal-read-badge { justify-self: start; }
  .vue-identity-profile { grid-template-columns: 52px minmax(0, 1fr); padding: 16px; }
  .vue-identity-avatar { width: 52px; height: 52px; font-size: 21px; }
  .vue-identity-copy h3 { font-size: 20px; }
  .vue-identity-stat { grid-column: 1 / -1; min-height: 58px; grid-auto-flow: column; place-content: center; align-items: baseline; gap: 7px; }
  .vue-identity-stat span { margin-top: 0; }
  .vue-fact-grid, .vue-fact-group-grid, .vue-evidence-list { grid-template-columns: 1fr; }
  .vue-fact-group-header { grid-template-columns: 36px minmax(0, 1fr); }
  .vue-fact-group-header > span { width: 36px; height: 36px; }
  .vue-fact-group-header > strong { grid-column: 2; justify-self: start; }
  .vue-section-heading { align-items: flex-start; }
  .vue-judicial-panel { padding: 14px; }
  .vue-judicial-empty { justify-content: flex-start; }
  .declared-fact-grid { grid-template-columns: 1fr; }
  .status-grid { grid-template-columns: 1fr; }
  .status-grid dt { border-bottom: 0; }
  .knowledge-band { grid-template-columns: 38px minmax(0, 1fr); }
  .knowledge-band > strong { grid-column: 2; text-align: left; }
  .knowledge-policy dl { grid-template-columns: 1fr; }
  .knowledge-policy dt { border-bottom: 0; }
  .review-workbench-heading { align-items: stretch; flex-direction: column; }
  .review-queue-summary { grid-template-columns: 1fr 1fr; }
  .review-queue-summary article:nth-child(2) { border-right: 0; }
  .review-queue-summary article:nth-child(-n+2) { border-bottom: 1px solid #dce5ec; }
  .review-queue-filters { grid-template-columns: 1fr; }
  .review-queue-list { overflow-x: auto; }
  .review-sample-preview,
  .review-sample-form-grid { grid-template-columns: 1fr; }
  .review-sample-dialog { width: calc(100vw - 20px); max-height: calc(100vh - 20px); }
  .review-sample-dialog-body { max-height: calc(100vh - 125px); padding: 16px; }
  .review-sample-actions { align-items: stretch; flex-direction: column-reverse; }
  .evaluation-dataset-layout { grid-template-columns: 1fr; }
  .evaluation-dataset-form { border-right: 0; border-bottom: 1px solid #dce5ec; }
  .evaluation-dataset-toolbar { align-items: stretch; flex-direction: column; }
  .evaluation-dataset-item {
    grid-template-columns: 1fr;
    padding: 12px 14px;
  }
  .evaluation-dataset-item > div { padding: 7px 0; }
  .evaluation-dataset-item .button { width: 100%; }
  .match-controls, .match-columns, .match-eligibility, .requirement-row { grid-template-columns: 1fr; }
  .match-title { display: grid; }
}

.bank-transaction-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid #dbe4ea;
  background: #f7f9fb;
}

.bank-transaction-filters label {
  display: grid;
  gap: 5px;
  color: #516775;
  font-size: 12px;
  font-weight: 700;
}

.bank-transaction-filters input,
.bank-transaction-filters select {
  min-width: 0;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #b8c8d3;
  border-radius: 4px;
  background: #fff;
}

.bank-transaction-filters .button { align-self: end; }
.bank-transaction-result-meta { display: flex; justify-content: space-between; gap: 12px; padding: 13px 16px; border-bottom: 1px solid #dbe4ea; color: #586d7a; }
.bank-transaction-card-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; }
.bank-transaction-card-list article { overflow: hidden; border: 1px solid #cedae2; border-radius: 6px; background: #fff; }
.bank-transaction-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px; border-bottom: 1px solid #dfe7ec; background: #f8fafb; }
.bank-transaction-card-heading > span { padding: 3px 7px; border-radius: 3px; font-size: 11px; font-weight: 900; }
.bank-transaction-card-heading > span.is-inflow { color: #17633f; background: #e8f5ee; }
.bank-transaction-card-heading > span.is-outflow { color: #96382e; background: #fff0ee; }
.bank-transaction-card-heading > strong { color: var(--navy); font-size: 17px; }
.bank-transaction-card-list dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.bank-transaction-card-list dl > div { min-height: 65px; padding: 9px 12px; border-right: 1px solid #e4eaee; border-bottom: 1px solid #e4eaee; }
.bank-transaction-card-list dl > div:nth-child(2n) { border-right: 0; }
.bank-transaction-card-list dt { color: #72838d; font-size: 11px; }
.bank-transaction-card-list dd { margin: 4px 0 0; color: #243b4a; overflow-wrap: anywhere; }
.bank-transaction-pagination { display: flex; justify-content: center; gap: 10px; padding: 14px; border-top: 1px solid #dbe4ea; }

@media (max-width: 760px) {
  .bank-transaction-filters, .bank-transaction-card-list { grid-template-columns: 1fr; }
  .bank-transaction-filters { padding: 12px; }
  .bank-transaction-result-meta { display: grid; }
  .bank-transaction-card-list { padding: 10px; }
  .bank-transaction-card-list dl { grid-template-columns: 1fr; }
  .bank-transaction-card-list dl > div { min-height: 56px; border-right: 0; }
}

/* Cashflow dashboard V23: readable underwriting workbench for desktop and mobile. */
.cashflow-dashboard-v21 {
  --cashflow-panel-border: #d9e4ec;
  --cashflow-panel-bg: #fff;
  --cashflow-soft-bg: #f4f8fb;
  --cashflow-shadow: 0 3px 14px rgba(35, 65, 88, .07);
}

.cashflow-dashboard-v21 .cashflow-core-workbench {
  overflow: visible;
  padding: 10px;
  border-color: #d2e0e9;
  background: #f2f6fa;
  box-shadow: 0 10px 28px rgba(25, 60, 85, .08);
}

.cashflow-kpi-ribbon {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.cashflow-kpi-card {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  min-height: 98px;
  align-items: center;
  padding: 15px 16px;
  overflow: hidden;
  border: 1px solid var(--cashflow-panel-border);
  border-radius: 8px;
  background: var(--cashflow-panel-bg);
  box-shadow: var(--cashflow-shadow);
}

.cashflow-kpi-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  content: "";
  background: #4a93d2;
}

.cashflow-kpi-card.is-green::before { background: #3aa477; }
.cashflow-kpi-card.is-red::before { background: #db6a62; }
.cashflow-kpi-card.is-amber::before { background: #d9a333; }

.cashflow-kpi-icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #75b5eb, #3d86cc);
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 4px 9px rgba(46, 117, 176, .2);
}

.cashflow-kpi-card.is-green .cashflow-kpi-icon { background: linear-gradient(145deg, #7dd4a9, #30966a); }
.cashflow-kpi-card.is-red .cashflow-kpi-icon { background: linear-gradient(145deg, #f09b95, #d95850); }
.cashflow-kpi-card.is-amber .cashflow-kpi-icon { background: linear-gradient(145deg, #f4cf72, #d39a22); }

.cashflow-kpi-copy { min-width: 0; }
.cashflow-kpi-copy > span,
.cashflow-kpi-copy > small { display: block; }
.cashflow-kpi-copy > span { color: #566e7e; font-size: 13px; font-weight: 800; }
.cashflow-kpi-copy > strong {
  display: block;
  margin: 5px 0 3px;
  overflow: visible;
  color: #102f46;
  font-size: clamp(19px, 1.35vw, 23px);
  line-height: 1.2;
  white-space: normal;
}
.cashflow-kpi-copy > small {
  overflow: hidden;
  color: #70838f;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cashflow-kpi-card > em {
  position: absolute;
  top: 10px;
  right: 10px;
  max-width: 88px;
  padding: 3px 7px;
  overflow: hidden;
  border-radius: 3px;
  color: #2f73a4;
  background: #eaf4fb;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cashflow-kpi-card.is-amber > em { color: #9b6510; background: #fff4d9; }

.cashflow-dashboard-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.cashflow-dashboard-summary-row,
.cashflow-dashboard-borrowing-row,
.cashflow-dashboard-insight-grid {
  min-width: 0;
}

.cashflow-dashboard-insight-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(350px, .72fr);
  gap: 12px;
  align-items: stretch;
}

.cashflow-dashboard-summary-row > section,
.cashflow-dashboard-borrowing-row > section,
.cashflow-dashboard-insight-grid > section {
  width: 100%;
}

.cashflow-dashboard-insight-grid > section {
  height: 100%;
}

.cashflow-dashboard-v21 .cashflow-executive-summary,
.cashflow-dashboard-v21 .cashflow-underwriting-summary,
.cashflow-dashboard-v21 .cashflow-monthly-workspace,
.cashflow-dashboard-v21 .cashflow-monthly-chart-workspace,
.cashflow-dashboard-v21 .cashflow-recurring-workbench {
  overflow: hidden;
  border: 1px solid var(--cashflow-panel-border);
  border-radius: 7px;
  background: var(--cashflow-panel-bg);
  box-shadow: var(--cashflow-shadow);
}

.cashflow-dashboard-v21 .cashflow-executive-summary,
.cashflow-dashboard-v21 .cashflow-underwriting-summary,
.cashflow-dashboard-v21 .cashflow-monthly-workspace {
  border-bottom: 1px solid var(--cashflow-panel-border);
}

.cashflow-dashboard-v21 .cashflow-executive-heading,
.cashflow-dashboard-v21 .cashflow-compact-heading,
.cashflow-dashboard-v21 .cashflow-block-heading {
  min-height: 62px;
  padding: 13px 16px;
  background: #f7fafc;
}

.cashflow-dashboard-v21 .cashflow-executive-title { gap: 10px; }
.cashflow-dashboard-v21 .cashflow-executive-title span,
.cashflow-dashboard-v21 .cashflow-compact-heading span,
.cashflow-dashboard-v21 .cashflow-block-heading span {
  min-width: 30px;
  width: 30px;
  height: 28px;
  border-radius: 4px;
  font-size: 12px;
}

.cashflow-dashboard-v21 .cashflow-executive-title h3,
.cashflow-dashboard-v21 .cashflow-compact-heading h3,
.cashflow-dashboard-v21 .cashflow-block-heading h3 {
  margin: 2px 0 0;
  font-size: 20px;
  line-height: 1.3;
}

.cashflow-dashboard-v21 .cashflow-compact-heading p,
.cashflow-dashboard-v21 .cashflow-block-heading p {
  margin-top: 4px;
  font-size: 12px;
}

.cashflow-dashboard-v21 .cashflow-quality-status {
  padding: 5px 9px;
  font-size: 11px;
}

.cashflow-executive-content {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-height: 104px;
  padding: 18px 20px;
}

.cashflow-summary-document-icon {
  display: grid;
  width: 46px;
  height: 58px;
  place-items: center;
  border-radius: 5px;
  color: #fff;
  background: linear-gradient(145deg, #62a8eb, #2f7fc9);
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 5px 12px rgba(40, 116, 181, .2);
}

.cashflow-dashboard-v21 .cashflow-executive-sentence {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #304b5d;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.8;
}

.cashflow-dashboard-v21 .cashflow-chart-section { margin: 0; }
.cashflow-dashboard-v21 .cashflow-chart-dashboard { padding: 14px; }
.cashflow-dashboard-v21 .cashflow-chart-card { border-radius: 5px; box-shadow: none; }
.cashflow-dashboard-v21 .cashflow-chart-card-heading { min-height: 62px; padding: 12px 14px; }
.cashflow-dashboard-v21 .cashflow-chart-card-heading h4 { margin-top: 3px; font-size: 15px; }
.cashflow-dashboard-v21 .cashflow-month-chart { height: 290px; }
.cashflow-dashboard-v21 .cashflow-month-chart-scroll { padding-top: 10px; }

.cashflow-dashboard-v21 .cashflow-underwriting-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.cashflow-dashboard-v21 .cashflow-underwriting-metrics article {
  min-height: 92px;
  padding: 13px 15px;
}
.cashflow-dashboard-v21 .cashflow-underwriting-metrics span,
.cashflow-dashboard-v21 .cashflow-underwriting-metrics small { font-size: 11px; }
.cashflow-dashboard-v21 .cashflow-underwriting-metrics strong {
  margin: 7px 0 4px;
  font-size: clamp(17px, 1.4vw, 22px);
}

.cashflow-dashboard-v21 .cashflow-borrowing-ledger-heading,
.cashflow-dashboard-v21 .cashflow-borrowing-row {
  grid-template-columns: 92px minmax(220px, 1.3fr) minmax(190px, 1fr) minmax(180px, .9fr);
  gap: 16px;
}
.cashflow-dashboard-v21 .cashflow-borrowing-ledger-heading {
  padding: 11px 16px;
  font-size: 12px;
}
.cashflow-dashboard-v21 .cashflow-borrowing-row {
  min-height: 94px;
  padding: 14px 16px;
}
.cashflow-dashboard-v21 .cashflow-borrowing-type { padding: 5px 8px; font-size: 11px; }
.cashflow-dashboard-v21 .cashflow-borrowing-row > div > strong { font-size: 15px; line-height: 1.45; }
.cashflow-dashboard-v21 .cashflow-borrowing-row > div small { margin-top: 4px; font-size: 11px; line-height: 1.45; }
.cashflow-dashboard-v21 .cashflow-borrowing-summary {
  grid-column: 1 / -1;
  display: block;
  max-height: none;
  margin-top: 2px;
  padding: 12px 14px;
  overflow: visible;
  border-left-width: 3px;
  font-size: 14px;
  line-height: 1.7;
}
.cashflow-dashboard-v21 .cashflow-borrowing-summary > strong {
  display: inline-block;
  margin-right: 10px;
  color: #18394f;
  font-size: 13px;
}
.cashflow-dashboard-v21 .cashflow-borrowing-summary > span {
  display: inline;
  overflow: visible;
}
.cashflow-dashboard-v21 .cashflow-borrowing-row > details {
  grid-column: 1 / -1;
  justify-self: end;
  font-size: 12px;
}
.cashflow-dashboard-v21 .cashflow-borrowing-row > details[open] {
  justify-self: stretch;
  margin: 0 -2px;
}
.cashflow-dashboard-v21 .cashflow-boundary-note { padding: 10px 16px 12px; font-size: 11px; line-height: 1.65; }

.cashflow-dashboard-v21 .cashflow-capacity-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 18px 20px;
  border: 0;
}
.cashflow-capacity-result { align-self: center; }
.cashflow-capacity-result > span { color: #657985; font-size: 12px; font-weight: 800; }
.cashflow-capacity-result > strong {
  display: block;
  margin-top: 4px;
  color: var(--navy);
  font-size: 34px;
  line-height: 1.2;
}
.cashflow-capacity-panel.is-positive .cashflow-capacity-result > strong { color: #17633f; }
.cashflow-capacity-panel.is-negative .cashflow-capacity-result > strong { color: #a3372f; }
.cashflow-capacity-panel.is-review .cashflow-capacity-result > strong { color: #815a09; }
.cashflow-capacity-result > em {
  display: inline-block;
  margin-top: 7px;
  padding: 2px 6px;
  border-radius: 3px;
  color: #4d6472;
  background: #eef3f6;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}
.cashflow-dashboard-v21 .cashflow-capacity-panel dl {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 0;
  border-top: 0;
}
.cashflow-dashboard-v21 .cashflow-capacity-panel dl > div { padding: 9px 0; }
.cashflow-dashboard-v21 .cashflow-capacity-panel p {
  grid-column: 1 / -1;
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.65;
}

.cashflow-dashboard-v21 .cashflow-vue-root {
  margin-top: 10px;
  border: 0;
  background: transparent;
}
.cashflow-dashboard-v21 .cashflow-recurring-workbench { border-top: 1px solid var(--cashflow-panel-border); }
.cashflow-dashboard-v21 .cashflow-priority-heading {
  min-height: 56px;
  padding: 10px 13px;
  background: #f7fafc;
}
.cashflow-dashboard-v21 .cashflow-priority-heading h3 { margin-top: 2px; font-size: 20px; }
.cashflow-dashboard-v21 .cashflow-priority-heading p { margin-top: 3px; font-size: 12px; }
.cashflow-dashboard-v21 .cashflow-transfer-layers {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 8px;
}
.cashflow-dashboard-v21 .cashflow-transfer-layers > .cashflow-recurring-panel:first-child { grid-column: auto; }
.cashflow-dashboard-v21 .cashflow-recurring-panel + .cashflow-recurring-panel { border-top: 1px solid #dbe4ea; }
.cashflow-dashboard-v21 .cashflow-recurring-panel-heading { padding: 9px 10px 5px; }
.cashflow-dashboard-v21 .cashflow-recurring-panel-heading h4 { font-size: 16px; }
.cashflow-dashboard-v21 .cashflow-recurring-guidance { padding: 0 10px 8px; font-size: 11px; line-height: 1.5; }
.cashflow-dashboard-v21 .cashflow-pattern-row {
  grid-template-columns: 22px minmax(0, 1fr) 72px;
  grid-template-rows: auto auto auto;
  gap: 4px 8px;
  min-height: 92px;
  padding: 10px 11px;
}
.cashflow-dashboard-v21 .cashflow-pattern-rank { grid-column: 1; grid-row: 1; align-self: start; }
.cashflow-dashboard-v21 .cashflow-pattern-identity { grid-column: 2; grid-row: 1; }
.cashflow-dashboard-v21 .cashflow-pattern-value { grid-column: 2; grid-row: 2; display: flex; gap: 7px; align-items: baseline; }
.cashflow-dashboard-v21 .cashflow-pattern-cadence { grid-column: 2; grid-row: 3; display: flex; gap: 7px; align-items: baseline; }
.cashflow-dashboard-v21 .cashflow-pattern-detail-button { grid-column: 3; grid-row: 1 / span 3; align-self: start; }
.cashflow-dashboard-v21 .cashflow-pattern-evidence[open] { grid-column: 1 / -1; grid-row: auto; }
.cashflow-dashboard-v21 .cashflow-transfer-layers > .cashflow-recurring-panel:has(.cashflow-pattern-evidence[open]) {
  grid-column: 1 / -1;
}
.cashflow-dashboard-v21 .cashflow-pattern-evidence .cashflow-borrowing-identifiers {
  margin-top: 11px;
}
.cashflow-dashboard-v21 .cashflow-pattern-evidence .cashflow-borrowing-transaction-table {
  font-size: 12px;
}
.cashflow-dashboard-v21 .cashflow-pattern-evidence .cashflow-borrowing-transaction-heading strong {
  font-size: 14px;
}
.cashflow-dashboard-v21 .cashflow-pattern-evidence .cashflow-borrowing-transaction-heading span {
  font-size: 11px;
}
.cashflow-dashboard-v21 .cashflow-pattern-identity strong { font-size: 13px; line-height: 1.45; }
.cashflow-dashboard-v21 .cashflow-pattern-value strong,
.cashflow-dashboard-v21 .cashflow-pattern-cadence strong { font-size: 12px; }
.cashflow-dashboard-v21 .cashflow-pattern-value small,
.cashflow-dashboard-v21 .cashflow-pattern-cadence small { margin-top: 0; font-size: 10px; }
.cashflow-dashboard-v21 .cashflow-pattern-evidence summary { font-size: 11px; }
.cashflow-dashboard-v21 .cashflow-borrowing-separation-note { padding: 11px 14px 13px; font-size: 11px; line-height: 1.65; }
.cashflow-dashboard-v21 .cashflow-supporting-details { margin-top: 10px; }

@media (max-width: 1120px) {
  .cashflow-dashboard-insight-grid { grid-template-columns: 1fr; }
  .cashflow-dashboard-v21 .cashflow-transfer-layers { grid-template-columns: 1fr; }
  .cashflow-dashboard-v21 .cashflow-pattern-row {
    grid-template-columns: 26px minmax(180px, 1fr) minmax(110px, auto) minmax(120px, auto) 54px;
    grid-template-rows: auto;
    min-height: 70px;
  }
  .cashflow-dashboard-v21 .cashflow-pattern-rank,
  .cashflow-dashboard-v21 .cashflow-pattern-identity,
  .cashflow-dashboard-v21 .cashflow-pattern-value,
  .cashflow-dashboard-v21 .cashflow-pattern-cadence,
  .cashflow-dashboard-v21 .cashflow-pattern-evidence { grid-column: auto; grid-row: auto; }
  .cashflow-dashboard-v21 .cashflow-pattern-value,
  .cashflow-dashboard-v21 .cashflow-pattern-cadence { display: block; }
  .cashflow-dashboard-v21 .cashflow-pattern-detail-button { grid-column: auto; grid-row: auto; }
}

@media (max-width: 900px) {
  .cashflow-kpi-ribbon { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cashflow-dashboard-v21 .cashflow-borrowing-ledger-heading { display: none; }
  .cashflow-dashboard-v21 .cashflow-borrowing-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cashflow-dashboard-v21 .cashflow-borrowing-summary { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .cashflow-dashboard-v21 .cashflow-core-workbench { padding: 7px; border-radius: 6px; }
  .cashflow-kpi-ribbon { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-bottom: 7px; }
  .cashflow-kpi-card { grid-template-columns: 28px minmax(0, 1fr); gap: 6px; min-height: 76px; padding: 9px 8px; }
  .cashflow-kpi-card:nth-child(5) { grid-column: 1 / -1; }
  .cashflow-kpi-icon { width: 27px; height: 27px; font-size: 10px; }
  .cashflow-kpi-copy > span { font-size: 9px; }
  .cashflow-kpi-copy > strong { font-size: 14px; letter-spacing: -.02em; }
  .cashflow-kpi-card > em { top: 6px; right: 5px; max-width: 54px; font-size: 7px; }
  .cashflow-dashboard-main-grid,
  .cashflow-dashboard-insight-grid { gap: 7px; }
  .cashflow-dashboard-v21 .cashflow-executive-heading,
  .cashflow-dashboard-v21 .cashflow-compact-heading,
  .cashflow-dashboard-v21 .cashflow-block-heading { padding: 10px; }
  .cashflow-executive-content { grid-template-columns: 36px minmax(0, 1fr); gap: 9px; min-height: 0; padding: 13px 11px; }
  .cashflow-summary-document-icon { width: 34px; height: 44px; }
  .cashflow-dashboard-v21 .cashflow-executive-sentence { font-size: 11px; line-height: 1.65; }
  .cashflow-dashboard-v21 .cashflow-underwriting-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cashflow-dashboard-v21 .cashflow-underwriting-metrics article:nth-child(2n) { border-right: 0; }
  .cashflow-dashboard-v21 .cashflow-underwriting-metrics article:last-child { grid-column: 1 / -1; }
  .cashflow-dashboard-v21 .cashflow-borrowing-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cashflow-dashboard-v21 .cashflow-borrowing-summary { grid-column: 1 / -1; max-height: none; }
  .cashflow-dashboard-v21 .cashflow-borrowing-summary > strong { display: block; margin-bottom: 3px; }
  .cashflow-dashboard-v21 .cashflow-borrowing-summary > span { display: block; overflow: visible; }
  .cashflow-dashboard-v21 .cashflow-capacity-panel { grid-template-columns: 1fr; gap: 8px; }
  .cashflow-dashboard-v21 .cashflow-capacity-panel dl { grid-template-columns: 1fr; }
  .cashflow-dashboard-v21 .cashflow-capacity-result > strong { font-size: 24px; }
  .cashflow-dashboard-v21 .cashflow-month-chart { height: 218px; }
  .cashflow-dashboard-v21 .cashflow-vue-root { margin-top: 7px; }
  .cashflow-dashboard-v21 .cashflow-transfer-layers { padding: 6px; }
  .cashflow-dashboard-v21 .cashflow-pattern-row {
    grid-template-columns: 22px minmax(0, 1fr) 80px 70px;
    grid-template-rows: auto auto;
    gap: 8px;
  }
  .cashflow-dashboard-v21 .cashflow-pattern-rank { grid-column: 1; grid-row: 1; }
  .cashflow-dashboard-v21 .cashflow-pattern-identity { grid-column: 2; grid-row: 1; }
  .cashflow-dashboard-v21 .cashflow-pattern-value { grid-column: 3; grid-row: 1; display: block; }
  .cashflow-dashboard-v21 .cashflow-pattern-cadence { grid-column: 2 / 4; }
  .cashflow-dashboard-v21 .cashflow-pattern-detail-button { grid-column: 4; grid-row: 1 / span 2; }
}

/* 帮贷看：贷款资料审核对话工作台 */
.bangdaikan-app {
  background:
    radial-gradient(circle at 72% 0, rgba(58, 129, 246, .09), transparent 30%),
    #edf3f9;
}

.bangdaikan-app .app-header {
  height: 58px;
  padding: 0 24px;
  background: linear-gradient(118deg, #062765 0%, #0a469e 62%, #0f66c6 100%);
  border-bottom: 0;
  box-shadow: 0 8px 28px rgba(3, 35, 88, .18);
}

.bangdaikan-app .brand-mark {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 11px;
  background: linear-gradient(145deg, #fff1b8, #f0bb4d);
  color: #083b8c;
  box-shadow: 0 7px 18px rgba(2, 34, 83, .22);
  font-size: 17px;
}

.bangdaikan-app .brand-name { font-size: 18px; letter-spacing: .05em; }
.bangdaikan-app .brand-meta { margin-top: 0; color: rgba(255, 255, 255, .74); font-size: 10px; }

.header-trust { display: flex; align-items: center; gap: 20px; }
.header-trust > strong { color: #fff4c7; font-size: 13px; letter-spacing: .04em; }

.bangdaikan-app .header-status {
  min-height: 28px;
  padding: 0 11px;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 999px;
  background: rgba(0, 24, 70, .2);
  color: rgba(255, 255, 255, .86);
  font-size: 12px;
}

.bangdaikan-app .app-shell {
  min-height: calc(100vh - 58px);
  grid-template-columns: 220px minmax(0, 1fr);
}

.bangdaikan-app .side-nav {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 58px);
  padding: 22px 14px;
  border-right: 0;
  background: linear-gradient(180deg, #082b6c 0%, #061f50 66%, #051941 100%);
  color: #fff;
}

.bangdaikan-app .nav-group-label {
  margin: 11px 13px 8px;
  color: rgba(214, 230, 255, .56);
  font-size: 10px;
  letter-spacing: .12em;
}

.bangdaikan-app .nav-item {
  height: 48px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: rgba(236, 244, 255, .86);
  font-weight: 700;
}

.bangdaikan-app .nav-item:hover {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .09);
  color: #fff;
}

.bangdaikan-app .nav-item.is-active {
  border-color: rgba(255, 255, 255, .64);
  background: #fff;
  color: #0b55b0;
  box-shadow: 0 8px 20px rgba(0, 18, 58, .2);
}

.nav-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, .1);
  font-size: 11px;
  font-weight: 900;
}

.bangdaikan-app .nav-item.is-active .nav-icon { background: #e6f0ff; color: #1466cb; }

.side-nav-review-card {
  display: grid;
  gap: 7px;
  margin-top: auto;
  padding: 15px;
  border: 1px solid rgba(150, 192, 255, .24);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(29, 96, 195, .48), rgba(9, 45, 108, .62));
}

.side-nav-review-card > span { color: #9fc7ff; font-size: 10px; font-weight: 800; }
.side-nav-review-card > strong { color: #fff; font-size: 13px; }
.side-nav-review-card > p { color: rgba(226, 238, 255, .72); font-size: 10px; line-height: 1.65; }

@media (min-width: 901px) {
  .bangdaikan-app .app-header {
    position: sticky;
    top: 0;
    z-index: 30;
  }

  .bangdaikan-app .side-nav {
    position: sticky;
    top: 58px;
    align-self: start;
    height: calc(100vh - 58px);
    min-height: 0;
    overflow: hidden;
  }
}

.bangdaikan-app .main-content { padding: 20px; }
.bangdaikan-app .main-content > #view-intake { max-width: 1540px; }

.bangdaikan-app .interview-layout {
  grid-template-columns: minmax(0, 1fr) 340px;
  min-height: calc(100vh - 98px);
  border: 1px solid #cbd9e8;
  border-radius: 15px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 16px 45px rgba(34, 68, 112, .11);
}

.bangdaikan-app .interview-workspace {
  grid-template-rows: auto auto minmax(300px, 1fr) auto auto auto;
  padding: 0 28px 20px;
  background:
    linear-gradient(180deg, rgba(238, 247, 255, .72) 0, rgba(255, 255, 255, 0) 210px),
    #fff;
}

.bangdaikan-app .interview-heading {
  position: relative;
  min-height: 132px;
  align-items: center;
  margin: 0 -28px;
  padding: 24px 28px 20px;
  overflow: hidden;
  border-bottom-color: #d9e4ef;
  background:
    radial-gradient(circle at 82% 15%, rgba(48, 127, 239, .14), transparent 23%),
    linear-gradient(110deg, #f8fbff 0%, #eef6ff 68%, #f9fcff 100%);
}

.bangdaikan-app .interview-heading::after {
  content: "✓";
  position: absolute;
  right: 150px;
  bottom: -28px;
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border: 16px solid rgba(43, 126, 232, .05);
  border-radius: 50%;
  color: rgba(43, 126, 232, .1);
  font-size: 42px;
  font-weight: 900;
  pointer-events: none;
}

.interview-heading-copy { position: relative; z-index: 1; max-width: 720px; }
.interview-eyebrow {
  display: block;
  margin-bottom: 5px;
  color: #1768c4;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.bangdaikan-app .interview-heading h1 {
  color: #071e48;
  font-size: clamp(24px, 2vw, 31px);
  letter-spacing: -.02em;
}

.bangdaikan-app .interview-heading p {
  max-width: 680px;
  color: #63758c;
  font-size: 13px;
}

.interview-heading-actions {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

.interview-brand-orb {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  align-content: center;
  border: 1px solid #c9dcf4;
  border-radius: 22px;
  background: linear-gradient(145deg, #fff, #dcecff);
  box-shadow: 0 10px 25px rgba(35, 104, 196, .14);
  color: #0c5fc2;
}

.interview-brand-orb > span { font-size: 24px; font-weight: 900; line-height: 1; }
.interview-brand-orb > small { margin-top: 5px; color: #6786ab; font-size: 8px; font-weight: 800; }

.review-stage-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 -28px;
  padding: 0;
  border-bottom: 1px solid #dce5ee;
  background: rgba(255, 255, 255, .86);
  list-style: none;
}

.review-stage-strip li {
  position: relative;
  min-width: 0;
  min-height: 62px;
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 8px;
  align-items: center;
  padding: 10px 12px;
  color: #748599;
}

.review-stage-strip li:not(:last-child) { border-right: 1px solid #e5ebf2; }
.review-stage-strip li::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: transparent;
}

.review-stage-strip li > span {
  grid-row: 1 / 3;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border: 1px solid #b8c7d8;
  border-radius: 50%;
  background: #fff;
  font-size: 10px;
  font-weight: 900;
}

.review-stage-strip li > strong { align-self: end; color: #304a67; font-size: 12px; }
.review-stage-strip li > small {
  align-self: start;
  overflow: hidden;
  color: #8796a7;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.review-stage-strip li.is-current::after { background: #1976d2; }
.review-stage-strip li.is-current > span { border-color: #1976d2; background: #1976d2; color: #fff; }
.review-stage-strip li.is-current > strong { color: #0b5eb8; }
.review-stage-strip li.is-complete > span { border-color: #48a879; background: #e8f7ef; color: #23744d; }

.bangdaikan-app .interview-messages {
  min-height: 330px;
  max-height: calc(100vh - 465px);
  padding: 24px 4px;
  /*
   * Keep the conversation independently scrollable when it is long, but let
   * wheel input continue to the page once this area reaches either boundary.
   */
  overscroll-behavior-y: auto;
}

.bangdaikan-app .interview-message {
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}

.bangdaikan-app .interview-message.is-user { grid-template-columns: minmax(0, 1fr) 36px; }
.bangdaikan-app .message-avatar {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: linear-gradient(145deg, #0d4f9f, #147bd3);
  box-shadow: 0 5px 12px rgba(14, 87, 168, .18);
  font-size: 13px;
}

.bangdaikan-app .interview-message.is-user .message-avatar { background: #e5ebf2; box-shadow: none; }
.bangdaikan-app .message-body {
  max-width: min(760px, 88%);
  padding: 13px 16px;
  border-color: #cfdae6;
  border-radius: 12px;
  background: #f6f9fc;
  color: #1f344a;
  font-size: 14px;
  box-shadow: 0 5px 16px rgba(38, 75, 118, .05);
}

.bangdaikan-app .interview-message.is-user .message-body { border-color: #bdd7f2; background: #eaf4ff; }
.bangdaikan-app .suggestion-button { border-color: #a9c8e7; border-radius: 8px; background: #fff; color: #0e60b6; }
.bangdaikan-app .interview-attachment-panel {
  border-color: #c7daed;
  border-left-width: 4px;
  border-radius: 10px;
  background: #f5f9fe;
}

.bangdaikan-app .interview-composer {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  gap: 8px 10px;
  padding: 10px 12px 8px;
  border: 1px solid #c6d6e6;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(34, 75, 122, .09);
}

.bangdaikan-app .interview-composer textarea {
  grid-column: 1;
  grid-row: 1;
  border-color: transparent;
  border-radius: 9px;
  background: #f4f7fb;
}
.bangdaikan-app .interview-composer textarea:focus { outline: 2px solid rgba(25, 118, 210, .23); }
.bangdaikan-app .interview-composer .button {
  grid-column: 2;
  grid-row: 1;
  min-height: 44px;
  border-radius: 10px;
  background: linear-gradient(135deg, #1479dc, #165ee7);
  box-shadow: 0 7px 16px rgba(23, 102, 218, .2);
}

.composer-tools {
  grid-column: 1 / -1;
  grid-row: 2;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 2px;
}

.composer-tool-button {
  min-height: 29px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 9px;
  border: 1px solid #d5deea;
  border-radius: 999px;
  background: #fff;
  color: #3f5873;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.composer-tool-button svg {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.composer-tool-button:hover {
  border-color: #9fc2e8;
  background: #f4f9ff;
  color: #0d62ba;
}

.composer-tool-button:focus-visible {
  outline: 2px solid rgba(25, 118, 210, .26);
  outline-offset: 2px;
}

.composer-tool-button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.bangdaikan-app .composer-hint { margin: 8px 12px 0; color: #7d8c9d; }
.bangdaikan-app .interview-sidebar { border-left-color: #d4e0ec; background: #f7faff; }
.bangdaikan-app .interview-sidebar > section { padding: 19px 20px 17px; border-bottom-color: #dbe5ef; }
.bangdaikan-app .interview-sidebar h2 { color: #132d4b; font-size: 15px; }
.bangdaikan-app .sidebar-title span {
  min-width: 34px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #e4f0ff;
  color: #1767c1;
  text-align: center;
}

.bangdaikan-app .interview-profile dt,
.bangdaikan-app .interview-profile dd { border-bottom-color: #e2eaf2; }
.bangdaikan-app .sidebar-list { color: #53677e; line-height: 1.75; }
.bangdaikan-app .review-scope-card { background: linear-gradient(145deg, #f3f8ff, #edf6ff); }
.bangdaikan-app .review-scope-card .sidebar-list li::marker { color: #2b80d7; }
.bangdaikan-app .interview-sidebar-actions { padding: 18px 20px 12px; }
.bangdaikan-app .interview-sidebar-actions .button { min-height: 45px; border-radius: 9px; }
.bangdaikan-app .interview-sidebar-actions .button-primary { background: linear-gradient(135deg, #1479dc, #165ee7); }
.bangdaikan-app .sidebar-disclaimer { padding: 0 20px 20px; color: #78889b; text-align: center; }

@media (max-width: 1160px) {
  .bangdaikan-app .app-shell { grid-template-columns: 200px minmax(0, 1fr); }
  .bangdaikan-app .interview-layout { grid-template-columns: minmax(0, 1fr) 310px; }
  .interview-brand-orb { display: none; }
}

@media (max-width: 900px) {
  .bangdaikan-app .app-shell { grid-template-columns: minmax(0, 1fr); }
  .bangdaikan-app .side-nav {
    min-height: auto;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(126px, 1fr);
    gap: 6px;
    padding: 8px 12px;
    overflow-x: auto;
    border-bottom: 1px solid #0d438c;
  }
  .bangdaikan-app .side-nav .nav-group-label,
  .bangdaikan-app .side-nav-review-card { display: none; }
  .bangdaikan-app .nav-item {
    width: auto;
    min-width: 126px;
    margin: 0;
    border: 1px solid transparent;
    text-align: left;
  }
  .bangdaikan-app .main-content { padding: 14px; }
  .bangdaikan-app .interview-layout { grid-template-columns: 1fr; min-height: auto; }
  .bangdaikan-app .interview-sidebar { border-top: 1px solid #d4e0ec; border-left: 0; }
  .bangdaikan-app .interview-messages { max-height: 560px; }
}

@media (max-width: 620px) {
  .bangdaikan-app .app-header { height: 56px; padding: 0 12px; }
  .bangdaikan-app .brand-mark { width: 34px; height: 34px; }
  .bangdaikan-app .brand-name { font-size: 18px; }
  .bangdaikan-app .brand-meta,
  .header-trust > strong,
  .bangdaikan-app .header-status span:last-child { display: none; }
  .bangdaikan-app .header-status { min-height: 30px; padding: 0 10px; }
  .bangdaikan-app .app-shell { min-height: calc(100vh - 56px); }
  .bangdaikan-app .side-nav { grid-auto-columns: minmax(92px, 1fr); padding: 7px 8px; }
  .bangdaikan-app .nav-item {
    min-width: 92px;
    height: 42px;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 6px;
    padding: 0 7px;
    font-size: 11px;
  }
  .bangdaikan-app .nav-icon { width: 24px; height: 24px; }
  .bangdaikan-app .main-content { padding: 8px; }
  .bangdaikan-app .interview-layout { border-radius: 10px; }
  .bangdaikan-app .interview-workspace {
    grid-template-rows: auto auto minmax(310px, 1fr) auto auto auto;
    padding: 0 14px 14px;
  }
  .bangdaikan-app .interview-heading {
    min-height: 126px;
    align-items: flex-start;
    margin: 0 -14px;
    padding: 18px 14px 14px;
  }
  .bangdaikan-app .interview-heading::after { display: none; }
  .bangdaikan-app .interview-heading h1 { font-size: 21px; }
  .bangdaikan-app .interview-heading p { font-size: 11px; }
  .interview-heading-actions { align-self: flex-start; }
  .interview-heading-actions .button { min-height: 34px; padding: 0 9px; font-size: 11px; }
  .review-stage-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 -14px; }
  .review-stage-strip li { min-height: 54px; padding: 8px 10px; }
  .review-stage-strip li:nth-child(2) { border-right: 0; }
  .review-stage-strip li:nth-child(-n+2) { border-bottom: 1px solid #e5ebf2; }
  .bangdaikan-app .interview-messages { min-height: 310px; max-height: none; padding: 18px 0; }
  .bangdaikan-app .message-body { max-width: 92%; padding: 11px 12px; font-size: 13px; }
  .bangdaikan-app .interview-suggestions { padding-left: 0; }
  .bangdaikan-app .interview-composer {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 6px;
    padding: 8px;
  }
  .bangdaikan-app .composer-tools {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 1px;
  }
  .bangdaikan-app .composer-tool-button {
    min-height: 28px;
    flex: 0 0 auto;
    padding: 0 8px;
    font-size: 10px;
  }
  .bangdaikan-app .interview-composer .button { min-width: 58px; padding: 0 10px; font-size: 12px; }
  .bangdaikan-app .composer-hint { margin: 7px 2px 0; font-size: 9px; }
}
/* Social-security and provident-fund verification */
.contribution-vue-root {
  margin-top: 26px;
}

.contribution-workbench {
  overflow: hidden;
  border: 1px solid #cbdbe8;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 30px rgb(16 64 100 / 7%);
  color: #12314a;
}

.contribution-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border-bottom: 1px solid #d9e5ee;
  background: linear-gradient(100deg, #edf7ff 0%, #f8fbfd 58%, #f3faf7 100%);
}

.contribution-heading > div,
.contribution-detail-card header > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.contribution-heading-index {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 10px;
  background: #0879bf;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
}

.contribution-heading p,
.contribution-heading h2,
.contribution-detail-card h3,
.contribution-timeline-section h3,
.contribution-alerts h3 {
  margin: 0;
}

.contribution-heading p {
  margin-bottom: 3px;
  color: #58758b;
  font-size: 13px;
  font-weight: 700;
}

.contribution-heading h2 {
  font-size: 25px;
  letter-spacing: .02em;
}

.contribution-heading > em {
  padding: 6px 10px;
  border: 1px solid #d7a45c;
  border-radius: 6px;
  background: #fff8e8;
  color: #9a5b00;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
}

.contribution-heading > em.is-complete {
  border-color: #77baa0;
  background: #effaf4;
  color: #166845;
}

.contribution-conclusion {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 18px;
  padding: 20px 24px;
  border-bottom: 1px solid #dce7ef;
  background: #fffdf8;
}

.contribution-conclusion strong {
  color: #0872b1;
  font-size: 16px;
}

.contribution-conclusion p {
  margin: 0;
  color: #253f53;
  font-size: 16px;
  line-height: 1.8;
}

.contribution-core-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #dce7ef;
}

.contribution-core-cards article {
  min-width: 0;
  padding: 19px 20px;
  border-right: 1px solid #dce7ef;
}

.contribution-core-cards article:last-child {
  border-right: 0;
}

.contribution-core-cards span,
.contribution-core-cards small {
  display: block;
  color: #60788a;
}

.contribution-core-cards span {
  margin-bottom: 8px;
  font-size: 13px;
}

.contribution-core-cards strong {
  display: block;
  overflow-wrap: anywhere;
  color: #0d2f49;
  font-size: 20px;
  line-height: 1.35;
}

.contribution-core-cards small {
  margin-top: 7px;
  font-size: 12px;
  line-height: 1.5;
}

.contribution-detail-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 22px 24px;
  background: #f7fafc;
}

.contribution-detail-card {
  min-width: 0;
  padding: 18px;
  border: 1px solid #d8e3ea;
  border-top: 4px solid #3f9a78;
  border-radius: 10px;
  background: #fff;
}

.contribution-detail-card.is-provident {
  border-top-color: #e39b2b;
}

.contribution-detail-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 16px;
}

.contribution-detail-card header > div > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 9px;
  background: #e8f6ef;
  color: #15704e;
  font-weight: 800;
}

.contribution-detail-card.is-provident header > div > span {
  background: #fff1d7;
  color: #9c6206;
}

.contribution-detail-card h3 {
  font-size: 18px;
}

.contribution-detail-card button {
  border: 1px solid #a8c8de;
  border-radius: 7px;
  background: #fff;
  color: #086da9;
  cursor: pointer;
  font-weight: 700;
  padding: 7px 10px;
}

.contribution-detail-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border: 1px solid #dce6ed;
  border-radius: 8px;
  overflow: hidden;
}

.contribution-detail-card dl > div {
  min-width: 0;
  padding: 13px;
  border-right: 1px solid #dce6ed;
  border-bottom: 1px solid #dce6ed;
}

.contribution-detail-card dl > div:nth-child(2n) {
  border-right: 0;
}

.contribution-detail-card dl > div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.contribution-detail-card dt {
  color: #61798b;
  font-size: 12px;
}

.contribution-detail-card dd {
  margin: 6px 0 0;
  color: #102f47;
  font-size: 18px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.contribution-detail-card > p {
  margin: 14px 0 0;
  color: #5e7587;
  font-size: 13px;
  line-height: 1.65;
}

.contribution-timeline-section,
.contribution-alerts {
  padding: 22px 24px;
  border-top: 1px solid #dce7ef;
}

.contribution-timeline-section > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 15px;
}

.contribution-timeline-section header span,
.contribution-alerts header span {
  color: #0872b1;
  font-size: 12px;
  font-weight: 800;
}

.contribution-timeline-section h3,
.contribution-alerts h3 {
  margin-top: 4px;
  font-size: 18px;
}

.contribution-timeline-section header small {
  color: #6c8292;
  text-align: right;
}

.contribution-timeline {
  display: grid;
  grid-template-columns: repeat(12, minmax(64px, 1fr));
  gap: 7px;
  overflow-x: auto;
  padding: 2px 2px 9px;
  scrollbar-gutter: stable;
}

.contribution-timeline article {
  display: grid;
  grid-template-columns: repeat(2, 24px);
  justify-content: center;
  gap: 5px;
  min-width: 64px;
  padding: 9px 5px;
  border: 1px solid #dce6ed;
  border-radius: 7px;
  background: #fafcfd;
}

.contribution-timeline article strong {
  grid-column: 1 / -1;
  color: #60788a;
  font-size: 11px;
  text-align: center;
}

.contribution-timeline article span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: #e6ebef;
  color: #83929d;
  font-size: 11px;
  font-weight: 800;
}

.contribution-timeline article span.is-verified {
  background: #def4e8;
  color: #166b49;
}

.contribution-timeline article span.is-summary {
  background: #dceeff;
  color: #086baa;
}

.contribution-alerts {
  background: #fffaf2;
}

.contribution-alerts ul {
  display: grid;
  gap: 9px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.contribution-alerts li {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 10px;
  padding: 11px 13px;
  border-left: 3px solid #d8901f;
  background: #fff;
  color: #4b6172;
  line-height: 1.55;
}

.contribution-alerts li.is-info {
  border-left-color: #4997c6;
}

.contribution-alerts li strong {
  color: #a45d00;
}

.contribution-alerts li.is-info strong {
  color: #176e9e;
}

body.contribution-detail-modal-open {
  overflow: hidden;
}

.contribution-detail-modal {
  position: fixed;
  z-index: 1400;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgb(7 29 45 / 58%);
  backdrop-filter: blur(3px);
}

.contribution-detail-dialog {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(1180px, 96vw);
  max-height: min(86vh, 860px);
  overflow: hidden;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 28px 80px rgb(0 0 0 / 25%);
}

.contribution-detail-dialog > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px;
  border-bottom: 1px solid #d8e4ec;
  background: #eff7fc;
}

.contribution-detail-dialog header span {
  color: #0874b5;
  font-size: 12px;
  font-weight: 800;
}

.contribution-detail-dialog h2 {
  margin: 3px 0 0;
  font-size: 21px;
}

.contribution-detail-dialog > header button {
  width: 38px;
  height: 38px;
  border: 1px solid #a9bfce;
  border-radius: 8px;
  background: #fff;
  color: #163c58;
  cursor: pointer;
  font-size: 24px;
}

.contribution-detail-dialog-scroll {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 18px 20px 24px;
}

.contribution-detail-table-wrap {
  overflow: auto;
  border: 1px solid #d7e3eb;
  border-radius: 8px;
}

.contribution-detail-table-wrap table {
  width: 100%;
  min-width: 940px;
  border-collapse: collapse;
}

.contribution-detail-table-wrap th,
.contribution-detail-table-wrap td {
  padding: 11px 12px;
  border-bottom: 1px solid #dce6ed;
  color: #304c60;
  font-size: 13px;
  text-align: left;
  vertical-align: top;
}

.contribution-detail-table-wrap th {
  position: sticky;
  z-index: 1;
  top: 0;
  background: #edf4f8;
  color: #35566d;
  white-space: nowrap;
}

.contribution-detail-table-wrap td strong {
  color: #0f354f;
}

.contribution-annual-summary {
  margin-top: 18px;
  padding: 17px;
  border: 1px solid #d8e4eb;
  border-radius: 8px;
  background: #f8fbfd;
}

.contribution-annual-summary h3,
.contribution-annual-summary p {
  margin: 0;
}

.contribution-annual-summary p {
  margin-top: 5px;
  color: #657d8e;
  font-size: 13px;
}

.contribution-annual-summary > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 13px;
}

.contribution-annual-summary > div span {
  padding: 10px;
  border: 1px solid #dce5eb;
  border-radius: 6px;
  background: #fff;
  color: #567083;
  font-size: 12px;
}

.contribution-annual-summary > div strong {
  display: block;
  margin-bottom: 4px;
  color: #183e58;
  font-size: 14px;
}

@media (max-width: 980px) {
  .contribution-core-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contribution-core-cards article:nth-child(2) {
    border-right: 0;
  }

  .contribution-core-cards article:nth-child(-n + 2) {
    border-bottom: 1px solid #dce7ef;
  }

  .contribution-detail-columns {
    grid-template-columns: 1fr;
  }

  .contribution-annual-summary > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .contribution-heading {
    align-items: flex-start;
    padding: 18px 16px;
  }

  .contribution-heading h2 {
    font-size: 21px;
  }

  .contribution-conclusion {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 17px 16px;
  }

  .contribution-conclusion p {
    font-size: 15px;
  }

  .contribution-core-cards {
    grid-template-columns: 1fr;
  }

  .contribution-core-cards article,
  .contribution-core-cards article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #dce7ef;
  }

  .contribution-core-cards article:last-child {
    border-bottom: 0;
  }

  .contribution-detail-columns,
  .contribution-timeline-section,
  .contribution-alerts {
    padding: 17px 14px;
  }

  .contribution-detail-card header {
    align-items: flex-start;
  }

  .contribution-detail-card dl {
    grid-template-columns: 1fr;
  }

  .contribution-detail-card dl > div,
  .contribution-detail-card dl > div:nth-child(2n),
  .contribution-detail-card dl > div:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid #dce6ed;
  }

  .contribution-detail-card dl > div:last-child {
    border-bottom: 0;
  }

  .contribution-timeline-section > header {
    display: block;
  }

  .contribution-timeline-section header small {
    display: block;
    margin-top: 7px;
    text-align: left;
  }

  .contribution-alerts li {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .contribution-detail-modal {
    align-items: end;
    padding: 0;
  }

  .contribution-detail-dialog {
    width: 100%;
    max-height: 91vh;
    border-radius: 16px 16px 0 0;
  }

  .contribution-detail-dialog-scroll {
    padding: 13px 12px 22px;
  }

  .contribution-annual-summary > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Customer-facing diagnostic drill-downs */
body.diagnostic-detail-modal-open {
  overflow: hidden;
}

.diagnostic-customer-card {
  overflow: hidden;
}

.diagnostic-card-launch {
  width: 100%;
  min-height: 156px;
  margin: 0;
  padding: 22px 24px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto 18px;
  gap: 16px;
  align-items: center;
}

.diagnostic-card-launch:hover,
.diagnostic-card-launch:focus-visible {
  background: linear-gradient(135deg, rgba(31, 111, 235, .04), rgba(255, 255, 255, .72));
  outline: none;
}

.diagnostic-card-launch > div small,
.diagnostic-card-launch > div p,
.diagnostic-card-launch > div h4 {
  display: block;
}

.diagnostic-card-launch > div small {
  margin-bottom: 7px;
  color: #63809e;
  font-size: 12px;
  font-weight: 800;
}

.diagnostic-card-launch > div h4 {
  margin: 0 0 7px;
  color: #062d55;
  font-size: 23px;
  line-height: 1.25;
}

.diagnostic-card-launch > div p {
  margin: 0;
  color: #637b94;
  font-size: 14px;
  line-height: 1.65;
}

.diagnostic-card-launch > em {
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff5df;
  color: #a86800;
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.diagnostic-card-launch > i {
  color: #6d87a2;
  font-style: normal;
  font-size: 22px;
}

.diagnostic-detail-modal[hidden],
.diagnostic-detail-dialog[hidden] {
  display: none !important;
}

.diagnostic-detail-modal {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: grid;
  place-items: center;
  padding: 20px;
}

.diagnostic-modal-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(18, 35, 52, .58);
  backdrop-filter: blur(5px);
}

.diagnostic-detail-dialog {
  position: relative;
  z-index: 1;
  width: min(1280px, calc(100vw - 40px));
  max-height: calc(100dvh - 40px);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(170, 194, 218, .7);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 26px 90px rgba(7, 30, 56, .28);
  color: #113858;
}

.diagnostic-detail-dialog > header {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 76px;
  padding: 20px 28px 14px;
  border-bottom: 1px solid #e6eef6;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(14px);
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.diagnostic-detail-dialog > header small {
  color: #2b7be4;
  font-weight: 800;
}

.diagnostic-detail-dialog > header h2 {
  margin: 3px 0 0;
  color: #082f59;
  font-size: 27px;
}

.diagnostic-detail-dialog > header h2 em {
  display: inline-block;
  margin-left: 10px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff2de;
  color: #c17813;
  font-size: 12px;
  font-style: normal;
  vertical-align: middle;
}

.diagnostic-detail-dialog > header p {
  margin: 5px 0 0;
  color: #6d8196;
}

.diagnostic-modal-close {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border: 1px solid #e2eaf2;
  border-radius: 50%;
  background: #fff;
  color: #244866;
  box-shadow: 0 5px 16px rgba(37, 77, 117, .12);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.diagnostic-detail-dialog > footer {
  position: sticky;
  bottom: 0;
  z-index: 3;
  padding: 14px 26px;
  border-top: 1px solid #e5eef6;
  background: rgba(255, 255, 255, .97);
  backdrop-filter: blur(14px);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

.diagnostic-detail-dialog > footer small {
  margin-right: auto;
  color: #758ba0;
}

.diagnostic-modal-hero {
  padding: 22px 30px 8px;
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 28px;
  align-items: center;
}

.diagnostic-modal-score-wrap {
  display: grid;
  place-items: center;
}

.diagnostic-modal-score {
  width: 172px;
  height: 172px;
  border-radius: 50%;
  background: conic-gradient(#357fe8 0 var(--diagnostic-score), #e7eff8 var(--diagnostic-score) 360deg);
  display: grid;
  place-items: center;
}

.diagnostic-modal-score::before {
  content: "";
  position: absolute;
}

.diagnostic-modal-score > span {
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-content: center;
  text-align: center;
}

.diagnostic-modal-score strong {
  color: #216bd1;
  font-size: 47px;
  line-height: 1;
}

.diagnostic-modal-score small {
  margin-top: 8px;
  color: #a26a11;
  font-weight: 800;
}

.diagnostic-modal-hero-copy h3,
.diagnostic-cashflow-summary h3 {
  margin: 0 0 8px;
  color: #a86200;
  font-size: 24px;
}

.diagnostic-modal-hero-copy p,
.diagnostic-cashflow-summary p {
  margin: 0;
  color: #4e6882;
  line-height: 1.7;
}

.diagnostic-modal-advice,
.diagnostic-modal-callout {
  margin-top: 18px;
  padding: 14px 18px;
  border: 1px solid #bcd6f7;
  border-radius: 13px;
  background: #f8fbff;
  color: #35669d;
}

.diagnostic-modal-metric-grid {
  padding: 14px 30px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.diagnostic-modal-metric {
  min-height: 92px;
  padding: 15px;
  border: 1px solid #dfe9f3;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(34, 80, 124, .06);
  display: flex;
  gap: 12px;
  align-items: center;
}

.diagnostic-modal-metric-icon {
  width: 44px;
  height: 44px;
  padding: 10px;
  border-radius: 14px;
  background: #eaf3ff;
  color: #2e7be0;
}

.diagnostic-modal-metric-icon svg,
.diagnostic-asset-categories svg,
.diagnostic-asset-pending svg {
  width: 100%;
  height: 100%;
}

.diagnostic-modal-metric small,
.diagnostic-modal-metric strong,
.diagnostic-modal-metric em {
  display: block;
}

.diagnostic-modal-metric small {
  color: #71859b;
}

.diagnostic-modal-metric strong {
  margin-top: 3px;
  color: #0a3a66;
  font-size: 21px;
}

.diagnostic-modal-metric em {
  margin-top: 3px;
  color: #8495a7;
  font-size: 12px;
  line-height: 1.45;
  font-style: normal;
}

.diagnostic-debt-visual-grid,
.diagnostic-cashflow-visual-grid {
  margin: 4px 22px 14px;
  padding: 14px;
  border: 1px solid #dbe7f2;
  border-radius: 18px;
  background: #fbfdff;
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 0;
}

.diagnostic-debt-visual-grid > article,
.diagnostic-cashflow-visual-grid > article {
  min-width: 0;
  padding: 5px 18px;
  border-right: 1px solid #e4edf5;
}

.diagnostic-debt-visual-grid > article:last-child,
.diagnostic-cashflow-visual-grid > article:last-child {
  border-right: 0;
}

.diagnostic-debt-visual-grid h4,
.diagnostic-cashflow-visual-grid h4,
.diagnostic-modal-table h4,
.diagnostic-asset-layout h4 {
  margin: 0 0 14px;
  color: #123d64;
  font-size: 15px;
}

.diagnostic-debt-donut-wrap {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.diagnostic-debt-donut {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: conic-gradient(#3b82ea 0 var(--debt-split), #f1a13b var(--debt-split) 360deg);
  display: grid;
  place-items: center;
}

.diagnostic-debt-donut > span {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-content: center;
  text-align: center;
}

.diagnostic-debt-donut small,
.diagnostic-debt-donut strong {
  display: block;
}

.diagnostic-debt-donut strong {
  margin-top: 5px;
  color: #0b3a65;
}

.diagnostic-debt-donut-wrap dl,
.diagnostic-cashflow-visual-grid dl {
  margin: 0;
}

.diagnostic-debt-donut-wrap dl div,
.diagnostic-cashflow-visual-grid dl div {
  padding: 7px 0;
}

.diagnostic-debt-donut-wrap dt,
.diagnostic-debt-donut-wrap dd,
.diagnostic-cashflow-visual-grid dt,
.diagnostic-cashflow-visual-grid dd {
  margin: 0;
}

.diagnostic-debt-donut-wrap dt,
.diagnostic-cashflow-visual-grid dt {
  color: #74889c;
  font-size: 12px;
}

.diagnostic-debt-donut-wrap dd,
.diagnostic-cashflow-visual-grid dd {
  margin-top: 3px;
  color: #234e75;
  font-weight: 800;
}

.diagnostic-ratio-row {
  margin-bottom: 17px;
}

.diagnostic-ratio-row > div:first-child {
  display: flex;
  justify-content: space-between;
}

.diagnostic-ratio-row span,
.diagnostic-ratio-row small {
  color: #698198;
}

.diagnostic-ratio-row strong {
  color: #164b7e;
}

.diagnostic-ratio-track {
  height: 10px;
  margin: 7px 0 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef5;
}

.diagnostic-ratio-track i,
.diagnostic-table-ratio-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3f8af0, #2e70d3);
}

.diagnostic-repayment-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.diagnostic-repayment-legend span,
.diagnostic-repayment-legend b {
  width: 29px;
  height: 29px;
  border-radius: 50%;
  background: #eef3f8;
  color: #557088;
  display: grid;
  place-items: center;
  font-size: 11px;
}

.diagnostic-repayment-legend b {
  background: #fff0ed;
  color: #d85042;
}

.diagnostic-debt-visual-grid p {
  color: #72879c;
  font-size: 12px;
  line-height: 1.6;
}

.diagnostic-modal-table {
  margin: 0 22px 16px;
  padding: 14px 16px;
  border: 1px solid #dce8f3;
  border-radius: 17px;
}

.diagnostic-modal-table > div:first-child {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.diagnostic-modal-table > div:first-child small {
  color: #8395a7;
}

.diagnostic-table-scroll {
  overflow: auto;
}

.diagnostic-modal-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.diagnostic-modal-table th,
.diagnostic-modal-table td {
  padding: 10px;
  border-bottom: 1px solid #e7eef5;
  text-align: left;
  white-space: nowrap;
}

.diagnostic-modal-table th {
  background: #f3f7fb;
  color: #526d86;
}

.diagnostic-table-ratio {
  display: grid;
  min-width: 168px;
  gap: 7px;
}

.diagnostic-table-ratio-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}

.diagnostic-table-ratio-head small,
.diagnostic-table-ratio-note {
  color: #71869a;
  font-size: 11px;
  font-style: normal;
}

.diagnostic-table-ratio-head strong {
  color: #174d7d;
  font-size: 15px;
  white-space: nowrap;
}

.diagnostic-table-ratio-track {
  display: block;
  width: 100%;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #e5edf4;
}

.diagnostic-table-ratio.is-loan .diagnostic-table-ratio-track i {
  background: linear-gradient(90deg, #7157e8, #b062d5);
}

.diagnostic-table-ratio.is-card .diagnostic-table-ratio-track i {
  background: linear-gradient(90deg, #2996da, #2eaa83);
}

.diagnostic-account-table table {
  min-width: 1040px;
}

.diagnostic-account-table th:nth-child(5),
.diagnostic-account-table td:nth-child(5) {
  min-width: 190px;
}

.diagnostic-account-sections {
  display: grid;
  gap: 14px;
}

.diagnostic-responsibility-section {
  margin: 0 22px 16px;
  padding: 16px;
  border: 1px solid #d8e6f1;
  border-radius: 18px;
  background: #f8fbfe;
}

.diagnostic-liability-section-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}

.diagnostic-liability-section-heading h4 {
  margin: 0;
  color: #123d64;
  font-size: 16px;
}

.diagnostic-liability-section-heading small {
  color: #788ea2;
  font-size: 12px;
}

.diagnostic-responsibility-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.diagnostic-responsibility-grid .diagnostic-modal-table {
  min-width: 0;
  margin: 0;
  background: #fff;
}

.diagnostic-responsibility-grid .diagnostic-table-scroll table {
  min-width: 940px;
}

.diagnostic-responsibility-note {
  margin: 0 0 12px;
  padding: 9px 11px;
  border-left: 3px solid #d99b32;
  border-radius: 0 8px 8px 0;
  color: #775a27;
  background: #fff9ec;
  font-size: 11px;
  line-height: 1.6;
}

.diagnostic-query-detail-section {
  margin-top: 0;
}

.diagnostic-detail-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}

.diagnostic-detail-metrics > span {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #e2ebf4;
  border-radius: 10px;
  background: #f8fbfe;
}

.diagnostic-detail-metrics small,
.diagnostic-detail-metrics strong,
.diagnostic-detail-metrics em {
  display: block;
}

.diagnostic-detail-metrics small,
.diagnostic-detail-metrics em {
  color: #6b8196;
  font-size: 12px;
  font-style: normal;
}

.diagnostic-detail-metrics strong {
  margin: 3px 0;
  color: #0f3d66;
  font-size: 17px;
}

.diagnostic-query-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin: 4px 0 10px;
}

.diagnostic-query-primary {
  margin: 4px 0 12px;
  overflow: hidden;
  border: 1px solid #cfe1f1;
  border-radius: 15px;
  background: #f7fbff;
}

.diagnostic-query-primary > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 15px;
  border-bottom: 1px solid #dce9f4;
  background: #edf6fd;
}

.diagnostic-query-primary > header div,
.diagnostic-query-primary > header small,
.diagnostic-query-primary > header strong {
  display: block;
}

.diagnostic-query-primary > header small {
  color: #627d93;
  font-size: 11px;
}

.diagnostic-query-primary > header strong {
  margin-top: 2px;
  color: #0e4e81;
  font-size: 24px;
}

.diagnostic-query-primary > header p {
  margin: 0;
  color: #466b87;
  font-size: 12px;
  line-height: 1.6;
  text-align: right;
}

.diagnostic-query-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
  gap: 8px;
  padding: 12px;
}

.diagnostic-query-category-card {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #e1eaf2;
  border-radius: 10px;
  background: #fff;
}

.diagnostic-query-category-card span,
.diagnostic-query-category-card strong {
  display: block;
}

.diagnostic-query-category-card span {
  min-height: 32px;
  color: #637b90;
  font-size: 11px;
  line-height: 1.45;
}

.diagnostic-query-category-card strong {
  margin-top: 4px;
  color: #184f79;
  font-size: 18px;
}

.diagnostic-query-category-card.is-loan-approval,
.diagnostic-query-category-card.is-card-approval {
  border-top: 3px solid #e4a12e;
}

.diagnostic-query-category-card.is-guarantee-review,
.diagnostic-query-category-card.is-legal-review {
  border-top: 3px solid #8b6bc5;
}

.diagnostic-query-category-card.is-post-loan {
  border-top: 3px solid #4d94cf;
}

.diagnostic-query-category-card.is-personal {
  border-top: 3px solid #36a37c;
}

.diagnostic-query-category-card.is-other {
  border-top: 3px solid #9aa9b6;
}

.diagnostic-query-month-matrix,
.diagnostic-query-records,
.diagnostic-query-long-window {
  margin-top: 14px;
}

.diagnostic-query-month-matrix > strong,
.diagnostic-query-records > div:first-child > strong,
.diagnostic-query-long-window > strong {
  color: #173f63;
  font-size: 13px;
}

.diagnostic-query-long-window > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.diagnostic-query-long-window span {
  padding: 10px 12px;
  border: 1px solid #e0e9f1;
  border-radius: 10px;
  background: #fafcfe;
}

.diagnostic-query-long-window span strong,
.diagnostic-query-long-window span small {
  display: block;
}

.diagnostic-query-long-window span strong {
  color: #285675;
}

.diagnostic-query-long-window span small {
  margin-top: 4px;
  color: #75899a;
  font-size: 10px;
}

.diagnostic-query-records > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.diagnostic-query-records > div:first-child small {
  color: #7b8e9f;
  font-size: 10px;
}

.diagnostic-query-records .diagnostic-table-scroll {
  max-height: 430px;
}

.diagnostic-query-records thead th {
  position: sticky;
  top: 0;
  z-index: 1;
}

.diagnostic-query-category.is-loan-approval,
.diagnostic-query-category.is-card-approval {
  color: #aa6500;
  background: #fff3dd;
}

.diagnostic-query-category.is-guarantee-review,
.diagnostic-query-category.is-legal-review {
  color: #6749a2;
  background: #f1ebfb;
}

.diagnostic-query-category.is-personal {
  color: #187253;
  background: #e8f7f0;
}

.diagnostic-query-category.is-other {
  color: #607181;
  background: #edf1f4;
}

.credit-query-detailed .diagnostic-query-month-matrix table,
.credit-query-detailed .diagnostic-query-records table {
  width: 100%;
  border-collapse: collapse;
}

.credit-query-detailed .diagnostic-query-month-matrix th,
.credit-query-detailed .diagnostic-query-month-matrix td,
.credit-query-detailed .diagnostic-query-records th,
.credit-query-detailed .diagnostic-query-records td {
  padding: 10px;
  border-bottom: 1px solid #e7eef5;
  text-align: left;
  white-space: nowrap;
}

.diagnostic-query-window-card {
  padding: 12px;
  border: 1px solid #dce8f3;
  border-radius: 13px;
  background: linear-gradient(145deg, #fbfdff, #f3f8fd);
}

.diagnostic-query-window-card header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.diagnostic-query-window-card header strong {
  color: #123f69;
  font-size: 14px;
}

.diagnostic-query-window-card header small {
  color: #8496a7;
  font-size: 10px;
}

.diagnostic-query-window-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
}

.diagnostic-query-window-card dl div {
  min-width: 0;
  padding: 8px 6px;
  border-radius: 9px;
  background: #fff;
  text-align: center;
}

.diagnostic-query-window-card dt,
.diagnostic-query-window-card dd {
  margin: 0;
}

.diagnostic-query-window-card dt {
  color: #71869a;
  font-size: 10px;
}

.diagnostic-query-window-card dd {
  margin-top: 4px;
  color: #0e4775;
  font-size: 16px;
  font-weight: 850;
}

.diagnostic-query-window-card dl div:first-child dd {
  color: #c27600;
}

.diagnostic-query-window-card dl div:nth-child(2) dd {
  color: #287bb9;
}

.diagnostic-query-rule-note {
  margin: 0 0 12px;
  padding: 8px 10px;
  border-left: 3px solid #4b91dd;
  border-radius: 0 8px 8px 0;
  background: #f1f7fd;
  color: #5e7890;
  font-size: 11px;
  line-height: 1.55;
}

.diagnostic-query-months,
.diagnostic-query-periods {
  margin-top: 16px;
}

.diagnostic-query-block-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.diagnostic-query-block-title strong {
  color: #123f69;
  font-size: 15px;
}

.diagnostic-query-block-title small {
  color: #71869a;
  font-size: 12px;
}

.diagnostic-query-month-grid,
.diagnostic-query-period-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.diagnostic-query-month-card,
.diagnostic-query-period-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d5e4f1;
  border-radius: 14px;
  background: #fff;
}

.diagnostic-query-month-card > header,
.diagnostic-query-period-card > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border-bottom: 1px solid #dfeaf3;
  background: #f0f7fd;
}

.diagnostic-query-period-card > header {
  background: #f7f4fc;
}

.diagnostic-query-month-card > header strong,
.diagnostic-query-period-card > header strong {
  color: #123f69;
  font-size: 16px;
}

.diagnostic-query-month-card > header span,
.diagnostic-query-period-card > header span {
  color: #647d92;
  font-size: 12px;
}

.diagnostic-query-month-card > header b,
.diagnostic-query-period-card > header b {
  margin-left: 4px;
  color: #0e4e81;
  font-size: 18px;
}

.diagnostic-query-month-card dl,
.diagnostic-query-period-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 12px;
}

.diagnostic-query-month-card dl div,
.diagnostic-query-period-card dl div {
  min-width: 0;
  padding: 10px 8px;
  border-radius: 9px;
  background: #f8fbfe;
  text-align: center;
}

.diagnostic-query-month-card dt,
.diagnostic-query-month-card dd,
.diagnostic-query-period-card dt,
.diagnostic-query-period-card dd {
  margin: 0;
}

.diagnostic-query-month-card dt,
.diagnostic-query-period-card dt {
  color: #6b8196;
  font-size: 11px;
  line-height: 1.45;
}

.diagnostic-query-month-card dd,
.diagnostic-query-period-card dd {
  margin-top: 6px;
  color: #0f4774;
  font-size: 18px;
  font-weight: 850;
}

.diagnostic-query-month-card dl div:first-child dd,
.diagnostic-query-period-card dl div:first-child dd {
  color: #bd7000;
}

.diagnostic-query-month-card dl div:nth-child(2) dd,
.diagnostic-query-period-card dl div:nth-child(2) dd {
  color: #287bb9;
}

.diagnostic-query-month-card dl div:nth-child(3) dd,
.diagnostic-query-period-card dl div:nth-child(3) dd {
  color: #16805f;
}

.diagnostic-query-category {
  display: inline-flex;
  padding: 4px 9px;
  border-radius: 999px;
  background: #fff3dd;
  color: #aa6600;
  font-size: 11px;
  font-weight: 800;
}

.diagnostic-query-category.is-post-loan {
  background: #eaf4fd;
  color: #2d75ad;
}

.diagnostic-overdue-conclusion > strong {
  display: block;
  margin: 18px 0 8px;
  color: #173f63;
  font-size: 18px;
}

.diagnostic-overdue-conclusion > p {
  margin: 0;
  color: #61788d;
  line-height: 1.7;
}

.diagnostic-overdue-conclusion.is-risk > strong {
  color: #c33e38;
}

.diagnostic-overdue-conclusion.is-caution > strong {
  color: #b87500;
}

.diagnostic-overdue-conclusion.is-good > strong {
  color: #188760;
}

.diagnostic-modal-empty {
  padding: 24px !important;
  color: #8193a5;
  text-align: center !important;
}

.diagnostic-cashflow-summary {
  padding: 22px 28px 12px;
  display: grid;
  grid-template-columns: minmax(310px, 1.7fr) repeat(3, minmax(150px, .75fr));
  gap: 12px;
}

.diagnostic-cashflow-summary > div:first-child {
  padding: 12px 18px;
  border: 1px solid #f1dfc8;
  border-radius: 16px;
  background: #fffaf5;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.diagnostic-cashflow-summary .diagnostic-modal-score {
  width: 88px;
  height: 88px;
  background: conic-gradient(#e5a33e 0 var(--diagnostic-score), #f4eadc var(--diagnostic-score) 360deg);
}

.diagnostic-cashflow-summary .diagnostic-modal-score > span {
  width: 68px;
  height: 68px;
}

.diagnostic-cashflow-summary .diagnostic-modal-score strong {
  color: #bf7921;
  font-size: 28px;
}

.diagnostic-cashflow-summary .diagnostic-modal-score small {
  display: none;
}

.diagnostic-modal-tabs {
  margin: 2px 28px 10px;
  border-bottom: 1px solid #e3ebf3;
  display: flex;
  gap: 28px;
}

.diagnostic-modal-tabs button {
  appearance: none;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  padding: 11px 4px;
  color: #8091a2;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}

.diagnostic-modal-tabs .is-active {
  border-bottom: 2px solid #31aa78;
  color: #15865e;
  font-weight: 800;
}

.diagnostic-cashflow-visual-grid {
  grid-template-columns: 1.6fr .75fr 1fr;
}

.diagnostic-modal-subhead {
  display: flex;
  justify-content: space-between;
}

.diagnostic-modal-subhead small {
  color: #899aaa;
}

.diagnostic-cashflow-bars {
  height: 245px;
  padding: 18px 5px 0;
  border-bottom: 1px solid #cfdce8;
  display: flex;
  align-items: end;
  gap: 8px;
}

.diagnostic-cashflow-bars > div {
  flex: 1 1 0;
  min-width: 20px;
  display: grid;
  grid-template-rows: 34px 170px 18px;
  align-items: end;
  text-align: center;
}

.diagnostic-cashflow-bars > div > div {
  height: 170px;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 2px;
}

.diagnostic-cashflow-bars i {
  width: 38%;
  min-height: 2px;
  border-radius: 4px 4px 0 0;
}

.diagnostic-cashflow-bars .is-income {
  background: #43ba8a;
}

.diagnostic-cashflow-bars .is-outflow {
  background: #ed6c73;
}

.diagnostic-cashflow-bars small {
  color: #758a9f;
  font-size: 10px;
}

.diagnostic-cashflow-period {
  margin: 5px 0 0;
  color: #6b7f93;
  font-size: 12px;
}

.diagnostic-cashflow-period strong {
  color: #123f68;
}

.diagnostic-cashflow-panel[hidden] {
  display: none;
}

.diagnostic-cashflow-panel {
  padding: 0 22px 16px;
}

.diagnostic-cashflow-panel .diagnostic-cashflow-visual-grid {
  padding: 0;
}

.diagnostic-cashflow-panel-head {
  margin-bottom: 12px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.diagnostic-cashflow-panel-head h3,
.diagnostic-cashflow-panel-head p {
  margin: 0;
}

.diagnostic-cashflow-panel-head h3 {
  color: #0b3559;
  font-size: 18px;
}

.diagnostic-cashflow-panel-head p {
  margin-top: 5px;
  color: #71869a;
  font-size: 12px;
}

.diagnostic-chart-legend {
  display: flex;
  gap: 14px;
  color: #6f8498;
  font-size: 12px;
  white-space: nowrap;
}

.diagnostic-chart-legend span::before {
  width: 9px;
  height: 9px;
  margin-right: 5px;
  border-radius: 3px;
  display: inline-block;
  content: "";
}

.diagnostic-chart-legend .is-income::before {
  background: #43ba8a;
}

.diagnostic-chart-legend .is-outflow::before {
  background: #ed6c73;
}

.diagnostic-month-net {
  min-height: 30px;
  display: grid;
  place-content: end center;
  color: #6d8195;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.15;
}

.diagnostic-month-net.is-positive,
.diagnostic-cashflow-table .is-positive {
  color: #168b63;
}

.diagnostic-month-net.is-negative,
.diagnostic-cashflow-table .is-negative {
  color: #d94e58;
}

.diagnostic-month-net.is-neutral,
.diagnostic-month-net.is-unknown,
.diagnostic-cashflow-table .is-neutral,
.diagnostic-cashflow-table .is-unknown {
  color: #71869a;
}

.diagnostic-cashflow-chart-card,
.diagnostic-income-layout article {
  border: 1px solid #dce7f1;
  border-radius: 16px;
  background: #fbfdff;
}

.diagnostic-cashflow-chart-card {
  padding: 4px 18px 14px;
}

.diagnostic-table-scroll {
  margin-top: 14px;
  border: 1px solid #dce7f1;
  border-radius: 14px;
  overflow: auto;
}

.diagnostic-cashflow-table {
  width: 100%;
  border-collapse: collapse;
  color: #35516a;
  font-size: 12px;
}

.diagnostic-cashflow-table th,
.diagnostic-cashflow-table td {
  padding: 11px 13px;
  border-bottom: 1px solid #e7eef5;
  text-align: left;
  vertical-align: top;
}

.diagnostic-cashflow-table th {
  background: #f1f6fa;
  color: #557087;
  font-weight: 800;
  white-space: nowrap;
}

.diagnostic-cashflow-table tbody tr:last-child td {
  border-bottom: 0;
}

.diagnostic-income-summary {
  margin-bottom: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.diagnostic-income-summary article {
  padding: 15px 17px;
  border: 1px solid #dce7f1;
  border-radius: 15px;
  background: #f7fbff;
}

.diagnostic-income-summary small,
.diagnostic-income-summary strong,
.diagnostic-income-summary span {
  display: block;
}

.diagnostic-income-summary small {
  color: #6d8296;
}

.diagnostic-income-summary strong {
  margin: 5px 0;
  color: #0b527d;
  font-size: 22px;
}

.diagnostic-income-summary span {
  color: #8495a6;
  font-size: 11px;
}

.diagnostic-flow-summary {
  margin-bottom: 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.diagnostic-flow-summary article {
  min-height: 114px;
  padding: 15px 16px;
  border: 1px solid #dce7f1;
  border-radius: 15px;
  background: #f8fbfe;
}

.diagnostic-flow-summary article.is-income {
  border-color: #cfe9dd;
  background: #f3fbf7;
}

.diagnostic-flow-summary article.is-funding {
  border-color: #d8e5f3;
  background: #f5f9fd;
}

.diagnostic-flow-summary article.is-expense {
  border-color: #f1d8db;
  background: #fff7f8;
}

.diagnostic-flow-summary article.is-debt {
  border-color: #efdcbf;
  background: #fffaf2;
}

.diagnostic-flow-summary small,
.diagnostic-flow-summary strong,
.diagnostic-flow-summary span {
  display: block;
}

.diagnostic-flow-summary small {
  color: #71869a;
  font-weight: 700;
}

.diagnostic-flow-summary strong {
  margin: 7px 0 6px;
  color: #123f61;
  font-size: 22px;
}

.diagnostic-flow-summary article.is-income strong {
  color: #16835e;
}

.diagnostic-flow-summary article.is-expense strong {
  color: #ca4d58;
}

.diagnostic-flow-summary article.is-debt strong {
  color: #a86513;
}

.diagnostic-flow-summary span {
  color: #8394a5;
  font-size: 11px;
  line-height: 1.55;
}

.diagnostic-flow-analysis-grid,
.diagnostic-flow-counterparties {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.diagnostic-flow-composition-card,
.diagnostic-flow-monthly-detail,
.diagnostic-flow-counterparties > article {
  padding: 16px;
  border: 1px solid #dce7f1;
  border-radius: 16px;
  background: #fbfdff;
}

.diagnostic-flow-composition-card > header {
  margin-bottom: 14px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.diagnostic-flow-composition-card > header small,
.diagnostic-flow-composition-card > header h4,
.diagnostic-flow-composition-card > header strong {
  display: block;
  margin: 0;
}

.diagnostic-flow-composition-card > header small {
  margin-bottom: 3px;
  color: #7d90a2;
  font-size: 10px;
}

.diagnostic-flow-composition-card > header h4 {
  color: #163e60;
  font-size: 16px;
}

.diagnostic-flow-composition-card > header strong {
  color: #163e60;
  font-size: 18px;
}

.diagnostic-flow-monthly-detail {
  margin-top: 14px;
}

.diagnostic-flow-month-table td:first-child strong,
.diagnostic-flow-month-table td:first-child small {
  display: block;
  white-space: nowrap;
}

.diagnostic-flow-month-table td:first-child small {
  margin-top: 3px;
  color: #9a7d4a;
  font-size: 9px;
}

.diagnostic-flow-counterparties {
  margin-top: 14px;
}

.diagnostic-counterparty-list {
  display: grid;
  gap: 9px;
}

.diagnostic-counterparty-row {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.diagnostic-counterparty-row > span {
  width: 26px;
  height: 26px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: #eaf3fb;
  color: #2878bb;
  font-size: 10px;
  font-weight: 800;
}

.diagnostic-counterparty-row > div {
  min-width: 0;
}

.diagnostic-counterparty-row strong,
.diagnostic-counterparty-row small,
.diagnostic-counterparty-row i {
  display: block;
}

.diagnostic-counterparty-row strong {
  overflow: hidden;
  color: #294b66;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.diagnostic-counterparty-row small {
  margin: 2px 0 5px;
  color: #8798a8;
  font-size: 9px;
}

.diagnostic-counterparty-row i {
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  background: #e7edf2;
}

.diagnostic-counterparty-row i b {
  height: 100%;
  display: block;
  border-radius: inherit;
  background: #55a8df;
}

.diagnostic-counterparty-row > em {
  color: #173f5f;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.diagnostic-flow-overall,
.diagnostic-flow-monthly-chains,
.diagnostic-flow-relations {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #dce7f1;
  border-radius: 16px;
  background: #fbfdff;
}

.diagnostic-flow-chain-diagram {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 24px minmax(150px, .72fr) 24px minmax(180px, 1fr);
  align-items: stretch;
  gap: 8px;
}

.diagnostic-flow-chain-diagram.has-balance {
  grid-template-columns: minmax(180px, 1fr) 24px minmax(150px, .72fr) 24px minmax(180px, 1fr) 24px minmax(120px, .52fr);
}

.diagnostic-flow-chain-diagram > article {
  min-width: 0;
  padding: 13px;
  border: 1px solid #dee8f1;
  border-radius: 14px;
  background: #fff;
}

.diagnostic-flow-chain-diagram > article > header {
  margin-bottom: 10px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
}

.diagnostic-flow-chain-diagram > article > header small,
.diagnostic-flow-chain-diagram > article > header strong,
.diagnostic-flow-chain-pool > small,
.diagnostic-flow-chain-pool > strong,
.diagnostic-flow-chain-balance > small,
.diagnostic-flow-chain-balance > strong,
.diagnostic-flow-chain-balance > span {
  display: block;
}

.diagnostic-flow-chain-diagram > article > header small,
.diagnostic-flow-chain-pool > small,
.diagnostic-flow-chain-balance > small {
  color: #73899b;
  font-size: 10px;
  font-weight: 800;
}

.diagnostic-flow-chain-diagram > article > header strong {
  color: #143f60;
  font-size: 15px;
}

.diagnostic-flow-chain-arrow {
  display: grid;
  place-items: center;
  color: #83a4bc;
  font-size: 22px;
  font-weight: 700;
}

.diagnostic-flow-chain-rows {
  display: grid;
  gap: 8px;
}

.diagnostic-flow-chain-rows > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 8px;
}

.diagnostic-flow-chain-rows span,
.diagnostic-flow-chain-rows strong,
.diagnostic-flow-chain-rows small,
.diagnostic-flow-chain-rows i {
  display: block;
  min-width: 0;
}

.diagnostic-flow-chain-rows strong {
  overflow: hidden;
  color: #284d68;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.diagnostic-flow-chain-rows small {
  margin-top: 1px;
  color: #8a9aa8;
  font-size: 9px;
}

.diagnostic-flow-chain-rows b {
  color: #173f5f;
  font-size: 10px;
  white-space: nowrap;
}

.diagnostic-flow-chain-rows i {
  grid-column: 1 / -1;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9eef2;
}

.diagnostic-flow-chain-rows i em {
  height: 100%;
  display: block;
  border-radius: inherit;
  background: #43b58a;
}

.diagnostic-flow-chain-rows.is-outflow i em {
  background: #e76870;
}

.diagnostic-flow-chain-pool {
  border-color: #c9dfef !important;
  background: linear-gradient(145deg, #edf7ff, #f8fcff) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.diagnostic-flow-chain-pool > strong {
  margin: 4px 0 12px;
  color: #146aa4;
  font-size: 19px;
}

.diagnostic-flow-chain-pool dl {
  margin: 0;
  display: grid;
  gap: 8px;
}

.diagnostic-flow-chain-pool dl > div {
  padding-top: 7px;
  border-top: 1px solid #d6e7f3;
}

.diagnostic-flow-chain-pool dt,
.diagnostic-flow-chain-pool dd {
  margin: 0;
  display: block;
}

.diagnostic-flow-chain-pool dt {
  color: #7890a3;
  font-size: 9px;
}

.diagnostic-flow-chain-pool dd {
  margin-top: 2px;
  color: #173f5f;
  font-size: 11px;
  font-weight: 800;
}

.diagnostic-flow-chain-pool dd.is-positive,
.diagnostic-flow-month-chain .is-positive,
.diagnostic-flow-relations b.is-positive {
  color: #15835d;
}

.diagnostic-flow-chain-pool dd.is-negative,
.diagnostic-flow-month-chain .is-negative,
.diagnostic-flow-relations b.is-negative {
  color: #d24f59;
}

.diagnostic-flow-chain-balance {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-color: #ead9b6 !important;
  background: #fffbf3 !important;
}

.diagnostic-flow-chain-balance > strong {
  margin: 5px 0;
  color: #9b681f;
  font-size: 18px;
}

.diagnostic-flow-chain-balance > span {
  color: #9b8b72;
  font-size: 9px;
  line-height: 1.5;
}

.diagnostic-flow-overall-analysis,
.diagnostic-flow-month-analysis {
  margin-top: 12px;
  padding: 13px 15px;
  border-left: 4px solid #2f91c6;
  border-radius: 0 12px 12px 0;
  background: #f0f8fd;
}

.diagnostic-flow-overall-analysis ul,
.diagnostic-flow-month-analysis ul {
  margin: 6px 0 0;
  padding-left: 18px;
  color: #536f83;
  font-size: 11px;
  line-height: 1.75;
}

.diagnostic-flow-monthly-chains > div:last-child {
  display: grid;
  gap: 10px;
}

.diagnostic-flow-month-chain {
  overflow: hidden;
  border: 1px solid #dce7f0;
  border-radius: 14px;
  background: #fff;
}

.diagnostic-flow-month-chain > summary {
  min-height: 72px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 1.2fr repeat(4, minmax(100px, .8fr)) 18px;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

.diagnostic-flow-month-chain > summary::-webkit-details-marker {
  display: none;
}

.diagnostic-flow-month-chain > summary:hover {
  background: #f7fbfe;
}

.diagnostic-flow-month-chain > summary > span,
.diagnostic-flow-month-chain > summary strong,
.diagnostic-flow-month-chain > summary small,
.diagnostic-flow-month-chain > summary b {
  display: block;
}

.diagnostic-flow-month-chain > summary strong {
  color: #123e60;
  font-size: 14px;
}

.diagnostic-flow-month-chain > summary small {
  color: #8497a6;
  font-size: 9px;
}

.diagnostic-flow-month-chain > summary b {
  margin-top: 3px;
  color: #214c6b;
  font-size: 12px;
}

.diagnostic-flow-month-chain > summary > i {
  color: #7891a5;
  font-size: 18px;
  font-style: normal;
  transition: transform .18s ease;
}

.diagnostic-flow-month-chain[open] > summary > i {
  transform: rotate(180deg);
}

.diagnostic-flow-month-chain > div {
  padding: 14px;
  border-top: 1px solid #e3ebf2;
  background: #fbfdff;
}

.diagnostic-flow-relations > div:last-child {
  display: grid;
  gap: 8px;
}

.diagnostic-flow-relations article {
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid #e0e9f1;
  border-radius: 11px;
  background: #fff;
}

.diagnostic-flow-relations article > span {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: #eaf4fb;
  color: #2777ad;
  font-size: 10px;
  font-weight: 800;
}

.diagnostic-flow-relations article strong,
.diagnostic-flow-relations article small {
  display: block;
}

.diagnostic-flow-relations article strong {
  color: #244a67;
  font-size: 12px;
}

.diagnostic-flow-relations article small {
  margin-top: 2px;
  color: #8497a7;
  font-size: 9px;
}

.diagnostic-flow-relations article p {
  margin: 5px 0 0;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #59758a;
  font-size: 10px;
}

.diagnostic-flow-relations article p em {
  font-style: normal;
}

.diagnostic-flow-relations article p i {
  color: #83a0b4;
  font-style: normal;
}

.diagnostic-flow-relations article > b {
  font-size: 11px;
  white-space: nowrap;
}

.diagnostic-income-layout {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 14px;
}

.diagnostic-income-layout article {
  padding: 16px;
}

.diagnostic-income-layout h4 {
  margin: 0 0 12px;
  color: #163d5e;
}

.diagnostic-income-category-list,
.diagnostic-evidence-list {
  display: grid;
  gap: 8px;
}

.diagnostic-income-category-list > div,
.diagnostic-evidence-list > div {
  padding: 10px 12px;
  border-radius: 10px;
  background: #f1f7fb;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.diagnostic-income-category-list span,
.diagnostic-evidence-list span {
  color: #718599;
  font-size: 11px;
}

.diagnostic-evidence-list > div {
  display: grid;
}

.diagnostic-evidence-help {
  margin: -4px 0 12px;
  color: #70869a;
  font-size: 12px;
  line-height: 1.7;
}

.diagnostic-evidence-list.is-anomaly {
  margin-top: 12px;
}

.diagnostic-evidence-accordion {
  overflow: hidden;
  border: 1px solid #d9e6f1;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(29, 69, 105, 0.05);
}

.diagnostic-evidence-accordion > summary {
  min-height: 70px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  list-style: none;
}

.diagnostic-evidence-accordion > summary::-webkit-details-marker {
  display: none;
}

.diagnostic-evidence-accordion > summary:hover {
  background: #f7fbff;
}

.diagnostic-evidence-index {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #eaf4ff;
  color: #1972cf !important;
  display: grid;
  place-items: center;
  font-size: 12px !important;
  font-weight: 800;
}

.diagnostic-evidence-title {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.diagnostic-evidence-title strong {
  overflow: hidden;
  color: #123b5c;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.diagnostic-evidence-title small {
  overflow: hidden;
  color: #718599;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.diagnostic-review-badge {
  padding: 5px 9px;
  border-radius: 999px;
  white-space: nowrap;
  font-size: 11px !important;
  font-weight: 700;
}

.diagnostic-review-badge.is-reviewed {
  background: #e8f8f0;
  color: #16885f !important;
}

.diagnostic-review-badge.is-pending {
  background: #fff3df;
  color: #b87212 !important;
}

.diagnostic-evidence-chevron {
  color: #66829b !important;
  font-size: 18px !important;
  transition: transform 0.18s ease;
}

.diagnostic-evidence-accordion[open] .diagnostic-evidence-chevron {
  transform: rotate(180deg);
}

.diagnostic-evidence-body {
  padding: 0 14px 14px;
  border-top: 1px solid #e5edf4;
  background: #fbfdff;
}

.diagnostic-evidence-review {
  margin: 12px 0;
  padding: 11px 13px;
  border-left: 3px solid #2e84df;
  border-radius: 0 10px 10px 0;
  background: #eef6ff;
  display: grid;
  gap: 4px;
}

.diagnostic-evidence-review strong {
  color: #184f7d;
  font-size: 12px;
}

.diagnostic-evidence-review span {
  color: #526d84;
  font-size: 12px;
  line-height: 1.7;
}

.diagnostic-evidence-empty {
  padding: 14px;
  border: 1px dashed #e2b36b;
  border-radius: 10px;
  background: #fff9ef;
  color: #8b611f;
  font-size: 12px;
  line-height: 1.7;
}

.diagnostic-anomaly-notice {
  padding: 13px 16px;
  border: 1px solid #f0d4c4;
  border-radius: 14px;
  background: #fff7f2;
  display: flex;
  align-items: center;
  gap: 12px;
}

.diagnostic-anomaly-notice strong {
  color: #b75b38;
}

.diagnostic-anomaly-notice span {
  color: #7c8791;
  font-size: 12px;
}

.diagnostic-anomaly-tag {
  padding: 3px 7px;
  border-radius: 999px;
  background: #fff0e7;
  color: #b85c39;
  font-size: 11px;
  white-space: nowrap;
}

.diagnostic-risk-notice {
  padding: 13px 16px;
  border: 1px solid #d8e3ee;
  border-radius: 14px;
  background: #f7fafc;
  display: flex;
  align-items: center;
  gap: 12px;
}

.diagnostic-risk-notice strong {
  color: #214d6e;
}

.diagnostic-risk-notice span {
  color: #7a8d9e;
  font-size: 12px;
}

.diagnostic-risk-overview {
  margin: 12px 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.diagnostic-risk-overview article {
  min-height: 116px;
  padding: 13px 14px;
  border: 1px solid #dce7f1;
  border-radius: 14px;
  background: #fff;
}

.diagnostic-risk-overview article.is-debt {
  border-top: 4px solid #d98632;
}

.diagnostic-risk-overview article.is-outflow {
  border-top: 4px solid #d95863;
}

.diagnostic-risk-overview article.is-large {
  border-top: 4px solid #8f68c5;
}

.diagnostic-risk-overview article.is-mixed {
  border-top: 4px solid #3a8fb9;
}

.diagnostic-risk-overview small,
.diagnostic-risk-overview strong,
.diagnostic-risk-overview span {
  display: block;
}

.diagnostic-risk-overview small {
  color: #526f85;
  font-weight: 800;
}

.diagnostic-risk-overview strong {
  margin: 4px 0;
  color: #163e5e;
  font-size: 25px;
}

.diagnostic-risk-overview span {
  color: #8293a3;
  font-size: 10px;
  line-height: 1.5;
}

.diagnostic-risk-conclusions {
  margin-bottom: 12px;
  padding: 12px 15px;
  border-left: 4px solid #d69745;
  border-radius: 10px;
  background: #fff9f1;
}

.diagnostic-risk-conclusions > strong {
  color: #86581d;
  font-size: 12px;
}

.diagnostic-risk-conclusions ul {
  margin: 6px 0 0;
  padding-left: 18px;
  color: #6f7780;
  font-size: 11px;
  line-height: 1.65;
}

.diagnostic-risk-group-list {
  display: grid;
  gap: 10px;
}

.diagnostic-risk-group {
  overflow: hidden;
  border: 1px solid #dce7f1;
  border-radius: 15px;
  background: #fff;
}

.diagnostic-risk-group > summary {
  min-height: 72px;
  padding: 12px 15px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

.diagnostic-risk-group > summary::-webkit-details-marker,
.diagnostic-risk-item > summary::-webkit-details-marker {
  display: none;
}

.diagnostic-risk-group > summary > span {
  min-width: 0;
  display: grid;
  grid-template-columns: 10px minmax(0, auto) 1fr;
  align-items: center;
  gap: 10px;
}

.diagnostic-risk-group > summary > span i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #d98632;
}

.diagnostic-risk-group.is-outflow > summary > span i {
  background: #d95863;
}

.diagnostic-risk-group.is-large > summary > span i {
  background: #8f68c5;
}

.diagnostic-risk-group.is-mixed > summary > span i {
  background: #3a8fb9;
}

.diagnostic-risk-group > summary strong {
  color: #214b69;
}

.diagnostic-risk-group > summary small {
  overflow: hidden;
  color: #7f91a1;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.diagnostic-risk-group > summary > em {
  padding: 5px 9px;
  border-radius: 999px;
  background: #edf4f9;
  color: #4f7088;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.diagnostic-risk-group > summary > b {
  color: #7890a3;
  font-size: 18px;
  transition: transform .18s ease;
}

.diagnostic-risk-group[open] > summary > b {
  transform: rotate(180deg);
}

.diagnostic-risk-group > div {
  padding: 12px;
  border-top: 1px solid #e5edf4;
  background: #f8fbfd;
  display: grid;
  gap: 8px;
}

.diagnostic-risk-item {
  overflow: hidden;
  border: 1px solid #dce7f1;
  border-radius: 12px;
  background: #fff;
}

.diagnostic-risk-item > summary {
  min-height: 62px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  list-style: none;
}

.diagnostic-risk-item > summary > span {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: #edf4f9;
  color: #42728f;
  font-size: 10px;
  font-weight: 800;
}

.diagnostic-risk-item > summary > div {
  min-width: 0;
}

.diagnostic-risk-signals {
  margin-top: 7px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.diagnostic-risk-signals span {
  padding: 5px 7px;
  border: 1px solid #dbe7f0;
  border-radius: 8px;
  background: #f7fafc;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.diagnostic-risk-signals strong,
.diagnostic-risk-signals small {
  overflow: visible !important;
  margin: 0 !important;
  color: #426984 !important;
  font-size: 10px !important;
  line-height: 1.25;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

.diagnostic-risk-signals small {
  color: #7e91a1 !important;
  font-weight: 500;
}

.diagnostic-risk-item > summary strong,
.diagnostic-risk-item > summary small {
  display: block;
}

.diagnostic-risk-item > summary strong {
  overflow: hidden;
  color: #244c68;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.diagnostic-risk-item > summary small {
  margin-top: 3px;
  color: #8495a5;
  font-size: 10px;
}

.diagnostic-risk-item > summary > em {
  color: #44789a;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.diagnostic-risk-item > summary > i {
  color: #7c91a3;
  font-style: normal;
  transition: transform .18s ease;
}

.diagnostic-risk-item[open] > summary > i {
  transform: rotate(180deg);
}

.diagnostic-risk-item > div {
  padding: 12px;
  border-top: 1px solid #e7eef4;
  background: #fbfdff;
}

.diagnostic-risk-item > div > p {
  margin: 0 0 10px;
  color: #62798c;
  font-size: 11px;
  line-height: 1.65;
}

.diagnostic-stability-stat {
  min-height: 100px;
  margin-bottom: 10px;
  border-radius: 15px;
  background: #eefaf5;
  display: grid;
  place-content: center;
  text-align: center;
}

.diagnostic-stability-stat strong {
  color: #159064;
  font-size: 30px;
}

.diagnostic-stability-stat span,
.diagnostic-hidden-liability span {
  color: #70869a;
  font-size: 11px;
}

.diagnostic-hidden-liability {
  padding: 14px;
  border-radius: 14px;
  background: #fff6f0;
}

.diagnostic-hidden-liability strong,
.diagnostic-hidden-liability span {
  display: block;
}

.diagnostic-hidden-liability strong {
  margin-bottom: 6px;
  color: #b45737;
}

.diagnostic-cashflow-visual-grid ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: #657b91;
  font-size: 12px;
  line-height: 1.65;
}

.diagnostic-modal-callout {
  margin: 0 22px 16px;
  border-color: #c8e9d9;
  background: #f3fcf7;
  color: #247859;
}

.diagnostic-modal-callout strong,
.diagnostic-modal-callout p {
  display: inline;
  margin: 0;
}

.diagnostic-asset-layout {
  padding: 20px 24px;
  background: #fbfdff;
  display: grid;
  grid-template-columns: 235px minmax(0, 1fr) 275px;
  gap: 16px;
}

.diagnostic-asset-layout article {
  margin-bottom: 14px;
  padding: 17px;
  border: 1px solid #dfe8f1;
  border-radius: 17px;
  background: #fff;
}

.diagnostic-asset-pending {
  min-height: 140px;
  display: grid;
  place-content: center;
  justify-items: center;
  color: #9aabbc;
}

.diagnostic-asset-pending svg {
  width: 60px;
  height: 60px;
  margin-bottom: 10px;
  color: #cbd6e1;
}

.diagnostic-asset-pending strong,
.diagnostic-asset-pending small {
  display: block;
}

.diagnostic-asset-progress {
  display: flex;
  align-items: center;
  gap: 12px;
}

.diagnostic-asset-progress i {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: conic-gradient(#4e8fea 0 var(--progress), #edf2f7 var(--progress) 360deg);
  mask: radial-gradient(circle, transparent 55%, #000 57%);
}

.diagnostic-asset-progress strong {
  color: #173f67;
  font-size: 22px;
}

.diagnostic-asset-layout ul {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.diagnostic-asset-layout li {
  padding: 6px 0 6px 23px;
  color: #71869b;
  position: relative;
}

.diagnostic-asset-layout li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 12px;
  height: 12px;
  border: 2px solid #a9bdd0;
  border-radius: 50%;
}

.diagnostic-asset-layout li.is-done::before {
  border-color: #35af7d;
  background: #35af7d;
}

.diagnostic-asset-categories {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.diagnostic-asset-categories > div {
  min-height: 142px;
  padding: 16px 8px;
  border: 1px solid #e0e9f2;
  border-radius: 15px;
  text-align: center;
}

.diagnostic-asset-categories span {
  width: 50px;
  height: 50px;
  margin: 0 auto 9px;
  padding: 12px;
  border-radius: 50%;
  background: #eef5ff;
  color: #347bd7;
  display: block;
}

.diagnostic-asset-categories strong,
.diagnostic-asset-categories em,
.diagnostic-asset-categories small {
  display: block;
}

.diagnostic-asset-categories strong {
  color: #153e65;
}

.diagnostic-asset-categories em {
  margin-top: 8px;
  color: #ca7c17;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.diagnostic-asset-categories small {
  margin-top: 4px;
  color: #8a9bac;
  font-size: 10px;
}

.diagnostic-property-detail-section {
  margin-bottom: 14px;
  padding: 18px;
  border: 1px solid #d8e6f2;
  border-radius: 17px;
  background: #f7fbff;
}

.diagnostic-property-detail-section > div:first-child {
  margin-bottom: 14px;
}

.diagnostic-property-detail-section > div:first-child h4,
.diagnostic-property-detail-section > div:first-child p {
  margin: 0;
}

.diagnostic-property-detail-section > div:first-child p {
  margin-top: 5px;
  color: #6f859a;
  font-size: 13px;
  line-height: 1.6;
}

.diagnostic-property-card {
  margin: 0 0 14px !important;
  padding: 17px 18px !important;
  border-color: #cddfec !important;
  border-radius: 14px !important;
}

.diagnostic-property-card:last-child {
  margin-bottom: 0 !important;
}

.diagnostic-property-card > header,
.diagnostic-property-mortgage > header,
.diagnostic-asset-ai-review > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.diagnostic-property-card > header small,
.diagnostic-property-card > header h5 {
  display: block;
  margin: 0;
}

.diagnostic-property-card > header small {
  color: #2b78ba;
  font-size: 12px;
  font-weight: 800;
}

.diagnostic-property-card > header h5 {
  margin-top: 4px;
  color: #123f66;
  font-size: 17px;
  line-height: 1.45;
}

.diagnostic-property-card > header em,
.diagnostic-asset-ai-review > header em {
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff2d9;
  color: #a9680d;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.diagnostic-property-evidence {
  margin: 11px 0 13px;
  padding: 9px 11px;
  border-left: 3px solid #3f8bd0;
  background: #eef6fd;
  color: #47677f;
  font-size: 13px;
  line-height: 1.55;
}

.diagnostic-property-facts,
.diagnostic-property-mortgage dl {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid #e0e9f1;
  border-radius: 11px;
  background: #e0e9f1;
}

.diagnostic-property-facts > div,
.diagnostic-property-mortgage dl > div {
  min-width: 0;
  padding: 10px 12px;
  background: #fff;
}

.diagnostic-property-facts dt,
.diagnostic-property-facts dd,
.diagnostic-property-mortgage dt,
.diagnostic-property-mortgage dd {
  margin: 0;
}

.diagnostic-property-facts dt,
.diagnostic-property-mortgage dt {
  color: #758a9d;
  font-size: 12px;
}

.diagnostic-property-facts dd,
.diagnostic-property-mortgage dd {
  margin-top: 4px;
  color: #153f64;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.diagnostic-property-facts .is-warning dd,
.diagnostic-property-mortgage .is-warning dd {
  color: #b26b08;
}

.diagnostic-property-facts .is-boundary dd,
.diagnostic-property-mortgage .is-boundary dd {
  color: #6d5a8d;
}

.diagnostic-property-mortgages {
  margin-top: 14px;
}

.diagnostic-property-mortgage {
  margin-top: 10px;
  padding: 14px;
  border: 1px solid #f0d49e;
  border-radius: 12px;
  background: #fffaf1;
}

.diagnostic-property-mortgage > header {
  margin-bottom: 10px;
}

.diagnostic-property-mortgage > header strong {
  color: #8d5a13;
  font-size: 14px;
}

.diagnostic-property-mortgage > header small {
  color: #7d8f9f;
  font-size: 12px;
  text-align: right;
}

.diagnostic-property-mortgage > p,
.diagnostic-property-no-mortgage,
.diagnostic-property-empty {
  margin: 10px 0 0;
  color: #6d8092;
  font-size: 13px;
  line-height: 1.6;
}

.diagnostic-property-warning {
  padding: 9px 11px;
  border-radius: 9px;
  background: #fff0d2;
  color: #925d0d !important;
}

.diagnostic-asset-ai-review {
  border-color: #d9cceb !important;
  border-left: 5px solid #8158b4 !important;
  background: #fbf8ff !important;
}

.diagnostic-asset-ai-review > header small,
.diagnostic-asset-ai-review > header h4,
.diagnostic-asset-ai-review > p {
  margin: 0;
}

.diagnostic-asset-ai-review > header small {
  color: #8158b4;
  font-size: 12px;
  font-weight: 800;
}

.diagnostic-asset-ai-review > p {
  margin-top: 11px;
  color: #344f68;
  font-size: 14px;
  line-height: 1.7;
}

.diagnostic-asset-ai-review section {
  margin-top: 12px;
}

.diagnostic-asset-ai-review section > strong {
  color: #5e3f82;
  font-size: 13px;
}

.diagnostic-asset-ai-review ul {
  margin-top: 6px;
}

.diagnostic-liquidity-scale {
  display: grid;
  grid-template-columns: repeat(7, auto);
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  text-align: center;
}

.diagnostic-liquidity-scale span {
  color: #47647e;
}

.diagnostic-liquidity-scale i {
  width: 36px;
  height: 36px;
  margin: 0 auto 7px;
  border-radius: 50%;
  background: #e8f8f1;
  display: block;
}

.diagnostic-liquidity-scale strong,
.diagnostic-liquidity-scale small {
  display: block;
}

.diagnostic-liquidity-scale small,
.diagnostic-asset-layout main article > p,
.diagnostic-asset-meaning dd,
.diagnostic-asset-meaning p {
  color: #8092a4;
  font-size: 10px;
  line-height: 1.5;
}

.diagnostic-asset-meaning dl,
.diagnostic-asset-meaning dt,
.diagnostic-asset-meaning dd {
  margin: 0;
}

.diagnostic-asset-meaning dl > div {
  padding: 9px 0;
  border-bottom: 1px solid #edf2f6;
}

.diagnostic-asset-meaning dt {
  color: #265c87;
  font-weight: 800;
}

.diagnostic-asset-meaning dd {
  margin-top: 3px;
}

.diagnostic-modal-tabs {
  overflow-x: auto;
  scrollbar-width: thin;
}

.diagnostic-modal-tabs button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.diagnostic-reconciliation {
  margin-bottom: 16px;
  padding: 16px 18px;
  border: 1px solid #cfe5db;
  border-left: 5px solid #24a775;
  border-radius: 15px;
  background: linear-gradient(135deg, #f2fbf7, #f8fbfd);
  display: grid;
  grid-template-columns: minmax(270px, 1.2fr) minmax(460px, 1fr);
  gap: 22px;
  align-items: center;
}

.diagnostic-reconciliation.is-review {
  border-color: #f0d7af;
  border-left-color: #d89031;
  background: #fffaf2;
}

.diagnostic-reconciliation small,
.diagnostic-reconciliation h4,
.diagnostic-reconciliation p,
.diagnostic-reconciliation dl,
.diagnostic-reconciliation dt,
.diagnostic-reconciliation dd {
  margin: 0;
}

.diagnostic-reconciliation > div > small {
  color: #16825c;
  font-weight: 800;
}

.diagnostic-reconciliation h4 {
  margin-top: 3px;
  color: #153f61;
  font-size: 18px;
}

.diagnostic-reconciliation p {
  margin-top: 6px;
  color: #687f91;
  font-size: 11px;
  line-height: 1.6;
}

.diagnostic-reconciliation dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.diagnostic-reconciliation dl > div {
  padding: 9px 10px;
  border: 1px solid #e0ebe6;
  border-radius: 10px;
  background: rgba(255, 255, 255, .78);
}

.diagnostic-reconciliation dt {
  color: #7d909f;
  font-size: 9px;
}

.diagnostic-reconciliation dd {
  margin-top: 3px;
  color: #174766;
  font-size: 16px;
  font-weight: 900;
}

.diagnostic-chain-section {
  margin-top: 18px;
  padding-top: 4px;
  border-top: 1px solid #e5edf4;
}

.diagnostic-chain-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.diagnostic-chain-kpis article {
  min-height: 104px;
  padding: 13px 15px;
  border: 1px solid #dae7f0;
  border-radius: 14px;
  background: #fff;
}

.diagnostic-chain-kpis small,
.diagnostic-chain-kpis strong,
.diagnostic-chain-kpis span {
  display: block;
}

.diagnostic-chain-kpis small {
  color: #6f8598;
  font-weight: 700;
}

.diagnostic-chain-kpis strong {
  margin-top: 9px;
  color: #16496d;
  font-size: 21px;
}

.diagnostic-chain-kpis span {
  margin-top: 5px;
  color: #8b9aa8;
  font-size: 10px;
}

.diagnostic-temporal-chain-list,
.diagnostic-adjustment-chain-list,
.diagnostic-entity-grid {
  display: grid;
  gap: 10px;
}

.diagnostic-temporal-chain {
  overflow: hidden;
  border: 1px solid #d9e6ef;
  border-radius: 14px;
  background: #fff;
}

.diagnostic-temporal-chain.is-high {
  border-left: 5px solid #d64f5b;
}

.diagnostic-temporal-chain.is-notice {
  border-left: 5px solid #df9433;
}

.diagnostic-temporal-chain.is-information {
  border-left: 5px solid #2ca67b;
}

.diagnostic-temporal-chain.is-review {
  border-left: 5px solid #7c68ba;
}

.diagnostic-temporal-chain > summary {
  min-height: 74px;
  padding: 12px 15px;
  display: grid;
  grid-template-columns: minmax(230px, 1.4fr) minmax(110px, .7fr) auto minmax(120px, .7fr) minmax(90px, .5fr) 16px;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

.diagnostic-temporal-chain > summary::-webkit-details-marker {
  display: none;
}

.diagnostic-temporal-chain > summary > span:first-child {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 2px 9px;
}

.diagnostic-temporal-chain > summary > span:first-child i {
  grid-row: 1 / 3;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #e9f5ff;
  color: #2779b5;
  display: grid;
  place-items: center;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.diagnostic-temporal-chain summary strong,
.diagnostic-temporal-chain summary small,
.diagnostic-temporal-chain summary span > b {
  display: block;
}

.diagnostic-temporal-chain summary strong,
.diagnostic-temporal-chain summary span > b {
  color: #164668;
}

.diagnostic-temporal-chain summary small,
.diagnostic-temporal-chain summary em {
  color: #8193a2;
  font-size: 10px;
  font-style: normal;
}

.diagnostic-temporal-chain > div {
  padding: 12px 18px 15px;
  border-top: 1px solid #e8eef4;
  background: #f9fbfd;
}

.diagnostic-temporal-chain > div p {
  margin: 0 0 9px;
  color: #718596;
  font-size: 11px;
}

.diagnostic-chain-intent {
  margin-bottom: 12px;
  padding: 14px 15px;
  border: 1px solid #dfe8f0;
  border-radius: 12px;
  background: #fff;
}

.diagnostic-chain-intent header {
  margin-bottom: 9px;
  display: flex;
  align-items: center;
  gap: 11px;
}

.diagnostic-chain-intent header > span {
  padding: 6px 9px;
  border-radius: 999px;
  background: #f0ecfb;
  color: #7059ad;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.diagnostic-chain-intent header > span.is-high {
  background: #fff0f1;
  color: #c74450;
}

.diagnostic-chain-intent header > span.is-notice {
  background: #fff6e9;
  color: #b26b12;
}

.diagnostic-chain-intent header > span.is-information {
  background: #eaf8f3;
  color: #168561;
}

.diagnostic-chain-intent header small,
.diagnostic-chain-intent header h4 {
  display: block;
}

.diagnostic-chain-intent header small {
  color: #8494a2;
  font-size: 11px;
}

.diagnostic-chain-intent header h4 {
  margin: 2px 0 0;
  color: #173f5d;
  font-size: 17px;
}

.diagnostic-temporal-chain > div .diagnostic-chain-intent > p {
  margin: 0;
  color: #405e75;
  font-size: 13px;
  line-height: 1.75;
}

.diagnostic-chain-intent dl {
  margin: 11px 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
}

.diagnostic-chain-intent dl div {
  min-width: 0;
  padding: 8px 9px;
  border-radius: 9px;
  background: #f5f8fb;
}

.diagnostic-chain-intent dt,
.diagnostic-chain-intent dd {
  display: block;
}

.diagnostic-chain-intent dt {
  color: #7a8e9f;
  font-size: 10px;
}

.diagnostic-chain-intent dd {
  margin: 3px 0 0;
  color: #234e6c;
  font-size: 13px;
  font-weight: 800;
}

.diagnostic-chain-intent > small {
  color: #8998a5;
  font-size: 10px;
  line-height: 1.6;
}

.diagnostic-temporal-chain ol {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 5px;
  list-style: none;
}

.diagnostic-temporal-chain li {
  padding: 7px 9px;
  border: 1px solid #e4ebf1;
  border-radius: 8px;
  background: #fff;
  display: grid;
  grid-template-columns: 145px minmax(180px, 1fr) minmax(110px, .5fr) auto;
  gap: 10px;
  color: #667d8f;
  font-size: 10px;
}

.diagnostic-temporal-chain li b {
  color: #d2525c;
}

.diagnostic-adjustment-chain-list article {
  padding: 13px 15px;
  border: 1px solid #dbe7ee;
  border-left: 4px solid #30a879;
  border-radius: 13px;
  background: #fff;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.diagnostic-adjustment-chain-list article.is-unmatched {
  border-left-color: #d58b34;
}

.diagnostic-adjustment-chain-list article > span {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #eaf6f2;
  color: #16875f;
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 900;
}

.diagnostic-adjustment-chain-list strong,
.diagnostic-adjustment-chain-list small,
.diagnostic-adjustment-chain-list p,
.diagnostic-adjustment-chain-list b {
  display: block;
}

.diagnostic-adjustment-chain-list strong {
  color: #1a4b6b;
}

.diagnostic-adjustment-chain-list small,
.diagnostic-adjustment-chain-list p {
  color: #8091a0;
  font-size: 10px;
}

.diagnostic-adjustment-chain-list p {
  margin: 4px 0 0;
}

.diagnostic-adjustment-chain-list b {
  margin-top: 5px;
  color: #19855f;
  font-size: 11px;
}

.diagnostic-entity-grid > article {
  padding: 15px;
  border: 1px solid #dce7ef;
  border-radius: 14px;
  background: #fff;
}

.diagnostic-entity-role-list {
  margin-top: 10px;
  display: grid;
  gap: 7px;
}

.diagnostic-entity-role-row {
  display: grid;
  grid-template-columns: minmax(150px, .75fr) minmax(160px, 1fr) minmax(250px, 1fr);
  align-items: center;
  gap: 12px;
}

.diagnostic-entity-role-row strong,
.diagnostic-entity-role-row small {
  display: block;
}

.diagnostic-entity-role-row strong {
  color: #315b78;
  font-size: 11px;
}

.diagnostic-entity-role-row small,
.diagnostic-entity-role-row b {
  color: #8394a3;
  font-size: 9px;
}

.diagnostic-entity-role-row > span {
  height: 7px;
  border-radius: 999px;
  background: #e8eef2;
}

.diagnostic-entity-role-row > span i {
  height: 100%;
  border-radius: inherit;
  background: #37ae7e;
  display: block;
}

.diagnostic-entity-table-wrap {
  margin-top: 10px;
  overflow-x: auto;
}

.diagnostic-entity-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 10px;
}

.diagnostic-entity-table th,
.diagnostic-entity-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #e7edf2;
  color: #5e7689;
  text-align: left;
}

.diagnostic-entity-table th {
  background: #f6f9fb;
  color: #7890a1;
}

.diagnostic-entity-table td strong,
.diagnostic-entity-table td small,
.diagnostic-entity-table td span {
  display: block;
}

.diagnostic-entity-table td strong {
  color: #1f4f6f;
}

.diagnostic-entity-table td small {
  margin-top: 2px;
  color: #91a0ac;
  font-size: 9px;
}

.diagnostic-intelligence-boundary {
  margin-bottom: 14px;
  padding: 14px 17px;
  border: 1px solid #d6e4ef;
  border-radius: 14px;
  background: linear-gradient(135deg, #f5f9ff, #f6fbf8);
}

.diagnostic-intelligence-boundary > div {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #265b7f;
}

.diagnostic-intelligence-boundary > div strong {
  padding: 8px 12px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(35, 82, 113, .07);
  font-size: 14px;
}

.diagnostic-intelligence-boundary p {
  margin: 11px 0 0;
  color: #536f82;
  font-size: 14px;
  line-height: 1.7;
}

.diagnostic-insight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.diagnostic-insight-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dce7ef;
  border-top: 4px solid #3c8fc1;
  border-radius: 14px;
  background: #fff;
}

.diagnostic-insight-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.diagnostic-insight-card.is-notice {
  border-top-color: #d79a37;
}

.diagnostic-insight-card.is-gate {
  border-top-color: #875fc1;
}

.diagnostic-insight-card.is-fact {
  border-top-color: #2da979;
}

.diagnostic-insight-summary {
  display: block;
  padding: 20px 22px;
  cursor: pointer;
  list-style: none;
}

.diagnostic-insight-summary::-webkit-details-marker {
  display: none;
}

.diagnostic-insight-summary > small {
  color: #5f7c91;
  font-size: 13px;
  font-weight: 800;
}

.diagnostic-insight-grid h4 {
  margin: 5px 0 8px;
  color: #174867;
  font-size: 20px;
  line-height: 1.35;
}

.diagnostic-insight-summary > p {
  margin: 0 0 14px;
  color: #526f83;
  font-size: 14px;
  line-height: 1.7;
}

.diagnostic-insight-summary > dl,
.diagnostic-insight-summary > dl dt,
.diagnostic-insight-summary > dl dd {
  margin: 0;
}

.diagnostic-insight-summary > dl {
  display: grid;
  gap: 10px;
}

.diagnostic-insight-summary > dl > div {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 10px;
}

.diagnostic-insight-summary > dl dt {
  color: #244f6c;
  font-size: 13px;
  font-weight: 900;
}

.diagnostic-insight-summary > dl dd {
  color: #5d7587;
  font-size: 14px;
  line-height: 1.65;
}

.diagnostic-insight-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 15px;
  padding-top: 12px;
  border-top: 1px solid #e5edf3;
  color: #1c70a9;
  font-size: 13px;
  font-weight: 850;
}

.diagnostic-insight-toggle i {
  font-style: normal;
  transition: transform .2s ease;
}

.diagnostic-insight-card[open] .diagnostic-insight-toggle i {
  transform: rotate(180deg);
}

.diagnostic-insight-card[open] .diagnostic-insight-toggle {
  color: #14587f;
}

.diagnostic-insight-evidence {
  padding: 18px 22px 22px;
  border-top: 1px solid #dce7ef;
  background: #f7fafc;
}

.diagnostic-insight-evidence h5,
.diagnostic-insight-evidence h6 {
  margin: 0;
  color: #173f5d;
}

.diagnostic-insight-evidence h5 {
  font-size: 16px;
}

.diagnostic-insight-evidence h6 {
  margin-top: 16px;
  font-size: 13px;
}

.diagnostic-insight-evidence-note,
.diagnostic-insight-evidence-empty {
  margin: 9px 0 0;
  color: #60798b;
  font-size: 13px;
  line-height: 1.65;
}

.diagnostic-insight-evidence-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 9px;
  margin-top: 12px;
}

.diagnostic-insight-evidence-metrics > span {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #dce7ef;
  border-radius: 10px;
  background: #fff;
}

.diagnostic-insight-evidence-metrics small,
.diagnostic-insight-evidence-metrics strong,
.diagnostic-insight-evidence-metrics em {
  display: block;
}

.diagnostic-insight-evidence-metrics small {
  color: #6c8394;
  font-size: 11px;
}

.diagnostic-insight-evidence-metrics strong {
  margin-top: 4px;
  color: #13466a;
  font-size: 16px;
}

.diagnostic-insight-evidence-metrics em {
  margin-top: 3px;
  color: #8797a2;
  font-size: 10px;
  font-style: normal;
}

.diagnostic-insight-evidence-table {
  margin-top: 10px;
  overflow: auto;
  border: 1px solid #dce7ef;
  border-radius: 10px;
  background: #fff;
}

.diagnostic-insight-evidence-table table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.diagnostic-insight-evidence-table th,
.diagnostic-insight-evidence-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #e6edf2;
  color: #456478;
  font-size: 11px;
  text-align: left;
  white-space: nowrap;
}

.diagnostic-insight-evidence-table th {
  color: #526f83;
  background: #eef4f8;
  font-weight: 850;
}

.diagnostic-insight-formula {
  display: flex;
  align-items: stretch;
  gap: 7px;
  margin-top: 12px;
  overflow-x: auto;
}

.diagnostic-insight-formula > span {
  min-width: 145px;
  padding: 11px;
  border: 1px solid #dce7ef;
  border-radius: 10px;
  color: #184e73;
  background: #fff;
  font-size: 16px;
  font-weight: 850;
}

.diagnostic-insight-formula > span.is-result {
  border-color: #86cdb1;
  color: #11704f;
  background: #eff9f5;
}

.diagnostic-insight-formula span small {
  display: block;
  margin-top: 4px;
  color: #738797;
  font-size: 10px;
  font-weight: 500;
}

.diagnostic-insight-formula > b {
  align-self: center;
  color: #70889a;
  font-size: 16px;
}

.diagnostic-capacity-gate {
  margin-top: 14px;
  overflow: hidden;
  border: 1px solid #e1d7ef;
  border-radius: 15px;
  background: #fff;
}

.diagnostic-capacity-gate > header {
  padding: 20px 22px;
  background: #faf7fd;
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.diagnostic-capacity-gate header small,
.diagnostic-capacity-gate header h3,
.diagnostic-capacity-gate header p {
  margin: 0;
}

.diagnostic-capacity-gate header small {
  color: #8664ae;
  font-size: 13px;
  font-weight: 800;
}

.diagnostic-capacity-gate header h3 {
  margin-top: 5px;
  color: #3f3161;
  font-size: 22px;
}

.diagnostic-capacity-gate header p {
  max-width: 980px;
  margin-top: 8px;
  color: #665d74;
  font-size: 14px;
  line-height: 1.65;
}

.diagnostic-capacity-gate header > strong {
  color: #7752a5;
  font-size: 27px;
}

.diagnostic-capacity-review-score {
  min-width: 112px;
  text-align: right;
}

.diagnostic-capacity-review-score span,
.diagnostic-capacity-review-score strong {
  display: block;
}

.diagnostic-capacity-review-score span {
  color: #8d7aa3;
  font-size: 13px;
  font-weight: 800;
}

.diagnostic-capacity-review-score strong {
  margin-top: 4px;
  color: #7752a5;
  font-size: 34px;
}

.diagnostic-capacity-calculation {
  padding: 18px 20px;
  border-top: 1px solid #ebe3f4;
  border-bottom: 1px solid #ebe3f4;
  background: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  align-items: stretch;
  gap: 18px;
}

.diagnostic-capacity-steps {
  display: grid;
  gap: 10px;
}

.diagnostic-capacity-steps article {
  padding: 14px 16px;
  border: 1px solid #dfe8ee;
  border-radius: 12px;
  background: #f9fbfc;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.diagnostic-capacity-steps article > i {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e8f2f8;
  color: #276b93;
  display: grid;
  place-items: center;
  font-style: normal;
  font-weight: 900;
}

.diagnostic-capacity-steps small,
.diagnostic-capacity-steps strong,
.diagnostic-capacity-steps p {
  display: block;
  margin: 0;
}

.diagnostic-capacity-steps small {
  color: #4e7086;
  font-size: 14px;
  font-weight: 800;
}

.diagnostic-capacity-steps strong {
  margin-top: 4px;
  color: #174867;
  font-size: 22px;
}

.diagnostic-capacity-steps p {
  margin-top: 5px;
  color: #657d8d;
  font-size: 13px;
  line-height: 1.6;
}

.diagnostic-capacity-answer {
  padding: 22px;
  border-color: #c8b5e3;
  border: 1px solid #c8b5e3;
  border-radius: 14px;
  background: #f7f1fc;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.diagnostic-capacity-answer > small {
  color: #745894;
  font-size: 13px;
  font-weight: 800;
}

.diagnostic-capacity-answer h4 {
  margin: 8px 0 0;
  color: #3f3161;
  font-size: 22px;
}

.diagnostic-capacity-answer h4 strong {
  display: inline;
  color: #684392;
  font-size: 32px;
}

.diagnostic-capacity-answer > p {
  margin: 8px 0 14px;
  color: #6e627d;
  font-size: 14px;
  line-height: 1.6;
}

.diagnostic-capacity-answer > div {
  padding: 12px 14px;
  border-radius: 10px;
  background: #fff;
}

.diagnostic-capacity-answer > div span,
.diagnostic-capacity-answer > div strong,
.diagnostic-capacity-answer > em {
  display: block;
}

.diagnostic-capacity-answer > div span {
  color: #6f6680;
  font-size: 13px;
  line-height: 1.55;
}

.diagnostic-capacity-answer > div strong {
  margin-top: 5px;
  color: #684392;
  font-size: 18px;
}

.diagnostic-capacity-answer > em {
  margin-top: 11px;
  color: #776c84;
  font-size: 12px;
  font-style: normal;
  line-height: 1.6;
}

.diagnostic-capacity-inputs {
  padding: 10px 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 16px;
}

.diagnostic-capacity-inputs > div {
  padding: 12px 0;
  border-bottom: 1px solid #edf0f3;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.diagnostic-capacity-inputs i {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f0edf4;
  color: #8c799f;
  display: grid;
  place-items: center;
  font-style: normal;
}

.diagnostic-capacity-inputs .is-ready i {
  background: #e4f6ef;
  color: #17865e;
}

.diagnostic-capacity-inputs .is-auto i,
.diagnostic-capacity-inputs .is-cross i {
  background: #e7f2fb;
  color: #287fb4;
}

.diagnostic-capacity-inputs .is-estimate i {
  background: #fff4dc;
  color: #a86d12;
}

.diagnostic-capacity-inputs strong,
.diagnostic-capacity-inputs small {
  display: block;
}

.diagnostic-capacity-inputs strong {
  color: #385b73;
  font-size: 15px;
}

.diagnostic-capacity-inputs small {
  margin-top: 4px;
  color: #687f90;
  font-size: 13px;
  line-height: 1.55;
}

.diagnostic-capacity-inputs em {
  color: #926c31;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.diagnostic-capacity-inputs .is-ready em {
  color: #18805c;
}

.diagnostic-capacity-inputs .is-auto em,
.diagnostic-capacity-inputs .is-cross em {
  color: #2878a7;
}

.diagnostic-capacity-inputs .is-estimate em {
  color: #9a6719;
}

.diagnostic-capacity-gate > aside {
  margin: 0 16px 14px;
  padding: 14px 16px;
  border-radius: 10px;
  background: #f6f8fa;
  color: #5f7789;
  font-size: 13px;
}

.diagnostic-capacity-gate > aside p {
  margin: 6px 0 0;
  line-height: 1.65;
}

[data-diagnostic-cashflow-panel="intelligence"] > .diagnostic-cashflow-panel-head h3 {
  font-size: 22px;
}

[data-diagnostic-cashflow-panel="intelligence"] > .diagnostic-cashflow-panel-head p {
  font-size: 14px;
  line-height: 1.65;
}

@media (max-width: 1050px) {
  .diagnostic-modal-metric-grid,
  .diagnostic-cashflow-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnostic-cashflow-summary > div:first-child {
    grid-column: 1 / -1;
  }

  .diagnostic-debt-visual-grid,
  .diagnostic-cashflow-visual-grid,
  .diagnostic-asset-layout {
    grid-template-columns: 1fr;
  }

  .diagnostic-debt-visual-grid > article,
  .diagnostic-cashflow-visual-grid > article {
    padding: 16px 10px;
    border-right: 0;
    border-bottom: 1px solid #e4edf5;
  }

  .diagnostic-asset-layout > aside,
  .diagnostic-asset-layout > main,
  .diagnostic-asset-meaning {
    min-width: 0;
  }

  .diagnostic-reconciliation {
    grid-template-columns: 1fr;
  }

  .diagnostic-chain-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnostic-temporal-chain > summary {
    grid-template-columns: minmax(220px, 1.3fr) minmax(100px, .7fr) auto minmax(110px, .7fr) 16px;
  }

  .diagnostic-temporal-chain > summary > span:nth-last-of-type(1) {
    display: none;
  }

  .diagnostic-capacity-calculation {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .diagnostic-card-launch {
    min-height: 0;
    padding: 15px 13px;
    grid-template-columns: 42px minmax(0, 1fr) 18px;
    gap: 11px;
  }

  .diagnostic-card-launch > em {
    grid-column: 2;
    width: max-content;
  }

  .diagnostic-card-launch > i {
    grid-column: 3;
    grid-row: 1 / 3;
  }

  .diagnostic-card-launch > div h4 {
    font-size: 18px;
  }

  .diagnostic-detail-modal {
    padding: 0;
    place-items: stretch;
  }

  .diagnostic-detail-dialog {
    width: 100vw;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .diagnostic-detail-dialog > header {
    padding: 15px 16px 12px;
  }

  .diagnostic-detail-dialog > header h2 {
    font-size: 21px;
  }

  .diagnostic-detail-dialog > footer {
    padding: 10px 12px;
    flex-wrap: wrap;
  }

  .diagnostic-detail-dialog > footer small {
    flex: 1 0 100%;
  }

  .diagnostic-modal-hero {
    padding: 18px 16px 6px;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 12px;
  }

  .diagnostic-modal-score {
    width: 102px;
    height: 102px;
  }

  .diagnostic-modal-score > span {
    width: 78px;
    height: 78px;
  }

  .diagnostic-modal-score strong {
    font-size: 30px;
  }

  .diagnostic-modal-metric-grid,
  .diagnostic-cashflow-summary {
    padding: 10px 14px;
    grid-template-columns: 1fr;
  }

  .diagnostic-modal-metric {
    min-height: 74px;
  }

  .diagnostic-debt-visual-grid,
  .diagnostic-cashflow-visual-grid,
  .diagnostic-modal-table,
  .diagnostic-modal-callout {
    margin-left: 12px;
    margin-right: 12px;
  }

  .diagnostic-debt-donut-wrap {
    grid-template-columns: 120px minmax(0, 1fr);
  }

  .diagnostic-debt-donut {
    width: 112px;
    height: 112px;
  }

  .diagnostic-debt-donut > span {
    width: 76px;
    height: 76px;
  }

  .diagnostic-cashflow-summary > div:first-child {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .diagnostic-cashflow-summary .diagnostic-modal-score {
    width: 70px;
    height: 70px;
  }

  .diagnostic-cashflow-summary .diagnostic-modal-score > span {
    width: 54px;
    height: 54px;
  }

  .diagnostic-modal-tabs {
    margin: 0 14px 8px;
    gap: 14px;
    overflow-x: auto;
  }

  .diagnostic-cashflow-panel {
    padding: 0 12px 14px;
  }

  .diagnostic-cashflow-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .diagnostic-cashflow-chart-card {
    overflow-x: auto;
  }

  .diagnostic-cashflow-chart-card .diagnostic-cashflow-bars {
    min-width: 680px;
  }

  .diagnostic-income-summary,
  .diagnostic-income-layout,
  .diagnostic-flow-summary,
  .diagnostic-flow-analysis-grid,
  .diagnostic-flow-counterparties,
  .diagnostic-risk-overview {
    grid-template-columns: 1fr;
  }

  .diagnostic-risk-notice {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .diagnostic-flow-chain-diagram {
    grid-template-columns: 1fr;
  }

  .diagnostic-flow-chain-diagram.has-balance {
    grid-template-columns: 1fr;
  }

  .diagnostic-flow-chain-arrow {
    min-height: 18px;
    transform: rotate(90deg);
  }

  .diagnostic-flow-month-chain > summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) 18px;
    gap: 9px;
  }

  .diagnostic-flow-month-chain > summary > span:first-child {
    grid-column: 1 / 3;
  }

  .diagnostic-flow-month-chain > summary > i {
    grid-column: 3;
    grid-row: 1 / 3;
  }

  .diagnostic-flow-relations article {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .diagnostic-flow-relations article > b {
    grid-column: 2;
  }

  .diagnostic-flow-relations article p {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .diagnostic-flow-relations article p i {
    display: none;
  }

  .diagnostic-risk-group > summary > span {
    grid-template-columns: 10px minmax(0, 1fr);
  }

  .diagnostic-risk-group > summary small {
    grid-column: 2;
    white-space: normal;
  }

  .diagnostic-risk-item > summary {
    grid-template-columns: 28px minmax(0, 1fr) 16px;
  }

  .diagnostic-risk-item > summary > em {
    grid-column: 2;
  }

  .diagnostic-risk-item > summary > i {
    grid-column: 3;
    grid-row: 1 / 3;
  }

  .diagnostic-asset-layout {
    padding: 12px;
  }

  .diagnostic-asset-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnostic-liquidity-scale {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnostic-liquidity-scale b {
    display: none;
  }

  .diagnostic-reconciliation {
    padding: 14px;
  }

  .diagnostic-reconciliation dl,
  .diagnostic-chain-kpis,
  .diagnostic-insight-grid,
  .diagnostic-capacity-inputs {
    grid-template-columns: 1fr;
  }

  .diagnostic-reconciliation dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnostic-chain-kpis article {
    min-height: 88px;
  }

  .diagnostic-temporal-chain > summary {
    grid-template-columns: minmax(0, 1fr) 16px;
    gap: 8px;
  }

  .diagnostic-temporal-chain > summary > span:first-child {
    grid-column: 1;
  }

  .diagnostic-temporal-chain > summary > span:not(:first-child),
  .diagnostic-temporal-chain > summary > em {
    padding-left: 37px;
  }

  .diagnostic-temporal-chain > summary > i {
    grid-column: 2;
    grid-row: 1 / 6;
  }

  .diagnostic-temporal-chain li {
    grid-template-columns: 1fr auto;
  }

  .diagnostic-temporal-chain li span,
  .diagnostic-temporal-chain li small {
    grid-column: 1;
  }

  .diagnostic-temporal-chain li b {
    grid-column: 2;
    grid-row: 1 / 3;
  }

  .diagnostic-chain-intent header {
    align-items: flex-start;
    flex-direction: column;
  }

  .diagnostic-chain-intent dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnostic-adjustment-chain-list article {
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: start;
  }

  .diagnostic-adjustment-chain-list article > i {
    display: none;
  }

  .diagnostic-adjustment-chain-list article > div:last-child {
    grid-column: 2;
  }

  .diagnostic-entity-role-row {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .diagnostic-intelligence-boundary > div {
    flex-wrap: wrap;
    gap: 6px;
  }

  .diagnostic-intelligence-boundary > div span {
    transform: rotate(90deg);
  }

  .diagnostic-capacity-gate > header {
    align-items: flex-start;
  }

  .diagnostic-capacity-calculation {
    grid-template-columns: 1fr;
  }

  .diagnostic-insight-grid,
  .diagnostic-capacity-inputs {
    grid-template-columns: 1fr;
  }

  .diagnostic-insight-card:last-child:nth-child(odd) {
    grid-column: auto;
  }

  .diagnostic-insight-summary > dl > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .diagnostic-insight-formula {
    display: grid;
    grid-template-columns: 1fr;
  }

  .diagnostic-insight-formula > span {
    min-width: 0;
  }

  .diagnostic-insight-formula > b {
    display: none;
  }
}

/* Customer interview: the heading, stages, messages and attachments form one
 * scrollable transcript. The composer is a separate bottom row, matching a
 * modern chat layout without squeezing the actual conversation. */
@media (min-width: 901px) {
  .bangdaikan-app .interview-layout {
    height: calc(100dvh - 98px);
    min-height: 560px;
    max-height: calc(100dvh - 98px);
    align-items: stretch;
    overflow: hidden;
  }

  .bangdaikan-app .interview-workspace {
    grid-template-rows: minmax(0, 1fr) auto;
    align-content: stretch;
    align-self: stretch;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .bangdaikan-app .interview-scroll-region {
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  /* The stage strip used to bleed into the workspace's horizontal padding.
   * It now lives inside the scroll container, where that negative margin is
   * clipped and cuts the first step marker in half. Keep it within the scroll
   * viewport so every step remains fully visible. */
  .bangdaikan-app .interview-scroll-region > .review-stage-strip {
    margin-right: 0;
    margin-left: 0;
  }

  .bangdaikan-app .interview-sidebar {
    align-self: stretch;
    width: 100%;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .bangdaikan-app .interview-messages {
    min-height: clamp(300px, 46dvh, 560px);
    max-height: none;
    overflow: visible;
  }

  .bangdaikan-app .interview-composer-dock {
    position: static;
    align-self: end;
  }

  .bangdaikan-app .interview-attachment-panel {
    max-height: none;
    overflow: visible;
  }
}

.bangdaikan-app .interview-sidebar-actions {
  margin-top: 0;
  border-bottom: 1px solid #dbe5ef;
  background: linear-gradient(180deg, #f7faff 0%, #eef5ff 100%);
}

.bangdaikan-app .interview-messages:empty {
  min-height: 140px;
}

.bangdaikan-app .conversation-adviser-result {
  margin: 18px 0 8px;
  padding: 18px 22px;
  border: 1px solid #d3e0eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(29, 71, 121, .09);
}

.bangdaikan-app .conversation-adviser-result[hidden] {
  display: none !important;
}

.bangdaikan-app .conversation-result-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 2px 2px 14px;
  border-bottom: 1px solid #dbe6f1;
}

.bangdaikan-app .conversation-result-heading span {
  color: #1670cf;
  font-size: 13px;
  font-weight: 800;
}

.bangdaikan-app .conversation-result-heading h2 {
  margin: 5px 0 0;
  color: #102f52;
  font-size: 18px;
  line-height: 1.4;
}

.bangdaikan-app .conversation-analysis-result-host > .result-panel {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.bangdaikan-app .conversation-analysis-result-host > .result-panel.empty-state {
  min-height: 180px;
  padding: 24px;
  border: 1px dashed #c8d7e6;
  border-radius: 10px;
  background: #f8fbff;
}

.bangdaikan-app .conversation-analysis-result-host.is-loading {
  min-height: 240px;
  display: grid;
  place-items: center;
}

.conversation-adviser-summary {
  display: grid;
  gap: 16px;
}

.conversation-adviser-conclusion {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  padding: 0 0 15px;
  border-bottom: 1px solid #e0e8ef;
  color: #153d5b;
}

.conversation-adviser-conclusion span,
.conversation-adviser-conclusion strong {
  display: block;
}

.conversation-adviser-conclusion span {
  margin-bottom: 7px;
  color: #647f97;
  font-size: 11px;
  font-weight: 800;
}

.conversation-adviser-conclusion strong {
  max-width: 820px;
  color: #365d79;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.75;
}

.conversation-adviser-conclusion em {
  padding: 5px 9px;
  border: 1px solid #cfe0ed;
  border-radius: 999px;
  background: #f4f9fd;
  color: #1670bd;
  font-size: 11px;
  font-style: normal;
  white-space: nowrap;
}

.conversation-adviser-case-analysis {
  min-width: 0;
  overflow: hidden;
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #cbddea;
  border-radius: 14px;
  background: linear-gradient(180deg, #f7fbff 0%, #f2f8fd 100%);
}

.conversation-adviser-case-analysis > header {
  min-width: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
}

.conversation-adviser-case-analysis > header div,
.conversation-adviser-case-analysis > header span,
.conversation-adviser-case-analysis > header strong {
  min-width: 0;
  display: block;
}

.conversation-adviser-case-analysis > header span {
  margin-bottom: 3px;
  color: #1670cf;
  font-size: 11px;
  font-weight: 800;
}

.conversation-adviser-case-analysis > header strong {
  color: #123f61;
  font-size: 16px;
}

.conversation-adviser-case-analysis > header small,
.conversation-adviser-case-analysis > p {
  color: #6b8295;
  font-size: 11px;
  line-height: 1.55;
}

.conversation-adviser-case-analysis > header small {
  flex: 0 0 auto;
  white-space: nowrap;
}

.conversation-adviser-case-analysis > p {
  margin: 0;
}

.conversation-adviser-case-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.conversation-adviser-case-finding {
  min-width: 0;
  overflow: hidden;
  padding: 12px 13px;
  border: 1px solid #d8e5ee;
  border-left: 3px solid #6d9fca;
  border-radius: 10px;
  background: #fff;
}

.conversation-adviser-case-finding.is-strength { border-left-color: #39a673; }
.conversation-adviser-case-finding.is-risk { border-left-color: #e4a146; }
.conversation-adviser-case-finding.is-conflict { border-left-color: #db6259; }
.conversation-adviser-case-finding.is-unknown { border-left-color: #98a7b5; }

.conversation-adviser-case-finding > header {
  min-width: 0;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.conversation-adviser-case-finding > header > span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  background: #edf5fb;
  color: #236ba5;
  font-size: 11px;
  font-weight: 900;
}

.conversation-adviser-case-finding header div,
.conversation-adviser-case-finding header small,
.conversation-adviser-case-finding header strong {
  min-width: 0;
  display: block;
}

.conversation-adviser-case-finding header small {
  color: #698197;
  font-size: 10px;
  font-weight: 700;
}

.conversation-adviser-case-finding header strong {
  margin-top: 2px;
  color: #173f5d;
  font-size: 13px;
  line-height: 1.45;
}

.conversation-adviser-case-finding dl {
  min-width: 0;
  display: grid;
  gap: 6px;
  margin: 10px 0 0;
}

.conversation-adviser-case-finding dl > div {
  min-width: 0;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 8px;
}

.conversation-adviser-case-finding dt,
.conversation-adviser-case-finding dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  font-size: 11px;
  line-height: 1.55;
}

.conversation-adviser-case-finding dt {
  color: #6e8597;
  font-weight: 700;
}

.conversation-adviser-case-finding dd {
  color: #35566f;
}

/* Compact report uses the same clear narrative order as the detailed report. */
.conversation-adviser-conclusion {
  padding: 5px 0 17px;
}

.conversation-adviser-conclusion strong {
  max-width: 900px;
  color: #123e61;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.8;
}

.conversation-adviser-editorial {
  display: grid;
  gap: 0;
  min-width: 0;
}

.conversation-adviser-editorial-section,
.conversation-adviser-key-figures {
  padding: 17px 0;
  border-bottom: 1px solid #dce6ee;
}

.conversation-adviser-editorial-section h3,
.conversation-adviser-key-figures h3 {
  margin: 0 0 10px;
  color: #153f5f;
  font-size: 16px;
  line-height: 1.45;
}

.conversation-adviser-editorial-section.is-strength h3 { color: #176b48; }
.conversation-adviser-editorial-section.is-limitation h3 { color: #9b4d13; }
.conversation-adviser-editorial-section.is-fact h3 { color: #176fc0; }

.conversation-adviser-editorial-section ul,
.conversation-adviser-editorial-section ol {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 22px;
}

.conversation-adviser-editorial-section li {
  padding-left: 2px;
  color: #34566e;
  font-size: 14px;
  line-height: 1.75;
}

.conversation-adviser-editorial-section li strong,
.conversation-adviser-editorial-section li span {
  display: inline;
}

.conversation-adviser-editorial-section li strong {
  color: #153e5d;
  font-weight: 750;
}

.conversation-adviser-editorial-section li strong::after {
  content: "。";
}

.conversation-adviser-editorial-section.is-strength li::marker { color: #248158; }
.conversation-adviser-editorial-section.is-limitation li::marker { color: #c46a22; }
.conversation-adviser-editorial-section.is-actions li::marker { color: #176fc5; font-weight: 800; }

.conversation-adviser-key-figures > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.conversation-adviser-key-figures article {
  min-width: 0;
  padding: 11px 13px;
  border-left: 3px solid #5f9bd0;
  background: #f5f9fc;
}

.conversation-adviser-key-figures strong,
.conversation-adviser-key-figures span {
  display: block;
}

.conversation-adviser-key-figures strong {
  color: #0e426c;
  font-size: 17px;
  line-height: 1.35;
}

.conversation-adviser-key-figures span {
  margin-top: 4px;
  color: #657d90;
  font-size: 11px;
  line-height: 1.45;
}

@media (max-width: 720px) {
  .conversation-adviser-conclusion {
    align-items: flex-start;
  }

  .conversation-adviser-conclusion strong {
    font-size: 15px;
  }

  .conversation-adviser-key-figures > div {
    grid-template-columns: minmax(0, 1fr);
  }
}

.conversation-adviser-block {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
}

.conversation-adviser-block > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 9px;
}

.conversation-adviser-block > header > div {
  display: flex;
  align-items: center;
  gap: 9px;
}

.conversation-adviser-block > header span {
  display: inline;
  width: auto;
  height: auto;
  color: #16476e;
  background: transparent;
  font-size: 17px;
  font-weight: 900;
}

.conversation-adviser-block > header strong {
  color: #143e61;
  font-size: 15px;
}

.conversation-adviser-block > header small,
.conversation-adviser-more {
  color: #71879a;
  font-size: 11px;
}

.conversation-adviser-product-list {
  display: grid;
  gap: 0;
}

.conversation-adviser-product {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid #dbe6ef;
  background: transparent;
}

.conversation-adviser-product-rank {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #edf5fb;
  color: #176db6;
  font-size: 11px;
  font-weight: 850;
}

.conversation-adviser-product.is-needs-material { background: transparent; }
.conversation-adviser-product.is-limited,
.conversation-adviser-product.is-not-matched { background: transparent; }

.conversation-adviser-product strong,
.conversation-adviser-product p {
  display: block;
  margin: 0;
}

.conversation-adviser-product strong { color: #153f60; font-size: 14px; }
.conversation-adviser-product p { margin-top: 4px; color: #536e82; font-size: 13px; line-height: 1.65; }
.conversation-adviser-product em { color: #0876d1; font-size: 12px; font-style: normal; font-weight: 700; white-space: nowrap; }

.conversation-adviser-guidance {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.conversation-adviser-guidance .conversation-adviser-block {
  padding: 14px 16px;
  border-radius: 12px;
  background: #f6f9fc;
}

.conversation-adviser-block.is-risks > header span { color: #174870; }
.conversation-adviser-block.is-advice > header span { color: #174870; }
.conversation-adviser-block ul,
.conversation-adviser-block ol { display: grid; gap: 8px; margin: 0; padding-left: 20px; }
.conversation-adviser-block li { color: #405f75; font-size: 12px; line-height: 1.6; }
.conversation-adviser-block li strong,
.conversation-adviser-block li span { display: block; }
.conversation-adviser-block li strong { color: #9c4147; }
.conversation-adviser-block li span { margin-top: 2px; color: #6b8192; }
.conversation-adviser-empty { margin: 0; color: #6c8294; font-size: 12px; line-height: 1.65; }
.conversation-adviser-more { display: block; margin-top: 9px; }

.conversation-adviser-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  padding-top: 3px;
}

.conversation-adviser-actions small {
  flex: 1 1 260px;
  color: #728798;
  font-size: 11px;
  line-height: 1.5;
}

.financial-adviser-detail-dialog {
  width: min(1120px, calc(100vw - 30px));
  max-width: none;
  max-height: calc(100dvh - 30px);
  padding: 0;
  overflow: hidden;
  border: 1px solid #cbd9e5;
  border-radius: 18px;
  background: #f5f9fc;
  color: #173b56;
  box-shadow: 0 28px 80px rgba(15, 47, 72, .28);
}

.financial-adviser-detail-dialog::backdrop {
  background: rgba(12, 32, 49, .58);
  backdrop-filter: blur(3px);
}

.financial-adviser-detail-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 20px;
  align-items: start;
  padding: 17px 22px 15px;
  border-bottom: 1px solid #d7e3ec;
  background: #fff;
}

.financial-adviser-detail-heading span {
  color: #1470bd;
  font-size: 11px;
  font-weight: 800;
}

.financial-adviser-detail-heading h2,
.financial-adviser-detail-heading p { margin: 0; }
.financial-adviser-detail-heading h2 { margin-top: 3px; color: #123b5d; font-size: 22px; }
.financial-adviser-detail-heading p { margin-top: 5px; color: #6b8092; font-size: 12px; line-height: 1.55; }

.financial-adviser-detail-close {
  grid-column: 2;
  grid-row: 1 / span 3;
  width: auto;
  min-width: 58px;
  height: 38px;
  border: 1px solid #d1deea;
  border-radius: 9px;
  background: #fff;
  color: #355b78;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.financial-adviser-detail-host {
  max-height: calc(100dvh - 132px);
  overflow: auto;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
}

.financial-adviser-detail-empty {
  margin: 24px;
  padding: 24px;
  border: 1px dashed #c9d9e6;
  border-radius: 12px;
  background: #fff;
  color: #6b8093;
}

.financial-adviser-detail-state {
  display: grid;
  gap: 10px;
  margin: 22px;
  padding: 20px;
  border: 1px solid #efcaca;
  border-left: 4px solid #c8545a;
  border-radius: 12px;
  background: #fff8f7;
  color: #72484c;
}

.financial-adviser-detail-state.is-legacy {
  border-color: #ead8ae;
  border-left-color: #d89722;
  background: #fff9ec;
  color: #75551d;
}

.financial-adviser-detail-state > strong {
  color: #823d44;
  font-size: 17px;
}

.financial-adviser-detail-state.is-legacy > strong { color: #765113; }
.financial-adviser-detail-state > p { margin: 0; line-height: 1.7; }
.financial-adviser-detail-state > div { display: flex; flex-wrap: wrap; gap: 9px; }

@media (max-width: 720px) {
  .bangdaikan-app .conversation-adviser-result {
    margin-right: -6px;
    margin-left: -6px;
    padding: 10px;
  }

  .bangdaikan-app .conversation-result-heading {
    display: grid;
  }

  .bangdaikan-app .conversation-result-heading .button {
    justify-self: start;
  }

  .conversation-adviser-conclusion,
  .conversation-adviser-product,
  .conversation-adviser-guidance,
  .conversation-adviser-case-grid {
    grid-template-columns: 1fr;
  }

  .conversation-adviser-case-analysis {
    padding: 13px;
    overflow-x: hidden;
  }

  .conversation-adviser-case-analysis > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .conversation-adviser-case-analysis > header small {
    white-space: normal;
  }

  .conversation-adviser-case-finding dl > div {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .conversation-adviser-conclusion em,
  .conversation-adviser-product em {
    justify-self: start;
  }

  .conversation-adviser-actions .button {
    width: 100%;
  }

  .financial-adviser-detail-dialog {
    width: calc(100vw - 10px);
    max-height: calc(100dvh - 10px);
    border-radius: 12px;
  }

  .financial-adviser-detail-heading { padding: 14px; }
  .financial-adviser-detail-heading h2 { font-size: 18px; }
  .financial-adviser-detail-host { max-height: calc(100dvh - 118px); }
}

/* Customer-facing diagnostic summary */
.diagnostic-health-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
  background: linear-gradient(180deg, #f3f7fb, #eef4f8);
}

.diagnostic-health-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d8e4ed;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(28, 63, 91, .06);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.diagnostic-health-card:hover,
.diagnostic-health-card[open] {
  border-color: #b8cfdf;
  box-shadow: 0 14px 34px rgba(24, 65, 96, .11);
  transform: translateY(-2px);
}

.diagnostic-health-card > summary {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto 20px;
  gap: 11px;
  align-items: center;
  min-height: 126px;
  padding: 18px 16px;
  list-style: none;
  cursor: pointer;
}

.diagnostic-health-card > summary::-webkit-details-marker {
  display: none;
}

.diagnostic-health-card > summary:focus-visible {
  outline: 3px solid rgba(24, 115, 205, .22);
  outline-offset: -3px;
}

.diagnostic-health-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #eaf4ff;
  color: #1475cc;
}

.diagnostic-health-icon svg {
  width: 24px;
  height: 24px;
}

.diagnostic-health-card.is-credit .diagnostic-health-icon {
  background: #f2edff;
  color: #7652cb;
}

.diagnostic-health-card.is-cashflow .diagnostic-health-icon {
  background: #e7f8f1;
  color: #168765;
}

.diagnostic-health-card summary small,
.diagnostic-health-card summary h4,
.diagnostic-health-card summary p {
  margin: 0;
}

.diagnostic-health-card summary small {
  display: block;
  margin-bottom: 5px;
  color: #73899a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
}

.diagnostic-health-card summary h4 {
  color: #102f46;
  font-size: 18px;
  line-height: 1.25;
}

.diagnostic-health-card summary p {
  margin-top: 7px;
  color: #667c8d;
  font-size: 12px;
  line-height: 1.6;
}

.diagnostic-health-card summary em {
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff4df;
  color: #a96b0b;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.diagnostic-health-card.is-good summary em {
  background: #e7f7ef;
  color: #167451;
}

.diagnostic-health-card.is-risk summary em {
  background: #fff0ef;
  color: #c63832;
}

.diagnostic-health-card.is-review summary em {
  background: #fff5e2;
  color: #a96b0b;
}

.diagnostic-health-card summary > i {
  color: #7c91a1;
  font-size: 18px;
  font-style: normal;
  transition: transform .2s ease;
}

.diagnostic-health-card[open] summary > i {
  transform: rotate(180deg);
}

.diagnostic-health-body {
  padding: 0 16px 17px;
  border-top: 1px solid #e5edf2;
  animation: diagnosticHealthReveal .22s ease both;
}

@keyframes diagnosticHealthReveal {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

.diagnostic-health-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0 -16px 14px;
  background: #e3ebf1;
}

.diagnostic-health-metrics.is-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.diagnostic-health-metrics > div {
  min-width: 0;
  padding: 13px;
  background: #f9fbfc;
}

.diagnostic-health-metrics span,
.diagnostic-health-metrics small {
  display: block;
  color: #748897;
  font-size: 10px;
}

.diagnostic-health-metrics strong {
  display: block;
  margin: 4px 0;
  overflow-wrap: anywhere;
  color: #12364f;
  font-size: 16px;
}

.diagnostic-health-advice {
  margin: 0 0 14px;
  padding: 11px 12px;
  border-left: 3px solid #e5a02c;
  background: #fff9ed;
  color: #685226;
  font-size: 12px;
  line-height: 1.65;
}

.diagnostic-health-body > button {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  border: 1px solid #c9dceb;
  border-radius: 9px;
  background: #fff;
  color: #1767aa;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.diagnostic-health-body > button:hover {
  background: #176fbd;
  color: #fff;
  transform: translateX(2px);
}

.diagnostic-cashflow-score {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  padding: 15px 0;
}

.diagnostic-mini-score {
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(#20a277 var(--score-angle), #e4edf0 0);
}

.diagnostic-mini-score > span {
  width: 64px;
  height: 64px;
  display: grid;
  place-content: center;
  border-radius: 50%;
  background: #fff;
  text-align: center;
}

.diagnostic-mini-score strong,
.diagnostic-mini-score small {
  display: block;
}

.diagnostic-mini-score strong {
  color: #12364f;
  font-size: 22px;
}

.diagnostic-mini-score small {
  color: #788b99;
  font-size: 9px;
}

.diagnostic-cashflow-score dl {
  margin: 0;
}

.diagnostic-cashflow-score dl > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid #e7edf1;
}

.diagnostic-cashflow-score dt,
.diagnostic-cashflow-score dd {
  margin: 0;
  font-size: 11px;
}

.diagnostic-cashflow-score dt { color: #718694; }
.diagnostic-cashflow-score dd { color: #173b53; font-weight: 800; }

.diagnostic-cashflow-issues {
  margin-bottom: 14px;
  padding: 12px;
  border-radius: 9px;
  background: #f6faf8;
  color: #49685c;
  font-size: 11px;
}

.diagnostic-cashflow-issues ul {
  margin: 7px 0;
  padding-left: 17px;
  line-height: 1.65;
}

.diagnostic-cashflow-issues small { color: #7a8b83; }

/* Customer report: keep internal data tabs available to the application, but do
   not expose the audit-oriented table navigation as the customer journey. */
.report-navigation.is-internal-only {
  display: none !important;
}

.diagnostic-customer-dashboard {
  overflow: hidden;
  margin: 18px 0;
  border: 1px solid #d7e4ee;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(20, 58, 88, .08);
}

.diagnostic-customer-dashboard > .diagnostic-section-title {
  padding: 22px 24px 18px;
  border-bottom: 1px solid #e2ebf2;
}

.diagnostic-customer-health-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 18px;
  padding: 22px;
  background:
    radial-gradient(circle at 10% 0%, rgba(38, 126, 214, .08), transparent 28%),
    linear-gradient(180deg, #f5f9fc 0%, #eef5f9 100%);
}

.diagnostic-customer-card {
  position: relative;
  min-height: 224px;
  border-color: #d5e2ec;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(30, 72, 103, .07);
}

.diagnostic-customer-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  border-radius: 18px 18px 0 0;
  background: linear-gradient(90deg, #3e8dde, #79b7ed);
  content: "";
}

.diagnostic-customer-card.is-cashflow::before {
  background: linear-gradient(90deg, #2ca77d, #7bd3b3);
}

.diagnostic-customer-card.is-assets::before {
  background: linear-gradient(90deg, #d9902f, #f2c06f);
}

.diagnostic-customer-card.is-income::before {
  background: linear-gradient(90deg, #7759cf, #b18ce7);
}

.diagnostic-customer-card .diagnostic-card-launch {
  height: 100%;
  min-height: 224px;
  padding: 28px 26px 24px;
  grid-template-columns: 56px minmax(0, 1fr) 22px;
  grid-template-rows: auto auto;
  column-gap: 18px;
  row-gap: 16px;
  align-items: start;
}

.diagnostic-customer-card .diagnostic-health-icon {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: start;
  margin-top: 3px;
  box-shadow: inset 0 0 0 1px rgba(33, 115, 187, .05);
}

.diagnostic-customer-card .diagnostic-card-launch > div {
  grid-column: 2 / 4;
  grid-row: 1;
  min-width: 0;
}

.diagnostic-customer-card .diagnostic-card-launch > div small {
  margin-bottom: 8px;
  font-size: 12px;
  letter-spacing: .045em;
}

.diagnostic-customer-card .diagnostic-card-launch > div h4 {
  max-width: 100%;
  margin-bottom: 10px;
  font-size: clamp(20px, 1.55vw, 25px);
  line-height: 1.3;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.diagnostic-customer-card .diagnostic-card-launch > div p {
  display: -webkit-box;
  overflow: hidden;
  color: #5e768b;
  font-size: 13px;
  line-height: 1.72;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.diagnostic-customer-card .diagnostic-card-launch > em {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  justify-self: start;
  padding: 7px 12px;
}

.diagnostic-customer-card .diagnostic-card-launch > i {
  grid-column: 3;
  grid-row: 2;
  align-self: center;
  justify-self: end;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf4f9;
  color: #55738d;
  font-size: 18px;
}

.diagnostic-customer-card.is-assets .diagnostic-health-icon {
  background: #fff2df;
  color: #bb7216;
}

.diagnostic-customer-card.is-income .diagnostic-health-icon {
  background: #f0ebff;
  color: #7252c3;
}

.diagnostic-credit-boundary {
  margin: 14px 0 0;
  color: #6d8196;
  font-size: 11px;
  line-height: 1.65;
}

.diagnostic-income-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  padding: 18px 30px 28px;
  background: #f8fbfe;
}

.diagnostic-income-modal {
  width: min(1440px, calc(100vw - 40px));
}

.diagnostic-income-summary {
  display: flex;
  grid-template-columns: none;
  padding: 20px 22px;
  border: 1px solid #cfe1f4;
  border-left: 5px solid #347fd8;
  border-radius: 16px;
  background: linear-gradient(110deg, #f3f8ff, #fff);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.diagnostic-income-summary small,
.diagnostic-income-summary h3,
.diagnostic-income-summary p {
  margin: 0;
}

.diagnostic-income-summary small {
  color: #3472ad;
  font-weight: 800;
}

.diagnostic-income-summary h3 {
  margin-top: 5px;
  color: #0d3a63;
  font-size: 20px;
}

.diagnostic-income-summary p {
  max-width: 1050px;
  margin-top: 8px;
  color: #526f87;
  font-size: 13px;
  line-height: 1.72;
}

.diagnostic-income-summary > span {
  flex: 0 0 auto;
  padding: 8px 13px;
  border-radius: 999px;
  background: #fff2dc;
  color: #a86608;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.diagnostic-income-summary > span.is-good {
  background: #e8f7f0;
  color: #16805d;
}

.diagnostic-income-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.diagnostic-income-layout .diagnostic-income-overview-grid > article {
  min-width: 0;
  padding: 16px;
  border: 1px solid #dce8f3;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(37, 77, 117, .05);
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.diagnostic-income-overview-grid article > span {
  width: 40px;
  height: 40px;
  padding: 9px;
  border-radius: 12px;
  background: #eaf3ff;
  color: #2d7fe2;
}

.diagnostic-income-overview-grid svg {
  width: 100%;
  height: 100%;
}

.diagnostic-income-overview-grid small,
.diagnostic-income-overview-grid strong,
.diagnostic-income-overview-grid p {
  display: block;
  margin: 0;
}

.diagnostic-income-overview-grid small {
  color: #6f8498;
  font-size: 11px;
}

.diagnostic-income-overview-grid strong {
  margin-top: 4px;
  color: #0c3a63;
  font-size: 17px;
}

.diagnostic-income-overview-grid p {
  margin-top: 4px;
  color: #7790a4;
  font-size: 11px;
  line-height: 1.5;
}

.diagnostic-coverage-strip {
  padding: 15px 18px;
  border: 1px solid #dce7f0;
  border-radius: 14px;
  background: #fff;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.diagnostic-coverage-strip > strong {
  color: #143f63;
  font-size: 13px;
  white-space: nowrap;
}

.diagnostic-coverage-strip > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.diagnostic-coverage-strip span {
  padding: 6px 9px;
  border-radius: 999px;
  background: #f1f4f7;
  color: #74879a;
  font-size: 11px;
}

.diagnostic-coverage-strip span.is-read {
  background: #e9f7f1;
  color: #167c5a;
  font-weight: 800;
}

.diagnostic-income-layout > article.diagnostic-income-section {
  padding: 18px;
  border: 1px solid #dfe8f1;
  border-radius: 16px;
  background: #fff;
}

.diagnostic-income-section > header {
  margin-bottom: 15px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.diagnostic-income-section > header small,
.diagnostic-income-section > header h4,
.diagnostic-income-section > header p {
  margin: 0;
}

.diagnostic-income-section > header small {
  color: #3278b7;
  font-size: 11px;
  font-weight: 800;
}

.diagnostic-income-section > header h4 {
  margin-top: 4px;
  color: #103b60;
  font-size: 18px;
}

.diagnostic-income-section > header p {
  margin-top: 5px;
  color: #7b8fa2;
  font-size: 11px;
}

.diagnostic-income-section > header em {
  padding: 7px 11px;
  border-radius: 999px;
  background: #e8f7f0;
  color: #167d5a;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.diagnostic-contribution-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 14px;
}

.diagnostic-contribution-facts > div {
  padding: 11px;
  border: 1px solid #e3eaf3;
  border-radius: 11px;
  background: #f8faff;
}

.diagnostic-contribution-facts span,
.diagnostic-contribution-facts strong {
  display: block;
}

.diagnostic-contribution-facts span {
  color: #748699;
  font-size: 10px;
}

.diagnostic-contribution-facts strong {
  margin-top: 5px;
  color: #183f63;
  font-size: 13px;
}

.diagnostic-contribution-facts small {
  display: block;
  margin-top: 3px;
  color: #8396a7;
  font-size: 9px;
}

.diagnostic-contribution-change-block {
  margin: 0 0 14px;
  padding: 13px 15px;
  border-radius: 12px;
  background: #f3f8fd;
}

.diagnostic-contribution-change-block > b {
  display: block;
  margin-bottom: 8px;
  color: #345d7f;
  font-size: 11px;
}

.diagnostic-contribution-change {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  color: #698198;
  font-size: 11px;
}

.diagnostic-contribution-change strong {
  color: #103f67;
  font-size: 14px;
}

.diagnostic-contribution-change i {
  color: #69a0c9;
  font-style: normal;
}

.diagnostic-contribution-change small {
  color: #71869a;
}

.diagnostic-contribution-empty {
  margin: 0;
  color: #7a8ea1;
  font-size: 11px;
}

.diagnostic-contribution-alerts {
  margin-bottom: 14px;
  padding: 13px 15px;
  border: 1px solid #f0d8ad;
  border-radius: 12px;
  background: #fff9ed;
}

.diagnostic-contribution-alerts > strong {
  color: #98630e;
  font-size: 11px;
}

.diagnostic-contribution-alerts ul {
  margin: 6px 0 0;
  padding-left: 18px;
  color: #735f43;
  font-size: 11px;
  line-height: 1.65;
}

.diagnostic-income-section table {
  width: 100%;
  border-collapse: collapse;
  color: #35516a;
  font-size: 11px;
}

.diagnostic-income-section th,
.diagnostic-income-section td {
  padding: 10px 11px;
  border-bottom: 1px solid #e7eef5;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.diagnostic-income-section th {
  background: #f1f6fa;
  color: #526e85;
  font-weight: 800;
}

.diagnostic-social-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.diagnostic-social-summary-grid > div,
.diagnostic-medical-values > div {
  padding: 12px 13px;
  border: 1px solid #e2eaf2;
  border-radius: 11px;
  background: #f8fbfd;
}

.diagnostic-social-summary-grid span,
.diagnostic-social-summary-grid strong,
.diagnostic-medical-values span,
.diagnostic-medical-values strong {
  display: block;
}

.diagnostic-social-summary-grid span,
.diagnostic-medical-values span {
  color: #74899c;
  font-size: 10px;
}

.diagnostic-social-summary-grid strong,
.diagnostic-medical-values strong {
  margin-top: 5px;
  color: #174568;
  font-size: 14px;
}

.diagnostic-income-dual-tables {
  margin-top: 15px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.diagnostic-income-dual-tables h5 {
  margin: 0;
  color: #365c78;
  font-size: 12px;
}

.diagnostic-income-secondary-grid {
  display: grid;
  grid-template-columns: 1.45fr .55fr;
  gap: 18px;
}

.diagnostic-income-layout .diagnostic-income-secondary-grid > article {
  min-width: 0;
  padding: 18px;
  border: 1px solid #dfe8f1;
  border-radius: 16px;
  background: #fff;
}

.diagnostic-income-callout {
  margin-bottom: 12px;
  padding: 12px 14px;
  border-left: 4px solid #3b83ca;
  border-radius: 0 10px 10px 0;
  background: #f1f7fd;
}

.diagnostic-income-callout strong {
  color: #1e5683;
  font-size: 12px;
}

.diagnostic-income-callout p,
.diagnostic-income-section.is-medical > p {
  margin: 5px 0 0;
  color: #647c90;
  font-size: 11px;
  line-height: 1.65;
}

.diagnostic-medical-values {
  display: grid;
  gap: 9px;
}

.diagnostic-income-boundary {
  padding: 16px 18px;
  border-left: 4px solid #8060cf;
  border-radius: 0 13px 13px 0;
  background: #f4f0ff;
  color: #53687d;
}

.diagnostic-income-boundary strong {
  display: block;
  margin-bottom: 7px;
  color: #51379b;
}

.diagnostic-income-boundary p {
  margin: 0;
  line-height: 1.72;
}

.diagnostic-score-detail {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 16px 0;
}

.diagnostic-ratio-list {
  display: grid;
  gap: 14px;
}

.diagnostic-ratio-row > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.diagnostic-ratio-row span {
  color: #536d80;
  font-size: 12px;
  font-weight: 800;
}

.diagnostic-ratio-row strong {
  color: #123a56;
  font-size: 15px;
}

.diagnostic-ratio-track {
  height: 8px;
  margin: 7px 0 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #e5edf3;
}

.diagnostic-ratio-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2189da, #27a484);
  transition: width .45s ease;
}

.diagnostic-ratio-row:nth-child(2) .diagnostic-ratio-track i {
  background: linear-gradient(90deg, #7c5ce1, #b168d2);
}

.diagnostic-ratio-row small {
  color: #7b8f9e;
  font-size: 10px;
  line-height: 1.5;
}

.diagnostic-customer-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
}

.diagnostic-customer-facts > div {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #e0e9ef;
  border-radius: 9px;
  background: #f8fbfc;
}

.diagnostic-customer-facts dt,
.diagnostic-customer-facts dd {
  margin: 0;
}

.diagnostic-customer-facts dt {
  color: #718795;
  font-size: 10px;
}

.diagnostic-customer-facts dd {
  margin-top: 5px;
  color: #143b55;
  font-size: 14px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.diagnostic-asset-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 16px 0;
}

.diagnostic-asset-facts > div {
  padding: 13px 10px;
  border: 1px solid #eadfce;
  border-radius: 10px;
  background: #fffaf2;
  text-align: center;
}

.diagnostic-asset-facts span,
.diagnostic-asset-facts strong {
  display: block;
}

.diagnostic-asset-facts span {
  color: #8d7656;
  font-size: 10px;
}

.diagnostic-asset-facts strong {
  margin-top: 5px;
  color: #5b4020;
  font-size: 15px;
  overflow-wrap: anywhere;
}

.diagnostic-asset-suggestions {
  margin: 16px 0;
  padding: 14px 14px 14px 32px;
  border-radius: 10px;
  background: #fffaf2;
  color: #675336;
  font-size: 12px;
  line-height: 1.8;
}

.diagnostic-month-bills {
  margin-top: 18px;
}

.diagnostic-month-bills-heading {
  margin-bottom: 10px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.diagnostic-month-bills-heading small,
.diagnostic-month-bills-heading h4,
.diagnostic-month-bills-heading span {
  margin: 0;
}

.diagnostic-month-bills-heading small {
  color: #17875f;
  font-weight: 800;
}

.diagnostic-month-bills-heading h4 {
  margin-top: 3px;
  color: #113b5e;
  font-size: 18px;
}

.diagnostic-month-bills-heading > span {
  color: #7c8fa1;
  font-size: 11px;
}

.diagnostic-month-bill-list {
  display: grid;
  gap: 10px;
}

.diagnostic-month-bill {
  border: 1px solid #dce7f1;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 22px rgba(25, 70, 104, .035);
}

.diagnostic-month-bill[open] {
  border-color: #bcdccb;
  box-shadow: 0 12px 28px rgba(27, 115, 82, .08);
}

.diagnostic-month-bill > summary {
  min-height: 76px;
  padding: 13px 16px;
  display: grid;
  grid-template-columns: minmax(145px, 1.15fr) repeat(4, minmax(112px, 1fr)) 18px;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  list-style: none;
}

.diagnostic-month-bill > summary::-webkit-details-marker {
  display: none;
}

.diagnostic-month-bill > summary:hover {
  background: #f8fcfa;
}

.diagnostic-month-bill > summary span,
.diagnostic-month-bill > summary small,
.diagnostic-month-bill > summary strong {
  min-width: 0;
  display: block;
}

.diagnostic-month-bill > summary small {
  color: #8193a4;
  font-size: 10px;
}

.diagnostic-month-bill > summary strong {
  margin-top: 4px;
  color: #173c5b;
  font-size: 14px;
}

.diagnostic-month-bill-period strong {
  margin-top: 0 !important;
  color: #0d3556 !important;
  font-size: 17px !important;
}

.diagnostic-month-bill-period small {
  margin-top: 4px;
}

.diagnostic-month-bill-balance strong {
  color: #9b6b18 !important;
}

.diagnostic-month-bill-balance em {
  margin-top: 2px;
  display: block;
  color: #9a8b70;
  font-size: 9px;
  font-style: normal;
}

.diagnostic-month-bill-net.is-positive strong {
  color: #168b63;
}

.diagnostic-month-bill-net.is-negative strong {
  color: #d94e58;
}

.diagnostic-month-bill > summary > i {
  color: #8ca0b2;
  font-size: 20px;
  font-style: normal;
  transition: transform .2s ease;
}

.diagnostic-month-bill[open] > summary > i {
  transform: rotate(180deg);
}

.diagnostic-month-bill-body {
  padding: 16px;
  border-top: 1px solid #e2ece6;
  background: linear-gradient(180deg, #f7fcf9 0, #fff 160px);
}

.diagnostic-month-bill-result {
  margin-bottom: 14px;
  padding: 14px 16px;
  border-radius: 14px;
  display: grid;
  grid-template-columns: auto minmax(130px, auto) 1fr;
  align-items: center;
  gap: 12px;
  background: #eaf8f2;
  color: #147455;
}

.diagnostic-month-bill-result.is-negative {
  background: #fff1f2;
  color: #bb3d49;
}

.diagnostic-month-bill-result > span {
  font-size: 11px;
  font-weight: 800;
}

.diagnostic-month-bill-result > strong {
  font-size: 20px;
}

.diagnostic-month-bill-result > small {
  justify-self: end;
  color: #6f8798;
}

.diagnostic-month-composition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.diagnostic-month-composition-grid > article {
  padding: 16px;
  border: 1px solid #dce8ee;
  border-radius: 15px;
  background: rgba(255, 255, 255, .92);
}

.diagnostic-month-composition-grid > article > div:first-child {
  margin-bottom: 14px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.diagnostic-month-composition-grid > article > div:first-child span {
  color: #177b5c;
  font-size: 14px;
  font-weight: 800;
}

.diagnostic-month-composition-grid > article > div:first-child span.is-outflow {
  color: #c64a55;
}

.diagnostic-month-composition-grid > article > div:first-child strong {
  color: #173c5b;
  font-size: 17px;
}

.diagnostic-month-composition-list {
  display: grid;
  gap: 13px;
}

.diagnostic-month-composition-row {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.diagnostic-month-composition-icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--composition-color) 13%, white);
  color: var(--composition-color);
  font-size: 11px;
  font-weight: 900;
}

.diagnostic-month-composition-row > div > div {
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.diagnostic-month-composition-row strong {
  overflow: hidden;
  color: #314e67;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.diagnostic-month-composition-row small {
  flex: none;
  color: #8a9aaa;
  font-size: 9px;
}

.diagnostic-month-composition-row > b {
  color: #173c5b;
  font-size: 12px;
  white-space: nowrap;
}

.diagnostic-month-composition-track {
  height: 7px;
  border-radius: 999px;
  display: block;
  overflow: hidden;
  background: #e7edf1;
}

.diagnostic-month-composition-track i {
  width: var(--composition-share);
  height: 100%;
  min-width: 4px;
  border-radius: inherit;
  display: block;
  background: var(--composition-color);
}

.diagnostic-month-bill-analysis {
  margin-top: 14px;
  padding: 12px 14px;
  border-left: 4px solid #4c9d7b;
  border-radius: 10px;
  background: #f1f7f4;
}

.diagnostic-month-bill-analysis > strong {
  color: #295e49;
  font-size: 12px;
}

.diagnostic-month-bill-analysis ul {
  margin: 6px 0 0;
  padding-left: 18px;
  color: #5e7384;
  font-size: 11px;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .diagnostic-month-bill > summary {
    grid-template-columns: minmax(140px, 1.1fr) repeat(2, minmax(110px, 1fr)) 18px;
  }

  .diagnostic-month-bill-net,
  .diagnostic-month-bill-balance {
    grid-column: 2 / 4;
  }

  .diagnostic-month-bill > summary > i {
    grid-column: 4;
    grid-row: 1 / 4;
  }
}

@media (max-width: 1180px) {
  .diagnostic-health-grid {
    grid-template-columns: 1fr;
  }

  .diagnostic-income-overview-grid,
  .diagnostic-income-dual-tables,
  .diagnostic-income-secondary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnostic-income-secondary-grid > .is-income {
    grid-column: 1 / -1;
  }

  .diagnostic-income-contribution-grid {
    grid-template-columns: 1fr;
  }

  .diagnostic-customer-card,
  .diagnostic-customer-card .diagnostic-card-launch {
    min-height: 176px;
  }

  .diagnostic-customer-card .diagnostic-card-launch > div p {
    -webkit-line-clamp: 2;
  }

  .diagnostic-responsibility-grid {
    grid-template-columns: 1fr;
  }

  .diagnostic-health-card > summary {
    min-height: 104px;
  }
}

@media (max-width: 640px) {
  .diagnostic-income-layout {
    padding: 8px 12px 18px;
  }

  .diagnostic-income-summary,
  .diagnostic-coverage-strip {
    display: block;
  }

  .diagnostic-income-summary > span {
    display: inline-block;
    margin-top: 12px;
  }

  .diagnostic-income-overview-grid,
  .diagnostic-income-dual-tables,
  .diagnostic-income-secondary-grid,
  .diagnostic-social-summary-grid {
    grid-template-columns: 1fr;
  }

  .diagnostic-coverage-strip > div {
    margin-top: 10px;
  }

  .diagnostic-income-section > header {
    display: block;
  }

  .diagnostic-income-section > header em {
    display: inline-block;
    margin-top: 9px;
  }

  .diagnostic-contribution-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bangdaikan-app .interview-workspace {
    grid-template-rows: auto auto;
  }

  .diagnostic-responsibility-section {
    margin-right: 12px;
    margin-left: 12px;
    padding: 12px;
  }

  .diagnostic-query-primary > header,
  .diagnostic-query-records > div:first-child {
    display: block;
  }

  .diagnostic-query-primary > header p {
    margin-top: 8px;
    text-align: left;
  }

  .diagnostic-query-category-grid,
  .diagnostic-query-long-window > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnostic-query-block-title {
    display: block;
  }

  .diagnostic-query-block-title small {
    display: block;
    margin-top: 4px;
  }

  .diagnostic-query-month-grid,
  .diagnostic-query-period-grid {
    grid-template-columns: 1fr;
  }

  .bangdaikan-app .interview-messages {
    min-height: 0;
    max-height: none;
  }

  .bangdaikan-app .interview-messages:empty {
    min-height: 110px;
  }

  .bangdaikan-app .interview-composer-dock {
    padding-top: 8px;
  }

  .diagnostic-health-grid {
    gap: 10px;
    padding: 12px;
  }

  .diagnostic-customer-card {
    min-height: 0;
    border-radius: 14px;
  }

  .diagnostic-customer-card::before {
    border-radius: 14px 14px 0 0;
  }

  .diagnostic-customer-card .diagnostic-card-launch {
    min-height: 0;
    padding: 17px 14px 15px;
    grid-template-columns: 42px minmax(0, 1fr) 20px;
    column-gap: 12px;
    row-gap: 12px;
  }

  .diagnostic-customer-card .diagnostic-card-launch > div h4 {
    font-size: 18px;
  }

  .diagnostic-customer-card .diagnostic-card-launch > div p {
    font-size: 12px;
    -webkit-line-clamp: 3;
  }

  .diagnostic-customer-card .diagnostic-card-launch > em {
    margin-top: 0;
  }

  .diagnostic-health-card > summary {
    grid-template-columns: 42px minmax(0, 1fr) 18px;
    min-height: 0;
    padding: 14px 12px;
  }

  .diagnostic-health-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
  }

  .diagnostic-health-card summary em {
    grid-column: 2;
    width: max-content;
    margin-top: 6px;
  }

  .diagnostic-health-card summary > i {
    grid-column: 3;
    grid-row: 1 / 3;
  }

  .diagnostic-health-metrics,
  .diagnostic-health-metrics.is-three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnostic-cashflow-score {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .diagnostic-score-detail {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 12px;
  }

  .diagnostic-customer-facts,
  .diagnostic-asset-facts {
    grid-template-columns: 1fr;
  }

  .diagnostic-mini-score {
    width: 70px;
    height: 70px;
  }

  .diagnostic-mini-score > span {
    width: 54px;
    height: 54px;
  }

  .diagnostic-month-bills-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .diagnostic-month-bill > summary {
    padding: 13px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) 16px;
    gap: 10px;
  }

  .diagnostic-month-bill-period {
    grid-column: 1 / 3;
  }

  .diagnostic-month-bill-net {
    grid-column: 1 / 3;
  }

  .diagnostic-month-bill-balance {
    grid-column: 1 / 3;
  }

  .diagnostic-month-bill > summary > i {
    grid-column: 3;
    grid-row: 1 / 5;
  }

  .diagnostic-month-bill-body {
    padding: 12px;
  }

  .diagnostic-month-bill-result {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .diagnostic-month-bill-result > small {
    justify-self: start;
  }

  .diagnostic-month-composition-grid {
    grid-template-columns: 1fr;
  }

  .diagnostic-month-composition-grid > article {
    padding: 14px 12px;
  }

  .diagnostic-month-composition-row {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .diagnostic-month-composition-row > b {
    grid-column: 2;
    justify-self: end;
  }

  .diagnostic-property-card > header,
  .diagnostic-property-mortgage > header,
  .diagnostic-asset-ai-review > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .diagnostic-property-facts,
  .diagnostic-property-mortgage dl {
    grid-template-columns: 1fr;
  }

  .diagnostic-property-mortgage > header small {
    text-align: left;
  }
}

/* Final cascade: keep the Codex-style consultation rail after legacy workspace rules. */
@media (min-width: 1161px) {
  .bangdaikan-app .app-shell {
    grid-template-columns: 244px minmax(0, 1fr);
  }
}

@media (min-width: 901px) and (max-width: 1160px) {
  .bangdaikan-app .app-shell {
    grid-template-columns: 210px minmax(0, 1fr);
  }
}

.bangdaikan-app .side-nav.consultation-history-nav {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 12px 16px;
  overflow: hidden;
}

@media (max-width: 900px) {
  .bangdaikan-app .side-nav.consultation-history-nav {
    min-height: auto;
    display: grid;
    grid-template-columns: 124px minmax(0, 1fr);
    grid-auto-flow: row;
    grid-auto-columns: unset;
    gap: 7px;
    padding: 8px;
    overflow: visible;
  }

  .bangdaikan-app .consultation-history-list {
    display: flex;
    gap: 6px;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
  }
}

@media (max-width: 620px) {
  .bangdaikan-app .side-nav.consultation-history-nav {
    grid-template-columns: 108px minmax(0, 1fr);
    padding: 7px 8px;
  }
}

/* Multi-subject consultation stays a lightweight conversation context, not a case form. */
.bangdaikan-app .interview-heading {
  min-height: 0;
  align-items: center;
  margin: 0 -28px;
  padding: 15px 28px 13px;
  border-bottom: 1px solid #dfe8f1;
  background: #fff;
}

.bangdaikan-app .interview-heading::after {
  display: none;
}

.bangdaikan-app .interview-heading-copy {
  max-width: none;
}

.bangdaikan-app .interview-eyebrow,
.bangdaikan-app #currentCaseGoal {
  display: none;
}

.bangdaikan-app .interview-heading h1 {
  margin: 0;
  font-size: clamp(17px, 1.25vw, 20px);
}

.bangdaikan-app .interview-heading p {
  max-width: none;
  font-size: 12px;
}

/* Keep the conversation rail focused on remembered facts and the two user actions. */
.bangdaikan-app .interview-sidebar .recorded-information-subsection {
  display: none !important;
}

.bangdaikan-app .suggestion-button.is-secondary {
  border-color: #cbd8e4;
  color: #61758a;
}

@media (max-width: 620px) {
  .bangdaikan-app .interview-heading {
    min-height: 0;
    align-items: center;
    margin: 0 -14px;
    padding: 12px 14px 10px;
  }

  .bangdaikan-app .interview-heading h1 {
    font-size: 19px;
  }

}

/* Historical results reuse the same read-only diagnosis and product report. */
.report-history-dialog {
  width: min(1120px, calc(100vw - 40px));
  max-width: none;
  max-height: calc(100dvh - 40px);
  padding: 0;
  overflow: hidden;
  border: 1px solid #ccdae6;
  border-radius: 16px;
  background: #f5f8fb;
  color: #173b56;
  box-shadow: 0 24px 70px rgba(18, 52, 79, .24);
}

.report-history-dialog::backdrop {
  background: rgba(16, 38, 57, .52);
  backdrop-filter: blur(2px);
}

.report-history-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 20px;
  align-items: start;
  padding: 20px 22px 16px;
  border-bottom: 1px solid #d8e3ec;
  background: #fff;
}

.report-history-heading > span {
  color: #1470bd;
  font-size: 12px;
  font-weight: 800;
}

.report-history-heading h2,
.report-history-heading p {
  grid-column: 1;
  margin: 0;
}

.report-history-heading h2 {
  font-size: 23px;
  line-height: 1.25;
}

.report-history-heading p {
  margin-top: 5px;
  color: #667c8f;
  font-size: 13px;
  line-height: 1.6;
}

.report-history-close {
  grid-column: 2;
  grid-row: 1 / span 3;
  width: auto;
  min-width: 58px;
  height: 38px;
  border: 1px solid #d2deea;
  border-radius: 9px;
  background: #fff;
  color: #355b78;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.report-history-dialog > .notice {
  margin: 14px 18px 0;
}

.report-history-layout {
  display: block;
  min-height: 480px;
  max-height: calc(100dvh - 190px);
  overflow: auto;
  overscroll-behavior: contain;
  background: #f5f8fb;
}

.report-history-list,
.report-history-detail-pane {
  min-width: 0;
}

.report-history-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 22px;
  background: #f5f8fb;
}

.report-history-list button {
  display: grid;
  gap: 7px;
  width: 100%;
  min-height: 118px;
  padding: 16px;
  border: 1px solid #d4e1eb;
  border-radius: 11px;
  background: #fff;
  color: #274b66;
  text-align: left;
  cursor: pointer;
}

.report-history-list button strong {
  color: #153f60;
  font-size: 15px;
}

.report-history-list button span,
.report-history-list button small {
  color: #708597;
  font-size: 11px;
}

.report-history-list button small {
  align-self: end;
  color: #0876d1;
  font-weight: 800;
}

.report-history-list button.is-active {
  border-color: #1980d2;
  background: #eaf5ff;
  color: #075b9d;
  box-shadow: inset 3px 0 #1980d2;
}

.report-history-layout.is-detail-open .report-history-list {
  display: none;
}

.report-history-detail-pane[hidden] {
  display: none !important;
}

.report-history-detail-toolbar {
  position: sticky;
  z-index: 8;
  top: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 11px 18px;
  border-bottom: 1px solid #d8e3ec;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 6px 16px rgba(24, 60, 88, .07);
  backdrop-filter: blur(8px);
}

.report-history-detail-toolbar > strong {
  color: #163f5f;
  text-align: center;
}

.report-history-detail-toolbar > div {
  display: flex;
  gap: 7px;
}

.report-history-detail-toolbar button {
  min-height: 35px;
  padding: 0 11px;
  border: 1px solid #cddbe7;
  border-radius: 8px;
  background: #fff;
  color: #1d5e8e;
  font-weight: 800;
  cursor: pointer;
}

.report-history-detail-toolbar button:disabled {
  color: #9baab6;
  cursor: not-allowed;
}

.report-history-back {
  white-space: nowrap;
}

.report-history-detail {
  min-width: 0;
  padding: 18px 20px 28px;
  background: #f8fafc;
}

/* The history toolbar owns the sticky position. Keeping the inner report tabs in
   normal flow prevents the two headers from covering each other on desktop and mobile. */
.report-history-detail .financial-adviser-nav {
  position: static;
}

.report-history-empty {
  padding: 18px;
  border: 1px dashed #c9d9e6;
  border-radius: 11px;
  background: #fff;
  color: #6b8093;
  line-height: 1.7;
}

.report-history-empty.is-error {
  border-color: #ebc3c3;
  background: #fff7f7;
  color: #a93a3a;
}

.report-history-report {
  display: grid;
  gap: 14px;
}

.report-history-boundary {
  padding: 12px 14px;
  border: 1px solid #ecd9ad;
  border-left: 4px solid #d99a24;
  border-radius: 9px;
  background: #fff9eb;
  color: #735116;
  font-size: 13px;
  line-height: 1.65;
}

.report-history-report-heading,
.report-history-section {
  border: 1px solid #d8e3ec;
  border-radius: 12px;
  background: #fff;
}

.report-history-report-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 15px 17px;
}

.report-history-report-heading h3,
.report-history-report-heading p {
  margin: 0;
}

.report-history-report-heading p {
  color: #6f8394;
  font-size: 12px;
}

.report-history-section {
  padding: 16px;
}

.report-history-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
  color: #1c4868;
  font-size: 15px;
  font-weight: 800;
}

.report-history-section-heading strong {
  color: #71879a;
  font-size: 12px;
}

.report-history-facts,
.report-history-confirmations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  margin: 0;
}

.report-history-facts > div,
.report-history-confirmations > div {
  padding: 10px 12px;
  border-radius: 9px;
  background: #f4f8fb;
}

.report-history-facts dt,
.report-history-confirmations dt {
  margin-bottom: 4px;
  color: #708496;
  font-size: 11px;
}

.report-history-facts dd,
.report-history-confirmations dd {
  margin: 0;
  color: #173e5b;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.report-history-confirmations small {
  display: block;
  margin-top: 4px;
  color: #76899a;
  font-weight: 400;
}

.report-history-summary-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.report-history-summary-lists ul {
  margin: 0;
  padding-left: 20px;
  color: #3b5d75;
  line-height: 1.75;
}

.report-history-module {
  margin-top: 9px;
  border: 1px solid #dce6ee;
  border-radius: 10px;
  overflow: hidden;
}

.report-history-module > summary {
  padding: 12px 13px;
  background: #f2f7fb;
  color: #28526f;
  font-weight: 800;
  cursor: pointer;
}

.report-history-module-body {
  display: grid;
  gap: 14px;
  padding: 13px;
}

.report-history-module-body h5 {
  margin: 0 0 8px;
  color: #587186;
  font-size: 13px;
}

.report-history-items,
.report-history-card-list {
  display: grid;
  gap: 9px;
}

.report-history-item,
.report-history-advice {
  padding: 12px;
  border: 1px solid #dfe8ef;
  border-radius: 9px;
  background: #fff;
}

.report-history-item > header,
.report-history-advice > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

.report-history-item > header small,
.report-history-advice > header small {
  color: #718697;
}

.report-history-item dl,
.report-history-advice dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 12px;
  margin: 0;
}

.report-history-item dl > div,
.report-history-advice dl > div {
  min-width: 0;
}

.report-history-item dt,
.report-history-advice dt {
  color: #75899a;
  font-size: 11px;
}

.report-history-item dd,
.report-history-advice dd {
  margin: 3px 0 0;
  color: #234862;
  overflow-wrap: anywhere;
}

.report-history-advice.is-risk {
  border-left: 4px solid #d65959;
}

.report-history-evidence {
  margin-top: 10px;
  border-top: 1px solid #e4ebf1;
  padding-top: 8px;
}

.report-history-evidence > summary {
  color: #116eb8;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.report-history-evidence-block {
  margin-top: 9px;
  padding: 10px;
  border-radius: 8px;
  background: #f5f8fb;
}

.report-history-evidence-block h6 {
  margin: 0 0 7px;
  color: #62798c;
  font-size: 11px;
}

.report-history-source,
.report-history-calculation,
.report-history-revisions {
  color: #456479;
  font-size: 12px;
  line-height: 1.6;
}

.report-history-source + .report-history-source {
  margin-top: 8px;
}

.report-history-source strong,
.report-history-source span,
.report-history-source small {
  display: block;
  overflow-wrap: anywhere;
}

.report-history-revisions {
  margin: 0;
  padding-left: 20px;
}

.report-history-empty-section,
.report-history-no-evidence {
  margin: 0;
  color: #718596;
  font-size: 12px;
  line-height: 1.65;
}

@media (max-width: 760px) {
  .report-history-dialog {
    width: calc(100vw - 14px);
    max-height: calc(100dvh - 14px);
    border-radius: 12px;
  }

  .report-history-heading {
    padding: 15px;
  }

  .report-history-layout {
    max-height: calc(100dvh - 205px);
  }

  .report-history-list {
    grid-template-columns: 1fr;
    padding: 12px;
  }

  .report-history-list button {
    min-height: 98px;
  }

  .report-history-detail-toolbar {
    grid-template-columns: 1fr auto;
    padding: 9px 10px;
  }

  .report-history-detail-toolbar > strong {
    text-align: left;
  }

  .report-history-detail-toolbar > div {
    grid-column: 1 / -1;
  }

  .report-history-detail-toolbar > div button {
    flex: 1;
  }

  .report-history-detail {
    padding: 12px;
  }

  .report-history-facts,
  .report-history-confirmations,
  .report-history-summary-lists,
  .report-history-item dl,
  .report-history-advice dl {
    grid-template-columns: 1fr;
  }
}

/* Authoritative narrow-screen shell. The active journey id intentionally
 * outranks the retained legacy breakpoint rules below. */
@media (max-width: 900px) {
  .bangdaikan-app #activeCaseJourney.interview-layout {
    position: relative;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    grid-template-columns: minmax(0, 1fr);
    overflow: hidden;
  }

  .bangdaikan-app #activeCaseJourney .interview-workspace {
    height: 100%;
    min-height: 0;
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: hidden;
  }

  .bangdaikan-app #activeCaseJourney .interview-scroll-region {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .bangdaikan-app #activeCaseJourney .interview-heading {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }

  .bangdaikan-app #activeCaseJourney .interview-heading-actions {
    display: flex;
  }

  .bangdaikan-app #activeCaseJourney .interview-composer-dock {
    position: static;
    align-self: end;
  }

  .bangdaikan-app #interviewSidebar.interview-sidebar {
    position: fixed;
    top: 58px;
    right: 0;
    bottom: 0;
    width: min(360px, 92vw);
    transform: translateX(105%);
  }

  .bangdaikan-app #interviewSidebar.interview-sidebar.is-open {
    transform: translateX(0);
  }
}

@media (max-width: 620px) {
  .bangdaikan-app #activeCaseJourney .interview-heading {
    padding: 7px 10px 7px 12px;
  }

  .bangdaikan-app #activeCaseJourney .interview-heading-copy {
    min-width: 0;
    flex: 1 1 auto;
  }

  .bangdaikan-app #activeCaseJourney .interview-heading h1 {
    overflow: hidden;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .bangdaikan-app #activeCaseJourney .interview-heading-actions {
    flex: 0 0 auto;
  }

  .bangdaikan-app #interviewSidebar.interview-sidebar {
    top: 0;
    width: 100vw;
  }

  .bangdaikan-app #activeCaseJourney .composer-hint {
    display: none;
  }
}

/* Final dialogue cascade. This intentionally follows the legacy responsive
 * workspace rules so short turns never inherit the old 300px message floor. */
.bangdaikan-app .interview-messages {
  width: min(820px, 100%);
  min-height: 0;
  max-height: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0 auto;
  padding: 20px 24px 8px;
  overflow: visible;
}

.bangdaikan-app .interview-messages:empty {
  min-height: 96px;
}

.bangdaikan-app .interview-message,
.bangdaikan-app .interview-message.is-user {
  display: flex;
  grid-template-columns: none;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
}

.bangdaikan-app .interview-message.is-user {
  justify-content: flex-end;
}

.bangdaikan-app .message-avatar {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  background: linear-gradient(145deg, #0d67bd, #1685df);
  color: #fff;
  box-shadow: 0 4px 12px rgba(15, 111, 200, .16);
}

.bangdaikan-app .message-avatar svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.bangdaikan-app .message-body {
  width: fit-content;
  max-width: min(660px, 78%);
  min-height: 0;
  padding: 12px 15px;
  border: 1px solid #dce7f0;
  border-radius: 6px 17px 17px 17px;
  background: #fff;
  color: #17344f;
  font-size: 15px;
  line-height: 1.65;
  box-shadow: 0 4px 14px rgba(17, 55, 91, .045);
}

.bangdaikan-app .interview-message.is-user .message-body {
  max-width: min(600px, 72%);
  border-color: #cfe1f4;
  border-radius: 17px 17px 6px 17px;
  background: #edf6ff;
  box-shadow: none;
}

.bangdaikan-app .message-body.is-thinking {
  background: #f7fafe;
  color: #637d93;
}

.bangdaikan-app .interview-suggestions {
  width: min(820px, 100%);
  min-height: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 auto;
  padding: 0 24px 14px 64px;
}

.bangdaikan-app .interview-suggestions:empty {
  display: none;
}

.bangdaikan-app .suggestion-button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #b8d2eb;
  border-radius: 999px;
  background: #fff;
  color: #0d66bc;
  font-size: 13px;
  line-height: 1.2;
  box-shadow: 0 2px 7px rgba(20, 83, 139, .035);
}

.bangdaikan-app .suggestion-button:hover {
  border-color: #6ba8df;
  background: #edf6ff;
}

.bangdaikan-app .interview-composer-dock {
  padding: 8px 24px 12px;
  background: linear-gradient(180deg, rgba(247, 250, 253, 0), #f7fafd 14px, #f7fafd 100%);
}

.bangdaikan-app .interview-composer {
  width: min(820px, 100%);
  margin: 0 auto;
  gap: 7px 10px;
  padding: 9px 10px 8px;
  border-color: #d7e3ee;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(28, 71, 111, .075);
}

.bangdaikan-app .interview-composer textarea {
  min-height: 44px;
  max-height: 112px;
  padding: 11px 13px;
  resize: none;
  field-sizing: content;
  border: 0;
  border-radius: 12px;
  background: #f6f9fc;
  font-size: 14px;
  line-height: 1.55;
}

.bangdaikan-app .interview-composer .button {
  min-width: 76px;
  min-height: 44px;
  border-radius: 12px;
  box-shadow: 0 6px 14px rgba(18, 100, 211, .15);
}

.bangdaikan-app .composer-tools {
  gap: 5px;
  padding: 1px 2px 0;
}

.bangdaikan-app .composer-tool-button {
  min-height: 30px;
  padding: 0 9px;
  border-color: transparent;
  background: transparent;
  color: #4a6680;
  font-size: 11px;
  font-weight: 650;
}

.bangdaikan-app .composer-hint {
  width: min(820px, 100%);
  margin: 6px auto 0;
  color: #7b8fa2;
  font-size: 11px;
}

@media (max-width: 900px) {
  .bangdaikan-app .interview-workspace {
    grid-template-rows: auto auto;
  }
}

@media (max-width: 620px) {
  .bangdaikan-app .interview-messages {
    gap: 14px;
    padding: 14px 12px 6px;
  }

  .bangdaikan-app .message-avatar {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }

  .bangdaikan-app .message-body,
  .bangdaikan-app .interview-message.is-user .message-body {
    max-width: calc(100% - 38px);
    padding: 10px 13px;
    font-size: 14px;
    line-height: 1.6;
  }

  .bangdaikan-app .interview-message.is-user .message-body {
    max-width: 88%;
  }

  .bangdaikan-app .interview-suggestions {
    gap: 7px;
    padding: 0 12px 12px 50px;
  }

  .bangdaikan-app .suggestion-button {
    min-height: 36px;
    padding: 0 12px;
    font-size: 12px;
  }

  .bangdaikan-app .interview-composer-dock {
    padding: 7px 12px calc(9px + env(safe-area-inset-bottom));
  }

  .bangdaikan-app .interview-composer {
    padding: 8px;
    border-radius: 16px;
  }

  .bangdaikan-app .interview-composer textarea {
    min-height: 42px;
    max-height: 96px;
    padding: 10px 11px;
    font-size: 13px;
  }

  .bangdaikan-app .interview-composer .button {
    min-width: 58px;
    min-height: 42px;
    padding: 0 11px;
  }

  .bangdaikan-app .composer-tools {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }

  .bangdaikan-app .composer-hint {
    margin-top: 5px;
    font-size: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
