/**
 * QMS Layout Base
 * Struttura minima per layout iniettato da qms-layout.js
 * Evita body gradient bleed e garantisce copertura viewport
 */

/* Quando layout QMS è montato: niente gradient viola sul body */
body:has(#app-layout) {
  background: #f9fafb;
  color: #1f2937;
}

#app-layout {
  display: flex;
  min-height: 100vh;
  width: 100%;
  background: #f9fafb;
  color: #1f2937;
}

/* Testo leggibile in tutte le card e sezioni di contenuto */
#app-main, #qms-page-content {
  color: #1f2937;
}

#qms-page-content h1,
#qms-page-content h2,
#qms-page-content h3,
#qms-page-content h4,
#qms-page-content label,
#qms-page-content p,
#qms-page-content span:not([class*="badge"]):not([class*="btn"]):not([class*="or-badge"]):not([class*="raci-badge"]):not([class*="op-status"]):not([class*="toggle"]) {
  color: #1f2937;
}

#qms-page-content select,
#qms-page-content input,
#qms-page-content textarea {
  color: #1f2937;
  background: #ffffff;
}

/* Card e sezioni: sempre testo scuro */
.qms-card, .qms-card-content, .qms-card-body, .qms-card-header {
  color: #1f2937;
}

.qms-page-header h1,
.qms-subtitle, .qms-page-header p {
  color: #374151;
}

.qms-label {
  color: #374151 !important;
}

#app-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

#app-main {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

#qms-page-content {
  padding: 24px;
}
