body{margin:0;padding:0;width:100vw;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-touch-callout:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y}html{margin:0;padding:0;width:100vw;overflow-x:hidden;overflow-y:auto}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-x:none;overscroll-behavior-y:auto;touch-action:pan-x pan-y}html{box-sizing:border-box;width:100vw;min-width:100vw;max-width:100vw;overflow-x:hidden;-webkit-text-size-adjust:100%}@media(max-width:600px){body,html{width:100vw;min-width:100vw;max-width:100vw;overflow-x:hidden;padding:0;margin:0}}.panel-cards{width:100%;max-width:900px;margin:12px auto 24px;padding:0 12px;box-sizing:border-box}.panel-cards .panel-title{text-align:center;font-weight:700;font-size:20px;margin:8px 0 12px}.panel-cards .panel-inner{background:#fff;border-radius:14px;border:1px solid #e9ecef;box-shadow:0 4px 16px #0000000f;padding:14px}.manut-card{border:1px solid #e9ecef;border-radius:10px;padding:12px;margin:10px 0;background:#fff}.manut-card .row{display:grid;grid-template-columns:140px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid #f0f0f0}.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}.panel-cards .panel-inner,.manut-card{padding:12px}.manut-card .row{grid-template-columns:130px 1fr}}@media(max-width:768px){.desktop-only{display:none!important}.mobile-only{display:block}.panel-cards{width:100%;max-width:900px;margin:12px auto 24px;padding:0 12px;box-sizing:border-box}.panel-cards .panel-title{text-align:center;font-weight:700;font-size:20px;margin:8px 0 12px}.panel-cards .panel-inner{background:#fff;border-radius:14px;border:1px solid #e9ecef;box-shadow:0 4px 16px #0000000f;padding:12px}.manut-card{border:1px solid #e9ecef;border-radius:10px;padding:12px;margin:10px 0;background:#fff}.manut-card .row{display:grid;grid-template-columns:130px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid #f0f0f0}.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 th,.std-table td{padding:10px 12px;border-bottom:1px solid #e9ecef;text-align:left}.std-table th{background:#f8f9fa;font-weight:700}@media(max-width:768px){.dashboard-content{padding:0!important;margin:0!important;width:100vw!important}*{box-sizing:border-box}body,html{margin:0!important;padding:0!important;width:100vw!important;overflow-x:hidden!important}#root{width:100vw!important;margin:0!important;padding:0!important}table{font-size:.8rem!important;margin:0!important}table th,table td{padding:.25rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}button{padding:.25rem .5rem!important;font-size:.8rem!important;margin:.125rem!important}input,select,textarea{padding:.25rem!important;font-size:.8rem!important;margin:.125rem 0!important}.compact-tabs-wrapper{gap:.25rem!important;margin-bottom:.5rem!important;position:sticky!important;top:0!important;z-index:10!important;background:var(--surface)!important;padding:.5rem .25rem!important;box-shadow:0 2px 4px #0000001a!important}.compact-tab-btn{padding:.25rem .5rem!important;font-size:.75rem!important}.gestione-content,.registro-content,.area-content{padding:1rem .25rem .5rem!important;margin:0!important;width:100vw!important}.dashboard-tabs,.compact-tabs-wrapper,table,.table-container{width:100%!important;margin:0!important;padding:.125rem!important}.table-container,.responsive-table{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}table{min-width:600px!important}table.ordine-dettaglio-table{min-width:unset!important;width:100%!important}.ore-zinco-table-mobile{min-width:unset!important;width:max-content!important;font-size:.7rem!important}.ore-zinco-table-mobile th,.ore-zinco-table-mobile td{padding:2px 3px!important;white-space:nowrap!important;max-width:none!important;overflow:visible!important;text-overflow:unset!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{width:36px!important;padding:2px!important;font-size:.7rem!important;margin:0!important}.modal-content{padding:.5rem!important;margin:.25rem!important;max-width:95vw!important}}.tabs,.compact-tabs-wrapper,.subtabs-container{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important;-ms-overflow-style:auto!important;-webkit-overflow-scrolling:touch!important;scroll-behavior:smooth!important;overscroll-behavior-x:contain!important}.tabs::-webkit-scrollbar,.compact-tabs-wrapper::-webkit-scrollbar,.subtabs-container::-webkit-scrollbar{height:4px!important;display:block!important}.tabs::-webkit-scrollbar-track,.compact-tabs-wrapper::-webkit-scrollbar-track,.subtabs-container::-webkit-scrollbar-track{background:var(--gray-200)!important;border-radius:2px!important}.tabs::-webkit-scrollbar-thumb,.compact-tabs-wrapper::-webkit-scrollbar-thumb,.subtabs-container::-webkit-scrollbar-thumb{background:var(--gray-600)!important;border-radius:2px!important}.tabs::-webkit-scrollbar-thumb:hover,.compact-tabs-wrapper::-webkit-scrollbar-thumb:hover,.subtabs-container::-webkit-scrollbar-thumb:hover{background:var(--gray-700)!important}.tab,.compact-tab-btn,.kaldo-tab-btn{flex-shrink:0!important;white-space:nowrap!important;min-width:fit-content!important}@media(max-width:768px){.ome-wrapper,.area-layout{padding-top:56px!important;margin-top:0!important}.ome-wrapper>nav.compact-tabs-wrapper:first-child,.area-layout>nav.compact-tabs-wrapper:first-child{margin-top:0!important;margin-bottom:8px!important}.tabs,.compact-tabs-wrapper,.subtabs-container,nav.compact-tabs-wrapper,.area-layout .compact-tabs-wrapper,.ome-wrapper .compact-tabs-wrapper{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;scroll-behavior:smooth!important;overscroll-behavior-x:contain!important;touch-action:pan-x!important;width:100%!important;max-width:100vw!important;padding:4px!important;gap:4px!important;margin-top:4px!important}.tabs::-webkit-scrollbar,.compact-tabs-wrapper::-webkit-scrollbar,.subtabs-container::-webkit-scrollbar{display:none!important;height:0!important}.tabs,.compact-tabs-wrapper,.subtabs-container{scrollbar-width:none!important;-ms-overflow-style:none!important}.tab,.compact-tab-btn,.kaldo-tab-btn,.tabs button,.compact-tabs-wrapper button{flex-shrink:0!important;white-space:nowrap!important;min-width:fit-content!important;padding:8px 12px!important;font-size:13px!important;touch-action:manipulation!important}}@media(max-width:480px)and (orientation:portrait){.tabs,.compact-tabs-wrapper,.subtabs-container{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x!important}}.modal-overlay-responsive{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;overflow-y:auto}body:has(.modal-overlay-responsive),body:has(.modal-bg){overflow:hidden!important}body.modal-open{overflow:hidden!important}html:has(.modal-bg),html:has(.modal-overlay),html:has(.modal-overlay-responsive),html:has(.rm-overlay),html:has([data-modal-root]),html:has(.energia-modal-overlay),html:has(.dashboard-szr-modal-overlay),html:has(.dashboard-szr-lai-modal-overlay),html:has(.permessi-modal-bg),html:has(.permessi-modal-overlay),html:has(.giornaliera-modal-overlay),html:has(.arrivi-modal-overlay),html:has(.rentri-modal-overlay),html:has(.restore-modal-overlay),html:has(.save-modal-overlay),html:has(.personale-modal-overlay),html:has(.user-ore-modal-overlay),html:has(.interventi-area-modal-overlay),html:has(.print-modal-overlay),html:has(.campione-modal),html:has(.delete-confirm-overlay){overflow:hidden!important}body:has(.modal-bg),body:has(.modal-overlay),body:has(.modal-overlay-responsive),body:has([data-modal-root]),body:has(.energia-modal-overlay),body:has(.dashboard-szr-modal-overlay),body:has(.dashboard-szr-lai-modal-overlay),body:has(.permessi-modal-bg),body:has(.permessi-modal-overlay),body:has(.giornaliera-modal-overlay),body:has(.arrivi-modal-overlay),body:has(.rentri-modal-overlay),body:has(.restore-modal-overlay),body:has(.save-modal-overlay),body:has(.personale-modal-overlay),body:has(.user-ore-modal-overlay),body:has(.interventi-area-modal-overlay),body:has(.print-modal-overlay),body:has(.campione-modal),body:has(.delete-confirm-overlay){overflow:hidden!important;position:fixed!important;width:100%!important;right:0!important}:has(>.modal-bg)>*,:has(>.modal-overlay)>*,#root:has(.modal-bg),#root:has(.modal-overlay),#root:has(.modal-overlay-responsive),#root:has(.rm-overlay),#root:has([data-modal-root]),#root:has(.energia-modal-overlay),#root:has(.dashboard-szr-modal-overlay),#root:has(.permessi-modal-bg),#root:has(.giornaliera-modal-overlay),#root:has(.arrivi-modal-overlay),#root:has(.rentri-modal-overlay),#root:has(.personale-modal-overlay),#root:has(.user-ore-modal-overlay),#root:has(.campione-modal),#root:has(.delete-confirm-overlay){overflow:hidden!important}.modal-container-responsive{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:800px;max-height:80vh;overflow:auto;box-shadow:0 10px 30px #0000002e;position:relative}.modal-container-responsive--small{max-width:500px}.modal-container-responsive--medium{max-width:700px}.modal-container-responsive--large{max-width:1000px}.modal-header-responsive{margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.modal-header-responsive h3{margin:0;font-size:1.25rem;color:#14305c}.modal-body-responsive{overflow-y:auto;max-height:calc(80vh - 120px);-webkit-overflow-scrolling:touch}.modal-actions-responsive{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.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{font-weight:600;color:#374151;font-size:.9rem}.modal-form-responsive input,.modal-form-responsive select,.modal-form-responsive textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}.modal-form-responsive input:focus,.modal-form-responsive select:focus,.modal-form-responsive textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-btn-primary{padding:10px 20px;background:#ff6f3c;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.modal-btn-primary:hover{background:#e55a26}.modal-btn-primary:disabled{background:#ccc;cursor:not-allowed}.modal-btn-secondary{padding:10px 20px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.modal-btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.modal-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px 8px;line-height:1}.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{padding:0;align-items:flex-start}.modal-container-responsive{width:100%!important;max-width:100%!important;height:100vh;max-height:100vh;border-radius:0;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-header-responsive{position:sticky;top:0;background:#fff;z-index:10;margin:0 -16px 16px;padding:16px 16px 12px}.modal-header-responsive h3{font-size:1.1rem;padding-right:32px}.modal-body-responsive{max-height:none;padding-bottom:80px}.modal-actions-responsive{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:12px 16px;margin:0;border-top:2px solid #e5e7eb;box-shadow:0 -4px 12px #00000014;flex-wrap:wrap;gap:8px}.modal-actions-responsive button{flex:1;min-width:120px}.modal-form-responsive{gap:12px}.modal-form-responsive input,.modal-form-responsive select,.modal-form-responsive textarea{padding:12px;font-size:16px}.modal-close-btn{top:12px;right:12px;font-size:28px;padding:8px}}@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{padding:10px 12px;flex-direction:column}.modal-actions-responsive button{width:100%;min-width:auto}.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{padding:10px 16px;font-size:.9rem}}@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{position:relative;margin-top:12px;padding-top:12px}}@media(hover:none)and (pointer:coarse){.modal-btn-primary,.modal-btn-secondary{min-height:44px;padding:12px 20px}.modal-close-btn{min-width:44px;min-height: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-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom))}.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: #ffffff;--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 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1), 0 10px 10px rgba(0, 0, 0, .04);--font-xs: .75rem;--font-sm: .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: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 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}:root{--surface-elevated: #ffffff;--surface-hover: var(--gray-100);--border: var(--gray-300);--border-light: var(--gray-200);--input-bg: #ffffff;--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 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4), 0 4px 6px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .5), 0 10px 10px rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--font-base);line-height:var(--leading-normal);color:var(--text);background:var(--background);transition:background var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text);margin-bottom:var(--space-3)}h1{font-size:var(--font-3xl)}h2{font-size:var(--font-2xl)}h3{font-size:var(--font-xl)}h4{font-size:var(--font-lg)}h5{font-size:var(--font-base)}h6{font-size:var(--font-sm)}p{margin-bottom:var(--space-3);color:var(--text)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover);text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-base);font-weight:var(--font-semibold);line-height:var(--leading-tight);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:all var(--transition-fast);text-decoration:none;background:var(--gray-200);color:var(--text);box-shadow:var(--shadow-sm)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--secondary)!important;color:#fff!important;border-color:var(--secondary)!important}.btn-primary:hover{background:var(--secondary-hover)!important;border-color:var(--secondary-hover)!important;color:#fff!important}.btn-secondary{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.btn-secondary:hover{background:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:#fff!important}body.dark .btn-primary{background:var(--secondary)!important;color:#fff!important;border-color:var(--secondary)!important}body.dark .btn-secondary{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.btn-ghost{background:transparent;border-color:var(--gray-300);color:var(--text);box-shadow:none}.btn-ghost:hover{background:var(--gray-100);border-color:var(--gray-400)}body.dark .btn-ghost{border-color:var(--gray-600);color:var(--text)}body.dark .btn-ghost:hover{background:var(--gray-700);border-color:var(--gray-500)}.tabs{display:flex;gap:var(--space-1);padding:var(--space-2);background:var(--surface);border-bottom:1px solid var(--gray-300);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:10px 20px;font-size:var(--font-base);font-weight:var(--font-bold);color:var(--text);background:var(--gray-200);border:2px solid var(--gray-300);border-radius:var(--radius-lg);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.tab:hover{background:var(--gray-300);border-color:var(--gray-400);transform:translateY(-1px);box-shadow:var(--shadow-md)}.tab.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-md)}.tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}body.dark .tab{background:var(--gray-700);border-color:var(--gray-600);color:var(--text)}body.dark .tab:hover{background:var(--gray-600);border-color:var(--gray-500)}.card{background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md)}input,select,textarea{width:100%;padding:var(--space-3);font-size:var(--font-base);font-family:inherit;color:var(--text);background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius-md);transition:all var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}label{display:block;margin-bottom:var(--space-2);font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text)}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--primary)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{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:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{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-header h3,body.dark .ui-modal-body{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);color:var(--text);border-color:var(--border)}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);color:var(--text);border-color:var(--border)}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-header-responsive,body.dark .modal-actions-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,transparent,var(--gray-600),transparent)}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 select,body.dark .modal-content input{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);color:var(--text);border-color:var(--border)}body.dark .modal-btn.secondary{background:var(--surface-elevated);color:var(--text);border-color:var(--border)}body.dark .modal-btn.ghost{color:var(--text-secondary);border-color:var(--border)}body.dark .camera-placeholder{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 .panel-cards .panel-inner,body.dark .manut-card{background:var(--surface);border-color:var(--border)}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);color:var(--text);border-bottom-color:var(--border)}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 tbody tr:hover,body.dark .ofe-gestione-personale-table .clickable-row:hover,body.dark .ofe-gestione-personale-table .clickable-row.expanded{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 .time-cell,body.dark .ofe-gestione-personale-table.detail-view .day-name{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{border-color:var(--primary);background:#3b82f61a}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 .stat-card{background:var(--surface-elevated);color:var(--text)}body.dark .recommendation{background:var(--surface-elevated);border-color:var(--border);color:var(--text)}body.dark .category-section{background:var(--surface-elevated);border-color:var(--border)}body.dark .action-result-title{color:var(--text)}body.dark .quick-action-btn,body.dark .generated-content,body.dark .detailed-metrics{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{background:var(--surface);color:var(--text)}body.dark .view-toggle button:hover{background:var(--surface-elevated)}body.dark .filters select,body.dark .filters input[type=date],body.dark .filters .filter-username{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);color:var(--primary);border-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-mount,body.dark .ss-disk-desc{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{border-color:#ef444466;background:#ef44441a}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-mono,body.dark .ss-ct-desc{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);color:#fff;border-color:var(--primary)}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);color:var(--text-secondary);border-color:var(--border)}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-loading,body.dark .energia-modal-empty{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 thead th,body.dark table th{background:var(--gray-700)!important;color:#fff!important;border-color:var(--gray-600)!important}body.dark .events-table th,body.dark .sessions-table th,body.dark .ss-table th,body.dark .ofe-gestione-personale-table th,body.dark .manutenzioni-table th,body.dark .manutenzioni-table thead{background:var(--blue-800)!important;color:#fff!important;border-color:var(--blue-900)!important}body.dark table tbody td,body.dark table td{color:var(--text);border-bottom-color:var(--border-light)!important}body.dark table tbody tr:nth-child(2n),body.dark .rm-table tbody tr:nth-child(2n),body.dark .manutenzioni-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 .sessions-table-container,body.dark .rm-table-wrap,body.dark .ofe-gestione-personale-table-wrapper,body.dark .ofe-personale-detail-table-wrapper,body.dark .permessi-table-wrapper{background:var(--surface);border-color:var(--border)}body.dark .ofe-manutenzioni-table,body.dark .manutenzioni-table,body.dark .users-table,body.dark .events-table,body.dark .sessions-table,body.dark .std-table,body.dark .rm-table,body.dark .ss-table,body.dark .ofe-gestione-personale-table,body.dark .ofe-gestione-personale-table .detail-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{color:#fff!important;border-top-color:var(--blue-900)!important}body.dark .std-table th,body.dark .rm-table thead 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{width:8px;height: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,body.dark .energia-chart,body.dark .energia-meter-content{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{background:var(--surface);color:var(--text)}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);color:var(--text-secondary);border-color:var(--border)}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 .chart-title,body.dark .bar-label{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{color:var(--text)}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);color:#fff;border-color:var(--primary)}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: #f9fafb"],body.dark .richieste-materiali>div [style*="background: #f3f4f6"]{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"]{background:var(--surface-elevated)!important;color:var(--text)!important;border-color:var(--border)!important}body.dark .richieste-materiali [style*="background: #f8fafc"],body.dark .richieste-materiali [style*="background: #f1f5f9"]{background:var(--surface-elevated)!important;color:var(--text)!important}body.dark .richieste-materiali [style*="borderTop: 1px solid #e5e7eb"],body.dark .richieste-materiali [style*="border-top: 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*="borderTop: 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*="border-bottom: 1px solid #e5e7eb"]{border-color:var(--border)!important}body.dark .rm-modal-content [style*="background: #f8fafc"],body.dark .rm-modal-content [style*="background: #f1f5f9"]{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 .rm-modal-content [style*="color: #111827"],body.dark .modal-close-btn{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;color:var(--text)!important;border-bottom-color:var(--border)!important}body.dark .presidi-ambientali-tab table,body.dark .pa-registro-wrapper table{background:var(--surface)!important}body.dark .presidi-ambientali-tab tbody tr,body.dark .pa-registro-wrapper tbody tr{background:var(--surface)!important;color:var(--text)!important}body.dark .presidi-ambientali-tab tbody tr:nth-child(2n),body.dark .pa-registro-wrapper tbody tr:nth-child(2n){background:var(--surface-elevated)!important}body.dark .presidi-ambientali-tab tbody td,body.dark .pa-registro-wrapper 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: rgb(102"],body.dark .presidi-ambientali-tab tbody td [style*="color: #666"]{color:var(--text-secondary)!important}body.dark .presidi-ambientali-tab button[style*="background: #fff"],body.dark .presidi-ambientali-tab button[style*="background:#fff"],body.dark .presidi-ambientali-tab button[style*="background: rgb(255"]{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: rgb(240, 253"],body.dark .pa-modal-body [style*="background: #f0fdf4"]{background:#10b9811f!important}body.dark .pa-modal-body [style*="background: rgb(255, 251"],body.dark .pa-modal-body [style*="background: #fffbeb"]{background:#f59e0b1f!important}body.dark .pa-modal-body [style*="background: rgb(248"],body.dark .pa-modal-body [style*="background: #f8f9fa"]{background:var(--surface-elevated)!important}body.dark .pa-modal-body [style*="color: rgb(51"],body.dark .pa-modal-body [style*="color: #333"]{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: rgb(102"],body.dark .pa-toolbar [style*="color: #666"]{color:var(--text-secondary)!important}body.dark .pa-registro-wrapper h4[style*="color: rgb(20"],body.dark .pa-registro-wrapper h4[style*="color: #14305c"]{color:var(--primary)!important}body.dark .pa-registro-wrapper h4[style*="color: rgb(255"],body.dark .pa-registro-wrapper h4[style*="color: #ff6f3c"]{color:#ff9c7a!important}body.dark .pa-registro-wrapper h4[style*="color: rgb(156"],body.dark .pa-registro-wrapper h4[style*="color: #9c27b0"]{color:#ce93d8!important}body.dark .pa-registro-wrapper span[style*="background: rgb(254, 242"],body.dark .pa-registro-wrapper span[style*="background: #fef2f2"]{background:#dc262633!important;color:#fca5a5!important}body.dark .pa-registro-wrapper span[style*="background: rgb(239, 246"],body.dark .pa-registro-wrapper span[style*="background: #eff6ff"]{background:#2563eb33!important;color:#93c5fd!important}body.dark .pa-registro-wrapper span[style*="background: rgb(254, 243"],body.dark .pa-registro-wrapper span[style*="background: #fef3c7"]{background:#d9770633!important;color:#fcd34d!important}body.dark .pa-registro-wrapper span[style*="background: rgb(240, 253"],body.dark .pa-registro-wrapper span[style*="background: #f0fdf4"]{background:#16a34a33!important;color:#86efac!important}body.dark [style*="background: white"],body.dark [style*="background-color: white"],body.dark [style*="background: #fff"],body.dark [style*="background-color: #fff"],body.dark [style*="background:#fff"],body.dark [style*="background-color:#fff"]{background:var(--surface)!important;color:var(--text)!important}@media(max-width:768px){html,body{width:100vw;max-width:100vw;overflow-x:hidden;margin:0;padding:0;-webkit-text-size-adjust:100%;-webkit-overflow-scrolling:touch}#root,.App{width:100%;max-width:100vw;overflow-x:hidden}.page-container{width:100%;max-width:100vw;padding:0 8px;margin:0 auto;box-sizing:border-box}.App-header{padding:8px 12px;font-size:14px}.app-header-greeting{font-size:clamp(12px,3.5vw,16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs,.compact-tabs-wrapper,.subtabs-container{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:4px;padding:6px 4px;margin:0 0 8px;background:var(--surface);border-bottom:1px solid var(--gray-300);scrollbar-width:thin;-ms-overflow-style:auto}.tabs::-webkit-scrollbar,.compact-tabs-wrapper::-webkit-scrollbar,.subtabs-container::-webkit-scrollbar{height:4px}.tabs::-webkit-scrollbar-track,.compact-tabs-wrapper::-webkit-scrollbar-track,.subtabs-container::-webkit-scrollbar-track{background:var(--gray-200);border-radius:2px}.tabs::-webkit-scrollbar-thumb,.compact-tabs-wrapper::-webkit-scrollbar-thumb,.subtabs-container::-webkit-scrollbar-thumb{background:var(--gray-500);border-radius:2px}.tabs::-webkit-scrollbar-thumb:hover,.compact-tabs-wrapper::-webkit-scrollbar-thumb:hover,.subtabs-container::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.tab,.compact-tab-btn,.kaldo-tab-btn{min-width:80px;padding:8px 12px;font-size:13px;white-space:nowrap;flex-shrink:0;border-radius:6px}.btn{min-height:44px;min-width:44px;padding:10px 16px;font-size:14px;margin:4px 4px 8px 0;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;touch-action:manipulation}.area-buttons-container{display:flex;flex-wrap:wrap;gap:8px;margin:16px auto 8px;padding:0 8px;justify-content:center}.area-buttons-container .btn{flex:1 1 calc(50% - 4px);max-width:calc(50% - 4px);min-width:140px;margin:0;padding:12px 8px;font-size:13px}.modal-bg,.modal-overlay-responsive{padding:0;align-items:flex-start}.modal,.modal-container-responsive{width:100%;height:100vh;max-width:100%;max-height:100vh;border-radius:0;margin:0;display:flex;flex-direction:column}.modal-header,.modal-header-responsive{padding:16px;position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--gray-300);flex-shrink:0}.modal-content,.modal-body-responsive{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.modal-actions,.modal-actions-responsive{padding:16px;position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--gray-300);display:flex;gap:8px;flex-shrink:0}.modal-actions button,.modal-actions-responsive button{flex:1;min-height:48px}table,.std-table{display:block;width:100%;overflow-x:visible}table thead,.std-table thead{display:none}table tbody,.std-table tbody{display:block}table tr,.std-table tr{display:block;background:var(--surface);border:1px solid var(--gray-300);border-radius:8px;margin-bottom:12px;padding:12px;box-shadow:0 2px 4px #00000014}table td,.std-table td{display:flex;justify-content:space-between;align-items:center;border:none;padding:8px 0;border-bottom:1px solid var(--gray-200)}table td:last-child,.std-table td:last-child{border-bottom:none}table td:before,.std-table td:before{content:attr(data-label);font-weight:600;color:var(--gray-600);margin-right:8px;flex-shrink:0}.manut-card,.feature-card{margin:8px 0;padding:12px;border-radius:8px;background:var(--surface);border:1px solid var(--gray-300)}.manut-card .row{display:grid;grid-template-columns:100px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid var(--gray-200)}.manut-card .row:last-child{border-bottom:none}.manut-card .lbl{font-size:12px;font-weight:600;color:var(--gray-600)}.manut-card .val{font-size:14px;word-break:break-word;color:var(--text)}input,select,textarea{width:100%;padding:12px;font-size:16px;border-radius:8px;border:1px solid var(--gray-300);background:var(--surface);color:var(--text);box-sizing:border-box}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #3b82f61a}.feature-grid{grid-template-columns:1fr;gap:12px;margin:16px 0}.panel-cards{padding:0 8px;margin:8px auto 16px;max-width:100%}.panel-cards .panel-inner{padding:12px;border-radius:12px}.panel-cards .panel-title{font-size:18px;margin:8px 0 12px}.section,.mobile-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{max-width:100%;height:auto}}@media(max-width:768px)and (orientation:portrait){.area-buttons-container .btn{font-size:12px;padding:10px 12px}.tab,.compact-tab-btn{font-size:11px;padding:6px 8px;min-width:70px}}@media(max-width:375px){.page-container{padding:0 4px}.area-buttons-container .btn{font-size:11px;padding:8px 10px;min-height:40px}.tab,.compact-tab-btn{font-size:10px;padding:5px 6px;min-width:60px}}@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: #ffffff;--on-orange: #ffffff;--on-gray: var(--text);--on-surface: var(--text);--radius: var(--radius-lg);--shadow: var(--shadow-lg);--focus: var(--secondary)}.App{min-height:100vh;display:flex;flex-direction:column;background:var(--background);color:var(--text)}.App-header{background:var(--primary);color:#fff;padding:var(--space-4)}.compact-tabs-wrapper{display:flex;gap:var(--space-2);padding:var(--space-2);background:var(--surface);border-bottom:1px solid var(--gray-300);overflow-x:auto;scrollbar-width:none}.compact-tabs-wrapper::-webkit-scrollbar{display:none}.compact-tab-btn{padding:6px 14px;font-size:.8rem;font-weight:var(--font-bold);color:var(--text);background:var(--gray-200);border:2px solid var(--gray-300);border-radius:var(--radius-lg);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);flex-shrink:0}.compact-tab-btn:hover{background:var(--gray-300);border-color:var(--gray-400);transform:translateY(-1px);box-shadow:var(--shadow-md)}.compact-tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-md)}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);color:#fff;border-color:var(--primary)}.compact-tab-btn.anal-tab{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd}.compact-tab-btn.anal-tab:hover{background:#ddd6fe;border-color:#a78bfa}.compact-tab-btn.anal-tab.active{background:#7c3aed;color:#fff;border-color:#7c3aed}body.dark .compact-tab-btn.anal-tab{background:#4c1d95;color:#ede9fe;border-color:#6d28d9}body.dark .compact-tab-btn.anal-tab:hover{background:#5b21b6;border-color:#8b5cf6}body.dark .compact-tab-btn.anal-tab.active{background:#8b5cf6;color:#fff;border-color:#8b5cf6}.compact-tab-btn.temp-forno-tab{background:#fbbf24!important;color:#000!important;border-color:#f59e0b!important}.compact-tab-btn.temp-forno-tab:hover{background:#f59e0b!important}.compact-tab-btn.temp-forno-tab.active{background:#f59e0b!important;color:#000!important;border-color:#d97706!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{background:#fff!important;border:2px solid #cc0000!important;padding:4px 12px!important;display:flex;align-items:center;gap:0}.compact-tab-btn.manitou-tab img{height:20px;display:block}.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{padding:10px 20px;font-size:var(--font-base);font-weight:var(--font-bold);color:var(--text);background:var(--gray-200);border:2px solid var(--gray-300);border-radius:var(--radius-lg);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.kaldo-tab-btn:hover{background:var(--gray-300);border-color:var(--gray-400);transform:translateY(-1px);box-shadow:var(--shadow-md)}.kaldo-tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-md)}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);color:#fff;border-color:var(--primary)}.subtabs-container{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-2);background:var(--surface);border-radius:var(--radius-lg);overflow-x:auto;scrollbar-width:none;box-shadow:var(--shadow-sm)}.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:0 0 0 2px #ff6f3c40 inset}.modal-bg{position:fixed;inset:0;z-index:var(--z-modal-backdrop);background:#0f172acc;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal{width:min(96vw,640px);max-height:90vh;background:var(--surface);color:var(--text);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:var(--space-4);border-bottom:1px solid var(--gray-300)}.modal-content{flex:1;overflow:auto;padding:var(--space-4)}.modal-actions{padding:var(--space-4);border-top:1px solid var(--gray-300);display:flex;justify-content:flex-end;gap:var(--space-2)}body.dark .modal-bg{background:#14305cd9}table{width:100%;border-collapse:collapse;background:var(--surface);color:var(--text);font-size:var(--font-base)}th,td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--gray-300)}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)}.manut-card,.feature-card{background:var(--surface);border:1px solid var(--gray-300);border-radius:var(--radius-lg);padding:var(--space-3);margin-bottom:var(--space-2);box-shadow:var(--shadow-sm)}.manut-card .row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) 0;border-bottom:1px solid var(--gray-200)}.manut-card .row:last-child{border-bottom:none}.manut-card .lbl{font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--font-sm)}.manut-card .val{color:var(--text);font-size:var(--font-sm)}.panel-cards{width:100%;max-width:900px;margin:var(--space-3) auto var(--space-5);padding:0 var(--space-3)}.panel-cards .panel-title{text-align:center;font-weight:var(--font-bold);font-size:var(--font-xl);margin:var(--space-2) 0 var(--space-3)}.panel-cards .panel-inner{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--gray-300);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{width:100%;border-collapse:collapse}.std-table th,.std-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--gray-300);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-header,body.dark .modal-actions{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 .manut-card,body.dark .feature-card,body.dark input,body.dark select,body.dark textarea{background:var(--surface);color:var(--text);border-color:var(--gray-300)}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-node circle,.diagramma-impianti-svg .rd3t-leaf-node circle{display:none}.diagramma-impianti-svg text{font-family:Arial,Helvetica,sans-serif!important}.app-header-gradient{width:100vw;background:linear-gradient(135deg,#08111d,#0d1a2e);color:#fff;padding:4px 0;box-shadow:0 2px 8px #00000014;position:fixed;top:0;left:0;z-index:1100;min-height:48px;display:flex;align-items:center}.app-header-gradient>div{width:100vw;display:flex;justify-content:space-between;align-items:center;margin:0;padding:0}.header-logo-rounded{height:60px;width:60px;border-radius:0;box-shadow:none;border:none;object-fit:contain;padding:0;background:transparent;transform:scale(1.2);transition:transform .25s ease,width .25s ease,height .25s ease;filter:none;animation:logoPulse 3s ease-in-out infinite}@keyframes logoPulse{0%,to{transform:scale(1.2)}50%{transform:scale(1.28)}}.app-header-greeting{font-size:clamp(.9rem,1.6vw,1.2rem);font-weight:700;letter-spacing:.5px;transition:font-size .25s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.header-logo-rounded{width:56px;height: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:4px 0;padding-top:calc(4px + env(safe-area-inset-top))}.app-header-gradient>div{padding:0 8px}.header-logo-rounded{width:36px;height:36px}.app-header-greeting{font-size:.85rem;font-weight:600;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@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{width:32px;height: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{width:32px;height:32px}.app-header-greeting{font-size:.8rem;max-width:120px}}.user-menu-overlay{position:fixed;inset:0;background:#0f172a80;z-index:99998}.user-menu-sidebar{position:fixed!important;top:0!important;right:0!important;height:100vh!important;width:260px!important;max-width:260px!important;background:#fff!important;box-shadow:-2px 0 16px #0000001f;z-index:99999;display:flex;flex-direction:column;animation:slideIn .15s ease-out}.user-menu-header{padding:14px;background:linear-gradient(135deg,#1a365d,#2d4a7c);color:#fff;display:flex;align-items:center;gap:10px}.user-menu-profile{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.user-menu-avatar{width:40px;height:40px;border-radius:6px;background:#fff3;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.user-menu-info{flex:1;min-width:0}.user-menu-name{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-role{font-size:.7rem;opacity:.85;background:#ffffff26;padding:2px 6px;border-radius:3px;display:inline-block;margin-top:2px}.user-menu-close{background:#ffffff1a;border:none;color:#fff;width:26px;height:26px;border-radius:4px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.user-menu-close:hover{background:#fff3}.user-menu-datetime{padding:8px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;align-items:baseline;gap:8px;width:100%;box-sizing:border-box}.datetime-time{font-size:1.3rem;font-weight:700;color:#1a365d}.datetime-date{font-size:.7rem;color:#64748b;text-transform:capitalize}.user-menu-details{padding:8px 14px;width:100%;box-sizing:border-box}.user-menu-details .detail-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #f1f5f9;font-size:.78rem;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;color:#3730a3;padding:1px 5px;border-radius:3px;font-size:.65rem}.user-menu-actions{padding:10px 14px;background:#f8fafc;border-top:1px solid #e2e8f0;margin-top:auto}.user-menu-logout{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px;background:#fff;border:1px solid #fecaca;border-radius:5px;color:#dc2626;font-size:.8rem;font-weight:600;cursor:pointer}.user-menu-logout:hover{background:#fef2f2}.user-menu-logout.logging-out{opacity:.5;pointer-events:none}.user-menu-logout svg{width:16px;height:16px}.user-menu-footer{padding:6px 14px;background:#f1f5f9;text-align:center}.user-menu-version{font-size:.6rem;color:#94a3b8;font-family:monospace}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:375px){.user-menu-sidebar{width:100vw;max-width:100vw}}.user-menu-ore-section{padding:12px 14px;border-top:1px solid #e2e8f0}.user-menu-ore-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 14px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:6px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.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{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:120000;padding:8px}.user-ore-modal{background:#fff;border-radius:10px;width:98vw;max-width:none;max-height:99.5vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000004d;margin:0 1vw}.user-ore-modal-header{padding:8px 12px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#1a365d,#2d4a7c);border-radius:10px 10px 0 0;flex-wrap:wrap;gap:6px}.user-ore-modal-title h3{margin:0;font-size:.9rem;color:#fff}.user-ore-modal-subtitle{font-size:.75rem;color:#fffc}.user-ore-modal-controls{display:flex;align-items:center;gap:8px}.user-ore-month-picker{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.8rem}.user-ore-modal-close{background:#fff3;border:none;font-size:1.25rem;cursor:pointer;color:#fff;padding:2px 8px;border-radius:4px;line-height:1}.user-ore-modal-close:hover{background:#ffffff4d}.user-ore-modal-content{flex:1;overflow:hidden;padding:6px 10px;display:flex;flex-direction:column;min-height:0}.user-ore-loading{text-align:center;padding:20px;color:#6b7280}.user-ore-table-wrapper{overflow:visible;flex:1;min-height:0}.user-ore-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:0;table-layout:auto;border:2px solid #1f2937}.user-ore-table th{padding:5px 4px;background:#1f2937;color:#fff;font-weight:600;text-align:center;white-space:nowrap;font-size:.78rem;border:2px solid #374151}.user-ore-table th:first-child{text-align:left;padding-left:6px}.user-ore-table td{padding:2px 3px;border:2px solid #cbd5e1;text-align:center;color:#111827;vertical-align:middle;height:22px;line-height:1.1}.user-ore-table td:first-child,.user-ore-table td.day-col{text-align:left;padding-left:6px;padding-right:4px}.user-ore-table tr:hover{background:#f9fafb}.user-ore-table tr.weekend,.user-ore-table tr.special-day{background:#fefce8}.user-ore-table tr.weekend:hover,.user-ore-table tr.special-day:hover{background:#fef9c3}.day-col{white-space:nowrap;width:1%}.day-col .day-number,.day-col .day-name{display:inline-block;vertical-align:middle}.day-cell{display:inline-flex;align-items:center;gap:4px}.day-number{font-weight:600;color:#1f2937;min-width:16px;display:inline-block;font-size:.72rem}.day-name{color:#6b7280;font-size:.65rem;text-transform:capitalize;line-height:1;display:inline-block;margin-left:3px}.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;padding:4px 3px;color:#1f2937;height:24px}.editable-cell input{width:100%;padding:2px 3px;border:1px solid #e5e7eb;border-radius:3px;font-size:.78rem;color:#111827;height:20px;font-weight:600;background:transparent}.editable-cell input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 1px #3b82f64d}.editable-cell input[type=number]{text-align:center;font-weight:700;-moz-appearance:textfield}.editable-cell input[type=number]::-webkit-outer-spin-button,.editable-cell input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.editable-cell input[type=time]{text-align:center;padding:0 2px}.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-weight:600;font-size:.75rem}.user-ore-modal-footer{padding:6px 12px;border-top:1px solid #e5e7eb;background:#f8fafc;border-radius:0 0 10px 10px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.user-ore-info{font-size:.7rem;color:#6b7280}.user-ore-cdc-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:120001;padding:16px}.user-ore-cdc-modal{background:#fff;width:98vw;max-width:none;max-height:96vh;border-radius:8px;box-shadow:0 20px 40px #00000040;display:flex;flex-direction:column;margin:0 1vw}.user-ore-cdc-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#1a365d,#2d4a7c);border-radius:10px 10px 0 0}.user-ore-cdc-header .user-ore-modal-close{background:#fff3;color:#fff}.user-ore-cdc-title{font-weight:700;color:#fff;font-size:.9rem}.user-ore-cdc-subtitle,.user-ore-cdc-total{color:#fffc;font-size:.75rem}.user-ore-cdc-body{padding:8px 12px;overflow:auto;flex:1;min-height:0}.user-ore-cdc-area{margin-bottom:12px;border:1px solid #e5e7eb;border-radius:8px}.user-ore-cdc-area-title{padding:6px 10px;background:#f1f5f9;font-weight:600;color:#0f172a;border-bottom:1px solid #e5e7eb;font-size:.8rem}.user-ore-cdc-area-list{padding:6px 10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px}.user-ore-cdc-row{border:1px solid #e5e7eb;border-radius:6px;padding:6px;display:flex;justify-content:space-between;gap:6px;align-items:center}.user-ore-cdc-info{display:flex;flex-direction:column;gap:2px}.user-ore-cdc-info .cdc-code{font-weight:700;color:#111827;font-size:.75rem}.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{width:60px;text-align:right;padding:3px 5px;border:1px solid #d1d5db;border-radius:4px;font-size:.75rem}.user-ore-cdc-footer{border-top:1px solid #e5e7eb;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;background:#f8fafc;border-radius:0 0 10px 10px}.user-ore-cdc-actions{display:flex;gap:8px}.user-ore-cdc-actions button{padding:6px 12px;border-radius:6px;border:1px solid #cbd5e1;font-size:.82rem;cursor:pointer;transition:background .15s}.user-ore-cdc-actions button:first-child{background:#fff;color:#0f172a}.user-ore-cdc-actions button:last-child{background:#0f172a;color:#fff;border-color:#0f172a}.user-ore-cdc-actions button:disabled{opacity:.5;cursor:not-allowed}.user-ore-cdc-month-table-wrapper{overflow:auto;border:1px solid #d1d5db}.user-ore-cdc-month-table{width:100%;border-collapse:collapse;font-size:.72rem;table-layout:fixed}.user-ore-cdc-month-table th,.user-ore-cdc-month-table td{border:1px solid #d1d5db;text-align:center;padding:2px}.user-ore-cdc-month-table th{background:#1f2937;color:#fff;font-weight:600;font-size:.68rem;white-space:nowrap;padding:4px 2px}.user-ore-cdc-month-table th:first-child{width:55px;min-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;font-weight:600;color:#059669}.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{text-align:center;font-size:.7rem}.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{display:flex;flex-direction:column;align-items:center;line-height:1.1}.cdc-code-header-inner .code{font-weight:700;color:#fff;font-size:.65rem}.cdc-code-header-inner .name{color:#94a3b8;font-size:.55rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.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{width:100%;height:100%;padding:2px;border:none;background:transparent;text-align:center;font-size:.7rem;-moz-appearance:textfield}.user-ore-cdc-month-table td input::-webkit-outer-spin-button,.user-ore-cdc-month-table td input::-webkit-inner-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 th,.straord-table td{padding:3px 4px;height:26px}.straord-table .day-number{font-size:.75rem}.straord-table input{height:24px;padding:2px 4px;font-size:.8rem}.straord-table .btn.ghost{padding:0 6px;height:24px;line-height:1}.straord-wrapper{padding:0}.user-ore-table.narrow th,.user-ore-table.narrow td{padding:2px 3px}.user-ore-table.narrow input{padding:1px 2px;height:18px;font-size:.7rem}.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{text-align:left;padding:2px 4px;font-weight:500;background:#f8fafc}.user-ore-cdc-month-table .day-cell .day-number{font-weight:600;font-size:.72rem;color:#1f2937}.user-ore-cdc-month-table .day-cell .day-name{font-size:.6rem;color:#6b7280;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 th,.user-ore-table td{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;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.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{outline:2px solid #3b82f6;outline-offset:-1px;border-color:#3b82f6}.user-cdc-modal-overlay{position:fixed;inset:0;background:#0f172a99;z-index:100000;display:flex;align-items:center;justify-content:center}.user-cdc-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;width:90vw;max-width:1100px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.user-cdc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#1a365d,#2d4a7c);color:#fff;flex-shrink:0}.user-cdc-modal-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.95rem}.user-cdc-modal-officina{background:#fff3;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.user-cdc-modal-controls{display:flex;align-items:center;gap:10px}.user-cdc-month-picker{padding:4px 8px;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:#ffffff26;color:#fff;font-size:.85rem;cursor:pointer}.user-cdc-month-picker::-webkit-calendar-picker-indicator{filter:invert(1)}.user-cdc-modal-close{background:#ffffff26;border:none;color:#fff;width:28px;height:28px;border-radius:4px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.user-cdc-modal-close:hover{background:#ffffff4d}.user-cdc-modal-body{flex:1;overflow:auto;padding:0}.user-cdc-loading,.user-cdc-empty{padding:40px;text-align:center;color:#64748b;font-size:.9rem}.user-cdc-table-wrapper{overflow:auto;max-height:calc(90vh - 60px)}.user-cdc-table{width:100%;border-collapse:collapse;font-size:.78rem}.user-cdc-table thead{position:sticky;top:0;z-index:2}.user-cdc-table th{background:#1a365d;color:#fff;padding:6px 8px;text-align:center;font-weight:600;font-size:.72rem;white-space:nowrap;border:1px solid #2d4a7c}.user-cdc-th-giorno{position:sticky;left:0;z-index:3;min-width:60px;text-align:left!important}.user-cdc-th-cdc{min-width:50px}.user-cdc-th-totale{min-width:55px;background:#0f2942!important}.user-cdc-table td{padding:4px 6px;text-align:center;border:1px solid #e2e8f0;font-size:.78rem;color:#334155}.user-cdc-td-giorno{position:sticky;left:0;z-index:1;background:#f8fafc;text-align:left!important;font-weight:500;white-space:nowrap;color:#1e293b}.user-cdc-has-ore{background:#eff6ff;font-weight:600;color:#1a365d}.user-cdc-td-totale{font-weight:600;background:#f1f5f9}.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{position:sticky;bottom:0;z-index:2}.user-cdc-totali-row td{background:#1e293b;color:#fff;font-weight:600;padding:6px 8px;border:1px solid #334155}.user-cdc-totali-row .user-cdc-td-giorno{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{width:98vw;max-height:95vh;border-radius:4px}.user-cdc-modal-header{flex-direction:column;gap:8px;align-items:flex-start}.user-cdc-modal-controls{width:100%;justify-content:space-between}.user-cdc-table{font-size:.7rem}.user-cdc-table th,.user-cdc-table td{padding:3px 4px}}.mobile-portrait-layout{display:flex;flex-direction:column;min-height:100dvh;width:100vw;max-width:100vw;overflow-x:hidden;background:var(--gray-100);position:relative}.mobile-portrait-layout__header{flex-shrink:0;position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--gray-300)}.mobile-portrait-layout__content{flex:1;display:flex;flex-direction:column;width:100%;max-width:100vw;box-sizing:border-box;padding-top:56px}.mobile-portrait-layout--scrollable .mobile-portrait-layout__content{overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:auto;height:calc(100dvh - 56px);max-height:calc(100dvh - 56px)}.mobile-portrait-layout__footer{flex-shrink:0;position:sticky;bottom:0;z-index:100;background:var(--surface);border-top:1px solid var(--gray-300)}.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: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__header,body.dark .mobile-portrait-layout__footer{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{width:100%;max-width:100%;box-sizing:border-box}.mobile-portrait-content--centered{display:flex;flex-direction:column;align-items:center;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{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{grid-template-columns:1fr;gap:8px}}.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;padding:12px;box-shadow:0 2px 4px #00000014;width:100%;box-sizing:border-box}.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{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:1200}.mobile-sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;background:linear-gradient(180deg,#f8fafc,#fff);color:var(--text);z-index:1300;transform:translate(0);transition:transform .3s ease;box-shadow:4px 0 24px #0000001f;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.mobile-sidebar.persistent{position:fixed;z-index:1100;box-shadow:1px 0 8px #0000000f}@media(max-width:768px)and (orientation:portrait){.mobile-sidebar{width:260px;max-width:85vw}}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#1a365d;flex-shrink:0}.sidebar-header h3{margin:0;font-size:1rem;font-weight:700;color:#fff;letter-spacing:.5px}.sidebar-close{background:#ffffff26;border:none;font-size:1.1rem;cursor:pointer;color:#fff;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s ease}.sidebar-close:hover{background:#ffffff40}.sidebar-content{flex:1;overflow-y:auto;padding:8px 0}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.sidebar-tab-group{margin:0 8px}.sidebar-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:none;background:none;text-align:left;cursor:pointer;transition:all .15s ease;font-size:.85rem;color:#334155;min-height:42px;border-radius:8px;margin:1px 0}.sidebar-item.has-subtabs{font-weight:600;color:#1e293b}.sidebar-item:hover{background:#edf2f7;color:#1a365d}.sidebar-item.active{background:#1a365d;color:#fff;font-weight:600;box-shadow:0 2px 8px #1a365d40}.sidebar-arrow{font-size:.65rem;transition:transform .2s ease;color:#94a3b8}.sidebar-arrow.expanded{transform:rotate(180deg)}.sidebar-item.active .sidebar-arrow{color:#ffffffb3}.sidebar-subtabs{background:#f1f5f9;border-radius:0 0 8px 8px;padding:4px 0;border-left:3px solid #1a365d;margin:0 0 4px 12px}.sidebar-subtab{width:100%;display:flex;align-items:center;padding:8px 14px 8px 16px;border:none;background:none;text-align:left;cursor:pointer;transition:all .15s ease;font-size:.8rem;color:#475569;min-height:36px;border-radius:6px;margin:1px 4px;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{padding:12px 16px;min-height:48px}}.sidebar-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-divider{height:1px;background:linear-gradient(90deg,transparent,#cbd5e1,transparent);margin:8px 20px}.sidebar-refresh{color:#059669;font-weight:600}.sidebar-refresh:hover{background:#ecfdf5!important}.sidebar-info{padding:12px 16px;border-top:1px solid #e2e8f0;background:#f8fafc;text-align:center;flex-shrink:0}.version-info{font-size:.75rem;font-weight:600;color:var(--text);margin-bottom:.25rem}.release-info{font-size:.7rem;color:var(--gray-600);margin-bottom:.25rem}.developer-info{font-size:.7rem;color:var(--orange);font-weight:500}.sidebar-footer-links{display:flex;justify-content:center;gap:12px;margin-bottom:8px}.sidebar-footer-links a{color:var(--orange);text-decoration:none;font-size:.7rem;font-weight:500}.sidebar-footer-links a:hover{text-decoration:underline}.splash-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:linear-gradient(135deg,#08111d,#0d1a2e);display:flex;align-items:center;justify-content:center;z-index:9999;animation:splashFadeIn .5s ease-out}.splash-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:2rem;animation:splashContentIn .8s ease-out .2s both}.splash-logo{width:200px;height:auto;animation:logoPulse 2.5s ease-in-out infinite}.splash-greeting{font-size:2rem;font-weight:300;color:#fff;margin:0;text-align:center;letter-spacing:.5px}.splash-message{font-size:1.1rem;font-weight:300;color:#fffc;margin:0;text-align:center;max-width:500px;line-height:1.5;transition:opacity .4s ease}.splash-message.fade-out{opacity:0}.splash-loader{display:flex;gap:8px;margin-top:1rem}.splash-dot{width:8px;height:8px;background:#fff9;border-radius:50%;animation:dotBounce 1.4s ease-in-out infinite}.splash-dot:nth-child(1){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{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity: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{font-size:.9rem;color:#ffffff80;margin-top:1.5rem;animation:continuePulse 2s ease-in-out infinite}@keyframes continuePulse{0%,to{opacity:.5}50%{opacity:.8}}.kiosk-splash{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#08111d,#0d1a2e);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;box-sizing:border-box}.kiosk-splash-content{display:flex;flex-direction:column;align-items:center;gap:2rem;animation:fadeInScale .6s ease-out;max-width:100%;text-align:center}.kiosk-splash-logo{width:clamp(180px,12.5vw,300px);height:clamp(180px,12.5vw,300px);border-radius:0;box-shadow:none;animation:pulse 3s ease-in-out infinite;flex-shrink:0;object-fit:contain;padding:0;background:transparent}.kiosk-splash-impianto{font-size:clamp(2rem,8vw,4rem);font-weight:700;color:#fff;margin:0;letter-spacing:clamp(.1rem,1vw,.5rem);text-shadow:0 4px 12px rgba(0,0,0,.4);font-family:Segoe UI,Roboto,sans-serif;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.kiosk-splash-loader{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:1rem;width:clamp(250px,80vw,300px);max-width:100%}.kiosk-progress-bar{width:100%;height:6px;background:#fff3;border-radius:3px;overflow:hidden}.kiosk-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:3px;transition:width .3s ease;box-shadow:0 0 10px #3b82f680}.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{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.9}}@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{width:clamp(120px,7.5vh,180px);height:clamp(120px,7.5vh,180px);padding:0}.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}}.impianti-container{max-width:1100px;margin:0 auto}.impianti-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--primary)}.impianti-header h2{margin:0;font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--primary);display:flex;align-items:center;gap:var(--space-2);letter-spacing:-.01em}.impianti-header h2 .header-icon{font-size:var(--font-lg);opacity:.8}.impianti-toolbar{display:flex;gap:var(--space-2);align-items:center}.impianti-level-control{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.impianti-level-control .level-btn{padding:6px 10px;border:none;background:transparent;color:var(--text);font-weight:var(--font-semibold);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-fast);line-height:1}.impianti-level-control .level-btn:hover:not(:disabled){background:var(--gray-100)}.impianti-level-control .level-btn:disabled{opacity:.35;cursor:not-allowed}.impianti-level-control .level-display{padding:6px 12px;font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--text-secondary);border-left:1px solid var(--border);border-right:1px solid var(--border);min-width:56px;text-align:center;-webkit-user-select:none;user-select:none}.impianti-btn-ghost{display:inline-flex;align-items:center;gap:var(--space-1);padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.impianti-btn-ghost:hover{background:var(--gray-100);color:var(--text);border-color:var(--gray-400)}.impianti-btn-primary{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 16px;border:none;border-radius:var(--radius-md);background:var(--primary);color:#fff;font-size:var(--font-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.impianti-btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.impianti-info-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md)}.impianti-legend{display:flex;align-items:center;gap:var(--space-4)}.impianti-legend-item{display:flex;align-items:center;gap:6px;font-size:var(--font-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.impianti-legend-dot{width:10px;height:10px;border-radius:2px}.impianti-legend-dot--impianto{background:var(--primary)}.impianti-legend-dot--componente{background:var(--gray-500)}.impianti-legend-dot--fuori-servizio{background:var(--error)}.impianti-legend-dot--pa{background:var(--success)}.impianti-manut-toggle{display:flex;align-items:center;gap:var(--space-2)}.impianti-manut-toggle label{margin:0;font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer}.impianti-tree-panel{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.impianti-tree-panel--empty{padding:var(--space-8);text-align:center;color:var(--text-secondary);font-size:var(--font-sm)}.impianti-tree-body{padding:var(--space-3)}.impianti-node{position:relative}.impianti-node-children{position:relative;margin-left:20px;padding-left:16px;border-left:1px solid var(--gray-300)}body.dark .impianti-node-children{border-left-color:var(--gray-600)}.impianti-row{display:flex;align-items:center;gap:var(--space-3);padding:8px 12px;margin-bottom:2px;border-radius:var(--radius-md);cursor:default;transition:background var(--transition-fast);position:relative}.impianti-row:hover{background:var(--surface-hover)}.impianti-row--clickable{cursor:pointer}.impianti-row--fuori-servizio{background:#ef44440f;border-left:3px solid var(--error)}.impianti-row--fuori-servizio:hover{background:#ef44441a}.impianti-node-children>.impianti-node>.impianti-row:before{content:"";position:absolute;left:-16px;top:50%;width:12px;height:1px;background:var(--gray-300)}body.dark .impianti-node-children>.impianti-node>.impianti-row:before{background:var(--gray-600)}.impianti-expand-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-secondary);font-size:10px;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;line-height:1}.impianti-expand-btn:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--text)}.impianti-expand-placeholder{width:22px;flex-shrink:0}.impianti-node-content{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.impianti-node-name{font-weight:var(--font-semibold);font-size:var(--font-sm);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impianti-node-name--impianto{color:var(--primary);font-size:var(--font-base);font-weight:var(--font-bold)}.impianti-node-desc{font-size:var(--font-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impianti-node-name--fuori-servizio{color:var(--error);text-decoration:line-through;text-decoration-thickness:1px}.impianti-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.impianti-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-bold);line-height:1.4;white-space:nowrap}.impianti-badge--pa{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.3)}.impianti-badge--temp{background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.3)}.impianti-badge--manut{background:#ef44441f;color:#dc2626;border:1px solid rgba(239,68,68,.3);cursor:pointer}.impianti-badge--manut:hover{background:#ef444433}.impianti-badge--fs{background:#ef44441a;color:var(--error);font-size:var(--font-xs);font-weight:var(--font-bold);letter-spacing:.03em}.impianti-badge--cdc{background:var(--gray-100);color:var(--text-secondary);font-size:10px;font-weight:var(--font-medium);border:1px solid var(--border-light)}body.dark .impianti-badge--cdc{background:var(--gray-700);border-color:var(--gray-600)}.impianti-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.impianti-actions--mobile{display:none;position:relative}.impianti-action-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:var(--font-xs);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.impianti-action-btn:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.impianti-action-btn--edit{color:var(--info);border-color:#2563eb4d;background:#2563eb0a}.impianti-action-btn--edit:hover{background:#2563eb1a;border-color:#2563eb80}.impianti-action-btn--delete{color:var(--error);border-color:#ef44444d;background:#ef44440a}.impianti-action-btn--delete:hover{background:#ef44441a;border-color:#ef444480}.impianti-action-btn--add{color:var(--success);border-color:#10b9814d;background:#10b9810a}.impianti-action-btn--add:hover{background:#10b9811a;border-color:#10b98180}.impianti-menu-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.impianti-menu-trigger:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--text)}.impianti-menu-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:4px 0;animation:impianti-menu-in .12s ease-out}@keyframes impianti-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.impianti-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:none;color:var(--text);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast);text-align:left;white-space:nowrap}.impianti-menu-item:hover{background:var(--surface-hover)}.impianti-menu-item--edit{color:var(--info)}.impianti-menu-item--add{color:var(--success)}.impianti-menu-item--delete{color:var(--error)}.impianti-menu-item--toggle{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text);cursor:pointer;margin:0}.impianti-menu-item--toggle:hover{background:var(--surface-hover)}.impianti-menu-item--toggle input[type=checkbox]{width:16px;height:16px;padding:0;margin:0;cursor:pointer;accent-color:var(--primary)}.impianti-menu-divider{height:1px;background:var(--border-light);margin:4px 0}@media(max-width:768px){.impianti-actions--desktop{display:none}.impianti-actions--mobile{display:flex}.impianti-header{flex-direction:column;gap:var(--space-3);align-items:flex-start}.impianti-toolbar{width:100%;flex-wrap:wrap}.impianti-info-bar{flex-direction:column;gap:var(--space-3);align-items:flex-start}.impianti-node-children{margin-left:12px;padding-left:10px}.impianti-row{padding:10px 8px;gap:var(--space-2)}.impianti-badges,.impianti-node-desc{display:none}}.impianti-checkbox-inline{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--text-secondary);padding:2px 4px;border-radius:4px;transition:background var(--transition-fast)}.impianti-checkbox-inline:hover{background:var(--gray-100)}.impianti-checkbox-inline input[type=checkbox]{width:14px;height:14px;padding:0;margin:0;cursor:pointer;accent-color:var(--primary)}.impianti-checkbox-inline--fs{color:var(--error)}.impianti-checkbox-inline--pa{color:var(--success)}.impianti-manut-overlay{position:fixed;inset:0;background:#0006;z-index:var(--z-modal-backdrop)}.impianti-manut-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-modal);width:min(90vw,480px);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.impianti-manut-popup-header{padding:var(--space-4);border-bottom:1px solid var(--border-light);font-weight:var(--font-bold);color:var(--primary);font-size:var(--font-base)}.impianti-manut-popup-body{padding:var(--space-3);overflow-y:auto;flex:1}.impianti-manut-item{padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--border-light)}.impianti-manut-item:last-child{border-bottom:none}.impianti-manut-item:hover{background:var(--surface-hover)}.impianti-manut-item-status{font-weight:var(--font-bold);font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.03em}.impianti-manut-item-status--aperta{color:var(--error)}.impianti-manut-item-status--in-corso{color:var(--warning)}.impianti-manut-item-detail{font-size:var(--font-xs);color:var(--text-secondary);margin-top:2px}.impianti-container--kiosk .impianti-row{padding:12px 16px}.impianti-container--kiosk .impianti-node-name{font-size:var(--font-base)}.impianti-container--kiosk .impianti-expand-btn{width:28px;height:28px;font-size:12px}.impianti-container--kiosk .impianti-level-control .level-btn{padding:10px 16px;font-size:var(--font-base)}.impianti-container--kiosk .impianti-level-control .level-display{padding:10px 16px;font-size:var(--font-sm)}.impianti-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-8);color:var(--text-secondary);font-size:var(--font-sm);gap:var(--space-2)}.impianti-loading-spinner{width:18px;height:18px;border:2px solid var(--gray-300);border-top-color:var(--primary);border-radius:50%;animation:impianti-spin .6s linear infinite}@keyframes impianti-spin{to{transform:rotate(360deg)}}.impianti-stats{display:flex;gap:var(--space-4);padding:var(--space-2) 0;margin-bottom:var(--space-3)}.impianti-stat{font-size:var(--font-xs);color:var(--text-secondary)}.impianti-stat strong{color:var(--text);font-weight:var(--font-semibold)}body.dark .impianti-expand-btn{background:var(--gray-700);border-color:var(--gray-600)}body.dark .impianti-expand-btn:hover{background:var(--gray-600);border-color:var(--gray-500)}body.dark .impianti-action-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--text-secondary)}body.dark .impianti-action-btn--edit{color:var(--blue-300);border-color:#60a5fa4d;background:#60a5fa14}body.dark .impianti-action-btn--delete{color:#f87171;border-color:#f871714d;background:#f8717114}body.dark .impianti-action-btn--add{color:#34d399;border-color:#34d3994d;background:#34d39914}body.dark .impianti-checkbox-inline:hover{background:var(--gray-700)}body.dark .impianti-info-bar{background:var(--surface);border-color:var(--border)}body.dark .impianti-badge--pa{background:#10b98126;color:#34d399}body.dark .impianti-badge--temp{background:#f59e0b26;color:#fbbf24}body.dark .impianti-badge--manut{background:#ef444426;color:#f87171}body.dark .impianti-row--fuori-servizio{background:#ef444414}body.dark .impianti-row--fuori-servizio:hover{background:#ef44441f}body.dark .impianti-menu-trigger{background:var(--gray-700);border-color:var(--gray-600)}body.dark .impianti-menu-trigger:hover{background:var(--gray-600);border-color:var(--gray-500)}body.dark .impianti-menu-dropdown{background:var(--gray-800);border-color:var(--gray-600);box-shadow:0 10px 25px #00000080}body.dark .impianti-menu-item:hover,body.dark .impianti-menu-item--toggle:hover{background:var(--gray-700)}body.dark .impianti-menu-divider{background:var(--gray-600)}.kiosk-container{width:100%;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.kiosk-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient(135deg,#0a1830,#1a2a4d);color:#fff;padding:1rem 2rem;box-shadow:0 2px 8px #0000001a}.kiosk-header-content{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:100%}.kiosk-logo-section{display:flex;align-items:center;gap:1rem;min-width:0;flex:1}.kiosk-extra-button{display:flex;align-items:center}.kiosk-logo{width:56px;height:56px;border-radius:50%;flex-shrink:0;filter:none;object-fit:contain;padding:6px;background:transparent}.kiosk-title-section{display:flex;flex-direction:column;min-width:0;flex:1}.kiosk-title{font-size:1.5rem;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.kiosk-status{font-size:.9rem;font-weight:600;margin-top:.25rem;display:flex;align-items:center;gap:.5rem;color:#fff}.kiosk-main{flex:1;margin-top:80px;padding:1rem;display:flex;flex-direction:column}.kiosk-tabs{display:flex;background:var(--card-background);border-radius:12px;padding:.5rem;margin-bottom:1rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;box-shadow:0 2px 4px #0000001a}.kiosk-tabs::-webkit-scrollbar{display:none}.kiosk-tab{flex:1;padding:1rem 1.5rem;border:1px solid rgba(0,0,0,.08);background:var(--gray-200);color:var(--blue);font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:120px;text-align:center}.kiosk-tab:hover{filter:brightness(.98);transform:translateY(-1px)}.kiosk-tab.active{background:var(--blue)!important;color:var(--on-blue)!important;border-color:transparent;box-shadow:0 0 0 1px var(--blue),0 2px 4px #0000001f}.kiosk-subtabs{display:flex;background:var(--background);border-radius:8px;padding:.25rem;margin-bottom:1rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;border:1px solid var(--border-color)}.kiosk-subtabs::-webkit-scrollbar{display:none}.kiosk-subtab{flex:1;padding:.75rem 1rem;border:1px solid rgba(0,0,0,.08);background:var(--gray-200);color:var(--blue);font-size:.9rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:100px;text-align:center}.kiosk-subtab:hover{filter:brightness(.98);transform:translateY(-1px)}.kiosk-subtab.active{background:var(--blue)!important;color:var(--on-blue)!important;border-color:transparent;box-shadow:0 0 0 1px var(--blue),0 2px 4px #0000001f}.kiosk-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:var(--card-background);border-radius:12px;min-height:400px;box-shadow:0 2px 8px #0000001a}.kiosk-maintenance{background:#dc2626;color:#fff}.kiosk-maintenance-content{background:#fff;color:#1f2937;border-radius:16px;padding:2rem;max-width:800px;width:100%;box-shadow:0 8px 32px #0000004d}.kiosk-maintenance-title{color:#dc2626;font-size:2rem;font-weight:700;text-align:center;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.kiosk-maintenance-details{display:grid;gap:1rem}.kiosk-maintenance-item{padding:1rem;background:var(--background);border-radius:8px;border:1px solid var(--border-color)}.kiosk-maintenance-label{font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.kiosk-maintenance-value{color:var(--text-primary);font-size:1.1rem}.kiosk-table-container{width:100%;background:var(--card-background);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;border:1px solid var(--border-color)}.kiosk-table{width:100%;border-collapse:collapse}.kiosk-table thead{background:var(--primary-color);color:#fff}.kiosk-table th,.kiosk-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.kiosk-table tbody tr:nth-child(2n){background:var(--background)}.kiosk-table tbody tr:hover{background:var(--hover-color)}.kiosk-status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;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{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem}.kiosk-pagination-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;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{font-size:1rem;font-weight:600;color:var(--text-primary)}@media(max-width:768px){.kiosk-header{padding:.75rem 1rem}.kiosk-logo{width:36px;height:36px}.kiosk-title{font-size:1.1rem}.kiosk-status{font-size:.8rem}.kiosk-main{margin-top:70px;padding:.5rem}.kiosk-tabs{padding:.25rem;margin-bottom:.75rem}.kiosk-tab{padding:.75rem 1rem;font-size:.9rem;min-width:100px}.kiosk-subtabs{padding:.25rem;margin-bottom:.75rem}.kiosk-subtab{padding:.5rem .75rem;font-size:.8rem;min-width:80px}.kiosk-content{padding:1rem;min-height:300px}.kiosk-maintenance-content{padding:1.5rem;margin:0 .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{display:block;background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;padding:1rem;box-shadow:0 2px 4px #0000001a}.kiosk-table td{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.kiosk-table td:last-child{border-bottom:none}.kiosk-table td:before{content:attr(data-label) ": ";font-weight:600;color:var(--text-secondary);flex-shrink:0;margin-right:.5rem}.kiosk-pagination{flex-direction:column;gap:.75rem}.kiosk-pagination-btn{padding:.75rem 1rem;font-size:.9rem;min-width:120px}.kiosk-pagination-info{font-size:.9rem}}@media(max-width:480px){.kiosk-header{padding:.5rem .75rem}.kiosk-logo{width:32px;height:32px}.kiosk-title{font-size:1rem}.kiosk-status{font-size:.75rem}.kiosk-main{margin-top:65px;padding:.25rem}.kiosk-tab{padding:.5rem .75rem;font-size:.8rem;min-width:80px}.kiosk-subtab{padding:.5rem;font-size:.75rem;min-width:70px}.kiosk-content{padding:.75rem;min-height:250px}.kiosk-maintenance-content{padding:1rem;margin:0 .25rem}.kiosk-maintenance-title{font-size:1.25rem;flex-direction:column;gap:.25rem}.kiosk-maintenance-value{font-size:1rem}.kiosk-table tr{padding:.75rem;margin-bottom:.75rem}.kiosk-table td{padding:.25rem 0;font-size:.85rem}.kiosk-table td:before{font-size:.8rem}.kiosk-status-badge{padding:.2rem .5rem;font-size:.75rem}}@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-tab,.kiosk-subtab,.kiosk-pagination-btn{min-height:44px;min-width:44px}.kiosk-tab:active,.kiosk-subtab:active,.kiosk-pagination-btn:active{transform:scale(.98)}}body.dark .kiosk-tab{background:var(--gray-200);color:var(--gray-600);border-color:#ffffff1a}body.dark .kiosk-tab:hover{background:var(--gray-300)}body.dark .kiosk-tab.active{background:var(--orange)!important;color:var(--on-orange)!important;border-color:transparent!important;box-shadow:0 0 0 1px var(--orange),0 2px 4px #0003}body.dark .kiosk-subtab{background:var(--gray-200);color:var(--gray-600);border-color:#ffffff1a}body.dark .kiosk-subtab:hover{background:var(--gray-300)}body.dark .kiosk-subtab.active{background:var(--orange)!important;color:var(--on-orange)!important;border-color:transparent!important;box-shadow:0 0 0 1px var(--orange),0 2px 4px #0003}@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-tab,.kiosk-subtab,.kiosk-pagination-btn{transition:none}}.kiosk-tab:focus,.kiosk-subtab:focus,.kiosk-pagination-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media(prefers-contrast:high){.kiosk-table{border:2px solid var(--text-primary)}.kiosk-table th,.kiosk-table td{border:1px solid var(--text-primary)}}.ui-overlay{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:999999}.ui-modal{width:min(92vw,520px);background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000040;overflow:hidden;border:1px solid #eef1f5}.ui-modal-header{padding:16px 20px;border-bottom:1px solid #eef1f5}.ui-modal-header h3{margin:0;font-size:18px;color:#0f1f3a}.ui-modal-body{padding:20px;color:#111827}.ui-modal-actions{padding:14px 20px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid #eef1f5}.btn{padding:10px 14px;border-radius:8px;border:1px solid #d1d5db;cursor:pointer;background:#fff}.btn.primary{background:#ff6f3c;border-color:#ff6f3c;color:#fff}.btn.ghost{background:#fff;color:#111827}.ui-toast-container{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:999999}.ui-toast{padding:10px 14px;border-radius:8px;color:#fff;box-shadow:0 6px 20px #0003;max-width:340px}.ui-toast.info{background:#2563eb}.ui-toast.success{background:#16a34a}.ui-toast.error{background:#dc2626}.error-boundary{min-height:50vh;display:flex;align-items:center;justify-content:center;padding:2rem}.error-content{max-width:600px;text-align:center;background:#fff;border-radius:8px;padding:2rem;box-shadow:0 4px 12px #0000001a}.error-actions{display:flex;gap:1rem;justify-content:center;margin:1.5rem 0}.btn-retry,.btn-reload{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.btn-retry{background:#007bff;color:#fff}.btn-reload{background:#6c757d;color:#fff}.btn-retry:hover,.btn-reload:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0003}.error-details{margin-top:2rem;text-align:left}.error-stack{background:#f8f9fa;padding:1rem;border-radius:4px;margin-top:1rem}.error-stack pre{white-space:pre-wrap;font-size:.875rem;color:#dc3545}
