.topbar h1 {
  font-size: 0 !important;
}

.topbar h1::before {
  content: "Executive" !important;
  display: inline-block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px !important;
  line-height: 1 !important;
}

#executive .revenue-yoy-panel {
  display: block !important;
}

#executive .split {
  display: grid !important;
}

#executive .split > article,
#executive .split > article:first-child,
#executive .split > article:nth-child(2) {
  display: block !important;
}

#monthlyChart,
#categoryChart,
#revenueYoyChart {
  width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto;
}

#monthlyChart svg,
#categoryChart svg,
#revenueYoyChart svg {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: auto;
}

@media (max-width: 900px) {
  .topbar h1::before {
    content: "Tenuta Virgilio" !important;
    font-size: clamp(30px, 9vw, 42px) !important;
  }

  #executive .split {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  #executive .revenue-yoy-panel,
  #executive .split > article,
  #executive .split > article:first-child,
  #executive .split > article:nth-child(2) {
    display: block !important;
  }

  #executive .split .panel {
    min-height: 0 !important;
  }

  #monthlyChart.chart,
  #categoryChart.chart,
  #revenueYoyChart.chart {
    min-height: 220px !important;
    height: auto !important;
  }

  #categoryChart .donut-chart {
    grid-template-columns: minmax(0, 1fr) !important;
    height: auto !important;
  }

  #categoryChart .donut-visual {
    margin-inline: auto;
  }
}

@media (max-width: 520px) {
  .hero-kpi-grid,
  .kpi-grid,
  .kpi-grid.compact,
  .stays-unified-grid,
  .lmb-grid,
  .finance-layer-grid,
  .sda5-kpis,
  .sda5-checks,
  .sda5-yoy {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .table-wrap,
  .sda5-table {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  #entryTabs.entry-tabs {
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #entryTabs.entry-tabs button {
    min-width: 0 !important;
    min-height: 58px !important;
    padding: 8px 10px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }
}

.stay-confirm-arrival {
  background: #294b32 !important;
  border-color: #294b32 !important;
  color: #fffaf0 !important;
}

.stay-cancel-booking {
  background: #fff3ef !important;
  border-color: #b86a5a !important;
  color: #8c3f35 !important;
}

.row-actions button:disabled {
  cursor: not-allowed !important;
  opacity: .45 !important;
}
