:root { --gap: 16px; --radius: 14px; --shadow: 0 6px 18px rgba(0,0,0,.06); }
*{box-sizing:border-box} body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',sans-serif;margin:0;background:#f6f7fb;color:#1b1f24}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:24px}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.form label{display:block;margin-bottom:12px}
.form input, textarea{width:100%;padding:10px;border-radius:10px;border:1px solid #d8dbe2;background:#fff}
button{padding:10px 14px;border-radius:10px;border:0;box-shadow:var(--shadow);cursor:pointer}
.list{display:grid;gap:var(--gap)}
.grid{display:grid;gap:var(--gap)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.top-nav{display:flex;gap:12px;padding:12px 24px;background:#fff;box-shadow:var(--shadow);position:sticky;top:0;z-index:10}
.site-footer{padding:24px;text-align:center;color:#64748b}
@media (max-width: 900px){.grid-3{grid-template-columns:1fr}}
/* badge */
.badge{ display:inline-block; padding:3px 8px; border-radius:999px; font-size:12px; border:1px solid #e5e7eb; background:#eef2ff; color:#111827; }
.badge-danger{ background:#fee2e2; border-color:#fecaca; color:#7f1d1d; }
.badge-warn{ background:#fffbeb; border-color:#fde68a; color:#7c2d12; }
.badge-ok{ background:#ecfdf5; border-color:#a7f3d0; color:#065f46; }

/* alerts list */
#alertsBanner{ margin-bottom:12px; display:flex; gap:8px; flex-wrap:wrap; }
#alertsList .alert{ border:1px solid #e5e7eb; border-radius:10px; padding:8px 10px; margin:6px 0; }
#alertsList .alert.error{ background:#fef2f2; border-color:#fecaca; color:#7f1d1d; }
#alertsList .alert.warn{ background:#fffbeb; border-color:#fde68a; color:#7c2d12; }
#alertsList .alert.info{ background:#eff6ff; border-color:#bfdbfe; color:#1e3a8a; }

/* tabella knowledge */
table.kv{ width:100%; border-collapse: collapse; }
table.kv th, table.kv td{ border-bottom:1px solid #e5e7eb; padding:8px; text-align:left; vertical-align:top; }
table.kv th{ font-weight:600; color:#374151; }
table.kv td.k{ width:220px; color:#374151; white-space:nowrap; }
table.kv td.v{ color:#111827; }
table.kv td.u{ width:220px; color:#6b7280; white-space:nowrap; }

.btn.xs{padding:6px 8px;font-size:12px;border-radius:8px}
.btn.active{outline:2px solid var(--accent)}
.table-actions{display:flex;gap:6px;justify-content:flex-end}


#toast {
    position: fixed;
    left: 20px;
    bottom: 20px;
    background: #4CAF50;
    padding: 5px 10px;
    border-radius: 0px;
    color: #fff;
    font-weight: bold;
}