/* DFXBOT brand layer and BeTheme isolation. Intentionally scoped to the shortcode root. */
.dfx-slim-v2 {
  --dfx-navy: #171151;
  --dfx-blue: #0e63ff;
  --dfx-cyan: #28abe2;
  --dfx-orange: #ff7a16;
  --dfx-ink: #171151;
  --dfx-muted: #536784;
  --dfx-line: #d9e4f1;
  --n: var(--dfx-navy);
  --b: var(--dfx-blue);
  --l: var(--dfx-blue);
  --i: var(--dfx-ink);
  --m: var(--dfx-muted);
  --line: var(--dfx-line);
  color: var(--dfx-ink) !important;
  background: #f5f9fd !important;
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

.dfx-slim-v2 button,
.dfx-slim-v2 input,
.dfx-slim-v2 select,
.dfx-slim-v2 textarea {
  font-family: inherit !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.dfx-slim-v2 h2,
.dfx-slim-v2 h3,
.dfx-slim-v2 h4,
.dfx-slim-v2 summary,
.dfx-slim-v2 label,
.dfx-slim-v2 .dfx-benefit > button,
.dfx-slim-v2 .dfx-benefit > button b,
.dfx-slim-v2 .dfx-benefit > button span {
  color: var(--dfx-navy) !important;
}

.dfx-slim-v2 h2,
.dfx-slim-v2 h3,
.dfx-slim-v2 h4 {
  font-family: inherit !important;
}

.dfx-slim-v2 .dfx-hero > span,
.dfx-slim-v2 .dfx-result-head > div > span,
.dfx-slim-v2 .dfx-scope header > span,
.dfx-slim-v2 .dfx-row strong,
.dfx-slim-v2 .dfx-back,
.dfx-slim-v2 .dfx-benefit summary {
  color: var(--dfx-blue) !important;
}

.dfx-slim-v2 .dfx-benefit {
  background: #fff !important;
  border-color: var(--dfx-line) !important;
}

.dfx-slim-v2 .dfx-benefit.on {
  background: #eef7ff !important;
  border-color: #6fc4ea !important;
  box-shadow: inset 0 3px 0 var(--dfx-cyan);
}

.dfx-slim-v2 .dfx-benefit > button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.dfx-slim-v2 .dfx-benefit small,
.dfx-slim-v2 .dfx-scope h4 small,
.dfx-slim-v2 .dfx-fields label,
.dfx-slim-v2 .dfx-benefit details label {
  color: var(--dfx-muted) !important;
}

.dfx-slim-v2 .dfx-benefit > button small em {
  color: var(--dfx-blue) !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

.dfx-slim-v2 .dfx-rate-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  margin-top: 10px;
}

.dfx-slim-v2 .dfx-rate-grid label {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 86px;
  align-items: center;
  min-width: 0;
  font-size: 9px !important;
}

.dfx-slim-v2 .dfx-rate-grid label > div {
  min-width: 0;
}

.dfx-slim-v2 .dfx-rate-grid label div span {
  min-width: 22px !important;
}

.dfx-slim-v2 .dfx-rate-grid input {
  min-width: 0;
  padding: 0 6px !important;
}

.dfx-slim-v2 .dfx-rate-grid label > small {
  display: block !important;
  grid-column: 1 / -1;
  min-height: 28px;
  color: var(--dfx-blue) !important;
  font-weight: 700 !important;
}

.dfx-slim-v2 .dfx-derived-input {
  margin-top: 10px;
}

.dfx-slim-v2 .dfx-derived-input > small {
  display: block !important;
  margin-top: 6px;
  color: var(--dfx-muted) !important;
  line-height: 1.45;
}

.dfx-slim-v2 .dfx-assumption-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 10px;
}

.dfx-slim-v2 .dfx-assumption-summary span {
  padding: 8px;
  border-radius: 6px;
  background: #fff !important;
  color: var(--dfx-navy) !important;
  font-size: 10px;
  line-height: 1.35;
}

.dfx-slim-v2 .dfx-assumption-summary span b {
  display: block;
  margin-bottom: 3px;
  color: var(--dfx-muted) !important;
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.dfx-slim-v2 .dfx-formula {
  padding: 8px;
  border-radius: 6px;
  background: #f7fbff !important;
}

.dfx-slim-v2 .dfx-benefit i {
  background: #e8eef6 !important;
  color: #607997 !important;
}

.dfx-slim-v2 .dfx-benefit.on i {
  background: var(--dfx-blue) !important;
  color: #fff !important;
}

.dfx-slim-v2 .dfx-chips button {
  background: #fff !important;
  border-color: var(--dfx-line) !important;
  color: #425c7e !important;
}

.dfx-slim-v2 .dfx-chips button.on {
  background: #eaf7fd !important;
  border-color: var(--dfx-cyan) !important;
  color: var(--dfx-navy) !important;
}

.dfx-slim-v2 .dfx-explain,
.dfx-slim-v2 .dfx-run,
.dfx-slim-v2 .dfx-metrics {
  background: var(--dfx-navy) !important;
}

.dfx-slim-v2 .dfx-explain b,
.dfx-slim-v2 .dfx-run b,
.dfx-slim-v2 .dfx-metrics > div b,
.dfx-slim-v2 .dfx-metrics > div small,
.dfx-slim-v2 .dfx-metrics > div span {
  color: #fff !important;
}

.dfx-slim-v2 .dfx-run button,
.dfx-slim-v2 .dfx-actions a,
.dfx-slim-v2 .dfx-add {
  background: var(--dfx-blue) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}

.dfx-slim-v2 .dfx-run button:hover,
.dfx-slim-v2 .dfx-actions a:hover,
.dfx-slim-v2 .dfx-add:hover {
  background: #0755de !important;
  color: #fff !important;
}

.dfx-slim-v2 .dfx-scenarios {
  background: #e4edf7 !important;
}

.dfx-slim-v2 .dfx-scenarios button,
.dfx-slim-v2 .dfx-scenarios button:not(.on) {
  background: transparent !important;
  color: var(--dfx-navy) !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.dfx-slim-v2 .dfx-scenarios button.on {
  background: #fff !important;
  color: var(--dfx-blue) !important;
  font-weight: 800 !important;
}

.dfx-slim-v2 .dfx-actions button {
  background: #fff !important;
  color: var(--dfx-blue) !important;
  border: 1px solid #b9d0eb !important;
}

.dfx-slim-v2 .dfx-scope header button {
  background: #fff0f0 !important;
  color: #a32b2b !important;
}

.dfx-slim-v2 .dfx-metrics .blue { background: var(--dfx-blue) !important; }
.dfx-slim-v2 .dfx-metrics .lime { background: var(--dfx-orange) !important; color: #fff !important; }
.dfx-slim-v2 .dfx-metrics .lime b,
.dfx-slim-v2 .dfx-metrics .lime small,
.dfx-slim-v2 .dfx-metrics .lime span { color: #fff !important; }

.dfx-slim-v2 .dfx-benchmark,
.dfx-slim-v2 .dfx-coverage {
  background: #fff7ed !important;
  border-left-color: var(--dfx-orange) !important;
}

.dfx-slim-v2 .dfx-evidence { border-left-color: var(--dfx-cyan) !important; }
.dfx-slim-v2 .dfx-inventory { background: #eaf7fd !important; }
.dfx-slim-v2 input:focus,
.dfx-slim-v2 select:focus { border-color: var(--dfx-cyan) !important; outline: 2px solid rgba(40,171,226,.18) !important; }

@media print {
  .dfx-slim-v2 { background: #fff !important; }
}

/* Guided onboarding and always-available help. */
.dfx-slim-v2 .dfx-tour-help {
  position: fixed;
  right: 22px;
  top: 105px;
  z-index: 99990;
  border: 0 !important;
  border-radius: 99px;
  padding: 10px 14px;
  background: var(--dfx-blue) !important;
  color: #fff !important;
  font-weight: 800;
  box-shadow: 0 8px 24px rgba(23,17,81,.22) !important;
}

.dfx-slim-tour {
  position: fixed;
  inset: 0;
  z-index: 999999;
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

.dfx-tour-welcome {
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(6,31,67,.72);
}

.dfx-tour-guide { pointer-events: none; background: rgba(6,31,67,.12); }
.dfx-tour-card {
  width: min(470px, calc(100vw - 32px));
  padding: 24px;
  border-radius: 16px;
  background: #fff;
  color: #171151;
  box-shadow: 0 24px 70px rgba(6,31,67,.35);
}
.dfx-tour-guide .dfx-tour-card { position: absolute; right: 24px; bottom: 24px; pointer-events: auto; }
.dfx-tour-card > span { font-size: 10px; letter-spacing: .14em; color: #0e63ff; font-weight: 900; }
.dfx-tour-card h3 { margin: 10px 0 8px; color: #171151; font-size: 23px; line-height: 1.2; }
.dfx-tour-card p { margin: 0; color: #536784; line-height: 1.55; }
.dfx-tour-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.dfx-tour-actions button { border: 1px solid #c9d9eb; border-radius: 8px; padding: 10px 14px; background: #fff; color: #171151; font-weight: 700; }
.dfx-tour-actions button.primary { border-color: #0e63ff; background: #0e63ff; color: #fff; }
.dfx-tour-target {
  position: relative !important;
  z-index: 999998 !important;
  outline: 4px solid #ff7a16 !important;
  outline-offset: 5px !important;
  box-shadow: 0 0 0 12px rgba(255,255,255,.92), 0 14px 50px rgba(6,31,67,.3) !important;
}

/* Complete PDF input and assumption record; hidden on screen. */
.dfx-slim-v2 .dfx-print-inputs { display: none; }
.dfx-print-inputs header { border-bottom: 2px solid #0e63ff; padding-bottom: 12px; }
.dfx-print-inputs header > span { color: #0e63ff; font-size: 10px; letter-spacing: .14em; font-weight: 900; }
.dfx-print-inputs header h2 { margin: 8px 0; }
.dfx-print-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.dfx-print-facts > div { border: 1px solid #d9e4f1; border-radius: 7px; padding: 9px; }
.dfx-print-facts small, .dfx-print-facts b { display: block; }
.dfx-print-facts small { color: #536784; font-size: 8px; margin-bottom: 3px; }
.dfx-print-facts b { font-size: 11px; }
.dfx-print-scope { margin-top: 18px; }
.dfx-print-scope table { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 8px; }
.dfx-print-scope th, .dfx-print-scope td { border: 1px solid #d9e4f1; padding: 6px; text-align: left; vertical-align: top; }
.dfx-print-scope th { background: #eef7ff; }
.dfx-print-scope td small { display: block; color: #536784; margin-top: 2px; }
.dfx-print-note { margin-top: 15px; padding: 10px; background: #fff7ed; border-left: 3px solid #ff7a16; font-size: 9px; line-height: 1.5; }

@media (max-width: 600px) {
  .dfx-slim-v2 .dfx-tour-help { top: auto; right: 12px; bottom: 12px; }
  .dfx-tour-guide .dfx-tour-card { right: 16px; bottom: 16px; }
  .dfx-tour-card { padding: 19px; }
  .dfx-tour-card h3 { font-size: 20px; }
}

@media print {
  @page { size: A4; margin: 12mm; }
  body * { visibility: hidden !important; }
  .dfx-slim-v2, .dfx-slim-v2 * { visibility: visible !important; }
  .dfx-slim-v2 { position: absolute !important; left: 0 !important; top: 0 !important; width: 100% !important; border-radius: 0 !important; background: #fff !important; }
  .dfx-tour-help, .dfx-slim-tour, .dfx-back, .dfx-actions { display: none !important; }
  .dfx-slim-v2 .dfx-print-inputs { display: block !important; page-break-before: always; padding: 8px 20px; }
  .dfx-result-head { padding-top: 10px; }
  .dfx-result-head h2 { font-size: 36px !important; }
  .dfx-metrics { grid-template-columns: repeat(3,1fr) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .dfx-result-grid { grid-template-columns: 1.15fr .85fr !important; }
  .dfx-metrics > div, .dfx-row, .dfx-missing, .dfx-print-facts > div, .dfx-print-scope tr { break-inside: avoid; page-break-inside: avoid; }
  .dfx-print-scope h3 { break-after: avoid; }
}
