/* Variabili di brand iNEST — vedi Manuale di Stile ufficiale.
   Nero/Grigio 60%/Grigio 30% non hanno un hex stampato nel manuale (solo CMYK):
   i valori sotto sono una conversione ragionevole, da validare col team brand iNEST.
   Spoke 7 (#a4d65e) è una stima provvisoria: il PDF del manuale ha un errore di
   copia-incolla sui valori ufficiali — da confermare con il team comunicazione iNEST. */
:root {
  --inest-teal: #51bab5;
  --inest-black: #1c1a1a;
  --inest-grey-60: #666666;
  --inest-grey-30: #b3b3b3;

  --spoke-1: #006778;
  --spoke-2: #2560b3;
  --spoke-3: #63b1e5;
  --spoke-4: #e0db2a;
  --spoke-5: #6ed0a2;
  --spoke-6: #008566;
  --spoke-7: #a4d65e;
  --spoke-8: #29a2d3;
  --spoke-9: #5840a5;

  --font-ui: 'Montserrat', system-ui, -apple-system, sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-ui); color: var(--inest-black); background: #f5f7f7; }
a { color: var(--inest-teal); text-decoration: none; }
h1, h2 { font-weight: 700; }

.site-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; background: #fff; border-bottom: 1px solid #eee; }
.site-header img { height: 32px; }
.site-header nav { display: flex; gap: 16px; align-items: center; font-size: 14px; }
.user-badge { color: var(--inest-grey-60); }

.site-footer { padding: 24px; text-align: center; font-size: 12px; color: var(--inest-grey-60); }
.funding-strip { display: flex; gap: 16px; justify-content: center; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.funding-placeholder { padding: 4px 8px; border: 1px dashed var(--inest-grey-30); border-radius: 4px; }
.footer-logo { height: 20px; }

.home { max-width: 960px; margin: 40px auto; padding: 0 24px; }
.bot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin-top: 16px; }
.bot-card { display: block; padding: 24px; border-radius: 12px; background: #fff; border-left: 6px solid var(--accent, var(--inest-teal)); box-shadow: 0 1px 4px rgba(0,0,0,.08); transition: transform .15s; }
.bot-card:hover { transform: translateY(-2px); }
.bot-card h2 { margin: 0; font-weight: 600; color: var(--inest-black); font-size: 18px; }

.login-page { display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.login-box { background: #fff; padding: 40px; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,.1); width: 320px; text-align: center; }
.login-logo { height: 40px; margin-bottom: 16px; }
.login-box form { display: flex; flex-direction: column; gap: 12px; text-align: left; margin-top: 16px; }
.login-box label { font-size: 13px; font-weight: 600; }
.login-box input { width: 100%; padding: 8px; margin-top: 4px; border: 1px solid #ddd; border-radius: 6px; font-family: inherit; }
.login-box button { background: var(--inest-teal); color: #fff; border: none; padding: 10px; border-radius: 6px; font-weight: 600; cursor: pointer; margin-top: 8px; }
.login-note { font-size: 12px; color: var(--inest-grey-60); margin-top: 16px; }
.error { color: #c0392b; font-size: 13px; }
.success { color: #1a7a4c; font-size: 13px; }
