:root{--radius-sm:var(--border-radius-sm);--radius-md:var(--border-radius-md);--radius-lg:var(--border-radius-lg);--radius-xl:var(--border-radius-xl);--radius-3xl:2rem;--bg-secondary:#fff;--card-bg:#fffc;--card-border:1px solid #fff3;--button-bg:#fff;--button-border:1px solid var(--gray-300);--button-primary-bg:var(--primary-600);--button-primary-text:#fff;--button-primary-hover:var(--primary-700)}.card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:1rem;border-radius:var(--border-radius-xl);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);overflow:hidden;transition:all .25s ease;transition:all var(--transition-normal)}.card:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg)}.card-header{background:#f9fafb;background:var(--gray-50);border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100)}.card-body,.card-footer,.card-header{padding:1.5rem;padding:var(--space-lg)}.card-footer{background:#f9fafb;background:var(--gray-50);border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100)}.btn{border-radius:.75rem;border-radius:var(--border-radius-lg);overflow:hidden;padding:.5rem 1.5rem;padding:var(--space-sm) var(--space-lg);position:relative;transition:all .15s ease;transition:all var(--transition-fast)}.btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#0284c7,#0369a1);background:linear-gradient(135deg,var(--primary-600),var(--primary-700))}.btn-primary:hover{background:linear-gradient(135deg,#0369a1,#075985);background:linear-gradient(135deg,var(--primary-700),var(--primary-800));box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-secondary{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700)}.btn-secondary:hover{background:#e5e7eb;background:var(--gray-200);color:#1f2937;color:var(--gray-800)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--success),#059669)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--warning),#d97706)}.btn-lg{font-size:var(--font-size-base);padding:1rem 2rem;padding:var(--space-md) var(--space-xl)}.btn-sm{border-radius:.5rem;border-radius:var(--border-radius-md);font-size:.75rem;font-size:var(--font-size-xs);padding:.25rem 1rem;padding:var(--space-xs) var(--space-md)}.grid{grid-gap:1.5rem;grid-gap:var(--space-lg);display:grid;gap:1.5rem;gap:var(--space-lg)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}@media (min-width:769px) and (max-width:1024px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}.text-xs{font-size:.75rem;font-size:var(--font-size-xs)}.text-sm{font-size:.875rem;font-size:var(--font-size-sm)}.text-base{font-size:1rem;font-size:var(--font-size-md)}.text-lg{font-size:1.125rem;font-size:var(--font-size-lg)}.text-xl{font-size:1.25rem;font-size:var(--font-size-xl)}.text-2xl{font-size:1.5rem;font-size:var(--font-size-h3)}.text-3xl{font-size:1.875rem;font-size:var(--font-size-h2)}.text-4xl{font-size:2.25rem;font-size:var(--font-size-h1)}.font-normal{font-weight:400;font-weight:var(--font-weight-normal)}.font-medium{font-weight:500;font-weight:var(--font-weight-medium)}.font-semibold{font-weight:600;font-weight:var(--font-weight-semibold)}.font-bold{font-weight:700;font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:800}.text-gray-500{color:#6b7280;color:var(--gray-500)}.text-gray-600{color:#4b5563;color:var(--gray-600)}.text-gray-700{color:#374151;color:var(--gray-700)}.text-gray-800{color:#1f2937;color:var(--gray-800)}.text-gray-900{color:#111827;color:var(--gray-900)}.container{margin:0 auto;max-width:1200px;padding:0 var(--container-padding)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:.5rem;gap:var(--space-sm)}.gap-4{gap:1rem;gap:var(--space-md)}.gap-6{gap:1.5rem;gap:var(--space-lg)}.p-4{padding:1rem;padding:var(--space-md)}.p-6{padding:1.5rem;padding:var(--space-lg)}.p-8{padding:2rem;padding:var(--space-xl)}.m-4{margin:1rem;margin:var(--space-md)}.m-6{margin:1.5rem;margin:var(--space-lg)}.mb-6{margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.bg-gradient-primary{background:linear-gradient(135deg,#0ea5e9,#0369a1);background:linear-gradient(135deg,var(--primary-500),var(--primary-700))}.bg-gradient-gelato{background:linear-gradient(135deg,#fef3c7,#fef7ed);background:linear-gradient(135deg,var(--gelato-vanilla),var(--gelato-cream))}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-bounce-in{animation:bounceIn .8s ease-out}.page-container{background:linear-gradient(135deg,#fef7ed,#f0f9ff);background:linear-gradient(135deg,var(--gelato-cream) 0,var(--primary-50) 100%);min-height:100vh;padding:1.5rem;padding:var(--space-lg)}.page-header{background:#fff;border-left:4px solid #0284c7;border-left:4px solid var(--primary-600);border-radius:1rem;border-radius:var(--border-radius-xl);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);padding:2rem;padding:var(--space-xl)}.page-title{color:#111827;color:var(--gray-900);font-size:var(--font-size-3xl);font-weight:700;font-weight:var(--font-weight-bold);margin:0 0 .5rem;margin:0 0 var(--space-sm) 0}.page-subtitle{color:#4b5563;color:var(--gray-600);font-size:1.125rem;font-size:var(--font-size-lg);margin:0}.table-container{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:1rem;border-radius:var(--border-radius-xl);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);margin-bottom:2rem;margin-bottom:var(--space-xl);overflow:hidden;width:100%}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{background:#f9fafb;background:var(--gray-50);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--gray-200);color:#374151;color:var(--gray-700);font-weight:600;font-weight:var(--font-weight-semibold);position:sticky;top:0}.data-table td,.data-table th{padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg)}.data-table td{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);color:#1f2937;color:var(--gray-800);vertical-align:middle}.data-table tbody tr{transition:all .15s ease;transition:all var(--transition-fast)}.data-table tbody tr:hover{background-color:#f9fafb;background-color:var(--gray-50)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .actions-cell{text-align:right;white-space:nowrap}.data-table .status-cell{width:120px}.item-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:1rem;border-radius:var(--border-radius-xl);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);display:flex;flex-direction:column;margin-bottom:1.5rem;margin-bottom:var(--space-lg);overflow:hidden;transition:all .25s ease;transition:all var(--transition-normal)}.item-card:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.item-card-header{align-items:center;background:#f9fafb;background:var(--gray-50);border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg)}.item-card-header h3{color:#1f2937;color:var(--gray-800);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;font-weight:var(--font-weight-semibold);margin:0}.item-card-body{display:flex;flex-direction:column;flex-grow:1;gap:.5rem;gap:var(--space-sm);padding:1.5rem;padding:var(--space-lg)}.item-card-footer{align-items:center;background:#f9fafb;background:var(--gray-50);border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100);display:flex;justify-content:space-between;padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg)}.item-card .category-badge{background:#e0f2fe;background:var(--primary-100);border-radius:.375rem;border-radius:var(--border-radius-sm);color:#0369a1;color:var(--primary-700);display:inline-block;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm)}.item-card .description{color:#4b5563;color:var(--gray-600);font-size:.875rem;font-size:var(--font-size-sm);margin:.5rem 0;margin:var(--space-sm) 0}.item-card .price-info{color:#0369a1;color:var(--primary-700);font-size:1rem;font-size:var(--font-size-md);font-weight:600;font-weight:var(--font-weight-semibold);margin-top:auto}.item-card .status-badge{border-radius:.5rem;border-radius:var(--border-radius-md);display:inline-block;font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm)}.item-card .status-badge.active{background:#10b981;background:var(--success);color:#fff}.item-card .status-badge.inactive{background:#9ca3af;background:var(--gray-400);color:#fff}.item-card .card-actions{display:flex;gap:.5rem;gap:var(--space-sm);margin-top:1rem;margin-top:var(--space-md)}.card-grid{grid-gap:1.5rem;grid-gap:var(--space-lg);display:grid;gap:1.5rem;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.status-badge{align-items:center;border-radius:.5rem;border-radius:var(--border-radius-md);display:inline-flex;font-size:.75rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);justify-content:center;line-height:1;padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm);white-space:nowrap}.status-badge.active{background-color:#10b981;background-color:var(--success);color:#fff}.status-badge.inactive{background-color:#9ca3af;background-color:var(--gray-400);color:#fff}.status-badge.pending{background-color:#f59e0b;background-color:var(--warning);color:#fff}.status-badge.error{background-color:#ef4444;background-color:var(--error);color:#fff}.feature-badge{align-items:center;border-radius:.375rem;border-radius:var(--border-radius-sm);display:inline-flex;font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm)}.feature-badge.seasonal{background-color:#fef08a;background-color:var(--gelato-limone);color:#1f2937;color:var(--gray-800)}.feature-badge.premium{background:linear-gradient(135deg,#8bc34a,#0284c7);background:linear-gradient(135deg,var(--gelato-pistacchio),var(--primary-600));color:#fff}.feature-badge.new{background:linear-gradient(135deg,#0ea5e9,#3b82f6);background:linear-gradient(135deg,var(--primary-500),var(--info));color:#fff}.inactive-row{opacity:.6}.production-notes{background:#f9fafb;background:var(--gray-50);border-left:3px solid #7dd3fc;border-left:3px solid var(--primary-300);border-radius:.375rem;border-radius:var(--border-radius-sm);margin:1rem 0;margin:var(--space-md) 0;padding:.5rem 1rem;padding:var(--space-sm) var(--space-md)}.notes-heading{color:#374151;color:var(--gray-700);font-weight:500;font-weight:var(--font-weight-medium);margin:0 0 .25rem;margin:0 0 var(--space-xs) 0}.notes-content,.notes-heading{font-size:.875rem;font-size:var(--font-size-sm)}.notes-content{color:#4b5563;color:var(--gray-600);margin:0;white-space:pre-line}.form-row{display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-md)}.form-group{display:flex;flex:1 1;flex-direction:column;margin-bottom:1rem;margin-bottom:var(--space-md);min-width:200px}.form-label{color:#374151;color:var(--gray-700);font-weight:500;font-weight:var(--font-weight-medium);margin-bottom:.25rem;margin-bottom:var(--space-xs)}.form-input,.form-select,.form-textarea{border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:.5rem;border-radius:var(--border-radius-md);font-size:.875rem;font-size:var(--font-size-sm);padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:border-color .15s ease;transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#0ea5e9;border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;outline:none}.form-textarea{min-height:100px;resize:vertical}.checkbox-label{gap:.5rem;gap:var(--space-sm)}.form-actions{gap:1rem;margin-top:2rem}:root{--primary-50:#f0f9ff;--primary-100:#e0f2fe;--primary-200:#bae6fd;--primary-300:#7dd3fc;--primary-400:#38bdf8;--primary-500:#0ea5e9;--primary-600:#0284c7;--primary-700:#0369a1;--primary-800:#075985;--primary-900:#0c4a6e;--gelato-cream:#fef7ed;--gelato-vanilla:#fef3c7;--gelato-strawberry:#fecaca;--gelato-chocolate:#d4a574;--gelato-mint:#bbf7d0;--gelato-blueberry:#bfdbfe;--gelato-lemon:#fef08a;--gelato-purple:#e9d5ff;--gelato-cioccolato:var(--gelato-chocolate);--gelato-limone:var(--gelato-lemon);--gelato-fragola:var(--gelato-strawberry);--gelato-mora:var(--gelato-purple);--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-900:#111827;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-muted:var(--gray-500);--text-light:var(--gray-400);--bg-primary:linear-gradient(135deg,#f8fafc,#f1f5f9);--bg-secondary:#fffc;--bg-tertiary:#f8fafc99;--card-bg:#fffffff2;--input-bg:#ffffffe6;--button-bg:var(--primary-500);--button-secondary:#fffc;--button-secondary-hover:#ffffffe6;--border-color:#e2e8f0cc;--border-primary:1px solid var(--border-color);--backdrop-filter:blur(12px);--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--space-2xl:3rem;--space-3xl:4rem;--space-xxl:5rem;--font-size-xl:1.25rem;--font-size-h1:2.25rem;--font-size-h2:1.875rem;--font-size-h3:1.5rem;--font-size-h4:1.25rem;--font-weight-normal:400;--font-weight-bold:700;--border-radius-sm:0.375rem;--border-radius-md:0.5rem;--border-radius-lg:0.75rem;--border-radius-xl:1rem;--transition-base:250ms ease;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc,#f1f5f9);background:var(--bg-primary);color:#1f2937;color:var(--gray-800);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-only,table{overflow:hidden}table{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);background:#fffffff2;background:var(--card-bg);border:1px solid #e2e8f0cc;border:var(--border-primary);border-radius:.75rem;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm)}table thead{background:linear-gradient(135deg,#8bc34a,#fef08a);background:linear-gradient(135deg,var(--gelato-pistacchio),var(--gelato-limone));color:#fff}table th{font-size:.875rem;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);text-align:left}table td,table th{padding:1.5rem;padding:var(--space-lg)}table td{border-bottom:1px solid #e2e8f0cc;border-bottom:1px solid var(--border-color);color:#111827;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-md)}table tbody tr:hover{background:#fffc;background:var(--bg-secondary)}.card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);background:#fffffff2;background:var(--card-bg);border:1px solid #e2e8f0cc;border:var(--border-primary);border-radius:.75rem;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem;padding:var(--space-lg);transition:.25s ease;transition:var(--transition-base)}.card:hover{transform:translateY(-2px)}.btn,.card:hover{box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md)}.btn{background:linear-gradient(135deg,#8bc34a,#fef08a);background:linear-gradient(135deg,var(--gelato-pistacchio),var(--gelato-limone));border-radius:.5rem;color:#fff;font-size:1rem;font-size:var(--font-size-md);gap:.5rem;gap:var(--space-sm);padding:1rem 1.5rem;padding:var(--space-md) var(--space-lg);transition:.25s ease}.btn:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);filter:brightness(1.1);transform:translateY(-2px)}@media (max-width:768px){input[type=email],input[type=password],input[type=text]{appearance:none;-webkit-appearance:none;border-radius:10px;font-size:16px!important}.modal-overlay{-webkit-overflow-scrolling:touch;bottom:0;left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:9999}.modal-content{margin:1rem;max-height:calc(100vh - 2rem);max-width:calc(100vw - 2rem);min-height:auto;overflow-y:auto}button{-webkit-tap-highlight-color:transparent;min-height:44px;min-width:44px;touch-action:manipulation}.login-form{max-width:100%;width:100%}body{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}*{box-sizing:border-box;max-width:100%}}@media (max-width:480px){.hero-title{font-size:2rem!important}.hero-subtitle{font-size:1rem!important}.hero-buttons{flex-direction:column;gap:1rem}.hero-buttons button{max-width:280px;width:100%}}@media (max-width:768px){*{animation:none!important;transition:none!important}button,input,select{transition:background-color .2s ease!important}}@supports (-webkit-touch-callout:none){.modal-overlay{height:100vh;overflow:hidden;position:fixed;width:100vw}.modal-content{-webkit-overflow-scrolling:touch;max-height:90vh;overflow-y:auto;position:relative}}.debug-mobile{background:#000c;border-radius:4px;color:#fff;font-size:.8rem;left:10px;padding:.5rem;pointer-events:none;position:fixed;top:10px;z-index:10000}@media (min-width:769px){.debug-mobile{display:none}}.gusti-page{margin:0 auto;max-width:1200px;padding:20px}.filters{gap:15px;margin-bottom:30px}.filter-select,.search-input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s;width:100%}.filter-select:focus,.search-input:focus{border-color:#3498db}.gusti-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.gusto-card{border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:20px;transition:transform .2s,box-shadow .2s}.gusto-card:hover{box-shadow:0 8px 15px #00000026}.gusto-header{gap:15px;margin-bottom:15px}.gusto-header h3{color:#2c3e50;flex:1 1;font-size:1.3rem;margin:0}.gusto-color{border:2px solid #ddd;flex-shrink:0;height:40px;width:40px}.gusto-info h3{color:#2c3e50;font-size:1.3rem;margin:0 0 5px}.categoria{color:#7f8c8d;font-size:.9rem;font-weight:500}.gusto-status{display:flex;flex-direction:column;gap:5px}.badge{min-width:80px;text-align:center}.badge.stagionale{background:#e8f5e8;color:#27ae60}.badge.inattivo{background:#fdeaea;color:#e74c3c}.descrizione{color:#555;font-style:italic;line-height:1.4;margin-bottom:15px}.allergeni,.ingredienti{color:#666;font-size:.9rem;margin-bottom:10px}.allergeni strong,.ingredienti strong{color:#2c3e50}.gusto-actions{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:15px}.btn{text-align:center}.btn-primary{background:#3498db}.btn-primary:hover{background:#2980b9}.btn-secondary{background:#95a5a6}.btn-secondary:hover{background:#7f8c8d}.btn-danger{background:#e74c3c}.btn-danger:hover{background:#c0392b}.modal{border-radius:16px;box-shadow:0 25px 50px #00000040;max-height:95vh!important;max-width:1000px!important;padding:0;transform:scale(1);transition:all .3s ease;width:95%!important}.close-btn{background:none;color:#999;font-size:24px;height:30px;padding:0;width:30px}.close-btn:hover{color:#333}.modal-form{display:flex;flex-direction:column;gap:20px;padding:24px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.form-grid-full{grid-column:1/-1}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.modal{margin:10px;max-width:95%!important;width:95%!important}}.modal-section{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.modal-section-title{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:12px}.modal-form{padding:20px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:6px;font-size:16px;padding:10px;transition:border-color .3s}.form-group textarea{min-height:80px}.checkbox-group{align-items:center;display:flex;gap:10px}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:8px;margin-bottom:0}.checkbox-group input[type=checkbox]{margin:0;width:auto}.modal-actions{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;margin-top:30px;padding-top:20px}.allergeni-section,.ingredienti-section{margin:15px 0}.allergeni-section h4,.ingredienti-section h4{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 10px}.ingredienti-list{display:flex;flex-direction:column;gap:8px}.ingrediente-item{align-items:center;background:#f8f9fa;border-left:3px solid #3498db;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.ingrediente-nome{color:#2c3e50;font-weight:500}.ingrediente-quantita{background:#fff;border:1px solid #e0e0e0;border-radius:12px;color:#7f8c8d;font-size:.9rem;padding:2px 8px}.allergeni-list{display:flex;flex-wrap:wrap;gap:8px}.allergene-badge{background:#fee;border:1px solid #f8d7da;border-radius:12px;color:#d63384;font-size:.8rem;font-weight:500;padding:4px 8px}.ingredienti-form{display:flex;flex-direction:column;gap:10px}.ingrediente-row{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:10px;padding:10px}.ingrediente-nome-input,.ingrediente-select{border:1px solid #ddd;border-radius:4px;flex:3 1;font-size:14px;padding:8px}.ingrediente-quantita-input{border:1px solid #ddd;border-radius:4px;flex:1.5 1;font-size:14px;min-width:80px;padding:8px}.ingrediente-unita-input,.ingrediente-unita-select{border:1px solid #ddd;border-radius:4px;flex:0.5 1;font-size:14px;max-width:70px;min-width:50px;padding:8px}.allergeni-form{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:10px}.allergene-checkbox{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:all .2s}.allergene-checkbox:hover{background:#e9ecef}.allergene-checkbox input[type=checkbox]{margin:0;width:auto}.error-message{background:#fdeaea;color:#e74c3c}.loading{color:#7f8c8d}.food-cost{align-items:center;background-color:#e8f5e8;border-left:4px solid #27ae60;border-radius:4px;display:flex;justify-content:space-between;margin:10px 0;padding:8px 12px}.food-cost-label{color:#2c3e50;font-size:14px;font-weight:500}.food-cost-value{color:#27ae60;font-size:16px;font-weight:700}.food-cost-preview{background:linear-gradient(135deg,#f0f8ff,#e6f3ff);border:1px solid #3498db;border-radius:8px;margin-top:15px;padding:16px;text-align:center}.metrics-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:12px}.metric-item{background:#ffffffb3;border:1px solid #3498db33;border-radius:6px;padding:10px 8px;text-align:center;transition:all .2s ease}.metric-item:hover{box-shadow:0 4px 8px #3498db26;transform:translateY(-1px)}.metric-item strong{color:#2c3e50;display:block;font-size:14px;font-weight:600;margin-bottom:4px}.metric-item small{color:#7f8c8d;font-size:11px;font-weight:500}.metrics-note{color:#7f8c8d;display:block;font-size:12px;font-style:italic;margin-top:8px}@media (max-width:768px){.metrics-summary{gap:8px;grid-template-columns:repeat(2,1fr)}.metric-item{padding:8px 6px}.metric-item strong{font-size:13px}}.gusto-metrics-enhanced{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:12px 0}.metric-box{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:6px;padding:8px 6px;text-align:center;transition:all .2s ease}.metric-box:hover{border-color:#007bff;box-shadow:0 3px 8px #0000001a;transform:translateY(-1px)}.metric-label{color:#6c757d;display:block;font-size:11px;font-weight:600;margin-bottom:2px}.metric-value{color:#495057;display:block;font-size:13px;font-weight:700}.metric-box:first-child{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#b8dacc}.metric-box:first-child:hover{border-color:#28a745}.metric-box:nth-child(2){background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-color:#ffeaa7}.metric-box:nth-child(2):hover{border-color:#ffc107}.metric-box:nth-child(3){background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#f5c6cb}.metric-box:nth-child(3):hover{border-color:#dc3545}@media (max-width:768px){.gusto-metrics-enhanced{gap:6px;grid-template-columns:repeat(3,1fr)}.metric-box{padding:6px 4px}.metric-label{font-size:10px}.metric-value{font-size:12px}}.food-cost-preview strong{color:#2c3e50;display:block;font-size:16px;margin-bottom:5px}.food-cost-note{color:#666;font-size:12px;font-style:italic}@media (max-width:768px){.gusti-page{padding:15px}.page-header{flex-direction:column;gap:15px;text-align:center}.page-header h1{font-size:2rem}.filters{flex-direction:column}.gusti-grid{grid-template-columns:1fr}.gusto-header{flex-wrap:wrap}.gusto-actions{flex-direction:column}.modal{margin:10px;width:95%}.modal-actions{flex-direction:column}.ingrediente-row{align-items:stretch}.allergeni-form{grid-template-columns:1fr}.food-cost{flex-direction:column;gap:5px;text-align:center}.ingrediente-row{flex-direction:column;gap:8px}.ingrediente-quantita-input,.ingrediente-select,.ingrediente-unita-input,.ingrediente-unita-select{max-width:none;min-width:auto;width:100%}}@media (max-width:480px){.gusto-header{flex-direction:column;text-align:center}.gusto-status{flex-direction:row;justify-content:center}}.gusto-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;margin-bottom:1.5rem;overflow:hidden;transition:all var(--transition-normal)}.gusto-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.gusto-header{align-items:center;border-bottom:1px solid var(--gray-100);display:flex;gap:1rem;padding:1rem}.gusto-color{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--gray-200);height:1.5rem;width:1.5rem}.gusto-body{display:flex;flex-direction:column;flex-grow:1;gap:.5rem;padding:1rem}.gusto-card h3{color:var(--gray-800);font-weight:var(--font-weight-semibold);margin:0}.gusto-card .categoria{background:var(--primary-100);border-radius:4px;color:var(--primary-700);display:inline-block;font-size:var(--font-size-sm);margin:0;padding:.25rem .5rem}.gusto-card .descrizione{color:var(--gray-600);font-size:var(--font-size-sm);margin:.5rem 0}.gusto-card .note-produzione{background:var(--gray-50);border-radius:var(--border-radius-md);margin-top:1rem;padding:.5rem}.gusto-card .note-produzione-label{color:var(--gray-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.gusto-card .note-produzione-text{color:var(--gray-600);font-size:var(--font-size-sm);margin:.5rem 0 0;white-space:pre-line}.gusto-card .food-cost{align-items:center;display:flex;gap:.5rem;margin-top:auto;padding-top:1rem}.gusto-metrics{color:#555;display:flex;font-size:.85rem;gap:8px;margin-top:4px}.gusto-metrics span{white-space:nowrap}.gusto-card .food-cost-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.page-btn.active{background-color:#8bc34a;background-color:var(--gelato-pistacchio,#8bc34a);border-color:#8bc34a;border-color:var(--gelato-pistacchio,#8bc34a)}.punti-vendita-container{margin:0 auto;max-width:1400px;padding:var(--space-lg)}.punti-vendita-header{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-wrap:wrap;gap:var(--space-lg);justify-content:space-between;margin-bottom:var(--space-xl);padding:var(--space-xl)}.punti-vendita-header-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-600),var(--primary-800));-webkit-background-clip:text;background-clip:text;color:var(--gray-800);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-sm) 0}.punti-vendita-header-content p{color:var(--gray-600);font-size:var(--font-size-lg);margin:0}.add-punto-vendita-btn{align-items:center;background:var(--button-primary-bg);border:none;border-radius:var(--radius-md);color:var(--button-primary-text);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--space-sm);padding:var(--space-md) var(--space-xl);transition:all var(--transition-normal)}.add-punto-vendita-btn:hover{background:var(--button-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.punti-vendita-stats{grid-gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.punti-vendita-grid,.punti-vendita-stats{display:grid;gap:var(--space-lg);margin-bottom:var(--space-xl)}.punti-vendita-grid{grid-gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.punto-vendita-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;padding:var(--space-xl);position:relative;transition:all var(--transition-normal)}.punto-vendita-card:before{background:var(--primary-500);background:var(--card-accent,var(--primary-500));border-radius:var(--radius-xl) var(--radius-xl) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.punto-vendita-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.punto-vendita-card[data-tipo=gelateria]{--card-accent:var(--gelato-vanilla)}.punto-vendita-card[data-tipo=bar]{--card-accent:var(--gelato-chocolate)}.punto-vendita-card[data-tipo=ristorante]{--card-accent:var(--gelato-strawberry)}.punto-vendita-card[data-tipo=eventi]{--card-accent:var(--gelato-purple)}.punto-vendita-card[data-tipo=altro]{--card-accent:var(--gelato-blueberry)}.punto-vendita-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.punto-vendita-info h3{color:var(--gray-800);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-xs) 0}.punto-vendita-tipo{background:linear-gradient(135deg,var(--primary-100),var(--primary-50));border:1px solid var(--primary-200);border-radius:var(--radius-3xl);color:var(--primary-700);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.05em;padding:var(--space-xs) var(--space-sm);text-transform:uppercase}.punto-vendita-actions{display:flex;gap:var(--space-xs)}.punto-vendita-indirizzo{align-items:flex-start;color:var(--gray-600);display:flex;gap:var(--space-sm);line-height:1.5}.punto-vendita-contatti,.punto-vendita-indirizzo{margin-bottom:var(--space-lg)}.contatto-item{align-items:center;color:var(--gray-600);display:flex;font-size:var(--font-size-sm);gap:var(--space-sm);margin-bottom:var(--space-xs)}.contatto-item:last-child{margin-bottom:0}.punto-vendita-stats{grid-gap:var(--space-md);border-top:1px solid var(--gray-200);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(80px,1fr));padding:var(--space-md) 0}.stat-item{text-align:center}.stat-value{color:var(--primary-600);display:block;font-size:var(--font-size-lg)}.stat-label{color:var(--gray-500);font-size:var(--font-size-xs);letter-spacing:.05em;margin-top:var(--space-xs);text-transform:uppercase}.punto-vendita-status{border:2px solid #fff;border-radius:50%;box-shadow:var(--shadow-sm);height:12px;position:absolute;right:var(--space-md);top:var(--space-md);width:12px}.punto-vendita-status.attivo{background:var(--success)}.punto-vendita-status.inattivo{background:var(--error)}.punto-vendita-status.sospeso{background:var(--warning)}.modal-content{max-width:700px}.form-section{margin-bottom:var(--space-xl)}.form-section h3{align-items:center;color:var(--gray-800);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-sm);margin:0 0 var(--space-lg) 0}.form-section h3:before{background:linear-gradient(135deg,var(--primary-500),var(--primary-700));border-radius:var(--radius-sm);content:"";height:20px;width:4px}.form-row-3{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:1fr 1fr 1fr}.punti-vendita-map{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);padding:var(--space-xl)}.map-placeholder{align-items:center;background:linear-gradient(135deg,var(--gray-100),var(--gray-50));border:2px dashed var(--gray-300);border-radius:var(--radius-lg);color:var(--gray-500);display:flex;font-weight:var(--font-weight-medium);height:300px;justify-content:center;text-align:center;width:100%}@media (max-width:768px){.punti-vendita-container{padding:var(--space-md)}.punti-vendita-header{align-items:flex-start;flex-direction:column;padding:var(--space-lg)}.punti-vendita-header-content h1{font-size:var(--font-size-2xl)}.punti-vendita-stats{gap:var(--space-md);grid-template-columns:repeat(2,1fr)}.punti-vendita-grid{gap:var(--space-md);grid-template-columns:1fr}.punto-vendita-header{align-items:flex-start;flex-direction:column;gap:var(--space-md)}.punto-vendita-actions{align-self:flex-end}.modal-content{padding:var(--space-xl);width:95%}.form-row,.form-row-3{gap:var(--space-md);grid-template-columns:1fr}.form-actions{flex-direction:column}}@media (max-width:480px){.punti-vendita-stats{grid-template-columns:1fr}.stat-number{font-size:var(--font-size-2xl)}.punto-vendita-card{padding:var(--space-lg)}.punto-vendita-stats{grid-template-columns:repeat(2,1fr)}.modal-content{padding:var(--space-lg)}}:root{--gelato-pistacchio:#8bc34a;--gelato-limone:#ffeb3b;--gelato-fragola:#f44336;--gelato-cioccolato:#795548;--gelato-vanilla:#fff8e1;--gelato-arancia:#ff9800;--primary-500:#3498db;--success:#27ae60;--danger:#e74c3c;--warning:#f39c12;--info:#17a2b8;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-xxl:3rem;--border-radius-sm:0.25rem;--border-radius-md:0.375rem;--border-radius-lg:0.5rem;--border-radius-xl:0.75rem;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-weight-medium:500;--font-weight-semibold:600;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--transition-base:all 0.15s ease-in-out}.storico-produzione-page{margin:0 auto;max-width:1400px;padding:1.5rem;padding:var(--space-lg)}.page-header{gap:1rem;gap:var(--space-md);margin-bottom:2rem;margin-bottom:var(--space-xl)}.page-header h1{color:#1f2937;color:var(--gray-800);font-weight:600;font-weight:var(--font-weight-semibold)}.stats{flex-wrap:wrap;gap:1.5rem;gap:var(--space-lg)}.stat-item{align-items:center;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.5rem;border-radius:var(--border-radius-lg);color:#4b5563;color:var(--gray-600);display:flex;flex-direction:column;padding:1rem;padding:var(--space-md)}.stat-item strong{color:#1f2937;color:var(--gray-800);font-size:1.125rem;font-size:var(--font-size-lg)}.filters{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.5rem;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-md);margin-bottom:2rem;margin-bottom:var(--space-xl);padding:1.5rem;padding:var(--space-lg)}.filter-group{flex:1 1;gap:.25rem;min-width:200px}.filter-group label{color:#374151;font-size:.875rem}.filter-input,.filter-select{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.375rem;border-radius:var(--border-radius-md);font-size:1rem;font-size:var(--font-size-md);padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:all .15s ease-in-out;transition:var(--transition-base)}.filter-input:focus,.filter-select:focus{border-color:#3498db;border-color:var(--primary-500);box-shadow:0 0 0 3px #3498db1a;outline:none}.btn{border-radius:.375rem;border-radius:var(--border-radius-md);font-size:.875rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:.25rem;gap:var(--space-xs);padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);transition:all .15s ease-in-out;transition:var(--transition-base)}.btn-primary{background-color:var(--primary-500)}.btn-primary:hover:not(:disabled){background-color:#2980b9}.btn-secondary{background-color:#4b5563;background-color:var(--gray-600)}.btn-secondary:hover:not(:disabled){background-color:#374151;background-color:var(--gray-700)}.btn:disabled{opacity:.5}.produzioni-table-container{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.5rem;border-radius:var(--border-radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);overflow:hidden}.produzioni-table{background:#0000;border-collapse:collapse;width:100%}.produzioni-table thead{background:linear-gradient(135deg,#8bc34a,#ffeb3b);background:linear-gradient(135deg,var(--gelato-pistacchio),var(--gelato-limone));color:#fff}.produzioni-table th{font-size:.875rem;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.5px;padding:1.5rem;padding:var(--space-lg);position:relative;text-align:left;text-transform:uppercase}.produzioni-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);color:#374151;color:var(--gray-700);font-size:1rem;font-size:var(--font-size-md);padding:1.5rem;padding:var(--space-lg);vertical-align:top}.produzioni-table tbody tr{transition:all .15s ease-in-out;transition:var(--transition-base)}.produzioni-table tbody tr:hover{background:#f9fafb;background:var(--gray-50)}.produzioni-table tbody tr:last-child td{border-bottom:none}.sortable-header{transition:all .15s ease-in-out;transition:var(--transition-base)}.sortable-header:hover{background-color:#0000001a}.date-badge{background:#3498db;background:var(--primary-500)}.date-badge,.kg-badge{border-radius:.25rem;border-radius:var(--border-radius-sm);color:#fff;display:inline-block;font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm)}.kg-badge{background:#27ae60;background:var(--success)}.costo-badge{background:#ff9800;background:var(--gelato-arancia);border-radius:.25rem;border-radius:var(--border-radius-sm);color:#fff;display:inline-block;font-size:.75rem;font-size:var(--font-size-xs);padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm)}.costo-badge,.punto-vendita-name{font-weight:500;font-weight:var(--font-weight-medium)}.punto-vendita-name{color:#1f2937;color:var(--gray-800)}.operatore-name{color:#4b5563;color:var(--gray-600);font-size:.875rem;font-size:var(--font-size-sm)}.gusti-info{display:flex;flex-direction:column;gap:.25rem;gap:var(--space-xs)}.gusti-count{color:#374151;color:var(--gray-700);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium)}.gusti-preview{flex-direction:column;gap:2px}.gusto-chip{color:#4b5563;color:var(--gray-600);display:inline-block;max-width:200px;overflow:hidden;padding:2px .25rem;padding:2px var(--space-xs);text-overflow:ellipsis;white-space:nowrap}.gusti-more,.gusto-chip{font-size:.7rem}.email-status-container{align-items:center;display:flex;gap:.5rem;gap:var(--space-sm)}.email-status{align-items:center;display:inline-flex}.email-status.sent{background-color:#27ae601a}.email-status.not-sent{background-color:#e74c3c1a;color:#e74c3c;color:var(--danger)}.btn-send-email{align-items:center;background:#0000;border:1px solid #3498db;border:1px solid var(--primary-500);border-radius:.25rem;border-radius:var(--border-radius-sm);color:#3498db;color:var(--primary-500);cursor:pointer;display:flex;font-size:1rem;font-size:var(--font-size-md);height:24px;justify-content:center;padding:0;transition:all .15s ease-in-out;transition:var(--transition-base);width:24px}.btn-send-email:hover{background-color:#3498db;background-color:var(--primary-500);color:#fff}.btn-send-email:disabled{cursor:not-allowed;opacity:.5}.success-toast{animation:fadeInOut 3s ease-in-out;background-color:#27ae60;background-color:var(--success);border-radius:.375rem;border-radius:var(--border-radius-md);bottom:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#fff;padding:1rem;padding:var(--space-md);position:fixed;right:20px;z-index:1000}@keyframes fadeInOut{0%{opacity:0;transform:translateY(10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@media (max-width:1200px){.produzioni-table-container{overflow-x:auto}.produzioni-table{min-width:1000px}}@media (max-width:768px){.storico-produzione-page{padding:1rem;padding:var(--space-md)}.page-header{align-items:flex-start}.filters,.page-header{flex-direction:column}.filter-group{min-width:auto}.stats{width:100%}.pagination,.stats{flex-direction:column}.pagination{gap:.5rem;gap:var(--space-sm)}.pagination-controls{flex-wrap:wrap;justify-content:center}}.gusti-preview{display:flex;flex-wrap:wrap;gap:3px}.gusto-chip{background:#f3f4f6;background:var(--gray-100);border-radius:.25rem;border-radius:var(--border-radius-sm);color:#374151;color:var(--gray-700);padding:2px 6px}.gusti-more,.gusto-chip{font-size:.75rem;font-size:var(--font-size-xs)}.gusti-more{color:var(--gray-500);font-style:italic}.email-status{border-radius:.25rem;border-radius:var(--border-radius-sm);font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm)}.email-status.sent{background:#10b9811a;color:#27ae60;color:var(--success)}.email-status.not-sent{background:#ef44441a;color:var(--error)}.col-created .created-date{color:var(--gray-500);font-size:.75rem;font-size:var(--font-size-xs)}.stats{align-items:center;display:flex;gap:1rem;gap:var(--space-md);margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.stat-item{background:#f9fafb;background:var(--gray-50);border-radius:.375rem;border-radius:var(--border-radius-md);color:#374151;color:var(--gray-700);font-size:.875rem;font-size:var(--font-size-sm);padding:.25rem 1rem;padding:var(--space-xs) var(--space-md)}.stat-item strong{color:var(--primary-600);font-weight:600;font-weight:var(--font-weight-semibold)}.pagination{gap:1.5rem;gap:var(--space-lg);margin-top:2rem;margin-top:var(--space-xl);padding:1.5rem;padding:var(--space-lg)}.page-info{color:#4b5563;color:var(--gray-600);font-size:.875rem;font-size:var(--font-size-sm)}.edit-modal{background:#fff;border-radius:.5rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.info-section{background:#f9fafb;background:var(--gray-50);border-radius:.375rem;border-radius:var(--border-radius-md);margin-bottom:1rem;margin-bottom:var(--space-md);padding:1rem;padding:var(--space-md)}.info-section p{color:#374151;color:var(--gray-700);margin:.25rem 0;margin:var(--space-xs) 0}.gusti-form{display:flex;flex-direction:column;gap:.5rem;gap:var(--space-sm);margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.gusto-row{align-items:center;background:#f9fafb;background:var(--gray-50);border-radius:.375rem;border-radius:var(--border-radius-md);display:flex;gap:1rem;gap:var(--space-md);padding:.5rem;padding:var(--space-sm)}.gusto-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.gusto-name{color:#1f2937;color:var(--gray-800);font-weight:500;font-weight:var(--font-weight-medium)}.gusto-category{color:#4b5563;color:var(--gray-600);font-size:.75rem;font-size:var(--font-size-xs)}.gusto-input{align-items:center;display:flex;gap:.25rem;gap:var(--space-xs)}.quantita-input{border:1px solid var(--gray-300);border-radius:.25rem;border-radius:var(--border-radius-sm);padding:.25rem .5rem;padding:var(--space-xs) var(--space-sm);text-align:center;width:80px}.unit{color:#4b5563;color:var(--gray-600);font-size:.875rem;font-size:var(--font-size-sm)}.add-gusto-section{margin-bottom:1.5rem;margin-bottom:var(--space-lg)}.gusto-select{background:#fff;border:1px solid var(--gray-300);padding:.5rem 1rem;padding:var(--space-sm) var(--space-md);width:100%}.gusto-select,.totals-section{border-radius:.375rem;border-radius:var(--border-radius-md)}.totals-section{background:#38bdf81a;margin-top:1.5rem;margin-top:var(--space-lg);padding:1rem;padding:var(--space-md)}.totals-section p{color:#1f2937;color:var(--gray-800);margin:.25rem 0;margin:var(--space-xs) 0}@media (max-width:1200px){.table-header,.table-row{font-size:.75rem;font-size:var(--font-size-xs);grid-template-columns:90px 130px 110px 90px 180px 90px 120px 90px}}@media (max-width:768px){.storico-produzione-page{padding:1rem;padding:var(--space-md)}.table-header,.table-row{gap:0;grid-template-columns:1fr}.table-header{display:none}.table-row{border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.375rem;border-radius:var(--border-radius-md);display:block;margin-bottom:.5rem;margin-bottom:var(--space-sm);padding:1.5rem;padding:var(--space-lg)}.table-row>div{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;padding:.25rem 0;padding:var(--space-xs) 0}.table-row>div:last-child{border-bottom:none}.table-row>div:before{color:#374151;color:var(--gray-700);content:attr(data-label);font-size:.875rem;font-size:var(--font-size-sm);font-weight:600;font-weight:var(--font-weight-semibold)}}.ingredienti-page{margin:0 auto;max-width:1200px;padding:20px}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between}.page-header h1{margin:0}.header-actions{display:flex;flex-wrap:wrap;gap:10px}.btn{border-radius:4px;padding:8px 16px}.btn-warning:hover{background-color:#e67e22}.btn-close{color:#666;font-size:20px}.error-message{background-color:#f8d7da;border-radius:4px;justify-content:space-between;padding:12px}.loading{color:#666;font-size:18px;padding:50px}.filters{background-color:#f8f9fa;border-radius:4px;margin-bottom:20px;padding:15px}.checkbox-label{margin:0}.modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a}.modal-large{max-width:800px}.modal-header{border-bottom:1px solid #eee}.ingrediente-form{padding:20px}.form-group{margin-bottom:15px}.form-group label{color:#34495e}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.form-row{grid-gap:15px;gap:15px}.form-actions{border-top:1px solid #eee;margin-top:20px}.ingredienti-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.ingrediente-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:box-shadow .2s}.ingrediente-card:hover{box-shadow:0 4px 8px #00000026}.ingrediente-card.disattivo{background-color:#f8f9fa;opacity:.6}.ingrediente-header{align-items:flex-start;display:flex;margin-bottom:15px}.ingrediente-header h3{color:#2c3e50;flex:1 1;font-size:18px;margin:0}.ingrediente-actions{border-top:1px solid #eee;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:20px;padding-top:15px}.ingrediente-body .descrizione{color:#666;font-style:italic;line-height:1.4;margin-bottom:15px}.ingrediente-info{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.ingrediente-info .costo{color:#27ae60;font-size:16px}.ingrediente-info .fornitore{color:#666;font-size:14px}.ingrediente-meta{align-items:center;border-top:1px solid #eee;color:#999;display:flex;font-size:12px;justify-content:space-between;padding-top:10px}.status{font-size:11px;padding:3px 8px;text-transform:uppercase}.status.disattivo{background-color:#f8d7da;color:#721c24}.no-ingredienti{color:#666;padding:60px 20px;text-align:center}.no-ingredienti p{font-size:18px;margin-bottom:20px}.statistiche-container{padding:20px}.statistiche-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.stat-card{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:15px}.stat-card h3{color:#2c3e50;font-size:16px}.stat-info{display:flex;flex-direction:column;gap:5px}.stat-info span{color:#666;font-size:14px}.stat-info strong{color:#2c3e50}.no-stats{color:#666;font-size:16px;padding:40px;text-align:center}@media (max-width:768px){.ingredienti-page{padding:15px}.page-header{align-items:stretch;flex-direction:column}.header-actions{justify-content:center}.form-row,.ingredienti-grid{grid-template-columns:1fr}.ingrediente-header{flex-direction:column;gap:10px}.ingrediente-actions{justify-content:center}.ingrediente-meta{align-items:flex-start;flex-direction:column;gap:5px}.modal{margin:10px;max-width:none}.statistiche-grid{grid-template-columns:1fr}}@media (max-width:480px){.ingrediente-actions{flex-direction:column;width:100%}.ingrediente-actions .btn{text-align:center;width:100%}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.ingredienti-container{background:var(--bg-primary);margin:0 auto;max-width:1400px;min-height:100vh;padding:var(--space-lg)}.ingredienti-header{align-items:center;display:flex;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-xl)}.ingredienti-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--gelato-cioccolato),var(--gelato-pistacchio));-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);margin:0}.ingredienti-subtitle{color:var(--text-secondary);font-size:var(--font-size-md);margin-top:var(--space-xs)}.ingredienti-actions{align-items:center;display:flex;gap:var(--space-md)}.btn-add-ingrediente{align-items:center;background:linear-gradient(135deg,var(--gelato-pistacchio),var(--gelato-limone));border:none;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);gap:var(--space-sm);padding:var(--space-md) var(--space-lg);transition:all var(--transition-base)}.btn-add-ingrediente:hover{box-shadow:var(--shadow-lg);filter:brightness(1.1);transform:translateY(-2px)}.btn-add-ingrediente:active{transform:translateY(0)}.ingredienti-filters{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);background:var(--card-bg);border:var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-xl);padding:var(--space-lg)}.filters-row{grid-gap:var(--space-md);gap:var(--space-md);grid-template-columns:2fr 1fr 1fr auto}.filter-group{gap:var(--space-xs)}.filter-group label{color:var(--text-primary);font-weight:var(--font-weight-medium)}.filter-select,.search-input{background:var(--input-bg);border:var(--border-primary);border-radius:var(--border-radius-md);color:var(--text-primary);font-size:var(--font-size-md);padding:var(--space-md);transition:var(--transition-base)}.filter-select:focus,.search-input:focus{border-color:var(--gelato-pistacchio);box-shadow:0 0 0 3px #8bc34a1a;outline:none}.btn-clear-filters{background:var(--button-secondary);border:var(--border-primary);border-radius:var(--border-radius-md);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-md) var(--space-lg);transition:var(--transition-base)}.btn-clear-filters:hover{background:var(--button-secondary-hover);transform:translateY(-1px)}.ingredienti-stats{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--space-xl)}.stat-card{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border:var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-lg);transition:var(--transition-base)}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-value{color:var(--gelato-cioccolato);font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);margin-bottom:var(--space-xs)}.stat-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.ingredienti-table-container{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);background:var(--card-bg);border:var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.ingredienti-table{background:#0000;border-collapse:collapse;width:100%}.ingredienti-table thead{background:linear-gradient(135deg,var(--gelato-pistacchio),var(--gelato-limone));color:#fff}.ingredienti-table th{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.5px;padding:var(--space-lg);text-align:left;text-transform:uppercase}.ingredienti-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:var(--font-size-md);padding:var(--space-lg)}.ingredienti-table tbody tr{cursor:pointer;transition:var(--transition-base)}.ingredienti-table tbody tr:hover{background:var(--bg-secondary)}.ingredienti-table tbody tr:last-child td{border-bottom:none}.btn-action{border-radius:var(--border-radius-sm);height:32px;padding:var(--space-sm);transition:var(--transition-base);width:32px}.btn-edit{background:#8bc34a1a;color:var(--gelato-pistacchio)}.btn-edit:hover{background:#8bc34a33;transform:scale(1.1)}.btn-delete{background:#f443361a;color:var(--gelato-fragola)}.btn-delete:hover{background:#f4433633;transform:scale(1.1)}.empty-state{color:var(--text-secondary);padding:var(--space-xxl)}.empty-state-icon{color:var(--gelato-vanilla);font-size:4rem;margin-bottom:var(--space-lg)}.empty-state-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.empty-state-text{font-size:var(--font-size-md);margin-bottom:var(--space-lg)}.loading-spinner{padding:var(--space-xxl)}.spinner{animation:spin 1s linear infinite;border-top:3px solid var(--border-color);border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--gelato-pistacchio);height:40px;width:40px}@media (max-width:1200px){.ingredienti-container{padding:var(--space-md)}.filters-row{gap:var(--space-md);grid-template-columns:1fr 1fr}.ingredienti-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:768px){.ingredienti-header{align-items:flex-start;flex-direction:column;gap:var(--space-md)}.ingredienti-actions{justify-content:flex-start;width:100%}.filters-row,.ingredienti-stats{grid-template-columns:1fr}.ingredienti-table-container{overflow-x:auto}.ingredienti-table{min-width:600px}.ingredienti-table td,.ingredienti-table th{font-size:var(--font-size-sm);padding:var(--space-md)}}@media (max-width:480px){.ingredienti-container{padding:var(--space-sm)}.ingredienti-title{font-size:var(--font-size-lg)}.btn-add-ingrediente{font-size:var(--font-size-sm);padding:var(--space-sm) var(--space-md)}.ingredienti-table td,.ingredienti-table th{padding:var(--space-sm)}}.ingredienti-container{animation:slideUp var(--transition-slow) ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-action:focus,.btn-add-ingrediente:focus,.btn-clear-filters:focus{outline:2px solid var(--gelato-pistacchio);outline-offset:2px}.ingredienti-filters:hover,.ingredienti-table-container:hover{box-shadow:var(--shadow-md)}.pagination-container{align-items:center;background-color:#f8f9fa;border-radius:5px;display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:20px;padding:10px}.pagination{gap:5px;margin:10px 0}.page-btn{background-color:#fff;border:1px solid #ddd;border-radius:3px;cursor:pointer;padding:5px 10px;transition:background-color .2s,color .2s}.page-btn.active{background-color:var(--gelato-pistacchio);border-color:var(--gelato-pistacchio);color:#fff}.page-btn:hover:not(.active):not(:disabled){background-color:#e9ecef}.page-btn:disabled{cursor:not-allowed;opacity:.5}.items-per-page{font-size:.9rem}.items-per-page select{border:1px solid #ddd;border-radius:3px;margin-left:10px;padding:5px}.total-items{color:#6c757d;font-size:.9rem;margin:10px 0}@media (max-width:768px){.pagination-container{align-items:center;flex-direction:column}.items-per-page,.pagination,.total-items{margin:5px 0}}.ingrediente-title{align-items:center;display:flex;gap:8px}.ingrediente-icon{font-size:18px}.supplier-info{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:6px;margin:8px 0;padding:8px 10px}.supplier-heading{color:#6c757d;font-size:12px;font-weight:600;margin:0 0 4px}.supplier-name{color:#495057;font-size:13px;font-weight:500;margin:0}.price-info{align-items:center;background:linear-gradient(135deg,#e8f5e8,#d4f1d4);border:1px solid #c3e6cb;border-radius:6px;display:flex;justify-content:space-between;margin:8px 0;padding:8px 10px}.price-label{color:#155724;font-size:12px;font-weight:600}.price-value{color:#155724;font-size:14px;font-weight:700}.ingrediente-metrics-enhanced{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));margin:12px 0}.ingrediente-metrics-enhanced .metric-box{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:6px;padding:6px 4px;text-align:center;transition:all .2s ease}.ingrediente-metrics-enhanced .metric-box:hover{box-shadow:0 3px 8px #0000001a;transform:translateY(-1px)}.ingrediente-metrics-enhanced .metric-label{color:#6c757d;display:block;font-size:10px;font-weight:600;margin-bottom:2px}.ingrediente-metrics-enhanced .metric-value{color:#495057;display:block;font-size:11px;font-weight:700}.ingrediente-metrics-enhanced .metric-box:first-child{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-color:#ffeaa7}.ingrediente-metrics-enhanced .metric-box:first-child:hover{border-color:#ffc107}.ingrediente-metrics-enhanced .metric-box:nth-child(2){background:linear-gradient(135deg,#cce5ff,#b3d9ff);border-color:#b3d9ff}.ingrediente-metrics-enhanced .metric-box:nth-child(2):hover{border-color:#007bff}.ingrediente-metrics-enhanced .metric-box:nth-child(3){background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#c3e6cb}.ingrediente-metrics-enhanced .metric-box:nth-child(3):hover{border-color:#28a745}.ingrediente-metrics-enhanced .metric-box:nth-child(4){background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#f5c6cb}.ingrediente-metrics-enhanced .metric-box:nth-child(4):hover{border-color:#dc3545}.ingrediente-metrics-enhanced .metric-box:nth-child(5){background:linear-gradient(135deg,#e2d5f7,#d1c4e9);border-color:#d1c4e9}.ingrediente-metrics-enhanced .metric-box:nth-child(5):hover{border-color:#6f42c1}@media (max-width:768px){.ingrediente-metrics-enhanced{gap:8px;grid-template-columns:repeat(2,1fr)}.ingrediente-title,.price-info{flex-direction:column;gap:4px;text-align:center}}@media (max-width:480px){.ingrediente-metrics-enhanced{grid-template-columns:repeat(2,1fr)}}.settings-page{margin:0 auto;max-width:1200px;padding:20px}.page-header{border-bottom:2px solid #e9ecef;padding-bottom:20px}.log-link{color:var(--primary-600);display:inline-block;font-size:1rem;margin-left:5px;opacity:.8;text-decoration:none;transition:all .2s}.log-link:hover{opacity:1;transform:scale(1.1)}.page-header h1{color:#333;font-size:2rem;margin:0 0 10px}.page-header p{color:#6c757d}.access-denied{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px}.access-denied h2{color:#dc3545;margin-bottom:15px}.access-denied p{color:#6c757d;font-size:1.1rem}.settings-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:30px}.management-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.management-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px;transition:all .3s ease}.management-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.card-header h3{color:#333;flex-grow:1;font-size:1.1rem;margin:0}.categoria-color{border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:20px;margin-right:10px;width:20px}.card-actions{display:flex;gap:8px}.btn-sm{font-size:.875rem;min-width:32px;padding:4px 8px}.card-description{color:#6c757d;font-size:.9rem;line-height:1.4;margin:10px 0}.card-footer{align-items:center;border-top:1px solid #dee2e6;display:flex;justify-content:space-between;margin-top:15px;padding-top:15px}.codice,.ordine{color:#6c757d;font-size:.875rem;font-weight:500}.status{border-radius:4px;font-size:.875rem}.status.active{background:#d4edda;color:#155724}.status.inactive{background:#f8d7da;color:#721c24}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:500px}.modal-header{border-bottom:1px solid #dee2e6;padding:20px}.modal-header h3{color:#333;font-size:1.25rem;margin:0}.btn-close{color:#6c757d;font-size:1.5rem;height:30px;width:30px}.btn-close:hover{background:#f8f9fa;color:#333}.modal-body{padding:20px}.form-group label{margin-bottom:5px}.form-control{font-size:.95rem;padding:8px 12px;transition:border-color .3s ease}.color-picker{border:1px solid #ced4da;border-radius:6px;cursor:pointer;height:40px;padding:2px;width:60px}.checkbox-label{display:flex;gap:8px}.checkbox-label input[type=checkbox]{margin:0;width:auto}.modal-footer{border-top:1px solid #dee2e6;display:flex;gap:10px;justify-content:flex-end;padding:20px}.stats-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.loading{font-style:italic;padding:40px}.danger-section{background:#fff5f5;border-left:4px solid #dc3545}.danger-text{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;margin-bottom:20px;padding:15px}.danger-text strong{color:#dc3545}.reset-form{background:#fff;border:1px solid #dc3545;border-radius:8px;margin-top:20px;padding:20px}.btn{gap:8px;transition:all .2s}.btn-primary{background:#007bff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-secondary{background:#6c757d}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-danger{background:#dc3545}.btn-danger:hover:not(:disabled){background:#c82333}.system-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.info-item{border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:10px;padding:5px 0}.info-item:last-child{border-bottom:none;margin-bottom:0}.info-item strong{color:#333;min-width:150px}.error-message{align-items:center;border-radius:6px;color:#721c24;display:flex;gap:10px}.error-message:before{content:"⚠️";font-size:1.2rem}.success-message{align-items:center;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;display:flex;gap:10px;margin-bottom:20px;padding:15px}@media (max-width:768px){.settings-page{padding:15px}.settings-section{padding:20px}.stats-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-card{padding:15px}.stat-number{font-size:1.5rem}.form-actions{flex-direction:column}.btn{justify-content:center}}.settings-container{margin:0 auto;max-width:1000px;padding:var(--space-lg)}.settings-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--space-xl);padding:var(--space-xl)}.settings-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-600),var(--primary-800));-webkit-background-clip:text;background-clip:text;color:var(--gray-800);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-sm) 0}.settings-header p{color:var(--gray-600);font-size:var(--font-size-lg);margin:0}.settings-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);padding:var(--space-lg)}.settings-nav-list{display:flex;gap:var(--space-sm);list-style:none;margin:0;overflow-x:auto;padding:0}.settings-nav-item{flex-shrink:0}.settings-nav-link{align-items:center;border:1px solid #0000;border-radius:var(--radius-lg);color:var(--gray-600);display:flex;font-weight:var(--font-weight-medium);gap:var(--space-sm);padding:var(--space-md) var(--space-lg);text-decoration:none;transition:all var(--transition-normal)}.settings-nav-link:hover{background:var(--gray-50);color:var(--gray-800)}.settings-nav-link.active{background:linear-gradient(135deg,var(--primary-100),var(--primary-50));border-color:var(--primary-200);color:var(--primary-700)}.nav-icon{height:20px;width:20px}.settings-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);padding:var(--space-xl)}.section-header{border-bottom:1px solid var(--gray-200);gap:var(--space-sm);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg)}.section-icon{align-items:center;background:linear-gradient(135deg,var(--primary-100),var(--primary-50));border-radius:var(--radius-lg);color:var(--primary-600);display:flex;height:32px;justify-content:center;padding:var(--space-sm);width:32px}.section-title{margin:0}.section-description{color:var(--gray-600);margin:var(--space-xs) 0 0 0}.form-group{margin-bottom:var(--space-xl)}.form-group:last-child{margin-bottom:0}.form-group .label-description{color:var(--gray-500);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);margin-top:var(--space-xs)}.toggle-group{align-items:center;background:linear-gradient(135deg,var(--gray-50),#fffc);border:1px solid var(--gray-200);border-radius:var(--radius-lg);display:flex;justify-content:space-between;padding:var(--space-lg)}.toggle-info h4{color:var(--gray-800);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-xs) 0}.toggle-info p{color:var(--gray-600);font-size:var(--font-size-sm);margin:0}.toggle-switch{background:var(--gray-300);border-radius:12px;cursor:pointer;height:24px;position:relative;transition:background-color var(--transition-normal);width:48px}.toggle-switch.active{background:var(--primary-500)}.toggle-switch:before{background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform var(--transition-normal);width:20px}.toggle-switch.active:before{transform:translateX(24px)}.settings-tabs{border-bottom:1px solid var(--gray-200);display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl)}.settings-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--gray-600);cursor:pointer;font-weight:var(--font-weight-medium);padding:var(--space-md) var(--space-lg);transition:all var(--transition-normal)}.settings-tab:hover{background:var(--gray-50);color:var(--gray-800)}.settings-tab.active{border-bottom-color:var(--primary-500);color:var(--primary-600)}.setting-card{background:linear-gradient(135deg,var(--gray-50),#fffc);border:1px solid var(--gray-200);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);padding:var(--space-lg);transition:all var(--transition-normal)}.setting-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.setting-card h4{align-items:center;color:var(--gray-800);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-sm);margin:0 0 var(--space-sm) 0}.setting-card p{color:var(--gray-600);line-height:1.5;margin:0 0 var(--space-lg) 0}.settings-actions{border-top:1px solid var(--gray-200);display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-lg)}.btn-danger{background:var(--error);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--space-md) var(--space-xl);transition:all var(--transition-normal)}.btn-danger:hover{background:#dc2626;box-shadow:var(--shadow-md);transform:translateY(-1px)}.backup-section{background:linear-gradient(135deg,var(--gelato-mint),#bbf7d04d);border:1px solid var(--success);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);padding:var(--space-lg)}.backup-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.security-warning{align-items:flex-start;background:linear-gradient(135deg,#fbbf241a,#fbbf240d);border:1px solid var(--warning);border-radius:var(--radius-lg);display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-lg)}.warning-icon{color:var(--warning);flex-shrink:0;height:24px;margin-top:2px;width:24px}.security-warning h4{color:var(--warning);margin:0 0 var(--space-sm) 0}.security-warning p{color:#92400e;margin:0}.settings-list{list-style:none;margin:0;padding:0}.settings-list-item{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:var(--space-lg);transition:background-color var(--transition-normal)}.settings-list-item:hover{background:var(--gray-50)}.settings-list-item:last-child{border-bottom:none}.setting-details h4{color:var(--gray-800);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-xs) 0}.setting-details p{color:var(--gray-600);font-size:var(--font-size-sm);margin:0}.toast-notification{animation:slideInRight .3s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-lg);position:fixed;right:var(--space-lg);top:var(--space-lg);z-index:1000}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-notification.success{border-left:4px solid var(--success)}.toast-notification.error{border-left:4px solid var(--error)}.toast-notification.warning{border-left:4px solid var(--warning)}@media (max-width:768px){.settings-container{padding:var(--space-md)}.settings-header{padding:var(--space-lg)}.settings-header h1{font-size:var(--font-size-2xl)}.settings-nav{padding:var(--space-md)}.settings-nav-list{flex-direction:column;gap:var(--space-xs)}.settings-nav-link{padding:var(--space-sm) var(--space-md)}.settings-section{padding:var(--space-lg)}.form-row{gap:var(--space-md);grid-template-columns:1fr}.backup-actions,.settings-actions,.toggle-group{flex-direction:column}.toggle-group{align-items:flex-start;gap:var(--space-md)}.settings-tabs{overflow-x:auto}.toast-notification{left:var(--space-md);right:var(--space-md);top:var(--space-md)}}@media (max-width:480px){.settings-actions{gap:var(--space-sm)}.btn-cancel,.btn-danger,.btn-save{font-size:var(--font-size-sm);padding:var(--space-sm) var(--space-lg)}.section-header{align-items:flex-start;flex-direction:column;gap:var(--space-md)}}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#333;font-size:1.5rem;margin:0}.stats-grid{margin-top:20px}.stats-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;text-align:center;transition:transform .2s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-card h3{color:#666;font-size:1.1rem;margin:0 0 10px}.stat-value{color:#333;font-size:2rem;font-weight:700;margin:0}.backup-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-top:20px}.backup-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:25px}.backup-card h3{color:#333;font-size:1.2rem;margin:0 0 15px}.backup-card p{color:#666;margin:0 0 20px}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#dc3545}.error-message,.loading{font-size:1.1rem;padding:20px}.loading{color:#6c757d;text-align:center}.btn{border-radius:6px;display:inline-block;font-size:14px}.btn-primary{background-color:#007bff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d}.btn-secondary:hover{background-color:#545b62}.btn-outline-primary{background-color:initial;border:1px solid #007bff;color:#007bff}.btn-outline-primary:hover{background-color:#007bff;color:#fff}.btn-outline-primary:disabled{cursor:not-allowed;opacity:.6}.btn-danger{background-color:#dc3545}.btn-danger:hover{background-color:#c82333}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800}.form-group label{color:#333}.form-control{border:1px solid #ced4da;border-radius:6px;font-size:14px;padding:12px;transition:border-color .2s ease;width:100%}.form-control:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.form-actions{gap:10px}.alert{border-radius:6px;margin-bottom:20px;padding:15px}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-danger,.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}@media (max-width:768px){.stats-cards{gap:15px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.backup-grid{gap:20px;grid-template-columns:1fr}.section-header{align-items:flex-start;gap:15px}.form-actions,.section-header{flex-direction:column}}.utenti-page{margin:0 auto;max-width:1200px;padding:20px}.page-controls{gap:20px;justify-content:space-between;margin-bottom:30px}.page-controls,.search-filters{align-items:center;display:flex;flex-wrap:wrap}.search-filters{gap:15px}.search-input{border:1px solid #ddd;border-radius:8px;font-size:16px;min-width:250px;padding:10px 15px}.search-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.filter-select{background-color:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:16px;padding:10px 15px}.filter-select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.utenti-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:30px}.utente-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.utente-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.utente-card.archiviato{background-color:#f8f9fa;border-color:#dee2e6;opacity:.8}.utente-header{margin-bottom:15px}.utente-info h3{color:#2c3e50;font-size:1.2rem;margin:0 0 5px}.utente-info .email{color:#7f8c8d;font-size:.9rem;margin:0}.utente-badges{align-items:flex-end;display:flex;flex-direction:column;gap:5px}.badge{border-radius:12px;font-size:.8rem;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.badge-admin{background-color:#e74c3c;color:#fff}.badge-manager{background-color:#f39c12;color:#fff}.badge-operatore{background-color:#3498db;color:#fff}.badge-default{background-color:#95a5a6;color:#fff}.status{border-radius:12px;font-size:.8rem;font-weight:500;padding:4px 8px}.status.attivo{background-color:#d4edda;color:#155724}.status.archiviato{background-color:#f8d7da;color:#721c24}.utente-details{margin-bottom:15px}.detail-row{margin-bottom:8px;padding:5px 0}.detail-row .label{color:#7f8c8d;font-size:.9rem;font-weight:500}.detail-row .value{color:#2c3e50;font-size:.9rem;text-align:right}.utente-actions{flex-wrap:wrap;gap:8px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;justify-content:center;padding:10px 20px;text-decoration:none;transition:all .2s ease}.btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.btn-sm{font-size:14px;padding:6px 12px}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background-color:#7f8c8d}.btn-success{background-color:#27ae60;color:#fff}.btn-success:hover{background-color:#229954}.btn-warning{background-color:#f39c12;color:#fff}.btn-warning:hover{background-color:#d68910}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover{background-color:#c0392b}.empty-state{color:#7f8c8d;font-size:1.1rem;padding:60px 20px}.access-denied{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;padding:60px 20px;text-align:center}.access-denied h2{color:#856404;margin-bottom:10px}.modal-overlay{background-color:#00000080;padding:20px}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{border-bottom:1px solid #e9ecef;padding:20px 30px}.modal-header h2{color:#2c3e50}.btn-close{align-items:center;background:none;border:none;border-radius:50%;color:#7f8c8d;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.btn-close:hover{background-color:#f8f9fa;color:#2c3e50}.modal-form{padding:30px}.form-group{margin-bottom:20px}.form-group label{color:#2c3e50;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:8px;font-size:16px;padding:12px 15px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{margin-right:10px;width:auto!important}.form-actions{border-top:1px solid #e9ecef;gap:15px;margin-top:30px;padding-top:20px}.roles-info-box{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:40px;padding:30px}.roles-info-box h3{color:#2c3e50;font-size:1.5rem;margin:0 0 20px;text-align:center}.roles-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:25px}.role-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.role-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.role-header{align-items:center;display:flex;gap:10px;margin-bottom:15px}.role-header h4{color:#2c3e50;font-size:1.1rem;margin:0}.role-permissions{list-style:none;margin:0;padding:0}.role-permissions li{align-items:center;color:#495057;display:flex;font-size:.9rem;gap:8px;padding:5px 0}.role-permissions li:before{background:#6c757d;border-radius:50%;content:"";flex-shrink:0;height:4px;width:4px}.roles-note{background:#e7f3ff;border-left:4px solid #3498db;border-radius:0 8px 8px 0;margin-top:20px;padding:15px 20px}.roles-note p{color:#2c3e50;font-size:.95rem;line-height:1.5;margin:0}.roles-note strong{color:#3498db}@media (max-width:768px){.utenti-page{padding:15px}.page-header h1{font-size:2rem}.page-controls{align-items:stretch}.page-controls,.search-filters{flex-direction:column}.filter-select,.search-input{min-width:auto;width:100%}.utenti-grid{grid-template-columns:1fr}.utente-header{align-items:stretch;flex-direction:column;gap:10px}.utente-badges{align-items:flex-start;flex-direction:row}.utente-actions{justify-content:space-between}.btn-sm{flex:1 1;min-width:0}.modal{border-radius:0;height:100%;margin:0;max-width:none;width:100%}.modal-form,.modal-header{padding:20px}.roles-info-box{margin-top:30px;padding:20px}.roles-grid{gap:15px;grid-template-columns:1fr}.role-card{padding:15px}.roles-note{padding:12px 15px}}@media (max-width:480px){.page-header h1{font-size:1.8rem}.detail-row{align-items:flex-start;flex-direction:column;gap:2px}.detail-row .value{text-align:left}.utente-actions{flex-direction:column}.btn-sm{font-size:14px;padding:10px}.roles-info-box h3{font-size:1.3rem}.role-header{align-items:flex-start;flex-direction:column;gap:8px}.role-permissions li{font-size:.85rem}}.utenti-container{margin:0 auto;max-width:1400px;padding:var(--space-lg)}.utenti-header{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-wrap:wrap;gap:var(--space-lg);justify-content:space-between;margin-bottom:var(--space-xl);padding:var(--space-xl)}.utenti-header-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-600),var(--primary-800));-webkit-background-clip:text;background-clip:text;color:var(--gray-800);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-sm) 0}.utenti-header-content p{color:var(--gray-600);font-size:var(--font-size-lg);margin:0}.add-utente-btn{align-items:center;background:var(--button-primary-bg);border:none;border-radius:var(--radius-md);color:var(--button-primary-text);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--space-sm);padding:var(--space-md) var(--space-xl);transition:all var(--transition-normal)}.add-utente-btn:hover{background:var(--button-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.utenti-stats{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--space-xl)}.utenti-filters{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);padding:var(--space-xl)}.filters-row{grid-gap:var(--space-lg);align-items:end;display:grid;gap:var(--space-lg);grid-template-columns:1fr auto auto}.search-group{position:relative}.search-group label{color:var(--gray-700);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin-bottom:var(--space-sm);text-transform:uppercase}.search-input{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);padding:var(--space-md) var(--space-md) var(--space-md) 40px;transition:all var(--transition-normal);width:100%}.search-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;outline:none}.search-icon{bottom:var(--space-md);color:var(--gray-400);height:16px;left:var(--space-md);position:absolute;width:16px}.filter-select{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);min-width:150px;padding:var(--space-md);transition:all var(--transition-normal)}.filter-select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;outline:none}.clear-filters-btn{background:var(--button-bg);border:var(--button-border);border-radius:var(--radius-md);color:var(--gray-700);cursor:pointer;font-size:var(--font-size-sm);padding:var(--space-md);transition:all var(--transition-normal);white-space:nowrap}.clear-filters-btn:hover{background:var(--gray-100);color:var(--gray-800)}.utenti-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:var(--space-xl)}.utente-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;padding:var(--space-xl);position:relative;transition:all var(--transition-normal)}.utente-card:before{background:var(--primary-500);background:var(--card-accent,var(--primary-500));border-radius:var(--radius-xl) var(--radius-xl) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.utente-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.utente-card[data-ruolo=admin]{--card-accent:var(--gelato-purple)}.utente-card[data-ruolo=manager]{--card-accent:var(--gelato-chocolate)}.utente-card[data-ruolo=operatore]{--card-accent:var(--gelato-vanilla)}.utente-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.utente-avatar{align-items:center;background:linear-gradient(135deg,var(--primary-500),var(--primary-700));border-radius:50%;color:#fff;display:flex;height:64px;justify-content:center;margin-bottom:var(--space-md);text-transform:uppercase;width:64px}.utente-avatar,.utente-info h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.utente-info h3{color:var(--gray-800);margin:0 0 var(--space-xs) 0}.utente-email{color:var(--gray-600);font-size:var(--font-size-sm);margin:0 0 var(--space-sm) 0}.utente-ruolo{border-radius:var(--radius-3xl);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.05em;padding:var(--space-xs) var(--space-sm);text-transform:uppercase}.ruolo-admin{background:linear-gradient(135deg,var(--gelato-purple),#e9d5ffcc);border:1px solid #7c3aed33;color:#7c3aed}.ruolo-manager{background:linear-gradient(135deg,var(--gelato-chocolate),#d4a574cc);border:1px solid #92400e33;color:#92400e}.ruolo-operatore{background:linear-gradient(135deg,var(--gelato-vanilla),#fef3c7cc);border:1px solid #d9770633;color:#d97706}.utente-actions{display:flex;gap:var(--space-xs)}.action-btn{align-items:center;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;display:flex;height:36px;justify-content:center;padding:var(--space-sm);transition:all var(--transition-normal);width:36px}.action-btn:hover{background:var(--gray-50);border-color:var(--gray-400)}.action-btn.edit:hover{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-600)}.action-btn.delete:hover{background:#ef44441a;border-color:var(--error);color:var(--error)}.action-btn.toggle:hover{background:var(--warning);border-color:var(--warning);color:#fff}.utente-details{border-top:1px solid var(--gray-200);margin-top:var(--space-lg);padding:var(--space-md) 0}.detail-row{align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.detail-row:last-child{margin-bottom:0}.detail-label{color:var(--gray-500);letter-spacing:.05em;text-transform:uppercase}.detail-label,.detail-value{font-size:var(--font-size-sm)}.detail-value{color:var(--gray-700);font-weight:var(--font-weight-medium)}.utente-status{border:2px solid #fff;border-radius:50%;box-shadow:var(--shadow-sm);height:12px;position:absolute;right:var(--space-md);top:var(--space-md);width:12px}.utente-status.attivo{background:var(--success)}.utente-status.inattivo{background:var(--error)}.utente-status.sospeso{background:var(--warning)}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:600px;overflow-y:auto;padding:var(--space-2xl);width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-xl)}.modal-header h2{color:var(--gray-800);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.close-btn{align-items:center;background:var(--gray-100);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;height:36px;justify-content:center;padding:var(--space-sm);transition:all var(--transition-normal);width:36px}.close-btn:hover{background:var(--gray-200)}.form-group{margin-bottom:var(--space-lg)}.form-group label{color:var(--gray-700);display:block;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);box-sizing:border-box;font-size:var(--font-size-base);padding:var(--space-md);transition:all var(--transition-normal);width:100%}.form-group textarea{min-height:100px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;outline:none}.form-row{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl)}.btn-cancel{background:var(--button-bg);border:var(--button-border);border-radius:var(--radius-md);color:var(--gray-700);cursor:pointer;font-weight:var(--font-weight-medium);padding:var(--space-md) var(--space-xl);transition:all var(--transition-normal)}.btn-cancel:hover{background:var(--gray-100)}.btn-save{background:var(--button-primary-bg);border:none;border-radius:var(--radius-md);color:var(--button-primary-text);cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--space-md) var(--space-xl);transition:all var(--transition-normal)}.btn-save:hover{background:var(--button-primary-hover)}.btn-save:disabled{cursor:not-allowed;opacity:.6}.permessi-section{background:linear-gradient(135deg,var(--gelato-cream),#fffc);border:1px solid var(--gray-200);border-radius:var(--radius-lg);margin-top:var(--space-lg);padding:var(--space-lg)}.permessi-section h4{align-items:center;color:var(--gray-800);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-sm);margin:0 0 var(--space-lg) 0}.permessi-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.permesso-item{align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);display:flex;gap:var(--space-sm);padding:var(--space-sm)}.permesso-checkbox{cursor:pointer}.permesso-label{color:var(--gray-700);cursor:pointer;font-size:var(--font-size-sm)}.empty-state{color:var(--gray-500);padding:var(--space-3xl);text-align:center}.empty-state h3{font-size:var(--font-size-xl);margin-bottom:var(--space-md)}.empty-state p{margin-bottom:var(--space-xl)}@media (max-width:768px){.utenti-container{padding:var(--space-md)}.utenti-header{align-items:flex-start;flex-direction:column;padding:var(--space-lg)}.utenti-header-content h1{font-size:var(--font-size-2xl)}.utenti-filters{padding:var(--space-lg)}.filters-row{gap:var(--space-md);grid-template-columns:1fr}.utenti-stats{gap:var(--space-md);grid-template-columns:repeat(2,1fr)}.utenti-grid{gap:var(--space-md);grid-template-columns:1fr}.utente-header{align-items:flex-start;flex-direction:column;gap:var(--space-md)}.utente-actions{align-self:flex-end}.modal-content{padding:var(--space-xl);width:95%}.form-row{gap:var(--space-md);grid-template-columns:1fr}.form-actions{flex-direction:column}.permessi-grid{grid-template-columns:1fr}}@media (max-width:480px){.utenti-stats{grid-template-columns:1fr}.stat-number{font-size:var(--font-size-2xl)}.modal-content,.utente-card{padding:var(--space-lg)}}.analytics-container{margin:0 auto;max-width:1400px;padding:var(--space-lg)}.analytics-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--space-xl);padding:var(--space-xl)}.analytics-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-600),var(--primary-800));-webkit-background-clip:text;background-clip:text;color:var(--gray-800);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-sm) 0}.analytics-header p{color:var(--gray-600);font-size:var(--font-size-lg);margin:0}.analytics-filters{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);padding:var(--space-xl)}.filters-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--space-lg)}.filter-group{flex-direction:column;gap:var(--space-sm)}.filter-group label{color:var(--gray-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase}.filter-group input,.filter-group select{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);padding:var(--space-md);transition:all var(--transition-normal)}.filter-group input:focus,.filter-group select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;outline:none}.active-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg)}.analytics-filter-chip{background:linear-gradient(135deg,var(--primary-100),var(--primary-50));border:1px solid var(--primary-200);border-radius:var(--radius-3xl);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}.analytics-filter-chip,.analytics-filter-chip .remove{align-items:center;color:var(--primary-700);transition:all var(--transition-normal)}.analytics-filter-chip .remove{background:var(--primary-200);border-radius:50%;cursor:pointer;display:flex;font-size:12px;height:16px;justify-content:center;width:16px}.analytics-filter-chip .remove:hover{background:var(--error);color:#fff}.analytics-stats-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--space-xl)}.analytics-stat-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;padding:var(--space-xl);position:relative;transition:all var(--transition-normal)}.analytics-stat-card:before{background:var(--primary-500);background:var(--card-accent,var(--primary-500));border-radius:var(--radius-xl) var(--radius-xl) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.analytics-stat-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.stat-number{color:var(--gray-800)}.stat-change.neutral{color:var(--gray-500)}.analytics-stat-card:first-child{--card-accent:var(--gelato-vanilla);--icon-bg:#fef3c74d;--icon-color:#d97706}.analytics-stat-card:nth-child(2){--card-accent:var(--gelato-strawberry);--icon-bg:#fecaca4d;--icon-color:#dc2626}.analytics-stat-card:nth-child(3){--card-accent:var(--gelato-mint);--icon-bg:#bbf7d04d;--icon-color:#059669}.analytics-stat-card:nth-child(4){--card-accent:var(--gelato-blueberry);--icon-bg:#bfdbfe4d;--icon-color:#2563eb}.charts-section{grid-gap:var(--space-xl);display:grid;gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:var(--space-xl)}.chart-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-xl)}.chart-header{align-items:center;display:flex;justify-content:between;margin-bottom:var(--space-lg)}.chart-title{color:var(--gray-800);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0}.chart-controls{display:flex;gap:var(--space-sm)}.chart-toggle{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);padding:var(--space-sm) var(--space-md);transition:all var(--transition-normal)}.chart-toggle.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.chart-toggle:hover:not(.active){background:var(--gray-50);border-color:var(--gray-400)}.analytics-chart{align-items:center;background:linear-gradient(135deg,var(--gray-50),#fffc);border:2px dashed var(--gray-300);border-radius:var(--radius-lg);color:var(--gray-500);display:flex;font-weight:var(--font-weight-medium);height:300px;justify-content:center;position:relative;width:100%}.chart-placeholder{text-align:center}.chart-placeholder p{color:var(--gray-400);font-size:var(--font-size-sm);margin:var(--space-sm) 0 0 0}.data-table-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);padding:var(--space-xl)}.table-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.table-title{color:var(--gray-800);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0}.table-actions{display:flex;gap:var(--space-sm)}.table-button{background:var(--button-bg);border:var(--button-border);border-radius:var(--radius-md);color:var(--gray-700);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-sm) var(--space-md);transition:all var(--transition-normal)}.table-button:hover{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-600)}.analytics-table{background:#fff;border-collapse:collapse;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;width:100%}.analytics-table td,.analytics-table th{border-bottom:1px solid var(--gray-200);padding:var(--space-md);text-align:left}.analytics-table th{background:linear-gradient(135deg,var(--gray-50),var(--gray-100));color:var(--gray-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase}.analytics-table tr:hover{background:var(--gray-50)}.analytics-table tr:last-child td{border-bottom:none}.loading-spinner{border-top:3px solid var(--gray-200);border:3px solid var(--gray-200);border-top-color:var(--primary-500);height:32px;width:32px}.error-container{margin:var(--space-lg) 0}.error-container h3{font-size:var(--font-size-lg);margin:0 0 var(--space-sm) 0}.error-container p{margin:0;opacity:.8}@media (max-width:1024px){.charts-section{grid-template-columns:1fr}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width:768px){.analytics-container{padding:var(--space-md)}.analytics-header{padding:var(--space-lg)}.analytics-header h1{font-size:var(--font-size-2xl)}.analytics-stats-grid{gap:var(--space-md);grid-template-columns:1fr}.analytics-filters{padding:var(--space-lg)}.filters-grid{gap:var(--space-md);grid-template-columns:1fr}.chart-header,.table-header{align-items:flex-start;flex-direction:column;gap:var(--space-md)}.analytics-table{font-size:var(--font-size-sm)}.analytics-table td,.analytics-table th{padding:var(--space-sm)}}@media (max-width:480px){.analytics-chart{height:200px}.stat-number{font-size:var(--font-size-2xl)}.chart-card,.data-table-section{padding:var(--space-lg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes statPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.dashboard-page{background:linear-gradient(135deg,var(--gelato-cream) 0,#f8f9fb 100%);min-height:100%}.dashboard-container{animation:fadeInUp .5s var(--transition-normal);margin:0 auto;max-width:1400px;padding:var(--space-lg)}.dashboard-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--space-xl);padding:var(--space-xl)}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-600),var(--primary-800));-webkit-background-clip:text;background-clip:text;color:var(--gray-800);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-sm) 0}.dashboard-header p{color:var(--gray-600);font-size:var(--font-size-lg);margin:0}.role-selector{background:linear-gradient(135deg,var(--gelato-cream),var(--gelato-vanilla));border:1px solid var(--primary-200);border-radius:var(--radius-lg);margin-top:var(--space-lg);padding:var(--space-lg)}.role-selector label{color:var(--gray-700);display:block;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.role-selector select{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);padding:var(--space-md);transition:all var(--transition-normal);width:100%}.role-selector select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;outline:none}.stats-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--space-xl)}.stat-card{animation:fadeInUp .6s ease-out;animation-delay:0s;animation-delay:calc(var(--animation-order, 0)*.1s);animation-fill-mode:both;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%;overflow:hidden;padding:var(--space-xl);position:relative;transition:all var(--transition-normal)}.stat-card:before{background:var(--primary-500);background:var(--card-accent,var(--primary-500));border-radius:var(--radius-xl) var(--radius-xl) 0 0;height:4px;top:0}.stat-card:after,.stat-card:before{content:"";left:0;position:absolute;right:0}.stat-card:after{background:linear-gradient(0deg,#ffffff4d 0,#fff0 50%);bottom:0;height:100%;opacity:0;transition:opacity var(--transition-normal);z-index:-1}.stat-card:hover{border-color:var(--primary-300);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.stat-card:hover:after{opacity:1}.stat-card:first-child{--card-accent:var(--gelato-vanilla);--icon-bg:#fef3c74d;--icon-color:#d97706}.stat-card:nth-child(2){--card-accent:var(--gelato-strawberry);--icon-bg:#fecaca4d;--icon-color:#dc2626}.stat-card:nth-child(3){--card-accent:var(--gelato-mint);--icon-bg:#bbf7d04d;--icon-color:#059669}.stat-card:nth-child(4){--card-accent:var(--gelato-blueberry);--icon-bg:#bfdbfe4d;--icon-color:#2563eb}.stat-header{justify-content:space-between;margin-bottom:var(--space-lg)}.stat-header,.stat-icon{align-items:center;display:flex}.stat-icon{background:#0ea5e91a;background:var(--icon-bg,#0ea5e91a);border-radius:var(--radius-lg);color:var(--primary-600);color:var(--icon-color,var(--primary-600));height:48px;justify-content:center;width:48px}.stat-title{color:var(--gray-600);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:.05em;margin:0;text-transform:uppercase}.stat-number{-webkit-text-fill-color:#0000;animation:statPulse 3s infinite;animation-delay:1s;background:linear-gradient(135deg,var(--primary-600),var(--primary-800));background-clip:text;-webkit-background-clip:text;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0;text-shadow:0 2px 10px #0000001a}.stat-change{align-items:center;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--space-xs);margin-top:var(--space-sm)}.stat-change.positive{color:var(--success)}.stat-change.negative{color:var(--error)}.dashboard-section{margin-bottom:var(--space-xl)}.section-title{align-items:center;color:var(--gray-800);display:flex;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);gap:var(--space-sm);margin-bottom:var(--space-lg)}.section-title:before{background:linear-gradient(135deg,var(--primary-500),var(--primary-700));border-radius:var(--radius-sm);content:"";height:24px;width:4px}.quick-actions{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-xl)}.actions-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-button{align-items:center;background:linear-gradient(135deg,var(--button-bg),var(--primary-600));border:var(--button-border);border-radius:var(--radius-lg);box-shadow:0 4px 8px #0ea5e926;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:var(--space-sm);overflow:hidden;padding:var(--space-lg);position:relative;text-align:center;text-decoration:none;transition:all var(--transition-normal)}.action-button:before{background:linear-gradient(45deg,#fff0,#fff6,#fff0);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;transform:translateX(-100%);transition:transform .6s;width:100%}.action-button:hover{background:linear-gradient(135deg,var(--primary-500),var(--primary-700));box-shadow:0 8px 16px #0ea5e940;transform:translateY(-3px)}.action-button:hover:before{transform:translateX(100%)}.action-icon{align-items:center;background:#fff3;border-radius:50%;color:var(--primary-100);display:flex;height:32px;justify-content:center;margin-bottom:var(--space-sm);padding:6px;transition:all var(--transition-normal);width:32px}.action-button:hover .action-icon{background:#ffffff4d;transform:scale(1.1)}.action-title{color:var(--gray-800);font-weight:var(--font-weight-semibold);margin:0}.action-description{color:var(--gray-600);font-size:var(--font-size-sm);margin:0}.manager-actions{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-xl)}.manager-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.manager-card{background:linear-gradient(135deg,var(--gelato-cream),#fffc);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-normal)}.manager-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.manager-card h4{align-items:center;color:var(--gray-800);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-sm);margin:0 0 var(--space-md) 0}.chart-placeholder{align-items:center;background:linear-gradient(135deg,var(--gray-100),var(--gray-50));border:2px dashed var(--gray-300);border-radius:var(--radius-md);color:var(--gray-500);display:flex;font-weight:var(--font-weight-medium);height:200px;justify-content:center;margin-top:var(--space-md);width:100%}.operator-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--gelato-vanilla),var(--gelato-cream));border:1px solid var(--primary-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-2xl);text-align:center}.operator-card h3{color:var(--gray-800);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-md) 0}.operator-card p{color:var(--gray-600);font-size:var(--font-size-lg);margin:0 0 var(--space-xl) 0}.daily-summary{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);padding:var(--space-xl)}.summary-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:var(--space-lg)}.summary-item{background:linear-gradient(135deg,#ffffff80,#fff3);border:1px solid #ffffff4d;border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center}.summary-value{color:var(--primary-600);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.summary-label{color:var(--gray-600);font-size:var(--font-size-sm);letter-spacing:.05em;margin:var(--space-xs) 0 0 0;text-transform:uppercase}.helpful-tips{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--gelato-mint),#bbf7d04d);border:1px solid var(--success);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-xl)}.helpful-tips h4{align-items:center;color:var(--gray-800);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-sm);margin:0 0 var(--space-md) 0}.tips-list{list-style:none;margin:0;padding:0}.tips-list li{align-items:flex-start;color:var(--gray-700);display:flex;gap:var(--space-sm);padding:var(--space-sm) 0}.tips-list li:before{content:"💡";flex-shrink:0}.loading-container{color:var(--gray-500);justify-content:center;padding:var(--space-3xl)}.error-container{background:#ef44441a;border:1px solid var(--error);border-radius:var(--radius-lg);color:var(--error);padding:var(--space-xl);text-align:center}.action-button.primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-700));border:none;box-shadow:0 6px 12px #0ea5e940;color:#fff}.action-button.primary:hover{box-shadow:0 8px 20px #0ea5e959;transform:translateY(-4px) scale(1.02)}.action-button.secondary{background:linear-gradient(135deg,var(--gray-100),var(--gray-200));border:1px solid var(--gray-300);color:var(--gray-700)}.action-button.secondary:hover{background:linear-gradient(135deg,var(--gray-50),var(--gray-100));border-color:var(--primary-300);color:var(--primary-700)}@media (max-width:768px){.dashboard-container{padding:var(--space-md)}.dashboard-header{padding:var(--space-lg)}.dashboard-header h1{font-size:var(--font-size-2xl)}.stats-grid{gap:var(--space-md)}.actions-grid,.manager-grid,.stats-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.summary-grid{grid-template-columns:1fr}.stat-number{font-size:var(--font-size-2xl)}.operator-card{padding:var(--space-xl)}}.log-attivita-page{margin:0 auto;max-width:1200px;padding:20px}.page-header{margin-bottom:30px;text-align:center}.page-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:10px}.page-header p{color:#7f8c8d;font-size:1.1rem;margin:0}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin-bottom:20px;padding:15px;text-align:center}.loading-container{padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin:0 auto 20px;width:40px}.log-attivita-table-container{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;overflow:hidden}.log-attivita-table{background:#0000;border-collapse:collapse;width:100%}.log-attivita-table thead{background:linear-gradient(135deg,var(--gelato-pistacchio),var(--gelato-limone));color:#fff}.log-attivita-table th{font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.log-attivita-table td{border-bottom:1px solid #e0e0e0;color:#333;font-size:.95rem;padding:15px}.log-attivita-table tbody tr{transition:background-color .2s}.log-attivita-table tbody tr:hover{background:#f8f9fa}.log-attivita-table tbody tr:last-child td{border-bottom:none}.sortable-header{cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.sortable-header:hover{background-color:#0000000d}.utente-info{display:flex;flex-direction:column}.utente-nome{font-weight:500}.utente-email{color:#666;font-size:.8rem;margin-top:3px}.azione-cell{color:#2980b9;font-weight:500}.dettagli-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-results{color:#999;font-style:italic;padding:30px!important;text-align:center}.pagination{align-items:center;display:flex;justify-content:center;margin-top:20px;padding:10px}.pagination-btn{background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#333;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f8f9fa;border-color:#bbb}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#666;margin:0 15px}.actions-group{gap:5px}.actions-group,.btn-action{display:flex;justify-content:center}.btn-action{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;font-size:1rem;height:30px;padding:0;transition:all .2s;width:30px}.btn-action:hover{background-color:#0000000d;transform:scale(1.15)}.btn-delete{color:var(--error)}.btn-delete:hover{background-color:#ef44441a}@media (max-width:768px){.log-attivita-table{display:block;overflow-x:auto;white-space:nowrap}.log-attivita-table td,.log-attivita-table th{padding:12px 10px}.page-header h1{font-size:2rem}.dettagli-cell{max-width:150px}}@media (max-width:480px){.page-header h1{font-size:1.8rem}.pagination{flex-direction:column;gap:10px}}.email-log-viewer{max-width:100%;padding:20px}.email-log-filters{align-items:center;background-color:#f8f9fa;border-radius:8px;display:flex;gap:15px;margin-bottom:20px;padding:15px}.filter-group{align-items:center;display:flex;gap:8px}.filter-group label{font-weight:500}.filter-group select{background-color:#fff;padding:8px}.btn-reset-filters,.filter-group select{border:1px solid #dcdfe6;border-radius:4px}.btn-reset-filters{background-color:#e9ecef;color:#495057;cursor:pointer;padding:8px 12px}.btn-reset-filters:hover{background-color:#dee2e6}.btn-reset-filters:disabled{cursor:not-allowed;opacity:.5}.email-log-table-container{overflow-x:auto}.email-log-table{border-collapse:collapse;margin-bottom:20px;width:100%}.email-log-table td,.email-log-table th{border-bottom:1px solid #e9ecef;padding:12px 15px;text-align:left}.email-log-table th{color:#495057;font-weight:600}.email-log-table th,.email-log-table tr:hover{background-color:#f8f9fa}.email-log-table .no-data{color:#6c757d;padding:30px;text-align:center}.status-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px;text-transform:uppercase}.status-success{background-color:#dcfce7;color:#16a34a}.status-error{background-color:#fee2e2;color:#dc2626}.status-pending{background-color:#fef9c3;color:#ca8a04}.btn-view{background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;color:#475569;cursor:pointer;padding:5px 10px}.btn-view:hover{background-color:#e2e8f0}.email-log-pagination{align-items:center;display:flex;justify-content:space-between;margin-top:20px}.btn-pagination{background-color:#f8f9fa;border:1px solid #dcdfe6;border-radius:4px;color:#4a6da7;cursor:pointer;padding:8px 12px}.btn-pagination:hover{background-color:#e2e8f0}.btn-pagination:disabled{color:#a0aec0;cursor:not-allowed}.pagination-info{color:#6c757d;font-size:14px}.email-details-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.email-details-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:800px;overflow-y:auto;padding:20px;position:relative;width:80%}.close-button{background-color:initial;border:none;color:#6c757d;cursor:pointer;font-size:24px;position:absolute;right:10px;top:10px}.close-button:hover{color:#212529}.email-details h3{border-bottom:1px solid #ecf0f1;color:#2c3e50;margin-bottom:20px;margin-top:0;padding-bottom:10px}.detail-row{display:flex;margin-bottom:10px}.detail-label{color:#4a5568;font-weight:600;width:150px}.detail-value{flex:1 1}.error-text{color:#dc2626}.email-content{border-top:1px solid #ecf0f1;margin-top:20px;padding-top:20px}.email-html-content{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;max-height:300px;overflow-y:auto;padding:15px}.email-additional-data{border-top:1px solid #ecf0f1;margin-top:20px;padding-top:20px}.email-additional-data pre{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:12px;max-height:200px;overflow-y:auto;padding:15px}.loading-spinner{align-items:center;color:#4a6da7;display:flex;font-weight:500;justify-content:center;min-height:200px}.email-log-page{margin:0 auto;max-width:1200px;padding:20px}.page-title{border-bottom:1px solid #ecf0f1;color:#2c3e50;padding-bottom:10px}.email-log-header,.page-title{margin-bottom:20px}.email-log-description{color:#6c757d;font-size:16px}.access-denied{background-color:#f8f9fa;border-left:4px solid #dc2626;border-radius:4px;padding:20px}.access-denied h2{color:#dc2626;margin-top:0}.access-denied p{color:#4a5568;margin-bottom:0}.App{background:var(--bg-primary);min-height:100vh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-screen{background:linear-gradient(135deg,var(--gelato-cream) 0,var(--primary-50) 100%);height:100vh;justify-content:center}.loading-container,.loading-screen{align-items:center;display:flex;flex-direction:column}.loading-container{animation:slideInUp .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:400px;padding:var(--space-xl);width:90%}.loading-icon{animation:pulse 2s infinite,spin 3s linear infinite;color:var(--primary-500);font-size:3rem;margin-bottom:var(--space-md)}.loading-text{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-top:var(--space-md);text-align:center}.app-layout{display:flex;min-height:100vh}.main-content{background:var(--bg-primary);flex:1 1;overflow-x:hidden;padding:var(--space-lg)}.app-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border-bottom:var(--card-border);padding:var(--space-md) var(--space-lg);position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;gap:var(--space-lg);justify-content:between;margin:0 auto;max-width:1400px}.app-logo{color:var(--primary-600);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-decoration:none}.main-nav{align-items:center;display:flex;flex:1 1;gap:var(--space-lg)}.nav-links{display:flex;gap:var(--space-md);list-style:none;margin:0;padding:0}.nav-link{border-radius:var(--radius-md);color:var(--gray-600);font-weight:var(--font-weight-medium);padding:var(--space-sm) var(--space-md);text-decoration:none;transition:all var(--transition-normal)}.nav-link.active,.nav-link:hover{background:var(--primary-50);color:var(--primary-600)}.user-menu{gap:var(--space-md)}.user-info,.user-menu{align-items:center;display:flex}.user-info{gap:var(--space-sm)}.logout-btn,.user-info{color:var(--gray-700);font-weight:var(--font-weight-medium)}.logout-btn{background:var(--button-bg);border:var(--button-border);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-sm) var(--space-md);transition:all var(--transition-normal)}.logout-btn:hover{background:var(--error);border-color:var(--error);color:#fff}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.0dc88bd0.css.map*/