:root{--color-white: #FFFFFF;--color-sand: #F5E6D3;--color-sand-dark: #E8CFA8;--color-sand-light: #FAF3EC;--color-sea: #1E6091;--color-sea-dark: #154069;--color-sea-light: #2680B8;--color-sky: #7EC8E3;--color-sky-light: #B8E4F2;--color-accent: #2196F3;--color-accent-dark: #1565C0;--color-success: #4CAF50;--color-warning: #FF9800;--color-error: #F44336;--color-text: #2C3E50;--color-text-light: #5D7A8A;--color-text-muted: #8FA5B2;--color-border: #D5E8F0;--color-bg: #F8FBFD;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(30, 96, 145, .08);--shadow-md: 0 4px 12px rgba(30, 96, 145, .12);--shadow-lg: 0 8px 24px rgba(30, 96, 145, .16);--shadow-xl: 0 16px 48px rgba(30, 96, 145, .2);--transition: .2s ease;--transition-slow: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-sea);text-decoration:none}a:hover{color:var(--color-sea-dark)}img{max-width:100%;height:auto;display:block}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-sea{color:var(--color-sea)}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;transition:all var(--transition);cursor:pointer;border:2px solid transparent;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary{background-color:var(--color-sea);color:var(--color-white);border-color:var(--color-sea)}.btn.btn-primary:hover:not(:disabled){background-color:var(--color-sea-dark);border-color:var(--color-sea-dark)}.btn.btn-secondary{background-color:var(--color-white);color:var(--color-sea);border-color:var(--color-sea)}.btn.btn-secondary:hover:not(:disabled){background-color:var(--color-sand-light)}.btn.btn-accent{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.btn.btn-accent:hover:not(:disabled){background-color:var(--color-accent-dark);border-color:var(--color-accent-dark)}.btn.btn-success{background-color:var(--color-success);color:var(--color-white);border-color:var(--color-success)}.btn.btn-success:hover:not(:disabled){background-color:#388e3c;border-color:#388e3c}.btn.btn-danger{background-color:var(--color-error);color:var(--color-white);border-color:var(--color-error)}.btn.btn-danger:hover:not(:disabled){background-color:#c62828;border-color:#c62828}.btn.btn-ghost{background-color:transparent;color:var(--color-text-light);border-color:transparent}.btn.btn-ghost:hover:not(:disabled){background-color:var(--color-sand-light);color:var(--color-text)}.btn.btn-sm{padding:.375rem .75rem;font-size:var(--font-size-xs)}.btn.btn-lg{padding:.875rem 1.75rem;font-size:var(--font-size-lg)}.btn.btn-full{width:100%}.btn.btn-icon{width:2.25rem;height:2.25rem;padding:0;border-radius:var(--radius-md)}.form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.form-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.form-control{width:100%;padding:.625rem .875rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-white);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.form-control:focus{border-color:var(--color-sea);box-shadow:0 0 0 3px #1e60911a}.form-control::placeholder{color:var(--color-text-muted)}.form-control.is-invalid{border-color:var(--color-error)}.form-control.is-invalid:focus{box-shadow:0 0 0 3px #f443361a}textarea.form-control{resize:vertical;min-height:80px}.form-error{font-size:var(--font-size-xs);color:var(--color-error);margin-top:.25rem}.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden}.card .card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.card .card-header h2,.card .card-header h3{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text)}.card .card-body{padding:1.5rem}.card .card-footer{padding:1rem 1.5rem;border-top:1px solid var(--color-border);background-color:var(--color-sand-light)}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase}.badge.badge-nuovo{background-color:#e3f2fd;color:#1565c0}.badge.badge-in-preparazione{background-color:#fff8e1;color:#f57f17}.badge.badge-pronto{background-color:#e8f5e9;color:#2e7d32}.badge.badge-consegnato{background-color:#f3e5f5;color:#6a1b9a}.badge.badge-annullato{background-color:#ffebee;color:#c62828}.badge.badge-success{background-color:#e8f5e9;color:#2e7d32}.badge.badge-warning{background-color:#fff8e1;color:#f57f17}.badge.badge-error{background-color:#ffebee;color:#c62828}.badge.badge-info{background-color:#e3f2fd;color:#1565c0}.badge.badge-neutral{background-color:var(--color-sand);color:var(--color-text-light)}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.table{width:100%;border-collapse:collapse;background:var(--color-white)}.table thead{background:var(--color-sand-light)}.table thead th{padding:.875rem 1rem;text-align:left;font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.table tbody tr{border-top:1px solid var(--color-border);transition:background-color var(--transition)}.table tbody tr:hover{background-color:var(--color-sand-light)}.table tbody td{padding:.875rem 1rem;font-size:var(--font-size-sm);color:var(--color-text);vertical-align:middle}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal .modal-header{padding:1.5rem 1.5rem 1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border)}.modal .modal-header h2{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text)}.modal .modal-header .modal-close{width:2rem;height:2rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);transition:all var(--transition);cursor:pointer;background:none;border:none;font-size:1.25rem}.modal .modal-header .modal-close:hover{background-color:var(--color-sand-light);color:var(--color-text)}.modal .modal-body{padding:1.5rem}.modal .modal-footer{padding:1rem 1.5rem 1.5rem;display:flex;gap:.75rem;justify-content:flex-end}.spinner{width:2rem;height:2rem;border:3px solid var(--color-border);border-top-color:var(--color-sea);border-radius:50%;animation:spin .8s linear infinite}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--color-text-muted);font-size:var(--font-size-sm)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;color:var(--color-text-muted)}.empty-state .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-light);margin-bottom:.5rem}.empty-state p{font-size:var(--font-size-sm);max-width:300px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-sand-light)}::-webkit-scrollbar-thumb{background:var(--color-sky);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-sea-light)}.toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;gap:.5rem}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle .toggle-slider{width:44px;height:24px;background-color:var(--color-border);border-radius:var(--radius-full);transition:background-color var(--transition);position:relative}.toggle .toggle-slider:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--color-white);top:3px;left:3px;transition:transform var(--transition);box-shadow:var(--shadow-sm)}.toggle input:checked+.toggle-slider{background-color:var(--color-sea)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.toggle .toggle-label{font-size:var(--font-size-sm);color:var(--color-text)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.page-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text)}.page-header .page-actions{display:flex;gap:.75rem;align-items:center}@media (max-width: 768px){.page-header h1{font-size:var(--font-size-xl)}.modal{max-width:100%;max-height:100vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;position:fixed;bottom:0;left:0;right:0;margin:0}}@media print{body{background:#fff}.no-print{display:none!important}}
