:root {
  --ink: #0b3553;
  --navy: #0b3553;
  --muted: #617486;
  --line: #dbe3e8;
  --surface: #f4f6f6;
  --blue: #9fb7d2;
  --blue-soft: #eaf0f6;
  --green: #527e76;
  --orange: #c9c3bd;
  --red: #ad7580;
  --violet: #174c6e;
  --yellow: #c9c3bd;
  --ocean-950: #0b3553;
  --ocean-800: #174c6e;
  --ocean-650: #2c5f80;
  --ocean-400: #9fb7d2;
  --ocean-200: #e9e4df;
}

.sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  height: 100vh;
  min-height: 0;
  overflow-y: auto;
  background: linear-gradient(155deg, #0b3553, #174c6e);
}

.brand {
  display: grid;
  gap: 8px;
  margin-bottom: 38px;
}

.brand-label-logo {
  display: block;
  width: 126px;
  height: auto;
}

.brand-label-caption {
  color: var(--ocean-400);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sidebar-bottom { position: relative; z-index: 1; }
.nav-link.active { background: rgba(159, 183, 210, .2); }
.nav-icon { color: var(--ocean-400); }
.search-wrap input:focus { border-color: #9fb7d2; box-shadow: 0 0 0 3px #eaf0f6; }

.hero,
.hero::after { display: none !important; }

.cost-evolution {
  margin: 10px 0 4px;
  padding: 16px;
  border-color: #dbe3e8;
  background: linear-gradient(140deg, #f7fafb, #fff 62%);
}
.cost-evolution-chart { height: 190px; cursor: crosshair; }
.cost-evolution-grid { stroke: #e2e9ee; }
.cost-evolution-average { stroke: #9fb7d2; }
.cost-evolution-line { stroke: #2c5f80; stroke-width: 2.8; }
.cost-evolution-point { stroke: #2c5f80; }
.cost-evolution-tooltip { background: #0b3553; }

.dre-diagnostic {
  border-color: #cfdde6;
  border-left-color: #9fb7d2;
  background: linear-gradient(110deg, #f7fafb, #fff);
}
.dre-diagnostic-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dre-diagnostic-header p { margin: 5px 0 0; color: #617486; font-size: 10px; line-height: 1.45; }
.dre-diagnostic-toggle {
  flex: 0 0 auto;
  padding: 8px 10px;
  border: 1px solid #bfd0de;
  border-radius: 6px;
  color: #174c6e;
  background: #fff;
  font: 700 10px "DM Sans", sans-serif;
  cursor: pointer;
}
.dre-diagnostic-toggle:hover { border-color: #9fb7d2; background: #eaf0f6; }
.dre-diagnostic-content[hidden] { display: none; }
.dre-diagnostic-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dre-diagnostic-list li { border-color: #dbe3e8; background: #fff; }
.dre-diagnostic-list .attention b { color: #7b6170; }
.dre-diagnostic-list .action b { color: #174c6e; }

.dre-table caption,
.restaurant-dre-table caption { color: #174c6e; background: #eaf0f6; }
.dre-table th,
.restaurant-dre-table th { color: #617486; background: #f7f9fa; }
.dre-table tbody tr:nth-child(2) td { color: #6b6570; background: #f7f4f2; }
.dre-table tbody tr:nth-child(3),
.restaurant-dre-table tr.row-revenue,
.restaurant-dre-table tr.row-rateio { background: #eaf0f6; }
.dre-table tbody tr:nth-child(3) td,
.restaurant-dre-table tr.row-revenue td,
.restaurant-dre-table tr.row-rateio td { color: #174c6e; }
.dre-table tbody tr:nth-child(4) { background: #edf3f7; }
.restaurant-dre-table tr.row-direct td,
.restaurant-dre-table tr.row-indirect td { color: #6b6570; background: #f7f4f2; }
.restaurant-dre-table tr.row-contribution td { color: #0b3553; background: #edf3f7; }
.restaurant-dre-table tr.row-expenses td { color: #7b6170; background: #f5f0ef; }
.restaurant-dre-table tr.row-result td { color: #174c6e; background: #eaf0f6; }
.restaurant-dre-table .result-positive,
.dre-table .result-positive { color: #174c6e !important; }
.restaurant-dre-table .result-negative,
.dre-table .result-negative { color: #8d6971 !important; }
.restaurant-dre-table tbody tr:hover td { box-shadow: inset 0 0 0 999px rgba(159, 183, 210, .16); }
.restaurant-dre-table tbody tr:hover .restaurant-ac-col { background: rgba(159, 183, 210, .24); }

.topbar-utilities { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.weather-widget { display: flex; align-items: center; gap: 8px; min-height: 39px; padding: 0 11px; border: 1px solid #dbe3e8; border-radius: 7px; background: #f9fbfc; }
.weather-icon { color: #c9a26d; font-size: 17px; line-height: 1; }
.weather-widget strong { display: block; color: #174c6e; font-size: 10px; line-height: 1.1; }
.weather-widget small { display: block; margin-top: 3px; color: #617486; font-size: 9px; line-height: 1.1; }
.notification-button { position: relative; display: grid; width: 39px; height: 39px; place-items: center; border: 1px solid #dbe3e8; border-radius: 7px; color: #174c6e; background: #fff; cursor: pointer; }
.notification-button:hover { border-color: #9fb7d2; background: #eaf0f6; }
.notification-button span { font-size: 15px; line-height: 1; filter: grayscale(1) sepia(.18) saturate(1.7) hue-rotate(160deg); }
.notification-button i { position: absolute; top: 8px; right: 8px; width: 6px; height: 6px; border: 1px solid #fff; border-radius: 50%; background: #ad7580; }

.dre-front-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.dre-front-heading p { margin: 4px 0 0; color: #718197; font-size: 9px; line-height: 1.35; }
.dre-front-filter { display: inline-flex; flex: 0 0 auto; padding: 2px; border: 1px solid #dbe3e8; border-radius: 6px; background: #f7f9fa; }
.dre-front-filter button { min-height: 24px; padding: 0 7px; border: 0; border-radius: 4px; color: #617486; background: transparent; font: 700 8px "DM Sans", sans-serif; cursor: pointer; white-space: nowrap; }
.dre-front-filter button.active { color: #fff; background: #174c6e; }
.dre-front-row.metric-result .dre-front-track i::after { display: none; }
.dre-front-row.metric-result .dre-front-track .front-value.profit { background: #527e76; }
.dre-front-row.metric-result .dre-front-track .front-value.loss { background: #ad7580; }
.dre-front-row.metric-result strong { color: #174c6e; }
.dre-front-row.metric-result .front-value { min-width: 3px; }

#restaurantDreKpis .dre-kpi:nth-child(3) strong,
#restaurantDreKpis .dre-kpi:nth-child(4) strong,
#restaurantDreKpis .dre-kpi:nth-child(5) strong,
#eventsDreKpis .dre-kpi:nth-child(2) strong,
#eventsDreKpis .dre-kpi:nth-child(3) strong { color: #1d6684; }
#restaurantDreKpis .dre-kpi:nth-child(3),
#restaurantDreKpis .dre-kpi:nth-child(4),
#restaurantDreKpis .dre-kpi:nth-child(5),
#eventsDreKpis .dre-kpi:nth-child(2),
#eventsDreKpis .dre-kpi:nth-child(3) { border-color: #c8dde6; border-top: 3px solid #1d6684; background: #f3f8fa; }
#restaurantDreKpis .dre-kpi:nth-child(3) span,
#restaurantDreKpis .dre-kpi:nth-child(4) span,
#restaurantDreKpis .dre-kpi:nth-child(5) span,
#eventsDreKpis .dre-kpi:nth-child(2) span,
#eventsDreKpis .dre-kpi:nth-child(3) span { color: #1d6684; }

.restaurant-cost-donut.has-selection { box-shadow: inset 0 0 0 1px rgba(11, 53, 83, .16), 0 7px 18px rgba(11, 53, 83, .16), 0 0 0 5px #f4f7f8; }
.restaurant-cost-row.is-selected i { box-shadow: 0 0 0 3px rgba(159, 183, 210, .38); }

.portal-footer { display: flex; align-items: center; gap: 14px; margin: 38px 0 0; padding: 23px 4px 4px; border-top: 1px solid #dbe3e8; color: #174c6e; }
.portal-footer img { display: block; width: 92px; height: auto; }
.portal-footer span { font-size: 11px; font-weight: 700; }
.portal-footer small { margin-left: auto; color: #617486; font-size: 10px; }

@media (max-width: 780px) {
  .sidebar { position: fixed; height: 100vh; min-height: 0; }
  .brand-label-logo { width: 118px; }
  .dre-diagnostic-header { align-items: flex-start; flex-direction: column; }
  .dre-diagnostic-toggle { width: 100%; }
  .dre-diagnostic-list { grid-template-columns: 1fr; }
  .weather-widget small { display: none; }
  .weather-widget strong { font-size: 9px; }
  .topbar-utilities { gap: 7px; }
  .dre-front-heading { display: block; }
  .dre-front-filter { margin-top: 10px; }
  .portal-footer { align-items: flex-start; flex-wrap: wrap; gap: 8px 12px; }
  .portal-footer small { width: 100%; margin-left: 104px; }
}
