/* ==========================================================================
   assets/css/moduli-compat.css  (30/09/2026)
   Compatibilità grafica per le view dei moduli Investor Room, finanziatore,
   associazione, SPV, filiera tecnica e artigiani.

   Quelle view usano classi in stile BEM (card__body, badge--stato,
   btn--outline, form-grid--2…) e variabili (--color-teal,
   --color-bg-secondary…) che non esistono nei fogli di stile del tema.
   Qui le mappiamo sul tema scuro "space" senza toccare le view.
   Caricato dal layout principale DOPO marketplace-space.css.
   ========================================================================== */

:root {
  --color-teal:           #2dd4bf;
  --color-green:          #4ade80;
  --color-amber:          #fbbf24;
  --color-blue:           #38bdf8;
  --color-gray:           #94a3b8;
  --color-danger:         #f87171;
  --color-text-primary:   #f5fbff;
  --color-text-secondary: #b6c9d4;
  --color-bg-primary:     #07151f;
  --color-bg-secondary:   #0b1d29;
  --color-bg-tertiary:    #12293a;
  --color-bg-info:        #06202e;
  --color-success-bg:     #052e1a;
}

/* ── Layout ─────────────────────────────────────────────────────────────── */
.page-section--sm { padding-top: 24px; padding-bottom: 32px; }
.card__body { padding: 20px 22px; }
.card__header { padding: 16px 22px; border-bottom: 1px solid #173244; }
.form-grid--2, .form-grid--3 { display: grid; gap: 14px; }
.form-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-section__title { font-size: 1.05rem; font-weight: 700; margin: 0 0 12px; color: #fff; }
@media (max-width: 720px) {
  .form-grid--2, .form-grid--3 { grid-template-columns: minmax(0, 1fr); }
}

/* ── Form ───────────────────────────────────────────────────────────────── */
.form-input, .form-select {
  width: 100%; padding: 10px 12px; font-size: 1rem;
  background: #081620 !important; color: #f5fbff !important;
  border: 1px solid #244052 !important; border-radius: 8px !important;
}
.form-input--sm, .form-select--sm { padding: 6px 10px; font-size: .9rem; }

/* ── Bottoni (complemento degli alias in app.css / marketplace-space.css) ─ */
.btn--xs { padding: 4px 10px; font-size: .8rem; }
.btn--lg { padding: 14px 28px; font-size: 1rem; }
.btn--outline { background: transparent !important; }
.tab-btn {
  padding: 8px 14px; border-radius: 8px; border: 1px solid #234257;
  background: #0b1d29; color: #dcecf4; cursor: pointer;
}
.tab-btn--active { background: #0b3a55; border-color: #38bdf8; color: #fff; }

/* ── Badge ──────────────────────────────────────────────────────────────── */
.badge--sm { font-size: .75rem; padding: 2px 8px; }
.badge--stato, .badge--categoria {
  display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px;
  font-size: .8rem; font-weight: 700; text-transform: capitalize;
  background: #0b2130; color: #75d7ff; border: 1px solid #244052;
}
.badge--approvato, .badge--approvata, .badge--completato, .badge--completata,
.badge--accettato, .badge--accettata, .badge--attivo, .badge--attiva,
.badge--convertita, .badge--deliberata_positiva, .badge--erogata, .badge--pagato {
  background: #052e1a !important; border-color: #166534 !important; color: #4ade80 !important;
}
.badge--in_esecuzione, .badge--in_corso, .badge--in_istruttoria, .badge--inviato,
.badge--inviata, .badge--in_attesa, .badge--in_valutazione, .badge--presentata, .badge--bozza {
  background: #2a1f05 !important; border-color: #854d0e !important; color: #fbbf24 !important;
}
.badge--rifiutato, .badge--rifiutata, .badge--respinta, .badge--annullato,
.badge--annullata, .badge--deliberata_negativa, .badge--scaduto, .badge--scaduta {
  background: #2a0f12 !important; border-color: #7f1d1d !important; color: #fca5a5 !important;
}

/* ── Tabelle, avvisi, KPI ───────────────────────────────────────────────── */
.table--striped tbody tr:nth-child(even) td { background: rgba(255, 255, 255, .025); }
.table--sm th, .table--sm td { padding: 6px 10px !important; font-size: .9rem; }
.alert { padding: 14px 16px; border-radius: 10px; margin-bottom: 18px; border: 1px solid #234257; }
.alert--warning { background: #2a1f05; border-color: #854d0e; color: #fde68a; }
.alert--info    { background: #06202e; border-color: #0e4a66; color: #bae6fd; }
.alert--success { background: #052e1a; border-color: #166534; color: #bbf7d0; }
.alert--error, .alert--danger { background: #2a0f12; border-color: #7f1d1d; color: #fecaca; }
.kpi-value--green { color: #4ade80 !important; }
.kpi-value--teal  { color: #2dd4bf !important; }
.kpi-value--amber { color: #fbbf24 !important; }
.kpi-value--coral { color: #fb923c !important; }
.kpi-card--highlight { border-color: #38bdf8 !important; }

/* ── Barra avanzamento SAL ──────────────────────────────────────────────── */
.sal-progress__bar  { background: #12293a; border-radius: 4px; height: 10px; overflow: hidden; }
.sal-progress__fill { background: #2dd4bf; height: 100%; border-radius: 4px; }
.sal-progress__labels { display: flex; justify-content: space-between; font-size: .8rem; color: #8fa8b8; margin-top: 4px; }
