/* Operator detail only: the supplied Firma Detay reference, with live content and shared theme tokens. */
.operator-details-page {
  --operator-card-radius: .375rem;
  --text-card-title: 1rem;
  --text-table-header: .8125rem;
  --operator-price-text: .875rem;
  --operator-summary-label: .8125rem;
}
.operator-details-page :where(h1, h2, h3, p, dl, dd) { margin: 0; }
.operator-details-page :where(a, p, dd, td, th, h1, h2, h3) { overflow-wrap: anywhere; }
.operator-detail__breadcrumb { margin-block-end: 1.125rem; color: var(--color-text-muted); font-size: var(--text-sm); }
.operator-detail__breadcrumb ol { display: flex; flex-wrap: wrap; gap: .375rem .625rem; margin: 0; padding: 0; list-style: none; }
.operator-detail__breadcrumb li + li::before { content: "/"; margin-inline-end: .625rem; color: var(--color-text-muted); }
.operator-detail__breadcrumb a { color: var(--color-text-secondary); text-decoration: none; }
.operator-detail__breadcrumb a:hover { color: var(--color-text); text-decoration: underline; }
.operator-detail__header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: .75rem 1rem; margin-block-end: 1rem; }
.operator-detail__identity { display: flex; align-items: flex-start; gap: 1rem; min-width: 0; }
.operator-detail__identity > div { min-width: 0; }
.operator-details-page .operator-logo--64 { width: 4rem; height: 4rem; --operator-logo-radius: .5rem; --operator-logo-padding: 3px; }
.operator-detail__identity h1 { margin: .125rem 0 .25rem; font-size: 2.25rem; line-height: 1.15; letter-spacing: -.025em; font-weight: 750; }
.operator-detail__eyebrow { color: var(--color-text-muted); font-size: var(--text-sm); font-weight: 500; }
.operator-details-page .operator-detail__license-holder { font-size: var(--text-card-title); line-height: 1.5; font-weight: 400; letter-spacing: normal; color: var(--color-text-secondary); }
.operator-detail__intro { grid-column: 1 / -1; min-width: 0; width: 100%; font-size: var(--text-sm); line-height: 1.65; color: var(--color-text-secondary); }
.operator-detail__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.operator-detail__actions .button { min-height: 2.5rem; padding: .5rem .8125rem; font-size: var(--text-sm); }
.operator-detail__actions svg { flex: 0 0 auto; }
.operator-detail__stats { display: grid; grid-template-columns: repeat(6, auto); margin: 0 0 .875rem; border: 1px solid var(--color-border); border-radius: var(--operator-card-radius); background: var(--color-surface); }
.operator-detail__stats > div { display: flex; flex-direction: column; min-width: 0; padding: .875rem 1rem; }
.operator-detail__stats > div + div { border-inline-start: 1px solid var(--color-border-soft); }
.operator-detail__stats dt { order: 1; margin-block-start: auto; padding-block-start: .1875rem; color: var(--color-text-muted); font-size: var(--operator-summary-label); font-weight: 400; }
.operator-detail__stats dd { font-family: var(--font-mono); font-size: 1.375rem; font-weight: 500; line-height: 1.3; }
.operator-detail__stats .operator-detail__stat-price dd { font-size: 1.25rem; line-height: 1.3; font-weight: 500; }
.operator-detail__stat-price dd small { display: block; margin-block-start: .125rem; font-size: var(--text-sm); color: var(--color-text-muted); font-weight: 400; }
.operator-detail__grid { display: grid; grid-template-columns: minmax(0, 1fr) 18.75rem; gap: .875rem; align-items: start; }
.operator-detail__main, .operator-detail__sidebar { min-width: 0; display: grid; align-content: start; gap: .875rem; }
.operator-detail__card, .operator-details-page .commercial-section { min-width: 0; border: 1px solid var(--color-border); border-radius: var(--operator-card-radius); background: var(--color-surface); }
.operator-detail__card-head, .operator-details-page .commercial-section__heading { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .875rem 1rem; border-block-end: 1px solid var(--color-border-soft); }
.operator-detail__card-head > div { min-width: 0; }
.operator-details-page h2 { font-size: var(--text-card-title); line-height: 1.4; font-weight: 650; letter-spacing: -.015em; scroll-margin-block-start: 6rem; }
.operator-detail__card-head p, .operator-details-page .commercial-section__heading p { margin-block-start: .25rem; color: var(--color-text-muted); font-size: var(--text-sm); line-height: 1.5; }
.operator-detail__card-head > h2 { flex: 0 1 auto; }
.operator-detail__card-head > p { flex: 1 1 0; min-width: 0; margin: 0; }
.operator-detail__card-head > .operator-detail__small-action { display: inline-flex; align-items: center; justify-content: center; min-height: 2rem; max-width: none; padding: .25rem .625rem; border: 1px solid var(--color-border); border-radius: .25rem; background: var(--color-background); }
.operator-detail__card-head a { flex: 0 0 auto; max-width: 40%; color: var(--color-text-secondary); font-size: var(--text-sm); font-weight: 500; text-decoration: none; }
.operator-detail__card-head a:hover { color: var(--color-text); text-decoration: underline; }
.operator-detail__tag { flex: 0 1 auto; max-width: 40%; padding: .1875rem .5rem; border: 1px solid var(--color-border-soft); border-radius: .25rem; background: var(--color-surface-subtle); color: var(--color-text-secondary); font-size: var(--text-sm); }
.operator-details-page table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 0; }
.operator-details-page table th, .operator-details-page table td { padding: .625rem 1rem; border-block-end: 1px solid var(--color-border-soft); vertical-align: middle; text-align: end; }
.operator-details-page table tr > :first-child { text-align: start; }
.operator-details-page table thead th { color: var(--color-text-muted); font-family: var(--font-sans); font-size: var(--text-table-header); font-weight: 500; background: var(--color-surface-subtle); }
.operator-details-page table tbody th { color: var(--color-text); font-size: var(--text-base); font-weight: 500; }
.operator-details-page table tbody td { font-family: var(--font-mono); font-size: var(--text-base); font-weight: 400; }
.operator-details-page table tbody tr:last-child > * { border-block-end: 0; }
.operator-details-page table tbody tr:hover { background: var(--color-surface-subtle); }
.operator-details-page .operator-detail__tariffs { table-layout: auto; }
.operator-detail__tariffs th:first-child { width: 40%; }
.operator-details-page .operator-detail__tariffs td,
.operator-details-page .operator-detail__bands td:last-child { font-size: var(--operator-price-text); line-height: 1.5; }
.operator-detail__socket-group { font-family: var(--font-mono); font-size: var(--operator-price-text); font-weight: 400; white-space: nowrap; }
.operator-detail__current { font-weight: 500; }
.operator-detail__amount { font-family: var(--font-mono); font-size: var(--operator-price-text); font-weight: 400; }
.operator-detail__note, .operator-detail__empty { padding: .875rem 1rem; font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.6; }
.operator-detail__note { border-block-start: 1px solid var(--color-border-soft); }
.operator-detail__disclosure { border-block-start: 1px solid var(--color-border-soft); }
.operator-detail__disclosure > summary { padding: .75rem 1rem; color: var(--color-text-secondary); font-size: var(--text-sm); font-weight: 500; cursor: pointer; }
.operator-detail__disclosure > summary:hover { color: var(--color-text); background: var(--color-surface-subtle); }
.operator-detail__disclosure > summary > span { display: inline-block; margin-inline-start: .375rem; padding: 0 .375rem; border-radius: .25rem; background: var(--color-surface-subtle); font-family: var(--font-mono); }
.operator-detail__bands th:first-child { width: 18%; }
.operator-detail__bands th:nth-child(2) { width: 26%; }
.operator-detail__provinces th:first-child { width: 39%; }
.operator-detail__provinces th:nth-child(2) { width: 23%; }
.operator-detail__provinces a { color: var(--color-text); text-decoration: none; }
.operator-detail__provinces a:hover { text-decoration: underline; text-decoration-color: var(--color-brand); text-underline-offset: .25em; }
.operator-detail__share { display: flex; align-items: center; gap: .625rem; font-size: var(--text-sm); }
.operator-detail__share > span:last-child { min-width: 5ch; text-align: end; }
.operator-detail__meter { appearance: none; display: block; width: 100%; height: .3125rem; flex: 1; min-width: 0; overflow: hidden; border: 0; border-radius: 1rem; background: var(--color-surface-subtle); color: var(--color-brand); }
.operator-detail__meter::-webkit-progress-bar { border-radius: inherit; background: var(--color-surface-subtle); }
.operator-detail__meter::-webkit-progress-value { border-radius: inherit; background: var(--color-brand); }
.operator-detail__meter::-moz-progress-bar { border-radius: inherit; background: var(--color-brand); }
.operator-detail__province-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; padding: 0 1rem .75rem; margin: 0; list-style: none; }
.operator-detail__province-list a { display: flex; justify-content: space-between; gap: .5rem; padding: .5rem 0; border-block-end: 1px solid var(--color-border-soft); font-size: var(--text-sm); color: var(--color-text-secondary); text-decoration: none; }
.operator-detail__province-list a:hover { color: var(--color-text); text-decoration: underline; }
.operator-detail__province-list a span:last-child { font-family: var(--font-mono); }
.operator-detail__calculator { border-color: var(--color-brand); }
.operator-detail__calculator .operator-detail__card-head { background: rgb(var(--color-brand-rgb) / 6%); border-radius: var(--operator-card-radius) var(--operator-card-radius) 0 0; }
.operator-detail__calculator .operator-detail__eyebrow { margin: 0 0 .1875rem; }
.operator-detail__form { display: grid; gap: .75rem; padding: 1rem; }
.operator-detail__form p, .operator-detail__card-body p { font-size: var(--text-sm); color: var(--color-text-secondary); line-height: 1.6; }
.operator-detail__form input, .operator-detail__form select { width: 100%; min-width: 0; min-height: 2.75rem; margin: 0; padding: .625rem .75rem; border: 1px solid var(--color-border); border-radius: .25rem; background-color: var(--color-background); color: var(--color-text); font-size: var(--text-base); }
.operator-detail__form select { padding-inline-end: 1.75rem; }
.operator-detail__battery { position: relative; }
.operator-detail__battery input { padding-inline-end: 4.25rem; }
.operator-detail__battery > span { position: absolute; inset-inline-end: 2rem; top: 50%; transform: translateY(-50%); font-family: var(--font-mono); font-size: var(--text-sm); color: var(--color-text-muted); pointer-events: none; }
#operator-battery { padding-inline-end: 3rem; appearance: textfield; -moz-appearance: textfield; }
#operator-battery::-webkit-inner-spin-button, #operator-battery::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
#operator-battery + span { inset-inline-end: .5rem; }
.operator-detail__charge-range { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: .5rem; align-items: start; }
.operator-detail__charge-range > div { min-width: 0; }
.operator-detail__charge-range > div > span { display: block; margin-block-start: .25rem; font-size: var(--text-sm); color: var(--color-text-muted); }
.operator-detail__range-arrow { padding-block-start: .625rem; color: var(--color-text-muted); }
.operator-detail__form .button, .operator-detail__card-body .button { width: 100%; min-height: 2.625rem; font-size: var(--text-sm); padding-inline: .75rem; white-space: normal; }
.operator-detail__form .operator-detail__form-note { font-size: var(--text-sm); color: var(--color-text-muted); }
.operator-detail__company { padding: .25rem 1rem; }
.operator-detail__company > div { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: .5rem; padding: .5rem 0; }
.operator-detail__company > div + div { border-block-start: 1px solid var(--color-border-soft); }
.operator-detail__company dt { margin-block-end: .25rem; color: var(--color-text-muted); font-size: var(--text-sm); }
.operator-detail__company dd { text-align: end; color: var(--color-text-secondary); font-size: var(--text-sm); line-height: 1.5; }
.operator-detail__card-link { display: flex; justify-content: space-between; gap: .5rem; padding: .875rem 1rem; border-block-start: 1px solid var(--color-border-soft); color: var(--color-text); font-size: var(--text-sm); text-decoration: none; }
.operator-detail__card-link:hover { text-decoration: underline; }
.operator-detail__card-body { display: grid; gap: .75rem; padding: 1rem; }
.operator-detail__compare-icon { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--color-border-soft); border-radius: .25rem; background: rgb(var(--color-brand-rgb) / 8%); font-size: 1.5rem; }
.operator-details-page .commercial-section { margin: 0; padding: 0; }
.operator-details-page .commercial-section__heading { display: block; margin: 0; }
.operator-details-page .commercial-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.operator-details-page .commercial-card { min-width: 0; margin: 0; padding: 1rem; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.operator-details-page .commercial-card + .commercial-card { border-block-start: 1px solid var(--color-border-soft); }
.operator-details-page .commercial-card__heading { display: flex; align-items: start; gap: .5rem; justify-content: space-between; }
.operator-details-page .commercial-card h3 { font-size: var(--text-base); line-height: 1.5; font-weight: 650; }
.operator-details-page .commercial-card__summary, .operator-details-page .commercial-card__notice { margin-block: .5rem; font-size: var(--text-sm); color: var(--color-text-secondary); line-height: 1.6; }
.operator-details-page .commercial-rules { margin-block-start: .75rem; }
.operator-details-page .commercial-rule { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr); gap: .75rem; padding: .75rem 0; border-block-start: 1px solid var(--color-border-soft); }
.operator-details-page .commercial-rule dt { font-size: var(--text-sm); font-weight: 500; color: var(--color-text-muted); }
.operator-details-page .commercial-rule dd { display: grid; gap: .25rem; font-size: var(--text-sm); line-height: 1.6; color: var(--color-text-secondary); }
.operator-details-page .commercial-rule__value { font-family: var(--font-mono); font-size: var(--text-base); font-weight: 500; color: var(--color-text); }
.operator-details-page .commercial-card__deadline { margin-block-start: .75rem; padding-block-start: .75rem; border-block-start: 1px solid var(--color-border-soft); font-size: var(--text-sm); color: var(--color-text-muted); }
.operator-details-page .commercial-targets { margin-block-start: .75rem; padding-block-start: .75rem; border-block-start: 1px solid var(--color-border-soft); }
.operator-details-page .commercial-targets summary { cursor: pointer; font-size: var(--text-sm); }
.operator-details-page .commercial-targets ul { max-height: none; overflow: visible; padding: 0; margin: .75rem 0 0; list-style: none; }
.operator-details-page .commercial-targets li { display: grid; gap: .25rem; padding: .75rem 0; border-block-start: 1px solid var(--color-border-soft); font-size: var(--text-sm); color: var(--color-text-secondary); }
.operator-details-page .commercial-targets li strong { font-weight: 500; }
.operator-detail__sidebar .commercial-rule { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
.operator-details-page .operator-detail__payment .commercial-section,
.operator-details-page .operator-detail__payment .commercial-card { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.operator-details-page .operator-detail__payment .commercial-section__heading { margin: 0 0 .625rem; padding: 0; border: 0; background: transparent; }
.operator-details-page .operator-detail__payment .commercial-cards { gap: 1rem; }
.operator-details-page .operator-detail__payment .commercial-rules { margin-block-start: .5rem; gap: .375rem; }
.operator-details-page .operator-detail__payment .commercial-rule { grid-template-columns: minmax(0, 1fr); gap: .25rem; padding: .375rem 0; border: 0; }
.operator-details-page .operator-detail__payment .commercial-rule dd { min-width: 0; margin: 0; gap: .625rem; }
.operator-details-page .operator-detail__payment .commercial-fee-tiers { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: transparent; }
.operator-details-page .operator-detail__payment .commercial-fee-tiers th,
.operator-details-page .operator-detail__payment .commercial-fee-tiers td { padding: .375rem 0; border: 0; background: transparent; text-align: start; }
.operator-details-page .operator-detail__payment .commercial-fee-tiers thead th { color: var(--color-text-muted); font-size: .8125rem; font-weight: 500; }
.operator-details-page .operator-detail__payment .commercial-fee-tiers tbody th,
.operator-details-page .operator-detail__payment .commercial-fee-tiers tbody td { font-family: var(--font-mono); font-size: .875rem; font-weight: 400; color: var(--color-text); }
.operator-details-page .operator-detail__payment .commercial-fee-tiers th + th,
.operator-details-page .operator-detail__payment .commercial-fee-tiers td { padding-inline-start: 1rem; text-align: end; }
.operator-details-page .operator-detail__payment .commercial-fee-note { color: var(--color-text-muted); }
.operator-details-page .operator-detail__payment .commercial-card__deadline,
.operator-details-page .operator-detail__payment .commercial-targets { border: 0; padding-block-start: 0; }
.operator-detail__muted { color: var(--color-text-muted); font-size: var(--text-sm); }
.operator-detail__facts { display: grid; border-block-start: 1px solid var(--color-border-soft); }
.operator-detail__facts--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.operator-detail__facts--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.operator-detail__facts--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.operator-detail__facts > div { min-width: 0; padding: .75rem 1rem; }
.operator-detail__facts > div + div { border-inline-start: 1px solid var(--color-border-soft); }
.operator-detail__facts dt { font-size: var(--text-sm); line-height: 1.5; color: var(--color-text-muted); }
.operator-detail__facts dd { margin-block-start: .25rem; font-size: var(--text-sm); line-height: 1.5; }
.operator-detail__facts a { color: var(--color-text); text-underline-offset: .2em; }
.operator-detail__facts--four > div { display: flex; flex-direction: column-reverse; justify-content: end; }
.operator-detail__facts--four dd { font-family: var(--font-mono); font-size: 1.375rem; }
.operator-detail__network-mix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block-end: 1px solid var(--color-border-soft); }
.operator-detail__network-mix > div { padding: .875rem 1rem; min-width: 0; }
.operator-detail__network-mix > div + div { border-inline-start: 1px solid var(--color-border-soft); }
.operator-detail__network-mix h3 { margin-block-end: .625rem; color: var(--color-text-secondary); font-size: var(--text-sm); font-weight: 600; }
.operator-detail__network-mix p { margin-block-start: .625rem; font-size: var(--text-sm); line-height: 1.5; color: var(--color-text-muted); }
.operator-detail__power-options { display: grid; gap: .375rem; }
.operator-detail__power-options > div { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; font-family: var(--font-mono); font-size: var(--text-sm); }
.operator-detail__venue-tags { display: flex; flex-wrap: wrap; gap: .375rem; }
.operator-detail__venue-tags span { padding: .1875rem .375rem; border-radius: .25rem; border: 1px solid var(--color-border-soft); color: var(--color-text-muted); font-size: var(--text-sm); }
.operator-detail__reliability-note { display: grid; gap: .5rem; padding: .75rem 1rem; border-block-start: 1px solid var(--color-border-soft); color: var(--color-text-secondary); font-size: var(--text-sm); }
.operator-detail__reliability-note p { color: var(--color-text-muted); }
.operator-detail__empty-track { display: block; height: .375rem; min-width: 0; border-radius: .25rem; background: var(--color-surface-subtle); }
.operator-detail__review-summary { display: grid; grid-template-columns: 9.375rem minmax(0, 1fr); gap: 1.25rem; padding: 1rem; }
.operator-detail__rating > :first-child { display: block; font-family: var(--font-mono); font-size: 2.5rem; font-weight: 500; line-height: 1; }
.operator-detail__rating-stars { display: block; margin-block: .25rem; color: var(--color-text-muted); letter-spacing: .1em; font-size: var(--text-base); }
.operator-detail__rating p { font-size: var(--text-sm); color: var(--color-text-muted); }
.operator-detail__rating-distribution { display: grid; align-content: start; gap: .375rem; }
.operator-detail__rating-distribution > div { display: grid; align-items: center; grid-template-columns: 1ch minmax(0, 1fr) 3ch; gap: .5625rem; font-family: var(--font-mono); color: var(--color-text-muted); font-size: var(--text-sm); }
.operator-detail__rating-distribution > div > :last-child { text-align: end; }
.operator-detail__sidebar .operator-detail__card-head { padding-block: .875rem .625rem; border: 0; background: transparent; }
.operator-detail__sidebar .operator-detail__form { padding-block-start: 0; gap: .5625rem; }
.operator-detail__sidebar .operator-detail__card-body { padding-block-start: 0; }
.operator-detail__card-body .operator-detail__empty { padding: 0; }
.operator-detail__sidebar .operator-detail__company { padding-block-end: .625rem; }
.operator-detail__calculator { border-color: rgb(var(--color-brand-rgb) / 34%); }
.operator-detail__form input:not([type="range"]), .operator-detail__form select { min-height: 2.25rem; padding-block: .375rem; font-size: var(--text-sm); background-color: var(--color-surface-subtle); }
.operator-detail__soc-range { --soc-start: 20%; --soc-target: 80%; --soc-hit-size: 2rem; --soc-thumb-border: .375rem; --soc-rail-size: 4px; display: grid; gap: .25rem; min-width: 0; }
.operator-detail__soc-track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.operator-detail__soc-track input[type="range"] { height: var(--soc-hit-size); min-height: var(--soc-hit-size); margin: 0; padding: 0; border: 0; background: transparent; accent-color: var(--color-brand); }
.operator-detail__soc-rail { display: none; }
.operator-detail__soc-values { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .25rem .75rem; }
.operator-detail__soc-values output { font-family: var(--font-mono); font-size: var(--text-sm); color: var(--color-text-secondary); }
.operator-detail__soc-range.is-enhanced .operator-detail__soc-track { position: relative; display: block; height: var(--soc-hit-size); touch-action: pinch-zoom; user-select: none; -webkit-user-select: none; }
.operator-detail__soc-range.is-enhanced .operator-detail__soc-rail { display: block; position: absolute; inset-inline: calc(var(--soc-hit-size) / 2); top: calc(50% - var(--soc-rail-size) / 2); height: var(--soc-rail-size); border-radius: 1rem; pointer-events: none; background: linear-gradient(to right, var(--color-border) var(--soc-start), var(--color-brand) var(--soc-start), var(--color-brand) var(--soc-target), var(--color-border) var(--soc-target)); }
.operator-detail__soc-range.is-enhanced input[type="range"] { position: absolute; inset: 0; z-index: 1; width: 100%; appearance: none; -webkit-appearance: none; pointer-events: none; touch-action: pinch-zoom; }
.operator-detail__soc-range.is-enhanced input[type="range"]:focus-visible { z-index: 2; outline: none; }
.operator-detail__soc-range.is-enhanced input[type="range"]::-webkit-slider-runnable-track { height: var(--soc-hit-size); border: 0; background: transparent; }
.operator-detail__soc-range.is-enhanced input[type="range"]::-moz-range-track { height: var(--soc-hit-size); border: 0; background: transparent; }
.operator-detail__soc-range.is-enhanced input[type="range"]::-moz-range-progress { background: transparent; }
.operator-detail__soc-range.is-enhanced input[type="range"]::-webkit-slider-thumb { box-sizing: border-box; width: var(--soc-hit-size); height: var(--soc-hit-size); margin: 0; border: var(--soc-thumb-border) solid transparent; border-radius: 50%; background: var(--color-brand); background-clip: padding-box; appearance: none; -webkit-appearance: none; pointer-events: auto; cursor: grab; }
.operator-detail__soc-range.is-enhanced input[type="range"]::-moz-range-thumb { box-sizing: border-box; width: var(--soc-hit-size); height: var(--soc-hit-size); border: var(--soc-thumb-border) solid transparent; border-radius: 50%; background: var(--color-brand); background-clip: padding-box; pointer-events: auto; cursor: grab; }
.operator-detail__soc-range.is-enhanced input[type="range"]:focus-visible::-webkit-slider-thumb,
.operator-detail__soc-range.is-enhanced input[type="range"].is-dragging::-webkit-slider-thumb { outline: 2px solid var(--color-text); outline-offset: calc(2px - var(--soc-thumb-border)); }
.operator-detail__soc-range.is-enhanced input[type="range"]:focus-visible::-moz-range-thumb,
.operator-detail__soc-range.is-enhanced input[type="range"].is-dragging::-moz-range-thumb { outline: 2px solid var(--color-text); outline-offset: calc(2px - var(--soc-thumb-border)); }
.operator-detail__soc-range.is-enhanced input[type="range"].is-dragging { z-index: 3; }
@media (max-width: 52rem), (any-pointer: coarse) {
  .operator-detail__soc-range { --soc-hit-size: 3rem; --soc-thumb-border: .75rem; --soc-rail-size: 6px; gap: .375rem; }
}
.operator-detail__calculation { border-block-start: 1px solid var(--color-border-soft); }
.operator-detail__calculation > div { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; padding-block: .5625rem; border-block-end: 1px solid var(--color-border-soft); }
.operator-detail__calculation dt { color: var(--color-text-secondary); font-size: var(--text-sm); }
.operator-detail__calculation dt span { display: block; color: var(--color-text-muted); }
.operator-detail__calculation dd { flex: 0 1 auto; text-align: end; font-family: var(--font-mono); font-size: 1.0625rem; font-weight: 500; }
.operator-detail__calculation-total dd { font-size: 1.25rem; }
.operator-detail__calculator-options summary { cursor: pointer; font-size: var(--text-sm); color: var(--color-text-secondary); }
.operator-detail__calculator-options[open] summary { margin-block-end: .625rem; }
.operator-detail__calculator-fields { display: grid; gap: .5rem; margin-block-start: .625rem; }
.operator-detail__calculator-fields .operator-detail__battery input { padding-inline-end: 7rem; }
.operator-detail__calculator-fields .operator-detail__battery > span { inset-inline-end: 1.75rem; }
.operator-detail__card-head > .operator-detail__comparison-context { flex: 0 0 auto; padding: 0; color: var(--color-text-muted); font-size: var(--text-sm); line-height: 1.5; }
.operator-detail__comparison .operator-detail__card-head { flex-wrap: wrap; }
.operator-detail__comparison-list { margin: 0; padding: 0; list-style: none; }
.operator-detail__comparison-row { display: grid; grid-template-columns: minmax(0, 1fr) 2rem minmax(0, 1.15fr); align-items: center; gap: .625rem; padding: .625rem 1rem; border-block-start: 1px solid var(--color-border-soft); }
.operator-detail__comparison-row--current { background: rgb(var(--color-brand-rgb) / 8%); }
.operator-detail__comparison-name { min-width: 0; color: var(--color-text); font-size: var(--text-sm); font-weight: 500; text-decoration: none; }
.operator-detail__comparison-name:hover { text-decoration: underline; text-underline-offset: .2em; }
.operator-detail__comparison-meter { appearance: none; width: 100%; height: .25rem; border: 0; border-radius: .25rem; overflow: hidden; background: var(--color-surface-subtle); color: var(--color-text-muted); }
.operator-detail__comparison-meter::-webkit-progress-bar { background: var(--color-surface-subtle); }
.operator-detail__comparison-meter::-webkit-progress-value { background: var(--color-text-muted); }
.operator-detail__comparison-meter::-moz-progress-bar { background: var(--color-text-muted); }
.operator-detail__comparison-row--current .operator-detail__comparison-meter::-webkit-progress-value { background: var(--color-brand); }
.operator-detail__comparison-row--current .operator-detail__comparison-meter::-moz-progress-bar { background: var(--color-brand); }
.operator-detail__comparison-amount { min-width: 0; text-align: end; font-family: var(--font-mono); font-size: var(--text-sm); line-height: 1.5; }
@media (max-width: 52rem) {
  .operator-detail__grid { grid-template-columns: minmax(0, 1fr); }
  .operator-detail__sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .operator-detail__stats { grid-template-columns: repeat(3, auto); }
  .operator-detail__stats > div:nth-child(4) { border-inline-start: 0; }
  .operator-detail__stats > div:nth-child(n + 4) { border-block-start: 1px solid var(--color-border-soft); }
}
@media (max-width: 36rem) {
  .operator-detail__header { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .operator-detail__identity { gap: .75rem; }
  .operator-detail__intro { grid-row: 2; }
  .operator-detail__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operator-detail__stats > div { padding: .75rem .625rem; }
  .operator-detail__stats dd { font-size: 1.25rem; }
  .operator-detail__stats .operator-detail__stat-price dd { font-size: var(--text-sm); }
  .operator-detail__stats .operator-detail__stat-price dd > span { font-size: var(--text-base); }
  .operator-detail__sidebar { grid-template-columns: minmax(0, 1fr); }
  .operator-detail__card-head, .operator-details-page .commercial-section__heading { padding: .875rem .75rem; }
  .operator-detail__card-head { flex-wrap: wrap; }
  .operator-detail__card-head a { max-width: none; }
  .operator-detail__tag { display: none; }
  .operator-details-page table th, .operator-details-page table td { padding: .75rem .625rem; }
  .operator-detail__note, .operator-detail__empty, .operator-detail__disclosure > summary { padding-inline: .75rem; }
  .operator-details-page .operator-detail__tariffs th, .operator-details-page .operator-detail__tariffs td { padding-inline: .5rem; }
  .operator-detail__share { gap: .375rem; }
  .operator-detail__bands th:first-child { width: 22%; }
  .operator-detail__bands th:nth-child(2) { width: 28%; }
  .operator-detail__provinces th:first-child { width: 32%; }
  .operator-detail__provinces th:nth-child(2) { width: 30%; }
  .operator-details-page .commercial-card { padding: .875rem .75rem; }
  .operator-details-page .commercial-rule { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
  .operator-detail__facts > div { padding: .625rem .75rem; }
  .operator-detail__facts--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operator-detail__facts--four > div:nth-child(3) { border-inline-start: 0; }
  .operator-detail__facts--four > div:nth-child(n + 3) { border-block-start: 1px solid var(--color-border-soft); }
  .operator-detail__network-mix > div { padding: .75rem; }
  .operator-detail__review-summary { grid-template-columns: 6rem minmax(0, 1fr); gap: .75rem; padding: .875rem .75rem; }
  .operator-detail__card-head > p { flex: 1 1 100%; order: 1; }
}
