body{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overflow-x:hidden;padding:0;-webkit-user-select:none;width:100vw}html{margin:0;overflow-y:auto;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overscroll-behavior-x:none;overscroll-behavior-y:auto;touch-action:pan-x pan-y}html{-webkit-text-size-adjust:100%;box-sizing:border-box;max-width:100vw;min-width:100vw;overflow-x:hidden;width:100vw}@media (max-width:600px){body,html{margin:0;max-width:100vw;min-width:100vw;overflow-x:hidden;padding:0;width:100vw}}.panel-cards{box-sizing:border-box;margin:12px auto 24px;padding:0 12px}.panel-cards .panel-title{font-size:20px;font-weight:700;margin:8px 0 12px}.panel-cards .panel-inner{border-radius:14px;box-shadow:0 4px 16px #0000000f;padding:14px}.manut-card,.panel-cards .panel-inner{background:#fff;border:1px solid #e9ecef}.manut-card{border-radius:10px;margin:10px 0;padding:12px}.manut-card .row{grid-gap:8px;border-bottom:1px solid #f0f0f0;display:grid;gap:8px;grid-template-columns:140px 1fr;padding:6px 0}.manut-card .lbl{color:#6c757d;font-weight:600}.manut-card .val{word-break:break-word}.badge--aperta{color:#14305c;font-weight:700}.badge--incorso{color:#ff6f3c;font-weight:700}.badge--chiusa{color:#6c757d;font-weight:700}@media (max-width:768px){.panel-cards{max-width:760px}.manut-card,.panel-cards .panel-inner{padding:12px}.manut-card .row{grid-template-columns:130px 1fr}.desktop-only{display:none!important}.mobile-only{display:block}.panel-cards{box-sizing:border-box;margin:12px auto 24px;max-width:900px;padding:0 12px;width:100%}.panel-cards .panel-title{font-size:20px;font-weight:700;margin:8px 0 12px;text-align:center}.panel-cards .panel-inner{border-radius:14px;box-shadow:0 4px 16px #0000000f}.manut-card,.panel-cards .panel-inner{background:#fff;border:1px solid #e9ecef;padding:12px}.manut-card{border-radius:10px;margin:10px 0}.manut-card .row{grid-gap:8px;border-bottom:1px solid #f0f0f0;display:grid;gap:8px;grid-template-columns:130px 1fr;padding:6px 0}.manut-card .row:last-child{border-bottom:none}.manut-card .lbl{color:#6c757d;font-weight:600}.manut-card .val{word-break:break-word}.badge--aperta{color:#14305c;font-weight:700}.badge--incorso{color:#ff6f3c;font-weight:700}.badge--chiusa{color:#6c757d;font-weight:700}}.std-table td,.std-table th{border-bottom:1px solid #e9ecef;padding:10px 12px}.std-table th{background:#f8f9fa;font-weight:700}@media (max-width:768px){.dashboard-content{margin:0!important;padding:0!important;width:100vw!important}*{box-sizing:border-box}body,html{overflow-x:hidden!important}#root,body,html{margin:0!important;padding:0!important;width:100vw!important}table{font-size:.8rem!important;margin:0!important}table td,table th{max-width:120px;overflow:hidden;padding:.25rem!important;text-overflow:ellipsis;white-space:nowrap}button{font-size:.8rem!important;margin:.125rem!important;padding:.25rem .5rem!important}input,select,textarea{font-size:.8rem!important;margin:.125rem 0!important;padding:.25rem!important}.compact-tabs-wrapper{background:var(--surface)!important;box-shadow:0 2px 4px #0000001a!important;gap:.25rem!important;margin-bottom:.5rem!important;padding:.5rem .25rem!important;position:sticky!important;top:0!important;z-index:10!important}.compact-tab-btn{font-size:.75rem!important;padding:.25rem .5rem!important}.area-content,.gestione-content,.registro-content{margin:0!important;padding:1rem .25rem .5rem!important;width:100vw!important}.compact-tabs-wrapper,.dashboard-tabs,.table-container,table{margin:0!important;padding:.125rem!important;width:100%!important}.responsive-table,.table-container{-webkit-overflow-scrolling:touch!important;overflow-x:auto!important}table{min-width:600px!important}table.ordine-dettaglio-table{min-width:0!important;min-width:auto!important;width:100%!important}.ore-zinco-table-mobile{font-size:.7rem!important;min-width:0!important;min-width:auto!important;width:max-content!important}.ore-zinco-table-mobile td,.ore-zinco-table-mobile th{max-width:none!important;overflow:visible!important;padding:2px 3px!important;text-overflow:clip!important;white-space:nowrap!important}.ore-zinco-table-mobile thead th{background:#f8fafc!important;position:sticky!important;top:0!important;z-index:10!important}.ore-zinco-table-mobile input{font-size:.7rem!important;margin:0!important;padding:2px!important;width:36px!important}.modal-content{margin:.25rem!important;max-width:95vw!important;padding:.5rem!important}}.compact-tabs-wrapper,.subtabs-container,.tabs{-ms-overflow-style:auto!important;-webkit-overflow-scrolling:touch!important;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;scroll-behavior:smooth!important;scrollbar-width:thin!important}.compact-tabs-wrapper::-webkit-scrollbar,.subtabs-container::-webkit-scrollbar,.tabs::-webkit-scrollbar{display:block!important;height:4px!important}.compact-tabs-wrapper::-webkit-scrollbar-track,.subtabs-container::-webkit-scrollbar-track,.tabs::-webkit-scrollbar-track{background:var(--gray-200)!important;border-radius:2px!important}.compact-tabs-wrapper::-webkit-scrollbar-thumb,.subtabs-container::-webkit-scrollbar-thumb,.tabs::-webkit-scrollbar-thumb{background:var(--gray-600)!important;border-radius:2px!important}.compact-tabs-wrapper::-webkit-scrollbar-thumb:hover,.subtabs-container::-webkit-scrollbar-thumb:hover,.tabs::-webkit-scrollbar-thumb:hover{background:var(--gray-700)!important}.compact-tab-btn,.kaldo-tab-btn,.tab{flex-shrink:0!important;min-width:fit-content!important;white-space:nowrap!important}@media (max-width:768px){.area-layout,.ome-wrapper{margin-top:0!important;padding-top:56px!important}.area-layout>nav.compact-tabs-wrapper:first-child,.ome-wrapper>nav.compact-tabs-wrapper:first-child{margin-bottom:8px!important;margin-top:0!important}.area-layout .compact-tabs-wrapper,.compact-tabs-wrapper,.ome-wrapper .compact-tabs-wrapper,.subtabs-container,.tabs,nav.compact-tabs-wrapper{-webkit-overflow-scrolling:touch!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:4px!important;margin-top:4px!important;max-width:100vw!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;padding:4px!important;scroll-behavior:smooth!important;touch-action:pan-x!important;width:100%!important}.compact-tabs-wrapper::-webkit-scrollbar,.subtabs-container::-webkit-scrollbar,.tabs::-webkit-scrollbar{display:none!important;height:0!important}.compact-tabs-wrapper,.subtabs-container,.tabs{-ms-overflow-style:none!important;scrollbar-width:none!important}.compact-tab-btn,.compact-tabs-wrapper button,.kaldo-tab-btn,.tab,.tabs button{flex-shrink:0!important;font-size:13px!important;min-width:fit-content!important;padding:8px 12px!important;touch-action:manipulation!important;white-space:nowrap!important}}@media (max-width:480px) and (orientation:portrait){.compact-tabs-wrapper,.subtabs-container,.tabs{-webkit-overflow-scrolling:touch!important;flex-wrap:nowrap!important;overflow-x:auto!important;touch-action:pan-x!important}}.modal-overlay-responsive{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:9999}body:has(.modal-bg),body:has(.modal-overlay-responsive){overflow:hidden!important}body.modal-open{overflow:hidden!important}html:has(.arrivi-modal-overlay),html:has(.campione-modal),html:has(.dashboard-szr-lai-modal-overlay),html:has(.dashboard-szr-modal-overlay),html:has(.delete-confirm-overlay),html:has(.energia-modal-overlay),html:has(.giornaliera-modal-overlay),html:has(.interventi-area-modal-overlay),html:has(.modal-bg),html:has(.modal-overlay),html:has(.modal-overlay-responsive),html:has(.permessi-modal-bg),html:has(.permessi-modal-overlay),html:has(.personale-modal-overlay),html:has(.print-modal-overlay),html:has(.rentri-modal-overlay),html:has(.restore-modal-overlay),html:has(.save-modal-overlay),html:has(.user-ore-modal-overlay),html:has([data-modal-root]){overflow:hidden!important}body:has(.arrivi-modal-overlay),body:has(.campione-modal),body:has(.dashboard-szr-lai-modal-overlay),body:has(.dashboard-szr-modal-overlay),body:has(.delete-confirm-overlay),body:has(.energia-modal-overlay),body:has(.giornaliera-modal-overlay),body:has(.interventi-area-modal-overlay),body:has(.modal-bg),body:has(.modal-overlay),body:has(.modal-overlay-responsive),body:has(.permessi-modal-bg),body:has(.permessi-modal-overlay),body:has(.personale-modal-overlay),body:has(.print-modal-overlay),body:has(.rentri-modal-overlay),body:has(.restore-modal-overlay),body:has(.save-modal-overlay),body:has(.user-ore-modal-overlay),body:has([data-modal-root]){overflow:hidden!important;position:fixed!important;right:0!important;width:100%!important}#root:has(.arrivi-modal-overlay),#root:has(.campione-modal),#root:has(.dashboard-szr-modal-overlay),#root:has(.delete-confirm-overlay),#root:has(.energia-modal-overlay),#root:has(.giornaliera-modal-overlay),#root:has(.modal-bg),#root:has(.modal-overlay),#root:has(.modal-overlay-responsive),#root:has(.permessi-modal-bg),#root:has(.personale-modal-overlay),#root:has(.rentri-modal-overlay),#root:has(.user-ore-modal-overlay),#root:has([data-modal-root]),:has(>.modal-bg)>*,:has(>.modal-overlay)>*{overflow:hidden!important}.modal-container-responsive{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000002e;max-height:80vh;max-width:800px;overflow:auto;padding:24px;position:relative;width:90%}.modal-container-responsive--small{max-width:500px}.modal-container-responsive--medium{max-width:700px}.modal-container-responsive--large{max-width:1000px}.modal-header-responsive{border-bottom:1px solid #e5e7eb;margin:0 0 20px;padding-bottom:16px}.modal-header-responsive h3{color:#14305c;font-size:1.25rem;margin:0}.modal-body-responsive{-webkit-overflow-scrolling:touch;max-height:calc(80vh - 120px);overflow-y:auto}.modal-actions-responsive{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.modal-form-responsive{display:flex;flex-direction:column;gap:16px}.modal-form-responsive .form-group{display:flex;flex-direction:column;gap:8px}.modal-form-responsive label{color:#374151;font-size:.9rem;font-weight:600}.modal-form-responsive input,.modal-form-responsive select,.modal-form-responsive textarea{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.modal-form-responsive input:focus,.modal-form-responsive select:focus,.modal-form-responsive textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.modal-btn-primary{background:#ff6f3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background .2s}.modal-btn-primary:hover{background:#e55a26}.modal-btn-primary:disabled{background:#ccc;cursor:not-allowed}.modal-btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.modal-btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.modal-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;position:absolute;right:16px;top:16px}.modal-close-btn:hover{color:#111827}@media (max-width:1024px){.modal-container-responsive{max-width:90%;padding:20px}.modal-container-responsive--large{max-width:90%}}@media (max-width:768px){.modal-overlay-responsive{align-items:flex-start;padding:0}.modal-container-responsive{-webkit-overflow-scrolling:touch;border-radius:0;height:100vh;max-height:100vh;max-width:100%!important;overflow-y:auto;padding:16px;width:100%!important}.modal-header-responsive{background:#fff;margin:0 -16px 16px;padding:16px 16px 12px;position:sticky;top:0;z-index:10}.modal-header-responsive h3{font-size:1.1rem;padding-right:32px}.modal-body-responsive{max-height:none;padding-bottom:80px}.modal-actions-responsive{background:#fff;border-top:2px solid #e5e7eb;bottom:0;box-shadow:0 -4px 12px #00000014;flex-wrap:wrap;gap:8px;left:0;margin:0;padding:12px 16px;position:fixed;right:0}.modal-actions-responsive button{flex:1 1;min-width:120px}.modal-form-responsive{gap:12px}.modal-form-responsive input,.modal-form-responsive select,.modal-form-responsive textarea{font-size:16px;padding:12px}.modal-close-btn{font-size:28px;padding:8px;right:12px;top:12px}}@media (max-width:600px) and (orientation:portrait){.modal-container-responsive{padding:12px}.modal-header-responsive{margin:0 -12px 12px;padding:12px 12px 8px}.modal-header-responsive h3{font-size:1rem}.modal-actions-responsive{flex-direction:column;padding:10px 12px}.modal-actions-responsive button{min-width:auto;width:100%}.modal-form-responsive input,.modal-form-responsive select,.modal-form-responsive textarea{padding:10px}}@media (max-width:375px){.modal-header-responsive h3{font-size:.95rem}.modal-form-responsive label{font-size:.85rem}.modal-form-responsive input,.modal-form-responsive select,.modal-form-responsive textarea{font-size:14px;padding:8px}.modal-btn-primary,.modal-btn-secondary{font-size:.9rem;padding:10px 16px}}@media (max-height:600px) and (orientation:landscape){.modal-container-responsive{max-height:95vh;padding:12px}.modal-header-responsive{margin-bottom:12px;padding-bottom:12px}.modal-body-responsive{max-height:calc(95vh - 100px)}.modal-actions-responsive{margin-top:12px;padding-top:12px;position:relative}}@media (hover:none) and (pointer:coarse){.modal-btn-primary,.modal-btn-secondary{min-height:44px;padding:12px 20px}.modal-close-btn{min-height:44px;min-width:44px}.modal-form-responsive input,.modal-form-responsive select,.modal-form-responsive textarea{min-height:44px}}@supports (padding:max(0px)){@media (max-width:768px){.modal-container-responsive{padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.modal-actions-responsive{padding-bottom:max(12px,env(safe-area-inset-bottom))}}}:root{--blue-900:#0a1929;--blue-800:#0f2649;--blue-700:#14305c;--blue-600:#1a3d75;--blue-500:#2563eb;--blue-400:#3b82f6;--blue-300:#60a5fa;--orange-700:#c2410c;--orange-600:#ea580c;--orange-500:#ff6f3c;--orange-400:#fb923c;--orange-300:#fdba74;--gray-900:#0f1419;--gray-800:#1e2532;--gray-700:#2a3441;--gray-600:#475569;--gray-500:#64748b;--gray-400:#94a3b8;--gray-300:#cbd5e1;--gray-200:#e2e8f0;--gray-100:#f1f5f9;--gray-50:#f8fafc;--primary:#14305c;--primary-hover:var(--blue-600);--secondary:#ff6f3c;--secondary-hover:var(--orange-600);--surface:#fff;--background:var(--gray-50);--text:#1a2236;--text-secondary:var(--gray-600);--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:var(--blue-500);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012,0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a,0 4px 6px #0000000d;--shadow-xl:0 20px 25px #0000001a,0 10px 10px #0000000a;--font-xs:0.75rem;--font-sm:0.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.875rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--z-base:0;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--surface-elevated:#fff;--surface-hover:var(--gray-100);--border:var(--gray-300);--border-light:var(--gray-200);--input-bg:#fff;--input-border:var(--gray-300);--badge-text:var(--text)}body.dark{--primary:var(--blue-400);--primary-hover:var(--blue-300);--secondary:var(--orange-400);--secondary-hover:var(--orange-300);--surface:var(--gray-800);--surface-elevated:var(--gray-700);--surface-hover:var(--gray-700);--background:var(--gray-900);--text:#f1f3f5;--text-secondary:var(--gray-400);--border:var(--gray-600);--border-light:var(--gray-700);--input-bg:var(--gray-800);--input-border:var(--gray-600);--badge-text:#f1f3f5;--success:#34d399;--warning:#fbbf24;--error:#f87171;--info:var(--blue-300);--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006,0 2px 4px #0000004d;--shadow-lg:0 10px 15px #0006,0 4px 6px #0000004d;--shadow-xl:0 20px 25px #00000080,0 10px 10px #0000004d}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:#f8fafc;background:var(--background);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-size:var(--font-base);line-height:1.5;line-height:var(--leading-normal);transition:background .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);transition:background var(--transition-base),color var(--transition-base)}body,h1,h2,h3,h4,h5,h6{color:#1a2236;color:var(--text)}h1,h2,h3,h4,h5,h6{font-weight:700;font-weight:var(--font-bold);line-height:1.25;line-height:var(--leading-tight);margin-bottom:12px;margin-bottom:var(--space-3)}h1{font-size:1.875rem;font-size:var(--font-3xl)}h2{font-size:1.5rem;font-size:var(--font-2xl)}h3{font-size:1.25rem;font-size:var(--font-xl)}h4{font-size:1.125rem;font-size:var(--font-lg)}h5{font-size:1rem;font-size:var(--font-base)}h6{font-size:.875rem;font-size:var(--font-sm)}p{color:#1a2236;color:var(--text);margin-bottom:12px;margin-bottom:var(--space-3)}a{color:#14305c;color:var(--primary);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:hover{color:#1a3d75;color:var(--primary-hover);text-decoration:underline}.btn{align-items:center;background:#e2e8f0;background:var(--gray-200);border:1px solid #0000;border-radius:var(--radius-md);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#1a2236;color:var(--text);display:inline-flex;font-size:1rem;font-size:var(--font-base);font-weight:600;font-weight:var(--font-semibold);gap:8px;gap:var(--space-2);justify-content:center;line-height:1.25;line-height:var(--leading-tight);padding:8px 16px;padding:var(--space-2) var(--space-4);text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:hover{box-shadow:0 4px 6px #00000012,0 2px 4px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid #14305c;outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-primary{background:#ff6f3c!important;background:var(--secondary)!important;border-color:#ff6f3c!important;border-color:var(--secondary)!important;color:#fff!important}.btn-primary:hover{background:#ea580c!important;background:var(--secondary-hover)!important;border-color:#ea580c!important;border-color:var(--secondary-hover)!important;color:#fff!important}.btn-secondary{background:#14305c!important;background:var(--primary)!important;border-color:#14305c!important;border-color:var(--primary)!important;color:#fff!important}.btn-secondary:hover{background:#1a3d75!important;background:var(--primary-hover)!important;border-color:#1a3d75!important;border-color:var(--primary-hover)!important;color:#fff!important}body.dark .btn-primary{background:#ff6f3c!important;background:var(--secondary)!important;border-color:#ff6f3c!important;border-color:var(--secondary)!important;color:#fff!important}body.dark .btn-secondary{background:#14305c!important;background:var(--primary)!important;border-color:#14305c!important;border-color:var(--primary)!important;color:#fff!important}.btn-ghost{background:#0000;border-color:#cbd5e1;border-color:var(--gray-300);box-shadow:none;color:#1a2236;color:var(--text)}.btn-ghost:hover{background:#f1f5f9;background:var(--gray-100);border-color:#94a3b8;border-color:var(--gray-400)}body.dark .btn-ghost{border-color:#475569;border-color:var(--gray-600);color:#1a2236;color:var(--text)}body.dark .btn-ghost:hover{background:#2a3441;background:var(--gray-700);border-color:#64748b;border-color:var(--gray-500)}.tabs{background:#fff;background:var(--surface);border-bottom:1px solid #cbd5e1;border-bottom:1px solid var(--gray-300);display:flex;gap:4px;gap:var(--space-1);overflow-x:auto;padding:8px;padding:var(--space-2);scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{background:#e2e8f0;background:var(--gray-200);border:2px solid #cbd5e1;border:2px solid var(--gray-300);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#1a2236;color:var(--text);cursor:pointer;font-size:1rem;font-size:var(--font-base);font-weight:700;font-weight:var(--font-bold);padding:10px 20px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);white-space:nowrap}.tab:hover{background:#cbd5e1;background:var(--gray-300);border-color:#94a3b8;border-color:var(--gray-400);transform:translateY(-1px)}.tab.active,.tab:hover{box-shadow:0 4px 6px #00000012,0 2px 4px #0000000f;box-shadow:var(--shadow-md)}.tab.active{background:#14305c;background:var(--primary);border-color:#14305c;border-color:var(--primary);color:#fff}.tab:focus-visible{outline:2px solid #14305c;outline:2px solid var(--primary);outline-offset:2px}body.dark .tab{background:#2a3441;background:var(--gray-700);border-color:#475569;border-color:var(--gray-600);color:#1a2236;color:var(--text)}body.dark .tab:hover{background:#475569;background:var(--gray-600);border-color:#64748b;border-color:var(--gray-500)}.card{background:#fff;background:var(--surface);border:1px solid #cbd5e1;border:1px solid var(--gray-300);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:16px;padding:var(--space-4);transition:box-shadow .15s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition-fast)}.card:hover{box-shadow:0 4px 6px #00000012,0 2px 4px #0000000f;box-shadow:var(--shadow-md)}input,select,textarea{background:#fff;background:var(--surface);border:1px solid #cbd5e1;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--radius-md);color:#1a2236;color:var(--text);font-family:inherit;font-size:1rem;font-size:var(--font-base);padding:12px;padding:var(--space-3);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{border-color:#14305c;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.5}label{color:#1a2236;color:var(--text);display:block;font-size:.875rem;font-size:var(--font-sm);font-weight:600;font-weight:var(--font-semibold);margin-bottom:8px;margin-bottom:var(--space-2)}.text-xs{font-size:.75rem;font-size:var(--font-xs)}.text-sm{font-size:.875rem;font-size:var(--font-sm)}.text-base{font-size:1rem;font-size:var(--font-base)}.text-lg{font-size:1.125rem;font-size:var(--font-lg)}.text-xl{font-size:1.25rem;font-size:var(--font-xl)}.font-normal{font-weight:400;font-weight:var(--font-normal)}.font-medium{font-weight:500;font-weight:var(--font-medium)}.font-semibold{font-weight:600;font-weight:var(--font-semibold)}.font-bold{font-weight:700;font-weight:var(--font-bold)}.text-primary{color:#14305c;color:var(--primary)}.text-secondary{color:#475569;color:var(--text-secondary)}.text-success{color:#10b981;color:var(--success)}.text-warning{color:#f59e0b;color:var(--warning)}.text-error{color:#ef4444;color:var(--error)}.hidden{display:none}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:4px;gap:var(--space-1)}.gap-2{gap:8px;gap:var(--space-2)}.gap-3{gap:12px;gap:var(--space-3)}.gap-4{gap:16px;gap:var(--space-4)}.rounded-sm{border-radius:6px;border-radius:var(--radius-sm)}.rounded-md{border-radius:8px;border-radius:var(--radius-md)}.rounded-lg{border-radius:12px;border-radius:var(--radius-lg)}.rounded-xl{border-radius:16px;border-radius:var(--radius-xl)}.rounded-full{border-radius:9999px;border-radius:var(--radius-full)}.shadow-sm{box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 4px 6px #00000012,0 2px 4px #0000000f;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000d;box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:0 20px 25px #0000001a,0 10px 10px #0000000a;box-shadow:var(--shadow-xl)}body.dark .ui-modal{background:var(--surface);border-color:var(--border)}body.dark .ui-modal-header{border-bottom-color:var(--border)}body.dark .ui-modal-body,body.dark .ui-modal-header h3{color:var(--text)}body.dark .ui-modal-actions{border-top-color:var(--border)}body.dark .btn:not(.btn-primary):not(.btn-secondary):not(.print-btn){background:var(--surface-elevated);border-color:var(--border);color:var(--text)}body.dark .btn.ghost,body.dark .btn.secondary{background:var(--surface);border-color:var(--border);color:var(--text)}body.dark .modal-container-responsive{background:var(--surface);color:var(--text)}body.dark .modal-header-responsive{border-bottom-color:var(--border)}body.dark .modal-header-responsive h3{color:var(--text)}body.dark .modal-btn-secondary{background:var(--surface-elevated);border-color:var(--border);color:var(--text)}body.dark .modal-close-btn{color:var(--text-secondary)}body.dark .modal-close-btn:hover{color:var(--text)}body.dark .modal-actions-responsive{border-top-color:var(--border)}body.dark .modal-form-responsive label{color:var(--text)}body.dark .modal-form-responsive input,body.dark .modal-form-responsive select,body.dark .modal-form-responsive textarea{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}@media (max-width:768px){body.dark .modal-actions-responsive,body.dark .modal-header-responsive{background:var(--surface)}}body.dark .error-content{background:var(--surface);color:var(--text)}body.dark .error-stack{background:var(--surface-elevated)}body.dark .bottom-nav{background:var(--surface);border-top-color:var(--border)}body.dark .bottom-nav-item{color:var(--text-secondary)}body.dark .bottom-nav-item.active{color:var(--primary)}body.dark .mobile-sidebar{background:linear-gradient(180deg,var(--gray-800) 0,var(--gray-900) 100%)}body.dark .sidebar-item{color:var(--text-secondary)}body.dark .sidebar-item.has-subtabs{color:var(--text)}body.dark .sidebar-item:hover{background:var(--gray-700);color:var(--text)}body.dark .sidebar-item.active{background:var(--primary);color:#fff}body.dark .sidebar-subtabs{background:var(--gray-800);border-left-color:var(--primary)}body.dark .sidebar-subtab{color:var(--text-secondary)}body.dark .sidebar-subtab:hover{background:var(--gray-700);color:var(--text)}body.dark .sidebar-subtab.active{background:var(--primary);color:#fff}body.dark .sidebar-divider{background:linear-gradient(90deg,#0000,var(--gray-600),#0000)}body.dark .sidebar-info{background:var(--gray-800);border-top-color:var(--border)}body.dark .sidebar-content::-webkit-scrollbar-thumb{background:var(--gray-600)}body.dark .modal-main{background:var(--surface);color:var(--text)}body.dark .modal-header{background:var(--surface-elevated);border-bottom-color:var(--border)}body.dark .modal-header h3{color:var(--text)}body.dark .modal-content label{color:var(--text-secondary)}body.dark .modal-content input,body.dark .modal-content select{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}body.dark .modal-actions{background:var(--surface-elevated);border-top-color:var(--border)}body.dark .valore-letto-input{background:var(--input-bg);color:var(--text)}body.dark .modal-btn.outline{background:var(--surface);border-color:var(--border);color:var(--text)}body.dark .modal-btn.secondary{background:var(--surface-elevated);border-color:var(--border);color:var(--text)}body.dark .camera-placeholder,body.dark .modal-btn.ghost{border-color:var(--border);color:var(--text-secondary)}body.dark .camera-placeholder p,body.dark .review-title{color:var(--text)}body.dark .lc-alert.error{background:#ef444426;border-color:#ef44444d}body.dark .lc-hint{color:var(--text-secondary)}body.dark .manut-card,body.dark .panel-cards .panel-inner{border-color:var(--border)}body.dark .manut-card{background:var(--surface)}body.dark .manut-card .row{border-bottom-color:var(--border-light)}body.dark .manut-card .lbl{color:var(--text-secondary)}body.dark .badge--aperta{color:var(--primary)}body.dark .std-table th{background:var(--surface-elevated);color:var(--text)}body.dark .std-table td{border-bottom-color:var(--border-light)}body.dark .rm-table-wrap{background:var(--surface);border-color:var(--border)}body.dark .rm-table thead th{background:var(--gray-700);border-bottom-color:var(--border);color:var(--text)}body.dark .rm-table tbody td{border-bottom-color:var(--border-light);color:var(--text)}body.dark .rm-table tbody tr:nth-child(2n){background:var(--surface-elevated)}body.dark .rm-table tbody tr:hover{background:var(--gray-700)}body.dark .rm-pagination button{background:var(--surface);border-color:var(--border);color:var(--text)}body.dark .rm-toolbar input{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}body.dark .login-container{background-color:var(--background)}body.dark .login-box{background:var(--surface);color:var(--text)}body.dark .login-box h2{color:var(--text)}body.dark .input-group label{color:var(--text-secondary)}body.dark .input-group input{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}body.dark .ofe-gestione-main-subtabs{background:var(--gray-800);border-bottom-color:var(--border)}body.dark .ofe-gestione-main-subtab-btn{background:var(--surface-elevated);color:var(--text)}body.dark .ofe-gestione-main-subtab-btn:hover{background:var(--gray-600)}body.dark .ofe-gestione-subtabs{background:var(--surface-elevated);border-bottom-color:var(--border)}body.dark .ofe-gestione-subtab-btn{background:var(--surface);color:var(--text)}body.dark .ofe-gestione-subtab-btn:hover{background:var(--gray-700)}body.dark .ofe-gestione-section h2{color:var(--text)}body.dark .ofe-gestione-section p{color:var(--text-secondary)}body.dark .ofe-gestione-personale-table td{border-color:var(--border)}body.dark .ofe-gestione-personale-table .clickable-row.expanded,body.dark .ofe-gestione-personale-table .clickable-row:hover,body.dark .ofe-gestione-personale-table tbody tr:hover{background:var(--gray-700)}body.dark .ofe-gestione-personale-table .expanded-row td{background:var(--surface-elevated)}body.dark .ofe-gestione-personale-table .detail-table{background:var(--surface)}body.dark .ofe-gestione-personale-table .detail-table th{background:var(--gray-600)}body.dark .ofe-gestione-personale-table .detail-table td{border-bottom-color:var(--border-light)}body.dark .ofe-gestione-personale-table .detail-table tr.weekend{background:#fbbf241a}body.dark .ofe-gestione-personale-table .detail-table tr.weekend td{color:var(--warning)}body.dark .ofe-gestione-personale-table .detail-table tfoot .totals-row{background:var(--gray-700)}body.dark .ofe-gestione-personale-toolbar .inline-field label{color:var(--text-secondary)}body.dark .ofe-gestione-personale-toolbar .inline-field input[type=month]{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}body.dark .ofe-gestione-personale-toolbar .info{color:var(--text-secondary)}body.dark .ofe-personale-detail-header .detail-user-name{color:var(--text)}body.dark .ofe-personale-detail-header .btn-back{background:var(--surface-elevated);border-color:var(--border);color:var(--text-secondary)}body.dark .ofe-personale-detail-header .btn-back:hover{background:var(--gray-700)}body.dark .ofe-personale-detail-table-wrapper{border-color:var(--border)}body.dark .ofe-gestione-personale-table.detail-view .day-name,body.dark .ofe-gestione-personale-table.detail-view .time-cell{color:var(--text-secondary)}body.dark .ofe-gestione-personale-table.detail-view .weekend-row{background:#fbbf241a}body.dark .ofe-gestione-personale-table.detail-view .weekend-row td{color:var(--warning)}body.dark .print-modal{background:var(--surface)}body.dark .print-modal-body{color:var(--text)}body.dark .print-option{background:var(--surface-elevated);border-color:var(--border)}body.dark .print-option:hover{background:var(--gray-700);border-color:var(--gray-500)}body.dark .print-option.selected{background:#3b82f61a;border-color:var(--primary)}body.dark .print-option-title{color:var(--text)}body.dark .print-option-desc{color:var(--text-secondary)}body.dark .print-option-radio{border-color:var(--gray-500)}body.dark .print-option-group-label{color:var(--text-secondary)}body.dark .print-users-list{background:var(--surface-elevated);border-color:var(--border)}body.dark .print-users-list-header{background:var(--gray-700);border-bottom-color:var(--border)}body.dark .print-users-list-header span{color:var(--text-secondary)}body.dark .print-user-item:hover{background:var(--gray-700)}body.dark .print-user-item span{color:var(--text)}body.dark .print-modal-footer{background:var(--surface-elevated);border-top-color:var(--border)}body.dark .print-modal-footer .print-count{color:var(--text-secondary)}body.dark .print-modal-footer .print-count strong{color:var(--text)}body.dark .ofe-chat-container{background:var(--surface)}body.dark .ofe-chat-messages{background:var(--background)}body.dark .ofe-chat-bubble{background:var(--surface);color:var(--text)}body.dark .ofe-chat-quick{background:var(--surface);border-top-color:var(--border)}body.dark .ofe-chat-quick button{background:var(--surface-elevated);border-color:var(--border);color:var(--text)}body.dark .ofe-chat-quick button:hover{background:var(--gray-700)}body.dark .ofe-chat-input{background:var(--surface);border-top-color:var(--border)}body.dark .ofe-chat-input textarea{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}body.dark .ofe-chat-avatar{background:var(--gray-700)}body.dark .ofe-chat-msg.user .ofe-chat-avatar{background:#3b82f633}body.dark .ome-gestione-personale{background:var(--surface);border-color:var(--border)}body.dark .ome-gestione-personale-header .subtitle{color:var(--text-secondary)}body.dark .ome-gestione-personale-body{color:var(--text)}body.dark .ai-assistant-panel,body.dark .ai-automation,body.dark .ai-reporting{background:var(--surface)}body.dark .recommendation,body.dark .stat-card{background:var(--surface-elevated);color:var(--text)}body.dark .recommendation{border-color:var(--border)}body.dark .category-section{background:var(--surface-elevated);border-color:var(--border)}body.dark .action-result-title{color:var(--text)}body.dark .detailed-metrics,body.dark .generated-content,body.dark .quick-action-btn{background:var(--surface-elevated);border-color:var(--border);color:var(--text)}body.dark .log-header h2{color:var(--text)}body.dark .log-subtitle{color:var(--text-secondary)}body.dark .view-toggle button{color:var(--text)}body.dark .view-toggle button:hover{background:var(--surface-elevated)}body.dark .filters .filter-username,body.dark .filters input[type=date],body.dark .filters select{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}body.dark .events-table-container,body.dark .sessions-table-container{border-color:var(--border)}body.dark .events-table td,body.dark .sessions-table td{border-bottom-color:var(--border-light);color:var(--text)}body.dark .events-table tbody tr:hover,body.dark .sessions-table tbody tr:hover{background:var(--gray-700)}body.dark .events-table tbody tr.event-error{background:#ef44441a}body.dark .sessions-table tbody tr.session-active{background:#10b9811a}body.dark .event-badge.event-login{background:#10b98126;color:var(--success)}body.dark .event-badge.event-logout{background:#fbbf2426;color:var(--warning)}body.dark .event-badge.event-error{background:#ef444426;color:var(--error)}body.dark .event-badge.event-other{background:var(--gray-700);color:var(--text-secondary)}body.dark .realm-badge.realm-szr{background:#3b82f626;color:var(--primary)}body.dark .realm-badge.realm-szr-ext{background:#a855f726;color:#c084fc}body.dark .status-badge.active{background:#10b98126;color:var(--success)}body.dark .status-badge.closed{background:var(--gray-700);color:var(--text-secondary)}body.dark .btn-load-more{background:var(--surface);border-color:var(--primary);color:var(--primary)}body.dark .btn-load-more:hover:not(:disabled){background:var(--primary);color:#fff}body.dark .no-data{color:var(--text-secondary)}body.dark .load-more-container{border-top-color:var(--border)}body.dark .error-message{background:#ef44441a;color:var(--error)}body.dark .ss-header h2{color:var(--text)}body.dark .ss-subtitle,body.dark .ss-update{color:var(--text-secondary)}body.dark .ss-card{background:var(--surface-elevated);border-color:var(--border)}body.dark .ss-card-title{color:var(--text-secondary)}body.dark .ss-card-value{color:var(--text)}body.dark .ss-card-note{color:var(--text-secondary)}body.dark .ss-section{background:var(--surface);border-color:var(--border)}body.dark .ss-section h3{color:var(--text)}body.dark .ss-section-desc{color:var(--text-secondary)}body.dark .ss-disk{background:var(--surface-elevated);border-color:var(--border)}body.dark .ss-disk-name{color:var(--text)}body.dark .ss-disk-desc,body.dark .ss-disk-mount{color:var(--text-secondary)}body.dark .ss-disk-desc{border-top-color:var(--border)}body.dark .ss-disk-stats{color:var(--text-secondary)}body.dark .ss-bar{background:var(--gray-700)}body.dark .ss-backup{background:var(--surface-elevated);border-color:var(--border)}body.dark .ss-backup-warn{background:#ef44441a;border-color:#ef444466}body.dark .ss-backup-header strong{color:var(--text)}body.dark .ss-backup-details{color:var(--text-secondary)}body.dark .ss-backup-details strong{color:var(--text)}body.dark .ss-backup-schedule{color:var(--text-secondary)}body.dark .ss-svc{background:var(--surface-elevated);border-color:var(--border)}body.dark .ss-svc-name{color:var(--text)}body.dark .ss-svc-desc{color:var(--text-secondary)}body.dark .ss-table{border-color:var(--border)}body.dark .ss-table td{border-bottom-color:var(--border-light);color:var(--text)}body.dark .ss-table tbody tr:hover{background:var(--gray-700)}body.dark .ss-ct-status.up{background:#10b98126;color:var(--success)}body.dark .ss-ct-status.down{background:#ef444426;color:var(--error)}body.dark .ss-ct-desc,body.dark .ss-mono{color:var(--text-secondary)}body.dark .ss-info-box{background:#3b82f61a;border-color:#3b82f633;color:var(--text)}body.dark .ss-error{background:#ef44441a;color:var(--error)}body.dark .ss-loading{color:var(--text-secondary)}body.dark .energia-modal{background:var(--surface)}body.dark .energia-modal-areas{background:var(--surface-elevated);border-bottom-color:var(--border)}body.dark .energia-area-btn{color:var(--text-secondary)}body.dark .energia-area-btn.active{background:var(--surface);color:var(--text)}body.dark .energia-modal-meters{background:var(--surface);border-bottom-color:var(--border)}body.dark .energia-meter-btn{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}body.dark .energia-meter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}body.dark .energia-modal-controls{background:var(--surface-elevated);border-bottom-color:var(--border)}body.dark .energia-view-toggle{border-color:var(--border)}body.dark .energia-view-toggle button{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}body.dark .energia-view-toggle button.active{background:var(--primary);color:#fff}body.dark .energia-modal-filters select{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}body.dark .energia-summary-item{background:linear-gradient(135deg,#10b9811a,#10b9810d);border-color:#10b98133}body.dark .energia-summary-item .label{color:var(--success)}body.dark .energia-summary-item .value{color:var(--text)}body.dark .energia-modal-chart{background:var(--surface);border-color:var(--border)}body.dark .energia-modal-chart .bar-label{color:var(--text-secondary)}body.dark .energia-list-item{background:var(--surface-elevated)}body.dark .energia-list-item .item-label,body.dark .energia-list-item .item-value{color:var(--text)}body.dark .energia-list-item .item-bar{background:var(--gray-700)}body.dark .energia-modal-empty,body.dark .energia-modal-loading{color:var(--text-secondary)}body.dark .energia-prefs-modal{background:var(--surface)}body.dark .energia-prefs-content{color:var(--text)}body.dark .energia-prefs-desc{color:var(--text-secondary)}body.dark .energia-prefs-column{background:var(--surface-elevated)}body.dark .energia-prefs-item{background:var(--surface)}body.dark .energia-prefs-item:hover{background:var(--gray-700)}body.dark .energia-prefs-meter-name{color:var(--text)}body.dark .energia-prefs-footer{background:var(--surface-elevated);border-top-color:var(--border)}body.dark .energia-prefs-btn-cancel{background:var(--surface);border-color:var(--border);color:var(--text)}body.dark .energia-prefs-btn-cancel:hover{background:var(--gray-700)}body.dark .energia-prefs-loading{color:var(--text-secondary)}body.dark table th,body.dark table thead th{background:var(--gray-700)!important;border-color:var(--gray-600)!important;color:#fff!important}body.dark .events-table th,body.dark .manutenzioni-table th,body.dark .manutenzioni-table thead,body.dark .ofe-gestione-personale-table th,body.dark .sessions-table th,body.dark .ss-table th{background:var(--blue-800)!important;border-color:var(--blue-900)!important;color:#fff!important}body.dark table tbody td,body.dark table td{border-bottom-color:var(--border-light)!important;color:var(--text)}body.dark .manutenzioni-table tbody tr:nth-child(2n),body.dark .rm-table tbody tr:nth-child(2n),body.dark table tbody tr:nth-child(2n){background:var(--surface-elevated)!important}body.dark table tbody tr:nth-child(odd){background:var(--surface)}body.dark table tbody tr:hover{background:var(--gray-700)!important}body.dark .events-table-container,body.dark .ofe-gestione-personale-table-wrapper,body.dark .ofe-personale-detail-table-wrapper,body.dark .permessi-table-wrapper,body.dark .rm-table-wrap,body.dark .sessions-table-container{background:var(--surface);border-color:var(--border)}body.dark .events-table,body.dark .manutenzioni-table,body.dark .ofe-gestione-personale-table,body.dark .ofe-gestione-personale-table .detail-table,body.dark .ofe-manutenzioni-table,body.dark .rm-table,body.dark .sessions-table,body.dark .ss-table,body.dark .std-table,body.dark .users-table{background:var(--surface)!important}body.dark .ofe-gestione-personale-table .detail-table th{background:var(--gray-600)!important}body.dark .ofe-gestione-personale-table.detail-view .totals-row{background:var(--blue-800)!important}body.dark .ofe-gestione-personale-table.detail-view .totals-row td{border-top-color:var(--blue-900)!important;color:#fff!important}body.dark .rm-table thead th,body.dark .std-table th,body.dark .users-table th{background:var(--gray-700)!important;color:var(--text)!important}body.dark table td:before{color:var(--text-secondary)}body.dark table input,body.dark table select{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}body.dark .manutenzioni-table .status-badge{border-color:var(--border)}body.dark .rm-pagination button{background:var(--surface)!important;border-color:var(--border)!important;color:var(--text)!important}body.dark .ore-zinco-table-mobile thead th{background:var(--gray-700)!important;color:var(--text)!important}body.dark ::-webkit-scrollbar{height:8px;width:8px}body.dark ::-webkit-scrollbar-track{background:var(--background)}body.dark ::-webkit-scrollbar-thumb{background:var(--gray-600);border-radius:4px}body.dark ::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}body.dark ::selection{background:#3b82f64d;color:var(--text)}body.dark input:focus,body.dark select:focus,body.dark textarea:focus{box-shadow:0 0 0 3px #3b82f633}body.dark input::placeholder,body.dark textarea::placeholder{color:var(--gray-500)}body.dark .ofe-gestione-aree-subtab-btn,body.dark .ofe-gestione-aree-tab-btn{background:var(--surface-elevated);border-color:var(--border);color:var(--text)}body.dark .ofe-manutenzioni-empty{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}body.dark .ofe-manutenzioni-table{background:var(--surface)}body.dark .ofe-manutenzioni-table th{background:var(--gray-700);color:var(--text)}body.dark .ofe-manutenzioni-table td{border-bottom-color:var(--border-light);color:var(--text)}body.dark .ofe-manutenzioni-table tbody tr:hover{background:var(--gray-700)}body.dark .ofe-manutenzioni-page-btn{background:var(--surface);border-color:var(--border);color:var(--text)}body.dark .energia-tab-btn{background:var(--surface);color:var(--text-secondary)}body.dark .energia-tab-btn.active{background:var(--primary);color:#fff}body.dark .energia-meter-card{background:var(--surface);border-color:var(--border)}body.dark .energia-meter-select{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}body.dark .modal{color:var(--text)}body.dark .modal,body.dark .permessi-table-wrapper{background:var(--surface)}body.dark .permessi-modal{background:var(--surface);color:var(--text)}body.dark .admin-btn-deselect-all{background:var(--surface);color:var(--text-secondary)}body.dark .admin-correction-card{background:var(--surface);border-color:var(--border)}body.dark .dashboard-szr{background:linear-gradient(135deg,var(--gray-900) 0,var(--gray-800) 100%)}body.dark .dashboard-szr-leadtime-modal{background:var(--surface)}body.dark .app-loading{background:var(--background);color:var(--text)}body.dark .energia-header h3{color:var(--text)}body.dark .view-toggle{border-color:var(--border)}body.dark .view-toggle button{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}body.dark .view-toggle button:not(:last-child){border-right-color:var(--border)}body.dark .view-toggle button:hover{background:var(--surface-hover)}body.dark .view-toggle button.active{background:var(--primary);color:#fff}body.dark .energia-filters label{color:var(--text-secondary)}body.dark .energia-filters input[type=date],body.dark .energia-filters select{background:var(--input-bg);border-color:var(--input-border);color:var(--text)}body.dark .energia-error{background:#ef444426;color:var(--error)}body.dark .summary-card{background:var(--surface-elevated);border-color:var(--border)}body.dark .summary-label{color:var(--text-secondary)}body.dark .summary-value{color:var(--text)}body.dark .energia-chart{background:var(--surface);border-color:var(--border)}body.dark .bar-label,body.dark .chart-title{color:var(--text-secondary)}body.dark .inline-bar{background:var(--border)}body.dark .energia-table thead{background:var(--gray-700);color:var(--text)}body.dark .energia-table tbody tr{background:var(--surface-elevated)}body.dark .energia-table tbody tr:hover{background:var(--surface-hover)}body.dark .energia-table td{border-bottom-color:var(--border);color:var(--text)}body.dark .energia-table td:first-child,body.dark .energia-table td:nth-child(2){color:var(--text)}body.dark .energia-meter-selector{background:var(--surface-elevated);border-color:var(--border)}body.dark .meter-btn{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}body.dark .meter-btn:hover{background:var(--surface-hover);border-color:var(--gray-500)}body.dark .meter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}body.dark .energia-meter-content{background:var(--surface);border-color:var(--border)}body.dark .energia-placeholder{background:var(--surface-elevated);border-color:var(--border)}body.dark .placeholder-text{color:var(--text-secondary)}body.dark .energia-prefs-btn{border-color:var(--border);color:var(--text-secondary)}body.dark .energia-prefs-btn:hover{background:var(--surface-hover)}body.dark .richieste-materiali,body.dark .richieste-materiali h3,body.dark .richieste-materiali h4{color:var(--text)}body.dark .richieste-materiali>div [style*="background: #f3f4f6"],body.dark .richieste-materiali>div [style*="background: #f9fafb"]{background:var(--surface-elevated)!important;border-color:var(--border)!important}body.dark .richieste-materiali>div [style*="background: #dcfce7"]{background:#16a34a26!important;border-color:#16a34a66!important}body.dark .richieste-materiali [style*="color: #374151"]{color:var(--text)!important}body.dark .richieste-materiali [style*="color: #6b7280"]{color:var(--text-secondary)!important}body.dark .richieste-materiali [style*="color: #111827"],body.dark .richieste-materiali [style*="color: #1a365d"]{color:var(--text)!important}body.dark .richieste-materiali [style*="background: #e0f2fe"]{background:#0369a140!important;color:#7dd3fc!important}body.dark .richieste-materiali [style*="background: #fef3c7"]{background:#d9770633!important;color:#fcd34d!important}body.dark .richieste-materiali [style*="background: #dcfce7"][style*="color: #166534"]{background:#16a34a33!important;color:#86efac!important}body.dark .richieste-materiali select{background:var(--input-bg)!important;border-color:var(--input-border)!important;color:var(--text)!important}body.dark .richieste-materiali [style*="background: #e2e8f0"]{border-color:var(--border)!important}body.dark .richieste-materiali [style*="background: #e2e8f0"],body.dark .richieste-materiali [style*="background: #f1f5f9"],body.dark .richieste-materiali [style*="background: #f8fafc"]{background:var(--surface-elevated)!important;color:var(--text)!important}body.dark .richieste-materiali [style*="border-top: 1px solid #e5e7eb"],body.dark .richieste-materiali [style*="borderTop: 1px solid #e5e7eb"]{border-top-color:var(--border)!important}body.dark .richieste-materiali input,body.dark .richieste-materiali textarea{background:var(--input-bg)!important;border-color:var(--input-border)!important;color:var(--text)!important}body.dark .rm-modal-content{background:var(--surface)!important;color:var(--text)!important}body.dark .rm-modal-header{border-bottom-color:var(--border)!important}body.dark .rm-modal-header h3{color:var(--text)}body.dark .rm-modal-content [style*="border-bottom: 1px solid #e5e7eb"],body.dark .rm-modal-content [style*="border-top: 1px solid #e5e7eb"],body.dark .rm-modal-content [style*="borderBottom: 1px solid #e5e7eb"],body.dark .rm-modal-content [style*="borderTop: 1px solid #e5e7eb"]{border-color:var(--border)!important}body.dark .rm-modal-content [style*="background: #f1f5f9"],body.dark .rm-modal-content [style*="background: #f8fafc"]{background:var(--surface-elevated)!important}body.dark .rm-modal-content [style*="color: #374151"]{color:var(--text)!important}body.dark .rm-modal-content [style*="color: #6b7280"]{color:var(--text-secondary)!important}body.dark .modal-close-btn,body.dark .rm-modal-content [style*="color: #111827"]{color:var(--text)!important}body.dark .tabella-desktop{box-shadow:0 1px 3px #0006}body.dark .presidi-ambientali-tab{color:var(--text)}body.dark .presidi-ambientali-tab>div>h3{color:var(--text)!important}body.dark .pa-impianto-card{background:var(--surface)!important;border-color:var(--border)!important}body.dark .pa-impianto-header{background:var(--surface-elevated)!important;border-bottom-color:var(--border)!important;color:var(--text)!important}body.dark .pa-registro-wrapper table,body.dark .presidi-ambientali-tab table{background:var(--surface)!important}body.dark .pa-registro-wrapper tbody tr,body.dark .presidi-ambientali-tab tbody tr{background:var(--surface)!important;color:var(--text)!important}body.dark .pa-registro-wrapper tbody tr:nth-child(2n),body.dark .presidi-ambientali-tab tbody tr:nth-child(2n){background:var(--surface-elevated)!important}body.dark .pa-registro-wrapper tbody td,body.dark .presidi-ambientali-tab tbody td{border-color:var(--border)!important;color:var(--text)!important}body.dark .presidi-ambientali-tab tbody td [style*="color: rgb(20"],body.dark .presidi-ambientali-tab tbody td [style*="color:#14305c"]{color:var(--primary)!important}body.dark .presidi-ambientali-tab tbody td [style*="color: #666"],body.dark .presidi-ambientali-tab tbody td [style*="color: rgb(102"]{color:var(--text-secondary)!important}body.dark .presidi-ambientali-tab button[style*="background: #fff"],body.dark .presidi-ambientali-tab button[style*="background: rgb(255"],body.dark .presidi-ambientali-tab button[style*="background:#fff"]{background:var(--surface-elevated)!important}body.dark .pa-modal-body{background:var(--surface)!important;color:var(--text)!important}body.dark .pa-modal-body h3,body.dark .pa-modal-body h4,body.dark .pa-modal-body label,body.dark .pa-modal-body span{color:var(--text)}body.dark .pa-modal-body input,body.dark .pa-modal-body select{background:var(--input-bg)!important;border-color:var(--input-border)!important;color:var(--text)!important}body.dark .pa-modal-body [style*="background: #f0fdf4"],body.dark .pa-modal-body [style*="background: rgb(240, 253"]{background:#10b9811f!important}body.dark .pa-modal-body [style*="background: #fffbeb"],body.dark .pa-modal-body [style*="background: rgb(255, 251"]{background:#f59e0b1f!important}body.dark .pa-modal-body [style*="background: #f8f9fa"],body.dark .pa-modal-body [style*="background: rgb(248"]{background:var(--surface-elevated)!important}body.dark .pa-modal-body [style*="color: #333"],body.dark .pa-modal-body [style*="color: rgb(51"]{color:var(--text)!important}body.dark .pa-modal-body button[style*="background: #fff"],body.dark .pa-modal-body button[style*="background: rgb(255"]{background:var(--surface-elevated)!important;border-color:var(--border)!important;color:var(--text)!important}body.dark .pa-registro-wrapper{background:var(--background)!important}body.dark .pa-toolbar{background:var(--surface)!important;border-bottom-color:var(--border)!important;color:var(--text)!important}body.dark .pa-toolbar input[type=date],body.dark .pa-toolbar label{background:var(--input-bg)!important;border-color:var(--input-border)!important;color:var(--text)!important}body.dark .pa-toolbar [style*="color: #666"],body.dark .pa-toolbar [style*="color: rgb(102"]{color:var(--text-secondary)!important}body.dark .pa-registro-wrapper h4[style*="color: #14305c"],body.dark .pa-registro-wrapper h4[style*="color: rgb(20"]{color:var(--primary)!important}body.dark .pa-registro-wrapper h4[style*="color: #ff6f3c"],body.dark .pa-registro-wrapper h4[style*="color: rgb(255"]{color:#ff9c7a!important}body.dark .pa-registro-wrapper h4[style*="color: #9c27b0"],body.dark .pa-registro-wrapper h4[style*="color: rgb(156"]{color:#ce93d8!important}body.dark .pa-registro-wrapper span[style*="background: #fef2f2"],body.dark .pa-registro-wrapper span[style*="background: rgb(254, 242"]{background:#dc262633!important;color:#fca5a5!important}body.dark .pa-registro-wrapper span[style*="background: #eff6ff"],body.dark .pa-registro-wrapper span[style*="background: rgb(239, 246"]{background:#2563eb33!important;color:#93c5fd!important}body.dark .pa-registro-wrapper span[style*="background: #fef3c7"],body.dark .pa-registro-wrapper span[style*="background: rgb(254, 243"]{background:#d9770633!important;color:#fcd34d!important}body.dark .pa-registro-wrapper span[style*="background: #f0fdf4"],body.dark .pa-registro-wrapper span[style*="background: rgb(240, 253"]{background:#16a34a33!important;color:#86efac!important}body.dark [style*="background-color: #fff"],body.dark [style*="background-color: white"],body.dark [style*="background-color:#fff"],body.dark [style*="background: #fff"],body.dark [style*="background: white"],body.dark [style*="background:#fff"]{background:var(--surface)!important;color:var(--text)!important}@media (max-width:768px){body,html{-webkit-text-size-adjust:100%;-webkit-overflow-scrolling:touch;margin:0;padding:0;width:100vw}#root,.App,body,html{max-width:100vw;overflow-x:hidden}#root,.App{width:100%}.page-container{box-sizing:border-box;margin:0 auto;max-width:100vw;padding:0 8px;width:100%}.App-header{font-size:14px;padding:8px 12px}.app-header-greeting{font-size:clamp(12px,3.5vw,16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-tabs-wrapper,.subtabs-container,.tabs{-ms-overflow-style:auto;background:var(--surface);border-bottom:1px solid var(--gray-300);display:flex;flex-wrap:nowrap;gap:4px;margin:0 0 8px;overflow-x:auto;padding:6px 4px;scrollbar-width:thin}.compact-tabs-wrapper::-webkit-scrollbar,.subtabs-container::-webkit-scrollbar,.tabs::-webkit-scrollbar{height:4px}.compact-tabs-wrapper::-webkit-scrollbar-track,.subtabs-container::-webkit-scrollbar-track,.tabs::-webkit-scrollbar-track{background:var(--gray-200);border-radius:2px}.compact-tabs-wrapper::-webkit-scrollbar-thumb,.subtabs-container::-webkit-scrollbar-thumb,.tabs::-webkit-scrollbar-thumb{background:var(--gray-500);border-radius:2px}.compact-tabs-wrapper::-webkit-scrollbar-thumb:hover,.subtabs-container::-webkit-scrollbar-thumb:hover,.tabs::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.compact-tab-btn,.kaldo-tab-btn,.tab{border-radius:6px;flex-shrink:0;font-size:13px;min-width:80px;padding:8px 12px;white-space:nowrap}.btn{align-items:center;display:inline-flex;font-size:14px;justify-content:center;margin:4px 4px 8px 0;min-height:44px;min-width:44px;padding:10px 16px;touch-action:manipulation;white-space:nowrap}.area-buttons-container{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:16px auto 8px;padding:0 8px}.area-buttons-container .btn{flex-basis:calc(50% - 4px);flex-grow:1;flex-shrink:1;font-size:13px;margin:0;max-width:calc(50% - 4px);min-width:140px;padding:12px 8px}.modal-bg,.modal-overlay-responsive{align-items:flex-start;padding:0}.modal,.modal-container-responsive{border-radius:0;display:flex;flex-direction:column;height:100vh;margin:0;max-height:100vh;max-width:100%;width:100%}.modal-header,.modal-header-responsive{background:var(--surface);border-bottom:1px solid var(--gray-300);flex-shrink:0;padding:16px;position:sticky;top:0;z-index:10}.modal-body-responsive,.modal-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding:16px}.modal-actions,.modal-actions-responsive{background:var(--surface);border-top:1px solid var(--gray-300);bottom:0;display:flex;flex-shrink:0;gap:8px;padding:16px;position:sticky}.modal-actions button,.modal-actions-responsive button{flex:1 1;min-height:48px}.std-table,table{display:block;overflow-x:visible;width:100%}.std-table thead,table thead{display:none}.std-table tbody,table tbody{display:block}.std-table tr,table tr{background:var(--surface);border:1px solid var(--gray-300);border-radius:8px;box-shadow:0 2px 4px #00000014;display:block;margin-bottom:12px;padding:12px}.std-table td,table td{align-items:center;border:none;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:8px 0}.std-table td:last-child,table td:last-child{border-bottom:none}.std-table td:before,table td:before{color:var(--gray-600);content:attr(data-label);flex-shrink:0;font-weight:600;margin-right:8px}.feature-card,.manut-card{background:var(--surface);border:1px solid var(--gray-300);border-radius:8px;margin:8px 0;padding:12px}.manut-card .row{grid-gap:8px;border-bottom:1px solid var(--gray-200);display:grid;gap:8px;grid-template-columns:100px 1fr;padding:6px 0}.manut-card .row:last-child{border-bottom:none}.manut-card .lbl{color:var(--gray-600);font-size:12px;font-weight:600}.manut-card .val{color:var(--text);font-size:14px;word-break:break-word}input,select,textarea{background:var(--surface);border:1px solid var(--gray-300);border-radius:8px;box-sizing:border-box;color:var(--text);font-size:16px;padding:12px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f61a;outline:none}.feature-grid{gap:12px;grid-template-columns:1fr;margin:16px 0}.panel-cards{margin:8px auto 16px;max-width:100%;padding:0 8px}.panel-cards .panel-inner{border-radius:12px;padding:12px}.panel-cards .panel-title{font-size:18px;margin:8px 0 12px}.mobile-section,.section{margin:16px 0;padding:12px}.section h2{font-size:20px;margin-bottom:12px}.section h3{font-size:16px;margin:16px 0 8px}.mobile-hidden{display:none}.mobile-full-width{width:100%}.mobile-center{text-align:center}.mobile-stack{display:flex;flex-direction:column;gap:8px}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}img{height:auto;max-width:100%}}@media (max-width:768px) and (orientation:portrait){.area-buttons-container .btn{font-size:12px;padding:10px 12px}.compact-tab-btn,.tab{font-size:11px;min-width:70px;padding:6px 8px}}@media (max-width:375px){.page-container{padding:0 4px}.area-buttons-container .btn{font-size:11px;min-height:40px;padding:8px 10px}.compact-tab-btn,.tab{font-size:10px;min-width:60px;padding:5px 6px}}@media (min-width:769px) and (max-width:1024px){.feature-grid{grid-template-columns:repeat(2,1fr)}.page-container{padding:0 16px}}@media (min-width:1025px){.mobile-only{display:none}.desktop-only{display:block}}:root{--blue:var(--blue-700);--orange:var(--orange-500);--on-blue:#fff;--on-orange:#fff;--on-gray:var(--text);--on-surface:var(--text);--radius:var(--radius-lg);--shadow:var(--shadow-lg);--focus:var(--secondary)}.App{background:var(--background);color:var(--text);display:flex;flex-direction:column;min-height:100vh}.App-header{background:var(--primary);color:#fff;padding:var(--space-4)}.compact-tabs-wrapper{background:var(--surface);border-bottom:1px solid var(--gray-300);display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2);scrollbar-width:none}.compact-tabs-wrapper::-webkit-scrollbar{display:none}.compact-tab-btn{background:var(--gray-200);border:2px solid var(--gray-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;flex-shrink:0;font-size:.8rem;font-weight:var(--font-bold);padding:6px 14px;transition:all var(--transition-fast);white-space:nowrap}.compact-tab-btn:hover{background:var(--gray-300);border-color:var(--gray-400);box-shadow:var(--shadow-md);transform:translateY(-1px)}.compact-tab-btn.active{background:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-md);color:#fff}body.dark .compact-tab-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--text)}body.dark .compact-tab-btn:hover{background:var(--gray-600);border-color:var(--gray-500)}body.dark .compact-tab-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.compact-tab-btn.anal-tab{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.compact-tab-btn.anal-tab:hover{background:#ddd6fe;border-color:#a78bfa}.compact-tab-btn.anal-tab.active{background:#7c3aed;border-color:#7c3aed;color:#fff}body.dark .compact-tab-btn.anal-tab{background:#4c1d95;border-color:#6d28d9;color:#ede9fe}body.dark .compact-tab-btn.anal-tab:hover{background:#5b21b6;border-color:#8b5cf6}body.dark .compact-tab-btn.anal-tab.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.compact-tab-btn.temp-forno-tab{background:#fbbf24!important;border-color:#f59e0b!important;color:#000!important}.compact-tab-btn.temp-forno-tab:hover{background:#f59e0b!important}.compact-tab-btn.temp-forno-tab.active{background:#f59e0b!important;border-color:#d97706!important;color:#000!important}body.dark .compact-tab-btn.temp-forno-tab{background:#fbbf24!important;color:#000!important}body.dark .compact-tab-btn.temp-forno-tab.active{background:#f59e0b!important;color:#000!important}.compact-tab-btn.manitou-tab{align-items:center;background:#fff!important;border:2px solid #c00!important;display:flex;gap:0;padding:4px 12px!important}.compact-tab-btn.manitou-tab img{display:block;height:20px}.compact-tab-btn.manitou-tab:hover{background:#fff5f5!important;border-color:#c00!important}.compact-tab-btn.manitou-tab.active{background:#c00!important;border-color:#c00!important}.compact-tab-btn.manitou-tab.active img{filter:brightness(0) invert(1)}body.dark .compact-tab-btn.manitou-tab{background:#2d2d2d!important;border-color:#c00!important}body.dark .compact-tab-btn.manitou-tab.active{background:#c00!important}.kaldo-tab-btn{background:var(--gray-200);border:2px solid var(--gray-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;font-size:var(--font-base);font-weight:var(--font-bold);padding:10px 20px;transition:all var(--transition-fast);white-space:nowrap}.kaldo-tab-btn:hover{background:var(--gray-300);border-color:var(--gray-400);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kaldo-tab-btn.active{background:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-md);color:#fff}body.dark .kaldo-tab-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--text)}body.dark .kaldo-tab-btn:hover{background:var(--gray-600);border-color:var(--gray-500)}body.dark .kaldo-tab-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.subtabs-container{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-2);margin-bottom:var(--space-4);overflow-x:auto;padding:var(--space-2);scrollbar-width:none}.subtabs-container::-webkit-scrollbar{display:none}.subtabs-container .tab{flex-shrink:0}body.dark .subtabs-container{background:var(--gray-800)}.btn.is-active,[aria-pressed=true].btn{box-shadow:inset 0 0 0 2px #ff6f3c40}.modal-bg{align-items:center;background:#0f172acc;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-modal-backdrop)}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:var(--text);display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:min(96vw,640px)}.modal-header{border-bottom:1px solid var(--gray-300);padding:var(--space-4)}.modal-content{flex:1 1;overflow:auto;padding:var(--space-4)}.modal-actions{border-top:1px solid var(--gray-300);display:flex;gap:var(--space-2);justify-content:flex-end;padding:var(--space-4)}body.dark .modal-bg{background:#14305cd9}table{background:var(--surface);border-collapse:collapse;color:var(--text);font-size:var(--font-base);width:100%}td,th{border-bottom:1px solid var(--gray-300);padding:var(--space-2) var(--space-3);text-align:left}th{background:var(--primary);color:#fff;font-weight:var(--font-semibold);position:sticky;top:0;z-index:var(--z-sticky)}tr:hover{background:var(--gray-100)}body.dark tr:hover{background:var(--gray-700)}.feature-card,.manut-card{background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-2);padding:var(--space-3)}.manut-card .row{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:var(--space-1) 0}.manut-card .row:last-child{border-bottom:none}.manut-card .lbl{color:var(--text-secondary);font-size:var(--font-sm);font-weight:var(--font-semibold)}.manut-card .val{color:var(--text);font-size:var(--font-sm)}.panel-cards{margin:var(--space-3) auto var(--space-5);max-width:900px;padding:0 var(--space-3);width:100%}.panel-cards .panel-title{font-size:var(--font-xl);font-weight:var(--font-bold);margin:var(--space-2) 0 var(--space-3);text-align:center}.panel-cards .panel-inner{background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-4)}.badge--aperta{color:var(--primary);font-weight:var(--font-bold)}.badge--incorso{color:var(--secondary);font-weight:var(--font-bold)}.badge--chiusa{color:var(--text-secondary);font-weight:var(--font-bold)}.desktop-only{display:block}.mobile-only{display:none}@media (max-width:768px){.desktop-only{display:none}.mobile-only{display:block}}.std-table{border-collapse:collapse;width:100%}.std-table td,.std-table th{border-bottom:1px solid var(--gray-300);padding:var(--space-2) var(--space-3);text-align:left}.std-table th{background:var(--gray-100);font-weight:var(--font-bold)}body.dark .std-table th{background:var(--gray-700)}body.dark{background:var(--background);color:var(--text)}body.dark .modal,body.dark .modal-content{background:var(--surface);color:var(--text)}body.dark .modal-actions,body.dark .modal-header{border-color:var(--gray-300)}body.dark table{background:var(--surface);color:var(--text)}body.dark th{background:var(--primary);color:#fff}body.dark td{border-color:var(--gray-300)}body.dark .feature-card,body.dark .manut-card,body.dark input,body.dark select,body.dark textarea{background:var(--surface);border-color:var(--gray-300);color:var(--text)}body.dark .panel-cards .panel-inner{background:var(--surface);border-color:var(--gray-300)}.diagramma-impianti-svg .rd3t-link{stroke:#94a3b8;stroke-width:1.5px;fill:none}.diagramma-impianti-svg .rd3t-leaf-node circle,.diagramma-impianti-svg .rd3t-node circle{display:none}.diagramma-impianti-svg text{font-family:Arial,Helvetica,sans-serif!important}.app-header-gradient{align-items:center;background:linear-gradient(135deg,#08111d,#0d1a2e);box-shadow:0 2px 8px #00000014;color:#fff;display:flex;left:0;min-height:48px;padding:4px 0;position:fixed;top:0;width:100vw;z-index:1100}.app-header-gradient>div{align-items:center;display:flex;justify-content:space-between;margin:0;padding:0;width:100vw}.header-logo-rounded{animation:logoPulse 3s ease-in-out infinite;background:#0000;border:none;border-radius:0;box-shadow:none;filter:none;height:60px;object-fit:contain;padding:0;transform:scale(1.2);transition:transform .25s ease,width .25s ease,height .25s ease;width:60px}.app-header-greeting{font-size:clamp(.9rem,1.6vw,1.2rem);font-weight:700;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;transition:font-size .25s ease;white-space:nowrap}@media (max-width:900px){.header-logo-rounded{height:56px;width:56px}.app-header-greeting{font-size:clamp(.9rem,1.5vw,1rem)}}@media (max-width:768px) and (orientation:portrait){.app-header-gradient{min-height:48px;padding:calc(4px + env(safe-area-inset-top)) 0 4px}.app-header-gradient>div{padding:0 8px}.header-logo-rounded{height:36px;width:36px}.app-header-greeting{font-size:.85rem;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:768px) and (orientation:landscape){.app-header-gradient{min-height:40px;padding:2px 0}.app-header-gradient>div{padding:0 6px}.header-logo-rounded{height:32px;width:32px}.app-header-greeting{font-size:.8rem;max-width:120px}}@media (max-width:375px) and (orientation:portrait){.app-header-gradient{min-height:44px}.header-logo-rounded{height:32px;width:32px}.app-header-greeting{font-size:.8rem;max-width:120px}}.user-menu-overlay{background:#0f172a80;inset:0;position:fixed;z-index:99998}.user-menu-sidebar{animation:slideIn .15s ease-out;background:#fff!important;box-shadow:-2px 0 16px #0000001f;display:flex;flex-direction:column;height:100vh!important;max-width:260px!important;position:fixed!important;right:0!important;top:0!important;width:260px!important;z-index:99999}.user-menu-header{background:linear-gradient(135deg,#1a365d,#2d4a7c);color:#fff;padding:14px}.user-menu-header,.user-menu-profile{align-items:center;display:flex;gap:10px}.user-menu-profile{flex:1 1;min-width:0}.user-menu-avatar{align-items:center;background:#fff3;border-radius:6px;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:40px;justify-content:center;width:40px}.user-menu-info{flex:1 1;min-width:0}.user-menu-name{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-role{background:#ffffff26;border-radius:3px;display:inline-block;font-size:.7rem;margin-top:2px;opacity:.85;padding:2px 6px}.user-menu-close{align-items:center;background:#ffffff1a;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;height:26px;justify-content:center;width:26px}.user-menu-close:hover{background:#fff3}.user-menu-datetime{align-items:baseline;background:#f8fafc;border-bottom:1px solid #e2e8f0;box-sizing:border-box;display:flex;gap:8px;padding:8px 14px;width:100%}.datetime-time{color:#1a365d;font-size:1.3rem;font-weight:700}.datetime-date{color:#64748b;font-size:.7rem;text-transform:capitalize}.user-menu-details{box-sizing:border-box;padding:8px 14px;width:100%}.user-menu-details .detail-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:.78rem;justify-content:space-between;padding:6px 0;width:100%}.user-menu-details .detail-row:last-child{border-bottom:none}.user-menu-details .detail-label{color:#64748b;font-size:.68rem;text-transform:uppercase}.user-menu-details .detail-value{color:#1e293b;font-weight:500;text-align:right;word-break:break-all}.user-menu-details .detail-tags{display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end}.user-menu-details .detail-tag{background:#e0e7ff;border-radius:3px;color:#3730a3;font-size:.65rem;padding:1px 5px}.user-menu-actions{background:#f8fafc;border-top:1px solid #e2e8f0;margin-top:auto;padding:10px 14px}.user-menu-logout{align-items:center;background:#fff;border:1px solid #fecaca;border-radius:5px;color:#dc2626;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:6px;justify-content:center;padding:8px;width:100%}.user-menu-logout:hover{background:#fef2f2}.user-menu-logout.logging-out{opacity:.5;pointer-events:none}.user-menu-logout svg{height:16px;width:16px}.user-menu-footer{background:#f1f5f9;padding:6px 14px;text-align:center}.user-menu-version{color:#94a3b8;font-family:monospace;font-size:.6rem}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}@media (max-width:375px){.user-menu-sidebar{max-width:100vw;width:100vw}}.user-menu-ore-section{border-top:1px solid #e2e8f0;padding:12px 14px}.user-menu-ore-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:8px;justify-content:center;padding:10px 14px;transition:all .2s;width:100%}.user-menu-ore-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 2px 8px #3b82f666}.user-menu-ore-btn span:first-child{font-size:1rem}.user-ore-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:8px;position:fixed;right:0;top:0;z-index:120000}.user-ore-modal{background:#fff;border-radius:10px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;margin:0 1vw;max-height:99.5vh;max-width:none;width:98vw}.user-ore-modal-header{align-items:center;background:linear-gradient(135deg,#1a365d,#2d4a7c);border-bottom:1px solid #e5e7eb;border-radius:10px 10px 0 0;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;padding:8px 12px}.user-ore-modal-title h3{color:#fff;font-size:.9rem;margin:0}.user-ore-modal-subtitle{color:#fffc;font-size:.75rem}.user-ore-modal-controls{align-items:center;display:flex;gap:8px}.user-ore-month-picker{border:1px solid #d1d5db;border-radius:4px;font-size:.8rem;padding:4px 8px}.user-ore-modal-close{background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.25rem;line-height:1;padding:2px 8px}.user-ore-modal-close:hover{background:#ffffff4d}.user-ore-modal-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:6px 10px}.user-ore-loading{color:#6b7280;padding:20px;text-align:center}.user-ore-table-wrapper{flex:1 1;min-height:0;overflow:visible}.user-ore-table{border:2px solid #1f2937;border-collapse:collapse;font-size:.8rem;min-width:0;table-layout:auto;width:100%}.user-ore-table th{background:#1f2937;border:2px solid #374151;color:#fff;font-size:.78rem;font-weight:600;padding:5px 4px;text-align:center;white-space:nowrap}.user-ore-table th:first-child{padding-left:6px;text-align:left}.user-ore-table td{border:2px solid #cbd5e1;color:#111827;height:22px;line-height:1.1;padding:2px 3px;text-align:center;vertical-align:middle}.user-ore-table td.day-col,.user-ore-table td:first-child{padding-left:6px;padding-right:4px;text-align:left}.user-ore-table tr:hover{background:#f9fafb}.user-ore-table tr.special-day,.user-ore-table tr.weekend{background:#fefce8}.user-ore-table tr.special-day:hover,.user-ore-table tr.weekend:hover{background:#fef9c3}.day-col{white-space:nowrap;width:1%}.day-col .day-name,.day-col .day-number{display:inline-block;vertical-align:middle}.day-cell{align-items:center;display:inline-flex;gap:4px}.day-number{color:#1f2937;display:inline-block;font-size:.72rem;font-weight:600;min-width:16px}.day-name{color:#6b7280;display:inline-block;font-size:.65rem;line-height:1;margin-left:3px;text-transform:capitalize}.user-ore-table td.has-value{color:#0f172a;font-weight:600}.user-ore-table td.has-value.cdc{color:#059669;font-weight:600}.user-ore-table td.clickable-cdc{cursor:pointer;position:relative}.user-ore-table td.clickable-cdc:hover{background:#eef2ff;color:#111827}.user-ore-table td.has-value.ferie{color:#0284c7}.user-ore-table td.has-value.malattia{color:#dc2626}.user-ore-table td.has-value.straord{color:#7c3aed}.user-ore-table tfoot .totals-row{background:#f1f5f9;font-weight:700}.user-ore-table tfoot .totals-row td{border-top:2px solid #cbd5e1;color:#1f2937;height:24px;padding:4px 3px}.editable-cell input{background:#0000;border:1px solid #e5e7eb;border-radius:3px;color:#111827;font-size:.78rem;font-weight:600;height:20px;padding:2px 3px;width:100%}.editable-cell input:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f64d;outline:none}.editable-cell input[type=number]{-moz-appearance:textfield;font-weight:700;text-align:center}.editable-cell input[type=number]::-webkit-inner-spin-button,.editable-cell input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.editable-cell input[type=time]{padding:0 2px;text-align:center}.editable-cell input[type=time]::-webkit-calendar-picker-indicator{display:none}.editable-cell.saving input{background:#fef3c7;border-color:#f59e0b}.user-ore-error{color:#b91c1c;font-size:.75rem;font-weight:600}.user-ore-modal-footer{align-items:center;background:#f8fafc;border-radius:0 0 10px 10px;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:6px 12px}.user-ore-info{color:#6b7280;font-size:.7rem}.user-ore-cdc-overlay{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:120001}.user-ore-cdc-modal{background:#fff;border-radius:8px;box-shadow:0 20px 40px #00000040;display:flex;flex-direction:column;margin:0 1vw;max-height:96vh;max-width:none;width:98vw}.user-ore-cdc-header{align-items:center;background:linear-gradient(135deg,#1a365d,#2d4a7c);border-bottom:1px solid #e5e7eb;border-radius:10px 10px 0 0;display:flex;justify-content:space-between;padding:8px 12px}.user-ore-cdc-header .user-ore-modal-close{background:#fff3;color:#fff}.user-ore-cdc-title{color:#fff;font-size:.9rem;font-weight:700}.user-ore-cdc-subtitle,.user-ore-cdc-total{color:#fffc;font-size:.75rem}.user-ore-cdc-body{flex:1 1;min-height:0;overflow:auto;padding:8px 12px}.user-ore-cdc-area{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px}.user-ore-cdc-area-title{background:#f1f5f9;border-bottom:1px solid #e5e7eb;color:#0f172a;font-size:.8rem;font-weight:600;padding:6px 10px}.user-ore-cdc-area-list{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:6px 10px}.user-ore-cdc-row{align-items:center;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:6px;justify-content:space-between;padding:6px}.user-ore-cdc-info{display:flex;flex-direction:column;gap:2px}.user-ore-cdc-info .cdc-code{color:#111827;font-size:.75rem;font-weight:700}.user-ore-cdc-info .cdc-name{color:#374151;font-size:.7rem}.user-ore-cdc-info .cdc-parent{color:#6b7280;font-size:.65rem}.user-ore-cdc-row input{border:1px solid #d1d5db;border-radius:4px;font-size:.75rem;padding:3px 5px;text-align:right;width:60px}.user-ore-cdc-footer{align-items:center;background:#f8fafc;border-radius:0 0 10px 10px;border-top:1px solid #e5e7eb;display:flex;gap:8px;justify-content:space-between;padding:8px 12px}.user-ore-cdc-actions{display:flex;gap:8px}.user-ore-cdc-actions button{border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;font-size:.82rem;padding:6px 12px;transition:background .15s}.user-ore-cdc-actions button:first-child{background:#fff;color:#0f172a}.user-ore-cdc-actions button:last-child{background:#0f172a;border-color:#0f172a;color:#fff}.user-ore-cdc-actions button:disabled{cursor:not-allowed;opacity:.5}.user-ore-cdc-month-table-wrapper{border:1px solid #d1d5db;overflow:auto}.user-ore-cdc-month-table{border-collapse:collapse;font-size:.72rem;table-layout:fixed;width:100%}.user-ore-cdc-month-table td,.user-ore-cdc-month-table th{border:1px solid #d1d5db;padding:2px;text-align:center}.user-ore-cdc-month-table th{background:#1f2937;color:#fff;font-size:.68rem;font-weight:600;padding:4px 2px;white-space:nowrap}.user-ore-cdc-month-table th:first-child{min-width:55px;width:55px}.user-ore-cdc-month-table .sticky-col{position:sticky;z-index:2}.user-ore-cdc-month-table .sticky-col.col-giorno{left:0;min-width:55px;width:55px}.user-ore-cdc-month-table .sticky-col.col-totale{left:55px;min-width:40px;width:40px}.user-ore-cdc-month-table thead .sticky-col{z-index:3}.user-ore-cdc-month-table tbody .sticky-col.col-giorno{background:#f8fafc}.user-ore-cdc-month-table tbody .sticky-col.col-totale{background:#f1f5f9;color:#059669;font-weight:600}.user-ore-cdc-month-table tbody tr:nth-child(2n) .sticky-col.col-giorno{background:#f1f5f9}.user-ore-cdc-month-table tbody tr:nth-child(2n) .sticky-col.col-totale{background:#e2e8f0}.user-ore-cdc-month-table .totale-cell{font-size:.7rem;text-align:center}.user-ore-cdc-month-table th.cdc-area-header{background:#0f172a;font-size:.72rem}.user-ore-cdc-month-table th.cdc-parent-header{background:#1e3a5f;font-size:.65rem}.user-ore-cdc-month-table th.cdc-code-header{background:#1f2937;font-size:.62rem;padding:3px 1px}.user-ore-cdc-month-table .cdc-code-header-inner{align-items:center;display:flex;flex-direction:column;line-height:1.1}.cdc-code-header-inner .code{color:#fff;font-size:.65rem;font-weight:700}.cdc-code-header-inner .name{color:#94a3b8;font-size:.55rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-ore-cdc-month-table tbody tr:nth-child(2n){background:#f9fafb}.user-ore-cdc-month-table tbody tr:hover{background:#f1f5f9}.user-ore-cdc-month-table td{height:24px;padding:1px}.user-ore-cdc-month-table td input{-moz-appearance:textfield;background:#0000;border:none;font-size:.7rem;height:100%;padding:2px;text-align:center;width:100%}.user-ore-cdc-month-table td input::-webkit-inner-spin-button,.user-ore-cdc-month-table td input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.user-ore-cdc-month-table td input:focus{background:#eff6ff;outline:2px solid #3b82f6;outline-offset:-2px}.straord-table{font-size:.75rem;table-layout:fixed}.straord-table td,.straord-table th{height:26px;padding:3px 4px}.straord-table .day-number{font-size:.75rem}.straord-table input{font-size:.8rem;height:24px;padding:2px 4px}.straord-table .btn.ghost{height:24px;line-height:1;padding:0 6px}.straord-wrapper{padding:0}.user-ore-table.narrow td,.user-ore-table.narrow th{padding:2px 3px}.user-ore-table.narrow input{font-size:.7rem;height:18px;padding:1px 2px}.user-ore-cdc-month-table td.calc-value{background:#ecfdf5}.user-ore-cdc-month-table td.calc-value input{color:#059669;font-weight:500}.user-ore-cdc-month-table .day-cell{background:#f8fafc;font-weight:500;padding:2px 4px;text-align:left}.user-ore-cdc-month-table .day-cell .day-number{color:#1f2937;font-size:.72rem;font-weight:600}.user-ore-cdc-month-table .day-cell .day-name{color:#6b7280;font-size:.6rem;margin-left:3px;text-transform:capitalize}@media (max-width:768px){.user-ore-modal-overlay{padding:10px}.user-ore-modal{max-height:95vh}.user-ore-modal-header{padding:16px}.user-ore-modal-title h3{font-size:1.1rem}.user-ore-modal-content{padding:12px}.user-ore-table{font-size:.75rem}.user-ore-table td,.user-ore-table th{padding:6px 4px}.actions-cell{flex-direction:column}}.user-ore-table tr.has-note{background:#fffbeb}.user-ore-table tr.has-note:hover{background:#fef3c7}.user-ore-table td.note-cell{font-weight:500;max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-context-menu{animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.note-context-menu textarea:focus{border-color:#3b82f6;outline:2px solid #3b82f6;outline-offset:-1px}.user-cdc-modal-overlay{align-items:center;background:#0f172a99;display:flex;inset:0;justify-content:center;position:fixed;z-index:100000}.user-cdc-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:1100px;overflow:hidden;width:90vw}.user-cdc-modal-header{align-items:center;background:linear-gradient(135deg,#1a365d,#2d4a7c);color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:12px 16px}.user-cdc-modal-title{align-items:center;display:flex;font-size:.95rem;font-weight:600;gap:10px}.user-cdc-modal-officina{background:#fff3;border-radius:4px;font-size:.75rem;font-weight:500;padding:2px 8px}.user-cdc-modal-controls{align-items:center;display:flex;gap:10px}.user-cdc-month-picker{background:#ffffff26;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:4px 8px}.user-cdc-month-picker::-webkit-calendar-picker-indicator{filter:invert(1)}.user-cdc-modal-close{align-items:center;background:#ffffff26;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:28px;justify-content:center;width:28px}.user-cdc-modal-close:hover{background:#ffffff4d}.user-cdc-modal-body{flex:1 1;overflow:auto;padding:0}.user-cdc-empty,.user-cdc-loading{color:#64748b;font-size:.9rem;padding:40px;text-align:center}.user-cdc-table-wrapper{max-height:calc(90vh - 60px);overflow:auto}.user-cdc-table{border-collapse:collapse;font-size:.78rem;width:100%}.user-cdc-table thead{position:sticky;top:0;z-index:2}.user-cdc-table th{background:#1a365d;border:1px solid #2d4a7c;color:#fff;font-size:.72rem;font-weight:600;padding:6px 8px;text-align:center;white-space:nowrap}.user-cdc-th-giorno{left:0;min-width:60px;position:sticky;text-align:left!important;z-index:3}.user-cdc-th-cdc{min-width:50px}.user-cdc-th-totale{background:#0f2942!important;min-width:55px}.user-cdc-table td{border:1px solid #e2e8f0;color:#334155;font-size:.78rem;padding:4px 6px;text-align:center}.user-cdc-td-giorno{background:#f8fafc;color:#1e293b;font-weight:500;left:0;position:sticky;text-align:left!important;white-space:nowrap;z-index:1}.user-cdc-has-ore{background:#eff6ff;color:#1a365d;font-weight:600}.user-cdc-td-totale{background:#f1f5f9;font-weight:600}.user-cdc-td-totale.user-cdc-has-ore{background:#dbeafe;color:#1e40af}.user-cdc-weekend td{background:#fefce8}.user-cdc-weekend .user-cdc-td-giorno{background:#fef9c3;color:#92400e}.user-cdc-weekend .user-cdc-has-ore{background:#fef08a}.user-cdc-table tfoot{bottom:0;position:sticky;z-index:2}.user-cdc-totali-row td{border:1px solid #334155;font-weight:600;padding:6px 8px}.user-cdc-totali-row .user-cdc-td-giorno,.user-cdc-totali-row td{background:#1e293b;color:#fff}.user-cdc-td-totale-col{color:#93c5fd!important}.user-cdc-td-totale-generale{background:#0f172a!important;color:#fbbf24!important;font-size:.85rem}@media (max-width:768px){.user-cdc-modal{border-radius:4px;max-height:95vh;width:98vw}.user-cdc-modal-header{align-items:flex-start;flex-direction:column;gap:8px}.user-cdc-modal-controls{justify-content:space-between;width:100%}.user-cdc-table{font-size:.7rem}.user-cdc-table td,.user-cdc-table th{padding:3px 4px}}.mobile-portrait-layout{background:var(--gray-100);display:flex;flex-direction:column;max-width:100vw;min-height:100dvh;overflow-x:hidden;position:relative;width:100vw}.mobile-portrait-layout__header{background:var(--surface);border-bottom:1px solid var(--gray-300);flex-shrink:0;position:sticky;top:0;z-index:100}.mobile-portrait-layout__content{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;max-width:100vw;padding-top:56px;width:100%}.mobile-portrait-layout--scrollable .mobile-portrait-layout__content{-webkit-overflow-scrolling:touch;height:calc(100dvh - 56px);max-height:calc(100dvh - 56px);overflow-y:scroll;overscroll-behavior:contain;touch-action:auto}.mobile-portrait-layout__footer{background:var(--surface);border-top:1px solid var(--gray-300);bottom:0;flex-shrink:0;position:sticky;z-index:100}.mobile-portrait-layout--padding-none .mobile-portrait-layout__content{padding:56px 0 0}.mobile-portrait-layout--padding-small .mobile-portrait-layout__content{padding:56px 8px 8px}.mobile-portrait-layout--padding-default .mobile-portrait-layout__content{padding:56px 8px 16px}.mobile-portrait-layout--padding-large .mobile-portrait-layout__content{padding:56px 12px 24px}@media (max-width:768px) and (orientation:portrait){.mobile-portrait-layout{min-height:100dvh;min-height:100vh;min-height:calc(var(--vh, 1vh)*100)}.mobile-portrait-layout__header{padding-top:env(safe-area-inset-top)}.mobile-portrait-layout__footer{padding-bottom:env(safe-area-inset-bottom)}.mobile-portrait-layout__content{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.mobile-portrait-layout--padding-small .mobile-portrait-layout__content{padding:56px max(4px,env(safe-area-inset-left)) 4px max(4px,env(safe-area-inset-right))}.mobile-portrait-layout--padding-default .mobile-portrait-layout__content{padding:56px max(8px,env(safe-area-inset-left)) 12px max(8px,env(safe-area-inset-right))}.mobile-portrait-layout--padding-large .mobile-portrait-layout__content{padding:56px max(12px,env(safe-area-inset-left)) 20px max(12px,env(safe-area-inset-right))}}@media (max-width:375px) and (orientation:portrait){.mobile-portrait-layout--padding-default .mobile-portrait-layout__content{padding:56px max(6px,env(safe-area-inset-left)) 8px max(6px,env(safe-area-inset-right))}.mobile-portrait-layout--padding-large .mobile-portrait-layout__content{padding:56px max(8px,env(safe-area-inset-left)) 16px max(8px,env(safe-area-inset-right))}}body.dark .mobile-portrait-layout{background:var(--gray-50)}body.dark .mobile-portrait-layout__footer,body.dark .mobile-portrait-layout__header{background:var(--surface);border-color:var(--gray-300)}@media (prefers-reduced-motion:no-preference){.mobile-portrait-layout__content{transition:padding .2s ease}}.mobile-portrait-content{box-sizing:border-box;max-width:100%;width:100%}.mobile-portrait-content--centered{align-items:center;display:flex;flex-direction:column;text-align:center}.mobile-portrait-content--spaced{display:flex;flex-direction:column;gap:16px}.mobile-portrait-content--compact{display:flex;flex-direction:column;gap:8px}.mobile-portrait-grid{grid-gap:12px;display:grid;gap:12px;width:100%}.mobile-portrait-grid--1col{grid-template-columns:1fr}.mobile-portrait-grid--2col{grid-template-columns:1fr 1fr}@media (max-width:375px) and (orientation:portrait){.mobile-portrait-grid--2col{gap:8px;grid-template-columns:1fr}}.mobile-portrait-stack{display:flex;flex-direction:column;gap:12px;width:100%}.mobile-portrait-stack--tight{gap:8px}.mobile-portrait-stack--loose{gap:20px}.mobile-portrait-card{background:var(--surface);border:1px solid var(--gray-300);border-radius:8px;box-shadow:0 2px 4px #00000014;box-sizing:border-box;padding:12px;width:100%}.mobile-portrait-card--compact{padding:8px}.mobile-portrait-card--spacious{padding:16px}body.dark .mobile-portrait-card{background:var(--surface);border-color:var(--gray-300);box-shadow:0 2px 4px #0003}.sidebar-overlay{background:#00000080;width:100vw;z-index:1200}.mobile-sidebar,.sidebar-overlay{height:100vh;left:0;position:fixed;top:0}.mobile-sidebar{background:linear-gradient(180deg,#f8fafc,#fff);box-shadow:4px 0 24px #0000001f;color:var(--text);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top);transform:translateX(0);transition:transform .3s ease;width:280px;z-index:1300}.mobile-sidebar.persistent{box-shadow:1px 0 8px #0000000f;position:fixed;z-index:1100}@media (max-width:768px) and (orientation:portrait){.mobile-sidebar{max-width:85vw;width:260px}}.sidebar-header{align-items:center;background:#1a365d;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.sidebar-header h3{color:#fff;font-size:1rem;font-weight:700;letter-spacing:.5px;margin:0}.sidebar-close{align-items:center;background:#ffffff26;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;height:28px;justify-content:center;padding:0;transition:background .2s ease;width:28px}.sidebar-close:hover{background:#ffffff40}.sidebar-content{flex:1 1;overflow-y:auto;padding:8px 0}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-track{background:#0000}.sidebar-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.sidebar-tab-group{margin:0 8px}.sidebar-item{align-items:center;background:none;border:none;border-radius:8px;color:#334155;cursor:pointer;display:flex;font-size:.85rem;justify-content:space-between;margin:1px 0;min-height:42px;padding:10px 14px;text-align:left;transition:all .15s ease;width:100%}.sidebar-item.has-subtabs{color:#1e293b;font-weight:600}.sidebar-item:hover{background:#edf2f7;color:#1a365d}.sidebar-item.active{background:#1a365d;box-shadow:0 2px 8px #1a365d40;color:#fff;font-weight:600}.sidebar-arrow{color:#94a3b8;font-size:.65rem;transition:transform .2s ease}.sidebar-arrow.expanded{transform:rotate(180deg)}.sidebar-item.active .sidebar-arrow{color:#ffffffb3}.sidebar-subtabs{background:#f1f5f9;border-left:3px solid #1a365d;border-radius:0 0 8px 8px;margin:0 0 4px 12px;padding:4px 0}.sidebar-subtab{align-items:center;background:none;border:none;border-radius:6px;color:#475569;cursor:pointer;display:flex;font-size:.8rem;margin:1px 4px;min-height:36px;padding:8px 14px 8px 16px;text-align:left;transition:all .15s ease;width:100%;width:calc(100% - 8px)}.sidebar-subtab:hover{background:#e2e8f0;color:#1a365d}.sidebar-subtab.active{background:#2d4a7c;color:#fff;font-weight:600}@media (max-width:768px) and (orientation:portrait){.sidebar-item{min-height:48px;padding:12px 16px}}.sidebar-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-divider{background:linear-gradient(90deg,#0000,#cbd5e1,#0000);height:1px;margin:8px 20px}.sidebar-refresh{color:#059669;font-weight:600}.sidebar-refresh:hover{background:#ecfdf5!important}.sidebar-info{background:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0;padding:12px 16px;text-align:center}.version-info{color:var(--text);font-size:.75rem;font-weight:600;margin-bottom:.25rem}.release-info{color:var(--gray-600);font-size:.7rem;margin-bottom:.25rem}.developer-info{color:var(--orange);font-size:.7rem;font-weight:500}.sidebar-footer-links{display:flex;gap:12px;justify-content:center;margin-bottom:8px}.sidebar-footer-links a{color:var(--orange);font-size:.7rem;font-weight:500;text-decoration:none}.sidebar-footer-links a:hover{text-decoration:underline}.splash-overlay{animation:splashFadeIn .5s ease-out;background:linear-gradient(135deg,#08111d,#0d1a2e);bottom:0;height:100vh;left:0;position:fixed;right:0;top:0;width:100vw;z-index:9999}.splash-container,.splash-overlay{align-items:center;display:flex;justify-content:center}.splash-container{animation:splashContentIn .8s ease-out .2s both;flex-direction:column;gap:2rem;padding:2rem}.splash-logo{animation:logoPulse 2.5s ease-in-out infinite;height:auto;width:200px}.splash-greeting{color:#fff;font-size:2rem;letter-spacing:.5px}.splash-greeting,.splash-message{font-weight:300;margin:0;text-align:center}.splash-message{color:#fffc;font-size:1.1rem;line-height:1.5;max-width:500px;transition:opacity .4s ease}.splash-message.fade-out{opacity:0}.splash-loader{display:flex;gap:8px;margin-top:1rem}.splash-dot{animation:dotBounce 1.4s ease-in-out infinite;background:#fff9;border-radius:50%;height:8px;width:8px}.splash-dot:first-child{animation-delay:0s}.splash-dot:nth-child(2){animation-delay:.2s}.splash-dot:nth-child(3){animation-delay:.4s}@keyframes splashFadeIn{0%{opacity:0}to{opacity:1}}@keyframes splashContentIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes logoPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes dotBounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (max-width:600px){.splash-logo{width:150px}.splash-greeting{font-size:1.5rem}.splash-message{font-size:1rem;padding:0 1rem}}.splash-continue{animation:continuePulse 2s ease-in-out infinite;color:#ffffff80;font-size:.9rem;margin-top:1.5rem}@keyframes continuePulse{0%,to{opacity:.5}50%{opacity:.8}}.kiosk-splash{align-items:center;background:linear-gradient(135deg,#08111d,#0d1a2e);box-sizing:border-box;display:flex;height:100vh;justify-content:center;left:0;padding:1rem;position:fixed;top:0;width:100vw;z-index:9999}.kiosk-splash-content{align-items:center;animation:fadeInScale .6s ease-out;display:flex;flex-direction:column;gap:2rem;max-width:100%;text-align:center}.kiosk-splash-logo{animation:pulse 3s ease-in-out infinite;background:#0000;border-radius:0;box-shadow:none;flex-shrink:0;height:clamp(180px,12.5vw,300px);object-fit:contain;padding:0;width:clamp(180px,12.5vw,300px)}.kiosk-splash-impianto{color:#fff;font-family:Segoe UI,Roboto,sans-serif;font-size:clamp(2rem,8vw,4rem);font-weight:700;-webkit-hyphens:auto;hyphens:auto;letter-spacing:clamp(.1rem,1vw,.5rem);margin:0;max-width:100%;text-shadow:0 4px 12px #0006;word-break:break-word}.kiosk-splash-loader{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-top:1rem;max-width:100%;width:clamp(250px,80vw,300px)}.kiosk-progress-bar{background:#fff3;border-radius:3px;height:6px;overflow:hidden;width:100%}.kiosk-progress-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:3px;box-shadow:0 0 10px #3b82f680;height:100%;transition:width .3s ease}.kiosk-splash-text{color:#fffc;font-size:clamp(.9rem,3vw,1rem);margin:0}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}@media (max-width:768px){.kiosk-splash{padding:.5rem}.kiosk-splash-content{gap:1.5rem}.kiosk-splash-impianto{line-height:1.1}.kiosk-splash-loader{margin-top:.5rem}}@media (max-width:480px){.kiosk-splash{padding:.25rem}.kiosk-splash-content{gap:1rem}.kiosk-splash-impianto{line-height:1}}@media (max-height:500px) and (orientation:landscape){.kiosk-splash-content{gap:1rem}.kiosk-splash-logo{height:clamp(120px,7.5vh,180px);padding:0;width:clamp(120px,7.5vh,180px)}.kiosk-splash-impianto{font-size:clamp(1.5rem,6vh,2.5rem)}}@media (prefers-reduced-motion:reduce){.kiosk-splash-logo{animation:pulse 3s ease-in-out infinite}.kiosk-splash-content{animation:none}.kiosk-progress-fill{transition:none}}.kiosk-container{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;width:100%}.kiosk-header{background:linear-gradient(135deg,#0a1830,#1a2a4d);box-shadow:0 2px 8px #0000001a;color:#fff;left:0;padding:1rem 2rem;position:fixed;right:0;top:0;z-index:1000}.kiosk-header-content{align-items:center;display:flex;gap:1rem;justify-content:space-between;max-width:100%}.kiosk-logo-section{flex:1 1;gap:1rem;min-width:0}.kiosk-extra-button,.kiosk-logo-section{align-items:center;display:flex}.kiosk-logo{background:#0000;border-radius:50%;filter:none;flex-shrink:0;height:56px;object-fit:contain;padding:6px;width:56px}.kiosk-title-section{display:flex;flex:1 1;flex-direction:column;min-width:0}.kiosk-title{color:#fff;font-size:1.5rem;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-status{align-items:center;color:#fff;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-top:.25rem}.kiosk-main{display:flex;flex:1 1;flex-direction:column;margin-top:80px;padding:1rem}.kiosk-tabs{-ms-overflow-style:none;background:var(--card-background);border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;margin-bottom:1rem;overflow-x:auto;padding:.5rem;scrollbar-width:none}.kiosk-tabs::-webkit-scrollbar{display:none}.kiosk-tab{background:var(--gray-200);border:1px solid #00000014;border-radius:8px;color:var(--blue);cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;min-width:120px;padding:1rem 1.5rem;text-align:center;transition:all .2s ease;white-space:nowrap}.kiosk-tab:hover{filter:brightness(.98);transform:translateY(-1px)}.kiosk-tab.active{background:var(--blue)!important;border-color:#0000;box-shadow:0 0 0 1px var(--blue),0 2px 4px #0000001f;color:var(--on-blue)!important}.kiosk-subtabs{-ms-overflow-style:none;background:var(--background);border:1px solid var(--border-color);border-radius:8px;display:flex;margin-bottom:1rem;overflow-x:auto;padding:.25rem;scrollbar-width:none}.kiosk-subtabs::-webkit-scrollbar{display:none}.kiosk-subtab{background:var(--gray-200);border:1px solid #00000014;border-radius:6px;color:var(--blue);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;min-width:100px;padding:.75rem 1rem;text-align:center;transition:all .2s ease;white-space:nowrap}.kiosk-subtab:hover{filter:brightness(.98);transform:translateY(-1px)}.kiosk-subtab.active{background:var(--blue)!important;border-color:#0000;box-shadow:0 0 0 1px var(--blue),0 2px 4px #0000001f;color:var(--on-blue)!important}.kiosk-content{align-items:center;background:var(--card-background);border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:400px;padding:2rem}.kiosk-maintenance{background:#dc2626;color:#fff}.kiosk-maintenance-content{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000004d;color:#1f2937;max-width:800px;padding:2rem;width:100%}.kiosk-maintenance-title{align-items:center;color:#dc2626;display:flex;font-size:2rem;font-weight:700;gap:.5rem;justify-content:center;margin-bottom:1.5rem;text-align:center}.kiosk-maintenance-details{grid-gap:1rem;display:grid;gap:1rem}.kiosk-maintenance-item{background:var(--background);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.kiosk-maintenance-label{color:var(--text-secondary);font-weight:600;margin-bottom:.5rem}.kiosk-maintenance-value{color:var(--text-primary);font-size:1.1rem}.kiosk-table-container{background:var(--card-background);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.kiosk-table{border-collapse:collapse;width:100%}.kiosk-table thead{background:var(--primary-color);color:#fff}.kiosk-table td,.kiosk-table th{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:1rem;text-align:left}.kiosk-table tbody tr:nth-child(2n){background:var(--background)}.kiosk-table tbody tr:hover{background:var(--hover-color)}.kiosk-status-badge{border-radius:12px;font-size:.85rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.kiosk-status-badge.completata{background:#d1fae5;color:#065f46}.kiosk-status-badge.in-corso{background:#fef3c7;color:#92400e}.kiosk-status-badge.aperta{background:#fee2e2;color:#991b1b}.kiosk-pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.kiosk-pagination-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.kiosk-pagination-btn:enabled{background:var(--primary-color);color:#fff}.kiosk-pagination-btn:enabled:hover{background:var(--primary-hover)}.kiosk-pagination-btn:disabled{background:var(--border-color);color:var(--text-secondary);cursor:not-allowed}.kiosk-pagination-info{color:var(--text-primary);font-size:1rem;font-weight:600}@media (max-width:768px){.kiosk-header{padding:.75rem 1rem}.kiosk-logo{height:36px;width:36px}.kiosk-title{font-size:1.1rem}.kiosk-status{font-size:.8rem}.kiosk-main{margin-top:70px;padding:.5rem}.kiosk-tabs{margin-bottom:.75rem;padding:.25rem}.kiosk-tab{font-size:.9rem;min-width:100px;padding:.75rem 1rem}.kiosk-subtabs{margin-bottom:.75rem;padding:.25rem}.kiosk-subtab{font-size:.8rem;min-width:80px;padding:.5rem .75rem}.kiosk-content{min-height:300px;padding:1rem}.kiosk-maintenance-content{margin:0 .5rem;padding:1.5rem}.kiosk-maintenance-title{font-size:1.5rem;margin-bottom:1rem}.kiosk-table-container{overflow-x:visible}.kiosk-table{display:block}.kiosk-table thead{display:none}.kiosk-table tbody{display:block}.kiosk-table tr{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:block;margin-bottom:1rem;padding:1rem}.kiosk-table td{align-items:center;border-bottom:1px solid var(--border-color);color:var(--text-primary);display:flex;justify-content:space-between;padding:.5rem 0}.kiosk-table td:last-child{border-bottom:none}.kiosk-table td:before{color:var(--text-secondary);content:attr(data-label) ": ";flex-shrink:0;font-weight:600;margin-right:.5rem}.kiosk-pagination{flex-direction:column;gap:.75rem}.kiosk-pagination-btn{font-size:.9rem;min-width:120px;padding:.75rem 1rem}.kiosk-pagination-info{font-size:.9rem}}@media (max-width:480px){.kiosk-header{padding:.5rem .75rem}.kiosk-logo{height:32px;width:32px}.kiosk-title{font-size:1rem}.kiosk-status{font-size:.75rem}.kiosk-main{margin-top:65px;padding:.25rem}.kiosk-tab{font-size:.8rem;min-width:80px;padding:.5rem .75rem}.kiosk-subtab{font-size:.75rem;min-width:70px;padding:.5rem}.kiosk-content{min-height:250px;padding:.75rem}.kiosk-maintenance-content{margin:0 .25rem;padding:1rem}.kiosk-maintenance-title{flex-direction:column;font-size:1.25rem;gap:.25rem}.kiosk-maintenance-value{font-size:1rem}.kiosk-table tr{margin-bottom:.75rem;padding:.75rem}.kiosk-table td{font-size:.85rem;padding:.25rem 0}.kiosk-table td:before{font-size:.8rem}.kiosk-status-badge{font-size:.75rem;padding:.2rem .5rem}}@media (min-width:769px) and (max-width:1024px){.kiosk-header{padding:1rem 1.5rem}.kiosk-main{padding:.75rem}.kiosk-content{padding:1.5rem}.kiosk-maintenance-content{max-width:700px}}@media (min-width:1025px){.kiosk-content{padding:3rem}.kiosk-maintenance-content{max-width:900px}}@media (hover:none) and (pointer:coarse){.kiosk-pagination-btn,.kiosk-subtab,.kiosk-tab{min-height:44px;min-width:44px}.kiosk-pagination-btn:active,.kiosk-subtab:active,.kiosk-tab:active{transform:scale(.98)}}body.dark .kiosk-tab{background:var(--gray-200);border-color:#ffffff1a;color:var(--gray-600)}body.dark .kiosk-tab:hover{background:var(--gray-300)}body.dark .kiosk-tab.active{background:var(--orange)!important;border-color:#0000!important;box-shadow:0 0 0 1px var(--orange),0 2px 4px #0003;color:var(--on-orange)!important}body.dark .kiosk-subtab{background:var(--gray-200);border-color:#ffffff1a;color:var(--gray-600)}body.dark .kiosk-subtab:hover{background:var(--gray-300)}body.dark .kiosk-subtab.active{background:var(--orange)!important;border-color:#0000!important;box-shadow:0 0 0 1px var(--orange),0 2px 4px #0003;color:var(--on-orange)!important}@media (prefers-color-scheme:dark){.kiosk-maintenance-content{background:var(--card-background);color:var(--text-primary)}.kiosk-maintenance-item{background:var(--background)}.kiosk-maintenance-label{color:var(--text-secondary)}.kiosk-maintenance-value{color:var(--text-primary)}}@media (prefers-reduced-motion:reduce){.kiosk-pagination-btn,.kiosk-subtab,.kiosk-tab{transition:none}}.kiosk-pagination-btn:focus,.kiosk-subtab:focus,.kiosk-tab:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-contrast:high){.kiosk-table{border:2px solid var(--text-primary)}.kiosk-table td,.kiosk-table th{border:1px solid var(--text-primary)}}.ui-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:999999}.ui-modal{background:#fff;border:1px solid #eef1f5;border-radius:12px;box-shadow:0 20px 40px #00000040;overflow:hidden;width:min(92vw,520px)}.ui-modal-header{border-bottom:1px solid #eef1f5;padding:16px 20px}.ui-modal-header h3{color:#0f1f3a;font-size:18px;margin:0}.ui-modal-body{color:#111827;padding:20px}.ui-modal-actions{border-top:1px solid #eef1f5;display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}.btn{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;padding:10px 14px}.btn.primary{background:#ff6f3c;border-color:#ff6f3c;color:#fff}.btn.ghost{background:#fff;color:#111827}.ui-toast-container{grid-gap:8px;bottom:16px;display:grid;gap:8px;position:fixed;right:16px;z-index:999999}.ui-toast{border-radius:8px;box-shadow:0 6px 20px #0003;color:#fff;max-width:340px;padding:10px 14px}.ui-toast.info{background:#2563eb}.ui-toast.success{background:#16a34a}.ui-toast.error{background:#dc2626}.error-boundary{align-items:center;display:flex;justify-content:center;min-height:50vh;padding:2rem}.error-content{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:600px;padding:2rem;text-align:center}.error-actions{display:flex;gap:1rem;justify-content:center;margin:1.5rem 0}.btn-reload,.btn-retry{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-retry{background:#007bff;color:#fff}.btn-reload{background:#6c757d;color:#fff}.btn-reload:hover,.btn-retry:hover{box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.error-details{margin-top:2rem;text-align:left}.error-stack{background:#f8f9fa;border-radius:4px;margin-top:1rem;padding:1rem}.error-stack pre{color:#dc3545;font-size:.875rem;white-space:pre-wrap}