/* ==========================================================
   Solstitium v36.3 — Dashboard balance safe
   Base: v36.2. Scope rigoroso: solo #dashboard.
   Obiettivo: agganciare davvero la rifinitura v36.2, sistemare
   la riga bassa e rendere i contatori area leggibili/orizzontali.
   ========================================================== */

#dashboard .container {
  width: min(1180px, calc(100vw - 56px)) !important;
  max-width: 1180px !important;
}

/* La hero resta compatta ma non microscopica. */
#dashboard .sol-service-hero {
  grid-template-columns: 250px minmax(0, 1fr) !important;
  padding: 14px 16px !important;
  min-height: 118px !important;
}

#dashboard .sol-service-actions {
  grid-template-columns: repeat(6, minmax(118px, 1fr)) !important;
  gap: 8px !important;
}

#dashboard .sol-action-card {
  min-height: 76px !important;
  padding: 8px 9px !important;
}

/* La riga delle priorità deve leggere come una barra, non come tre scatole alte. */
#dashboard .sol-v22-panel-alerts {
  padding: 8px 10px !important;
}

#dashboard .sol-v22-action-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

#dashboard .sol-v22-action-list button {
  min-height: 48px !important;
  padding: 8px 10px !important;
}

#dashboard .sol-v22-action-list button small {
  display: none !important;
}

/* Status live: card leggibili, senza badge che scappa fuori. */
#dashboard .status-grid {
  grid-template-columns: 1.05fr repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

#dashboard .status-card {
  min-height: 64px !important;
  padding: 9px 10px !important;
}

#dashboard .status-wide .status-head {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px 8px !important;
}

#dashboard .status-wide .status-title {
  max-width: none !important;
  flex: 1 1 78px !important;
}

#dashboard #status-badge {
  flex: 0 0 auto !important;
  max-width: 64px !important;
  white-space: nowrap !important;
}

/* Eventi: riquadri compatti e con scroll meno pesante. */
#dashboard .panel-grid:not(.sol-dashboard-lower-grid) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

#dashboard #box-eventi-oggi,
#dashboard #box-prossimi-eventi {
  min-height: 104px !important;
  max-height: 190px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#dashboard #box-eventi-oggi.empty,
#dashboard #box-prossimi-eventi.empty {
  min-height: 92px !important;
}

/* Riga bassa: niente più colonnina stretta a sinistra. */
#dashboard .sol-dashboard-lower-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .85fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

#dashboard .sol-dashboard-area-panel,
#dashboard .sol-dashboard-pren-panel {
  min-width: 0 !important;
  min-height: 148px !important;
}

#dashboard .sol-dashboard-area-panel .panel-head,
#dashboard .sol-dashboard-pren-panel .panel-head {
  margin-bottom: 8px !important;
}

#dashboard #contatori-area {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 102px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  display: block !important;
}

/* Variante generata da v35-service.js */
#dashboard #contatori-area > .sol-v35-area-grid,
#dashboard #contatori-area > .sol-v34-area-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
}

#dashboard #contatori-area .sol-v35-area-card,
#dashboard #contatori-area .sol-v34-area-card {
  min-height: 58px !important;
  padding: 8px 9px !important;
  border-radius: 11px !important;
}

#dashboard #contatori-area .sol-v35-area-card strong,
#dashboard #contatori-area .sol-v34-area-card strong {
  display: block !important;
  font-size: 9.4px !important;
  line-height: 1.1 !important;
  margin-bottom: 4px !important;
}

#dashboard #contatori-area .sol-v35-area-card span,
#dashboard #contatori-area .sol-v34-area-card span {
  font-size: 8px !important;
}

#dashboard #contatori-area .sol-v35-area-card b,
#dashboard #contatori-area .sol-v34-area-card b {
  display: block !important;
  margin-top: 2px !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

/* Variante storica con style inline generata da script_UPGRADED_CHECKIN.js */
#dashboard #contatori-area > div[style] {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
}

#dashboard #contatori-area > div[style] > div {
  min-width: 0 !important;
  min-height: 58px !important;
  padding: 8px 9px !important;
  border-radius: 11px !important;
  overflow: hidden !important;
}

#dashboard #contatori-area > div[style] > div > div:first-child {
  font-size: 9px !important;
  line-height: 1.1 !important;
  margin-bottom: 5px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#dashboard #contatori-area > div[style] > div > div:nth-child(2) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

#dashboard #contatori-area > div[style] > div > div:nth-child(2) div {
  min-width: 0 !important;
  font-size: 8px !important;
}

#dashboard #contatori-area > div[style] > div > div:nth-child(2) div div:last-child {
  font-size: 15px !important;
  line-height: 1 !important;
}

#dashboard #contatori-area > .sol-v35-empty,
#dashboard #contatori-area > .sol-v34-empty,
#dashboard #contatori-area .sol-v35-empty,
#dashboard #contatori-area .sol-v34-empty {
  width: 100% !important;
  min-height: 86px !important;
  display: grid !important;
  place-items: center !important;
  padding: 12px !important;
  text-align: center !important;
}

#dashboard #box-prossime-pren {
  min-height: 102px !important;
  max-height: 190px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#dashboard #box-prossime-pren.empty,
#dashboard #box-prossime-pren .sol-v35-empty,
#dashboard #box-prossime-pren .sol-v34-empty {
  min-height: 86px !important;
}

#dashboard .sol-v35-mini-list {
  display: grid !important;
  gap: 6px !important;
}

#dashboard .sol-v35-mini-list > div {
  min-height: 34px !important;
  padding: 7px 8px !important;
}

/* Data servizio più ordinata. */
#dashboard .dashboard-date-row,
#dashboard .date-row,
#dashboard .sol-service-date-row {
  margin-top: 10px !important;
}

@media (max-width: 1100px) {
  #dashboard .sol-service-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #dashboard .sol-service-hero {
    grid-template-columns: 230px minmax(0, 1fr) !important;
  }

  #dashboard .sol-dashboard-lower-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 900px) {
  #dashboard .container {
    width: calc(100vw - 24px) !important;
  }

  #dashboard .sol-service-hero,
  #dashboard .status-grid,
  #dashboard .panel-grid:not(.sol-dashboard-lower-grid) {
    grid-template-columns: 1fr !important;
  }

  #dashboard #contatori-area > .sol-v35-area-grid,
  #dashboard #contatori-area > .sol-v34-area-grid,
  #dashboard #contatori-area > div[style] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  #dashboard .sol-service-actions,
  #dashboard #contatori-area > .sol-v35-area-grid,
  #dashboard #contatori-area > .sol-v34-area-grid,
  #dashboard #contatori-area > div[style] {
    grid-template-columns: 1fr !important;
  }
}
