/* Magellano — rivestimento delle pagine dell'area costruite con Bootstrap e con le classi ir- (Laudatur): stessi token e
   stesso aspetto dei componenti mg- (components.css). Vale solo dentro .mg-legacy, il contenitore delle pagine che non
   usano ancora direttamente le classi mg-. Regole:
   - i bottoni "primari" Bootstrap diventano antracite (mg-btn--dark): l'oro è riservato all'unica azione principale della
     pagina, scritta con mg-btn--primary;
   - una sola scala di stati (danger, warning, success, info) per badge, pillole, avvisi;
   - solo valori dai token. */

/* ---------- base ---------- */
.mg-legacy { font-family: var(--font-sans); color: var(--ink-900); font-size: 15px; line-height: 24px;
  --bs-body-color: var(--ink-900); --bs-secondary-color: var(--ink-500); --bs-border-color: var(--border); --bs-border-radius: var(--radius-md);
  --bs-border-radius-sm: var(--radius-sm); --bs-border-radius-lg: var(--radius-lg); --bs-link-color-rgb: 18, 18, 20; --bs-emphasis-color: var(--ink-900);
  --bs-body-bg: var(--surface); --bs-tertiary-bg: var(--surface-head); --bs-secondary-bg: var(--surface-alt);
  --bs-focus-ring-color: rgba(212, 160, 23, .45); --bs-font-sans-serif: var(--font-sans); }
.mg-legacy :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) { font-family: var(--font-display); color: var(--ink-900); letter-spacing: -.01em; }
.mg-legacy :is(h1, .h1, .h2, .h3) { font-weight: 800; }
.mg-legacy :is(h4, h5, h6, .h4, .h5, .h6) { font-weight: 700; }
.mg-legacy p { color: inherit; }
:is(.mg-legacy, .mg-pagehead--legacy) :where(a:not([class])) { color: var(--ink-900); text-decoration: underline; text-decoration-color: var(--gold-500); text-underline-offset: 3px; }
:is(.mg-legacy, .mg-pagehead--legacy) :where(a:not([class])):hover { color: var(--gold-700); }
:is(.mg-legacy, .mg-pagehead--legacy) .text-muted, :is(.mg-legacy, .mg-pagehead--legacy) .text-secondary, :is(.mg-legacy, .mg-pagehead--legacy) .text-body-secondary { color: var(--ink-500) !important; }
:is(.mg-legacy, .mg-pagehead--legacy) .text-primary { color: var(--gold-700) !important; }
.mg-legacy .text-success { color: var(--success) !important; }
.mg-legacy .text-danger { color: var(--danger) !important; }
.mg-legacy .text-warning { color: var(--gold-600) !important; }
.mg-legacy .text-info { color: var(--info) !important; }
.mg-legacy .bg-light { background: var(--surface-head) !important; }
.mg-legacy .bg-primary { background: var(--night) !important; color: var(--on-night); }
.mg-legacy .border, .mg-legacy .border-top, .mg-legacy .border-bottom { border-color: var(--border) !important; }
.mg-legacy hr { border-color: var(--border); opacity: 1; }
.mg-legacy small, .mg-legacy .small { font-size: 13px; line-height: 20px; }

/* ---------- bottoni ---------- */
:is(.mg-legacy, .mg-pagehead--legacy) .btn { --bs-btn-font-weight: 600; --bs-btn-font-size: 14px; --bs-btn-line-height: 20px; --bs-btn-padding-x: 18px; --bs-btn-padding-y: 10px;
  --bs-btn-border-radius: var(--radius-md); --bs-btn-focus-box-shadow: var(--focus-ring); font-family: var(--font-sans); letter-spacing: 0;
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); }
:is(.mg-legacy, .mg-pagehead--legacy) .btn-sm { --bs-btn-font-size: 13px; --bs-btn-padding-x: 12px; --bs-btn-padding-y: 6px; --bs-btn-border-radius: var(--radius-md); }
:is(.mg-legacy, .mg-pagehead--legacy) .btn-lg { --bs-btn-font-size: 15px; --bs-btn-padding-x: 24px; --bs-btn-padding-y: 14px; }
:is(.mg-legacy, .mg-pagehead--legacy) .btn-primary, :is(.mg-legacy, .mg-pagehead--legacy) .btn-dark, :is(.mg-legacy, .mg-pagehead--legacy) .btn-secondary {
  --bs-btn-bg: var(--night); --bs-btn-border-color: var(--night); --bs-btn-color: var(--on-night);
  --bs-btn-hover-bg: var(--night-800); --bs-btn-hover-border-color: var(--night-800); --bs-btn-hover-color: var(--on-night);
  --bs-btn-active-bg: var(--night-800); --bs-btn-active-border-color: var(--night-800); --bs-btn-active-color: var(--on-night);
  --bs-btn-disabled-bg: var(--night); --bs-btn-disabled-border-color: var(--night); --bs-btn-disabled-color: var(--on-night-muted); padding-inline: var(--bs-btn-padding-x); }
:is(.mg-legacy, .mg-pagehead--legacy) :is(.btn-outline-primary, .btn-outline-secondary, .btn-outline-dark, .btn-light, .btn-outline-light) {
  --bs-btn-bg: var(--surface); --bs-btn-border-color: var(--border-strong); --bs-btn-color: var(--ink-900);
  --bs-btn-hover-bg: var(--surface); --bs-btn-hover-border-color: var(--ink-900); --bs-btn-hover-color: var(--ink-900);
  --bs-btn-active-bg: var(--gold-50); --bs-btn-active-border-color: var(--ink-900); --bs-btn-active-color: var(--ink-900);
  --bs-btn-disabled-bg: var(--surface); --bs-btn-disabled-border-color: var(--border); --bs-btn-disabled-color: var(--ink-500); }
:is(.mg-legacy, .mg-pagehead--legacy) .btn-success { --bs-btn-bg: var(--success); --bs-btn-border-color: var(--success); --bs-btn-color: var(--surface); --bs-btn-hover-bg: var(--success); --bs-btn-hover-border-color: var(--success); --bs-btn-hover-color: var(--surface); }
:is(.mg-legacy, .mg-pagehead--legacy) .btn-danger { --bs-btn-bg: var(--danger); --bs-btn-border-color: var(--danger); --bs-btn-color: var(--surface); --bs-btn-hover-bg: var(--danger); --bs-btn-hover-border-color: var(--danger); --bs-btn-hover-color: var(--surface); }
:is(.mg-legacy, .mg-pagehead--legacy) :is(.btn-outline-success, .btn-outline-danger, .btn-outline-warning, .btn-outline-info) { --bs-btn-bg: var(--surface); --bs-btn-hover-bg: var(--surface); }
:is(.mg-legacy, .mg-pagehead--legacy) .btn-outline-success { --bs-btn-color: var(--success); --bs-btn-border-color: var(--success); --bs-btn-hover-color: var(--success); --bs-btn-hover-border-color: var(--success); }
:is(.mg-legacy, .mg-pagehead--legacy) .btn-outline-danger { --bs-btn-color: var(--danger); --bs-btn-border-color: var(--danger); --bs-btn-hover-color: var(--danger); --bs-btn-hover-border-color: var(--danger); }
:is(.mg-legacy, .mg-pagehead--legacy) .btn-outline-warning { --bs-btn-color: var(--warning); --bs-btn-border-color: var(--warning); --bs-btn-hover-color: var(--warning); --bs-btn-hover-border-color: var(--warning); }
:is(.mg-legacy, .mg-pagehead--legacy) .btn-link { --bs-btn-color: var(--ink-700); --bs-btn-hover-color: var(--ink-900); text-decoration: none; }
:is(.mg-legacy, .mg-pagehead--legacy) .btn-close:focus { box-shadow: var(--focus-ring); }

/* ---------- superfici: sul fondo grigio dell'area i riquadri e le tabelle delle vecchie pagine (pensati sul bianco) restano bianchi ---------- */
.mg-legacy .border:is(.rounded, .rounded-2, .rounded-3, .rounded-4), .mg-legacy :is(.shadow, .shadow-sm):is(.rounded, .rounded-2, .rounded-3, .rounded-4) {
  background-color: var(--surface); border-color: var(--border) !important; }
.mg-legacy .table { --bs-table-bg: var(--surface); }
.mg-legacy .table-responsive { border-radius: var(--radius-md); }

/* ---------- card ---------- */
.mg-legacy .card, .mg-legacy .ir-card { --bs-card-border-color: var(--border); --bs-card-border-radius: var(--radius-lg); --bs-card-bg: var(--surface);
  --bs-card-cap-bg: var(--surface-head); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.mg-legacy .card-header { background: var(--surface-head); border-bottom-color: var(--border); font-family: var(--font-display); font-weight: 700; }
.mg-legacy .card-footer { background: var(--surface); border-top-color: var(--border); }
.mg-legacy .ir-card { padding: var(--space-5) var(--space-6); }
.mg-legacy .ir-card:hover { box-shadow: var(--shadow-sm); }
.mg-legacy a.ir-card:hover { box-shadow: var(--shadow-md); }

/* ---------- tabelle (come mg-table) ---------- */
.mg-legacy .table { --bs-table-bg: transparent; --bs-table-color: var(--ink-900); --bs-table-border-color: var(--border); --bs-table-hover-bg: var(--gold-50);
  --bs-table-striped-bg: var(--surface-head); font-size: 14px; }
.mg-legacy .table > thead th { font: 700 11px/16px var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-500);
  background: var(--surface-head); border-bottom: 1px solid var(--border); padding: 12px 16px; }
.mg-legacy .table > tbody > tr > td, .mg-legacy .table > tbody > tr > th { padding: 12px 16px; border-color: var(--border); vertical-align: middle; }
.mg-legacy .table-sm > thead th, .mg-legacy .table-sm > tbody > tr > td { padding: 8px 12px; }
.mg-legacy .table > tbody > tr:hover > * { background: var(--gold-50); }
.mg-legacy .table-primary, .mg-legacy tr.table-primary > * { --bs-table-bg: var(--gold-50); --bs-table-color: var(--ink-900); background: var(--gold-50) !important; }
.mg-legacy .ir-tabella { font-size: 14px; }
.mg-legacy .ir-tabella thead th { font-size: 11px; letter-spacing: .08em; }

/* ---------- form (come mg-input, mg-label, mg-help, mg-err) ---------- */
.mg-legacy .form-label, .mg-legacy .col-form-label { font: 600 14px/20px var(--font-sans); color: var(--ink-900); margin-bottom: 6px; }
.mg-legacy .form-control, .mg-legacy .form-select { border: 1px solid var(--border-strong); border-radius: var(--radius-md); background-color: var(--surface);
  color: var(--ink-900); font: 400 15px/22px var(--font-sans); padding: 10px 14px; min-height: 44px; }
.mg-legacy .form-control-sm, .mg-legacy .form-select-sm { min-height: 38px; padding: 7px 12px; font-size: 14px; border-radius: var(--radius-md); }
.mg-legacy textarea.form-control { min-height: 88px; }
.mg-legacy .form-control::placeholder { color: var(--ink-500); }
.mg-legacy .form-control:focus, .mg-legacy .form-select:focus { border-color: var(--gold-600); box-shadow: var(--focus-ring); }
.mg-legacy .form-control.is-invalid, .mg-legacy .form-select.is-invalid { border-color: var(--danger); }
.mg-legacy .form-text { font-size: 13px; line-height: 18px; color: var(--ink-500); }
.mg-legacy .invalid-feedback, .mg-legacy .field-validation-error, .mg-legacy .validation-summary-errors { font-size: 13px; line-height: 18px; color: var(--danger); font-weight: 600; }
.mg-legacy .form-check-input { border-color: var(--border-strong); }
.mg-legacy .form-check-input:checked { background-color: var(--night); border-color: var(--night); }
.mg-legacy .form-check-input:focus { border-color: var(--gold-600); box-shadow: var(--focus-ring); }
.mg-legacy .form-switch .form-check-input:checked { background-color: var(--gold-500); border-color: var(--gold-500); }
.mg-legacy .input-group-text { background: var(--surface-head); border-color: var(--border-strong); color: var(--ink-500); }

/* ---------- allineamento dei controlli affiancati (08/10/2026) ----------
   Stessa altezza per campi, tendine e bottoni (44px, 38px nella versione piccola), e nelle righe di campi i controlli si
   allineano in basso anche se un'etichetta va a capo. Le righe con un testo d'aiuto sotto un campo restano allineate in alto
   (il testo d'aiuto sposterebbe il campo): lì l'allineamento si ottiene con etichette di pari altezza. */
.mg-legacy .form-control:not(textarea), .mg-legacy .form-select { height: 44px; }
.mg-legacy .form-control-sm:not(textarea), .mg-legacy .form-select-sm { height: 38px; min-height: 38px; }
.mg-legacy .form-select { padding-right: 38px; background-position: right 14px center; }
.mg-legacy .form-select-sm { padding-right: 34px; background-position: right 12px center; }
:is(.mg-legacy, .mg-pagehead--legacy) .btn:not(.btn-sm):not(.btn-lg):not(.btn-link):not(.btn-close) { min-height: 44px; }
:is(.mg-legacy, .mg-pagehead--legacy) .btn-sm { min-height: 38px; }
.mg-legacy .row:has(> [class*="col"] > .form-label):not(:has(> [class*="col"] > .form-text)) { align-items: flex-end; }

/* ---------- badge e stati (una sola scala) ---------- */
:is(.mg-legacy, .mg-pagehead--legacy) .badge { font: 600 12px/16px var(--font-sans); border-radius: var(--radius-sm); padding: 4px 10px; }
:is(.mg-legacy, .mg-pagehead--legacy) .badge.bg-success, :is(.mg-legacy, .mg-pagehead--legacy) .badge.bg-success-subtle { background: var(--success-bg) !important; color: var(--success) !important; }
:is(.mg-legacy, .mg-pagehead--legacy) .badge.bg-danger, :is(.mg-legacy, .mg-pagehead--legacy) .badge.bg-danger-subtle { background: var(--danger-bg) !important; color: var(--danger) !important; }
:is(.mg-legacy, .mg-pagehead--legacy) .badge.bg-warning, :is(.mg-legacy, .mg-pagehead--legacy) .badge.bg-warning-subtle { background: var(--warning-bg) !important; color: var(--warning) !important; }
:is(.mg-legacy, .mg-pagehead--legacy) .badge:is(.bg-info, .bg-info-subtle, .bg-primary, .bg-primary-subtle) { background: var(--info-bg) !important; color: var(--info) !important; }
:is(.mg-legacy, .mg-pagehead--legacy) .badge:is(.bg-secondary, .bg-secondary-subtle, .bg-light) { background: var(--surface-alt) !important; color: var(--ink-700) !important; border-color: var(--border) !important; }
:is(.mg-legacy, .mg-pagehead--legacy) .badge.bg-dark { background: var(--night) !important; color: var(--gold-500) !important; }
.mg-legacy :is(.text-success-emphasis) { color: var(--success) !important; }
.mg-legacy :is(.text-danger-emphasis) { color: var(--danger) !important; }
.mg-legacy :is(.text-warning-emphasis) { color: var(--warning) !important; }
.mg-legacy :is(.text-primary-emphasis, .text-info-emphasis) { color: var(--info) !important; }
.mg-legacy .bg-success-subtle { background: var(--success-bg) !important; }
.mg-legacy .bg-danger-subtle { background: var(--danger-bg) !important; }
.mg-legacy .bg-warning-subtle { background: var(--warning-bg) !important; }
.mg-legacy :is(.bg-info-subtle, .bg-primary-subtle) { background: var(--info-bg) !important; }
.mg-legacy .bg-secondary-subtle { background: var(--surface-alt) !important; }

/* ---------- avvisi ---------- */
.mg-legacy .alert { border-radius: var(--radius-md); border: 1px solid var(--border); font-size: 14px; line-height: 21px; }
.mg-legacy .alert-success { background: var(--success-bg); color: var(--success); }
.mg-legacy .alert-danger { background: var(--danger-bg); color: var(--danger); }
.mg-legacy .alert-warning { background: var(--warning-bg); color: var(--warning); }
.mg-legacy :is(.alert-info, .alert-primary, .alert-secondary, .alert-light) { background: var(--info-bg); color: var(--info); }
.mg-legacy .alert :is(strong, .alert-link) { color: inherit; }

/* ---------- navigazione Bootstrap (tab, pill, breadcrumb, paginazione, list group) ---------- */
.mg-legacy .breadcrumb { --bs-breadcrumb-divider-color: var(--ink-500); --bs-breadcrumb-item-active-color: var(--ink-500); font-size: 13px; }
.mg-legacy .breadcrumb a { color: var(--ink-700); text-decoration: none; }
.mg-legacy .breadcrumb a:hover { text-decoration: underline; }
.mg-legacy .nav-tabs { border-bottom-color: var(--border-strong); gap: var(--space-1); }
.mg-legacy .nav-tabs .nav-link { border: 0; border-radius: 10px 10px 0 0; color: var(--ink-500); font-weight: 600; font-size: 14px; }
.mg-legacy .nav-tabs .nav-link:hover { color: var(--ink-900); }
.mg-legacy .nav-tabs .nav-link.active { background: var(--surface-alt); color: var(--ink-900); box-shadow: inset 0 3px 0 var(--gold-500); }
.mg-legacy .nav-pills .nav-link { color: var(--ink-700); border-radius: var(--radius-pill); font-weight: 600; font-size: 13px; }
.mg-legacy .nav-pills .nav-link.active { background: var(--night); color: var(--on-night); }
.mg-legacy .pagination { --bs-pagination-color: var(--ink-900); --bs-pagination-border-color: var(--border); --bs-pagination-hover-bg: var(--gold-50);
  --bs-pagination-hover-color: var(--ink-900); --bs-pagination-active-bg: var(--night); --bs-pagination-active-border-color: var(--night);
  --bs-pagination-active-color: var(--on-night); --bs-pagination-focus-box-shadow: var(--focus-ring); }
.mg-legacy .list-group { --bs-list-group-border-color: var(--border); --bs-list-group-active-bg: var(--night); --bs-list-group-active-border-color: var(--night);
  --bs-list-group-action-hover-bg: var(--gold-50); --bs-list-group-border-radius: var(--radius-lg); }
.mg-legacy .progress { --bs-progress-bg: var(--surface-alt); --bs-progress-bar-bg: var(--gold-500); --bs-progress-border-radius: var(--radius-pill); }
.mg-legacy .modal-content { border-radius: var(--radius-lg); border-color: var(--border); }
.mg-legacy .modal-header { background: var(--surface-head); border-bottom-color: var(--border); }
.mg-legacy .accordion { --bs-accordion-border-color: var(--border); --bs-accordion-active-bg: var(--gold-50); --bs-accordion-active-color: var(--ink-900);
  --bs-accordion-btn-focus-box-shadow: var(--focus-ring); --bs-accordion-border-radius: var(--radius-lg); }
.mg-legacy details > summary { cursor: pointer; color: var(--ink-700); font-weight: 600; }

/* ---------- Laudatur (classi ir-) ---------- */
.mg-legacy.ir-page, .mg-legacy .ir-page { --ir-bordo: var(--border); --ir-testo: var(--ink-900); --ir-muto: var(--ink-500); --ir-blu: var(--gold-700);
  --ir-verde: var(--success); --ir-rosso: var(--danger); --ir-giallo: var(--gold-500); }
.mg-legacy .ir-page h1 { color: var(--ink-900); }
.mg-legacy .ir-sub { color: var(--ink-500); font-size: 14px; }
.mg-legacy .ir-chip { border-color: var(--border); background: var(--surface); color: var(--ink-700); font: 600 13px/1 var(--font-sans); padding: 10px 14px; border-radius: var(--radius-pill); }
.mg-legacy .ir-chip:hover { border-color: var(--ink-900); color: var(--ink-900); }
.mg-legacy .ir-chip.attivo { background: var(--night); border-color: var(--night); color: var(--on-night); }
.mg-legacy .ir-chip .n { color: var(--ink-500); font-weight: 500; }
.mg-legacy .ir-chip.attivo .n { color: var(--gold-500); }
.mg-legacy .ir-nome { font-family: var(--font-display); color: var(--ink-900); }
.mg-legacy .ir-settore, .mg-legacy .ir-meta, .mg-legacy .ir-kpi-base, .mg-legacy .ir-sezione-sub { color: var(--ink-500); }
.mg-legacy .ir-avatar { background: var(--night) !important; color: var(--gold-500); border-radius: var(--radius-md); font-family: var(--font-display); font-weight: 800; }
/* indicatori: come mg-kpi */
.mg-legacy .ir-kpi { background: var(--surface-head); border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); }
.mg-legacy .ir-kpi.principale, .mg-legacy .ir-kpi.principale.su, .mg-legacy .ir-kpi.principale.giu { background: var(--gold-50); border-color: var(--gold-100); }
.mg-legacy .ir-kpi-label { font: 700 11px/16px var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-500); }
.mg-legacy .ir-kpi-label .fa-solid { color: var(--gold-700) !important; }
.mg-legacy .ir-kpi-valore, .mg-legacy .ir-kpi-grande .valore { font-family: var(--font-display); font-weight: 800; color: var(--ink-900); letter-spacing: -.02em; }
.mg-legacy .ir-kpi-grande .valore { font-size: 34px; line-height: 38px; }
.mg-legacy .ir-delta { font: 600 12px/16px var(--font-sans); padding: 2px 6px; border-radius: 6px; }
.mg-legacy .ir-delta.su { color: var(--success); background: var(--success-bg); }
.mg-legacy .ir-delta.giu { color: var(--danger); background: var(--danger-bg); }
.mg-legacy .ir-sezione-titolo { font: 700 16px/22px var(--font-display); color: var(--ink-900); }
/* stati e pillole: scala unica */
.mg-legacy .ir-stato, .mg-legacy .ir-pill { font: 600 12px/16px var(--font-sans); border-radius: var(--radius-sm); padding: 4px 10px; }
.mg-legacy :is(.ir-stato-attenzione, .ir-pill.no) { background: var(--danger-bg); color: var(--danger); }
.mg-legacy :is(.ir-stato-miglioramento, .ir-pill.si) { background: var(--success-bg); color: var(--success); }
.mg-legacy .ir-stato-ricontrollo { background: var(--info-bg); color: var(--info); }
.mg-legacy :is(.ir-stato-stabile, .ir-pill.neutro) { background: var(--surface-alt); color: var(--ink-700); }
.mg-legacy :is(.ir-stato-attesa, .ir-pill.medio) { background: var(--warning-bg); color: var(--warning); }
/* riquadri problemi / miglioramento / ricontrollo / prossima azione */
.mg-legacy .ir-box { border-radius: var(--radius-md); font-size: 13px; line-height: 20px; }
.mg-legacy .ir-box.problemi { background: var(--danger-bg); }
.mg-legacy .ir-box.problemi .titolo { color: var(--danger); }
.mg-legacy .ir-box.miglioramento { background: var(--success-bg); }
.mg-legacy .ir-box.miglioramento .titolo { color: var(--success); }
.mg-legacy .ir-box.ricontrollo { background: var(--info-bg); }
.mg-legacy .ir-box.ricontrollo .titolo { color: var(--info); }
.mg-legacy .ir-box.neutro { background: var(--surface-head); color: var(--ink-500); }
.mg-legacy .ir-azione { border-color: var(--border); background: var(--info-bg); border-radius: var(--radius-md); font-size: 13px; }
.mg-legacy .ir-azione .titolo { color: var(--info); }
.mg-legacy .ir-azione .testo { color: var(--ink-900); }
.mg-legacy .ir-progress { background: var(--surface-alt); }
.mg-legacy .ir-progress > span { background: var(--gold-500); }
.mg-legacy .ir-crediti { border-color: var(--border); border-radius: var(--radius-lg); color: var(--ink-500); font-size: 13px; }
.mg-legacy .ir-crediti .barra { background: var(--surface-alt); }
.mg-legacy .ir-crediti .barra > span { background: var(--success); }
.mg-legacy .ir-crediti .barra > span.alto { background: var(--warning); }
.mg-legacy .ir-crediti .barra > span.pieno { background: var(--danger); }
.mg-legacy .ir-pallino { background: var(--success); }
/* Prompt Value Score: fasce sulla stessa scala di stati, la più alta come mg-score */
.mg-legacy .ir-pvs { font-family: var(--font-display); font-weight: 800; border-radius: 8px; }
.mg-legacy .ir-pvs.pvs-85 { background: var(--night); color: var(--gold-500); }
.mg-legacy .ir-pvs.pvs-70 { background: var(--success-bg); color: var(--success); }
.mg-legacy .ir-pvs.pvs-55 { background: var(--info-bg); color: var(--info); }
.mg-legacy .ir-pvs.pvs-40 { background: var(--surface-alt); color: var(--ink-700); }
.mg-legacy .ir-pvs.pvs-0 { background: var(--danger-bg); color: var(--danger); }
.mg-legacy .ir-pvs.pvs-nd { background: var(--surface-head); color: var(--ink-500); }
.mg-legacy .ir-pvs-scheda .k { color: var(--ink-500); }
/* tab della vecchia testata dell'analisi (finché non è rifatta) */
.mg-legacy .ir-nav { border-bottom-color: var(--border-strong); gap: var(--space-1); }
.mg-legacy .ir-nav a { color: var(--ink-500); font-weight: 600; font-size: 14px; border-bottom: 0; border-radius: 10px 10px 0 0; padding: 10px 14px; }
.mg-legacy .ir-nav a:hover { color: var(--ink-900); }
.mg-legacy .ir-nav a.attivo { background: var(--surface-alt); color: var(--ink-900); box-shadow: inset 0 3px 0 var(--gold-500); }
/* fattori, numeri, barre, presenze, matrice */
.mg-legacy .ir-fattore { border-color: var(--border); border-radius: var(--radius-md); background: var(--surface); }
.mg-legacy a.ir-fattore:hover { border-color: var(--ink-900); background: var(--gold-50); }
.mg-legacy .ir-num { font-family: var(--font-display); font-weight: 800; }
.mg-legacy :is(.ir-num.rosso) { background: var(--danger-bg); color: var(--danger); }
.mg-legacy :is(.ir-num.giallo) { background: var(--warning-bg); color: var(--warning); }
.mg-legacy :is(.ir-num.viola, .ir-num.blu) { background: var(--info-bg); color: var(--info); }
.mg-legacy :is(.ir-num.verde) { background: var(--success-bg); color: var(--success); }
.mg-legacy .ir-barra { background: var(--surface-alt); }
.mg-legacy .ir-barra > span { background: var(--gold-500); }
.mg-legacy .ir-presenze span.si { background: var(--success); }
.mg-legacy .ir-presenze span.no { background: var(--danger-bg); box-shadow: inset 0 0 0 1px var(--danger); }
.mg-legacy .ir-presenze span.nd { background: var(--surface-alt); }
.mg-legacy .ir-mini li { border-bottom-color: var(--border); }
.mg-legacy .ir-quadrante.si { background: var(--success-bg); color: var(--success); }
.mg-legacy .ir-quadrante.medio { background: var(--warning-bg); color: var(--warning); }
.mg-legacy .ir-quadrante.blu { background: var(--info-bg); color: var(--info); }
.mg-legacy .ir-quadrante.no { background: var(--danger-bg); color: var(--danger); }
.mg-legacy .ir-matrice-asse { color: var(--ink-500); }
.mg-legacy .ir-pila { background: var(--surface-alt); }
.mg-legacy :is(.ir-pila, .ir-legenda) .f1 { background: var(--gold-100); }
.mg-legacy :is(.ir-pila, .ir-legenda) .f2 { background: var(--gold-500); }
.mg-legacy :is(.ir-pila, .ir-legenda) .f3 { background: var(--night-800); }
.mg-legacy :is(.ir-pila, .ir-legenda) .f4 { background: var(--success); }

/* ---------- telefono ---------- */
@media (max-width: 760px) {
  .mg-legacy .table > thead th, .mg-legacy .table > tbody > tr > td { padding: 10px 12px; }
  /* niente scorrimento orizzontale della pagina: le tabelle senza contenitore scorrono da sole, file di bottoni e badge vanno a capo */
  .mg-legacy table.table:not(.table-responsive table) { display: block; overflow-x: auto; }
  .mg-legacy .d-flex:is(.gap-1, .gap-2, .gap-3) { flex-wrap: wrap; }
  .mg-legacy .badge { white-space: normal; }
  .mg-legacy .pagination { flex-wrap: wrap; row-gap: var(--space-1); }
  .mg-legacy .ir-kpi-grande .valore { font-size: 28px; line-height: 32px; }
}

/* ---------- Campi affiancati sempre allineati (08/10/2026) ----------
   Etichette su una riga da 768px in su: in una riga di colonne i campi (testo, menu a tendina, textarea) partono tutti
   alla stessa altezza anche quando sotto uno c'è un aiuto (form-text). Le indicazioni lunghe vanno nel form-text. */
.mg-legacy .row:has(> [class*="col"] > .form-label) { align-items: flex-start; }
@media (min-width: 768px) {
  .mg-legacy .row > [class*="col"] > .form-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
}
