:root{--bg:#f4efe7;--ink:#171717;--muted:#6f6a61;--card:#fff;--line:#e3d9cc;--accent:#9a5a20;--danger:#9b1c1c;--ok:#166534;--warning:#92400e}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}.header{background:#111;color:white;padding:22px 32px;display:flex;justify-content:space-between;gap:20px;align-items:center}.logo{font-weight:800;letter-spacing:.3px;font-size:22px}.subtitle{color:#d6d3d1;font-size:14px;margin-top:4px}.nav a{color:white;margin-left:14px;text-decoration:none;font-size:14px}.container{max-width:1180px;margin:auto;padding:28px}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px;margin:18px 0;box-shadow:0 18px 50px rgba(0,0,0,.07)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}h1{font-size:34px;margin:0 0 8px}h2{font-size:22px;margin:0 0 12px}h3{font-size:17px;margin:18px 0 8px}p{line-height:1.55}.muted{color:var(--muted)}label{font-weight:700;font-size:14px;display:block;margin:12px 0 5px}input,textarea,select{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:15px}button,.btn{display:inline-block;border:0;background:#111;color:#fff;border-radius:14px;padding:12px 16px;font-weight:700;text-decoration:none;cursor:pointer;margin:4px 4px 4px 0}.btn.secondary,button.secondary{background:#efe6dc;color:#111;border:1px solid var(--line)}.badge{display:inline-block;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;background:#efe6dc}.badge.alto,.badge.critico{background:#fee2e2;color:#991b1b}.badge.medio{background:#fef3c7;color:#92400e}.badge.basso{background:#dcfce7;color:#166534}table{width:100%;border-collapse:collapse;margin-top:10px}td,th{border-bottom:1px solid #eee;padding:11px;text-align:left;vertical-align:top;font-size:14px}pre{white-space:pre-wrap;background:#111827;color:#f9fafb;border-radius:14px;padding:16px;overflow:auto}.notice{border-left:5px solid var(--accent);padding:12px 14px;background:#fff7ed;border-radius:12px}.alert{border-left:5px solid var(--danger);padding:12px 14px;background:#fef2f2;border-radius:12px}.footer{font-size:12px;color:var(--muted);text-align:center;padding:28px}@media print{.header,.nav,.noprint,.btn,button{display:none!important}body{background:white}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.container{padding:0}}
