:root{--bg:#0c0820;--surface:#1a1238;--border:#332960;--border-hover:#4d3f8a;--text:#f5f0ff;--text-secondary:#b8a8e0;--text-tertiary:#8473b0;--primary:#7c3aed;--primary-hover:#9061ee;--danger:#ff7a8a;--danger-bg:#2a0f1a;--success:#5ee2a8;--success-bg:#0a2418;--warning:#fb3;--warning-bg:#2a1f0a;--info:#7aa5ff;--info-bg:#0e1c3a;--radius:8px;--radius-lg:12px;color-scheme:dark}*{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{display:flex;min-height:100vh}.app-header{display:flex;flex-direction:column;gap:8px;width:220px;flex-shrink:0;padding:24px 18px;border-right:.5px solid var(--border);position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--surface)}.app-title{font-size:18px;font-weight:500;margin-bottom:12px;padding-bottom:12px;border-bottom:.5px solid var(--border)}.app-nav{display:flex;flex-direction:column;gap:2px;font-size:14px}.app-nav a{color:var(--text-secondary);padding:8px 10px;border-radius:6px;transition:background .15s}.app-nav a.active,.app-nav a:hover{background:var(--bg)}.app-nav a.active{color:var(--text);font-weight:500}.app-nav-spacer{flex:1 1;min-height:12px}.app-user{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:.5px solid var(--border);align-items:flex-start}.app-main{flex:1 1;min-width:0;max-width:1200px;margin:0 auto;padding:24px;width:100%}.app-shell:has([data-fullwidth]) .app-main{max-width:none;padding:24px 32px}@media (max-width:768px){.app-shell{flex-direction:column}.app-header{flex-direction:row;align-items:center;width:auto;height:auto;padding:16px;border-right:none;border-bottom:.5px solid var(--border);position:static;overflow-y:visible;flex-wrap:wrap;gap:12px}.app-title{font-size:18px;margin-bottom:0;padding-bottom:0;border-bottom:none;margin-right:auto}.app-nav{flex-direction:row;flex-wrap:wrap;gap:8px;width:100%;order:3}.app-nav a{padding:4px 8px;font-size:13px}.app-nav-spacer{display:none}.app-user{flex-direction:row;border-top:none;padding-top:0;align-items:center}}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius);border:.5px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;font-weight:500;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}.ph-set::placeholder{font-size:13px;opacity:.55}