:root{--bg:#fafaf7;--surface:#fff;--border:#e5e4de;--border-hover:#d3d1c7;--text:#1a1a18;--text-secondary:#73726c;--text-tertiary:#9c9a92;--primary:#1a1a18;--primary-hover:#000;--danger:#a32d2d;--danger-bg:#fcebeb;--success:#27500a;--success-bg:#eaf3de;--warning:#854f0b;--warning-bg:#faeeda;--info:#0c447c;--info-bg:#e6f1fb;--radius:8px;--radius-lg:12px}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.app-shell{max-width:1200px;margin:0 auto;padding:24px}.app-shell.fullwidth,.app-shell:has([data-fullwidth]){max-width:none;padding:24px 32px}.app-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;margin-bottom:28px;border-bottom:.5px solid var(--border)}.app-title{font-size:20px;font-weight:500}.app-nav{display:flex;gap:20px;font-size:14px}.app-nav a{color:var(--text-secondary)}.app-nav a.active,.btn{color:var(--text);font-weight:500}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius);border:.5px solid var(--border);background:var(--surface);font-size:14px;cursor:pointer;transition:all .12s ease}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--bg);border-color:var(--border-hover)}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);color:#fff}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--border)}.btn-danger:hover{background:var(--danger-bg);border-color:var(--danger)}.btn-sm{padding:5px 10px;font-size:13px}.card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:16px}.card-title{font-size:16px;font-weight:500;margin-bottom:4px}.card-subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.table{width:100%;border-collapse:collapse;background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);background:var(--bg)}.table td,.table th{border-bottom:.5px solid var(--border)}.table td{padding:14px 16px;font-size:14px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg)}.table tbody tr{transition:background .1s ease}.table a{color:var(--text);font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px 20px;gap:14px 20px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.full{grid-column:1/-1}.form-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-field input,.form-field select,.form-field textarea{padding:8px 12px;border:.5px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .12s ease;font-size:14px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--info);box-shadow:0 0 0 2px var(--info-bg)}.form-field textarea{min-height:70px;resize:vertical;font-family:inherit}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;border-top:.5px solid var(--border)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500}.badge-completato{background:var(--success-bg);color:var(--success)}.badge-da_compilare{background:var(--warning-bg);color:var(--warning)}.badge-in_compilazione{background:var(--info-bg);color:var(--info)}.empty{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-title{font-size:16px;font-weight:500;color:var(--text);margin-bottom:6px}.detail-grid{display:grid;grid-template-columns:160px 1fr;grid-gap:10px 16px;gap:10px 16px;font-size:14px}.detail-grid dt{color:var(--text-secondary);font-size:13px}.detail-grid dd{color:var(--text)}.detail-grid dd.empty{color:var(--text-tertiary);padding:0;text-align:left;font-style:italic}.alert{padding:10px 14px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.alert-info{background:var(--info-bg);color:var(--info)}.alert-success{background:var(--success-bg);color:var(--success)}.alert-danger{background:var(--danger-bg);color:var(--danger)}.share-link{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg);border-radius:var(--radius);font-family:ui-monospace,monospace;font-size:13px;margin-top:6px}.share-link code{flex:1 1;overflow-x:auto;white-space:nowrap}