/* Vista piloto Portugal v2: usa el JSON normalizado sin tocar la web actual */
.v2-top-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1rem}.v2-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .8rem;border:1px solid rgba(0,140,130,.22);border-radius:999px;background:#fff;color:#17324f;text-decoration:none;font-weight:700;font-size:.9rem}.v2-pill.active{background:#008c82;color:#fff;border-color:#008c82}.v2-note{background:rgba(255,88,0,.08);border:1px solid rgba(255,88,0,.18);color:#7c2d00;border-radius:1rem;padding:.8rem 1rem;margin-top:1rem}.v2-card{position:relative;display:flex;flex-direction:column;gap:1rem}.v2-card .card-head{align-items:flex-start}.v2-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;color:#657386}.v2-tag-row{display:flex;flex-wrap:wrap;gap:.45rem}.v2-tag{display:inline-flex;align-items:center;gap:.3rem;border:1px solid #dfe7ec;border-radius:999px;background:#f7fafb;padding:.38rem .58rem;font-size:.82rem;color:#435466}.v2-tag.strong{border-color:rgba(0,140,130,.22);color:#006f68;background:rgba(0,165,153,.08)}.v2-tag.orange{border-color:rgba(255,88,0,.24);color:#9b3600;background:rgba(255,88,0,.08)}.v2-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.v2-mini{background:#f7fafb;border:1px solid #e7edf1;border-radius:.9rem;padding:.7rem}.v2-mini span{display:block;color:#657386;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.v2-mini strong{display:block;color:#17324f;margin-top:.15rem}.v2-card-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:auto}.v2-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.65rem .95rem;text-decoration:none;font-weight:800;background:#ff5800;color:#fff}.v2-button.secondary{background:#fff;color:#008c82;border:1px solid rgba(0,140,130,.28)}.v2-detail-header{background:#fff;border:1px solid #dfe7ec;border-radius:1.4rem;box-shadow:0 18px 45px rgba(16,44,68,.08);padding:1.3rem;margin-bottom:1rem}.v2-detail-title{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.v2-detail-title h1{margin:.2rem 0;color:#17324f}.v2-detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:1rem;align-items:start}.v2-map-card,.v2-info-card{background:#fff;border:1px solid #dfe7ec;border-radius:1.3rem;padding:1rem;box-shadow:0 14px 36px rgba(16,44,68,.06)}.v2-map-frame{width:100%;min-height:330px;border:0;border-radius:1rem;background:#eef3f5}.v2-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.v2-info-card.full{grid-column:1/-1}.v2-info-card h2{margin:.1rem 0 .8rem;font-size:1.12rem;color:#17324f}.v2-info-list{display:grid;gap:.55rem}.v2-row{display:grid;grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);gap:.7rem;border-bottom:1px solid #eef2f5;padding:.45rem 0}.v2-row:last-child{border-bottom:0}.v2-row .label{color:#657386;font-size:.86rem}.v2-row .value{font-weight:700;color:#17324f;word-break:break-word}.v2-contact-stack{display:grid;gap:.7rem}.v2-contact-block{border:1px solid #e7edf1;border-radius:1rem;padding:.8rem;background:#f8fafb}.v2-contact-block h3{margin:0 0 .45rem;font-size:.98rem;color:#008c82}.v2-contact-block .v2-row{grid-template-columns:minmax(110px,.36fr) minmax(0,1fr);font-size:.93rem}.v2-empty{padding:2rem;text-align:center;color:#657386;background:#fff;border:1px dashed #cad5dc;border-radius:1.2rem}.v2-footer-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.v2-kicker{display:inline-block;color:#ff5800;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;margin-bottom:.15rem}.v2-operator-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.45rem .7rem;font-weight:800;background:#e9f7f5;color:#00746d}.v2-operator-badge.ana{background:#fff1e8;color:#a43a00}.v2-summary-count{font-weight:800}.v2-legacy-link{font-size:.9rem;color:#008c82;font-weight:800;text-decoration:none}@media(max-width:820px){.v2-detail-layout,.v2-section-grid{grid-template-columns:1fr}.v2-mini-grid{grid-template-columns:1fr}.v2-row{grid-template-columns:1fr;gap:.15rem}.v2-map-frame{min-height:240px}}
.v2-card-metrics{display:grid;gap:.55rem}.v2-card-metrics .card-metric-row{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(0,1fr);gap:.65rem;align-items:center;background:#f7fafb;border:1px solid #e7edf1;border-radius:.85rem;padding:.58rem .7rem}.v2-card-metrics .metric-label{font-size:.8rem;color:#657386;font-weight:700}.v2-card-metrics .metric-value{font-size:.92rem;color:#17324f;text-align:right}.v2-card-note{margin:.15rem 0 0;color:#657386;font-size:.9rem;line-height:1.45}.v2-tariff-card{background:linear-gradient(180deg,#fff,#fbfcfd)}.v2-tariff-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:.75rem 0 1rem}.v2-tariff-highlights div{background:#f7fafb;border:1px solid #e7edf1;border-radius:1rem;padding:.85rem}.v2-tariff-highlights span{display:block;color:#657386;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;font-weight:800}.v2-tariff-highlights strong{display:block;color:#17324f;font-size:1.08rem;margin-top:.2rem}.v2-tariff-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.v2-tariff-subcard{border:1px solid #e7edf1;border-radius:1rem;background:#fff;padding:.9rem;overflow:hidden}.v2-tariff-subcard.full{grid-column:1/-1}.v2-tariff-subcard h3{margin:0 0 .7rem;color:#008c82;font-size:1rem}.v2-table-wrap{overflow:auto;border-radius:.8rem;border:1px solid #eef2f5}.v2-tariff-table{width:100%;border-collapse:collapse;min-width:560px;background:#fff}.v2-tariff-table th,.v2-tariff-table td{padding:.55rem .65rem;border-bottom:1px solid #eef2f5;text-align:right;white-space:nowrap}.v2-tariff-table th:first-child,.v2-tariff-table td:first-child{text-align:left}.v2-tariff-table th{background:#f7fafb;color:#435466;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.v2-tariff-table td{color:#17324f;font-weight:650}.v2-tariff-table tr:last-child td{border-bottom:0}@media(max-width:820px){.v2-card-metrics .card-metric-row{grid-template-columns:1fr}.v2-card-metrics .metric-value{text-align:left}.v2-tariff-highlights,.v2-tariff-stack{grid-template-columns:1fr}}

/* --------------------------------------------------------------------------
   Portugal index v2 · Modelo con barra lateral simple por país
   -------------------------------------------------------------------------- */
body.v2-dashboard {
  min-height: 100vh;
  background: radial-gradient(circle at 50% -20%, rgba(255, 88, 0, .035), transparent 42%), #fbfcfd;
  color: #1f2937;
  font-family: var(--saba-font, "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif);
}
body.v2-dashboard a { text-decoration: none; color: inherit; }
body.v2-dashboard .v2-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 220px;
  background: rgba(255,255,255,.94);
  border-right: 1px solid #e6edf2;
  box-shadow: 12px 0 34px rgba(15, 43, 58, .04);
  display: flex;
  flex-direction: column;
  padding: 24px 18px 18px;
  z-index: 10;
}
body.v2-dashboard .v2-brand {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  margin-bottom: 26px;
}
body.v2-dashboard .v2-brand img { width: 106px; height: auto; display: block; }
body.v2-dashboard .v2-side-section { margin-bottom: 22px; }
body.v2-dashboard .v2-side-section h2 {
  margin: 0 0 10px;
  color: #738294;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
body.v2-dashboard .v2-country-list { display: grid; gap: 8px; }
body.v2-dashboard .v2-country-link {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px 10px;
  border: 1px solid #e1e9ef;
  border-radius: 12px;
  background: #fff;
  color: #2d3845;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.v2-dashboard .v2-country-link:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(16, 44, 68, .07); }
body.v2-dashboard .v2-country-link.active {
  border-color: rgba(255,88,0,.35);
  background: linear-gradient(90deg, rgba(255,88,0,.11), rgba(255,255,255,.96));
  box-shadow: inset 4px 0 0 #ff5800;
  color: #d84900;
}
body.v2-dashboard .v2-country-link .flag { font-size: .8rem; line-height: 1; }
body.v2-dashboard .v2-country-link strong { display: block; font-size: .9rem; }
body.v2-dashboard .v2-country-link small { display: block; color: #7b8794; margin-top: 2px; font-size: .72rem; }
body.v2-dashboard .v2-country-link .external { color: #7b8794; font-size: .9rem; }
body.v2-dashboard .v2-side-local { border-top: 1px solid #eef2f5; padding-top: 18px; }
body.v2-dashboard .v2-nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  color: #465364;
  font-weight: 750;
  font-size: .9rem;
  margin-bottom: 6px;
}
body.v2-dashboard .v2-nav-link.active,
body.v2-dashboard .v2-nav-link:hover { color: #ff5800; background: rgba(255,88,0,.09); }
body.v2-dashboard .v2-nav-link span { width: 20px; text-align: center; }
body.v2-dashboard .v2-sidebar-footer {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #566579;
  font-size: .86rem;
  border-top: 1px solid #eef2f5;
  padding-top: 14px;
}
body.v2-dashboard .v2-sidebar-footer .avatar,
body.v2-dashboard .user-dot {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #eef2f6;
  color: #6b7280;
  font-size: .55rem;
}
body.v2-dashboard .v2-main-shell {
  margin-left: 220px;
  min-height: 100vh;
  padding: 36px clamp(22px, 4vw, 56px) 34px;
}
body.v2-dashboard .v2-main-header {
  position: relative;
  max-width: 1320px;
  margin: 0 auto 18px;
}
body.v2-dashboard .v2-userbar {
  position: absolute;
  top: -12px;
  right: 0;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #374151;
  font-weight: 700;
  font-size: .88rem;
}
body.v2-dashboard .v2-userbar .help {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid #d5dee6;
  color: #566579;
}
body.v2-dashboard .v2-eyebrow {
  margin: 0 0 5px;
  color: #ff5800;
  text-transform: uppercase;
  letter-spacing: .075em;
  font-size: .74rem;
  font-weight: 900;
}
body.v2-dashboard .v2-title-row h1 {
  margin: 0;
  color: #121827;
  font-size: clamp(2.1rem, 3.2vw, 3.15rem);
  letter-spacing: -.035em;
}
body.v2-dashboard .v2-title-row p:not(.v2-eyebrow) { margin: 4px 0 0; color: #667085; font-size: 1.02rem; }
body.v2-dashboard .v2-search-row {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 20px;
  align-items: center;
  margin-top: 20px;
}
body.v2-dashboard .v2-search {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 48px;
  background: #fff;
  border: 1px solid #d7e0e7;
  border-radius: 12px;
  padding: 0 16px;
  color: #718096;
  box-shadow: 0 10px 30px rgba(17, 34, 51, .035);
}
body.v2-dashboard .v2-search input {
  border: 0;
  outline: 0;
  background: transparent;
  min-width: 0;
  flex: 1;
  font: inherit;
  color: #1f2937;
}
body.v2-dashboard .v2-tabs {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid #d7e0e7;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(17, 34, 51, .035);
}
body.v2-dashboard .v2-tab {
  min-width: 92px;
  height: 48px;
  border: 0;
  background: transparent;
  color: #344054;
  font-weight: 900;
  cursor: pointer;
  border-right: 1px solid #edf1f4;
}
body.v2-dashboard .v2-tab:last-child { border-right: 0; }
body.v2-dashboard .v2-tab span { display: none; }
body.v2-dashboard .v2-tab.active { background: #ff5800; color: #fff; }
body.v2-dashboard .v2-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 22px;
}
body.v2-dashboard .v2-kpi {
  display: grid;
  grid-template-columns: 52px 1fr;
  grid-template-rows: auto auto auto;
  column-gap: 10px;
  align-items: center;
  min-height: 86px;
  padding: 18px 22px;
  background: #fff;
  border: 1px solid #e0e7ee;
  border-radius: 999px;
  box-shadow: 0 16px 34px rgba(16, 44, 68, .045);
}
body.v2-dashboard .v2-kpi .kpi-icon {
  grid-row: 1 / span 3;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
  font-size: 1.15rem;
}
body.v2-dashboard .v2-kpi .kpi-icon.orange { background: #ff5800; }
body.v2-dashboard .v2-kpi .kpi-icon.teal { background: #00a599; }
body.v2-dashboard .v2-kpi span:not(.kpi-icon) { color: #667085; font-size: .86rem; }
body.v2-dashboard .v2-kpi strong { color: #111827; font-size: 1.75rem; line-height: 1; }
body.v2-dashboard .v2-kpi small { color: #667085; font-size: .86rem; }
body.v2-dashboard .v2-content {
  max-width: 1320px;
  margin: 0 auto;
}
body.v2-dashboard .v2-section { margin-top: 20px; }
body.v2-dashboard .v2-section-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
body.v2-dashboard .v2-section-title h2 {
  margin: 0;
  color: #111827;
  font-size: 1.45rem;
  letter-spacing: -.015em;
}
body.v2-dashboard .v2-section-count { color: #667085; font-weight: 800; font-size: .9rem; }
body.v2-dashboard .v2-saba-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
body.v2-dashboard .v2-saba-card {
  display: flex;
  flex-direction: column;
  min-height: 272px;
  background: #ffffff;
  border: 1px solid #dbe7ea;
  border-radius: 10px;
  padding: 12px 12px 12px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.v2-dashboard .v2-saba-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 42px rgba(15, 23, 42, .10);
  border-color: #c8dde1;
}
body.v2-dashboard .card-v3 .saba-card-header {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  padding-bottom: 10px;
  border-bottom: 1px solid #e8eef1;
}
body.v2-dashboard .card-v3 .saba-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #eaf4f3;
  color: #0f7f7a;
  font-size: 1.3rem;
  font-weight: 900;
}
body.v2-dashboard .card-v3 .saba-card-headings h3 {
  margin: 0;
  color: #14233d;
  font-size: 1.15rem;
  line-height: 1.08;
  letter-spacing: -.02em;
}
body.v2-dashboard .card-v3 .saba-card-headings p {
  margin: 4px 0 0;
  color: #5f6f82;
  font-size: .82rem;
}
body.v2-dashboard .card-v3 .saba-card-pill {
  align-self: start;
  background: #ebf5f3;
  color: #117772;
  border: 1px solid #d2ebe7;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  white-space: nowrap;
}
body.v2-dashboard .card-v3 .saba-card-rows {
  display: grid;
  margin-top: 8px;
}
body.v2-dashboard .card-v3 .saba-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  border-bottom: 1px solid #e8eef1;
}
body.v2-dashboard .card-v3 .saba-row:last-child { border-bottom: 0; }
body.v2-dashboard .card-v3 .saba-row-icon {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #edf6f5;
  color: #0f7f7a;
  font-size: .8rem;
}
body.v2-dashboard .card-v3 .saba-row-label {
  color: #415166;
  font-size: .82rem;
}
body.v2-dashboard .card-v3 .saba-row strong {
  color: #14233d;
  font-size: .82rem;
}
body.v2-dashboard .card-v3 .saba-visual-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 12px;
}
body.v2-dashboard .card-v3 .saba-tag {
  display: inline-flex;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  border: 1px solid transparent;
}
body.v2-dashboard .card-v3 .saba-tag.teal {
  background: #edf7f6;
  border-color: #d8ede9;
  color: #0f7f7a;
}
body.v2-dashboard .card-v3 .saba-tag.orange {
  background: #fff2ea;
  border-color: #ffd8c2;
  color: #e76513;
}
body.v2-dashboard .card-v3 .saba-tag.neutral {
  background: #f7f9fb;
  border-color: #e5ebf0;
  color: #5f6f82;
}
body.v2-dashboard .card-v3 .saba-actions {
  margin-top: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding-top: 10px;
}
body.v2-dashboard .card-v3 .saba-action {
  min-height: 38px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .82rem;
  font-weight: 900;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
body.v2-dashboard .card-v3 .saba-action.primary {
  background: linear-gradient(90deg, #0f8a84 0%, #0f7f7a 100%);
  color: #fff;
  box-shadow: 0 8px 18px rgba(15, 127, 122, .18);
}
body.v2-dashboard .card-v3 .saba-action.secondary {
  background: #fff;
  color: #0f7f7a;
  border: 2px solid #0f7f7a;
}
body.v2-dashboard .card-v3 .saba-action.disabled {
  color: #9aa7b5;
  border-color: #dbe5ea;
  pointer-events: none;
}
body.v2-dashboard .card-v3 .saba-action:hover { transform: translateY(-1px); }
body.v2-dashboard .tolerance-row,
body.v2-dashboard .badges,
body.v2-dashboard .card-top,
body.v2-dashboard .hours,
body.v2-dashboard .price-row,
body.v2-dashboard .phone { display: none; }
body.v2-dashboard .badge.green { background: #e9f8f2; color: #137a4f; border-color: #bfead8; }

body.v2-dashboard .badge.blue { background: #eef6ff; color: #1d65b7; border-color: #cae1ff; }
body.v2-dashboard .badge.purple { background: #f5edff; color: #6e35bf; border-color: #e0c8ff; }
body.v2-dashboard .badge.gray { background: #f5f7fa; color: #4b5563; border-color: #e5e7eb; }
body.v2-dashboard .badge.ana { background: #eaf5ff; color: #005b99; border-color: #b8daf5; }
body.v2-dashboard .badge.ana.muted { color: #64748b; background: #f8fafc; border-color: #dbe4ec; }
body.v2-dashboard .v2-ana-list { display: grid; gap: 8px; }
body.v2-dashboard .v2-airport-group {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
  background: linear-gradient(180deg, #f8fcff 0%, #fff 58%);
  border: 1px solid #cfe3f4;
  border-radius: 10px;
  padding: 12px;
  box-shadow: 0 10px 24px rgba(0, 91, 153, .055);
}
body.v2-dashboard .airport-head {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 2px 4px;
}
body.v2-dashboard .airport-icon {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #0066b3;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 1.15rem;
  font-weight: 900;
  flex: 0 0 auto;
}
body.v2-dashboard .airport-meta h3 { margin: 0; color: #004f8a; font-size: 1.02rem; }
body.v2-dashboard .airport-meta p { margin: 3px 0 8px; color: #667085; font-size: .82rem; }
body.v2-dashboard .airport-mini-info { display: flex; flex-direction: column; gap: 5px; color: #475569; font-size: .76rem; }
body.v2-dashboard .airport-actions { margin-top: 10px; }
body.v2-dashboard .airport-pdf-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 12px;
  background: #0066b3;
  color: #fff;
  border-radius: 10px;
  font-weight: 800;
  font-size: .8rem;
  box-shadow: 0 10px 22px rgba(0, 102, 179, .20);
}
body.v2-dashboard .airport-pdf-btn:hover { background: #00508f; }
body.v2-dashboard .airport-pdf-muted { color: #667085; font-size: .8rem; font-weight: 700; }
body.v2-dashboard .airport-parks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}
body.v2-dashboard .v2-ana-mini {
  display: flex;
  flex-direction: column;
  min-height: 150px;
  min-width: 0;
  background: linear-gradient(180deg, #ffffff 0%, #f5fbff 100%);
  border: 1px solid #c6dff2;
  border-radius: 10px;
  padding: 10px 12px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.v2-dashboard .v2-ana-mini strong {
  color: #004f8a;
  font-size: .9rem;
  line-height: 1.18;
}
body.v2-dashboard .v2-ana-mini > span {
  color: #667085;
  font-size: .68rem;
  line-height: 1.15;
  margin-top: 4px;
}
body.v2-dashboard .mini-prices {
  display: grid;
  grid-template-columns: minmax(88px, 1fr) max-content;
  column-gap: 12px;
  row-gap: 4px;
  margin-top: 8px;
  padding-top: 8px;
}
body.v2-dashboard .mini-prices b {
  font-size: .82rem;
  color: #0f172a;
  text-align: right;
  white-space: nowrap;
}
body.v2-dashboard .ana-prices {
  border-top: 1px solid #d8e9f6;
  margin-top: 8px;
}
body.v2-dashboard .mini-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: auto;
  padding-top: 8px;
  align-items: flex-start;
}
body.v2-dashboard .mini-badges .badge {
  font-size: .64rem;
  padding: 3px 6px;
  max-width: 100%;
  white-space: nowrap;
}
body.v2-dashboard .v2-ana-mini strong { overflow-wrap: anywhere; }
body.v2-dashboard .v2-empty-block,
body.v2-dashboard .v2-empty-index {
  grid-column: 1 / -1;
  padding: 22px;
  border: 1px dashed #ccd6df;
  border-radius: 10px;
  color: #667085;
  text-align: center;
  background: rgba(255,255,255,.65);
}
body.v2-dashboard .v2-page-footer {
  text-align: center;
  color: #8a96a6;
  padding: 32px 0 0;
  font-size: .88rem;
}
@media (max-width: 1180px) {
  body.v2-dashboard .v2-saba-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.v2-dashboard .v2-airport-group { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  body.v2-dashboard .v2-sidebar { position: static; width: auto; }
  body.v2-dashboard .v2-main-shell { margin-left: 0; padding: 24px 16px; }
  body.v2-dashboard .v2-userbar { position: static; justify-content: flex-end; margin-bottom: 16px; }
  body.v2-dashboard .v2-search-row { grid-template-columns: 1fr; }
  body.v2-dashboard .v2-kpis { grid-template-columns: 1fr; }
  body.v2-dashboard .v2-saba-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.v2-dashboard .v2-country-list { grid-template-columns: repeat(3, minmax(0,1fr)); }
  body.v2-dashboard .v2-side-local { display: none; }
}
@media (max-width: 620px) {
  body.v2-dashboard .v2-saba-grid { grid-template-columns: 1fr; }
  body.v2-dashboard .v2-country-list { grid-template-columns: 1fr; }
  body.v2-dashboard .airport-parks { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
  body.v2-dashboard .card-v3 .saba-card-header { grid-template-columns: 72px minmax(0, 1fr); }
  body.v2-dashboard .card-v3 .saba-card-pill { grid-column: 2; justify-self: start; margin-top: 4px; }
  body.v2-dashboard .card-v3 .saba-card-headings h3 { font-size: 1.02rem; }
  body.v2-dashboard .card-v3 .saba-row { grid-template-columns: 24px minmax(0, 1fr); }
  body.v2-dashboard .card-v3 .saba-row strong { grid-column: 2; justify-self: end; }
  body.v2-dashboard .card-v3 .saba-actions { grid-template-columns: 1fr; }

}

/* Compact refinement for SABA cards */
body.v2-dashboard .card-v3 .saba-row-label { font-size: .76rem; }
body.v2-dashboard .card-v3 .saba-row strong { font-size: .78rem; }
body.v2-dashboard .card-v3 .saba-card-headings p { font-size: .78rem; }
body.v2-dashboard .card-v3 .saba-action { min-height: 36px; }
body.v2-dashboard .card-v3 .saba-card-icon { flex: 0 0 auto; }


/* Ajuste: 3 columnas desktop y símbolo € en línea en cards ANA */
body.v2-dashboard .mini-prices b { white-space: nowrap; }
body.v2-dashboard .ana-prices { grid-template-columns: max-content 1fr; column-gap: 10px; }
body.v2-dashboard .v2-ana-mini { min-width: 0; }


/* Corrección distribución ANA: evitar importes y badges fuera de la mini card */
body.v2-dashboard .airport-parks { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
body.v2-dashboard .v2-ana-mini { min-height: 150px; min-width: 0; overflow: hidden; }
body.v2-dashboard .v2-ana-mini .mini-prices { grid-template-columns: minmax(88px, 1fr) max-content; align-items: baseline; }
body.v2-dashboard .v2-ana-mini .mini-prices b { white-space: nowrap; }
body.v2-dashboard .v2-ana-mini .mini-badges { align-content: flex-start; }
@media (max-width: 620px) {
  body.v2-dashboard .airport-parks { grid-template-columns: 1fr; }
}


/* ==========================================================================
   Visual final aplicado · index Portugal
   - Barra lateral estilo mockup
   - Bloque superior de búsqueda + KPIs
   - Cards SABA con iconos coherentes y 3 columnas desktop
   - ANA se mantiene como bloque agrupado actual
   ========================================================================== */

body.v2-dashboard {
  background: radial-gradient(circle at 42% -12%, rgba(0,161,154,.10), transparent 35%),
              linear-gradient(180deg,#f8fcfd 0%, #f5fafb 100%);
  color: #0f172a;
  font-family: var(--saba-font, "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif);
}

body.v2-dashboard .v2-sidebar {
  width: 238px;
  background: #fff;
  border-right: 1px solid #dde7ec;
  box-shadow: none;
  padding: 28px 14px 20px;
}

body.v2-dashboard .v2-brand {
  margin-bottom: 30px;
  padding: 0 8px 24px;
  border-bottom: 1px solid #e5edf2;
}

body.v2-dashboard .v2-brand img { width: 118px; }

body.v2-dashboard .v2-side-section,
body.v2-dashboard .v2-side-local,
body.v2-dashboard .v2-sidebar-footer,
body.v2-dashboard .v2-userbar,
body.v2-dashboard .v2-eyebrow {
  display: none !important;
}

body.v2-dashboard .v2-side-label {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #314156;
  font-weight: 800;
  padding: 0 12px 12px;
  margin-bottom: 8px;
}

body.v2-dashboard .v2-side-label span {
  width: 24px;
  text-align: center;
  color: #506176;
}

body.v2-dashboard .v2-country-nav {
  display: grid;
  gap: 8px;
}

body.v2-dashboard .v2-country-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 12px;
  border-radius: 12px;
  color: #263447;
  font-weight: 800;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

body.v2-dashboard .v2-country-item:hover {
  background: #f6fafb;
  transform: translateY(-1px);
}

body.v2-dashboard .v2-country-item.active {
  background: #dff2ef;
  color: #0f172a;
}

body.v2-dashboard .v2-country-item .flag {
  font-size: 1.1rem;
  line-height: 1;
}

body.v2-dashboard .v2-sidebar-bottom {
  margin-top: auto;
  border-top: 1px solid #e5edf2;
  padding-top: 14px;
}

body.v2-dashboard .v2-account-card {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 8px 6px;
}

body.v2-dashboard .v2-account-avatar {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #0f8a84;
  color: #fff;
  font-weight: 900;
  font-size: .82rem;
}

body.v2-dashboard .v2-account-text strong {
  display: block;
  font-size: .9rem;
  color: #0f172a;
}

body.v2-dashboard .v2-account-text small {
  display: block;
  margin-top: 2px;
  color: #667085;
  font-size: .75rem;
}

body.v2-dashboard .v2-account-chevron { color: #475569; }

body.v2-dashboard .v2-main-shell {
  margin-left: 238px;
  padding: 30px clamp(22px, 3.2vw, 54px) 34px;
}

body.v2-dashboard .v2-main-header,
body.v2-dashboard .v2-content {
  max-width: 1420px;
}

body.v2-dashboard .v2-statusbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
  min-height: 28px;
  margin-bottom: 10px;
  color: #0f7f7a;
}

body.v2-dashboard .v2-status-bell {
  position: relative;
  font-size: 1.05rem;
}

body.v2-dashboard .v2-status-bell::after {
  content: '';
  position: absolute;
  top: 0;
  right: -2px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #ff5800;
  border: 2px solid #fff;
}

body.v2-dashboard .v2-status-user {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #0f8a84;
  color: #fff;
  font-size: .7rem;
}

body.v2-dashboard .v2-overview-panel {
  display: grid;
  grid-template-columns: minmax(360px, 520px) minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  margin-top: 6px;
  padding: 34px;
  background: #fff;
  border: 1px solid #dbe4ea;
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(16, 24, 40, .055);
}

body.v2-dashboard .v2-title-row h1 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(2.1rem, 2.8vw, 2.9rem);
  letter-spacing: -.035em;
}

body.v2-dashboard .v2-title-row p:not(.v2-eyebrow) {
  margin: 4px 0 0;
  color: #2f3a4c;
  font-size: 1.08rem;
}

body.v2-dashboard .v2-search-toolbar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  margin-top: 26px;
}

body.v2-dashboard .v2-search {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 56px;
  background: #fff;
  border: 1px solid #d8e1e8;
  border-radius: 10px;
  padding: 0 16px;
  color: #64748b;
  box-shadow: none;
}

body.v2-dashboard .v2-search input {
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  min-width: 0;
  font: inherit;
  color: #0f172a;
}

body.v2-dashboard .v2-search input::placeholder { color: #8794a5; }

body.v2-dashboard .v2-search .search-icon,
body.v2-dashboard .v2-search .filter-icon {
  color: #53657a;
  font-size: 1.2rem;
}

body.v2-dashboard .v2-tabs {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid #d8e1e8;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}

body.v2-dashboard .v2-tab {
  min-width: 82px;
  height: 44px;
  border: 0;
  border-right: 1px solid #edf2f5;
  background: transparent;
  color: #334155;
  font-weight: 900;
  cursor: pointer;
}

body.v2-dashboard .v2-tab:last-child { border-right: 0; }

body.v2-dashboard .v2-tab.active {
  background: #0f8a84;
  color: #fff;
}

body.v2-dashboard .v2-tab span { display: none; }

body.v2-dashboard .v2-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
  margin-top: 0;
}

body.v2-dashboard .v2-kpi {
  display: grid;
  grid-template-columns: 44px 1fr;
  grid-template-rows: auto auto auto;
  align-items: center;
  column-gap: 14px;
  min-height: 112px;
  padding: 18px 18px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #dbe4ea;
  box-shadow: none;
}

body.v2-dashboard .v2-kpi.saba,
body.v2-dashboard .v2-kpi.saba-total {
  background: #e4f4f1;
  border-color: #cae5df;
}

body.v2-dashboard .v2-kpi.ana,
body.v2-dashboard .v2-kpi.ana-total {
  background: #eaf2fd;
  border-color: #d4e5fb;
}

body.v2-dashboard .v2-kpi .kpi-icon {
  grid-row: 1 / span 3;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 950;
  color: #fff;
}

body.v2-dashboard .v2-kpi .kpi-icon.teal { background: #0f8a84; }
body.v2-dashboard .v2-kpi .kpi-icon.blue { background: #1565c0; }

body.v2-dashboard .v2-kpi span:not(.kpi-icon) {
  color: #334155;
  font-size: .86rem;
  font-weight: 850;
}

body.v2-dashboard .v2-kpi strong {
  color: #0f172a;
  font-size: 1.85rem;
  line-height: 1;
  letter-spacing: -.025em;
}

body.v2-dashboard .v2-kpi small {
  color: #526174;
  font-size: .82rem;
}

body.v2-dashboard .v2-section {
  margin-top: 26px;
}

body.v2-dashboard .v2-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}

body.v2-dashboard .v2-section-title h2 {
  position: relative;
  margin: 0;
  color: #0f172a;
  font-size: 1.2rem;
  letter-spacing: -.015em;
}

body.v2-dashboard .v2-section-title h2::after {
  content: '';
  display: block;
  width: 30px;
  height: 3px;
  border-radius: 999px;
  background: #0f8a84;
  margin-top: 8px;
}

body.v2-dashboard .v2-section-title.ana-title h2 { color: #1565c0; }
body.v2-dashboard .v2-section-title.ana-title h2::after { background: #1565c0; }

body.v2-dashboard .v2-section-tools {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #475569;
  font-size: .86rem;
}

body.v2-dashboard .v2-sort-button,
body.v2-dashboard .v2-view-button {
  height: 36px;
  border: 1px solid #d8e1e8;
  background: #fff;
  border-radius: 8px;
  padding: 0 12px;
  color: #334155;
  font-weight: 800;
}

body.v2-dashboard .v2-view-button {
  width: 36px;
  padding: 0;
}

body.v2-dashboard .v2-view-button.active {
  background: #0f8a84;
  color: #fff;
  border-color: #0f8a84;
}

body.v2-dashboard .v2-saba-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

body.v2-dashboard .v2-saba-card.card-v3 {
  min-height: 282px;
  background: #fff;
  border: 1px solid #dce7ec;
  border-radius: 14px;
  padding: 16px 16px 14px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .06);
}

body.v2-dashboard .v2-saba-card.card-v3:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(15, 23, 42, .095);
  border-color: #c7d8df;
}

body.v2-dashboard .card-v3 .saba-card-header {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  gap: 10px;
  align-items: start;
  padding-bottom: 10px;
  border-bottom: 1px solid #edf2f5;
}

body.v2-dashboard .card-v3 .saba-card-pin {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #e9f6f4;
}

body.v2-dashboard .card-v3 .saba-card-pin svg {
  width: 25px;
  height: 25px;
}

body.v2-dashboard .card-v3 .saba-card-headings h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1rem;
  line-height: 1.16;
  letter-spacing: -.01em;
}

body.v2-dashboard .card-v3 .saba-card-headings p {
  margin: 4px 0 0;
  color: #667085;
  font-size: .76rem;
}

body.v2-dashboard .city-inline {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

body.v2-dashboard .city-pin {
  width: 13px;
  height: 15px;
  display: inline-flex;
}

body.v2-dashboard .city-pin svg {
  width: 100%;
  height: 100%;
}

body.v2-dashboard .card-v3 .saba-card-pill {
  align-self: start;
  background: #e9f6f4;
  color: #0f8a84;
  border: 1px solid #cfe7e2;
  border-radius: 8px;
  padding: 5px 8px;
  font-size: .64rem;
  font-weight: 900;
  white-space: nowrap;
}

body.v2-dashboard .card-v3 .saba-card-rows {
  display: grid;
  margin-top: 8px;
}

body.v2-dashboard .card-v3 .saba-row {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 29px;
  border-bottom: 1px solid #edf2f5;
}

body.v2-dashboard .card-v3 .saba-row:last-child {
  border-bottom: 0;
}

body.v2-dashboard .card-v3 .saba-row-icon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #e9f6f4;
  color: #0f8a84;
}

body.v2-dashboard .card-v3 .saba-row-icon svg {
  width: 13px;
  height: 13px;
}

body.v2-dashboard .card-v3 .saba-row-label {
  color: #435266;
  font-size: .72rem;
}

body.v2-dashboard .card-v3 .saba-row strong {
  color: #0f172a;
  font-size: .72rem;
  font-weight: 900;
  white-space: nowrap;
}

body.v2-dashboard .card-v3 .saba-visual-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding-top: 9px;
}

body.v2-dashboard .card-v3 .saba-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 8px;
  padding: 5px 8px;
  font-size: .68rem;
  font-weight: 900;
  border: 1px solid transparent;
}

body.v2-dashboard .card-v3 .saba-tag span {
  width: 14px;
  height: 14px;
  display: inline-flex;
}

body.v2-dashboard .card-v3 .saba-tag svg {
  width: 14px;
  height: 14px;
}

body.v2-dashboard .card-v3 .saba-tag.teal {
  background: #e9f6f4;
  border-color: #cfe7e2;
  color: #0f8a84;
}

body.v2-dashboard .card-v3 .saba-tag.orange {
  background: #fff1e7;
  border-color: #ffd4bc;
  color: #e76513;
}

body.v2-dashboard .card-v3 .saba-actions {
  margin-top: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding-top: 10px;
}

body.v2-dashboard .card-v3 .saba-action {
  min-height: 35px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: .72rem;
  font-weight: 950;
  text-decoration: none;
}

body.v2-dashboard .card-v3 .saba-action .btn-icon {
  width: 14px;
  height: 14px;
  display: inline-flex;
}

body.v2-dashboard .card-v3 .saba-action svg {
  width: 14px;
  height: 14px;
}

body.v2-dashboard .card-v3 .saba-action.primary {
  background: #008c82;
  color: #fff;
  box-shadow: 0 8px 18px rgba(0, 140, 130, .16);
}

body.v2-dashboard .card-v3 .saba-action.secondary {
  background: #fff;
  border: 1px solid #008c82;
  color: #008c82;
}

body.v2-dashboard .card-v3 .saba-action.disabled {
  opacity: .55;
  pointer-events: none;
}

body.v2-dashboard .card-top,
body.v2-dashboard .hours,
body.v2-dashboard .price-row,
body.v2-dashboard .phone,
body.v2-dashboard .tolerance-row,
body.v2-dashboard .badges {
  display: none !important;
}

/* Mantener ANA como en la base actual, solo reforzando que no desborde */
body.v2-dashboard .airport-parks {
  grid-template-columns: repeat(auto-fill, minmax(176px, 1fr));
}

body.v2-dashboard .v2-ana-mini .mini-prices {
  grid-template-columns: minmax(84px, 1fr) max-content;
}

body.v2-dashboard .v2-ana-mini .mini-prices b {
  white-space: nowrap;
}

@media (max-width: 1180px) {
  body.v2-dashboard .v2-overview-panel {
    grid-template-columns: 1fr;
  }
  body.v2-dashboard .v2-kpis {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  body.v2-dashboard .v2-saba-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 860px) {
  body.v2-dashboard .v2-sidebar {
    position: static;
    width: auto;
    border-right: 0;
    border-bottom: 1px solid #dde7ec;
  }
  body.v2-dashboard .v2-main-shell {
    margin-left: 0;
    padding: 22px 16px 30px;
  }
}

@media (max-width: 680px) {
  body.v2-dashboard .v2-kpis,
  body.v2-dashboard .v2-saba-grid {
    grid-template-columns: 1fr;
  }
  body.v2-dashboard .v2-search-toolbar {
    grid-template-columns: 1fr;
  }
  body.v2-dashboard .v2-tabs {
    width: 100%;
  }
  body.v2-dashboard .v2-tab {
    flex: 1 1 0;
    min-width: 0;
  }
  body.v2-dashboard .v2-section-title {
    align-items: flex-start;
    flex-direction: column;
  }
  body.v2-dashboard .v2-section-tools {
    width: 100%;
    flex-wrap: wrap;
  }
  body.v2-dashboard .card-v3 .saba-card-header {
    grid-template-columns: 42px minmax(0,1fr);
  }
  body.v2-dashboard .card-v3 .saba-card-pill {
    grid-column: 2;
    justify-self: start;
  }
}

/* ==========================================================================
   Detalle v2 · visual tipo versión anterior con datos normalizados
   ========================================================================== */
body.v2-detail-dashboard {
  background: radial-gradient(circle at 42% -12%, rgba(0,161,154,.10), transparent 35%),
              linear-gradient(180deg,#f8fcfd 0%, #f5fafb 100%);
}
body.v2-detail-dashboard .v2-detail-main {
  margin-left: 238px;
  min-height: 100vh;
  padding: 34px clamp(22px, 3.2vw, 54px) 40px;
}
body.v2-detail-dashboard .loading-card,
body.v2-detail-dashboard .detail-empty {
  background: #fff;
  border: 1px solid #dbe4ea;
  border-radius: 16px;
  padding: 28px;
  color: #526174;
  box-shadow: 0 16px 34px rgba(15,23,42,.045);
}
body.v2-detail-dashboard .detail-hero,
body.v2-detail-dashboard .detail-map-card,
body.v2-detail-dashboard .detail-grid {
  max-width: 1420px;
  margin-left: auto;
  margin-right: auto;
}
body.v2-detail-dashboard .detail-hero {
  display: grid;
  gap: 18px;
}
body.v2-detail-dashboard .detail-title-wrap {
  display: grid;
  grid-template-columns: 86px minmax(0,1fr) auto;
  align-items: start;
  gap: 18px;
}
body.v2-detail-dashboard .detail-main-pin {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #e9f6f4;
  border: 1px solid #cfe7e2;
}
body.v2-detail-dashboard .detail-main-pin svg {
  width: 42px;
  height: 42px;
}
body.v2-detail-dashboard .detail-title-wrap h1 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(2.2rem, 3vw, 3.05rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}
body.v2-detail-dashboard .detail-title-wrap p {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 0;
  color: #475569;
  font-size: 1.08rem;
  font-weight: 700;
}
body.v2-detail-dashboard .detail-title-wrap .city-pin {
  width: 18px;
  height: 20px;
  display: inline-flex;
}
body.v2-detail-dashboard .detail-title-wrap .city-pin svg,
body.v2-detail-dashboard .detail-card-icon svg,
body.v2-detail-dashboard .detail-metric span svg {
  width: 100%;
  height: 100%;
}
body.v2-detail-dashboard .detail-operator {
  justify-self: end;
  background: #e9f6f4;
  color: #0f8a84;
  border: 1px solid #cfe7e2;
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 950;
  white-space: nowrap;
}
body.v2-detail-dashboard .detail-operator.ana {
  background: #eaf2fd;
  color: #1565c0;
  border-color: #d4e5fb;
}
body.v2-detail-dashboard .detail-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}
body.v2-detail-dashboard .detail-metric {
  display: grid;
  grid-template-columns: 52px 1fr;
  grid-template-rows: auto auto;
  column-gap: 14px;
  align-items: center;
  min-height: 78px;
  background: #fff;
  border: 1px solid #dbe4ea;
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 12px 28px rgba(15,23,42,.04);
}
body.v2-detail-dashboard .detail-metric span {
  grid-row: 1 / span 2;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #e9f6f4;
  color: #0f8a84;
}
body.v2-detail-dashboard .detail-metric span svg {
  width: 22px;
  height: 22px;
}
body.v2-detail-dashboard .detail-metric small {
  color: #526174;
  font-size: .82rem;
  font-weight: 800;
}
body.v2-detail-dashboard .detail-metric strong {
  color: #0f172a;
  font-size: 1.08rem;
  font-weight: 950;
}
body.v2-detail-dashboard .detail-map-card {
  position: relative;
  margin-top: 20px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #dbe4ea;
  min-height: 300px;
  background: #e9eef2;
  box-shadow: 0 14px 32px rgba(15,23,42,.055);
}
body.v2-detail-dashboard .detail-map-card iframe {
  width: 100%;
  height: 315px;
  border: 0;
  display: block;
  filter: saturate(.95) contrast(.98);
}
body.v2-detail-dashboard .map-open-button {
  position: absolute;
  right: 20px;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  border-radius: 10px;
  padding: 10px 14px;
  background: rgba(255,255,255,.94);
  color: #0f8a84;
  font-weight: 950;
  box-shadow: 0 12px 28px rgba(15,23,42,.12);
}
body.v2-detail-dashboard .detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
  margin-top: 18px;
}
body.v2-detail-dashboard .detail-card {
  background: #fff;
  border: 1px solid #dbe4ea;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 12px 28px rgba(15,23,42,.035);
  min-height: 166px;
}
body.v2-detail-dashboard .detail-card.wide {
  grid-column: span 2;
}
body.v2-detail-dashboard .contacts-priority {
  grid-column: span 2;
  border-color: #cbe6e1;
  background: linear-gradient(180deg,#fff 0%, #f7fcfb 100%);
}
body.v2-detail-dashboard .detail-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
body.v2-detail-dashboard .detail-card-title h2 {
  margin: 0;
  color: #0f172a;
  font-size: 1rem;
  letter-spacing: -.01em;
}
body.v2-detail-dashboard .detail-card-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #e9f6f4;
  color: #0f8a84;
  flex: 0 0 auto;
}
body.v2-detail-dashboard .detail-card-icon svg {
  width: 16px;
  height: 16px;
}
body.v2-detail-dashboard .detail-list {
  display: grid;
  gap: 9px;
}
body.v2-detail-dashboard .detail-row {
  display: grid;
  grid-template-columns: minmax(105px,.55fr) minmax(0,1fr);
  gap: 12px;
  align-items: baseline;
}
body.v2-detail-dashboard .detail-row span {
  color: #667085;
  font-size: .82rem;
  font-weight: 800;
}
body.v2-detail-dashboard .detail-row strong {
  color: #152238;
  font-size: .86rem;
  font-weight: 850;
  text-align: right;
  word-break: break-word;
}
body.v2-detail-dashboard .contact-priority-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}
body.v2-detail-dashboard .contact-tile {
  border: 1px solid #e3edf0;
  border-radius: 12px;
  background: #fff;
  padding: 12px;
}
body.v2-detail-dashboard .contact-tile span {
  display: block;
  color: #0f8a84;
  font-size: .75rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .035em;
  margin-bottom: 4px;
}
body.v2-detail-dashboard .contact-tile strong {
  display: block;
  color: #0f172a;
  font-size: .95rem;
  font-weight: 950;
}
body.v2-detail-dashboard .contact-tile em {
  display: block;
  color: #526174;
  font-size: .82rem;
  font-style: normal;
  margin-top: 3px;
}
body.v2-detail-dashboard .service-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.v2-detail-dashboard .service-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 7px 10px;
  background: #e9f6f4;
  color: #0f8a84;
  border: 1px solid #cfe7e2;
  font-size: .78rem;
  font-weight: 900;
}
body.v2-detail-dashboard .service-chip span {
  width: 14px;
  height: 14px;
  display: inline-flex;
}
body.v2-detail-dashboard .service-chip svg {
  width: 14px;
  height: 14px;
}
body.v2-detail-dashboard .service-chip.muted {
  background: #f8fafc;
  color: #64748b;
  border-color: #e2e8f0;
}
body.v2-detail-dashboard .detail-small-button {
  display: inline-flex;
  margin-top: 14px;
  border-radius: 10px;
  padding: 10px 12px;
  background: #0f8a84;
  color: #fff;
  font-weight: 900;
}
@media (max-width: 1180px) {
  body.v2-detail-dashboard .detail-metrics,
  body.v2-detail-dashboard .detail-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  body.v2-detail-dashboard .contacts-priority,
  body.v2-detail-dashboard .detail-card.wide {
    grid-column: span 2;
  }
}
@media (max-width: 860px) {
  body.v2-detail-dashboard .v2-detail-main {
    margin-left: 0;
    padding: 22px 16px 30px;
  }
  body.v2-detail-dashboard .detail-title-wrap {
    grid-template-columns: 64px minmax(0,1fr);
  }
  body.v2-detail-dashboard .detail-main-pin {
    width: 58px;
    height: 58px;
  }
  body.v2-detail-dashboard .detail-operator {
    grid-column: 2;
    justify-self: start;
  }
}
@media (max-width: 680px) {
  body.v2-detail-dashboard .detail-metrics,
  body.v2-detail-dashboard .detail-grid,
  body.v2-detail-dashboard .contact-priority-grid {
    grid-template-columns: 1fr;
  }
  body.v2-detail-dashboard .contacts-priority,
  body.v2-detail-dashboard .detail-card.wide {
    grid-column: span 1;
  }
  body.v2-detail-dashboard .detail-row {
    grid-template-columns: 1fr;
    gap: 2px;
  }
  body.v2-detail-dashboard .detail-row strong {
    text-align: left;
  }
}

/* --------------------------------------------------------------------------
   Detalle v2 · Tarifas completas + simulador de preço
   -------------------------------------------------------------------------- */
body.v2-detail-dashboard .detail-grid > .tariff-fullwidth,
body.v2-detail-dashboard .detail-grid > .simulator-card {
  grid-column: 1 / -1;
}
body.v2-detail-dashboard .tariff-card,
body.v2-detail-dashboard .simulator-card {
  background: #fff;
  border: 1px solid #dce7ec;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .045);
}
body.v2-detail-dashboard .section-heading {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-bottom: 14px;
}
body.v2-detail-dashboard .section-kicker {
  color: #008c82;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
body.v2-detail-dashboard .section-heading h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.15rem;
}
body.v2-detail-dashboard .tariff-highlights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
body.v2-detail-dashboard .tariff-highlight {
  background: #f7fbfb;
  border: 1px solid #e1ecef;
  border-radius: 14px;
  padding: 13px 14px;
}
body.v2-detail-dashboard .metric-label {
  display: block;
  color: #667085;
  font-size: .78rem;
  font-weight: 800;
}
body.v2-detail-dashboard .metric-value {
  display: block;
  margin-top: 4px;
  color: #0f172a;
  font-size: 1.05rem;
  font-weight: 900;
}
body.v2-detail-dashboard .tariff-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}
body.v2-detail-dashboard .tariff-subcard {
  background: #f8fbfc;
  border: 1px solid #e1ecef;
  border-radius: 14px;
  padding: 14px;
  overflow: hidden;
}
body.v2-detail-dashboard .tariff-subcard.tariff-fullwidth { grid-column: 1 / -1; }
body.v2-detail-dashboard .tariff-subcard h3 {
  margin: 0 0 10px;
  color: #008c82;
  font-size: .98rem;
}
body.v2-detail-dashboard .table-wrap {
  overflow-x: auto;
  border: 1px solid #e6eef2;
  border-radius: 12px;
  background: #fff;
}
body.v2-detail-dashboard .tariff-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 560px;
  background: #fff;
}
body.v2-detail-dashboard .tariff-table th,
body.v2-detail-dashboard .tariff-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #edf2f5;
  text-align: right;
  white-space: nowrap;
  color: #0f172a;
}
body.v2-detail-dashboard .tariff-table th:first-child,
body.v2-detail-dashboard .tariff-table td:first-child { text-align: left; }
body.v2-detail-dashboard .tariff-table th {
  background: #f7fbfb;
  color: #53657a;
  font-size: .74rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
body.v2-detail-dashboard .tariff-table tr:last-child td { border-bottom: 0; }
body.v2-detail-dashboard .note {
  color: #667085;
  font-size: .9rem;
  line-height: 1.45;
}
body.v2-detail-dashboard .card-actions { margin-top: 14px; }
body.v2-detail-dashboard .button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 0;
  border-radius: 10px;
  padding: 0 14px;
  background: #008c82;
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}
body.v2-detail-dashboard .simulator-card {
  margin: 16px 0;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%);
}
body.v2-detail-dashboard .simulator-tabs {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid #dce7ec;
  border-radius: 12px;
  background: #fff;
  margin: 8px 0 14px;
}
body.v2-detail-dashboard .sim-tab {
  min-height: 40px;
  border: 0;
  border-right: 1px solid #edf2f5;
  padding: 0 14px;
  background: transparent;
  color: #334155;
  font-weight: 900;
  cursor: pointer;
}
body.v2-detail-dashboard .sim-tab:last-child { border-right: 0; }
body.v2-detail-dashboard .sim-tab.active { background: #008c82; color: #fff; }
body.v2-detail-dashboard .sim-panel { display: none; }
body.v2-detail-dashboard .sim-panel.active { display: block; }
body.v2-detail-dashboard .sim-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}
body.v2-detail-dashboard .sim-field {
  display: grid;
  gap: 6px;
}
body.v2-detail-dashboard .sim-field span {
  color: #667085;
  font-size: .78rem;
  font-weight: 800;
}
body.v2-detail-dashboard .sim-field input,
body.v2-detail-dashboard .sim-field select {
  width: 100%;
  height: 40px;
  border: 1px solid #d8e1e8;
  border-radius: 10px;
  padding: 0 10px;
  background: #fff;
  color: #0f172a;
}
body.v2-detail-dashboard .sim-actions { display: flex; align-items: end; }
body.v2-detail-dashboard .sim-result {
  margin-top: 14px;
  padding: 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #e1ecef;
}
body.v2-detail-dashboard .sim-result-empty,
body.v2-detail-dashboard .sim-result-error { color: #667085; font-weight: 700; }
body.v2-detail-dashboard .sim-result-error { color: #b42318; }
body.v2-detail-dashboard .sim-result-grid {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
body.v2-detail-dashboard .sim-result-main {
  padding: 14px;
  border-radius: 12px;
  background: #e9f6f4;
  border: 1px solid #cfe7e2;
}
body.v2-detail-dashboard .sim-result-main strong {
  display: block;
  margin-top: 5px;
  font-size: 1.55rem;
  color: #008c82;
}
body.v2-detail-dashboard .sim-result-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
body.v2-detail-dashboard .sim-result-meta div,
body.v2-detail-dashboard .sim-break-item {
  padding: 10px;
  border-radius: 10px;
  background: #f7fbfb;
  border: 1px solid #e1ecef;
}
body.v2-detail-dashboard .sim-result-meta span,
body.v2-detail-dashboard .sim-break-item span,
body.v2-detail-dashboard .sim-break-item small {
  display: block;
  color: #667085;
  font-size: .76rem;
  font-weight: 800;
}
body.v2-detail-dashboard .sim-result-meta strong,
body.v2-detail-dashboard .sim-break-item strong {
  display: block;
  margin-top: 4px;
  color: #0f172a;
  font-weight: 900;
}
body.v2-detail-dashboard .sim-breakdown {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
body.v2-detail-dashboard .info-list .info-row {
  display: grid;
  grid-template-columns: minmax(180px, .5fr) minmax(0,1fr);
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid #edf2f5;
}
body.v2-detail-dashboard .info-list .info-row:last-child { border-bottom: 0; }
body.v2-detail-dashboard .info-list .label { color: #667085; font-weight: 800; }
@media (max-width: 920px) {
  body.v2-detail-dashboard .tariff-highlights,
  body.v2-detail-dashboard .tariff-stack,
  body.v2-detail-dashboard .sim-grid,
  body.v2-detail-dashboard .sim-result-grid,
  body.v2-detail-dashboard .sim-result-meta,
  body.v2-detail-dashboard .sim-breakdown {
    grid-template-columns: 1fr;
  }
}


/* Informação operacional ANA recuperada dos dados anteriores à normalização */
body .detail-card.ana-operational-card {
  grid-column: 1 / -1;
  background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
  border-color: #cfe1f5;
}

body .ana-operational-card .detail-card-title h2 {
  color: #0f559f;
}

body .ana-operational-card .detail-card-icon {
  background: #e8f2ff;
  color: #1565c0;
}

body .ana-op-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
  margin-bottom: .85rem;
}

body .ana-op-stat {
  border: 1px solid #d9e7f7;
  background: #fff;
  border-radius: .85rem;
  padding: .7rem .75rem;
}

body .ana-op-stat span {
  display: block;
  color: #607188;
  font-size: .75rem;
  font-weight: 800;
  margin-bottom: .2rem;
}

body .ana-op-stat strong {
  display: block;
  color: #102a43;
  font-size: .9rem;
  line-height: 1.25;
}

body .ana-op-categories {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .4rem 0 .95rem;
}

body .ana-op-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .36rem .65rem;
  background: #e8f2ff;
  color: #0f559f;
  border: 1px solid #cfe1f5;
  font-weight: 900;
  font-size: .78rem;
}

body .ana-op-chip.muted {
  color: #64748b;
  background: #f8fafc;
  border-color: #e2e8f0;
}

body .ana-op-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: .9rem;
}

body .ana-op-box {
  border: 1px solid #e2ebf5;
  background: #ffffff;
  border-radius: 1rem;
  padding: .9rem 1rem;
}

body .ana-op-box h3 {
  margin: 0 0 .65rem;
  color: #12395f;
  font-size: .96rem;
}

body .ana-op-box ul {
  margin: 0;
  padding-left: 1.05rem;
  color: #334155;
  line-height: 1.45;
  font-size: .9rem;
}

body .ana-op-box li + li {
  margin-top: .32rem;
}

body .ana-op-empty {
  margin: 0;
  color: #64748b;
  font-size: .9rem;
}

@media (max-width: 980px) {
  body .ana-op-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body .ana-op-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  body .ana-op-summary {
    grid-template-columns: 1fr;
  }
}



/* Fix detalle ES/IT: activar estilos v2 y limitar iconos SVG */
body.v2-detail-dashboard .detail-v2-lite {
  max-width: 1420px;
  margin: 0 auto;
  padding: 34px clamp(18px, 3vw, 44px) 42px;
}
body.v2-detail-dashboard .detail-main-pin svg {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  display: block;
}
body.v2-detail-dashboard .detail-title-wrap .city-pin svg {
  width: 18px !important;
  height: 20px !important;
  max-width: 18px !important;
  max-height: 20px !important;
  display: block;
}
body.v2-detail-dashboard .detail-card-icon svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  display: block;
}
body.v2-detail-dashboard .detail-metric span svg {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  display: block;
}
body.v2-detail-dashboard .service-chip svg {
  width: 14px !important;
  height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
}
@media (max-width: 760px) {
  body.v2-detail-dashboard .detail-v2-lite {
    padding: 18px 14px 28px;
  }
}

/* --------------------------------------------------------------------------
   Ajuste tipográfico detalle v2 · más próximo a la versión previa
   -------------------------------------------------------------------------- */
body.v2-detail-dashboard .detail-title-wrap h1 {
  font-weight: 700;
  letter-spacing: -0.02em;
}
body.v2-detail-dashboard .detail-title-wrap p,
body.v2-detail-dashboard .detail-operator,
body.v2-detail-dashboard .detail-metric small,
body.v2-detail-dashboard .detail-metric strong,
body.v2-detail-dashboard .map-open-button,
body.v2-detail-dashboard .detail-row span,
body.v2-detail-dashboard .detail-row strong,
body.v2-detail-dashboard .contact-tile span,
body.v2-detail-dashboard .contact-tile strong,
body.v2-detail-dashboard .service-chip,
body.v2-detail-dashboard .detail-small-button,
body.v2-detail-dashboard .section-kicker,
body.v2-detail-dashboard .metric-label,
body.v2-detail-dashboard .metric-value,
body.v2-detail-dashboard .tariff-table th,
body.v2-detail-dashboard .button-link,
body.v2-detail-dashboard .sim-tab,
body.v2-detail-dashboard .sim-field span {
  font-weight: 700;
}
body.v2-detail-dashboard .detail-card-title h2,
body.v2-detail-dashboard .section-heading h3,
body.v2-detail-dashboard .tariff-subcard h3 {
  font-weight: 700;
}
body.v2-detail-dashboard .detail-row strong,
body.v2-detail-dashboard .contact-tile strong,
body.v2-detail-dashboard .metric-value {
  font-weight: 700;
}
body.v2-detail-dashboard .detail-row span,
body.v2-detail-dashboard .contact-tile span,
body.v2-detail-dashboard .metric-label,
body.v2-detail-dashboard .section-kicker,
body.v2-detail-dashboard .tariff-table th {
  font-weight: 600;
}



/* Países en sidebar con iconografía corporativa */
body.v2-dashboard .v2-country-nav-icons { gap: 14px; }
body.v2-dashboard .v2-country-nav-icons .country-icon-link {
  position: relative;
  min-height: 64px;
  padding: 9px 10px;
  gap: 12px;
  text-decoration: none;
  border: 1px solid transparent;
}
body.v2-dashboard .v2-country-nav-icons .country-icon-link:hover {
  background: #f7fbfb;
  border-color: #e3edf1;
}
body.v2-dashboard .v2-country-nav-icons .country-icon-link.active {
  background: #ffffff;
  border-color: #dce8ec;
  box-shadow: 0 8px 20px rgba(16, 44, 68, .06);
}
body.v2-dashboard .v2-country-nav-icons .country-icon-link.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 999px;
  background: var(--brand-accent, #FF5800);
}
.country-icon-circle {
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #f0f4f5;
  overflow: hidden;
}
.country-icon-circle img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  display: block;
}
body.v2-dashboard .v2-country-nav-icons .country-icon-link span:nth-child(2) {
  color: #007c72;
  font-weight: 800;
}
.country-arrow {
  margin-left: auto;
  color: var(--brand-accent, #FF5800);
  font-size: 1.35rem;
  line-height: 1;
}
body.v2-dashboard.has-country-sidebar .detail-main-shell {
  min-height: 100vh;
  padding-top: 24px;
}
body.v2-dashboard.has-country-sidebar .detail-page {
  width: min(1160px, calc(100% - 32px));
}
@media (max-width: 860px) {
  body.v2-dashboard .v2-country-nav-icons { grid-template-columns: 1fr; }
  body.v2-dashboard .v2-country-nav-icons .country-icon-link { min-height: 58px; }
  .country-icon-circle { width: 46px; height: 46px; min-width: 46px; }
  .country-icon-circle img { width: 30px; height: 30px; }
}

/* --------------------------------------------------------------------------
   Ajuste tipográfico clean para valores numéricos (ES / PT / IT)
   Teléfonos, minutos, euros y métricas con menos peso visual.
   -------------------------------------------------------------------------- */
body.v2-dashboard .card-v3 .saba-row strong {
  color: #5f6f7b !important;
  font-weight: 560 !important;
  letter-spacing: -0.005em;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

body.v2-dashboard .card-v3 .saba-row:nth-child(2) strong,
body.v2-dashboard .card-v3 .saba-row:nth-child(3) strong {
  color: #168a82 !important;
  font-weight: 620 !important;
}

body.v2-dashboard .card-v3 .saba-row-label {
  color: #667985 !important;
  font-weight: 520;
}

body.v2-dashboard .card-v3 .saba-tag,
body.v2-dashboard .card-v3 .saba-card-pill {
  font-weight: 650 !important;
}

body.v2-detail-dashboard .info-list .label,
body.v2-detail-dashboard .v2-row .label,
body.v2-detail-dashboard .metric-label,
body.v2-detail-dashboard .sim-result-meta span,
body.v2-detail-dashboard .sim-break-item span,
body.v2-detail-dashboard .sim-break-item small,
body.v2-detail-dashboard .v2-tariff-highlights span,
body.v2-detail-dashboard .tariff-highlights .metric-label {
  color: #667985 !important;
  font-weight: 560 !important;
}

body.v2-detail-dashboard .info-list .info-row > div:last-child,
body.v2-detail-dashboard .info-list .info-row .value,
body.v2-detail-dashboard .v2-row .value,
body.v2-detail-dashboard .v2-card-metrics .metric-value,
body.v2-detail-dashboard .tariff-highlights .metric-value,
body.v2-detail-dashboard .sim-result-meta strong,
body.v2-detail-dashboard .sim-break-item strong,
body.v2-detail-dashboard .v2-tariff-table td {
  color: #5f6f7b !important;
  font-weight: 560 !important;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

body.v2-detail-dashboard .v2-tariff-highlights strong,
body.v2-detail-dashboard .tariff-highlights .metric-value,
body.v2-detail-dashboard .sim-result-main strong {
  color: #168a82 !important;
  font-weight: 620 !important;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

body.v2-detail-dashboard .sim-result-main strong {
  letter-spacing: -0.015em;
}

/* Métricas superiores · look clean corporativo 2026-05 */
body.v2-dashboard .v2-overview-panel {
  grid-template-columns: minmax(340px, 480px) minmax(0, 1fr);
  gap: 30px;
  align-items: stretch;
}
body.v2-dashboard .v2-overview-search {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 8px;
  border-right: 1px solid #d9e3e8;
}
body.v2-dashboard .v2-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
  align-items: stretch;
}
body.v2-dashboard .v2-kpi {
  position: relative;
  display: grid;
  grid-template-columns: 48px 1fr;
  grid-template-rows: auto auto auto;
  column-gap: 14px;
  align-items: center;
  min-height: 122px;
  padding: 20px 18px 18px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #dce5eb;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .055);
  overflow: hidden;
}
body.v2-dashboard .v2-kpi::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 18px;
  width: 30px;
  height: 3px;
  border-radius: 999px;
  background: #0aa39b;
}
body.v2-dashboard .v2-kpi.ana::before,
body.v2-dashboard .v2-kpi.ana-total::before,
body.v2-dashboard .v2-kpi.neutral::before { background: #2d6ecf; }
body.v2-dashboard .v2-kpi.saba,
body.v2-dashboard .v2-kpi.saba-total,
body.v2-dashboard .v2-kpi.ana,
body.v2-dashboard .v2-kpi.ana-total,
body.v2-dashboard .v2-kpi.neutral {
  background: #fff;
  border-color: #dce5eb;
}
body.v2-dashboard .v2-kpi .kpi-icon {
  grid-row: 1 / span 3;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin-top: 16px;
  color: #fff;
  font-size: 1.28rem;
  font-weight: 650;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(15, 138, 132, .22);
}
body.v2-dashboard .v2-kpi .kpi-icon.teal { background: linear-gradient(135deg, #0aa39b, #0f8a84); }
body.v2-dashboard .v2-kpi .kpi-icon.blue { background: linear-gradient(135deg, #3f8de8, #1f66c7); box-shadow: 0 8px 18px rgba(31, 102, 199, .22); }
body.v2-dashboard .v2-kpi .kpi-icon.gray { background: linear-gradient(135deg, #3f566c, #1f3348); box-shadow: 0 8px 18px rgba(31, 51, 72, .16); font-size: .85rem; }
body.v2-dashboard .v2-kpi span:not(.kpi-icon) {
  margin-top: 20px;
  color: #1d2a3b;
  font-size: .86rem;
  font-weight: 720;
  letter-spacing: -.01em;
}
body.v2-dashboard .v2-kpi strong {
  color: #0f172a;
  font-size: clamp(1.75rem, 2.2vw, 2.15rem);
  font-weight: 640;
  line-height: .98;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
}
body.v2-dashboard .v2-kpi small {
  color: #647084;
  font-size: .86rem;
  font-weight: 480;
}
body.v2-dashboard .saba-row strong {
  font-weight: 560;
  color: #435164;
  font-variant-numeric: tabular-nums;
}
body.v2-dashboard .saba-row:nth-child(2) strong,
body.v2-dashboard .saba-row:nth-child(3) strong {
  font-weight: 620;
  color: #0f8a84;
}
@media (max-width: 1020px) {
  body.v2-dashboard .v2-overview-panel { grid-template-columns: 1fr; }
  body.v2-dashboard .v2-overview-search { border-right: 0; border-bottom: 1px solid #d9e3e8; padding-right: 0; padding-bottom: 24px; }
}

/* Ajuste 2026-05 · index sin métricas: quitar divisor y recentrar buscador */
body.v2-dashboard .v2-overview-panel {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}
body.v2-dashboard .v2-overview-search {
  border-right: 0 !important;
  border-bottom: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  max-width: 760px;
}
body.v2-dashboard .v2-main-header {
  align-items: flex-start;
}


/* Bloque común de información operacional */
body.v2-detail-dashboard .detail-card.operational-card {
  grid-column: 1 / -1;
  background: linear-gradient(180deg, #fbfefd 0%, #ffffff 100%);
}
body.v2-detail-dashboard .operational-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}
body.v2-detail-dashboard .operational-box {
  border: 1px solid #e2ebef;
  background: #fff;
  border-radius: 1rem;
  padding: .9rem 1rem;
}
body.v2-detail-dashboard .operational-box h3 {
  margin: 0 0 .65rem;
  color: #0f172a;
  font-size: .96rem;
}
body.v2-detail-dashboard .operational-box p {
  margin: 0;
  color: #334155;
  line-height: 1.48;
  font-size: .9rem;
  white-space: pre-wrap;
}
body.v2-detail-dashboard .operational-box p + p {
  margin-top: .48rem;
}
body.v2-detail-dashboard .operational-empty {
  color: #64748b !important;
}
@media (max-width: 980px) {
  body.v2-detail-dashboard .operational-columns {
    grid-template-columns: 1fr;
  }
}

/* Ajuste 2026-05-05 · Detalle Portugal alineado con ES/IT y tarifario más compacto */
body.pt-detail.v2-detail-dashboard .tariff-card,
body.pt-detail.v2-detail-dashboard .simulator-card {
  padding: 16px;
}
body.pt-detail.v2-detail-dashboard .tariff-highlights {
  gap: 10px;
  margin-bottom: 12px;
}
body.pt-detail.v2-detail-dashboard .tariff-highlight {
  padding: 11px 12px;
  border-radius: 12px;
}
body.pt-detail.v2-detail-dashboard .tariff-stack {
  gap: 12px;
  margin-top: 12px;
}
body.pt-detail.v2-detail-dashboard .tariff-subcard {
  padding: 12px;
  border-radius: 12px;
}
body.pt-detail.v2-detail-dashboard .tariff-subcard h3 {
  margin-bottom: 8px;
  font-size: .94rem;
}
body.pt-detail.v2-detail-dashboard .tariff-table {
  min-width: 500px;
}
body.pt-detail.v2-detail-dashboard .tariff-table th,
body.pt-detail.v2-detail-dashboard .tariff-table td {
  padding: 7px 8px;
  font-size: .82rem;
}
body.pt-detail.v2-detail-dashboard .simulator-card {
  margin: 12px 0;
}
body.pt-detail.v2-detail-dashboard .sim-grid {
  gap: 10px;
}
body.pt-detail.v2-detail-dashboard .note.note-tight {
  margin-bottom: 8px;
}
@media (max-width: 1180px) {
  body.pt-detail.v2-detail-dashboard .tariff-highlights,
  body.pt-detail.v2-detail-dashboard .tariff-stack,
  body.pt-detail.v2-detail-dashboard .sim-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  body.pt-detail.v2-detail-dashboard .tariff-highlights,
  body.pt-detail.v2-detail-dashboard .tariff-stack,
  body.pt-detail.v2-detail-dashboard .sim-grid {
    grid-template-columns: 1fr;
  }
}

/* Ajuste 2026-05-05 · Tarifario Portugal sin scroll horizontal innecesario */
body.pt-detail.v2-detail-dashboard .table-wrap {
  overflow-x: hidden;
}
body.pt-detail.v2-detail-dashboard .tariff-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}
body.pt-detail.v2-detail-dashboard .tariff-table th,
body.pt-detail.v2-detail-dashboard .tariff-table td {
  padding: 7px 5px;
  font-size: .8rem;
  line-height: 1.25;
}
body.pt-detail.v2-detail-dashboard .tariff-table th:first-child,
body.pt-detail.v2-detail-dashboard .tariff-table td:first-child {
  width: 46px;
  padding-left: 10px;
  padding-right: 4px;
}
body.pt-detail.v2-detail-dashboard .tariff-table th:nth-child(n+2),
body.pt-detail.v2-detail-dashboard .tariff-table td:nth-child(n+2) {
  width: calc((100% - 46px) / 5);
}
@media (max-width: 520px) {
  body.pt-detail.v2-detail-dashboard .table-wrap {
    overflow-x: auto;
  }
  body.pt-detail.v2-detail-dashboard .tariff-table {
    min-width: 430px;
  }
}

/* Tarifas por vehículo */
body.v2-detail-dashboard .tariff-vehicle-heading{
  margin:1.1rem 0 .75rem;
}
body.v2-detail-dashboard .v2-vehicle-tariffs{
  display:grid;
  gap:1rem;
}
body.v2-detail-dashboard .vehicle-tariff-card{
  border:1px solid #e7edf1;
  background:#fff;
  border-radius:1rem;
  padding:1rem;
  overflow:hidden;
}
body.v2-detail-dashboard .vehicle-tariff-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.85rem;
}
body.v2-detail-dashboard .vehicle-tariff-head h3{
  margin:0;
  color:#17324f;
  font-size:1.02rem;
}
body.v2-detail-dashboard .vehicle-tariff-head span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#eef8f6;
  color:#008c82;
  font-size:.72rem;
  font-weight:800;
  padding:.28rem .55rem;
  text-transform:uppercase;
  letter-spacing:.02em;
}
body.v2-detail-dashboard .vehicle-tariff-highlights{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
  margin-bottom:.75rem;
}
body.v2-detail-dashboard .vehicle-tariff-highlights div{
  background:#f7fafb;
  border:1px solid #e7edf1;
  border-radius:.85rem;
  padding:.7rem;
}
body.v2-detail-dashboard .vehicle-tariff-highlights span{
  display:block;
  color:#657386;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}
body.v2-detail-dashboard .vehicle-tariff-highlights strong{
  display:block;
  color:#17324f;
  font-size:.98rem;
  margin-top:.15rem;
}
body.v2-detail-dashboard .vehicle-note{
  margin:.35rem 0 .75rem;
}
body.v2-detail-dashboard .tariff-special-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
  margin-top:.75rem;
}
body.v2-detail-dashboard .tariff-special-list div{
  background:#fbfcfd;
  border:1px solid #eef2f5;
  border-radius:.75rem;
  padding:.6rem .7rem;
}
body.v2-detail-dashboard .tariff-special-list span{
  display:block;
  color:#5c6b7c;
  font-size:.78rem;
  line-height:1.25;
}
body.v2-detail-dashboard .tariff-special-list strong{
  display:block;
  color:#17324f;
  font-size:.92rem;
  margin-top:.2rem;
}
body.v2-detail-dashboard .tariff-special-list small{
  display:block;
  color:#6f7f90;
  font-size:.72rem;
  margin-top:.25rem;
  line-height:1.25;
}
@media(max-width:820px){
  body.v2-detail-dashboard .vehicle-tariff-highlights,
  body.v2-detail-dashboard .tariff-special-list{grid-template-columns:1fr}
}


/* Tarifas detalle · layout compacto por bloques/columnas */
body.v2-detail-dashboard .tariff-detail-card{
  padding:18px 18px 20px;
}
body.v2-detail-dashboard .tariff-summary-grid,
body.v2-detail-dashboard .tariff-highlights.tariff-summary-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.7rem;
  margin:.8rem 0 1rem;
}
body.v2-detail-dashboard .tariff-summary-grid > div,
body.v2-detail-dashboard .tariff-highlights.tariff-summary-grid .tariff-highlight{
  padding:.72rem .85rem;
  border-radius:.9rem;
}
body.v2-detail-dashboard .tariff-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);
  gap:1rem;
  align-items:start;
}
body.v2-detail-dashboard .tariff-workspace-full{
  grid-template-columns:1fr;
}
body.v2-detail-dashboard .tariff-main-panel,
body.v2-detail-dashboard .tariff-side-panel{
  min-width:0;
}
body.v2-detail-dashboard .tariff-main-panel{
  border:1px solid #e7edf1;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
  border-radius:1rem;
  padding:.95rem;
}
body.v2-detail-dashboard .tariff-side-panel{
  position:sticky;
  top:1rem;
}
body.v2-detail-dashboard .tariff-side-panel #price-simulator.simulator-card,
body.v2-detail-dashboard .tariff-side-panel .simulator-card{
  margin:0;
  border-radius:1rem;
  padding:.95rem;
  box-shadow:none;
}
body.v2-detail-dashboard .tariff-side-panel .section-heading h3{
  font-size:1rem;
}
body.v2-detail-dashboard .tariff-side-panel .note-tight{
  font-size:.78rem;
  margin-bottom:.75rem;
}
body.v2-detail-dashboard .tariff-side-panel .simulator-tabs{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.35rem;
  border:0;
  background:transparent;
  margin:.5rem 0 .75rem;
}
body.v2-detail-dashboard .tariff-side-panel .sim-tab{
  border:1px solid #dce7ec;
  border-radius:.75rem;
  min-height:34px;
  padding:0 .55rem;
  font-size:.78rem;
}
body.v2-detail-dashboard .tariff-side-panel .sim-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
}
body.v2-detail-dashboard .tariff-side-panel .sim-field input,
body.v2-detail-dashboard .tariff-side-panel .sim-field select{
  height:36px;
}
body.v2-detail-dashboard .tariff-side-panel .sim-actions,
body.v2-detail-dashboard .tariff-side-panel .sim-actions-wide{
  grid-column:1/-1;
}
body.v2-detail-dashboard .tariff-side-panel .sim-cta{
  width:100%;
  min-height:36px;
}
body.v2-detail-dashboard .tariff-side-panel .sim-result{
  margin-top:.75rem;
  padding:.8rem;
}
body.v2-detail-dashboard .tariff-side-panel .sim-result-grid{
  grid-template-columns:1fr;
  gap:.65rem;
}
body.v2-detail-dashboard .tariff-side-panel .sim-result-main{
  padding:.75rem;
}
body.v2-detail-dashboard .tariff-vehicle-heading{
  margin:0 0 .75rem !important;
}
body.v2-detail-dashboard .v2-vehicle-tariffs{
  gap:.75rem;
}
body.v2-detail-dashboard .vehicle-tariff-card{
  border-radius:.95rem;
  padding:.8rem;
  background:#fff;
}
body.v2-detail-dashboard .vehicle-tariff-head{
  margin-bottom:.65rem;
}
body.v2-detail-dashboard .vehicle-tariff-head h3{
  font-size:.98rem;
}
body.v2-detail-dashboard .vehicle-tariff-head span{
  font-size:.66rem;
  padding:.22rem .5rem;
}
body.v2-detail-dashboard .vehicle-tariff-body{
  display:grid;
  grid-template-columns:minmax(190px,.62fr) minmax(0,1fr);
  gap:.75rem;
  align-items:start;
}
body.v2-detail-dashboard .vehicle-tariff-body-simple{
  grid-template-columns:1fr;
}
body.v2-detail-dashboard .vehicle-tariff-summary,
body.v2-detail-dashboard .vehicle-tariff-details{
  min-width:0;
}
body.v2-detail-dashboard .vehicle-tariff-highlights{
  grid-template-columns:1fr;
  gap:.45rem;
  margin:0;
}
body.v2-detail-dashboard .vehicle-tariff-highlights div{
  display:grid;
  grid-template-columns:minmax(95px,.85fr) minmax(0,1fr);
  align-items:center;
  gap:.55rem;
  padding:.52rem .6rem;
  border-radius:.7rem;
}
body.v2-detail-dashboard .vehicle-tariff-highlights span{
  font-size:.68rem;
}
body.v2-detail-dashboard .vehicle-tariff-highlights strong{
  margin:0;
  text-align:right;
  font-size:.9rem;
}
body.v2-detail-dashboard .vehicle-note{
  margin:.55rem 0 0;
  font-size:.82rem;
}
body.v2-detail-dashboard .vehicle-tariff-card.is-informative .vehicle-tariff-body{
  grid-template-columns:minmax(190px,.55fr) minmax(0,1fr);
}
body.v2-detail-dashboard .vehicle-tariff-card.is-informative .vehicle-tariff-details:empty{
  display:none;
}
body.v2-detail-dashboard .vehicle-tariff-details .v2-table-wrap,
body.v2-detail-dashboard .vehicle-tariff-details .tariff-special-list{
  margin:0;
}
body.v2-detail-dashboard .vehicle-tariff-details .v2-table-wrap,
body.v2-detail-dashboard .vehicle-tariff-details .table-wrap{
  border-radius:.75rem;
}
body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table th,
body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table td,
body.v2-detail-dashboard .tariff-main-panel .tariff-table th,
body.v2-detail-dashboard .tariff-main-panel .tariff-table td{
  padding:.48rem .55rem;
  font-size:.82rem;
}
body.v2-detail-dashboard .tariff-special-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.45rem;
  margin-top:.55rem;
}
body.v2-detail-dashboard .tariff-special-list div{
  padding:.5rem .6rem;
  border-radius:.68rem;
}
body.v2-detail-dashboard .tariff-special-list span{
  font-size:.74rem;
}
body.v2-detail-dashboard .tariff-special-list strong{
  font-size:.86rem;
}
body.v2-detail-dashboard .tariff-main-panel .tariff-stack{
  margin-top:0;
  gap:.75rem;
}
body.v2-detail-dashboard .tariff-main-panel .tariff-subcard{
  padding:.8rem;
  border-radius:.85rem;
}
body.v2-detail-dashboard .tariff-main-panel .tariff-subcard h3{
  font-size:.92rem;
  margin-bottom:.55rem;
}
@media(max-width:1100px){
  body.v2-detail-dashboard .tariff-workspace{grid-template-columns:1fr;}
  body.v2-detail-dashboard .tariff-side-panel{position:static;}
  body.v2-detail-dashboard .vehicle-tariff-body{grid-template-columns:1fr;}
}
@media(max-width:820px){
  body.v2-detail-dashboard .tariff-summary-grid,
  body.v2-detail-dashboard .tariff-highlights.tariff-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.v2-detail-dashboard .tariff-side-panel .sim-grid{grid-template-columns:1fr;}
  body.v2-detail-dashboard .tariff-main-panel .tariff-stack{grid-template-columns:1fr;}
}
@media(max-width:520px){
  body.v2-detail-dashboard .tariff-summary-grid,
  body.v2-detail-dashboard .tariff-highlights.tariff-summary-grid{grid-template-columns:1fr;}
  body.v2-detail-dashboard .vehicle-tariff-highlights div{grid-template-columns:1fr;}
  body.v2-detail-dashboard .vehicle-tariff-highlights strong{text-align:left;}
  body.v2-detail-dashboard .tariff-special-list{grid-template-columns:1fr;}
}

/* Ajuste 2026-05-06 · Tarifas: eliminar scroll horizontal innecesario en detalle */
body.v2-detail-dashboard .tariff-main-panel,
body.v2-detail-dashboard .vehicle-tariff-card,
body.v2-detail-dashboard .vehicle-tariff-body,
body.v2-detail-dashboard .vehicle-tariff-details,
body.v2-detail-dashboard .tariff-subcard {
  min-width: 0;
}

body.v2-detail-dashboard .tariff-main-panel .v2-table-wrap,
body.v2-detail-dashboard .tariff-main-panel .table-wrap,
body.v2-detail-dashboard .vehicle-tariff-details .v2-table-wrap,
body.v2-detail-dashboard .vehicle-tariff-details .table-wrap {
  overflow-x: hidden;
  max-width: 100%;
}

body.v2-detail-dashboard .tariff-main-panel .v2-tariff-table,
body.v2-detail-dashboard .tariff-main-panel .tariff-table,
body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table,
body.v2-detail-dashboard .vehicle-tariff-details .tariff-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

body.v2-detail-dashboard .tariff-main-panel .v2-tariff-table th,
body.v2-detail-dashboard .tariff-main-panel .v2-tariff-table td,
body.v2-detail-dashboard .tariff-main-panel .tariff-table th,
body.v2-detail-dashboard .tariff-main-panel .tariff-table td,
body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table th,
body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table td,
body.v2-detail-dashboard .vehicle-tariff-details .tariff-table th,
body.v2-detail-dashboard .vehicle-tariff-details .tariff-table td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table th:first-child,
body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table td:first-child,
body.v2-detail-dashboard .tariff-main-panel .tariff-table th:first-child,
body.v2-detail-dashboard .tariff-main-panel .tariff-table td:first-child {
  width: 34%;
}

body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table th:nth-child(2),
body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table td:nth-child(2),
body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table th:nth-child(3),
body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table td:nth-child(3) {
  width: 33%;
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 520px) {
  body.v2-detail-dashboard .tariff-main-panel .v2-tariff-table th,
  body.v2-detail-dashboard .tariff-main-panel .v2-tariff-table td,
  body.v2-detail-dashboard .tariff-main-panel .tariff-table th,
  body.v2-detail-dashboard .tariff-main-panel .tariff-table td,
  body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table th,
  body.v2-detail-dashboard .vehicle-tariff-details .v2-tariff-table td,
  body.v2-detail-dashboard .vehicle-tariff-details .tariff-table th,
  body.v2-detail-dashboard .vehicle-tariff-details .tariff-table td {
    padding-left: .42rem;
    padding-right: .42rem;
    font-size: .76rem;
  }
}

/* Mejora visual 2026-05-06 · Bloque de tarifas detalle ES/PT/IT */
body.v2-detail-dashboard .tariff-visual-v3 {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
  border-color: #dce7ec;
}
body.v2-detail-dashboard .tariff-visual-v3 .detail-card-title,
body.v2-detail-dashboard .tariff-title-row {
  align-items: flex-start;
}
body.v2-detail-dashboard .tariff-title-row > div {
  min-width: 0;
}
body.v2-detail-dashboard .tariff-title-note {
  margin: .18rem 0 0;
  color: #667085;
  font-size: .86rem;
  line-height: 1.35;
  font-weight: 500;
}
body.v2-detail-dashboard .tariff-visual-v3 .tariff-summary-grid,
body.v2-detail-dashboard .tariff-visual-v3 .v2-tariff-highlights.tariff-summary-grid,
body.v2-detail-dashboard .tariff-visual-v3 .tariff-highlights.tariff-summary-grid {
  gap: .72rem;
  margin: .9rem 0 1rem;
}
body.v2-detail-dashboard .tariff-visual-v3 .tariff-summary-grid > div,
body.v2-detail-dashboard .tariff-visual-v3 .v2-tariff-highlights.tariff-summary-grid > div,
body.v2-detail-dashboard .tariff-visual-v3 .tariff-highlight {
  background: #f7fbfb;
  border: 1px solid #e1ecef;
  border-left: 3px solid #008c82;
  border-radius: .95rem;
  padding: .78rem .85rem;
}
body.v2-detail-dashboard .tariff-visual-v3 .tariff-summary-grid > div:nth-child(2),
body.v2-detail-dashboard .tariff-visual-v3 .v2-tariff-highlights.tariff-summary-grid > div:nth-child(2),
body.v2-detail-dashboard .tariff-visual-v3 .tariff-highlight:nth-child(2) {
  border-left-color: #ff6b00;
  background: #fff8f4;
}
body.v2-detail-dashboard .tariff-visual-v3 .tariff-workspace {
  grid-template-columns: minmax(0, 1.36fr) minmax(280px, .64fr);
  gap: 1rem;
}
body.v2-detail-dashboard .tariff-visual-v3 .tariff-main-panel {
  border: 1px solid #e2ebef;
  background: #ffffff;
  border-radius: 1.05rem;
  padding: 1rem;
}
body.v2-detail-dashboard .tariff-visual-v3 .tariff-vehicle-heading {
  border-bottom: 1px solid #edf2f5;
  padding-bottom: .7rem;
  margin-bottom: .85rem !important;
}
body.v2-detail-dashboard .tariff-vehicle-blocks {
  display: grid;
  grid-template-columns: 1fr;
  gap: .8rem;
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-card {
  border: 1px solid #e3eaf0;
  background: #ffffff;
  border-radius: 1rem;
  padding: .9rem;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .025);
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-card.is-informative,
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-card.is-fixed-daily {
  background: #fffaf7;
  border-color: #ffd8c2;
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-head {
  margin-bottom: .75rem;
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-head h3 {
  color: #17324f;
  font-size: 1rem;
  letter-spacing: -.01em;
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-head span {
  background: #eef8f6;
  border: 1px solid #cce9e6;
  color: #008c82;
  max-width: 54%;
  text-align: center;
  white-space: normal;
  line-height: 1.15;
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-card.is-informative .vehicle-tariff-head span,
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-card.is-fixed-daily .vehicle-tariff-head span {
  background: #fff0e7;
  border-color: #ffd8c2;
  color: #b44a00;
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-body {
  grid-template-columns: minmax(180px, .48fr) minmax(0, 1fr);
  gap: .85rem;
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-highlights {
  gap: .5rem;
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-highlights div {
  background: #f8fafb;
  border-color: #edf2f5;
  border-radius: .78rem;
  padding: .55rem .62rem;
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-highlights span,
body.v2-detail-dashboard .tariff-visual-v3 .tariff-special-list span {
  color: #667085;
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-highlights strong,
body.v2-detail-dashboard .tariff-visual-v3 .tariff-total-cell,
body.v2-detail-dashboard .tariff-visual-v3 .tariff-special-list strong {
  color: #17324f;
  font-weight: 850;
}
body.v2-detail-dashboard .tariff-visual-v3 .vehicle-note {
  background: #fbfcfd;
  border: 1px solid #edf2f5;
  border-radius: .72rem;
  padding: .55rem .62rem;
}
body.v2-detail-dashboard .tariff-visual-v3 .is-fixed-daily .vehicle-note,
body.v2-detail-dashboard .tariff-visual-v3 .is-informative .vehicle-note {
  background: #fff7f1;
  border-color: #ffe0cd;
}
body.v2-detail-dashboard .tariff-table-wrap,
body.v2-detail-dashboard .tariff-visual-v3 .v2-table-wrap,
body.v2-detail-dashboard .tariff-visual-v3 .table-wrap {
  overflow-x: hidden;
  border-radius: .82rem;
  border-color: #e6eef2;
}
body.v2-detail-dashboard .tariff-compact-table,
body.v2-detail-dashboard .tariff-visual-v3 .v2-tariff-table,
body.v2-detail-dashboard .tariff-visual-v3 .tariff-table {
  min-width: 0 !important;
  table-layout: fixed;
  font-size: .8rem;
}
body.v2-detail-dashboard .tariff-compact-table th,
body.v2-detail-dashboard .tariff-compact-table td,
body.v2-detail-dashboard .tariff-visual-v3 .v2-tariff-table th,
body.v2-detail-dashboard .tariff-visual-v3 .v2-tariff-table td,
body.v2-detail-dashboard .tariff-visual-v3 .tariff-table th,
body.v2-detail-dashboard .tariff-visual-v3 .tariff-table td {
  padding: .5rem .45rem;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.v2-detail-dashboard .tariff-compact-table th:first-child,
body.v2-detail-dashboard .tariff-compact-table td:first-child {
  width: 21%;
}
body.v2-detail-dashboard .tariff-compact-table.is-simple th:first-child,
body.v2-detail-dashboard .tariff-compact-table.is-simple td:first-child {
  width: 34%;
}
body.v2-detail-dashboard .tariff-compact-table.has-fractions th:not(:first-child),
body.v2-detail-dashboard .tariff-compact-table.has-fractions td:not(:first-child) {
  width: auto;
  text-align: right;
}
body.v2-detail-dashboard .tariff-compact-table .tariff-total-cell {
  background: #fbfcfd;
}
body.v2-detail-dashboard .tariff-special-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .48rem;
}
body.v2-detail-dashboard .tariff-special-grid div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .65rem;
  align-items: center;
  min-width: 0;
}
body.v2-detail-dashboard .tariff-special-grid span {
  min-width: 0;
  line-height: 1.25;
}
body.v2-detail-dashboard .tariff-special-grid strong {
  white-space: nowrap;
  text-align: right;
}
body.v2-detail-dashboard .tariff-period-grid {
  align-items: start;
}
body.v2-detail-dashboard .tariff-period-card,
body.v2-detail-dashboard .tariff-specials-card {
  background: #ffffff;
}
body.v2-detail-dashboard .tariff-period-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: .65rem;
}
body.v2-detail-dashboard .tariff-period-title h3 {
  margin: 0;
  color: #008c82;
  font-size: .96rem;
}
body.v2-detail-dashboard .tariff-period-title span {
  color: #667085;
  font-size: .76rem;
  font-weight: 800;
  text-align: right;
}
body.v2-detail-dashboard .tariff-card-ana.tariff-visual-v3 {
  border-style: solid;
}
body.v2-detail-dashboard .tariff-card-ana.tariff-visual-v3 .button-link {
  background: #ff6b00;
  border-color: #ff6b00;
  color: #ffffff;
}
@media (max-width: 1100px) {
  body.v2-detail-dashboard .tariff-visual-v3 .tariff-workspace,
  body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-body {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 820px) {
  body.v2-detail-dashboard .tariff-special-grid {
    grid-template-columns: 1fr;
  }
  body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-head {
    align-items: flex-start;
  }
  body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-head span {
    max-width: none;
  }
}
@media (max-width: 560px) {
  body.v2-detail-dashboard .tariff-compact-table,
  body.v2-detail-dashboard .tariff-visual-v3 .v2-tariff-table,
  body.v2-detail-dashboard .tariff-visual-v3 .tariff-table {
    font-size: .68rem;
  }
  body.v2-detail-dashboard .tariff-compact-table th,
  body.v2-detail-dashboard .tariff-compact-table td,
  body.v2-detail-dashboard .tariff-visual-v3 .v2-tariff-table th,
  body.v2-detail-dashboard .tariff-visual-v3 .v2-tariff-table td,
  body.v2-detail-dashboard .tariff-visual-v3 .tariff-table th,
  body.v2-detail-dashboard .tariff-visual-v3 .tariff-table td {
    padding: .42rem .28rem;
  }
  body.v2-detail-dashboard .tariff-special-grid div {
    grid-template-columns: 1fr;
    gap: .2rem;
  }
  body.v2-detail-dashboard .tariff-special-grid strong {
    text-align: left;
  }
}


/* Tarifas detalle · simulador superior */
body.v2-detail-dashboard .tariff-simulator-block{
  margin: .95rem 0 1rem;
}
body.v2-detail-dashboard .tariff-simulator-block #price-simulator.simulator-card,
body.v2-detail-dashboard .tariff-simulator-block .simulator-card{
  margin:0;
  border-radius:1.05rem;
  box-shadow:none;
  border-color:#dfeaed;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%);
}
body.v2-detail-dashboard .tariff-simulator-block .section-heading{
  margin-bottom:.55rem;
}
body.v2-detail-dashboard .tariff-simulator-block .note-tight{
  margin-bottom:.7rem;
}
body.v2-detail-dashboard .tariff-simulator-block .simulator-tabs{
  margin:.35rem 0 .85rem;
}
body.v2-detail-dashboard .tariff-simulator-block .sim-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:end;
}
body.v2-detail-dashboard .tariff-simulator-block .sim-actions,
body.v2-detail-dashboard .tariff-simulator-block .sim-actions-wide{
  align-self:end;
}
body.v2-detail-dashboard .tariff-simulator-block .sim-cta{
  width:100%;
}
body.v2-detail-dashboard .tariff-simulator-block .sim-result{
  margin-top:.9rem;
}
body.v2-detail-dashboard .tariff-visual-v3 .tariff-workspace.tariff-workspace-full{
  grid-template-columns:1fr;
}
@media (max-width: 1100px){
  body.v2-detail-dashboard .tariff-simulator-block .sim-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width: 680px){
  body.v2-detail-dashboard .tariff-simulator-block .sim-grid{
    grid-template-columns:1fr;
  }
  body.v2-detail-dashboard .tariff-simulator-block .simulator-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}

/* --------------------------------------------------------------------------
   Detalle v2 · línea corporativa y lectura de campos
   -------------------------------------------------------------------------- */
body.v2-detail-dashboard .detail-hero {
  position: relative;
  overflow: hidden;
  padding-bottom: 26px;
}

body.v2-detail-dashboard .detail-hero::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: var(--saba-orange, #ff5800);
}

body.v2-detail-dashboard .detail-list {
  gap: 0;
}

body.v2-detail-dashboard .detail-row {
  grid-template-columns: minmax(118px, 140px) minmax(0, 1fr) !important;
  gap: 12px;
  align-items: start;
  padding: 8px 0;
  border-bottom: 1px solid #edf2f5;
}

body.v2-detail-dashboard .detail-row strong {
  text-align: left !important;
  justify-self: start;
  overflow-wrap: anywhere;
}

@media (max-width: 720px) {
  body.v2-detail-dashboard .detail-row {
    grid-template-columns: 1fr !important;
    gap: 3px;
  }
}

/* --------------------------------------------------------------------------
   Detalle v2 · ficha operacional completa
   -------------------------------------------------------------------------- */
body.v2-dashboard.has-country-sidebar .detail-page,
body.v2-detail-dashboard .detail-page.container,
body.v2-detail-dashboard main.detail-page {
  width: min(1420px, calc(100% - 32px));
}

body.v2-detail-dashboard .detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 18px;
}

body.v2-detail-dashboard .contacts-priority,
body.v2-detail-dashboard .detail-card.wide,
body.v2-detail-dashboard .tariff-detail-card,
body.v2-detail-dashboard .tariff-visual-v3,
body.v2-detail-dashboard .operational-card {
  grid-column: 1 / -1;
}

body.v2-detail-dashboard .contacts-priority .contact-priority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body.v2-detail-dashboard .responsibles-block .contact-priority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body.v2-detail-dashboard .detail-row {
  grid-template-columns: minmax(145px, .45fr) minmax(0, 1fr);
}

body.v2-detail-dashboard .detail-row strong {
  text-align: left;
  justify-self: start;
  overflow-wrap: anywhere;
}

body.v2-detail-dashboard .detail-card:not(.wide) .service-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-content: flex-start;
}

body.v2-detail-dashboard .service-chip.muted svg {
  opacity: .55;
}

@media (max-width: 980px) {
  body.v2-detail-dashboard .detail-grid,
  body.v2-detail-dashboard .contacts-priority .contact-priority-grid {
    grid-template-columns: 1fr;
  }

  body.v2-detail-dashboard .contacts-priority,
  body.v2-detail-dashboard .detail-card.wide,
  body.v2-detail-dashboard .tariff-detail-card,
  body.v2-detail-dashboard .tariff-visual-v3,
  body.v2-detail-dashboard .operational-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  body.v2-detail-dashboard .responsibles-block .contact-priority-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.v2-detail-dashboard .responsibles-block .contact-priority-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Detalle móvil v4.4 · menos contenedores y más superficie útil
   Aplica solo a las páginas de detalle ES/PT/IT.
   ========================================================================== */
@media (max-width: 680px) {
  body.v2-detail-dashboard {
    background: #ffffff;
  }

  /* En detalle móvil, la navegación de países pasa de columna larga a barra compacta. */
  body.v2-detail-dashboard .v2-sidebar {
    position: sticky;
    top: 0;
    z-index: 30;
    width: 100%;
    padding: 10px 10px 9px;
    border-right: 0;
    border-bottom: 1px solid #e0e9ee;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
  }

  body.v2-detail-dashboard .v2-brand,
  body.v2-detail-dashboard .v2-side-label,
  body.v2-detail-dashboard .v2-sidebar-bottom,
  body.v2-detail-dashboard .v2-account-card {
    display: none !important;
  }

  body.v2-detail-dashboard .v2-country-nav-icons,
  body.v2-detail-dashboard .v2-country-nav {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.v2-detail-dashboard .v2-country-nav-icons .country-icon-link,
  body.v2-detail-dashboard .v2-country-item {
    min-height: 52px !important;
    padding: 7px 6px !important;
    gap: 5px !important;
    justify-content: center;
    flex-direction: column;
    border-radius: 12px;
    font-size: .78rem;
    line-height: 1.1;
    text-align: center;
  }

  body.v2-detail-dashboard .v2-country-nav-icons .country-icon-link.active {
    box-shadow: inset 0 -3px 0 var(--brand-accent, #ff5800);
  }

  body.v2-detail-dashboard .v2-country-nav-icons .country-icon-link.active::before,
  body.v2-detail-dashboard .country-arrow {
    display: none !important;
  }

  body.v2-detail-dashboard .country-icon-circle {
    width: 30px;
    height: 30px;
    min-width: 30px;
  }

  body.v2-detail-dashboard .country-icon-circle img {
    width: 21px;
    height: 21px;
  }

  /* El contenido deja de ir dentro de una caja estrecha con márgenes dobles. */
  body.v2-detail-dashboard.has-country-sidebar .detail-main-shell,
  body.v2-detail-dashboard .v2-main-shell {
    margin-left: 0;
    padding: 0 0 24px !important;
    background: #ffffff;
  }

  body.v2-dashboard.has-country-sidebar .detail-page,
  body.v2-detail-dashboard .detail-page.container,
  body.v2-detail-dashboard main.detail-page {
    width: 100% !important;
    padding: 0 !important;
  }

  body.v2-detail-dashboard #detalle {
    width: 100%;
  }

  /* Cabecera compacta: conserva la identidad, pero elimina el efecto caja dentro de caja. */
  body.v2-detail-dashboard .detail-hero {
    max-width: none;
    margin: 0;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    box-shadow: none;
    padding: 14px 12px 16px;
    gap: 12px;
  }

  body.v2-detail-dashboard .detail-title-wrap {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 10px;
    align-items: start;
  }

  body.v2-detail-dashboard .detail-main-pin {
    width: 42px;
    height: 42px;
    border-radius: 12px;
  }

  body.v2-detail-dashboard .detail-main-pin svg {
    width: 24px;
    height: 24px;
  }

  body.v2-detail-dashboard .detail-title-wrap h1 {
    font-size: clamp(1.55rem, 7vw, 2.05rem);
    line-height: 1.08;
    letter-spacing: -.03em;
  }

  body.v2-detail-dashboard .detail-title-wrap p {
    margin-top: 5px;
    font-size: .95rem;
    font-weight: 650;
  }

  body.v2-detail-dashboard .detail-operator {
    grid-column: 2;
    justify-self: start;
    padding: 7px 10px;
    border-radius: 10px;
    font-size: .82rem;
    max-width: 100%;
    white-space: normal;
  }

  /* Métricas en 2 columnas para evitar tarjetas verticales demasiado largas. */
  body.v2-detail-dashboard .detail-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px;
  }

  body.v2-detail-dashboard .detail-metric {
    min-height: 58px;
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 8px;
    padding: 9px 10px;
    border-radius: 12px;
    box-shadow: none;
  }

  body.v2-detail-dashboard .detail-metric span {
    width: 30px;
    height: 30px;
  }

  body.v2-detail-dashboard .detail-metric span svg {
    width: 16px;
    height: 16px;
  }

  body.v2-detail-dashboard .detail-metric small {
    font-size: .72rem;
    line-height: 1.15;
  }

  body.v2-detail-dashboard .detail-metric strong {
    font-size: .94rem;
    line-height: 1.15;
  }

  /* Mapa y bloques principales a ancho completo, con solo el respiro necesario. */
  body.v2-detail-dashboard .detail-map-card,
  body.v2-detail-dashboard .detail-grid {
    max-width: none;
    width: calc(100% - 20px);
    margin-left: 10px;
    margin-right: 10px;
  }

  body.v2-detail-dashboard .detail-map-card {
    margin-top: 10px;
    min-height: 190px;
    border-radius: 12px;
    box-shadow: none;
  }

  body.v2-detail-dashboard .detail-map-card iframe {
    height: 200px;
  }

  body.v2-detail-dashboard .map-open-button {
    right: 10px;
    bottom: 10px;
    padding: 8px 10px;
    border-radius: 9px;
    font-size: .78rem;
  }

  body.v2-detail-dashboard .detail-grid {
    grid-template-columns: 1fr !important;
    gap: 10px;
    margin-top: 10px;
  }

  body.v2-detail-dashboard .detail-card,
  body.v2-detail-dashboard .tariff-detail-card,
  body.v2-detail-dashboard .tariff-visual-v3,
  body.v2-detail-dashboard .operational-card {
    min-height: 0;
    padding: 12px;
    border-radius: 12px;
    box-shadow: none;
  }

  body.v2-detail-dashboard .detail-card-title {
    margin-bottom: 10px;
  }

  body.v2-detail-dashboard .detail-card-icon {
    width: 28px;
    height: 28px;
  }

  body.v2-detail-dashboard .detail-list {
    gap: 0;
  }

  body.v2-detail-dashboard .detail-row {
    padding: 7px 0;
  }

  body.v2-detail-dashboard .contact-priority-grid,
  body.v2-detail-dashboard .contacts-priority .contact-priority-grid,
  body.v2-detail-dashboard .responsibles-block .contact-priority-grid,
  body.v2-detail-dashboard .operational-columns {
    grid-template-columns: 1fr !important;
    gap: 8px;
  }

  body.v2-detail-dashboard .contact-tile,
  body.v2-detail-dashboard .operational-box,
  body.v2-detail-dashboard .tariff-visual-v3 .vehicle-tariff-card,
  body.v2-detail-dashboard .tariff-main-panel,
  body.v2-detail-dashboard .tariff-simulator-block #price-simulator.simulator-card,
  body.v2-detail-dashboard .tariff-simulator-block .simulator-card {
    border-radius: 10px;
    padding: 10px;
    box-shadow: none;
  }
}

@media (max-width: 360px) {
  body.v2-detail-dashboard .detail-metrics {
    grid-template-columns: 1fr !important;
  }
}
