@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Outfit:wght@400;500;600;700;800;900&family=Montserrat:wght@600;700;800&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#07070e;--bg-primary:#0a0a14;--bg-secondary:#10101e;--bg-elevated:#171728;--bg-surface:#1c1c32;--accent-50:#f3f0ff;--accent-100:#e0d4ff;--accent-200:#c4a8ff;--accent-300:#a478ff;--accent-400:#8b5cf6;--accent-500:#7c3aed;--accent-600:#6d28d9;--accent-700:#5b21b6;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--success-400:#34d399;--success-500:#10b981;--success-600:#059669;--warning-400:#fbbf24;--warning-500:#f59e0b;--warning-600:#d97706;--error-400:#f87171;--error-500:#ef4444;--error-600:#dc2626;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--text-accent:var(--accent-300);--glass-bg:#ffffff08;--glass-bg-hover:#ffffff0f;--glass-border:#ffffff0f;--glass-border-hover:#ffffff1f;--glass-shadow:0 8px 32px #0006;--glass-blur:blur(16px);--gradient-accent:linear-gradient(135deg, #7c3aed 0%, #3b82f6 100%);--gradient-accent-hover:linear-gradient(135deg, #8b5cf6 0%, #60a5fa 100%);--gradient-surface:linear-gradient(135deg, #7c3aed14 0%, #3b82f614 100%);--gradient-mesh:radial-gradient(at 20% 80%, #7c3aed1f 0%, transparent 50%), radial-gradient(at 80% 20%, #3b82f614 0%, transparent 50%), radial-gradient(at 50% 50%, #8b5cf60a 0%, transparent 70%);--gradient-glow:radial-gradient(circle, #7c3aed26 0%, transparent 70%);--border-subtle:1px solid #ffffff0a;--border-default:1px solid #ffffff14;--border-accent:1px solid #7c3aed4d;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-xl:0 16px 48px #0009;--shadow-glow:0 0 20px #7c3aed33;--shadow-glow-strong:0 0 40px #7c3aed59;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-marchio:"Montserrat", "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--ease-default:cubic-bezier(.4, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--z-base:0;--z-above:10;--z-dropdown:100;--z-modal:200;--z-toast:300;--z-tooltip:400;--sidebar-width:260px;--sidebar-collapsed:72px;--header-height:64px}[data-theme=light]{--bg-base:#f8f9fc;--bg-primary:#fff;--bg-secondary:#f1f3f8;--bg-elevated:#fff;--bg-surface:#eef1f6;--text-primary:#1a1a2e;--text-secondary:#4a5568;--text-muted:#94a3b8;--glass-bg:#ffffffa6;--glass-bg-hover:#ffffffd9;--glass-border:#0000000f;--glass-border-hover:#0000001f;--glass-shadow:0 8px 32px #00000014;--gradient-surface:linear-gradient(135deg, #7c3aed0d 0%, #3b82f60d 100%);--gradient-mesh:radial-gradient(at 20% 80%, #7c3aed0f 0%, transparent 50%), radial-gradient(at 80% 20%, #3b82f60d 0%, transparent 50%), radial-gradient(at 50% 50%, #8b5cf605 0%, transparent 70%);--gradient-glow:radial-gradient(circle, #7c3aed14 0%, transparent 70%);--border-subtle:1px solid #0000000a;--border-default:1px solid #00000014;--border-accent:1px solid #7c3aed33;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-xl:0 16px 48px #0000001f;--shadow-glow:0 0 20px #7c3aed1f;--shadow-glow-strong:0 0 40px #7c3aed33;--accent-300:#7c3aed;--text-accent:var(--accent-500);--error-400:#dc2626}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-base);transition:background-color .4s,color .3s;overflow-x:hidden}body:before{content:"";background:var(--gradient-mesh);pointer-events:none;z-index:-1;position:fixed;inset:0}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:var(--leading-tight);color:var(--text-primary);letter-spacing:-.02em}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{color:var(--text-secondary);line-height:var(--leading-relaxed)}a{color:var(--accent-300);transition:color var(--duration-fast) var(--ease-default);text-decoration:none}a:hover{color:var(--accent-200)}.gradient-text{background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff14}::-webkit-scrollbar-thumb:hover{background:#ffffff26}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:background var(--duration-normal) var(--ease-default), border-color var(--duration-normal) var(--ease-default), box-shadow var(--duration-normal) var(--ease-default), transform var(--duration-normal) var(--ease-default)}.glass-card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.glass-card-static{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all var(--duration-normal) var(--ease-default);border:none;font-weight:600;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-sm), 0 0 16px #7c3aed33}.btn-primary:hover:not(:disabled){background:var(--gradient-accent-hover);box-shadow:var(--shadow-md), var(--shadow-glow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{background:var(--glass-bg);color:var(--text-primary);border:var(--border-default);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.btn-secondary:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:#ffffff0d}.btn-danger{color:var(--error-400);background:#ef44441f;border:1px solid #ef444433}.btn-danger:hover:not(:disabled){background:#ef444433;border-color:#ef444459;transform:translateY(-1px)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--text-lg);border-radius:var(--radius-lg);font-weight:700}.btn-icon{padding:var(--space-3);border-radius:var(--radius-md);aspect-ratio:1}.input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-primary);border-radius:var(--radius-md);transition:border-color var(--duration-normal) var(--ease-default), box-shadow var(--duration-normal) var(--ease-default), background var(--duration-normal) var(--ease-default);background:#ffffff08;border:1px solid #ffffff14;outline:none}.input::placeholder{color:var(--text-muted)}.input:hover{background:#ffffff0a;border-color:#ffffff1f}.input:focus{border-color:var(--accent-500);background:#ffffff0a;box-shadow:0 0 0 3px #7c3aed26}.input-error{border-color:var(--error-500)!important;box-shadow:0 0 0 3px #ef444426!important}textarea.input{resize:vertical;min-height:100px;line-height:var(--leading-relaxed)}.input-label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:500;display:block}.input-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.input-group{margin-bottom:var(--space-6)}.badge{align-items:center;gap:var(--space-1);font-size:var(--text-xs);border-radius:var(--radius-full);letter-spacing:.02em;white-space:nowrap;padding:3px 10px;font-weight:600;display:inline-flex}.badge-draft{color:var(--text-secondary);background:#94a3b81f;border:1px solid #94a3b833}.badge-pending{color:var(--warning-400);background:#f59e0b1f;border:1px solid #f59e0b33}.badge-completed{color:var(--success-400);background:#10b9811f;border:1px solid #10b98133}.badge-expired{color:var(--error-400);background:#ef44441f;border:1px solid #ef444433}.badge-cancelled{color:#94a3b8;background:#64748b1f;border:1px solid #64748b33}.badge-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge-pending .badge-dot{background:var(--warning-400)}.badge-completed .badge-dot{background:var(--success-400)}.badge-draft .badge-dot{background:var(--text-secondary)}.badge-expired .badge-dot{background:var(--error-400)}.avatar{background:var(--gradient-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-sm{width:28px;height:28px;font-size:var(--text-xs)}.avatar-md{width:36px;height:36px;font-size:var(--text-sm)}.avatar-lg{width:44px;height:44px;font-size:var(--text-base)}.avatar-xl{width:56px;height:56px;font-size:var(--text-lg)}.avatar-group{display:flex}.avatar-group .avatar{border:2px solid var(--bg-primary);margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.progress-bar{border-radius:var(--radius-full);background:#ffffff0f;width:100%;height:4px;overflow:hidden}.progress-bar-fill{background:var(--gradient-accent);border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow) var(--ease-out)}.stepper{align-items:center;gap:var(--space-2);display:flex}.stepper-step{align-items:center;gap:var(--space-3);display:flex}.stepper-circle{width:32px;height:32px;font-size:var(--text-sm);transition:all var(--duration-normal) var(--ease-default);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.stepper-circle-inactive{color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff0f}.stepper-circle-active{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-glow)}.stepper-circle-done{color:var(--success-400);background:#10b98126;border:1px solid #10b9814d}.stepper-line{border-radius:var(--radius-full);background:#ffffff0f;flex:1;min-width:40px;height:2px}.stepper-line-active{background:var(--gradient-accent)}.stepper-label{font-size:var(--text-sm);color:var(--text-muted);transition:color var(--duration-normal) var(--ease-default);font-weight:500}.stepper-label-active{color:var(--text-primary)}.toast-container{top:var(--space-6);right:var(--space-6);z-index:var(--z-toast);gap:var(--space-3);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--bg-elevated);border:var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:toast-slide-in .3s var(--ease-spring);pointer-events:auto;max-width:420px;display:flex}.toast-success{border-left:3px solid var(--success-500)}.toast-error{border-left:3px solid var(--error-500)}.toast-warning{border-left:3px solid var(--warning-500)}.toast-info{border-left:3px solid var(--accent-500)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);animation:fade-in .2s var(--ease-default);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-elevated);border:var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:min(90vw,520px);max-height:85vh;animation:modal-pop .3s var(--ease-spring);overflow-y:auto}.modal-header{padding:var(--space-6);border-bottom:var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--space-6)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-6);border-top:var(--border-subtle);display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.tooltip{position:relative}.tooltip-content{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-primary);background:var(--bg-surface);border:var(--border-default);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-default);z-index:var(--z-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip:hover .tooltip-content{opacity:1}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#ffffff08 0%,#ffffff0f 50%,#ffffff08 100%) 0 0/200% 100%;animation:1.8s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{border:2px solid #ffffff1a;border-top-color:var(--accent-400);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.spinner-lg{border-width:3px;width:36px;height:36px}@keyframes spin{to{transform:rotate(360deg)}}.divider{margin:var(--space-6) 0;border:none;border-top:1px solid #ffffff0a}.chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--text-primary);border-radius:var(--radius-full);background:#ffffff0d;border:1px solid #ffffff14;font-weight:500;display:inline-flex}.chip-remove{cursor:pointer;width:16px;height:16px;transition:background var(--duration-fast) var(--ease-default);background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;display:flex}.chip-remove:hover{background:#ef44444d}.empty-state{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-8);text-align:center;flex-direction:column;display:flex}.empty-state-icon{border-radius:var(--radius-xl);background:var(--gradient-surface);width:64px;height:64px;color:var(--accent-300);justify-content:center;align-items:center;display:flex}.pref-available{color:var(--success-400);background:#10b98126;border:1px solid #10b9814d}.pref-preferred{color:var(--accent-300);background:#7c3aed33;border:1px solid #7c3aed66}.pref-if-needed{color:var(--warning-400);background:#f59e0b1f;border:1px solid #f59e0b40}.pref-unavailable{color:var(--error-400);background:#ef444414;border:1px solid #ef444426}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #7c3aed26}50%{box-shadow:0 0 40px #7c3aed4d}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-float{animation:3s ease-in-out infinite float}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}.animate-slide-up{animation:slide-up .5s var(--ease-out) both}.animate-slide-down{animation:slide-down .5s var(--ease-out) both}.animate-scale-in{animation:scale-in .3s var(--ease-spring) both}.stagger-children>*{animation:slide-up .4s var(--ease-out) both}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:60ms}.stagger-children>:nth-child(3){animation-delay:.12s}.stagger-children>:nth-child(4){animation-delay:.18s}.stagger-children>:nth-child(5){animation-delay:.24s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.36s}.stagger-children>:nth-child(8){animation-delay:.42s}.container{max-width:1200px;padding:0 var(--space-6);margin:0 auto}.container-narrow{max-width:860px;padding:0 var(--space-6);margin:0 auto}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex-1{flex:1}.text-center{text-align:center}.text-right{text-align:right}.w-full{width:100%}@media (max-width:768px){:root{--sidebar-width:0px;--header-height:56px}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}.container,.container-narrow{padding:0 var(--space-4)}.hide-mobile{display:none!important}}@media (min-width:769px){.hide-desktop{display:none!important}}::selection{color:var(--text-primary);background:#7c3aed4d}:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.themeToggleWrap{position:relative}.themeDropdown{width:220px;padding:var(--space-2);background:var(--bg-elevated);border:var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:scale-in .15s var(--ease-out) both;position:absolute;top:calc(100% + 8px);right:0}.themeDropdownHeader{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.themeDropdownItem{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);text-align:left;background:0 0;border:none;font-weight:500;display:flex}.themeDropdownItem:hover{background:var(--glass-bg-hover);color:var(--text-primary)}.themeDropdownItemActive{color:var(--text-primary)!important;background:#7c3aed1a!important}.themeDropdownItemActive:before{content:"";width:0;display:inline-block}.themeDropdownHint{color:var(--text-muted);margin-left:auto;font-size:10px}.themeDropdownSunInfo{padding:var(--space-3) var(--space-3);margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-muted);border-top:var(--border-subtle);justify-content:space-between;display:flex}.themeDropdownSunInfo span{align-items:center;gap:var(--space-1);display:flex}[data-theme=light] .glass-card,[data-theme=light] .glass-card-static{background:#ffffffb3;border-color:#0000000f;box-shadow:0 2px 12px #0000000f}[data-theme=light] .glass-card:hover{background:#ffffffd9;border-color:#0000001a;box-shadow:0 8px 24px #00000014}[data-theme=light] .btn-secondary{color:var(--text-primary);background:#0000000a;border-color:#00000014}[data-theme=light] .btn-ghost{color:var(--text-secondary)}[data-theme=light] .btn-ghost:hover{color:var(--text-primary);background:#0000000a}[data-theme=light] .badge{background:#0000000a;border-color:#0000000f}[data-theme=light] input,[data-theme=light] textarea,[data-theme=light] select{color:var(--text-primary);background:#00000005;border-color:#0000001a}[data-theme=light] input:focus,[data-theme=light] textarea:focus,[data-theme=light] select:focus{border-color:var(--accent-500);box-shadow:0 0 0 3px #7c3aed1a}.marchio-centrato{margin:0 auto var(--space-4);display:flex}.marchio-intestazione{margin-bottom:var(--space-5)}
