/* CSS ESCLUSIVO della pagina aggiorna_fip_web.php.
   La homepage index.php continua a usare style.css.
   Tutti i selettori sono limitati alla classe .fip-admin. */
.fip-admin {
  --fip-page: #f2f5fa;
  --fip-ink: #182640;
  --fip-primary: #195bc2;
  --fip-muted: #56657b;
  --fip-border: #e0e6f0;
  box-sizing: border-box;
  margin: 0;
  padding: 24px 14px;
  min-height: 100vh;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  background: var(--fip-page);
  color: var(--fip-ink);
}
.fip-admin *, .fip-admin *::before, .fip-admin *::after { box-sizing: border-box; }
.fip-admin .panel { max-width: 980px; margin: auto; background: #fff; padding: 26px; border-radius: 17px; box-shadow: 0 7px 28px #12243c0c; }
.fip-admin .nav { display: flex; justify-content: space-between; gap: 12px; }
.fip-admin a { color: #1656b7; text-decoration: none; }
.fip-admin a:hover { text-decoration: underline; }
.fip-admin h1 { font-size: 1.65rem; margin: 22px 0 4px; }
.fip-admin h2 { font-size: 1.2rem; margin-top: 28px; }
.fip-admin .section-heading { margin-top: 0; }
.fip-admin p, .fip-admin small { color: var(--fip-muted); }
.fip-admin form { margin: 0; }
.fip-admin label { display: grid; gap: 5px; font-size: .88rem; font-weight: 650; }
.fip-admin input, .fip-admin select { font: inherit; border: 1px solid #c8d2e2; border-radius: 8px; padding: 10px; width: 100%; background: #fff; color: var(--fip-ink); }
.fip-admin input:focus-visible, .fip-admin select:focus-visible, .fip-admin button:focus-visible, .fip-admin a:focus-visible { outline: 3px solid #82b6fa; outline-offset: 2px; }
.fip-admin button, .fip-admin .btn { display: inline-block; border: 0; border-radius: 8px; background: var(--fip-primary); color: #fff; padding: 10px 15px; font: inherit; font-weight: 650; cursor: pointer; }
.fip-admin .btn-light { background: #edf2fc; color: var(--fip-primary); }
.fip-admin .btn-danger { background: #a8323d; }
.fip-admin button:hover, .fip-admin .btn:hover { filter: brightness(.95); text-decoration: none; }
.fip-admin .grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.fip-admin .actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.fip-admin .section { border: 1px solid var(--fip-border); border-radius: 12px; padding: 18px; margin-top: 18px; }
.fip-admin .table-wrap { overflow-x: auto; }
.fip-admin table { border-collapse: collapse; width: 100%; margin-top: 8px; }
.fip-admin td, .fip-admin th { border-bottom: 1px solid #e3e8f0; text-align: left; padding: 11px 8px; font-size: .92rem; }
.fip-admin td:last-child { text-align: right; white-space: nowrap; }
.fip-admin .notice { background: #fff4d9; border-radius: 9px; padding: 12px; color: #604400; margin-top: 12px; }
.fip-admin .log { background: #111e30; color: #e4efff; padding: 16px; border-radius: 9px; white-space: pre-wrap; overflow-wrap: anywhere; font: 13px/1.6 ui-monospace, monospace; }
.fip-admin .radio { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 14px 0; }
.fip-admin .radio label { display: flex; gap: 6px; align-items: center; font-weight: 400; }
.fip-admin .radio input { width: auto; }
@media(max-width: 640px) {
  .fip-admin { padding: 12px 8px; }
  .fip-admin .grid { grid-template-columns: 1fr; }
  .fip-admin .panel { padding: 16px; }
  .fip-admin td, .fip-admin th { font-size: .8rem; }
}

/* Stato certificati CA - solo pagina gestione FIP */
.fip-admin .ca-status { border: 1px solid var(--fip-border); border-radius: 8px; padding: 11px 13px; margin: 10px 0; }
.fip-admin .ca-ok { background: #eef8f1; border-color: #b9e0c2; color: #205b36; }
.fip-admin .ca-warning { background: #fff3e5; border-color: #f2d29b; color: #784310; }
.fip-admin .ca-check p { margin: 10px 0; }
.fip-admin .ca-note { font-size: .88rem; }
