.maintenance-rates { padding-block: 42px 44px; }
.rates-heading { margin-bottom: 30px; }
.rates-heading h1, .maintenance-rates > h1 { margin: 0 0 8px; font-size: 32px; line-height: 1.2; letter-spacing: -.025em; font-weight: 650; }
.rates-panel { display: grid; grid-template-columns: 258px minmax(0, 1fr); align-items: start; gap: 20px 40px; }
.rates-controls { grid-column: 1; grid-row: 1; position: sticky; top: 24px; display: flex; flex-direction: column; gap: 24px; min-width: 0; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.rates-controls label { color: var(--muted); font-size: 11px; font-weight: 600; }
.rates-controls select { display: block; width: 100%; min-height: 48px; margin-top: 8px; padding: 11px 32px 11px 10px; border: 1px solid #adc0d3; border-radius: 4px; background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' stroke='%23263d52' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 10px center; appearance: none; color: var(--ink); font: inherit; font-size: 13px; font-weight: 500; text-overflow: ellipsis; cursor: pointer; transition: border-color 160ms ease-out; }
.rates-controls select:hover { border-color: var(--accent); }
.rates-updated { margin: 0; color: var(--ink); font-size: 12px; line-height: 1.8; font-weight: 700; }
.rates-updated time { font-variant-numeric: tabular-nums; }
.rates-cache-note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.rates-branch-details { color: var(--muted); font-size: 12px; line-height: 1.7; }
.rates-branch-details p { margin: 0; }
.rates-branch-details strong { display: block; margin-bottom: 10px; font-weight: 600; }
.rates-branch-details .is-open { color: var(--accent); }
.rates-branch-details .is-closed { color: var(--red); }
.rates-hours { display: grid; gap: 12px; }
.rates-table-scroll { grid-column: 2; grid-row: 1; min-width: 0; overflow-x: auto; scrollbar-color: #90abc4 var(--surface); }
.maintenance-rates table { width: 100%; border-collapse: collapse; table-layout: fixed; font-variant-numeric: tabular-nums; }
.maintenance-rates th, .maintenance-rates td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: right; vertical-align: middle; line-height: 1.5; }
.maintenance-rates th:first-child { width: 54%; padding-left: 12px; text-align: left; }
.maintenance-rates thead { background: var(--surface); }
.maintenance-rates thead th { padding-block: 11px; font-size: 11px; font-weight: 600; }
.maintenance-rates thead th span[lang] { white-space: nowrap; }
.maintenance-rates thead th span[aria-hidden] { color: #748ba0; }
.maintenance-rates tbody th { font-weight: 400; }
.maintenance-rates td { font-size: 15px; font-weight: 700; }
.maintenance-rates tbody tr { transition: background-color 160ms ease-out; }
.maintenance-rates tbody tr:hover, .maintenance-rates tbody tr:focus-within { background: #f1f7fc; }
.rates-currency { display: grid; grid-template-columns: 26px 38px minmax(0, 1fr); align-items: center; gap: 10px; }
.rates-currency img { width: 26px; height: 26px; }
.rates-currency strong { font-size: 14px; font-weight: 650; }
.rates-currency span { color: var(--muted); font-size: 12px; }
.rates-notes { grid-column: 2; grid-row: 2; display: grid; gap: 6px; margin-top: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.rates-notes p { margin: 0; }
@media (max-width: 1050px) {
  .rates-panel { grid-template-columns: 236px minmax(0, 1fr); gap: 20px 24px; }
  .rates-controls { padding: 16px; }
  .rates-currency { grid-template-columns: 24px minmax(0, 1fr); gap: 8px; }
  .rates-currency img { grid-column: 1; grid-row: 1 / span 2; width: 24px; height: 24px; }
  .rates-currency strong { grid-column: 2; grid-row: 1; }
  .rates-currency span { grid-column: 2; grid-row: 2; font-size: 11px; }
  .maintenance-rates th:first-child { width: 46%; }
  .maintenance-rates thead th span[lang] { display: block; }
  .maintenance-rates thead th span[aria-hidden] { display: none; }
}
@media (max-width: 800px) {
  .rates-panel { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .rates-controls { position: static; grid-column: 1; grid-row: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 24px; }
  .rates-branch-details, .rates-cache-note { grid-column: 1 / -1; }
  .rates-hours { display: flex; flex-wrap: wrap; gap: 12px 20px; }
  .rates-hours span { flex: 1 1 180px; }
  .rates-table-scroll { grid-column: 1; grid-row: 2; }
  .rates-notes { grid-column: 1; grid-row: 3; }
  .rates-currency { display: flex; gap: 10px; }
  .rates-currency span { font-size: 12px; }
  .maintenance-rates thead th span[lang] { display: inline; }
  .maintenance-rates thead th span[aria-hidden] { display: inline; }
}
@media (max-width: 640px) {
  .maintenance-rates { padding-block: 30px 32px; }
  .rates-heading { margin-bottom: 22px; }
  .rates-heading h1, .maintenance-rates > h1 { font-size: 26px; }
  .rates-controls { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .rates-controls select { font-size: 14px; }
  .rates-controls label { font-size: 12px; }
  .rates-updated br { display: none; }
  .rates-updated time { display: block; }
  .rates-hours { display: grid; gap: 10px; }
  .maintenance-rates th, .maintenance-rates td { padding: 13px 9px; }
  .maintenance-rates th:first-child { width: 38%; padding-left: 8px; }
  .maintenance-rates thead th { font-size: 10px; }
  .maintenance-rates thead th span[lang] { display: block; }
  .maintenance-rates thead th span[aria-hidden] { display: none; }
  .maintenance-rates td { font-size: 14px; }
  .rates-currency { gap: 8px; }
  .rates-currency img { width: 22px; height: 22px; }
  .rates-currency strong { font-size: 13px; }
  .rates-currency span { display: none; }
}
@media print {
  .rates-panel { grid-template-columns: 1fr; }
  .rates-controls { position: static; grid-column: 1; grid-row: 1; background: white; }
  .rates-table-scroll { grid-column: 1; grid-row: 2; }
  .rates-notes { grid-column: 1; grid-row: 3; }
  .maintenance-rates tr { break-inside: avoid; }
}
