.efrsb-debtor-field { max-width: 400px; }
.efrsb-debtor-field, .efrsb-reference, .efrsb-dates, .efrsb-citizen-note { grid-column: 1 / -1; min-width: 0; }
.efrsb-reference-heading, .efrsb-result-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; }
.efrsb-tariffs h2, .efrsb-dates h2, .efrsb-result-heading h2 { margin: 0; font-size: 18px; line-height: 1.4; }
.efrsb-reference-heading > span, .efrsb-result-heading > span { font-size: 13px; color: #617080; }
.efrsb-tariffs p, .efrsb-dates > p { margin: 8px 0 16px; font-size: 14px; line-height: 1.6; color: #536273; }
.efrsb-earlier-tariffs { margin-top: 10px; }
.efrsb-earlier-tariffs > summary { width: fit-content; padding: 7px 0; color: #2368a8; font-size: 14px; cursor: pointer; }
.efrsb-earlier-tariffs > summary:hover { text-decoration: underline; text-underline-offset: 3px; }
.efrsb-earlier-tariffs > summary:focus-visible { outline: 2px solid #2368a8; outline-offset: 3px; }
.efrsb-earlier-tariffs .efrsb-earlier-hide, .efrsb-earlier-tariffs[open] .efrsb-earlier-show { display: none; }
.efrsb-earlier-tariffs[open] .efrsb-earlier-hide { display: inline; }
.efrsb-earlier-tariffs > .efrsb-table-scroll { margin-top: 8px; }
:root[data-theme="dark"] .efrsb-earlier-tariffs > summary { color: #9bcafa; }
@media (pointer: coarse) { .efrsb-earlier-tariffs > summary { min-height: 44px; padding-block: 11px; } }
.efrsb-table-scroll { overflow-x: auto; border: 1px solid #dce3e9; border-radius: 10px; }
.efrsb-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.efrsb-table th, .efrsb-table td { padding: 13px 15px; text-align: left; vertical-align: middle; border-bottom: 1px solid #e5e9ee; }
.efrsb-table thead th { background: #f4f7fa; color: #536273; font-weight: 600; font-size: 13px; }
.efrsb-table tbody th { font-weight: 500; white-space: nowrap; }
.efrsb-table td[data-tariff-column], .efrsb-cost-result .efrsb-table td:nth-child(4), .efrsb-cost-result .efrsb-table td:nth-child(5) { white-space: nowrap; font-variant-numeric: tabular-nums; }
.efrsb-table tr:last-child :is(th, td) { border-bottom: 0; }
.efrsb-table a { color: #2368a8; text-underline-offset: 3px; }
.efrsb-table .efrsb-mirror { font-size: 12px; }
.efrsb-table small { display: block; margin-top: 3px; color: #617080; }
.efrsb-table .efrsb-selected-tariff { background: #eef6ff; color: #155b96; font-weight: 650; }
.efrsb-citizen-note { margin: 0; padding: 13px 16px; border-left: 3px solid #7aadd5; background: #f4f8fc; font-size: 14px; line-height: 1.6; }
.efrsb-citizen-note[hidden], .efrsb-row-tariff[hidden] { display: none !important; }
.efrsb-dates { border-top: 1px solid #e1e6eb; padding-top: 22px; }
.efrsb-dates .repeater-row { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(90px, .6fr) auto; gap: 12px; align-items: end; margin: 0 0 12px; padding: 0; border: 0; background: transparent; }
.efrsb-dates .repeater-row:has(.efrsb-row-tariff:not([hidden])) { grid-template-columns: minmax(150px, 1fr) minmax(90px, .5fr) minmax(200px, 1.3fr) auto; }
.efrsb-dates label { display: grid; gap: 7px; min-width: 0; font-size: 13px; }
.efrsb-dates input, .efrsb-dates select { width: 100%; min-width: 0; }
.efrsb-dates .remove-button { width: 38px; height: 42px; }
.efrsb-dates .efrsb-coverage { margin: 12px 0 0; font-size: 13px; }
.efrsb-result-total { font-size: clamp(32px, 5vw, 46px); font-weight: 650; line-height: 1.25; margin-top: 16px; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.efrsb-result-total > span { font-size: .7em; font-weight: 400; }
.efrsb-cost-result > p { color: #536273; line-height: 1.6; }
.efrsb-result-note { font-size: 13px; }
.efrsb-copy-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.efrsb-guide { margin-top: 28px; }
.efrsb-guide > section { margin: 22px 0; }
.efrsb-guide h2 { font-size: 18px; }
.efrsb-guide p { font-size: 14px; line-height: 1.7; max-width: 84ch; }
:root[data-theme="dark"] :is(.efrsb-reference-heading > span, .efrsb-result-heading > span, .efrsb-tariffs p, .efrsb-dates > p, .efrsb-cost-result > p, .efrsb-table small) { color: #b6c2ce; }
:root[data-theme="dark"] :is(.efrsb-table-scroll, .efrsb-table th, .efrsb-table td, .efrsb-dates) { border-color: #3a4857; }
:root[data-theme="dark"] .efrsb-table thead th { background: #25313d; color: #c0cfdd; }
:root[data-theme="dark"] .efrsb-table a { color: #9bcafa; }
:root[data-theme="dark"] .efrsb-table .efrsb-selected-tariff { background: #243d53; color: #c7e3ff; }
:root[data-theme="dark"] .efrsb-citizen-note { background: #23313e; color: #c1d0df; }
@media (max-width: 700px) {
  .efrsb-table th, .efrsb-table td { padding: 10px 12px; }
  .efrsb-dates .repeater-row, .efrsb-dates .repeater-row:has(.efrsb-row-tariff:not([hidden])) { grid-template-columns: minmax(0, 1fr) 95px 32px; gap: 10px; }
  .efrsb-dates .efrsb-row-tariff { grid-row: 2; grid-column: 1 / -1; }
  .efrsb-dates .remove-button { grid-row: 1; grid-column: 3; width: 32px; }
}
.efrsb-source-links { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.efrsb-source-links a { font-size: 13px; line-height: 1.45; }
.efrsb-source-links a + a { font-size: 12px; }
.efrsb-row-formula { min-width: 190px; font-variant-numeric: tabular-nums; }
.efrsb-row-formula > span { display: inline-block; white-space: nowrap; }
.efrsb-row-subtotal { margin-left: 5px; font-weight: 600; }
.efrsb-total-formula { padding: 16px 0 2px; font-variant-numeric: tabular-nums; }
.efrsb-total-formula > span { font-size: 13px; color: #617080; }
.efrsb-total-formula > p { margin: 5px 0 0; font-size: 15px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.seo-details:has(> .efrsb-guide) { margin-top: 24px; padding-top: 20px; }
.efrsb-guide { grid-column: 1 / -1; width: 100%; min-width: 0; max-width: none; margin-top: 0; }
.efrsb-guide p { max-width: none; }
.efrsb-guide > .efrsb-method { margin-top: 0; padding-top: 0; }
.efrsb-method > h2 { margin-top: 0; }
.efrsb-method-example { border-left: 3px solid #9eb9cf; padding: 3px 0 3px 20px; margin: 20px 0; }
.efrsb-method-example > span { font-size: 13px; color: #617080; }
.efrsb-method-example p { margin: 8px 0; font-variant-numeric: tabular-nums; }
.efrsb-method-example strong { font-size: 14px; line-height: 1.7; }
.efrsb-guide-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; padding-top: 12px; }
.efrsb-guide-notes h2 { font-size: 17px; }
:root[data-theme="dark"] :is(.efrsb-total-formula > span, .efrsb-method-example > span) { color: #b6c2ce; }
@media (max-width: 700px) {
  .efrsb-guide-notes { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .efrsb-row-formula > span { display: block; }
  .efrsb-row-subtotal { margin-left: 0; margin-top: 4px; }
}
