/* Dedicated IVA panel. No shared KPI or chart styles are changed. */
.vat-control {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  padding: 21px 22px 0;
  border: 1px solid #dce4ee;
  border-radius: 16px;
  background: #fff;
  color: #253b53;
  box-shadow: 0 3px 12px #173b6408;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
}
.vat-control *, .vat-control *::before, .vat-control *::after { box-sizing: border-box; }
.vat-control .vat-control__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 0 0 18px; }
.vat-control .vat-control__header h2 { margin: 0; padding: 0; font-size: 18px; font-weight: 750; line-height: 1.4; letter-spacing: -.2px; color: #1c3450; }
.vat-control .vat-control__period { margin: 5px 0 0; font-size: 13px; color: #5b6d80; }
.vat-control .vat-control__badge { flex-shrink: 0; display: inline-block; margin: 1px 0 0; padding: 4px 10px; border: 1px solid #e5d5b2; border-radius: 999px; background: #fff8e9; color: #805616; font-size: 12.5px; font-weight: 650; line-height: 1.4; }
.vat-control .vat-control__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; }
.vat-control .vat-control__metric { min-width: 0; margin: 0; padding: 15px 16px; border: 1px solid #e7edf3; border-radius: 11px; background: #f8fafc; }
.vat-control .vat-control__metric dt { margin: 0 0 7px; padding: 0; font-size: 12.5px; font-weight: 600; color: #50647a; line-height: 1.5; }
.vat-control .vat-control__value { margin: 0; padding: 0; font-size: 21px; font-weight: 750; line-height: 1.3; letter-spacing: -.35px; color: #213a56; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.vat-control .vat-control__value--credit { color: #08724f; }
.vat-control .vat-control__value--payable { color: #97600b; }
.vat-control .vat-control__value--pending { color: #65768a; font-size: 18px; font-weight: 600; }
.vat-control .vat-control__note { margin: 15px 0 16px; padding: 0; font-size: 13px; color: #5b6d80; line-height: 1.55; }
.vat-control .vat-control__details { margin: 0; padding: 0; border-top: 1px solid #e5ebf2; }
.vat-control .vat-control__details > summary { display: list-item; width: fit-content; margin: 0; padding: 13px 2px 15px; cursor: pointer; font-size: 13px; font-weight: 650; color: #24588f; list-style-position: inside; }
.vat-control .vat-control__details > summary::marker { color: #47729e; }
.vat-control .vat-control__details > summary:hover { color: #123e70; }
.vat-control .vat-control__details > summary:focus-visible, .vat-control .vat-control__table-wrap:focus-visible { outline: 2px solid #266aca; outline-offset: 3px; border-radius: 4px; }
.vat-control .vat-control__detail-content { padding: 2px 0 19px; }
.vat-control .vat-control__breakdown { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 14px; padding: 0; }
.vat-control .vat-control__breakdown > div { min-width: 0; }
.vat-control .vat-control__breakdown dt { margin: 0 0 4px; font-size: 13px; font-weight: 400; color: #5b6d80; }
.vat-control .vat-control__breakdown dd { margin: 0; font-size: 15px; font-weight: 650; color: #2a435f; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.vat-control .vat-control__formula, .vat-control .vat-control__support, .vat-control .vat-control__period-detail { margin: 9px 0 0; padding: 0; font-size: 13px; line-height: 1.6; color: #5b6d80; }
.vat-control .vat-control__reconciliation { margin: 12px 0 0; padding: 9px 12px; border-left: 3px solid #d0a657; border-radius: 0 5px 5px 0; background: #fffbf2; color: #805b20; font-size: 13px; line-height: 1.6; }
.vat-control .vat-control__table-wrap { max-width: 100%; margin: 17px 0; overflow-x: auto; }
.vat-control .vat-control__table { width: 100%; min-width: 850px; margin: 0; border-collapse: collapse; font-size: 13px; line-height: 1.5; }
.vat-control .vat-control__table caption { padding: 0 0 9px; color: #2a435f; text-align: left; font-weight: 650; }
.vat-control .vat-control__table th, .vat-control .vat-control__table td { padding: 10px 12px; border-bottom: 1px solid #e6edf4; text-align: right; font-variant-numeric: tabular-nums; }
.vat-control .vat-control__table th { color: #50647a; font-weight: 600; }
.vat-control .vat-control__table thead th { background: #f8fafc; }
.vat-control .vat-control__table th:first-child { text-align: left; white-space: nowrap; }
.vat-control.vat-control--pending { padding: 16px 20px; color: #5b6d80; }
.vat-control.vat-control--pending > p { margin: 0; font-size: 13px; }

/* Keep the profit action in the card flow; hide its decorative overlapping ring. */
body #route-dashboard #homeProfitCard #premiumProfitChart { display: none !important; }
body #route-dashboard #homeProfitCard .n106-profit-action { position: static !important; inset: auto !important; width: auto !important; margin-top: auto !important; padding: 12px 0 0 !important; font-size: 13px !important; line-height: 1.45; }
body #route-dashboard #homeProfitCard > small { max-width: 100%; font-size: 13px !important; line-height: 1.5; overflow-wrap: anywhere; }
body #route-dashboard #homeProfitCard > .home-kpi-label { font-size: 12.5px !important; }
body #route-dashboard #homeProfitCard > #kpiMonthProfitCoverage:empty { display: none; }

@media (max-width: 1120px) {
  .vat-control .vat-control__metrics, .vat-control .vat-control__breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .vat-control { padding: 17px 16px 0; border-radius: 13px; }
  .vat-control .vat-control__header { gap: 10px; margin-bottom: 15px; }
  .vat-control .vat-control__metrics, .vat-control .vat-control__breakdown { grid-template-columns: 1fr; gap: 10px; }
  .vat-control .vat-control__metric { padding: 13px 14px; }
  .vat-control .vat-control__period { max-width: 24ch; }
  .vat-control .vat-control__breakdown > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
  .vat-control .vat-control__breakdown dd { text-align: right; }
}
