.overview-disclosure {
  margin-bottom: 14px;
}

.weekly-movement-signal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 14px 0 16px;
  padding: 14px 18px;
  border: 1px solid #d9e4ea;
  border-left: 4px solid #68849b;
  border-radius: 12px;
  background: #f7fafb;
  color: #304354;
}

.weekly-movement-signal.status-hot {
  border-color: #c9e8d9;
  border-left-color: #188455;
  background: #f1faf5;
  color: #176a45;
}

.weekly-movement-signal.status-cold {
  border-color: #f0d7d0;
  border-left-color: #d3533c;
  background: #fff7f5;
  color: #ae4435;
}

.weekly-movement-signal.status-steady {
  border-color: #d4e3ed;
  border-left-color: #3e7899;
  background: #f5fafd;
  color: #32627d;
}

.weekly-movement-description,
.weekly-movement-values {
  display: grid;
  gap: 2px;
}

.weekly-movement-description > span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.weekly-movement-description > strong { font-size: 18px; }
.weekly-movement-description > small,
.weekly-movement-values > span,
.weekly-movement-values > small,
.weekly-movement-signal > p { font-size: 11px; }
.weekly-movement-description > small,
.weekly-movement-values > small { color: #6c7c88; }
.weekly-movement-values { text-align: right; }
.weekly-movement-values > b { font-size: 22px; line-height: 1.1; }
.weekly-movement-signal > p { margin: 0; color: #6c7c88; }

.objective-monthly-trend {
  display: block;
  margin-top: 3px;
  color: #526b7b;
  font-size: 11px;
  font-weight: 700;
}

.objective-ticket-comparison {
  display: grid;
  gap: 11px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid #e0e7eb;
  border-radius: 14px;
  background: #f8fafb;
}
.objective-ticket-comparison > header,
.objective-ticket-impact-list article > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.objective-ticket-comparison > header > div { display: grid; gap: 3px; }
.objective-ticket-comparison > header span {
  color: #b5232b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}
.objective-ticket-comparison > header strong { color: #293947; font-size: 16px; }
.objective-ticket-comparison > header > small,
.objective-ticket-method,
.objective-ticket-impact-list small { color: #74818c; font-size: 11px; }
.objective-ticket-comparison > p { margin: 0; color: #536471; font-size: 12px; }
.objective-ticket-impact-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.objective-ticket-impact-list article { display: grid; gap: 4px; min-width: 0; padding: 11px; border: 1px solid #efd8d9; border-radius: 10px; background: #fff; }
.objective-ticket-impact-list article b { color: #334452; font-size: 12px; }
.objective-ticket-impact-list article strong { color: #bd3038; font-size: 11px; text-align: right; }
.objective-ticket-method { display: block; }

@media (max-width: 700px) {
  .weekly-movement-signal { align-items: flex-start; flex-direction: column; }
  .weekly-movement-values { text-align: left; }
  .objective-ticket-comparison > header { align-items: flex-start; flex-direction: column; }
  .objective-ticket-impact-list { grid-template-columns: 1fr; }
}

.history-filter-hint {
  display: block;
  margin-top: 5px;
  color: #71808c;
  font-size: 11px;
  line-height: 1.35;
}
.history-filter-error { color: #c53030; }
.history-month-notice {
  display: flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 9px;
  padding: 5px 9px;
  border: 1px solid #dbe5eb;
  border-radius: 8px;
  background: #f7fafb;
  color: #516579;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
}

.overview-disclosure > summary {
  list-style: none;
  cursor: pointer;
}

.overview-disclosure > summary::-webkit-details-marker {
  display: none;
}

.overview-disclosure-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 52px;
  margin: 0;
}

.overview-disclosure-heading::after {
  content: "⌄";
  color: #647381;
  font-size: 22px;
  line-height: 1;
  transition: transform 0.18s ease;
}

.overview-disclosure[open] > .overview-disclosure-heading::after {
  transform: rotate(180deg);
}

.overview-disclosure-heading > span:first-child {
  display: grid;
  gap: 3px;
}

.overview-disclosure-heading > span:first-child > small {
  color: #b5232b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.overview-disclosure-heading > span:first-child > strong {
  color: #26343f;
  font-size: 17px;
  letter-spacing: -0.025em;
}

.management-alerts.overview-disclosure > summary {
  align-items: center;
}

.management-alerts.overview-disclosure > summary > div {
  flex: 1;
}

.management-alerts.overview-disclosure[open] > summary,
.high-value-360-panel.overview-disclosure[open] > summary {
  margin-bottom: 16px;
}

.management-alerts.overview-disclosure > .management-alert-grid {
  padding-top: 3px;
}

.high-value-360-panel.overview-disclosure > summary > span:first-child {
  flex: 1;
}

.composition-disclosure {
  padding: 16px 18px;
  border: 1px solid #e1e7ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 22px #1d26300b;
}

.composition-disclosure[open] > summary {
  margin-bottom: 16px;
}

.composition-disclosure .dashboard-grid {
  margin: 0;
}

.module-360 > .executive-summary-360 {
  width: min(100%, 980px);
  justify-self: start;
  gap: 9px;
  padding: 10px 12px;
}

.module-360 .executive-summary-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
}

.module-360 .executive-summary-copy > strong {
  margin-top: 1px;
  font-size: 14px;
}

.module-360 .executive-summary-copy p {
  margin-top: 2px;
  font-size: 9.5px;
  line-height: 1.35;
}

.module-360 .executive-summary-indicators > div {
  padding: 6px 8px;
}

.participation-disclosure {
  padding: 12px 16px;
  border: 1px solid #e1e7ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 22px #1d26300b;
}

.participation-disclosure[open] > summary {
  margin-bottom: 8px;
}

.participation-disclosure .participation-panel {
  border: 0;
  box-shadow: none;
  padding: 8px 0 0;
}

.module-360 > .management-alerts {
  order: 100;
}

.module-360 > .composition-disclosure {
  order: 101;
}

.module-360 > .vehicle-segment-panel {
  order: 102;
}

.module-360 > .extra-analyses-disclosure {
  order: 100;
  padding: 12px 18px;
  border: 1px solid #dce5e9;
  border-radius: 16px;
  background: #fff;
}

.extra-analyses-disclosure > summary {
  min-height: 42px;
}

.extra-analyses-disclosure[open] > summary {
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5ecef;
}

.extra-analyses-disclosure > .overview-disclosure,
.extra-analyses-disclosure > .objectives-simulator {
  margin: 0 0 8px;
  box-shadow: none;
}

.extra-analyses-disclosure > .overview-disclosure:last-child {
  margin-bottom: 0;
}

.module-360 {
  grid-template-columns: minmax(0, 1fr);
}

.table-360 .goal-gap-cell {
  font-weight: 800;
  white-space: nowrap;
  min-width: 108px;
  color: #ad5e12;
}

.table-360 .goal-gap-cell.goal-met {
  color: #16805b;
}

.washings-360-panel {
  background: #fff;
  border-color: #dfe8ec;
  padding: 18px;
  min-width: 0;
  overflow: visible;
}

.washings-360-panel::before {
  display: none;
}

.washings-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 8px;
}

.washings-summary-grid > article,
.washings-summary-grid > article.washings-total-card {
  min-height: 64px;
  padding: 8px 11px;
  border: 1px solid #e5ebee;
  border-radius: 10px;
  background: #fbfcfd;
  box-shadow: none;
  gap: 1px;
}

.washings-summary-grid > article.washings-total-card {
  background: #f5fafb;
  border-color: #dbe9ed;
  gap: 8px;
}

.washings-total-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  color: #438096;
  background: #e9f3f5;
}

.washings-total-icon svg { width: 17px; height: 17px; }
.washings-total-card > div { gap: 1px; }

.washings-summary-grid > article.washings-total-card strong,
.washings-summary-grid > article.washings-total-card span,
.washings-summary-grid > article.washings-total-card small {
  color: #24424c;
}

.washings-summary-grid > article > span,
.washings-summary-grid > article.washings-total-card > div > span {
  color: #788994;
  font-size: 8px;
  letter-spacing: .055em;
}

.washings-summary-grid > article > strong,
.washings-summary-grid > article.washings-total-card > div > strong {
  color: #344b57;
  font-size: 19px;
  line-height: 1;
}

.washings-summary-grid > article > small,
.washings-summary-grid > article.washings-total-card > div > small {
  color: #8999a2;
  font-size: 8px;
  line-height: 1.2;
}

.washing-general-funnel,
.wash-financial-summary {
  background: #fff;
  border: 1px solid #e1e8ec;
  border-radius: 14px;
  padding: 14px;
  margin-bottom: 12px;
}

.washing-general-funnel {
  gap: 8px;
  padding: 10px 12px;
  border-color: #e6ecef;
  background: #fbfcfd;
}

.washing-general-funnel > header {
  align-items: center;
  gap: 8px;
}

.washing-general-funnel > header div { gap: 0; }
.washing-general-funnel > header span { color: #7c8b95; font-size: 8px; letter-spacing: .07em; }
.washing-general-funnel > header strong { color: #4a5d68; font-size: 12px; font-weight: 750; }
.washing-general-funnel > header > small { display: none; }

.washing-general-funnel-flow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.washing-general-funnel-item > button {
  min-height: 58px;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  border: 1px solid #e2e9ed;
  border-left: 2px solid #a4b4be;
  border-radius: 9px;
  background: #fff;
  box-shadow: none;
}

.washing-general-funnel-item.stage-2 > button,
.washing-general-funnel-item.stage-3 > button,
.washing-general-funnel-item.stage-4 > button { background: #fff; border-top-color: #e2e9ed; }
.washing-general-funnel-item.stage-2 > button { border-left-color: #8fbfc6; }
.washing-general-funnel-item.stage-3 > button { border-left-color: #d5a4a7; }
.washing-general-funnel-item.stage-4 > button { border-left-color: #c58e93; }
.washing-general-funnel-item > button:hover { transform: none; border-color: #cad8df; box-shadow: 0 3px 9px #2a48530e; }
.washing-general-funnel-item .washing-funnel-step { width: 22px; height: 22px; border-radius: 7px; font-size: 9px; }
.washing-general-funnel-item .washing-funnel-copy { gap: 1px; }
.washing-general-funnel-item .washing-funnel-copy small { display: none; }
.washing-general-funnel-item .washing-funnel-copy em { width: auto; padding: 0; background: none; color: #81909a; font-size: 9px; font-weight: 500; }

.washing-general-funnel-item > button > b {
  grid-column: auto;
  font-size: 18px;
  line-height: 1;
}

.washing-general-funnel-item .washing-funnel-copy strong {
  white-space: normal;
  color: #435660;
  font-size: 11px;
  font-weight: 750;
}

.washing-funnel-arrow {
  display: none;
}

.wash-financial-summary {
  background: #fbfcfd;
}

.wash-technician-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 6px 0 10px;
}

.wash-technician-heading strong {
  color: #263b44;
  font-size: 16px;
}

.wash-technician-heading small {
  color: #74848d;
  font-size: 11px;
}

.wash-mobile-hint {
  display: none;
}

.wash-technician-grid {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(190px, 1fr);
  gap: 9px;
  min-width: 0;
  width: 100%;
  overflow-x: auto;
  padding-bottom: 5px;
  scroll-snap-type: x proximity;
}

.wash-technician-card {
  padding: 11px;
  gap: 7px;
  border-color: #dfe8ec;
  border-radius: 11px;
  background: #fbfcfd;
  box-shadow: none;
  scroll-snap-align: start;
}

.wash-technician-card header strong {
  display: -webkit-box;
  overflow: hidden;
  white-space: normal;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 11px;
  line-height: 1.2;
}

.wash-technician-card header small {
  font-size: 9px;
}

.wash-technician-result strong {
  font-size: 23px;
}

.wash-technician-result > span,
.wash-technician-result small {
  font-size: 9px;
}

.wash-technician-track {
  height: 4px;
}

.wash-technician-financials {
  display: grid;
  gap: 3px;
  padding-top: 7px;
}

.wash-technician-financials > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px;
}

.wash-technician-financials span,
.wash-technician-financials small {
  color: #70818c;
  font-size: 9px;
}

.wash-technician-financials strong {
  color: #344b54;
  font-size: 12px;
}

.wash-technician-financials > .wash-technician-forecast {
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
}

.wash-technician-forecast strong {
  font-size: 10px;
  white-space: nowrap;
}

.wash-technician-forecast strong.is-on-track {
  color: #168055;
}

.wash-technician-forecast strong.is-below-target {
  color: #bd6e0b;
}

.wash-technician-financials .wash-technician-daily-goal {
  align-items: stretch;
  border-top: 1px solid #e6ecef;
  flex-direction: column;
  gap: 2px;
  margin-top: 3px;
  padding-top: 5px;
}

.wash-technician-daily-goal-main {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px;
}

.wash-technician-daily-goal strong {
  color: #177f91;
  white-space: nowrap;
}

.wash-technician-daily-goal.is-met strong {
  color: #168055;
}

.wash-technician-daily-goal.is-ended strong {
  color: #bd6e0b;
}

.categories-360-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.strategic-panel-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.strategic-panel-actions .secondary-button {
  white-space: nowrap;
  min-height: 36px;
}

.categories-360-grid .category-card {
  align-items: stretch;
  min-width: 0;
  gap: 4px;
  padding: 11px 9px;
}

.categories-360-grid .category-card > span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
}

.categories-360-grid .strategic-card-title {
  align-items: center;
  display: flex;
  gap: 5px;
}

.categories-360-grid .strategic-card-title > span:last-child {
  font-size: 10px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.categories-360-grid .strategic-card-icon {
  align-items: center;
  color: #9aa6af;
  display: inline-flex;
  flex: none;
  height: 16px;
  justify-content: center;
  width: 16px;
}

.categories-360-grid .category-card > strong {
  font-size: clamp(17px, 1.5vw, 24px);
}

.categories-360-grid .category-card > small {
  font-size: 10px;
}

.strategic-card-ranking {
  display: grid;
  gap: 2px;
  width: 100%;
  margin-top: 2px;
  padding-top: 7px;
  border-top: 1px solid #e6eaee;
}

.strategic-card-ranking-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  margin-bottom: 2px;
}

.strategic-card-ranking-heading > strong {
  color: #425460;
  font-size: 9px;
}

.strategic-card-ranking-heading > b,
.strategic-ranking-basis {
  border-radius: 999px;
  padding: 3px 5px;
  font-size: 8px;
  font-weight: 800;
  white-space: nowrap;
}

.strategic-card-ranking-heading > b.basis-quantity,
.strategic-ranking-basis.basis-quantity {
  background: #e7f6ef;
  color: #168055;
}

.strategic-card-ranking-heading > b.basis-value,
.strategic-ranking-basis.basis-value {
  background: #e9f0f6;
  color: #40566f;
}

.strategic-card-rank-row {
  display: grid;
  grid-template-columns: 15px minmax(0, 1fr);
  align-items: center;
  gap: 1px 4px;
  padding: 3px 0;
  border-bottom: 1px solid #edf0f2;
}

.strategic-card-rank-row:last-of-type {
  border-bottom: 0;
}

.strategic-card-rank-position {
  color: #c71925;
  font-size: 9px;
  font-weight: 850;
}

.strategic-card-rank-name {
  min-width: 0;
  overflow: hidden;
  color: #354450;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strategic-card-rank-metrics {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px;
}

.strategic-card-rank-metrics small {
  color: #778590;
  font-size: 8px;
  font-weight: 700;
}

.strategic-card-rank-metrics small.is-primary {
  border-radius: 5px;
  background: #e9f0f6;
  color: #40566f;
  padding: 1px 4px;
  font-weight: 850;
}

.strategic-card-ranking.basis-quantity .strategic-card-rank-metrics .is-primary {
  background: #e7f6ef;
  color: #168055;
}

.strategic-card-ranking-empty {
  color: #87939c;
  font-size: 10px;
  padding: 8px 0;
}

.categories-360-grid .category-detail-hint {
  margin-top: auto;
  padding-top: 5px;
  font-size: 9px;
}

.strategic-export-copy .categories-360-grid .category-card > strong {
  font-size: 23px;
}

.strategic-export-copy .strategic-card-rank-name {
  font-size: 11px;
}

@media (max-width: 1100px) {
  .strategic-360-panel:not(.strategic-export-copy) .categories-360-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .strategic-360-panel:not(.strategic-export-copy) .categories-360-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .strategic-panel-actions {
    flex-wrap: wrap;
  }
}

.person-commission-locked {
  display: grid;
  gap: 10px;
}

.person-commission-locked .person-commission-heading {
  justify-content: space-between;
  align-items: center;
}

.person-commission-locked .person-commission-heading > span {
  border-radius: 999px;
  background: #e9f0f2;
  color: #516774;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 10px;
}

.person-commission-locked p {
  color: #657783;
  font-size: 13px;
  margin: 0;
}

.person-commission-unlock {
  display: flex;
  gap: 8px;
  max-width: 550px;
}

.person-commission-unlock input {
  min-width: 0;
  flex: 1;
  background: #fff;
  border: 1px solid #d6e1e6;
  border-radius: 9px;
  padding: 10px 12px;
}

.person-commission-unlock button {
  background: #d71920;
  border-radius: 9px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 10px 14px;
}

.person-commission-unlock button:disabled {
  opacity: 0.55;
}

.person-commission-error {
  color: #b91c1c;
  font-size: 12px;
}

@media (max-width: 560px) {
  .person-commission-unlock {
    flex-direction: column;
  }
}

.wash-technician-card[role="button"]:hover {
  transform: none;
  border-color: #9bb7c0;
  box-shadow: 0 5px 15px #1c49560c;
}

.store-multi-filter {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.store-multi-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.store-multi-heading strong {
  color: #687582;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.store-multi-heading .text-button {
  font-size: 11px;
}

.store-multi-options {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 6px;
  max-height: 118px;
  overflow-y: auto;
  padding: 9px;
  border: 1px solid #dce3ea;
  border-radius: 11px;
  background: #fff;
}

.store-multi-options label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border: 1px solid #e1e7ed;
  border-radius: 7px;
  color: #354658;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.store-multi-options label:has(input:checked) {
  border-color: #c9252d;
  background: #fff2f3;
  color: #aa1b23;
}

.store-multi-options input {
  accent-color: #c9252d;
}

.store-multi-filter small {
  color: #718090;
  font-size: 10px;
}

.people-multi-filter .store-multi-options {
  max-height: 146px;
}

.people-multi-filter .store-multi-options label {
  width: 100%;
  min-width: 0;
  font-weight: 600;
}

.people-multi-filter .store-multi-options label span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* The primary modules and their views share one compact left navigation. */
.app-shell {
  padding-left: 66px;
}

.app-shell > .topbar {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 72px;
}

.app-shell > .topbar .module-switch,
.app-shell > .subnav {
  display: none;
}

.side-navigation {
  position: fixed;
  z-index: 85;
  top: 72px;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 66px;
  padding: 12px 8px 16px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
  border-right: 1px solid #e2e7ec;
  background: #fff;
  box-shadow: 5px 0 22px #26374609;
  transition: width 180ms ease, box-shadow 180ms ease;
}

.side-navigation::-webkit-scrollbar {
  display: none;
}

.side-navigation:hover,
.side-navigation.is-open,
.side-navigation:has(:focus-visible) {
  width: 248px;
  box-shadow: 10px 0 30px #26374620;
}

.side-navigation .sidebar-toggle,
.side-navigation .module-switch button,
.side-navigation .subnav button,
.side-navigation .sidebar-import-button,
.side-navigation .filters-floating-toggle {
  position: relative;
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 48px;
  min-height: 42px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #607180;
  box-shadow: none;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
  transition: background 150ms ease, color 150ms ease;
}

.side-navigation .sidebar-toggle:hover,
.side-navigation .module-switch button:hover,
.side-navigation .subnav button:hover,
.side-navigation .sidebar-import-button:hover,
.side-navigation .filters-floating-toggle:hover {
  transform: none;
  background: #f4f7f9;
  color: #243746;
  box-shadow: none;
}

.side-navigation .sidebar-toggle svg,
.side-navigation .module-switch button svg,
.side-navigation .subnav button svg,
.side-navigation .sidebar-import-button svg,
.side-navigation .filters-floating-toggle svg {
  flex: none;
}

.side-navigation .sidebar-label {
  visibility: hidden;
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-navigation:hover .sidebar-label,
.side-navigation.is-open .sidebar-label,
.side-navigation:has(:focus-visible) .sidebar-label {
  visibility: visible;
  max-width: 178px;
  opacity: 1;
}

.side-navigation:hover .sidebar-toggle,
.side-navigation:hover .module-switch button,
.side-navigation:hover .subnav button,
.side-navigation:hover .sidebar-import-button,
.side-navigation:hover .filters-floating-toggle,
.side-navigation.is-open .sidebar-toggle,
.side-navigation.is-open .module-switch button,
.side-navigation.is-open .subnav button,
.side-navigation.is-open .sidebar-import-button,
.side-navigation.is-open .filters-floating-toggle,
.side-navigation:has(:focus-visible) .sidebar-toggle,
.side-navigation:has(:focus-visible) .module-switch button,
.side-navigation:has(:focus-visible) .subnav button,
.side-navigation:has(:focus-visible) .sidebar-import-button,
.side-navigation:has(:focus-visible) .filters-floating-toggle {
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  padding: 0 14px;
}

.side-navigation .sidebar-toggle {
  margin-bottom: 8px;
  color: #354a5b;
}

.side-navigation .sidebar-section-label {
  visibility: hidden;
  height: 18px;
  padding: 2px 14px 0;
  overflow: hidden;
  color: #92a0ad;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
}

.side-navigation:hover .sidebar-section-label,
.side-navigation.is-open .sidebar-section-label,
.side-navigation:has(:focus-visible) .sidebar-section-label {
  visibility: visible;
}

.side-navigation .sidebar-subsection-label {
  margin-top: 9px;
  border-top: 1px solid #e9edf0;
  padding-top: 12px;
  height: 29px;
}

.side-navigation .module-switch,
.side-navigation .subnav {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 3px;
  width: 100%;
  min-height: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.side-navigation .module-switch button.active,
.side-navigation .subnav button.active {
  background: #fff0f1;
  color: #c51922;
  box-shadow: none;
}

.side-navigation .subnav button {
  height: 42px;
}

.side-navigation .subnav button::after {
  display: none;
}

.side-navigation .sidebar-import-button {
  color: #ba1b26;
}

.app-shell > .topbar {
  padding-left: 14px;
}

.app-shell > .topbar .brand-mark {
  position: fixed;
  z-index: 90;
  top: 11px;
  left: -52px;
}

.washing-detail-modal {
  display: flex;
  flex-direction: column;
}

.washing-detail-modal > .person-detail-heading { order: 1; flex: none; }
.washing-detail-modal > .washing-detail-kpis { order: 2; flex: none; }
.washing-detail-modal > .washing-detail-table { order: 3; flex: none; }
.washing-detail-modal > .washing-popup-funnels { order: 4; flex: none; }

.washing-detail-table table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.washing-detail-table th:nth-child(1) { width: 14%; }
.washing-detail-table th:nth-child(2) { width: 25%; }
.washing-detail-table th:nth-child(3) { width: 27%; }
.washing-detail-table th:nth-child(4) { width: 20%; }
.washing-detail-table th:nth-child(5) { width: 14%; }

.washing-detail-table td:nth-child(4) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 700px) {
  .washing-detail-table table { min-width: 760px; }
}

.washing-orders-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 4px;
  color: #263746;
}

.washing-orders-heading span {
  color: #778795;
  font-size: 12px;
}

.washing-order-pair {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 130px;
}

.washing-order-pair small {
  color: #778795;
}

#lavagens-360 {
  scroll-margin-top: 74px;
}

.person-detail-modal.is-history-pending > :not(.person-detail-heading):not(.person-detail-period-row):not(.person-detail-export):not(.modal-close):not(.person-history-status) {
  display: none !important;
}

.person-history-status {
  margin-top: 20px;
  padding: 24px;
  border: 1px solid #dce5eb;
  border-radius: 16px;
  background: #f7fafc;
  color: #40566f;
  font-weight: 700;
}

.side-navigation .filters-floating-toggle {
  position: static;
  z-index: auto;
  right: auto;
  bottom: auto;
  margin-top: auto;
  border-top: 1px solid #e9edf0;
  border-radius: 0;
  background: transparent;
  color: #b91620;
}

.side-navigation .filters-floating-toggle b {
  position: absolute;
  top: 2px;
  right: 1px;
  min-width: 15px;
  padding: 0 3px;
  border-radius: 8px;
  background: #d71920;
  color: #fff;
  font-size: 9px;
  text-align: center;
}

@media (max-width: 700px) {
  .app-shell { padding-left: 54px; }
  .app-shell > .topbar { min-height: 62px; }
  .app-shell > .topbar .brand-mark { left: -40px; }
  .side-navigation { top: 62px; width: 54px; padding: 8px 4px 12px; }
  .side-navigation:hover,
  .side-navigation.is-open,
  .side-navigation:has(:focus-visible) { width: min(248px, calc(100vw - 16px)); }
  .side-navigation .sidebar-toggle,
  .side-navigation .module-switch button,
  .side-navigation .subnav button,
  .side-navigation .sidebar-import-button,
  .side-navigation .filters-floating-toggle { width: 45px; }
}

.exclude-internal-filter {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid #dce3ea;
  border-radius: 10px;
  background: #fff;
  color: #354658;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.exclude-internal-filter:hover,
.exclude-internal-filter:focus-visible {
  border-color: #c9252d;
}

.exclude-internal-filter.is-active {
  border-color: #c9252d;
  background: #fff2f3;
  color: #aa1b23;
}

.exclude-internal-indicator {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  border: 1.5px solid currentColor;
  border-radius: 4px;
}

.exclude-internal-filter.is-active .exclude-internal-indicator::after {
  content: "✓";
  display: block;
  font-size: 12px;
  line-height: 12px;
  text-align: center;
}

.people-ranking-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 20px;
  padding: 13px 18px;
  border-bottom: 1px solid #e5e9ed;
}

.people-ranking-summary-title,
.people-ranking-summary-values {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.people-ranking-summary-title > strong {
  color: #27323d;
  font-size: 13px;
}

.people-ranking-summary-title > span {
  padding: 3px 8px;
  border: 1px solid #dce3ea;
  border-radius: 6px;
  background: #f5f7f9;
  color: #718090;
  font-size: 11px;
  font-weight: 700;
}

.people-ranking-summary-values {
  gap: 5px 0;
  color: #7b8795;
  font-size: 11px;
}

.people-ranking-summary-values > span + span::before {
  content: "·";
  margin: 0 7px;
  color: #a5afb9;
}

.people-ranking-summary-values strong {
  color: #45515e;
  font-weight: 800;
}

.table-360-wrap {
  overflow-x: hidden;
}

.table-360 {
  width: 100%;
  min-width: 0;
}

/* A tabela 360 agora tem 15 colunas. As larguras antigas somavam mais de 100%
   e cortavam as colunas de peças no PNG exportado. */
.table-360 th:nth-child(1) { width: 3%; }
.table-360 th:nth-child(2) { width: 16%; }
.table-360 th:nth-child(3) { width: 5%; }
.table-360 th:nth-child(4) { width: 7%; }
.table-360 th:nth-child(5) { width: 6%; }
.table-360 th:nth-child(6) { width: 6%; }
.table-360 th:nth-child(7) { width: 6%; }
.table-360 th:nth-child(8) { width: 6%; }
.table-360 th:nth-child(9) { width: 5%; }
.table-360 th:nth-child(10) { width: 6%; }
.table-360 th:nth-child(11) { width: 7%; }
.table-360 th:nth-child(12) { width: 6%; }
.table-360 th:nth-child(13) { width: 6%; }
.table-360 th:nth-child(14) { width: 7%; }
.table-360 th:nth-child(15) { width: 7%; }

/* Divisórias discretas facilitam seguir uma linha até a métrica correta. */
.table-360 th:not(:last-child),
.table-360 td:not(:last-child) {
  border-right: 1px solid #dfe5ea;
}

.table-360 tr > :nth-child(3) {
  border-right: 2px solid #edc7ca;
}

.table-360 tr > :nth-child(10) {
  border-right: 2px solid #b8c6d3;
}

.people-combined-export {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.people-combined-export .page-heading {
  margin-bottom: 0;
}

.people-combined-section {
  min-width: 0;
}

.consultant-audit-filters {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 16px 18px;
}

.consultant-audit-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.consultant-audit-filter-row > strong {
  min-width: 172px;
  color: #334456;
  font-size: 12px;
}

.consultant-audit-filter-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #dbe3e9;
  border-radius: 9px;
  background: #fff;
  color: #4d5e70;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.consultant-audit-filter-button:hover,
.consultant-audit-filter-button:focus-visible {
  border-color: #bdcbd6;
  background: #f3f6f8;
}

.consultant-audit-filter-button.active {
  border-color: #c51f27;
  background: #fff0f1;
  color: #bd1720;
}

.consultant-audit-filter-button > span {
  padding: 2px 6px;
  border-radius: 6px;
  background: #edf1f4;
  color: #536678;
  font-size: 11px;
}

.consultant-audit-filter-button.active > span {
  background: #fff;
  color: #bd1720;
}

.consultant-audit-excluded {
  margin-left: auto;
  color: #738292;
  font-size: 11px;
}

.consultant-audit-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.consultant-audit-kpis article {
  display: grid;
  gap: 6px;
  padding: 15px;
  border: 1px solid #e3e8ec;
  border-radius: 13px;
  background: #fff;
}

.consultant-audit-kpis article > span,
.consultant-audit-kpis article > small {
  color: #728091;
  font-size: 11px;
}

.consultant-audit-count {
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #334456;
  font: inherit;
  font-size: 18px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.consultant-audit-count:hover,
.consultant-audit-count:focus-visible {
  background: #eef3f7;
  outline: 2px solid #b8c6d3;
}

.consultant-audit-count.attention { color: #c51f27; }
.consultant-audit-panel { padding: 0; overflow: hidden; }
.consultant-audit-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
}
.consultant-audit-panel > header strong { font-size: 16px; }
.consultant-audit-panel > header p,
.consultant-audit-shared-note {
  margin: 4px 0 0;
  color: #718092;
  font-size: 12px;
}
.consultant-audit-shared-note { padding: 0 20px 12px; }
.consultant-audit-table-wrap { overflow-x: auto; }
.consultant-audit-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.consultant-audit-table th,
.consultant-audit-table td { padding: 10px 12px; border-top: 1px solid #e8edf0; border-right: 1px solid #e8edf0; }
.consultant-audit-table th { color: #657486; background: #f6f8fa; font-size: 10px; text-align: left; }
.consultant-audit-table td { font-size: 12px; }
.consultant-audit-table th:first-child { width: 28%; }
.consultant-audit-table th:last-child { width: 12%; }
.consultant-audit-table th:not(:first-child):not(:last-child) { width: 10%; }
.consultant-audit-table .consultant-audit-count { font-size: 13px; }

.consultant-audit-modal {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 14px;
  position: relative;
  width: min(96vw, 1280px);
  max-height: min(90dvh, 900px);
  padding: 24px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 80px #0f141a47;
}
.modal-backdrop:has(.consultant-audit-modal) { z-index: 180; }
.consultant-audit-modal > header { padding-right: 45px; }
.consultant-audit-modal h2 { margin: 4px 0; color: #263445; font-size: 24px; }
.consultant-audit-modal > header p { margin: 0; color: #718092; font-size: 12px; }
.consultant-audit-modal > input {
  width: 100%; padding: 11px 13px; border: 1px solid #d8e1e8;
  border-radius: 9px; font: inherit;
}
.consultant-audit-order-list {
  min-height: 0;
  overflow: auto;
  border: 1px solid #dce4ea;
  border-radius: 11px;
  background: #fff;
}
.consultant-audit-order-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.consultant-audit-order-table th {
  position: sticky; top: 0; z-index: 1;
  padding: 10px 12px; border-bottom: 1px solid #dce4ea;
  background: #f3f6f8; color: #697889;
  font-size: 10px; font-weight: 800; text-align: left;
  text-transform: uppercase; letter-spacing: .045em;
}
.consultant-audit-order-table td {
  padding: 10px 12px; border-bottom: 1px solid #e8edf1;
  color: #2b3946; font-size: 12px; line-height: 1.3;
  vertical-align: middle;
}
.consultant-audit-order-table tbody tr:not(.consultant-audit-order-detail-row):hover,
.consultant-audit-order-table tbody tr.consultant-audit-order-expanded { background: #f8fafb; }
.consultant-audit-order-table tbody tr:last-child td { border-bottom: 0; }
.consultant-audit-order-table td > strong,
.consultant-audit-cell-main { display: block; overflow: hidden; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.consultant-audit-order-table td > small {
  display: block; margin-top: 4px; overflow: hidden;
  color: #798899; font-size: 11px; text-overflow: ellipsis; white-space: nowrap;
}
.consultant-audit-store {
  display: inline-block; margin-left: 5px; padding: 2px 5px;
  border: 1px solid #f1d1d4; border-radius: 5px;
  color: #ba222b; font-size: 10px; vertical-align: 1px;
}
.consultant-audit-order-amount { font-weight: 800; white-space: nowrap; }
.consultant-audit-items-toggle {
  padding: 6px 9px; border: 1px solid #edd1d3; border-radius: 7px;
  background: #fff8f8; color: #bd232c; font: inherit;
  font-size: 11px; font-weight: 700; white-space: nowrap; cursor: pointer;
}
.consultant-audit-items-toggle:hover,
.consultant-audit-items-toggle:focus-visible { background: #fdebed; outline: 2px solid #f1bdc0; }
.consultant-audit-order-detail-row td { padding: 12px 16px 14px; background: #f8fafb; }
.consultant-audit-order-breakdown { display: flex; flex-wrap: wrap; gap: 8px; }
.consultant-audit-order-breakdown span {
  padding: 4px 8px; border: 1px solid #dfe7ec; border-radius: 6px;
  background: #fff; color: #6d7d8b; font-size: 11px;
}
.consultant-audit-order-breakdown strong { color: #2b3946; }
.consultant-audit-order-breakdown .consultant-audit-internal-tag { color: #b7242d; }
.consultant-audit-order-detail-row p { margin: 10px 0 0; color: #45596b; font-size: 12px; line-height: 1.45; }
.consultant-audit-order-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.consultant-audit-order-notes > div { min-width: 0; padding: 9px 11px; border: 1px solid #e1e8ed; border-radius: 8px; background: #fff; }
.consultant-audit-order-notes strong { color: #657587; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.consultant-audit-order-notes p { margin: 4px 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.consultant-audit-more { justify-self: center; }

@media (max-width: 1100px) {
  .consultant-audit-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .consultant-audit-table { min-width: 850px; }
}
@media (max-width: 700px) {
  .consultant-audit-filter-row > strong { flex-basis: 100%; }
  .consultant-audit-excluded { margin-left: 0; }
  .consultant-audit-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consultant-audit-modal { width: 98vw; padding: 16px; max-height: 94dvh; }
  .consultant-audit-order-table { min-width: 900px; }
  .consultant-audit-order-notes { grid-template-columns: 1fr; }
}

@media (max-width: 1100px) {
  .washing-general-funnel-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .overview-disclosure-heading {
    align-items: flex-start;
  }
  .high-value-360-panel.overview-disclosure > summary {
    flex-wrap: wrap;
  }
  .washings-360-panel {
    padding: 16px;
  }
  .washings-summary-grid {
    grid-template-columns: 1fr;
  }
  .washing-general-funnel-flow {
    grid-template-columns: 1fr;
  }
  .wash-technician-heading {
    display: grid;
  }
  .wash-mobile-hint {
    display: block;
  }
}
.filtered-weekly-consistency-panel .weekly-consistency-actions {
  flex-wrap: wrap;
}

.daily-consistency-panel {
  min-width: 0;
}

.daily-consistency-panel .weekly-consistency-actions {
  flex-wrap: wrap;
}

.daily-consistency-chart {
  height: 310px;
  min-height: 310px;
}

.daily-consistency-note {
  margin: 2px 8px 0;
  color: #83919c;
  font-size: 11px;
}

@media (max-width: 700px) {
  .daily-consistency-chart {
    height: 260px;
    min-height: 260px;
  }

  .daily-consistency-note {
    margin: 6px 0 0;
  }
}

.weekly-export-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 11px;
  border: 1px solid #d7e0e8;
  border-radius: 9px;
  background: #fff;
  color: #344b5d;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}

.weekly-export-button:hover:not(:disabled) {
  border-color: #a8bac8;
  background: #f5f9fc;
}

.weekly-export-button:disabled {
  opacity: 0.6;
  cursor: wait;
}

.weekly-export-timestamp {
  margin-top: 12px;
  padding-top: 9px;
  border-top: 1px solid #e6ebf0;
  color: #687888;
  font-size: 11px;
  font-weight: 700;
  text-align: right;
}

.weekly-variation-strip .weekly-goal-needed {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 21px;
  padding: 3px 7px;
  border: 1px solid #f0d49e;
  border-radius: 999px;
  background: #fff7e8;
  color: #9a5b08;
  font-size: 8px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.25;
  text-align: center;
}

.weekly-variation-strip .weekly-goal-needed.goal-met {
  border-color: #b8decf;
  background: #edf9f4;
  color: #168553;
}

.daily-subtabs {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid #dfe6ec;
  border-radius: 12px;
  background: #f1f4f7;
}

.daily-subtabs button {
  padding: 9px 16px;
  border-radius: 9px;
  color: #647484;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.daily-subtabs button.active {
  background: #33495d;
  color: #fff;
  box-shadow: 0 2px 7px #23374724;
}

.daily-teams-view,
.daily-teams-list {
  display: grid;
  gap: 14px;
}

.daily-teams-intro h2 {
  margin: 3px 0 5px;
  color: #27343f;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 800;
}

.daily-teams-intro p {
  color: #758391;
  font-size: 12px;
}
.daily-teams-eyebrow {
  color: #c6232b;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.daily-teams-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 19px;
}

.daily-teams-kpis > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #e5eaf0;
  border-radius: 12px;
  background: #f9fbfc;
}

.daily-teams-kpis span,
.daily-team-metrics small {
  color: #798794;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.daily-teams-kpis strong {
  color: #30404c;
  font-size: clamp(17px, 1.8vw, 23px);
  font-weight: 850;
  overflow-wrap: anywhere;
}
.daily-teams-kpis small {
  color: #81909c;
  font-size: 11px;
}

.daily-team-card {
  display: grid;
  gap: 15px;
}
.daily-team-card header {
  display: flex;
  align-items: center;
  gap: 12px;
}
.daily-team-rank {
  display: grid;
  place-items: center;
  flex: 0 0 37px;
  height: 37px;
  border-radius: 10px;
  background: #eef2f5;
  color: #607181;
  font-size: 13px;
  font-weight: 850;
}
.daily-team-identity {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.daily-team-identity strong {
  color: #2d3c49;
  font-size: 15px;
  font-weight: 850;
}
.daily-team-identity small {
  color: #82909b;
  font-size: 11px;
}
.daily-team-result {
  display: grid;
  gap: 1px;
  margin-left: auto;
  text-align: right;
}
.daily-team-result strong {
  color: #273947;
  font-size: 22px;
  font-weight: 850;
}
.daily-team-result small {
  color: #8a97a1;
  font-size: 10px;
}
.daily-team-bars {
  display: flex;
  height: 11px;
  overflow: hidden;
  border-radius: 8px;
  background: #e8edf1;
}
.daily-team-bars .mo {
  background: #d71920;
}
.daily-team-bars .parts {
  background: #40566f;
}
.daily-team-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.daily-team-metrics > span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 9px;
  background: #f7f9fb;
}
.daily-team-metrics strong {
  color: #324553;
  font-size: 14px;
  font-weight: 850;
  overflow-wrap: anywhere;
}
.daily-teams-footnote {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  color: #80909c;
  font-size: 11px;
}
.daily-teams-footnote strong {
  white-space: nowrap;
}

.featured-services-panel {
  display: grid;
  gap: 16px;
}
.featured-period-actions {
  display: inline-flex;
  gap: 4px;
  padding: 3px;
  border: 1px solid #dde5eb;
  border-radius: 9px;
  background: #f6f8fa;
}
.featured-period-actions button {
  padding: 7px 11px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #586b7b;
  cursor: pointer;
  font-size: 11px;
  font-weight: 750;
}
.featured-period-actions button.active {
  background: #31485e;
  color: #fff;
}
.featured-services-period-label {
  margin: -8px 0 0;
  color: #82909c;
  font-size: 11px;
}
.featured-services-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.featured-services-summary > span {
  display: grid;
  gap: 4px;
  padding: 12px 15px;
  border: 1px solid #e5eaf0;
  border-radius: 11px;
  background: #f8fafb;
}
.featured-services-summary small {
  color: #7c8995;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.featured-services-summary strong {
  color: #2e3e4b;
  font-size: 19px;
  font-weight: 850;
}
.featured-services-summary strong.down,
.featured-service-change.down {
  color: #c5212d;
}
.featured-services-summary strong.up,
.featured-service-change.up {
  color: #16815a;
}
.featured-services-table {
  overflow-x: auto;
}
.featured-services-table table {
  width: 100%;
  border-collapse: collapse;
}
.featured-services-table th {
  padding: 10px 12px;
  border-bottom: 1px solid #dce4ea;
  color: #758492;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-align: left;
  text-transform: uppercase;
}
.featured-services-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #edf1f4;
  color: #344755;
  font-size: 12px;
  vertical-align: middle;
}
.featured-services-table tr:last-child td {
  border-bottom: 0;
}
.featured-services-table td:first-child {
  min-width: 250px;
  width: 45%;
}
.featured-services-table td:first-child strong {
  font-weight: 750;
}
.featured-services-table td:not(:first-child) {
  white-space: nowrap;
}
.featured-services-table td:not(:first-child) strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
}
.featured-services-table td small {
  display: block;
  margin-top: 3px;
  color: #8997a3;
  font-size: 10px;
}
.featured-service-change {
  display: inline-block;
  min-width: 65px;
  padding: 5px 9px;
  border-radius: 7px;
  background: #f3f6f8;
  font-weight: 800;
  text-align: center;
}
.featured-service-change.down {
  background: #fff0f1;
}
.featured-service-change.up {
  background: #eaf7f0;
}
.featured-service-change.steady {
  color: #697985;
}
.featured-services-note {
  margin: 0;
  color: #81909b;
  font-size: 11px;
}

@media (max-width: 900px) {
  .daily-teams-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .daily-team-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .featured-services-summary {
    grid-template-columns: 1fr;
  }
  .daily-subtabs {
    display: flex;
  }
  .daily-subtabs button {
    flex: 1;
  }
  .daily-teams-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .daily-team-card header {
    flex-wrap: wrap;
  }
  .daily-team-result {
    width: 100%;
    text-align: left;
    margin-left: 49px;
  }
  .daily-team-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .daily-teams-footnote {
    flex-wrap: wrap;
  }
}
.annual-history {
  padding: 24px 0 42px;
  color: #263540;
}
.annual-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.annual-heading span {
  color: #cc1d27;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.annual-heading h1 {
  font-size: 32px;
  margin: 6px 0;
}
.annual-heading p,
.annual-table-card p,
.annual-upload-card p {
  color: #74818d;
  margin: 0;
}
.annual-heading label {
  display: grid;
  gap: 6px;
  font-weight: 700;
  color: #5b6874;
}
.annual-heading select,
.annual-upload-card input[type="password"] {
  border: 1px solid #d6dfe5;
  border-radius: 10px;
  background: white;
  padding: 11px 12px;
  font: inherit;
  color: #263540;
}
.annual-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.annual-card,
.annual-table-card,
.annual-upload-card {
  background: #fff;
  border: 1px solid #e0e7eb;
  border-radius: 18px;
  box-shadow: 0 5px 22px #172d4008;
}
.annual-card {
  padding: 20px;
  display: grid;
  gap: 9px;
}
.annual-card small {
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #7c8994;
  font-weight: 800;
}
.annual-card strong {
  font-size: 27px;
}
.annual-card span {
  color: #5b6874;
  font-size: 13px;
}
.annual-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 1fr);
  gap: 16px;
}
.annual-table-card,
.annual-upload-card {
  padding: 22px;
}
.annual-grid h2 {
  font-size: 19px;
  margin: 0 0 6px;
}
.annual-table-scroll {
  overflow: auto;
  margin-top: 20px;
}
.annual-table-card table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
}
.annual-table-card th,
.annual-table-card td {
  padding: 12px 10px;
  text-align: right;
  border-bottom: 1px solid #edf0f2;
  font-size: 13px;
}
.annual-table-card th:first-child {
  text-align: left;
}
.annual-table-card thead th {
  color: #667684;
  font-size: 11px;
  text-transform: uppercase;
}
.annual-file {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  font-weight: 700;
}
.annual-file span {
  display: grid;
  gap: 3px;
}
.annual-file small {
  font-size: 12px;
  font-weight: 500;
  color: #788793;
  overflow-wrap: anywhere;
}
.annual-file input {
  max-width: 100%;
  font-size: 12px;
}
.annual-attachment {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #e0e7eb;
}
.annual-attachment > strong {
  display: block;
  font-size: 14px;
}
.annual-attachment > p {
  margin-top: 5px;
  font-size: 12px;
}
.annual-attachment .annual-file {
  margin-top: 14px;
}
.annual-download-button {
  margin-top: 12px;
  padding: 9px 12px;
  border: 1px solid #d6dfe5;
  border-radius: 9px;
  background: #fff;
  color: #33485a;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.annual-download-button:hover {
  border-color: #c9232d;
  color: #c9232d;
}
.annual-upload-card input[type="password"] {
  width: 100%;
  margin: 20px 0 12px;
}
.annual-replace {
  display: flex;
  gap: 8px;
  align-items: start;
  font-size: 13px;
  color: #5b6874;
  margin-bottom: 18px;
}
.annual-upload-card .primary-button {
  width: 100%;
  justify-content: center;
}
.annual-message {
  min-height: 22px;
  margin-top: 12px !important;
  font-size: 13px;
}
@media (max-width: 900px) {
  .annual-grid {
    grid-template-columns: 1fr;
  }
  .annual-summary {
    grid-template-columns: 1fr;
  }
  .annual-heading {
    align-items: start;
    flex-direction: column;
  }
}
.annual-line-card,
.annual-services-card {
  padding: 22px;
  background: #fff;
  border: 1px solid #e0e7eb;
  border-radius: 18px;
  box-shadow: 0 5px 22px #172d4008;
}
.annual-line-card {
  margin-bottom: 16px;
}
.annual-services-card {
  margin-top: 16px;
}
.annual-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.annual-section-head span,
.annual-service-title small {
  color: #c41f29;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.09em;
}
.annual-section-head h2 {
  margin: 5px 0;
  font-size: 20px;
  color: #293945;
}
.annual-section-head p {
  margin: 0;
  color: #7b8995;
  font-size: 13px;
}
.annual-section-head > small {
  color: #81909b;
  font-weight: 700;
  white-space: nowrap;
}
.annual-chart-switch {
  display: flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid #dfe6ec;
  border-radius: 11px;
  background: #f2f5f7;
}
.annual-chart-switch button {
  padding: 9px 14px;
  border-radius: 8px;
  color: #617281;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}
.annual-chart-switch button.active {
  background: #344b5f;
  color: #fff;
  box-shadow: 0 2px 8px #22374720;
}
.annual-chart {
  min-width: 0;
}
.annual-chart-legend {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
  color: #778794;
  font-size: 11px;
  font-weight: 700;
}
.annual-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.annual-chart-legend i {
  width: 18px;
  height: 3px;
  border-radius: 3px;
}
.annual-chart-legend i.current {
  background: #d31e2b;
}
.annual-chart-legend i.previous {
  background: #839aac;
}
.annual-chart svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 320px;
  margin-top: 9px;
  overflow: visible;
}
.annual-chart svg text {
  fill: #81909b;
  font-family: inherit;
  font-size: 11px;
  font-weight: 650;
}
.annual-chart-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3.5;
}
.annual-chart-line.current {
  stroke: #d31e2b;
}
.annual-chart-line.previous {
  stroke: #91a4b4;
  stroke-dasharray: 7 6;
  stroke-width: 2.5;
}
.annual-chart-dot.current {
  fill: #fff;
  stroke: #d31e2b;
  stroke-width: 2.5;
}
.annual-chart-dot.previous {
  fill: #fff;
  stroke: #91a4b4;
  stroke-width: 2;
}
.annual-chart svg text.annual-chart-point-label {
  fill: #bd1e28;
  font-size: 10px;
  font-weight: 850;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 3px;
  stroke-linejoin: round;
}
.annual-chart-empty {
  margin: 20px 0;
  padding: 30px;
  border: 1px dashed #d8e1e8;
  border-radius: 12px;
  color: #80909b;
  text-align: center;
  font-size: 13px;
}
.annual-services-layout {
  display: grid;
  grid-template-columns: minmax(235px, 0.82fr) minmax(0, 2fr);
  gap: 18px;
}
.annual-service-list {
  display: grid;
  align-content: start;
  gap: 7px;
  max-height: 630px;
  overflow: auto;
  padding-right: 5px;
}
.annual-service-list button {
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 11px 13px;
  border: 1px solid #e2e8ed;
  border-radius: 10px;
  background: #f9fbfc;
  text-align: left;
  cursor: pointer;
}
.annual-service-list button:hover {
  border-color: #bdcbd5;
  background: #f4f8fa;
}
.annual-service-list button.active {
  border-color: #ed8b90;
  background: #fff5f5;
  box-shadow: inset 3px 0 #d4212b;
}
.annual-service-list strong {
  color: #344653;
  font-size: 11px;
  line-height: 1.35;
}
.annual-service-list span {
  color: #83919b;
  font-size: 11px;
}
.annual-service-detail {
  min-width: 0;
  padding: 17px;
  border: 1px solid #e2e8ed;
  border-radius: 13px;
}
.annual-service-title {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 14px;
}
.annual-service-title h3 {
  margin: 5px 0 0;
  color: #2c3b48;
  font-size: 17px;
}
.annual-service-title > div:last-child {
  display: grid;
  gap: 2px;
  text-align: right;
  white-space: nowrap;
}
.annual-service-title strong {
  font-size: 20px;
  color: #c61f29;
}
.annual-service-title span {
  font-size: 11px;
  color: #81909b;
}
.annual-service-detail .annual-chart {
  margin-top: 15px;
}
.annual-service-detail table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
}
.annual-service-detail th,
.annual-service-detail td {
  padding: 9px 7px;
  border-bottom: 1px solid #edf0f2;
  text-align: right;
  font-size: 11px;
}
.annual-service-detail th:first-child {
  text-align: left;
}
.annual-service-detail thead th {
  color: #758693;
  font-size: 10px;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .annual-services-layout {
    grid-template-columns: 1fr;
  }
  .annual-service-list {
    display: flex;
    max-height: none;
    overflow-x: auto;
    padding: 0 0 7px;
  }
  .annual-service-list button {
    min-width: 190px;
  }
  .annual-section-head {
    align-items: start;
    flex-wrap: wrap;
  }
}
@media (max-width: 600px) {
  .annual-line-card,
  .annual-services-card {
    padding: 15px;
  }
  .annual-section-head > small {
    white-space: normal;
  }
  .annual-service-title {
    flex-direction: column;
  }
  .annual-service-title > div:last-child {
    text-align: left;
  }
}
.revision-review-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px 14px;
  color: #5d6a78;
  font-size: 13px;
  font-weight: 700;
}
.revision-review-toolbar > div {
  display: flex;
  gap: 4px;
  padding: 3px;
  border: 1px solid #dde4e9;
  border-radius: 10px;
  background: #f6f8fa;
}
.revision-review-toolbar button {
  padding: 5px 10px;
  border-radius: 7px;
  color: #536475;
  font-size: 12px;
  font-weight: 750;
}
.revision-review-toolbar button.active {
  color: #fff;
  background: #344d66;
}
.revision-audit-table .col-review { width: 140px; }
.revision-review-button {
  min-width: 120px;
  padding: 6px 9px;
  border: 1px solid #d5dfe5;
  border-radius: 8px;
  color: #4b5f6f;
  background: #fff;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 750;
}
.revision-review-button:hover:not(:disabled) { border-color: #238364; }
.revision-review-button.reviewed {
  color: #147a61;
  border-color: #adddca;
  background: #edf8f2;
}
.revision-review-button:disabled { opacity: .65; cursor: wait; }
.revision-review-error {
  margin: 0 14px 10px;
  color: #b4232b;
  font-size: 12px;
  font-weight: 700;
}
.revision-workflow { margin-top: 18px; }
.revision-workflow-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.revision-workflow-heading > div:first-child > span {
  color: #cf202a;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
}
.revision-workflow-heading h2 { margin: 4px 0; color: #263946; font-size: 22px; }
.revision-workflow-heading p { margin: 0; color: #788995; font-size: 12px; }
.revision-workflow-tabs { display: flex; gap: 6px; flex-shrink: 0; }
.revision-workflow-tabs button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 11px;
  border: 1px solid #dce4e9;
  border-radius: 9px;
  background: #f7f9fa;
  color: #536474;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}
.revision-workflow-tabs button.active { border-color: #40566f; background: #40566f; color: #fff; }
.revision-workflow-tabs b { min-width: 20px; border-radius: 999px; padding: 1px 5px; background: #ffffff31; text-align: center; }
.revision-workflow-layout { display: grid; grid-template-columns: minmax(190px, 235px) minmax(0, 1fr); gap: 14px; }
.revision-workflow-consultants { display: grid; align-content: start; gap: 5px; max-height: 640px; overflow: auto; }
.revision-workflow-consultants button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 9px 10px;
  border: 1px solid #e1e8ec;
  border-radius: 9px;
  background: #f9fbfc;
  color: #364a58;
  text-align: left;
  cursor: pointer;
}
.revision-workflow-consultants button.active { border-color: #e58d93; background: #fff5f5; box-shadow: inset 3px 0 #d71920; }
.revision-workflow-consultants strong { font-size: 11px; line-height: 1.3; }
.revision-workflow-consultants b { flex-shrink: 0; border-radius: 999px; padding: 2px 6px; background: #e8eef2; font-size: 10px; }
.revision-workflow-cases { min-width: 0; }
.revision-workflow-search { display: flex; align-items: center; gap: 12px; margin-bottom: 9px; }
.revision-workflow-search input { flex: 1; min-width: 0; padding: 9px 11px; border: 1px solid #d8e2e8; border-radius: 9px; background: #fff; font-size: 12px; }
.revision-workflow-search span { color: #72818e; white-space: nowrap; font-size: 11px; font-weight: 750; }
.revision-workflow-table { border: 1px solid #e0e7ec; border-radius: 10px; }
.revision-workflow-table table { width: 100%; border-collapse: collapse; }
.revision-workflow-table th { padding: 9px 8px; background: #f3f6f8; color: #798795; text-align: left; text-transform: uppercase; font-size: 9px; letter-spacing: .04em; }
.revision-workflow-table td { padding: 9px 8px; border-top: 1px solid #e8edf0; color: #354653; font-size: 11px; vertical-align: middle; }
.revision-workflow-table td > strong { display: block; font-size: 11px; }
.revision-workflow-table td > small { display: block; margin-top: 2px; color: #8694a0; font-size: 10px; }
.revision-workflow-table td:last-child { width: 140px; }
.revision-workflow-table .revision-review-button { margin-top: 4px; }
.revision-workflow-detail-button { color: #c71d27; font-size: 10px; font-weight: 800; }
.revision-workflow-expanded td { background: #f8fafb; }
.revision-workflow-expanded td > div { display: grid; gap: 5px; }
.revision-workflow-expanded p { margin: 0; white-space: normal; color: #60717e; line-height: 1.5; }
.revision-workflow-expanded p strong { color: #314654; }
.revision-workflow-more { display: block; margin: 12px auto 0; color: #c71d27; font-size: 12px; font-weight: 800; }
.revision-workflow-loading { padding: 24px; color: #738390; text-align: center; font-size: 12px; }
.zero-audit-heading .audit-heading-actions { flex: 0 1 auto; flex-wrap: wrap; justify-content: flex-end; }
.zero-audit-workflow .revision-workflow-layout { grid-template-columns: minmax(0, 1fr); }
.zero-audit-workflow .revision-workflow-consultants { display: flex; max-height: none; overflow-x: auto; padding-bottom: 4px; }
.zero-audit-workflow .revision-workflow-consultants button { width: auto; min-width: 165px; max-width: 230px; flex-shrink: 0; }
.zero-audit-workflow .revision-workflow-table table { table-layout: fixed; }
.zero-audit-workflow .revision-workflow-table th:nth-child(1) { width: 12%; }
.zero-audit-workflow .revision-workflow-table th:nth-child(2) { width: 27%; }
.zero-audit-workflow .revision-workflow-table th:nth-child(3) { width: 26%; }
.zero-audit-workflow .revision-workflow-table th:nth-child(4) { width: 15%; }
.zero-audit-workflow .revision-workflow-table th:nth-child(5) { width: 20%; }
.zero-audit-workflow .revision-workflow-table td:last-child { width: auto; }
.zero-audit-workflow .revision-workflow-table td { overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .revision-workflow-layout { grid-template-columns: 1fr; }
  .revision-workflow-consultants { display: flex; max-height: none; overflow-x: auto; padding-bottom: 6px; }
  .revision-workflow-consultants button { min-width: 170px; }
}
@media (max-width: 700px) {
  .revision-workflow-heading { align-items: start; flex-direction: column; }
  .revision-workflow-tabs { width: 100%; }
  .revision-workflow-tabs button { flex: 1; justify-content: center; }
  .revision-workflow-table table, .revision-workflow-table tbody { display: block; width: 100%; }
  .revision-workflow-table thead { display: none; }
  .revision-workflow-table tr:not(.revision-workflow-expanded) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 10px;
    border-top: 1px solid #e8edf0;
  }
  .revision-workflow-table tr:first-child { border-top: 0; }
  .revision-workflow-table td { min-width: 0; padding: 5px; border-top: 0; }
  .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(1) { grid-column: 1; }
  .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(2) { grid-column: 2 / 4; }
  .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(3) { grid-column: 1 / -1; }
  .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(4),
  .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(5),
  .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(6) { grid-row: 3; }
  .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(7) { grid-column: 1 / -1; width: auto; }
  .revision-workflow-table td[data-label]::before {
    display: block;
    margin-bottom: 2px;
    color: #8a98a2;
    content: attr(data-label);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
  }
  .revision-workflow-table td:nth-child(7) .revision-review-button { margin: 0 0 0 10px; }
  .revision-workflow-table .revision-workflow-expanded { display: block; }
  .revision-workflow-table .revision-workflow-expanded td { display: block; }
  .zero-audit-workflow .revision-workflow-table tr:not(.revision-workflow-expanded) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zero-audit-workflow .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(1) { grid-column: 1; }
  .zero-audit-workflow .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(2) { grid-column: 2; }
  .zero-audit-workflow .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(3) { grid-column: 1; grid-row: auto; }
  .zero-audit-workflow .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(4) { grid-column: 2; grid-row: auto; }
  .zero-audit-workflow .revision-workflow-table tr:not(.revision-workflow-expanded) td:nth-child(5) { grid-column: 1 / -1; grid-row: auto; width: auto; }
}
.service-funnel-notice {
  margin: 9px 4px 0;
  color: #7a5b2d;
  font-size: 11px;
  line-height: 1.4;
}
.vehicle-segment-panel { margin-block: 18px; }
.vehicle-segment-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 10px; }
.vehicle-segment-overview > div, .vehicle-segment-overview > button { min-width: 0; width: 100%; padding: 13px 14px; border: 1px solid #e2e8ed; border-radius: 13px; background: #f9fbfc; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.vehicle-segment-overview span { color: #687785; font-size: 12px; font-weight: 700; }
.vehicle-segment-overview strong { color: #293846; font-size: 22px; line-height: 1.1; }
.vehicle-segment-overview small { color: #748491; font-size: 11px; }
.vehicle-segment-overview .vehicle-segment-coverage { background: #f0f6fa; border-color: #cbdde8; }
.vehicle-segment-breakdown { margin-top: 18px; }
.vehicle-segment-breakdown h3 { font-size: 15px; margin: 0 0 10px; }
.vehicle-segment-table-wrap { overflow-x: auto; max-height: 440px; overflow-y: auto; border: 1px solid #e2e8ed; border-radius: 12px; }
.vehicle-segment-table-wrap table { width: 100%; border-collapse: collapse; min-width: 750px; font-size: 12px; }
.vehicle-segment-table-wrap th, .vehicle-segment-table-wrap td { padding: 9px 11px; border-bottom: 1px solid #edf0f2; text-align: right; white-space: nowrap; }
.vehicle-segment-table-wrap th:first-child { text-align: left; }
.vehicle-segment-table-wrap thead { position: sticky; top: 0; background: #f5f8fa; z-index: 1; }
.vehicle-segment-table-wrap tbody tr:last-child th, .vehicle-segment-table-wrap tbody tr:last-child td { border-bottom: 0; }
.vehicle-segment-card { text-align: left; cursor: pointer; }
.vehicle-segment-card:hover, .vehicle-segment-card:focus-visible { border-color: #bdccd7; background: #f2f7fa; outline: none; }
.vehicle-segment-card em { color: #bd141c; font-size: 11px; font-style: normal; font-weight: 700; margin-top: 3px; }
.vehicle-segment-table-wrap td button { color: #bd141c; font-weight: 700; cursor: pointer; border-radius: 6px; padding: 3px 6px; }
.vehicle-segment-table-wrap td button:hover, .vehicle-segment-table-wrap td button:focus-visible { background: #fff1f2; outline: none; }
.vehicle-segment-modal-backdrop { position: fixed; inset: 0; z-index: 180; display: grid; place-items: center; padding: max(12px, env(safe-area-inset-top)) 18px max(12px, env(safe-area-inset-bottom)); background: #17232fc2; backdrop-filter: blur(3px); }
.modal-backdrop:has(.admin-password-modal) { z-index: 190; }
.vehicle-segment-modal { display: flex; flex-direction: column; width: min(1280px, 100%); max-height: calc(100dvh - 24px); overflow: hidden; background: #fff; border-radius: 22px; box-shadow: 0 28px 70px #12202c55; }
.vehicle-segment-modal > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 28px 18px; border-bottom: 1px solid #e5eaee; }
.vehicle-segment-modal > header span { color: #d71920; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.vehicle-segment-modal > header h2 { margin-top: 5px; font-size: 26px; font-weight: 700; color: #273541; }
.vehicle-segment-modal > header p { margin-top: 4px; color: #72818d; font-size: 13px; }
.vehicle-segment-close { width: 36px; height: 36px; border-radius: 10px; background: #f2f5f7; color: #53616e; font-size: 28px; line-height: 1; cursor: pointer; }
.vehicle-segment-modal-tools { display: flex; align-items: center; gap: 16px; padding: 16px 28px; }
.vehicle-segment-modal-tools input { min-width: 260px; flex: 1; border: 1px solid #d5dfe5; border-radius: 10px; padding: 10px 12px; outline-color: #d71920; }
.vehicle-segment-modal-tools small { flex: 1.5; color: #758491; line-height: 1.4; }
.vehicle-segment-modal-table-wrap { overflow: auto; min-height: 0; margin: 0 28px; border: 1px solid #e2e8ed; border-radius: 12px; }
.vehicle-segment-modal table { width: 100%; min-width: 980px; border-collapse: collapse; font-size: 12px; }
.vehicle-segment-modal th, .vehicle-segment-modal td { text-align: left; padding: 10px 12px; border-bottom: 1px solid #edf0f2; vertical-align: middle; }
.vehicle-segment-modal thead { position: sticky; top: 0; z-index: 1; background: #f6f8fa; }
.vehicle-segment-modal td strong, .vehicle-segment-modal td small { display: block; }
.vehicle-segment-modal td small { margin-top: 3px; color: #84919b; }
.vehicle-segment-modal td select { min-width: 175px; border: 1px solid #d5dfe5; border-radius: 8px; padding: 7px 8px; background: #fff; cursor: pointer; }
.vehicle-segment-modal-order-list { overflow: auto; min-height: 0; margin: 0 28px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-content: start; }
.vehicle-segment-order { min-width: 0; padding: 12px 15px; border: 1px solid #e2e8ed; border-radius: 13px; background: #fbfcfd; }
.vehicle-segment-order-heading { display: flex; justify-content: space-between; gap: 18px; padding-bottom: 8px; border-bottom: 1px solid #e7edf0; }
.vehicle-segment-order-heading strong { display: block; color: #263541; font-size: 14px; }
.vehicle-segment-order-heading small { display: block; margin-top: 3px; color: #74838e; }
.vehicle-segment-order-heading small span:first-child { font-weight: 800; color: #445a6a; }
.vehicle-segment-order-type { display: inline-block; margin-left: 8px; padding: 2px 7px; border-radius: 5px; background: #eef2f5; color: #536675; }
.vehicle-segment-order-total { white-space: nowrap; font-weight: 800; color: #c61520; text-align: right; }
.vehicle-segment-order-total small { margin: 0; font-size: 9px; color: #87939d; text-transform: uppercase; }
.vehicle-segment-order-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 18px; padding-top: 10px; }
.vehicle-segment-order-grid > div { min-width: 0; }
.vehicle-segment-order-grid b { display: block; margin-bottom: 4px; font-size: 10px; letter-spacing: .07em; color: #84919b; text-transform: uppercase; }
.vehicle-segment-order-grid span, .vehicle-segment-order-grid small { display: block; overflow-wrap: anywhere; line-height: 1.45; }
.vehicle-segment-order-grid small { color: #81909b; }
.vehicle-segment-choice-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.vehicle-segment-choice-buttons button { min-width: 0; padding: 5px 6px; border: 1px solid #d5dfe5; border-radius: 7px; background: #fff; color: #526575; font-size: 10px; font-weight: 750; line-height: 1.2; text-align: center; cursor: pointer; }
.vehicle-segment-choice-buttons button:hover { border-color: #be1720; color: #bd141c; }
.vehicle-segment-choice-buttons button:focus-visible { outline: 2px solid #bd141c; outline-offset: 2px; }
.vehicle-segment-choice-buttons button.is-selected { border-color: #bd141c; background: #bd141c; color: #fff; box-shadow: 0 2px 6px #bd141c25; }
.vehicle-segment-choice-buttons button.is-selected:hover { color: #fff; background: #9e1119; }
.vehicle-segment-choice-status { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: 5px; color: #778793; font-size: 10px; }
.vehicle-segment-choice-status button { padding: 0; color: #bd141c; font-size: 10px; font-weight: 700; text-align: left; cursor: pointer; }
.vehicle-segment-choice-status button:hover { text-decoration: underline; }
.vehicle-segment-contact-actions { display: flex; gap: 7px; margin-top: 6px; flex-wrap: wrap; }
.vehicle-segment-contact-actions a, .vehicle-segment-contact-actions button { display: inline-block; padding: 5px 9px; border: 1px solid #d5dfe5; border-radius: 7px; background: #fff; color: #246b56; font-size: 11px; font-weight: 700; text-decoration: none; cursor: pointer; }
.vehicle-segment-contact-actions a:hover, .vehicle-segment-contact-actions button:hover { background: #eef9f3; }
.vehicle-segment-order-details { margin-top: 10px; border-top: 1px solid #e7edf0; padding-top: 8px; }
.vehicle-segment-order-details summary { display: flex; align-items: center; gap: 10px; min-width: 0; cursor: pointer; list-style: none; color: #647583; font-size: 11px; }
.vehicle-segment-order-details summary::-webkit-details-marker { display: none; }
.vehicle-segment-order-details summary::before { content: '▸'; color: #bb1720; font-size: 13px; transition: transform .15s ease; }
.vehicle-segment-order-details[open] summary::before { transform: rotate(90deg); }
.vehicle-segment-order-details summary b { flex: none; color: #526576; }
.vehicle-segment-order-preview { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vehicle-segment-order-details summary small { flex: none; color: #82919d; }
.vehicle-segment-order-detail-body { display: grid; grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr); gap: 18px; margin-top: 10px; padding: 12px; border-radius: 9px; background: #f2f6f8; }
.vehicle-segment-order-detail-body b { color: #526576; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.vehicle-segment-order-detail-body ul { margin: 7px 0 0; padding-left: 17px; columns: 2; column-gap: 20px; font-size: 11px; line-height: 1.45; }
.vehicle-segment-order-detail-body li { break-inside: avoid; margin-bottom: 4px; overflow-wrap: anywhere; }
.vehicle-segment-order-detail-body p { margin: 7px 0 0; font-size: 11px; }
.vehicle-segment-order-values dl { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; margin: 7px 0 0; font-size: 11px; }
.vehicle-segment-order-values dt, .vehicle-segment-order-values dd { margin: 0; }
.vehicle-segment-order-values dd { text-align: right; font-weight: 700; }
.vehicle-segment-order-values dt:last-of-type, .vehicle-segment-order-values dd:last-of-type { padding-top: 5px; border-top: 1px solid #dbe5ea; color: #b71920; font-weight: 800; }
.vehicle-segment-modal > footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px 28px 20px; color: #788693; font-size: 12px; }
.vehicle-segment-modal > footer button { color: #c31620; font-weight: 700; cursor: pointer; }
@media (max-width: 700px) { .vehicle-segment-modal-tools { display: block; } .vehicle-segment-modal-tools input { width: 100%; } .vehicle-segment-modal-tools small { display: block; margin-top: 8px; } }
@media (max-width: 800px) { .vehicle-segment-order-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 550px) { .vehicle-segment-modal-backdrop { padding: 8px; } .vehicle-segment-modal { max-height: calc(100dvh - 16px); border-radius: 14px; } .vehicle-segment-modal > header, .vehicle-segment-modal-tools, .vehicle-segment-modal > footer { padding-left: 16px; padding-right: 16px; } .vehicle-segment-modal-order-list { margin: 0 16px; } .vehicle-segment-order-grid, .vehicle-segment-order-detail-body { grid-template-columns: 1fr; } .vehicle-segment-order-preview { display: none; } .vehicle-segment-order-detail-body ul { columns: 1; } }
.team-number-link{appearance:none;background:none;border:0;border-bottom:1px dashed currentColor;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;line-height:inherit;padding:0;text-align:left}.team-number-link:hover,.team-number-link:focus-visible{color:#bf141b}.team-number-link.small{font-size:inherit}.team-number-explanation{background:#f9fbfc;border:1px solid #dce5ea;border-radius:14px;margin:10px 0 14px;padding:16px}.team-number-explanation-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.team-number-explanation h3{font-size:18px;margin:4px 0}.team-number-explanation p{color:#637281;font-size:12px;line-height:1.5;margin:8px 0}.team-number-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:7px;margin:12px 0}.team-number-lines>div{background:#fff;border:1px solid #e0e7eb;border-radius:9px;display:flex;justify-content:space-between;gap:9px;padding:10px}.team-number-lines strong,.team-number-lines span{font-size:12px}.team-number-total{border-top:1px solid #dce5ea;padding-top:10px}.team-number-search{background:#fff;border:1px solid #dce5ea;border-radius:9px;box-sizing:border-box;font:inherit;margin:6px 0 10px;padding:10px;width:100%}.team-number-order-list{max-height:280px;overflow:auto}.team-number-order-list>div{border-bottom:1px solid #e8edf0;display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,1.4fr) minmax(130px,1.4fr) auto;gap:8px;padding:9px 3px}.team-number-order-list>div>*{font-size:11px;min-width:0;overflow-wrap:anywhere}.team-number-order-list>small{display:block;padding:10px}@media(max-width:700px){.team-number-explanation-heading{flex-direction:column}.team-number-order-list>div{grid-template-columns:1fr 1fr}}

/* Clickable M.O. figures keep the typography of the adjacent, non-clickable figures. */
.team-detail-targets .team-number-link {
  border: 0;
  color: #27333e;
  font-weight: 700;
  text-decoration: none;
}
.team-detail-targets header .team-number-link {
  display: block;
  font-size: 22px;
  letter-spacing: -.04em;
  margin-top: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.team-detail-target-metrics .team-number-link.small {
  color: #4a5661;
  display: block;
  font-size: 10px;
  letter-spacing: normal;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.team-detail-targets .team-number-link:hover { color: inherit; }
.team-detail-targets .team-number-link:focus-visible {
  border-radius: 3px;
  outline: 2px solid #bf141b;
  outline-offset: 2px;
}

.person-merchandise-panel {
  background: #fbfcfd;
  border: 1px solid #e8ecef;
  border-radius: 13px;
  margin-bottom: 10px;
  padding: 14px;
}
.person-merchandise-layout {
  align-items: center;
  display: grid;
  gap: 20px;
  grid-template-columns: 220px minmax(0, 1fr);
}
.person-merchandise-chart {
  height: 220px;
  position: relative;
  width: 220px;
}
.person-merchandise-chart svg { height: 100%; width: 100%; }
.person-merchandise-total {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
.person-merchandise-total small { color: #798895; font-size: 11px; }
.person-merchandise-total strong { color: #263744; font-size: 20px; }
.person-merchandise-legend {
  display: grid;
  gap: 6px 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}
.person-merchandise-row {
  align-items: center;
  background: #fff;
  border: 1px solid #e9eef1;
  border-radius: 8px;
  display: grid;
  gap: 6px;
  grid-template-columns: 9px minmax(0, 1fr) auto auto;
  min-width: 0;
  padding: 6px 8px;
}
.person-merchandise-row i { border-radius: 50%; height: 9px; width: 9px; }
.person-merchandise-row span {
  color: #546674;
  font-size: 10px;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.person-merchandise-row strong { color: #263744; font-size: 10px; white-space: nowrap; }
.person-merchandise-row b { color: #3e5b73; font-size: 10px; min-width: 34px; text-align: right; }
.person-merchandise-empty { color: #82909d; font-size: 12px; margin: 6px 0 0; }
@media (max-width: 700px) {
  .person-merchandise-layout { grid-template-columns: 1fr; gap: 8px; }
  .person-merchandise-chart { justify-self: center; }
  .person-merchandise-legend { grid-template-columns: 1fr; }
}

.kpi-grid-360 .kpi-projection {
  align-items: center;
  background: #edf7f2;
  border: 1px solid #d5e9df;
  border-radius: 8px;
  color: #197a5c;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 9px;
  padding: 6px 9px;
}
.kpi-grid-360 .kpi-projection span { font-size: 10px; font-weight: 700; }
.kpi-grid-360 .kpi-projection strong { font-size: 15px; white-space: nowrap; }
.kpi-grid-360 .kpi-projection.is-warning {
  background: #fff6e9;
  border-color: #f3dfbf;
  color: #ad6a11;
}
.kpi-grid-360 .kpi-projection.is-danger {
  background: #fff0f1;
  border-color: #f2d1d4;
  color: #ba3039;
}
.kpi-grid-360 .kpi-projection.is-neutral {
  background: #f2f5f7;
  border-color: #e1e7eb;
  color: #657481;
}

/* Prévia do facelift da Visão 360: três indicadores principais. */
.module-360 { gap: 18px; }
.module-360 > .kpi-grid-360 {
  gap: 14px;
  grid-template-columns: minmax(0, 1.24fr) repeat(2, minmax(0, 1fr));
}
.module-360 > .kpi-grid-360 .kpi-card {
  border-radius: 20px;
  min-height: 202px;
  padding: 15px 18px;
}
.module-360 > .kpi-grid-360 .kpi-card.featured {
  background: radial-gradient(circle at 100% 0%, #7892a055, transparent 42%), linear-gradient(135deg, #172c3f, #304d64);
  box-shadow: 0 14px 36px #20364b2b;
}
.module-360 > .kpi-grid-360 .kpi-card.variant-mo:not(.featured) {
  background: linear-gradient(145deg, #fff, #fff8f8);
  border-color: #eed8d9;
  box-shadow: 0 9px 28px #2637460d;
}
.module-360 > .kpi-grid-360 .kpi-card.variant-parts:not(.featured) {
  background: linear-gradient(145deg, #fff, #f8fbfd);
  border-color: #d8e3ea;
  box-shadow: 0 9px 28px #2637460d;
}
.module-360 > .kpi-grid-360 .kpi-heading {
  font-size: 11px;
  letter-spacing: .07em;
}
.module-360 > .kpi-grid-360 .kpi-icon {
  border-radius: 11px;
  height: 32px;
  width: 32px;
}
.module-360 > .kpi-grid-360 .kpi-value {
  font-size: clamp(29px, 2.7vw, 40px);
  margin-top: 9px;
}
.module-360 > .kpi-grid-360 .kpi-helper {
  font-size: 11px;
  margin-top: 5px;
}
.module-360 > .kpi-grid-360 .kpi-projection {
  background: transparent;
  border: 0;
  border-top: 1px solid #dfe7eb;
  border-radius: 0;
  color: #788792;
  margin-top: auto;
  padding: 6px 0 0;
}
.module-360 > .kpi-grid-360 .kpi-projection.is-good,
.module-360 > .kpi-grid-360 .kpi-projection.is-warning,
.module-360 > .kpi-grid-360 .kpi-projection.is-danger,
.module-360 > .kpi-grid-360 .kpi-projection.is-neutral {
  background: transparent;
  border-color: #dfe7eb;
  color: #788792;
}
.module-360 > .kpi-grid-360 .kpi-projection span { font-size: 10px; font-weight: 600; }
.module-360 > .kpi-grid-360 .kpi-projection strong { color: #536c62; font-size: 12px; }
.module-360 > .kpi-grid-360 .kpi-projection.is-warning strong { color: #98734a; }
.module-360 > .kpi-grid-360 .kpi-projection.is-danger strong { color: #ae6267; }
.module-360 > .kpi-grid-360 .progress-track { display: none; }
.kpi-compact-stats {
  border-top: 1px solid #ffffff40;
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 10px;
  padding-top: 9px;
}
.module-360 > .kpi-grid-360 .kpi-card.featured .kpi-compact-stats { margin-top: auto; }
.kpi-compact-stats > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.kpi-compact-stats span {
  color: #d2e0e9;
  font-size: 9px;
  font-weight: 720;
  white-space: nowrap;
}
.kpi-compact-stats strong {
  color: #fff;
  font-size: clamp(12px, 1.12vw, 16px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.module-360 > .kpi-grid-360 .kpi-card:not(.featured) .kpi-compact-stats {
  border-color: #dfe7eb;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 8px 0 6px;
  padding-top: 9px;
}
.module-360 > .kpi-grid-360 .kpi-card:not(.featured) .kpi-compact-stats span {
  color: #788792;
  font-size: 10px;
}
.module-360 > .kpi-grid-360 .kpi-card:not(.featured) .kpi-compact-stats strong {
  color: #253745;
  font-size: clamp(13px, 1.25vw, 17px);
}
@media (max-width: 1050px) {
  .module-360 > .kpi-grid-360 .kpi-card { padding: 16px; }
  .kpi-compact-stats { gap: 4px; }
  .kpi-compact-stats span { font-size: 8px; }
}
@media (max-width: 760px) {
  .module-360 > .kpi-grid-360 { grid-template-columns: 1fr; }
  .module-360 > .kpi-grid-360 .kpi-card { min-height: 0; }
  .kpi-compact-stats strong { font-size: 14px; }
}

/* Use less vertical space for navigation context and page titles. */
.app-shell > .topbar {
  min-height: 60px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.app-shell > .topbar .brand-mark { width: 38px; height: 38px; }
.app-shell > .topbar .brand strong { font-size: 16px; }
.app-shell > .topbar .brand small { margin-top: 2px; font-size: 10px; }
.side-navigation { top: 60px; }
.app-shell > main,
.app-shell > .discount-audit-main { padding-top: 10px; }
.context-row { min-height: 24px; margin-bottom: 3px; }
.context-month { padding: 3px 7px; }
.page-heading {
  align-items: center;
  gap: 12px;
  margin: 2px 0 10px;
}
.page-heading > div:first-child { flex: 1; min-width: 0; }
.page-heading > div:first-child > span:first-child { display: none; }
.page-heading h1 {
  margin: 0 0 3px;
  font-size: clamp(21px, 1.7vw, 26px);
  line-height: 1.12;
}
.page-heading p { font-size: 10.5px; line-height: 1.35; }
.page-heading .primary-button,
.page-heading .secondary-button { min-height: 34px; padding: 0 11px; font-size: 11px; }
.page-heading .audit-heading-actions { flex: none; flex-wrap: nowrap; gap: 6px; }
.revision-rule-note { gap: 8px; margin: 0 0 10px; padding: 7px 10px; }
.revision-rule-note div { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 3px 8px; }
.annual-history { padding-top: 10px; }
.annual-heading { align-items: center; gap: 12px; margin-bottom: 12px; }
.annual-heading > div > span:first-child { display: none; }
.annual-heading h1 { margin: 0 0 3px; font-size: 26px; line-height: 1.12; }
.annual-heading p { font-size: 11px; line-height: 1.35; }
.daily-360-page { gap: 14px; padding: 16px; }
.daily-360-heading { align-items: center; gap: 14px; padding: 14px 18px; }
.daily-360-heading > div:first-child > span { display: none; }
.daily-360-heading h1 { font-size: clamp(25px, 2.4vw, 32px); }
.daily-360-heading p { margin-top: 3px; font-size: 11px; }

@media (max-width: 700px) {
  .app-shell > .topbar { min-height: 58px; }
  .side-navigation { top: 58px; }
  .page-heading { align-items: flex-start; }
  .page-heading .audit-heading-actions { flex-wrap: wrap; }
  .page-heading h1 { font-size: 22px; }
  .daily-360-heading { align-items: stretch; }
  .annual-heading { align-items: flex-start; }
}

/* Keep all global controls in the left navigation; content starts at the top. */
.side-navigation {
  top: 0;
  padding-top: 10px;
}

.side-navigation .module-switch,
.side-navigation .subnav,
.side-navigation .sidebar-section-label {
  flex: none;
}

.side-navigation .module-switch,
.side-navigation .subnav { gap: 0; }

.side-navigation .sidebar-area-group {
  display: flex;
  flex: none;
  flex-direction: column;
  width: 100%;
}

.side-navigation .sidebar-area-group > [role="tab"]::after {
  display: none;
  flex: none;
  width: 7px;
  height: 7px;
  margin-left: auto;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  transform: rotate(-45deg);
}

.side-navigation:hover .sidebar-area-group > [role="tab"]::after,
.side-navigation.is-open .sidebar-area-group > [role="tab"]::after,
.side-navigation:has(:focus-visible) .sidebar-area-group > [role="tab"]::after {
  display: block;
}

.side-navigation .sidebar-area-group > [role="tab"][aria-expanded="true"]::after {
  transform: rotate(45deg);
}

.side-navigation .sidebar-area-group > [role="tab"] .audit-notification-badge {
  position: absolute;
  top: 2px;
  right: 1px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 18px;
  height: 18px;
  padding: 0 3px;
  border: 2px solid #fff;
  border-radius: 10px;
  background: #d71920;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
}

.side-navigation:hover .audit-notification-badge,
.side-navigation.is-open .audit-notification-badge,
.side-navigation:has(:focus-visible) .audit-notification-badge {
  top: 9px;
  right: 32px;
  border-color: #fff;
}

.side-navigation .module-subnav {
  display: none;
  width: calc(100% - 16px);
  margin: 1px 0 2px 16px;
  padding-left: 7px;
  border-left: 2px solid #e3e9ed;
}

.side-navigation:hover .module-subnav,
.side-navigation.is-open .module-subnav,
.side-navigation:has(:focus-visible) .module-subnav {
  display: flex;
}

.side-navigation .module-subnav button,
.side-navigation:hover .module-subnav button,
.side-navigation.is-open .module-subnav button,
.side-navigation:has(:focus-visible) .module-subnav button {
  width: 100%;
  min-height: 29px;
  height: 29px;
  gap: 9px;
  padding: 0 9px;
  font-size: 11px;
}

.side-navigation .sidebar-subsection-label {
  height: 18px;
  margin-top: 2px;
  padding-top: 3px;
}

.side-navigation .sidebar-toggle,
.side-navigation .module-switch button,
.side-navigation .subnav button,
.side-navigation .sidebar-import-button,
.side-navigation .filters-floating-toggle {
  min-height: 34px;
}

.side-navigation .subnav button { height: 34px; }

.side-navigation .sidebar-brand {
  display: flex;
  flex: none;
  align-items: center;
  gap: 10px;
  width: 48px;
  min-height: 48px;
  margin-bottom: 4px;
}

.side-navigation .sidebar-brand .brand-mark {
  position: static;
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
}

.side-navigation .sidebar-brand-copy {
  display: none;
  min-width: 0;
  flex-direction: column;
  line-height: 1.2;
}

.side-navigation .sidebar-brand-copy strong {
  overflow: hidden;
  color: #263746;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.side-navigation .sidebar-brand-copy small {
  margin-top: 3px;
  color: #718090;
  font-size: 9px;
  white-space: nowrap;
}

.side-navigation:hover .sidebar-brand,
.side-navigation.is-open .sidebar-brand,
.side-navigation:has(:focus-visible) .sidebar-brand {
  width: 100%;
}

.side-navigation:hover .sidebar-brand-copy,
.side-navigation.is-open .sidebar-brand-copy,
.side-navigation:has(:focus-visible) .sidebar-brand-copy {
  display: flex;
}

.side-navigation .sidebar-footer {
  position: sticky;
  z-index: 2;
  bottom: 0;
  display: flex;
  flex: none;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid #e6ebef;
  background: #fff;
}

.side-navigation .sidebar-status,
.side-navigation .sidebar-settings-button {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 48px;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  box-shadow: none;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.side-navigation .sidebar-status { color: #168565; }
.side-navigation .sidebar-settings-button { color: #607180; cursor: pointer; }
.side-navigation .sidebar-settings-button:hover { background: #f4f7f9; color: #243746; }

.side-navigation:hover .sidebar-status,
.side-navigation:hover .sidebar-settings-button,
.side-navigation.is-open .sidebar-status,
.side-navigation.is-open .sidebar-settings-button,
.side-navigation:has(:focus-visible) .sidebar-status,
.side-navigation:has(:focus-visible) .sidebar-settings-button {
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  padding: 0 14px;
}

.side-navigation .sidebar-status svg,
.side-navigation .sidebar-settings-button svg { flex: none; }

@media (max-width: 700px) {
  .side-navigation { top: 0; }
  .side-navigation .sidebar-brand { width: 45px; }
  .side-navigation .sidebar-brand .brand-mark { width: 42px; height: 42px; }
  .side-navigation .sidebar-status,
  .side-navigation .sidebar-settings-button { width: 45px; }
  .side-navigation .sidebar-toggle,
  .side-navigation .module-switch button,
  .side-navigation .subnav button,
  .side-navigation .sidebar-import-button,
  .side-navigation .filters-floating-toggle,
  .side-navigation .sidebar-status,
  .side-navigation .sidebar-settings-button { min-height: 40px; }
  .side-navigation .subnav button { height: 40px; }
}
