.warehouse-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.warehouse-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;display:flex;flex-shrink:0;justify-content:space-between;padding:10px 20px;z-index:100}.warehouse-header-left{align-items:center;display:flex;gap:10px}.warehouse-logo{height:36px;object-fit:contain;width:36px}.warehouse-brand{color:#0f172a;font-size:18px;font-weight:700;letter-spacing:-.3px}.warehouse-header-right{align-items:center;display:flex;gap:12px}.warehouse-username{color:#475569;font-size:13px;font-weight:600}.warehouse-logout-btn{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s}.warehouse-logout-btn:hover{background:#fee2e2;border-color:#f87171}.warehouse-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}@media (max-width:480px){.warehouse-header{padding:8px 12px}.warehouse-logo{height:30px;width:30px}.warehouse-brand{font-size:16px}.warehouse-username{display:none}.warehouse-logout-btn{font-size:12px;padding:8px 10px}}:root{--primary-blue:#092e6e;--secondary-blue:#4a90e2;--accent-lime:#c2d103;--light-bg:#f5f7fa;--white:#fff;--text-dark:#1e293b;--text-light:#64748b;--error-red:#ef4444;--success-green:#10b981;--border-color:#e2e8f0;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 25px #00000026;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}.modern-login-container{animation:pageLoad .6s ease-out;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;min-height:100vh;min-height:100dvh;overflow-y:auto;width:100%}@keyframes pageLoad{0%{opacity:0}to{opacity:1}}.login-illustration-side{align-items:center;background:linear-gradient(135deg,#092e6e,#4a90e2);background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-blue) 100%);display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:60px;position:relative}.illustration-content{max-width:600px;position:relative;width:100%;z-index:2}.floating-shapes{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.shape{animation:float 6s ease-in-out infinite;background:#ffffff0d;border-radius:50%;position:absolute}.shape-1{animation-delay:0s;height:300px;left:-10%;top:10%;width:300px}.shape-2{animation-delay:2s;bottom:20%;height:200px;right:-5%;width:200px}.shape-3{animation-delay:4s;height:150px;left:10%;top:60%;width:150px}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}.login-illustration{display:block;filter:drop-shadow(0 10px 30px rgba(0,0,0,.2));height:auto;margin:0 auto 40px;max-width:500px;width:100%}.laptop-group{animation:slideUp 1s ease-out .2s both}.person-group{animation:slideUp 1s ease-out .4s both}.checkmark-group{animation:scaleIn .6s ease-out 1s both}.check-circle{animation:pulse 2s ease-in-out 1.5s infinite}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.illustration-text{animation:fadeInUp .8s ease-out .6s both;color:#fff;color:var(--white);text-align:center}.illustration-text h2{font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0 0 12px}.illustration-text p{font-size:16px;font-weight:400;margin:0;opacity:.9}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-form-side{align-items:center;background:#f5f7fa;background:var(--light-bg);display:flex;flex:1 1;justify-content:center;padding:40px 20px;position:relative}.login-form-container{animation:slideInRight .6s ease-out;max-width:450px;width:100%}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.logo-section{margin-bottom:32px;text-align:center}.login-logo-modern{animation:logoFloat 3s ease-in-out infinite;height:auto;width:160px}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.welcome-text{margin-bottom:40px;text-align:center}.welcome-text h1{color:#1e293b;color:var(--text-dark);font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.welcome-text p{color:#64748b;color:var(--text-light);font-size:15px;margin:0}.modern-login-form{background:#fff;background:var(--white);border-radius:16px;box-shadow:0 10px 25px #00000026;box-shadow:var(--shadow-lg);padding:40px}.input-wrapper{margin-bottom:28px}.input-label{color:#1e293b;color:var(--text-dark);display:block;font-size:14px;font-weight:600;margin-bottom:10px}.input-container{position:relative;width:100%}.input-icon{color:#64748b;color:var(--text-light);height:20px;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:20px;z-index:1}.input-icon,.modern-input{transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.modern-input{background:#f5f7fa;background:var(--light-bg);border:2px solid #0000;border-radius:10px;box-sizing:border-box;color:#1e293b;color:var(--text-dark);font-size:15px;outline:none;padding:14px 52px 14px 48px;width:100%}.modern-input::placeholder{color:#64748b;color:var(--text-light)}.modern-input:focus{background:#fff;background:var(--white);border-color:#4a90e2;border-color:var(--secondary-blue);box-shadow:0 0 0 4px #4a90e21a}.input-container:focus-within .input-icon{color:#4a90e2;color:var(--secondary-blue)}.password-toggle{border-radius:6px;justify-content:center;padding:8px;right:12px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);z-index:2}.password-toggle svg{color:#64748b;color:var(--text-light);height:20px;width:20px}.password-toggle:hover{background:#f5f7fa;background:var(--light-bg)}.password-toggle:hover svg{color:#1e293b;color:var(--text-dark)}.form-options{margin-bottom:24px}.remember-me-label{align-items:center;cursor:pointer;display:flex;position:relative;-webkit-user-select:none;user-select:none}.remember-checkbox{cursor:pointer;opacity:0;position:absolute}.checkbox-custom{align-items:center;border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:6px;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-right:10px;width:20px}.checkbox-custom,.checkbox-custom:after{transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.checkbox-custom:after{border:solid #fff;border:solid var(--white);border-width:0 2px 2px 0;content:"";height:10px;transform:rotate(45deg) scale(0);width:6px}.remember-checkbox:checked~.checkbox-custom{background:#4a90e2;background:var(--secondary-blue);border-color:#4a90e2;border-color:var(--secondary-blue)}.remember-checkbox:checked~.checkbox-custom:after{transform:rotate(45deg) scale(1)}.remember-me-label:hover .checkbox-custom{border-color:#4a90e2;border-color:var(--secondary-blue)}.checkbox-text{color:#1e293b;color:var(--text-dark);font-size:14px;font-weight:500}.error-container{align-items:center;animation:shake .5s ease-in-out,fadeIn .3s ease-out;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;display:flex;gap:10px;margin-bottom:20px;padding:12px 16px}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.error-icon{color:#ef4444;color:var(--error-red);flex-shrink:0;height:20px;width:20px}.error-container span{color:#991b1b;font-size:14px;font-weight:500}.modern-submit-btn{align-items:center;background:#c2d103;background:var(--accent-lime);border:none;border-radius:10px;box-sizing:border-box;color:#092e6e;color:var(--primary-blue);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;font-weight:600;gap:8px;height:52px;justify-content:center;overflow:hidden;padding:0 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);white-space:nowrap;width:100%}.modern-submit-btn:hover:not(:disabled){box-shadow:0 8px 16px #c2d1034d;transform:translateY(-2px)}.modern-submit-btn:active:not(:disabled){transform:translateY(0)}.modern-submit-btn:disabled{cursor:not-allowed;opacity:.7}.arrow-icon{flex-shrink:0;height:20px;transition:transform .3s ease;width:20px}.modern-submit-btn:hover:not(:disabled) .arrow-icon{transform:translateX(5px)}.modern-submit-btn.loading{gap:0;pointer-events:none}.modern-submit-btn.loading .spinner{left:50%;margin-left:-80px;position:absolute}.spinner{border:3px solid #092e6e33;border-top:3px solid var(--primary-blue);flex-shrink:0;height:20px;width:20px}.login-footer{margin-top:24px;text-align:center}.login-footer p{color:#64748b;color:var(--text-light);font-size:13px;margin:0}@media (max-width:1024px){.modern-login-container{flex-direction:column}.login-illustration-side{flex:0 0 auto;min-height:auto;padding:30px 20px}.illustration-text h2{font-size:24px}.illustration-text p{font-size:14px}.login-illustration{margin-bottom:20px;max-width:280px}.login-form-side{flex:1 0 auto;padding:30px 20px}.modern-login-form{padding:32px 24px}}@media (max-width:768px){.login-illustration-side{padding:24px 20px}.floating-shapes{display:none}.login-illustration{margin-bottom:16px;max-width:200px}.illustration-text h2{font-size:20px;margin-bottom:6px}.illustration-text p{font-size:13px}.login-logo-modern{width:100px}.logo-section{margin-bottom:20px}.welcome-text{margin-bottom:24px}.welcome-text h1{font-size:24px}.welcome-text p{font-size:14px}.modern-login-form{border-radius:12px;padding:24px 20px}.input-wrapper{margin-bottom:20px}.modern-input{font-size:16px;padding:14px 48px 14px 44px}.modern-submit-btn{font-size:16px;height:50px}.login-form-side{padding:24px 16px}.login-form-container{max-width:100%}}@media (max-width:480px){.login-illustration-side{padding:20px 16px}.login-illustration{margin-bottom:12px;max-width:160px}.illustration-text h2{font-size:18px}.illustration-text p{font-size:12px}.login-logo-modern{width:80px}.logo-section{margin-bottom:16px}.welcome-text{margin-bottom:20px}.welcome-text h1{font-size:22px}.welcome-text p{font-size:13px}.modern-login-form{padding:20px 16px}.input-wrapper{margin-bottom:16px}.input-label{font-size:13px;margin-bottom:6px}.login-form-side{padding:20px 12px}.login-footer{margin-top:16px}.login-footer p{font-size:11px}}@media (max-width:360px){.login-illustration-side{padding:16px 12px}.login-illustration{margin-bottom:8px;max-width:130px}.illustration-text h2{font-size:16px}.illustration-text p{font-size:11px}.login-logo-modern{width:64px}.welcome-text h1{font-size:20px}.modern-login-form{padding:16px 12px}.modern-input{font-size:16px;padding:12px 44px 12px 40px}.input-icon{height:18px;left:12px;width:18px}.password-toggle{padding:6px;right:8px}.password-toggle svg{height:18px;width:18px}}@media (max-height:700px) and (max-width:1024px){.login-illustration-side{display:none}.login-form-side{min-height:100vh;min-height:100dvh}}@media (max-height:500px) and (orientation:landscape){.login-illustration-side{display:none}.login-form-side{min-height:100vh;min-height:100dvh;padding:16px 20px}.logo-section{margin-bottom:12px}.login-logo-modern{width:60px}.welcome-text{margin-bottom:16px}.welcome-text h1{font-size:20px}.modern-login-form{padding:20px}.form-options,.input-wrapper{margin-bottom:12px}}@media (min-width:1920px){.login-form-container{max-width:500px}.illustration-content{max-width:700px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.remember-checkbox:focus-visible~.checkbox-custom,button:focus-visible,input:focus-visible{outline:2px solid #4a90e2;outline:2px solid var(--secondary-blue);outline-offset:2px}@media (prefers-contrast:high){.checkbox-custom,.modern-input{border-width:3px}.modern-submit-btn{border:2px solid #092e6e;border:2px solid var(--primary-blue)}}.sidebar{background:#fff;background:var(--surface,#fff);border-right:1px solid #e2e8f0;border-right:1px solid var(--border,#e2e8f0);box-shadow:4px 0 24px #00000014;display:flex;flex-direction:column;height:100vh;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:100}.sidebar.collapsed{width:72px}.sidebar-header{align-items:center;background:linear-gradient(135deg,#fff,#fafbfc);background:linear-gradient(135deg,var(--surface,#fff) 0,#fafbfc 100%);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);display:flex;height:90px;justify-content:space-between;min-height:88px;padding:24px}.sidebar.collapsed .sidebar-header{justify-content:center;padding:24px 16px}.logo-container{gap:12px}.logo,.logo-container{align-items:center;display:flex}.logo{flex-shrink:0;height:48px;justify-content:center;width:48px}.logo img{height:100%;object-fit:contain;width:100%}.logo-text{display:flex;flex-direction:column}.logo-title{color:#2e6db1;color:var(--primary-blue,#2e6db1);font-size:18px;font-weight:700;letter-spacing:-.5px}.logo-subtitle{color:#718096;color:var(--text-secondary,#718096);font-size:11px;font-weight:500}.sidebar.collapsed .logo-text{display:none}.sidebar.collapsed .logo{height:32px;width:32px}.sidebar.collapsed .logo-container{gap:0}.toggle-btn{align-items:center;background:#f5f7fa;background:var(--background,#f5f7fa);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.toggle-btn:hover{background:#2e6db1;background:var(--primary-blue,#2e6db1);border-color:#2e6db1;border-color:var(--primary-blue,#2e6db1)}.toggle-btn:hover svg{stroke:#fff}.sidebar-nav{flex:1 1;overflow-y:auto;padding:20px 16px}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border,#e2e8f0);border-radius:4px}.nav-section{margin-bottom:28px}.nav-section-title{color:#718096;color:var(--text-secondary,#718096);font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:12px;padding:0 12px;text-transform:uppercase}.sidebar.collapsed .nav-section-title{height:0;margin:0;opacity:0;padding:0}.nav-item{align-items:center;border-radius:12px;color:#1a202c;color:var(--text-primary,#1a202c);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;margin-bottom:4px;overflow:hidden;padding:12px 16px;position:relative;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-item:before{background:#0000;content:"";height:100%;left:0;position:absolute;top:0;transition:all .2s;width:3px}.nav-item:hover{background:#f5f7fa;background:var(--background,#f5f7fa);transform:translateX(2px)}.nav-item.active{background:linear-gradient(135deg,#2e6db1,#5a92d4);box-shadow:0 4px 16px #2e6db14d;color:#fff}.nav-item.active:before{background:#c5d042}.nav-item.active-reportistica{background:linear-gradient(135deg,#2e6db1,#5a92d4);color:#fff}.nav-item.active-reportistica:before{background:#c5d042}.nav-item.active-automazione{background:linear-gradient(135deg,#c5d042,#d9e06f);color:#1a202c;color:var(--text-primary,#1a202c)}.nav-item.active-automazione:before{background:#2e6db1}.nav-item.active-operations{background:linear-gradient(135deg,#a0caac,#c5e5d3);color:#1a202c;color:var(--text-primary,#1a202c)}.nav-item.active-operations:before{background:#2e6db1}.nav-item.active-ai{background:linear-gradient(135deg,#9333ea,#c084fc);color:#fff}.nav-item.active-ai:before{background:#c5d042}.nav-item.active-apps{background:linear-gradient(135deg,#f97316,#fb923c);color:#fff}.nav-item.active-apps:before{background:#2e6db1}.nav-icon{flex-shrink:0;height:20px;width:20px}.nav-label{flex:1 1;white-space:nowrap}.sidebar.collapsed .nav-arrow,.sidebar.collapsed .nav-label{display:none}.nav-arrow{height:16px;opacity:.6;width:16px}.icon{height:20px;width:20px}.user-info-container{overflow:visible!important;position:relative}.user-info{align-items:center;background:#f5f7fa;background:var(--background,#f5f7fa);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:50px;cursor:pointer;display:flex;gap:16px;padding:8px 12px 8px 8px;transition:all .2s}.user-info:hover{border-color:#2e6db1;border-color:var(--primary-blue,#2e6db1);box-shadow:0 2px 8px #2e6db133}.user-details{text-align:right}.user-name{color:#1a202c;color:var(--text-primary,#1a202c);font-size:14px;font-weight:600}.user-role{color:#718096;color:var(--text-secondary,#718096);font-size:12px;font-weight:500}.user-avatar{align-items:center;background:linear-gradient(135deg,#2e6db1,#5a92d4);background:linear-gradient(135deg,var(--primary-blue,#2e6db1) 0,var(--blue-light,#5a92d4) 100%);border-radius:50%;box-shadow:0 2px 8px #2e6db14d;color:#fff;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.user-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 24px #0000001f;min-width:200px;overflow:visible;position:absolute;right:0;top:calc(100% + 8px);z-index:99999}.logout-dropdown-btn{align-items:center;background:#0000;border:none;color:#1a202c;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:12px;padding:12px 16px;text-align:left;transition:all .2s;width:100%}.logout-dropdown-btn:hover{background:#f5f7fa;color:#dc2626}.logout-dropdown-btn svg{flex-shrink:0}.authenticated-layout{background:linear-gradient(135deg,#f5f7fa,#e9edf4);display:flex;height:100vh;overflow:hidden;width:100vw}.main-content{position:relative}.main-content,.main-content>*{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.fixed-user-header{overflow:visible!important;position:absolute;right:40px;top:45px;transform:translateY(-50%);z-index:100}.page-header,.page-header-campane{align-items:center!important;background:#fff!important;border-bottom:1px solid #e2e8f0!important;box-shadow:0 1px 2px #0000000d!important;display:flex!important;height:90px!important;min-height:90px!important;padding:0 20px!important}.header-content,.header-content-campane{align-items:center!important;display:flex!important;gap:16px!important;width:100%!important}.header-title,.header-title-campane{display:flex!important;flex-direction:column!important;justify-content:center!important}.header-title h2,.header-title-campane h2{color:#0f172a!important;font-size:32px!important;font-weight:700!important;letter-spacing:-.5px!important;line-height:1.2!important;margin:0 0 4px!important}.header-subtitle,.header-subtitle-campane{color:#64748b!important;font-size:13px!important;line-height:1.4!important;margin:0!important}.back-button,.back-button-campane{align-items:center!important;align-self:center!important;display:flex!important}.info-button-campane,.info-button-modern{align-self:center!important}.home-container{background:linear-gradient(135deg,#f5f7fa,#e9edf4);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.home-container .page-header{background:#fff;background:var(--surface,#fff);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);box-shadow:0 2px 8px #00000014;padding:24px}.home-container .header-content{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.home-container .header-title{flex:1 1}.home-container .header-title h2{color:#1a202c;color:var(--text-primary,#1a202c);font-size:32px;font-weight:700;letter-spacing:-.5px;margin-bottom:6px}.home-container .header-subtitle{color:#718096;color:var(--text-secondary,#718096);font-size:15px;font-weight:500}.content-area-home{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:24px}.cards-grid-home{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.section-card-home{background:#fff;border:1px solid #e2e8f0;border-radius:20px;cursor:pointer;overflow:hidden;padding:32px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.section-card-home:before{background:currentColor;content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}.section-card-home:hover{border-color:#0000;box-shadow:0 12px 40px #0000001f;transform:translateY(-4px)}.section-card-home:hover:before{opacity:1}.decorative-circle-home{background:currentColor;border-radius:50%;height:120px;opacity:.06;position:absolute;right:-30px;top:-30px;transition:all .4s cubic-bezier(.4,0,.2,1);width:120px}.section-card-home:hover .decorative-circle-home{opacity:.1;transform:scale(1.3)}.section-card-home.reportistica{color:#2e6db1}.section-card-home.automazione{color:#8fa830}.section-card-home.produttivita{color:#5f9279}.section-card-home.ai-agents{color:#9333ea}.section-card-home.applicativi{color:#f97316}.card-icon-home{align-items:center;background:currentColor;border-radius:16px;display:flex;height:64px;justify-content:center;margin-bottom:24px;opacity:.1;transition:all .3s;width:64px}.section-card-home:hover .card-icon-home{opacity:.15;transform:scale(1.05)}.card-icon-home svg{color:currentColor;filter:brightness(0) saturate(100%)}.card-title-home{color:#0f172a;font-size:24px;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0 0 12px}.card-description-home{color:#64748b;font-size:14px;line-height:1.6;margin:0 0 24px;min-height:60px}.card-footer-home{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding-top:20px}.card-pages-home{align-items:center;color:currentColor;display:flex;font-size:13px;font-weight:600;gap:6px}.card-arrow-home{align-items:center;background:currentColor;border-radius:8px;display:flex;height:32px;justify-content:center;opacity:.1;transition:all .3s;width:32px}.section-card-home:hover .card-arrow-home{opacity:1;transform:translateX(4px)}.card-arrow-home svg{filter:brightness(0) invert(1)}@media (max-width:1400px){.cards-grid-home{gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width:1024px){.cards-grid-home{gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.section-card-home{padding:28px}}@media (max-width:768px){.content-area-home,.page-header-home{padding:20px}.header-title-home h2{font-size:28px}.cards-grid-home{gap:16px;grid-template-columns:1fr}.section-card-home{padding:24px}.card-title-home{font-size:20px}}@media (max-width:480px){.content-area-home,.page-header-home{padding:16px}.header-title-home h2{font-size:24px}.header-subtitle-home{font-size:13px}.section-card-home{padding:20px}.card-icon-home{height:56px;width:56px}.card-icon-home svg{height:28px;width:28px}}.placeholder-container{background:linear-gradient(135deg,#f5f7fa,#e9edf4);display:flex;flex:1 1;flex-direction:column}.header-content{align-items:flex-start}.content-area{padding:24px}.coming-soon{align-items:center;color:#718096;color:var(--text-secondary,#718096);display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.coming-soon svg{margin-bottom:20px;opacity:.6}.coming-soon h3{color:#1a202c;color:var(--text-primary,#1a202c);font-size:24px;font-weight:700;margin-bottom:8px}.coming-soon p{color:#718096;color:var(--text-secondary,#718096);font-size:16px}.pages-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.page-card{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:16px;cursor:pointer;padding:28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.page-card:hover:after{transform:scaleX(1)}.page-card-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:16px}.page-title{color:#1a202c;color:var(--text-primary,#1a202c);font-size:17px;font-weight:600;letter-spacing:-.3px}.page-badge{border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.3px;padding:6px 12px;white-space:nowrap}.page-badge.automezzi{background:linear-gradient(135deg,#b4c8e659,#a0b9dc4d);border:1px solid #b4c8e659;color:#4a7cb8}.page-description{color:#718096;color:var(--text-secondary,#718096);font-size:14px;line-height:1.5;margin-bottom:20px}.page-card-footer{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);display:flex;font-size:14px;font-weight:600;gap:6px;padding-top:16px}.operations-color{color:#5f9279}.reportistica-card:after{background:#2e6db1;bottom:0;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transition:transform .3s;width:100%}.reportistica-card:hover{border-color:#2e6db1;box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.reportistica-card .operations-color{color:#2e6db1}.page-card .page-badge.hr{background:linear-gradient(135deg,#ffcdb959,#ffbea54d);border:1px solid #ffc3af59;color:#d47742}.page-card .page-badge.spazzato{background:linear-gradient(135deg,#b4c8e659,#a0b9dc4d);border:1px solid #b4c8e659;color:#4a7cb8}.page-card .page-badge.trans-automezzi{background:linear-gradient(135deg,#dbefa85c,#ddefb05a);border:1px solid #b4c8e659;color:#b6e14a}.page-card .page-badge.ambiente{background:linear-gradient(135deg,#86cc9459,#6ebe824d);border:1px solid #86cc9459;color:#16a34a}.container_filtro_categoria{align-items:start;display:flex;flex-direction:row;gap:8px;height:69px;min-height:60px;overflow:auto}.produttivita-section .tab{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:13px;padding:0 12px;transition:all .2s}.produttivita-section .tab:hover{background-color:#5f92791f;color:#1e293b}.produttivita-section .tab:active{background-color:#5f9279b9;color:#e2e8f0}.produttivita-section .active-tab{border-color:#5f9279e3;border-bottom:2px solid #5f9279e3}.produttivita-section .active-tab:hover{background-color:#5f9279d1;color:#e2e8f0}.automazione-section .tab{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:13px;padding:0 12px;transition:all .2s}.automazione-section .tab:hover{background-color:#c5d0421f;color:#1e293b}.automazione-section .tab:active{background-color:#8c9430b9;color:#e2e8f0}.automazione-section .active-tab{border-color:#c5d042e3;border-bottom:2px solid #c5d042e3;color:#1e293b}.automazione-section .active-tab:hover{background-color:#c5d042d1;color:#fff}.reportistica-section .tab{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;cursor:pointer;font-size:13px;padding:0 12px;transition:all .2s}.reportistica-section .tab:hover{background-color:#2e6db11f;color:#1e293b}.reportistica-section .tab:active{background-color:#2e6db1b9;color:#e2e8f0}.reportistica-section .active-tab{border-color:#2e6db1;border-bottom:2px solid #2e6db1;color:#1e293b}.reportistica-section .active-tab:hover{background-color:#2e6db1;color:#fff}.automazione-card:after{background:#c5d042;bottom:0;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transition:transform .3s;width:100%}.automazione-card:hover{border-color:#c5d042;box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.automazione-card .operations-color{color:#c5d042}.page-card .page-badge.hera{background:linear-gradient(135deg,#caa0bb26,#caa0c50d);border:1px solid #caa0c14d;color:#925f7a}.produttivita-container{background:linear-gradient(135deg,#f5f7fa,#e9edf4);display:flex;flex:1 1;flex-direction:column}.produttivita-container .page-header{background:#fff;background:var(--surface,#fff);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);box-shadow:0 2px 8px #00000014;padding:24px}.produttivita-container .header-content{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.produttivita-container .header-title{flex:1 1}.produttivita-container .header-title h2{color:#1a202c;color:var(--text-primary,#1a202c);font-size:32px;font-weight:700;letter-spacing:-.5px;margin-bottom:6px}.produttivita-container .header-subtitle{color:#718096;color:var(--text-secondary,#718096);font-size:15px;font-weight:500}.produttivita-container .content-area{flex:1 1;overflow-y:auto;padding:24px}.produttivita-container .content-area::-webkit-scrollbar{width:8px}.produttivita-container .content-area::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border,#e2e8f0);border-radius:4px}.produttivita-container .pages-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.produttivita-container .page-card{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:16px;cursor:pointer;padding:28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1}.produttivita-container .page-card.card-dropdown-open{z-index:50}.produttivita-container .page-card:after{background:#5f9279;bottom:0;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transition:transform .3s;width:100%}.produttivita-container .page-card:hover{border-color:#5f9279;box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.produttivita-container .page-card:hover:after{transform:scaleX(1)}.produttivita-container .page-card-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:16px}.produttivita-container .page-title{color:#1a202c;color:var(--text-primary,#1a202c);font-size:17px;font-weight:600;letter-spacing:-.3px}.produttivita-container .page-badge{border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.3px;padding:6px 12px;white-space:nowrap}.produttivita-container .page-description{color:#718096;color:var(--text-secondary,#718096);font-size:14px;line-height:1.5;margin-bottom:20px}.produttivita-container .page-card-footer{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);display:flex;font-size:14px;font-weight:600;gap:6px;padding-top:16px}.produttivita-container .operations-color{color:#5f9279}.produttivita-container .page-badge-area{align-items:center;display:flex;flex-shrink:0;gap:6px}.produttivita-container .tag-management-bar{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:20px;padding:16px 20px}.produttivita-container .tag-management-header{align-items:center;color:#718096;color:var(--text-secondary,#718096);display:flex;font-size:13px;font-weight:600;gap:8px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.produttivita-container .tag-management-list{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.produttivita-container .tag-management-item{align-items:center;background:#f7fafc;background:var(--background,#f7fafc);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;display:flex;gap:6px;padding:6px 10px}.produttivita-container .tag-management-badge{border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.3px;padding:4px 10px;white-space:nowrap}.produttivita-container .tag-management-count{background:#e2e8f0;background:var(--border,#e2e8f0);border-radius:10px;color:#718096;color:var(--text-secondary,#718096);font-size:11px;font-weight:600;min-width:18px;padding:2px 7px;text-align:center}.produttivita-container .tag-management-btn{align-items:center;background:none;border:none;border-radius:4px;color:#718096;color:var(--text-secondary,#718096);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.produttivita-container .tag-edit-btn:hover{background:#4f46e51a;color:#4f46e5}.produttivita-container .tag-delete-btn:hover{background:#e53e3e1a;color:#e53e3e}.produttivita-container .tag-add-btn{align-items:center;background:none;border:1px dashed #cbd5e0;border:1px dashed var(--border,#cbd5e0);border-radius:8px;color:#718096;color:var(--text-secondary,#718096);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:6px 14px;transition:all .2s}.produttivita-container .tag-add-btn:hover{background:#5f92790d;border-color:#5f9279;color:#5f9279}.produttivita-container .tag-assign-wrapper{position:relative}.produttivita-container .tag-assign-btn{align-items:center;background:none;border:1px solid #0000;border-radius:4px;color:#a0aec0;color:var(--text-secondary,#a0aec0);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.produttivita-container .tag-assign-btn:hover{background:#5f92791a;border-color:#5f927933;color:#5f9279}.produttivita-container .tag-dropdown-overlay{inset:0;position:fixed;z-index:9998}.produttivita-container .tag-dropdown{animation:prodTagDropdownIn .15s ease-out;background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:10px;box-shadow:0 8px 24px #0000001f;margin-top:4px;min-width:160px;padding:6px;position:absolute;right:0;top:100%;z-index:9999}@keyframes prodTagDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.produttivita-container .tag-dropdown-item{align-items:center;background:none;border:none;border-radius:6px;color:#1a202c;color:var(--text-primary,#1a202c);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:8px 12px;text-align:left;transition:background .15s;width:100%}.produttivita-container .tag-dropdown-item:hover{background:#f7fafc;background:var(--background,#f7fafc)}.produttivita-container .tag-dropdown-item.active{background:#5f92791a;font-weight:600}.produttivita-container .tag-dropdown-color{border-radius:50%;flex-shrink:0;height:12px;width:12px}.produttivita-container .tag-dropdown-remove{border-radius:0 0 6px 6px;border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);color:#e53e3e;margin-top:4px;padding-top:10px}.produttivita-container .tag-dropdown-remove:hover{background:#e53e3e0d}.produttivita-container .tag-modal-overlay{align-items:center;animation:prodFadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes prodFadeIn{0%{opacity:0}to{opacity:1}}.produttivita-container .tag-modal{animation:prodSlideUp .3s ease-out;background:#fff;background:var(--surface,#fff);border-radius:16px;box-shadow:0 20px 60px #00000040;max-width:90vw;padding:28px;width:420px}@keyframes prodSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.produttivita-container .tag-modal h3{color:#1a202c;color:var(--text-primary,#1a202c);font-size:20px;font-weight:700;margin-bottom:20px}.produttivita-container .tag-modal p{color:#718096;color:var(--text-secondary,#718096);font-size:14px;line-height:1.5;margin-bottom:8px}.produttivita-container .tag-modal-field{margin-bottom:18px}.produttivita-container .tag-modal-field label{color:#718096;color:var(--text-secondary,#718096);display:block;font-size:13px;font-weight:600;letter-spacing:.3px;margin-bottom:8px;text-transform:uppercase}.produttivita-container .tag-modal-field input[type=text]{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;box-sizing:border-box;color:#1a202c;color:var(--text-primary,#1a202c);font-size:15px;outline:none;padding:10px 14px;transition:all .2s;width:100%}.produttivita-container .tag-modal-field input[type=text]:focus{border-color:#2e6db1;border-color:var(--primary-blue,#2e6db1);box-shadow:0 0 0 3px #2e6db11a}.produttivita-container .tag-palette-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(6,1fr)}.produttivita-container .tag-palette-swatch{border:2px solid #0000;border-radius:8px;cursor:pointer;height:36px;transition:all .2s;width:36px}.produttivita-container .tag-palette-swatch:hover{transform:scale(1.1)}.produttivita-container .tag-palette-swatch.selected{border-color:#1a202c;border-color:var(--text-primary,#1a202c);box-shadow:0 0 0 2px #fff,0 0 0 4px #1a202c;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--text-primary,#1a202c)}.produttivita-container .tag-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.produttivita-container .tag-modal-cancel{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#718096;color:var(--text-secondary,#718096);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.produttivita-container .tag-modal-cancel:hover{background:#f5f7fa;background:var(--background,#f5f7fa);color:#1a202c;color:var(--text-primary,#1a202c)}.produttivita-container .tag-modal-save{background:linear-gradient(135deg,#2e6db1,#5a92d4);background:linear-gradient(135deg,var(--primary-blue,#2e6db1),#5a92d4);border:none;border-radius:8px;box-shadow:0 2px 8px #2e6db140;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.produttivita-container .tag-modal-save:hover:not(:disabled){box-shadow:0 4px 16px #2e6db159;transform:translateY(-1px)}.produttivita-container .tag-modal-save:disabled{cursor:not-allowed;opacity:.6}.produttivita-container .tag-modal-delete{background:#e53e3e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.produttivita-container .tag-modal-delete:hover{background:#c53030}.produttivita-container .tag-delete-warning{background:#e53e3e0d;border:1px solid #e53e3e26;border-radius:8px;color:#e53e3e!important;font-weight:500;margin-top:8px;padding:10px 14px}.upload-container{background:linear-gradient(135deg,#f5f7fa,#e9edf4);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.page-header{padding:32px 24px}.header-title h2{color:var(--text-primary);font-size:28px;margin-bottom:8px}.header-subtitle{color:var(--text-secondary)}.content-area{padding:32px 24px}.upload-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));width:100%}.upload-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #00000014;overflow:hidden;padding:20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.upload-card:after{background:#2e6db1;bottom:0;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transition:transform .3s;width:100%}.upload-card:hover{border-color:#2e6db1;box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.upload-card:hover:after{transform:scaleX(1)}.upload-card-header{margin-bottom:16px}.upload-card-title{color:#1a202c;font-size:18px;font-weight:600;margin:0 0 4px}.upload-card-description{color:#718096;font-size:14px;line-height:1.4;margin:0}.upload-card-body{display:flex;flex-direction:column;gap:12px}.file-input-wrapper{position:relative}.file-label{align-items:center;background:#f5f7fa;border:2px dashed #e2e8f0;border-radius:10px;color:#718096;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;transition:all .2s ease}.file-label:hover{background:#2e6db10d;border-color:#2e6db1;color:#2e6db1}.file-label svg{color:#2e6db1;flex-shrink:0}.file-input{opacity:0;pointer-events:none;position:absolute}.upload-actions{display:flex;gap:12px}.btn-download,.btn-upload{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:10px 16px;position:relative;transition:all .2s ease}.btn-upload{background:linear-gradient(135deg,#2e6db1,#5a92d4);color:#fff}.btn-upload:hover:not(:disabled){box-shadow:0 6px 16px #2e6db166;transform:translateY(-2px)}.btn-upload:active:not(:disabled){transform:translateY(0)}.btn-upload:disabled{background:linear-gradient(135deg,#9ca3af,#d1d5db);cursor:not-allowed;opacity:.5}.btn-download{background:linear-gradient(135deg,#2e6db1,#5a92d4);color:#fff}.btn-download:hover:not(:disabled){box-shadow:0 6px 16px #5f927966;transform:translateY(-2px)}.btn-download:active:not(:disabled){transform:translateY(0)}.btn-download:disabled{background:linear-gradient(135deg,#e5e7eb,#f3f4f6);color:#9ca3af;cursor:not-allowed;opacity:.5}.loading-spinner{animation:spin .8s linear infinite}.upload-message{align-items:center;border-radius:8px;display:flex;font-size:13px;font-weight:500;gap:10px;padding:10px 14px}.upload-message.success{background:#a0caac26;border:1px solid #a0caac4d;color:#047857}.upload-message.success svg{color:#047857;flex-shrink:0}.upload-message.error{background:#ef44441a;border:1px solid #ef444433;color:#dc2626}.upload-message.error svg{color:#dc2626;flex-shrink:0}.upload-info{align-items:center;background:#2e6db10d;border-radius:8px;color:#718096;display:flex;font-size:12px;gap:8px;padding:8px 12px}.upload-info svg{color:#2e6db1;flex-shrink:0}@media (max-width:768px){.upload-grid{grid-template-columns:1fr}.content-area,.page-header{padding:24px 20px}}.percorsi-mappati-container{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.modal-container{max-width:700px}.legend-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin-top:12px}.legend-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:12px;padding:10px}.legend-badge,.legend-item{align-items:center;display:flex}.legend-badge{border-radius:8px;color:#fff;flex-shrink:0;height:36px;justify-content:center;width:36px}.legend-badge.verde{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669}.legend-badge.rosso{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.legend-badge.rosso-tenue{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#c2410c}.legend-badge.grigio{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#6b7280}.legend-badge.ocra{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.legend-badge.celeste{background:linear-gradient(135deg,#cffafe,#a5f3fc);color:#0891b2}.legend-text{display:flex;flex:1 1;flex-direction:column;gap:2px}.legend-text strong{color:#0f172a;font-size:13px}.legend-text span{color:#64748b;font-size:12px}.content-area{box-sizing:border-box;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:16px 20px;width:100%}.content-area>*{box-sizing:border-box;max-width:100%}.results-badge{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:6px;color:#475569;display:flex;font-size:12px;font-weight:600;gap:8px;padding:7px 12px}.results-badge svg{color:#2e6db1}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-item input[type=text]{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:12px;padding:7px 10px;transition:all .2s}.filter-item input[type=text]:focus{border-color:#2e6db1;box-shadow:0 0 0 2px #2e6db11a;outline:none}.filter-item .rs__multi-value{background:#eff6ff!important;border-radius:4px!important}.filter-item .rs__multi-value__label{color:#2563eb!important}.filter-item .rs__multi-value__remove:hover{background:#dbeafe!important;color:#1e40af!important}.filter-item .rs__menu{z-index:1000!important}.gantt-wrapper{margin-top:16px}.gantt-card-modern{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.gantt-header-modern{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;display:grid;grid-template-columns:140px repeat(7,1fr);position:-webkit-sticky;position:sticky;top:0;z-index:10}.gantt-cell{align-items:center;border-right:1px solid #e2e8f0;display:flex;justify-content:center;padding:12px}.gantt-cell:last-child{border-right:none}.vehicle-header-modern{align-items:center;background:#34495e;color:#fff;display:flex;font-size:12px;font-weight:700;gap:8px;justify-content:center;letter-spacing:.5px;text-transform:uppercase}.vehicle-header-modern svg{color:#fff}.day-header-modern{background:#34495e;justify-content:center}.day-badge,.day-header-modern{align-items:center;display:flex;flex-direction:column}.day-badge{background:#0000;border:none;border-radius:8px;box-shadow:none;gap:2px;padding:6px 12px}.day-name-modern{color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.day-number-modern{color:#fff;font-size:16px;font-weight:700;line-height:1}.gantt-body-modern{min-height:200px}.gantt-row-modern{border-bottom:1px solid #f1f5f9;display:grid;grid-template-columns:140px repeat(7,1fr);transition:background .2s}.gantt-row-modern:hover{background:#fafbfc}.gantt-row-modern:last-child{border-bottom:none}.vehicle-cell-modern{align-items:center;background:linear-gradient(135deg,#fafbfc,#f8fafc);border-right:1px solid #e2e8f0;display:flex;justify-content:center;padding:12px}.vehicle-plate-modern{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:6px;color:#0f172a;font-size:13px;font-weight:700;letter-spacing:.5px;padding:6px 12px}.status-cell-modern{border-right:1px solid #f1f5f9;padding:8px}.status-cell-modern:last-child{border-right:none}.status-box{align-items:center;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;height:48px;justify-content:center;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.status-box:hover{border-color:#ffffff80;box-shadow:0 8px 16px #00000026;transform:translateY(-2px)}.status-box.verde{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;color:#059669}.status-box.rosso{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;color:#dc2626}.status-box.rosso-tenue{background:linear-gradient(135deg,#fed7aa,#fdba74);border:1px solid #fb923c;color:#c2410c}.status-box.grigio{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db;color:#6b7280}.status-box.ocra{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;color:#b45309}.status-box.celeste{background:linear-gradient(135deg,#cffafe,#a5f3fc);border:1px solid #67e8f9;color:#0891b2}.status-icon-wrapper{align-items:center;display:flex;justify-content:center}.status-tooltip-modern{background:#fff;border:1px solid #e2e8f0;border-radius:12px;bottom:calc(100% + 10px);box-shadow:0 12px 32px #00000026;left:50%;max-width:320px;min-width:280px;opacity:0;padding:14px;pointer-events:none;position:absolute;transform:translateX(-50%) scale(.9);transition:all .3s cubic-bezier(.4,0,.2,1);visibility:hidden;z-index:1000}.status-tooltip-modern:before{border-left:8px solid #0000;border-right:8px solid #0000;border-top:8px solid #fff;content:"";height:0;left:50%;position:absolute;top:100%;transform:translateX(-50%);width:0}.gantt-row-modern:first-child .status-tooltip-modern,.gantt-row-modern:nth-child(2) .status-tooltip-modern{bottom:auto;top:calc(100% + 10px);z-index:10000}.gantt-row-modern:first-child .status-tooltip-modern:before,.gantt-row-modern:nth-child(2) .status-tooltip-modern:before{border-bottom:8px solid #fff;border-top:none;bottom:100%;top:auto}.gantt-row-modern:first-child .status-cell-modern,.gantt-row-modern:nth-child(2) .status-cell-modern{position:relative}.gantt-row-modern:first-child .status-cell-modern:hover,.gantt-row-modern:nth-child(2) .status-cell-modern:hover{z-index:10001}.status-box:hover .status-tooltip-modern{opacity:1;transform:translateX(-50%) scale(1);visibility:visible}.tooltip-header-modern{border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:4px;margin-bottom:10px;padding-bottom:10px}.tooltip-title{color:#0f172a;font-size:13px;font-weight:700}.tooltip-date-modern{color:#64748b;font-size:11px;font-weight:500}.tooltip-content-modern{color:#475569;font-size:12px}.tooltip-content-modern strong{color:#0f172a;display:block;font-size:11px;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.tooltip-list-modern{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.tooltip-item-modern{background:#f8fafc;border-left:3px solid #2e6db1;border-radius:6px;display:flex;flex-direction:column;gap:2px;padding:8px}.detail-type-modern{color:#2e6db1;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.detail-period-modern{color:#475569;font-size:11px}.detail-delta-modern{color:#64748b;font-size:10px;font-style:italic}.empty-state-modern,.loading-state-modern{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-state-modern p,.loading-state-modern p{color:#64748b;font-size:14px;margin-top:16px}.empty-state-modern h3{color:#0f172a;font-size:18px;font-weight:700;margin:16px 0 8px}.empty-state-modern svg{color:#cbd5e1}@media (max-width:1400px){.gantt-header-modern,.gantt-row-modern{grid-template-columns:120px repeat(7,1fr)}.vehicle-cell-modern,.vehicle-header-modern{grid-column:span 1}}@media (max-width:1024px){.content-area,.page-header{padding:12px 16px}.top-controls{align-items:stretch;flex-direction:column}.controls-left,.controls-right{width:100%}.search-bar-compact{min-width:0;min-width:auto;width:100%}.filters-grid{grid-template-columns:1fr}.gantt-card-modern{overflow-x:auto}}@media (max-width:768px){.gantt-header-modern,.gantt-row-modern{grid-template-columns:100px repeat(7,80px)}.day-badge{padding:4px 8px}.day-number-modern{font-size:14px}.status-box{height:40px}}.transazioni-container{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.transazioni-container .content-area{box-sizing:border-box;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:16px 20px;width:100%}.transazioni-container .content-area>*{box-sizing:border-box;max-width:100%}.posizioni-container{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.posizioni-container .content-area{box-sizing:border-box;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:16px 20px;width:100%}.posizioni-container .content-area>*{box-sizing:border-box;max-width:100%}.filter-item input[type=date],.filter-item input[type=text],.filter-item select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:12px;padding:7px 10px;transition:all .2s}.filter-item input[type=date]:focus,.filter-item input[type=text]:focus,.filter-item select:focus{border-color:#2e6db1;box-shadow:0 0 0 2px #2e6db11a;outline:none}.filter-item .rs__multi-value{background:#2e6db11a!important;border-radius:3px!important;font-size:11px!important}.filter-item .rs__multi-value__label{color:#2e6db1!important;font-size:11px!important;font-weight:500!important;padding:2px 4px!important}.filter-item .rs__multi-value__remove:hover{background:#2e6db1!important;color:#fff!important}.chart-section-compact{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;margin-bottom:16px;padding:14px}.chart-header-compact{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.chart-header-compact h3{color:#0f172a;font-size:15px;font-weight:700;margin:0}.btn-toggle-chart-compact{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:30px;justify-content:center;transition:all .2s;width:30px}.btn-toggle-chart-compact:hover{background:#f8fafc;border-color:#cbd5e1}.chart-wrapper-compact{padding:8px 0}.modern-table-compact{min-width:800px}.badge-fuel{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;color:#059669}.badge-status-compact{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.badge-status-compact.badge-ok{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;color:#059669}.badge-status-compact.badge-accettabile{background:linear-gradient(135deg,#fef9c3,#fef08a);border:1px solid #fde047;color:#ca8a04}.badge-status-compact.badge-undefined,.badge-status-compact.badge-verificare{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;color:#dc2626}.expanded-grid-compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.cards-grid-compact{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.card-price-compact{color:#0f172a;font-size:16px;font-weight:700}.card-fuel-info-compact{align-items:center;display:flex;gap:10px;justify-content:space-between}.fuel-item-compact{flex:1 1;text-align:center}.fuel-label-compact{color:#94a3b8;font-size:10px;font-weight:600;letter-spacing:.3px;margin:0 0 4px;text-transform:uppercase}.fuel-value-compact{color:#0f172a;font-size:13px;font-weight:700;margin:0}.fuel-value-compact.alert{color:#dc2626}.card-fuel-info-compact>svg{color:#cbd5e1;flex-shrink:0}@media (min-width:1600px){.stats-grid-compact{grid-template-columns:repeat(4,1fr)}.filters-grid{grid-template-columns:repeat(6,1fr)}}.campane-container-modern{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.page-header-campane{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;min-height:80px;padding:16px 20px}.header-content-campane{align-items:center;display:flex;gap:16px;min-height:48px;width:100%}.back-button-campane{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:7px 12px;transition:all .2s}.back-button-campane:hover{background:#f8fafc;border-color:#2e6db1;color:#2e6db1}.header-title-campane{flex:1 1}.header-title-row-campane{align-items:center;display:flex;gap:10px}.header-title-campane h2{color:#0f172a;font-size:32px!important;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0 0 6px}.info-button-campane{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);border:none;border-radius:50%;box-shadow:0 2px 8px #2e6db140;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.info-button-campane:hover{box-shadow:0 4px 16px #2e6db166;transform:scale(1.1) rotate(5deg)}.info-icon-text-campane{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:700;line-height:1}.header-subtitle-campane{color:#64748b;font-size:12px;margin:0}.modal-overlay-campane{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.modal-container-campane{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:100%}.modal-header-campane{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);color:#fff;display:flex;gap:14px;padding:20px 24px;position:relative}.modal-icon-campane{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.modal-header-campane h3{color:#fff;flex:1 1;font-size:20px;font-weight:700;margin:0}.modal-close-campane{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.modal-close-campane:hover{background:#ffffff40;transform:rotate(90deg)}.modal-body-campane{flex:1 1;overflow-y:auto;padding:24px}.modal-section-campane{margin-bottom:24px}.modal-section-campane:last-child{margin-bottom:0}.modal-section-campane h4{align-items:center;color:#0f172a;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 12px}.modal-section-campane h4:before{background:linear-gradient(135deg,#2e6db1,#3b82f6);border-radius:2px;content:"";height:20px;width:4px}.modal-section-campane p{color:#475569;font-size:14px;line-height:1.7;margin:0 0 12px}.modal-section-campane strong{color:#2e6db1;font-weight:600}.content-area-campane{box-sizing:border-box;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:16px 20px;width:100%}.top-controls-campane{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.controls-left-campane,.controls-right-campane{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.toggle-filters-btn-campane{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;padding:10px 18px;transition:all .2s;white-space:nowrap}.toggle-filters-btn-campane:hover{background:#f8fafc;border-color:#cbd5e1}.toggle-filters-btn-campane.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.toggle-filters-btn-campane svg{transition:transform .3s ease}.toggle-filters-btn-campane.active svg{transform:rotate(180deg)}.search-bar-campane{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:8px;min-width:250px;padding:7px 12px;transition:all .2s}.search-bar-campane:focus-within{border-color:#2e6db1;box-shadow:0 0 0 2px #2e6db11a}.search-bar-campane svg{color:#94a3b8;flex-shrink:0}.search-bar-campane input{background:#0000;border:none;color:#0f172a;flex:1 1;font-size:13px;outline:none}.search-bar-campane input::placeholder{color:#94a3b8}.export-btn-campane{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:7px 14px;transition:all .2s}.export-btn-campane:hover{box-shadow:0 2px 8px #10b9814d}.results-badge-campane{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:6px;color:#475569;display:flex;font-size:12px;font-weight:600;gap:8px;padding:7px 12px}.results-badge-campane svg{color:#2e6db1}.filters-panel-campane{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;margin-bottom:16px;padding:14px}.filters-form-campane{width:100%}.filters-grid-campane{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));width:100%}.filter-item-campane{display:flex;flex-direction:column;gap:8px}.filter-item-campane label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.filter-item-campane input[type=date],.filter-item-campane input[type=text],.filter-item-campane select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:13px;padding:8px 12px;transition:all .2s}.filter-item-campane input[type=date]:focus,.filter-item-campane input[type=text]:focus,.filter-item-campane select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-actions-campane{display:flex;flex-direction:column;justify-content:flex-end}.filter-buttons-campane{display:flex;gap:8px}.btn-apply-campane,.btn-reset-campane{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:12px;font-weight:600;gap:6px;justify-content:center;padding:7px 12px;transition:all .2s}.btn-apply-campane{background:linear-gradient(135deg,#2e6db1,#3b82f6);color:#fff}.btn-apply-campane:hover{box-shadow:0 2px 8px #2e6db14d}.btn-reset-campane{background:#fff;border:1px solid #e2e8f0;color:#64748b}.btn-reset-campane:hover{background:#f8fafc}.stats-grid-campane{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.stat-card-campane{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;display:flex;gap:12px;padding:12px 14px;transition:all .2s}.stat-card-campane:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-icon-campane{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.stat-primary-campane .stat-icon-campane{background:linear-gradient(135deg,#3b82f61a,#2563eb0d);color:#3b82f6}.stat-success-campane .stat-icon-campane{background:linear-gradient(135deg,#10b9811a,#0596690d);color:#10b981}.stat-warning-campane .stat-icon-campane{background:linear-gradient(135deg,#f59e0b1a,#d977060d);color:#f59e0b}.stat-info-campane .stat-icon-campane{background:linear-gradient(135deg,#0ea5e91a,#0284c70d);color:#0ea5e9}.stat-content-campane{flex:1 1;min-width:0}.stat-label-campane{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 4px;text-transform:uppercase}.stat-value-campane{color:#0f172a;font-size:22px;font-weight:700;line-height:1;margin:0}.table-container-campane{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:16px;overflow:hidden}.data-table-campane{border-collapse:collapse;width:100%}.data-table-campane thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.data-table-campane th{border-right:1px solid #e2e8f0;color:#475569;font-size:11px;font-weight:700;letter-spacing:.5px;padding:12px 14px;text-align:left;text-transform:uppercase}.data-table-campane th:last-child{border-right:none}.data-table-campane tbody tr{border-bottom:1px solid #f1f5f9;transition:background .2s}.data-table-campane tbody tr:hover{background:#fafbfc}.data-table-campane td{border-right:1px solid #f1f5f9;color:#0f172a;font-size:13px;padding:12px 14px}.data-table-campane td:last-child{border-right:none}.targa-badge-campane{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:4px;color:#2563eb;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 8px}.kg-value-campane{color:#10b981;font-weight:700}.note-input-campane{border:1px solid #e2e8f0;border-radius:6px;font-family:inherit;font-size:12px;min-width:150px;padding:6px 8px;resize:vertical;transition:all .2s;width:100%}.note-input-campane:focus{border-color:#2e6db1;box-shadow:0 0 0 2px #2e6db11a;outline:none}.checkbox-wrapper-campane{align-items:center;cursor:pointer;display:flex;justify-content:center;position:relative}.checkbox-wrapper-campane input[type=checkbox]{cursor:pointer;opacity:0;position:absolute}.checkmark-campane{background:#fff;border:2px solid #cbd5e1;border-radius:4px;display:inline-block;height:20px;position:relative;transition:all .2s;width:20px}.checkbox-wrapper-campane:hover .checkmark-campane{border-color:#2e6db1}.checkbox-wrapper-campane input:checked~.checkmark-campane{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981}.checkmark-campane:after{border:solid #fff;border-width:0 2px 2px 0;content:"";display:none;height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:5px}.checkbox-wrapper-campane input:checked~.checkmark-campane:after{display:block}.cards-grid-campane{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:16px}.data-card-campane{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;overflow:hidden;transition:all .2s}.data-card-campane:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.card-header-campane{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;padding:12px 16px}.card-date-campane{align-items:center;color:#475569;display:flex;font-size:12px;font-weight:600;gap:6px}.card-date-campane svg{color:#2e6db1}.card-body-campane{display:flex;flex-direction:column;gap:12px;padding:16px}.card-info-row-campane{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding-bottom:8px}.card-label-campane{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.card-value-campane{color:#0f172a;font-size:13px;font-weight:600}.card-kg-highlight-campane{align-items:center;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;border-radius:8px;display:flex;gap:8px;padding:12px}.card-kg-highlight-campane svg{color:#10b981;flex-shrink:0}.kg-label-campane{color:#059669;font-size:12px;font-weight:600}.kg-value-card-campane{color:#047857;font-size:18px;font-weight:700;margin-left:auto}.card-notes-campane{margin-top:4px}.note-input-card-campane{border:1px solid #e2e8f0;border-radius:6px;font-family:inherit;font-size:12px;padding:8px;resize:vertical;transition:all .2s;width:100%}.note-input-card-campane:focus{border-color:#2e6db1;box-shadow:0 0 0 2px #2e6db11a;outline:none}.empty-state-campane,.loading-state-campane{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;justify-content:center;margin-bottom:16px;padding:60px 20px;text-align:center}.empty-state-campane p,.loading-state-campane p{color:#64748b;font-size:14px;margin-top:16px}.empty-state-campane h3{color:#0f172a;font-size:18px;font-weight:700;margin:16px 0 8px}.empty-state-campane svg{color:#cbd5e1}.spinner-campane{animation:spin 1s linear infinite;border:3px solid #f1f5f9;border-radius:50%;border-top-color:#2e6db1;height:40px;width:40px}@media (max-width:1024px){.content-area-campane,.page-header-campane{padding:12px 16px}.top-controls-campane{align-items:stretch;flex-direction:column}.controls-left-campane,.controls-right-campane{justify-content:space-between;width:100%}.search-bar-campane{flex:1 1;min-width:0;min-width:auto}.filters-grid-campane{grid-template-columns:1fr}}@media (max-width:1200px){.stats-grid-campane{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.cards-grid-campane,.stats-grid-campane{grid-template-columns:1fr}.pagination-campane{flex-direction:column}.items-per-page-campane{justify-content:center;width:100%}}.page-header-percorsi{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;min-height:80px;padding:16px 20px}.header-content-percorsi{align-items:center;display:flex;gap:16px;min-height:48px;width:100%}.back-button-percorsi{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.back-button-percorsi:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.back-button-percorsi svg{height:16px;width:16px}.header-title-percorsi{flex:1 1;min-width:0}.header-title-row-percorsi{align-items:center;display:flex;gap:12px;margin-bottom:4px}.header-title-percorsi h2{color:#0f172a;font-size:32px!important;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0 0 6px}.header-subtitle-percorsi{color:#64748b;font-size:13px;font-weight:400;margin:0}.info-button-percorsi{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s ease;width:28px}.info-button-percorsi:hover{box-shadow:0 4px 8px #3b82f64d;transform:scale(1.05)}.info-icon-text-percorsi{font-size:16px;font-weight:600;line-height:1}.modal-overlay-percorsi{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.modal-container-percorsi{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.modal-header-percorsi{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.modal-header-percorsi h3{font-size:20px;font-weight:600;margin:0}.modal-close-percorsi{align-items:center;background:#fff3;border:none;border-radius:50%;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.modal-close-percorsi:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-close-percorsi svg{stroke:#fff;height:18px;width:18px}.modal-body-percorsi{max-height:calc(80vh - 80px);overflow-y:auto;padding:24px}.modal-body-percorsi p{color:#475569;font-size:14px;line-height:1.6;margin:0 0 16px}.modal-body-percorsi ul{color:#475569;margin:12px 0 20px;padding-left:24px}.modal-body-percorsi li{font-size:14px;line-height:1.6;margin-bottom:8px}.modal-body-percorsi strong{color:#1e293b;font-weight:600}.container-percorsi{background:#f8fafc;min-height:calc(100vh - 80px);padding:20px}.controls-percorsi{justify-content:space-between;margin-bottom:20px}.controls-left-percorsi,.controls-percorsi,.controls-right-percorsi{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.toggle-filters-btn,.toggle-filters-btn-percorsi{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;padding:10px 18px;transition:all .2s;white-space:nowrap}.toggle-filters-btn-percorsi:hover,.toggle-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1}.toggle-filters-btn-percorsi.active,.toggle-filters-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.toggle-filters-btn svg,.toggle-filters-btn-percorsi svg{transition:transform .3s ease}.toggle-filters-btn-percorsi.active svg,.toggle-filters-btn.active svg{transform:rotate(180deg)}.toggle-filters-btn-percorsi svg{height:18px;transition:transform .3s ease;width:18px}.toggle-filters-btn-percorsi.active svg{transform:rotate(180deg)}.search-box-percorsi{flex:1 1;max-width:400px;min-width:250px;position:relative}.search-icon-percorsi{color:#94a3b8;height:18px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:18px}.search-input-percorsi{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:13px;padding:10px 16px 10px 40px;transition:all .2s ease;width:100%}.search-input-percorsi::placeholder{color:#94a3b8}.search-input-percorsi:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.export-btn-percorsi{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 4px #10b98133;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.export-btn-percorsi:hover{box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.export-btn-percorsi svg{height:18px;width:18px}.results-badge-percorsi{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;font-size:13px;font-weight:600;padding:8px 14px}.filter-panel-percorsi{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:20px;padding:20px}.filter-grid-percorsi{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:16px}.filter-group-percorsi{display:flex;flex-direction:column;gap:6px}.filter-group-percorsi label{color:#475569;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-group-percorsi input[type=date]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:13px;padding:10px 12px;transition:all .2s ease}.filter-group-percorsi input[type=date]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-actions-percorsi{display:flex;gap:10px;justify-content:flex-end}.filter-apply-btn-percorsi,.filter-reset-btn-percorsi{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s ease}.filter-apply-btn-percorsi{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;box-shadow:0 2px 4px #3b82f633;color:#fff}.filter-apply-btn-percorsi:hover{box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.filter-reset-btn-percorsi{background:#fff;border:1px solid #e2e8f0;color:#64748b}.filter-reset-btn-percorsi:hover{background:#f8fafc;border-color:#cbd5e1}.stats-grid-percorsi{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:24px}.stat-card-percorsi{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:16px;padding:20px;transition:all .2s ease}.stat-card-percorsi:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.stat-icon-percorsi{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.stat-primary-percorsi .stat-icon-percorsi{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.stat-primary-percorsi .stat-icon-percorsi svg{color:#3b82f6;height:24px;width:24px}.stat-success-percorsi .stat-icon-percorsi{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.stat-success-percorsi .stat-icon-percorsi svg{color:#10b981;height:24px;width:24px}.stat-warning-percorsi .stat-icon-percorsi{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.stat-warning-percorsi .stat-icon-percorsi svg{color:#f59e0b;height:24px;width:24px}.stat-danger-percorsi .stat-icon-percorsi{background:linear-gradient(135deg,#fef2f2,#fee2e2)}.stat-danger-percorsi .stat-icon-percorsi svg{color:#ef4444;height:24px;width:24px}.stat-content-percorsi{flex:1 1;min-width:0}.stat-label-percorsi{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 4px;text-transform:uppercase}.stat-value-percorsi{color:#0f172a;font-size:28px;font-weight:700;line-height:1;margin:0}.table-container-percorsi{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.table-wrapper-percorsi{overflow-x:auto}.table-percorsi{border-collapse:collapse;width:100%}.table-percorsi thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.table-percorsi th{color:#475569;font-size:12px;font-weight:700;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.table-percorsi th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none}.table-percorsi th.sortable-header:hover{background:#f1f5f9}.header-content-sort{align-items:center;display:flex;gap:8px;justify-content:space-between}.sort-buttons{display:flex;flex-direction:column;gap:2px}.sort-btn{align-items:center;background:none;border:none;display:flex;height:10px;justify-content:center;padding:0;transition:color .2s ease;width:14px}.sort-btn svg{height:12px;width:12px}.table-percorsi tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .2s ease}.table-percorsi tbody tr:hover{background:#f8fafc}.table-percorsi tbody tr:last-child{border-bottom:none}.table-percorsi td{color:#1e293b;font-size:13px;padding:14px 16px}.table-percorsi td.numeric-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.badge-targa{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;color:#475569;font-family:Courier New,monospace;letter-spacing:.5px}.badge-success,.badge-targa{border-radius:6px}.badge-success,.badge-targa,.badge-warning{display:inline-block;font-size:12px;font-weight:600;padding:5px 10px}.badge-warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:6px;color:#d97706}.badge-info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:6px;color:#2563eb;display:inline-block;font-size:12px;font-weight:600;padding:5px 10px}.detail-btn-percorsi{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:7px 14px;transition:all .2s ease}.detail-btn-percorsi:hover{box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.pagination-compact{padding:12px 0}.pagination-btn-compact{color:#475569;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s ease}.pagination-btn-compact:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.pagination-btn-compact:disabled{opacity:.5}.pagination-btn-compact svg{height:16px;width:16px}.items-btn-compact:hover{border-color:#3b82f6;color:#3b82f6}.items-btn-compact.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 1px 2px #3b82f633}.loading-percorsi{color:#64748b;font-size:14px;padding:60px 20px;text-align:center}.loading-percorsi svg{animation:spin 1s linear infinite;height:40px;margin-bottom:12px;width:40px}.empty-percorsi{color:#94a3b8;padding:60px 20px;text-align:center}.empty-percorsi svg{height:64px;margin-bottom:16px;opacity:.5;width:64px}.empty-percorsi p{color:#64748b;font-size:15px;font-weight:500;margin:0}.modal-container-dettaglio{animation:modalSlideIn .3s ease-out;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header-dettaglio{justify-content:space-between;padding:20px 24px}.modal-header-dettaglio h3{font-size:20px}.modal-close-dettaglio{height:32px;transition:all .2s ease;width:32px}.modal-close-dettaglio svg{stroke:#fff;height:18px;width:18px}.modal-body-dettaglio{max-height:calc(85vh - 80px);overflow-x:hidden;padding:24px}.dettaglio-table th{padding:12px 14px}.dettaglio-table th.sortable-header-detail{cursor:pointer;-webkit-user-select:none;user-select:none}.dettaglio-table th.sortable-header-detail:hover{background:#f1f5f9}.dettaglio-table tbody tr{transition:background-color .2s ease}.dettaglio-table td{font-size:13px;padding:12px 14px}.dettaglio-table td.numeric-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge-percentage{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;padding:5px 10px}.badge-percentage-high{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;color:#dc2626}.badge-percentage-medium{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;color:#d97706}.badge-percentage-low{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;color:#059669}.cards-grid-compact{grid-gap:16px;gap:16px}.data-card-compact{border-radius:10px;box-shadow:0 1px 3px #0000000d}.data-card-compact:hover{box-shadow:0 8px 16px #0000001f;transform:translateY(-3px)}.card-header-compact{padding:12px 14px}.card-title-compact{color:#0f172a;flex:1 1;font-size:14px;font-weight:700;margin-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-body-compact{padding:14px}.card-row-compact{line-height:1.4;margin-bottom:10px}.card-divider-compact{margin:12px 0}.card-stats-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin:12px 0}.card-stat{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-direction:column;gap:4px;padding:8px 10px}.card-stat.success{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#a7f3d0}.card-stat.warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.card-stat.info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#bfdbfe}.card-stat-label{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.card-stat-value{color:#0f172a;font-size:16px;font-weight:700}.card-stat.success .card-stat-value{color:#059669}.card-stat.warning .card-stat-value{color:#d97706}.card-stat.info .card-stat-value{color:#2563eb}.card-detail-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:8px;justify-content:center;padding:10px 14px;transition:all .2s ease;width:100%}.card-detail-btn:hover{box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.card-detail-btn svg{height:16px;width:16px}.data-table-compact{border-collapse:collapse;width:100%}.data-table-compact thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.data-table-compact th{color:#475569;font-size:11px;font-weight:700;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table-compact th.numeric-cell{text-align:right}.data-table-compact tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .15s}.data-table-compact tbody tr:hover{background:#f8fafc}.data-table-compact tbody tr:last-child{border-bottom:none}.data-table-compact td{color:#1e293b;font-size:12px;padding:10px 12px}.numeric-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.success-text{color:#059669;font-weight:600}.warning-text{color:#d97706;font-weight:600}.percorso-name{color:#0f172a;font-weight:600}.badge-compact{border-radius:5px;letter-spacing:.3px;padding:4px 8px}.badge-compact.badge-targa{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;color:#475569;font-family:Courier New,monospace}.badge-compact.badge-success{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;color:#059669}.badge-compact.badge-warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;color:#d97706}.badge-compact.badge-info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;color:#2563eb}.dettaglio-btn-compact{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:5px;box-shadow:0 1px 2px #3b82f633;color:#fff;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;justify-content:center;padding:6px 10px;transition:all .2s}.dettaglio-btn-compact:hover{box-shadow:0 2px 4px #3b82f64d;transform:translateY(-1px)}.dettaglio-btn-compact svg{height:14px;width:14px}.sort-icons{display:inline-flex;gap:2px;margin-left:6px;vertical-align:middle}.sort-btn{background:#0000;border:1px solid #0000;color:#cbd5e1;cursor:pointer;font-size:11px;line-height:1;padding:0 2px;transition:all .2s}.sort-btn:hover{border-color:#e2e8f0;border-radius:3px;color:#94a3b8}.sort-btn.active{border-color:#3b82f6;border-radius:3px;color:#3b82f6;font-weight:700}.controls-left,.controls-right{flex-wrap:wrap}.search-bar-compact{max-width:350px;min-width:220px}.search-bar-compact svg{left:10px;top:50%;transform:translateY(-50%)}.search-bar-compact input{background:#fff;border-radius:6px;font-size:12px;padding:8px 12px 8px 36px}.results-badge-compact{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px}.results-badge-compact svg{height:14px;width:14px}.filters-grid{margin-bottom:12px}.filter-item input,.filter-item select{border-radius:5px;font-size:12px;padding:7px 10px}.filter-actions{align-self:flex-end}.btn-apply,.btn-reset{align-items:center;border-radius:5px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:7px 14px;transition:all .2s}.btn-apply{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;box-shadow:0 1px 2px #3b82f633;color:#fff}.btn-apply:hover{box-shadow:0 2px 4px #3b82f64d;transform:translateY(-1px)}.btn-reset{background:#fff;border:1px solid #e2e8f0;color:#64748b}.btn-reset:hover{background:#f8fafc;border-color:#cbd5e1}.btn-apply svg,.btn-reset svg{height:14px;width:14px}.stats-grid-compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card-compact{padding:14px}.stat-card-compact:hover{box-shadow:0 4px 8px #00000014}.stat-icon-compact{height:42px;width:42px}.stat-primary .stat-icon-compact svg{color:#3b82f6}.stat-success .stat-icon-compact svg{color:#10b981}.stat-warning .stat-icon-compact svg{color:#f59e0b}.stat-info .stat-icon-compact{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.stat-info .stat-icon-compact svg{color:#3b82f6}.loading-state-compact{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.spinner-compact{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:12px;width:40px}.loading-state-compact p{font-size:13px;font-weight:500;margin:0}.empty-state-compact{align-items:center;color:#94a3b8;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.empty-state-compact svg{margin-bottom:16px;opacity:.5}.empty-state-compact h3{color:#475569;font-size:16px;font-weight:700;margin:0 0 8px}.empty-state-compact p{color:#94a3b8;font-size:13px;margin:0}.info-percorsi-container .content-area{background:#f8fafc;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:20px}.info-percorsi-container .page-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;min-height:80px;padding:16px 20px}.info-percorsi-container .header-content{align-items:center;display:flex;gap:16px;min-height:48px;width:100%}.info-percorsi-container .back-button{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s}.info-percorsi-container .back-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.info-percorsi-container .header-title{flex:1 1;min-width:0}.info-percorsi-container .header-title-row{align-items:center;display:flex;gap:12px;margin-bottom:4px}.info-percorsi-container .header-title h2{color:#0f172a;font-size:32px!important;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0 0 6px}.info-percorsi-container .header-subtitle{color:#64748b;font-size:13px;margin:0}.info-percorsi-container .info-button-modern{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s;width:28px}.info-percorsi-container .info-button-modern:hover{box-shadow:0 4px 8px #3b82f64d;transform:scale(1.05)}.info-percorsi-container .info-icon-text{font-size:16px;font-weight:600;line-height:1}.info-percorsi-container .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.info-percorsi-container .modal-container{animation:modalSlideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:80vh;max-width:580px;overflow:hidden;width:100%}.info-percorsi-container .modal-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;gap:12px;padding:18px 20px;position:relative}.info-percorsi-container .modal-icon{align-items:center;background:#fff3;border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.info-percorsi-container .modal-header h3{flex:1 1;font-size:18px;font-weight:600;margin:0}.info-percorsi-container .modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .2s;width:30px}.info-percorsi-container .modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.info-percorsi-container .modal-body{max-height:calc(80vh - 70px);overflow-y:auto;padding:20px}.info-percorsi-container .modal-section{margin-bottom:18px}.info-percorsi-container .modal-section:last-child{margin-bottom:0}.info-percorsi-container .modal-section h4{color:#0f172a;font-size:14px;font-weight:700;margin:0 0 8px}.info-percorsi-container .modal-section p{color:#475569;font-size:13px;line-height:1.6;margin:0}.modal-overlay-dettaglio{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;padding:20px;z-index:10001}.modal-container-dettaglio{animation:modalSlideIn .3s ease;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:85vh;max-width:900px;width:100%}.modal-header-dettaglio{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;gap:12px;padding:18px 20px;position:relative}.modal-icon-dettaglio{background:#fff3;border-radius:8px;height:36px;width:36px}.modal-header-dettaglio h3{flex:1 1;font-size:18px;font-weight:600;margin:0}.modal-close-dettaglio{background:#fff3;border:none;border-radius:50%;flex-shrink:0;height:30px;width:30px}.modal-close-dettaglio:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body-dettaglio{max-height:calc(85vh - 70px);padding:20px}.dettaglio-table thead{background:#f8fafc;position:-webkit-sticky;position:sticky;top:0;z-index:10}.dettaglio-table th{font-size:11px;letter-spacing:.3px;padding:10px 12px;white-space:nowrap}.dettaglio-table tbody tr{transition:background .15s}.dettaglio-table tbody tr:hover{background:#f8fafc}.dettaglio-table td{font-size:12px;padding:10px 12px}.percentage-badge{border-radius:5px;font-size:11px;padding:4px 8px}.percentage-badge.high{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;color:#dc2626}.percentage-badge.medium{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;color:#d97706}.percentage-badge.low{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;color:#059669}.rs__control{border-color:#e2e8f0!important;border-radius:5px!important;font-size:12px!important;min-height:34px!important}.rs__control:hover{border-color:#cbd5e1!important}.rs__control--is-focused{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.rs__placeholder{color:#94a3b8!important;font-size:12px!important}.rs__single-value{color:#1e293b!important;font-size:12px!important}.rs__multi-value{background:#eff6ff!important;border-radius:4px!important}.rs__multi-value__label{color:#2563eb!important;font-size:11px!important;padding:2px 6px!important}.rs__multi-value__remove:hover{background:#dbeafe!important;color:#1e40af!important}@media (max-width:1400px){.info-percorsi-container .header-title h2{font-size:28px!important}.stats-grid-percorsi{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-value-percorsi{font-size:24px}}@media (max-width:1200px){.filter-grid-percorsi{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.controls-percorsi{align-items:stretch;flex-direction:column}.controls-left-percorsi,.controls-right-percorsi{justify-content:space-between;width:100%}.search-box-percorsi{max-width:100%}}@media (max-width:768px){.page-header-percorsi{padding:14px 16px}.header-title-percorsi h2{font-size:24px!important}.header-subtitle-percorsi{font-size:12px}.container-percorsi{padding:16px}.filter-grid-percorsi,.stats-grid-percorsi{grid-template-columns:1fr}.table-wrapper-percorsi{overflow-x:scroll}.table-percorsi{min-width:800px}.pagination-compact{flex-direction:column;gap:12px}.pagination-select-wrapper{justify-content:center;width:100%}.modal-container-dettaglio{max-width:95%}}@media (max-width:480px){.back-button-percorsi span{display:none}.header-title-percorsi h2{font-size:20px!important}.controls-left-percorsi,.controls-right-percorsi{flex-direction:column;width:100%}.export-btn-percorsi,.toggle-filters-btn-percorsi{justify-content:center;width:100%}.stat-card-percorsi{flex-direction:column;text-align:center}.stat-value-percorsi{font-size:32px}}.mancato-login-container{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.back-button:hover{border-color:#2e6db1;color:#2e6db1}.info-button-modern{background:linear-gradient(135deg,#2e6db1,#3b82f6);box-shadow:0 2px 8px #2e6db140}.info-button-modern:hover{box-shadow:0 4px 16px #2e6db166}.modal-header,.modal-section h4:before{background:linear-gradient(135deg,#2e6db1,#3b82f6)}.modal-section ul{padding-left:24px}.modal-section li:last-child{margin-bottom:0}.modal-section strong{color:#2e6db1;font-weight:600}.modal-tip{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-left:4px solid #f59e0b;color:#92400e;margin-top:16px!important}.mancato-login-container .content-area{box-sizing:border-box;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:16px 20px;width:100%}.mancato-login-container .content-area>*{box-sizing:border-box;max-width:100%}.search-bar-compact{border-radius:6px;min-width:200px;padding:7px 12px}.view-toggle-compact{background:#f8fafc;border-radius:6px;gap:2px;padding:3px}.view-btn-compact{border-radius:5px;font-size:12px;font-weight:500}.view-btn-compact:hover{color:#2e6db1}.view-btn-compact.active{background:#fff;box-shadow:0 1px 2px #0000001a;color:#2e6db1}.filters-form{width:100%}.filter-item input[type=text],.filter-item select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:12px;padding:7px 10px;transition:all .2s}.filter-item input[type=text]:focus,.filter-item select:focus{border-color:#2e6db1;box-shadow:0 0 0 2px #2e6db11a;outline:none}.filter-item .rs__control{border:1px solid #e2e8f0!important;border-radius:6px!important;box-shadow:none!important;font-size:12px!important;min-height:34px!important}.filter-item .rs__control:hover{border-color:#cbd5e1!important}.filter-item .rs__control--is-focused{border-color:#2e6db1!important;box-shadow:0 0 0 2px #2e6db11a!important}.filter-item .rs__value-container{padding:2px 6px!important}.filter-item .rs__single-value{color:#0f172a!important;font-size:12px!important}.filter-buttons{display:flex;gap:8px}.btn-apply-compact,.btn-reset-compact{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:12px;font-weight:600;gap:6px;justify-content:center;padding:7px 12px;transition:all .2s}.btn-apply-compact{background:linear-gradient(135deg,#2e6db1,#3b82f6);color:#fff}.btn-apply-compact:hover{box-shadow:0 2px 8px #2e6db14d}.stat-card-compact:hover:before{opacity:.05;width:100%}.stat-primary:before{background:#3b82f6}.stat-primary .stat-icon-compact{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#3b82f6}.results-info{color:#64748b;font-size:12px;margin-bottom:12px;text-align:center}.results-info strong{color:#0f172a;font-weight:600}.table-container-compact{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;margin-bottom:16px;overflow:hidden;overflow-x:auto}.modern-table-compact{border-collapse:collapse;min-width:900px;width:100%}.modern-table-compact thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.modern-table-compact th{color:#475569;font-size:10px;font-weight:700;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.modern-table-compact tbody tr.table-row-compact{border-bottom:1px solid #f1f5f9;cursor:pointer;transition:all .15s}.modern-table-compact tbody tr.table-row-compact:hover{background:#f8fafc}.modern-table-compact td{color:#0f172a;font-size:12px;padding:10px 12px}.expand-cell-compact{text-align:center}.expand-btn-compact{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:5px;color:#64748b;cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .2s;width:24px}.expand-btn-compact:hover{background:#f8fafc;border-color:#2e6db1;color:#2e6db1}.badge-compact{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;padding:3px 8px}.badge-targa{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;color:#2563eb}.badge-success{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;color:#059669}.badge-alert{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;color:#dc2626}.badge-gap{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #ddd6fe;color:#7c3aed}.expanded-row-compact{background:#f8fafc;border-bottom:1px solid #e2e8f0!important}.expanded-content-compact{padding:12px}.expanded-grid-compact{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.expanded-item-compact{display:flex;flex-direction:column;gap:3px}.expanded-label-compact{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.expanded-value-compact{color:#0f172a;font-size:12px;font-weight:500}.cards-grid-compact{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:16px}.data-card-compact{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;overflow:hidden;transition:all .2s}.data-card-compact:hover{border-color:#cbd5e1;box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.card-header-compact{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:10px 12px}.card-badge-compact{background:linear-gradient(135deg,#2e6db1,#3b82f6);color:#fff;letter-spacing:.3px}.card-badge-compact,.card-status-success{border-radius:5px;font-size:11px;font-weight:700;padding:4px 10px}.card-status-success{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;color:#059669}.card-status-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:5px;color:#dc2626;font-size:11px;font-weight:700;padding:4px 10px}.card-body-compact{padding:12px}.card-row-compact{align-items:center;color:#475569;display:flex;font-size:12px;gap:8px;margin-bottom:8px}.card-row-compact svg{color:#94a3b8;flex-shrink:0}.card-divider-compact{background:#e2e8f0;height:1px;margin:10px 0}.card-error-box{align-items:center;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:6px;color:#dc2626;display:flex;font-size:12px;font-weight:600;gap:8px;margin-top:10px;padding:10px}.card-error-box svg{color:#dc2626;flex-shrink:0}.spinner{animation:spin 1s linear infinite;border:3px solid #f1f5f9;border-top-color:#2e6db1;height:40px;width:40px}@media (max-width:1400px){.stats-grid-compact{grid-template-columns:repeat(2,1fr)}.filters-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:1024px){.filters-grid,.stats-grid-compact{grid-template-columns:repeat(2,1fr)}.cards-grid-compact{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:768px){.content-area,.page-header{padding:12px 16px}.top-controls{align-items:stretch;flex-direction:column}.controls-left,.controls-right{width:100%}.search-bar-compact{min-width:0;min-width:auto;width:100%}.cards-grid-compact,.filters-grid,.stats-grid-compact{grid-template-columns:1fr}.modern-table-compact{font-size:11px}.modern-table-compact td,.modern-table-compact th{padding:8px 10px}}@media (min-width:1600px){.filters-grid,.stats-grid-compact{grid-template-columns:repeat(4,1fr)}}.manutenzione-automezzi-modern{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.manutenzione-automezzi-modern .page-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;min-height:80px;padding:16px 20px}.manutenzione-automezzi-modern .header-content{align-items:center;display:flex;gap:16px;min-height:48px;width:100%}.manutenzione-automezzi-modern .back-button{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.manutenzione-automezzi-modern .back-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.manutenzione-automezzi-modern .back-button svg{height:16px;width:16px}.manutenzione-automezzi-modern .header-title{flex:1 1;min-width:0}.manutenzione-automezzi-modern .header-title-row{align-items:center;display:flex;gap:12px;margin-bottom:4px}.manutenzione-automezzi-modern .header-title h2{color:#0f172a;font-size:32px!important;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0}.manutenzione-automezzi-modern .header-subtitle{color:#64748b;font-size:13px;line-height:1.4;margin:0}.manutenzione-automezzi-modern .info-button-modern{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s ease;width:28px}.manutenzione-automezzi-modern .info-button-modern:hover{box-shadow:0 4px 8px #3b82f64d;transform:scale(1.05)}.manutenzione-automezzi-modern .info-icon-text{font-size:16px;font-weight:600;line-height:1}.manutenzione-automezzi-modern .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.manutenzione-automezzi-modern .modal-container{animation:modalSlideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:80vh;max-width:600px;overflow:hidden;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.manutenzione-automezzi-modern .modal-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;gap:12px;padding:18px 20px}.manutenzione-automezzi-modern .modal-icon{align-items:center;background:#fff3;border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.manutenzione-automezzi-modern .modal-header h3{flex:1 1;font-size:18px;font-weight:600;margin:0}.manutenzione-automezzi-modern .modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .2s;width:30px}.manutenzione-automezzi-modern .modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.manutenzione-automezzi-modern .modal-body{max-height:calc(80vh - 70px);overflow-y:auto;padding:20px}.manutenzione-automezzi-modern .modal-section{margin-bottom:20px}.manutenzione-automezzi-modern .modal-section:last-child{margin-bottom:0}.manutenzione-automezzi-modern .modal-section h4{align-items:center;color:#0f172a;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 12px}.manutenzione-automezzi-modern .modal-section h4:before{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:2px;content:"";height:18px;width:4px}.manutenzione-automezzi-modern .modal-section p{color:#475569;font-size:14px;line-height:1.6;margin:0 0 12px}.manutenzione-automezzi-modern .modal-section p:last-child{margin-bottom:0}.manutenzione-automezzi-modern .modal-section ul{color:#475569;font-size:14px;margin:0;padding:0}.manutenzione-automezzi-modern .modal-section ul li{margin-bottom:8px}.manutenzione-automezzi-modern .modal-section ul li:last-child{margin-bottom:0}.manutenzione-automezzi-modern .modal-section strong{color:#1e293b;font-weight:600}.manutenzione-automezzi-modern .content-area{box-sizing:border-box;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:20px;width:100%}.manutenzione-automezzi-modern .controls-compact{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.manutenzione-automezzi-modern .controls-left,.manutenzione-automezzi-modern .controls-right{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.manutenzione-automezzi-modern .toggle-filters-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;padding:10px 18px;transition:all .2s;white-space:nowrap}.manutenzione-automezzi-modern .toggle-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1}.manutenzione-automezzi-modern .toggle-filters-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.manutenzione-automezzi-modern .toggle-filters-btn svg{transition:transform .3s ease}.manutenzione-automezzi-modern .toggle-filters-btn.active svg{transform:rotate(180deg)}.manutenzione-automezzi-modern .search-box{flex:1 1;max-width:400px;min-width:250px;position:relative}.manutenzione-automezzi-modern .search-box-filter{position:relative;width:100%}.manutenzione-automezzi-modern .search-icon{color:#94a3b8;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.manutenzione-automezzi-modern .search-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:13px;padding:10px 16px 10px 40px;transition:all .2s;width:100%}.manutenzione-automezzi-modern .search-input::placeholder{color:#94a3b8}.manutenzione-automezzi-modern .search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.manutenzione-automezzi-modern .view-toggle-compact{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:2px;padding:3px}.manutenzione-automezzi-modern .view-btn-compact{align-items:center;background:#0000;border:none;border-radius:5px;color:#64748b;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s}.manutenzione-automezzi-modern .view-btn-compact:hover{color:#3b82f6}.manutenzione-automezzi-modern .view-btn-compact.active{background:#fff;box-shadow:0 1px 2px #0000001a;color:#3b82f6}.manutenzione-automezzi-modern .view-btn-compact svg{height:16px;width:16px}.manutenzione-automezzi-modern .results-badge{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px}.manutenzione-automezzi-modern .results-badge svg{height:16px;width:16px}.manutenzione-automezzi-modern .filter-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:20px;padding:20px}.manutenzione-automezzi-modern .filter-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:16px}.manutenzione-automezzi-modern .filter-group{display:flex;flex-direction:column;gap:6px}.manutenzione-automezzi-modern .filter-group label{color:#475569;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.manutenzione-automezzi-modern .filter-select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:13px;padding:10px 12px;transition:all .2s}.manutenzione-automezzi-modern .filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.manutenzione-automezzi-modern .filter-actions{display:flex;gap:10px;justify-content:flex-end}.manutenzione-automezzi-modern .filter-reset-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s}.manutenzione-automezzi-modern .filter-reset-btn:hover{background:#f8fafc;border-color:#cbd5e1}.manutenzione-automezzi-modern .filter-reset-btn svg{height:16px;width:16px}.manutenzione-automezzi-modern .stats-grid-compact{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.manutenzione-automezzi-modern .stat-card-compact{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;display:flex;gap:12px;padding:14px;transition:all .2s}.manutenzione-automezzi-modern .stat-card-compact:hover{box-shadow:0 4px 8px #00000014;transform:translateY(-2px)}.manutenzione-automezzi-modern .stat-icon-compact{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.manutenzione-automezzi-modern .stat-primary .stat-icon-compact{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.manutenzione-automezzi-modern .stat-primary .stat-icon-compact svg{color:#3b82f6}.manutenzione-automezzi-modern .stat-success .stat-icon-compact{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.manutenzione-automezzi-modern .stat-success .stat-icon-compact svg{color:#10b981}.manutenzione-automezzi-modern .stat-warning .stat-icon-compact{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.manutenzione-automezzi-modern .stat-warning .stat-icon-compact svg{color:#f59e0b}.manutenzione-automezzi-modern .stat-danger .stat-icon-compact{background:linear-gradient(135deg,#fef2f2,#fee2e2)}.manutenzione-automezzi-modern .stat-danger .stat-icon-compact svg{color:#ef4444}.manutenzione-automezzi-modern .stat-content-compact{flex:1 1;min-width:0}.manutenzione-automezzi-modern .stat-label-compact{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.3px;margin:0 0 4px;text-transform:uppercase}.manutenzione-automezzi-modern .stat-value-compact{color:#0f172a;font-size:22px;font-weight:700;line-height:1;margin:0}.manutenzione-automezzi-modern .table-container-compact{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;margin-bottom:16px;overflow:hidden}.manutenzione-automezzi-modern .table-wrapper{overflow-x:auto}.manutenzione-automezzi-modern .data-table-compact{border-collapse:collapse;min-width:1000px;width:100%}.manutenzione-automezzi-modern .data-table-compact thead{background:#34495e;border-bottom:2px solid #2c3e50}.manutenzione-automezzi-modern .data-table-compact th{color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;padding:12px 14px;text-align:left;text-transform:uppercase;vertical-align:top;white-space:nowrap}.manutenzione-automezzi-modern .progress-bar-header{background:#fff3;border-radius:3px;height:6px;margin:6px 0 4px;overflow:hidden;width:100%}.manutenzione-automezzi-modern .progress-fill-header{background:linear-gradient(135deg,#10b981,#059669);border-radius:3px;height:100%;transition:width .3s ease}.manutenzione-automezzi-modern .progress-label-header{color:#ffffffe6;font-size:10px;font-weight:500}.manutenzione-automezzi-modern .data-table-compact tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .15s}.manutenzione-automezzi-modern .data-table-compact tbody tr:hover{background:#f8fafc}.manutenzione-automezzi-modern .data-table-compact tbody tr:last-child{border-bottom:none}.manutenzione-automezzi-modern .data-table-compact td{color:#1e293b;font-size:12px;padding:12px 14px;vertical-align:middle}.manutenzione-automezzi-modern .vehicle-info{align-items:center;display:flex;gap:10px}.manutenzione-automezzi-modern .vehicle-icon{flex-shrink:0;font-size:24px}.manutenzione-automezzi-modern .vehicle-targa{color:#0f172a;font-size:13px;font-weight:600}.manutenzione-automezzi-modern .vehicle-tipo{color:#64748b;font-size:11px}.manutenzione-automezzi-modern .maintenance-cell{align-items:center;border:1px solid;border-radius:6px;display:flex;font-size:11px;font-weight:600;gap:6px;padding:8px 12px}.manutenzione-automezzi-modern .maintenance-icon{font-size:14px}.manutenzione-automezzi-modern .maintenance-text{font-size:11px}.manutenzione-automezzi-modern .cards-grid-compact{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:16px}.manutenzione-automezzi-modern .data-card-compact{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden;transition:all .2s}.manutenzione-automezzi-modern .data-card-compact:hover{box-shadow:0 8px 16px #0000001f;transform:translateY(-3px)}.manutenzione-automezzi-modern .card-header-compact{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;gap:12px;padding:14px 16px}.manutenzione-automezzi-modern .vehicle-icon-large{font-size:32px}.manutenzione-automezzi-modern .card-title-info{flex:1 1}.manutenzione-automezzi-modern .card-title-compact{color:#0f172a;font-size:16px;font-weight:700;margin-bottom:2px}.manutenzione-automezzi-modern .card-subtitle-compact{color:#64748b;font-size:11px}.manutenzione-automezzi-modern .card-body-compact{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.manutenzione-automezzi-modern .card-row-maintenance{align-items:center;display:flex;justify-content:space-between}.manutenzione-automezzi-modern .card-label-bimestre{color:#475569;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.manutenzione-automezzi-modern .maintenance-badge{align-items:center;border:1px solid;border-radius:6px;display:flex;font-size:11px;font-weight:600;gap:6px;padding:6px 10px}.manutenzione-automezzi-modern .column-toggles{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:16px}.manutenzione-automezzi-modern .column-toggle-label{color:#475569;font-size:12px;font-weight:600;margin-right:8px}.manutenzione-automezzi-modern .column-toggle-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s}.manutenzione-automezzi-modern .column-toggle-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.manutenzione-automezzi-modern .column-toggle-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.manutenzione-automezzi-modern .column-toggle-btn svg{height:14px;width:14px}.manutenzione-automezzi-modern .loading-state{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.manutenzione-automezzi-modern .spinner-modern{animation:spin 1s linear infinite;border:3px solid #f1f5f9;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:16px;width:40px}.manutenzione-automezzi-modern .filter-select__control{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:none!important;font-size:13px!important;min-height:42px!important}.manutenzione-automezzi-modern .filter-select__control:hover{border-color:#cbd5e1!important}.manutenzione-automezzi-modern .filter-select__control--is-focused{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.manutenzione-automezzi-modern .filter-select__placeholder{color:#94a3b8!important;font-size:13px!important}.manutenzione-automezzi-modern .filter-select__menu{border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 6px -1px #0000001a!important}.manutenzione-automezzi-modern .filter-select__option{font-size:13px!important}.manutenzione-automezzi-modern .filter-select__option--is-focused{background:#f1f5f9!important}.manutenzione-automezzi-modern .filter-select__option--is-selected{background:#3b82f6!important}.manutenzione-automezzi-modern .filter-select__multi-value{background:#eff6ff!important;border-radius:4px!important}.manutenzione-automezzi-modern .filter-select__multi-value__label{color:#1e40af!important;font-size:12px!important}.manutenzione-automezzi-modern .filter-select__multi-value__remove:hover{background:#dbeafe!important;color:#1e40af!important}.manutenzione-automezzi-modern .loading-state p{color:#64748b;font-size:14px;font-weight:500;margin:0}.manutenzione-automezzi-modern .empty-state{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.manutenzione-automezzi-modern .empty-state svg{color:#cbd5e1;margin-bottom:16px}.manutenzione-automezzi-modern .empty-state p{color:#64748b;font-size:15px;font-weight:500;margin:0}@media (max-width:1400px){.manutenzione-automezzi-modern .stats-grid-compact{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.manutenzione-automezzi-modern .controls-compact{align-items:stretch;flex-direction:column}.manutenzione-automezzi-modern .controls-left,.manutenzione-automezzi-modern .controls-right{justify-content:space-between;width:100%}.manutenzione-automezzi-modern .search-box{max-width:100%}.manutenzione-automezzi-modern .filter-grid,.manutenzione-automezzi-modern .stats-grid-compact{grid-template-columns:1fr}}@media (max-width:768px){.manutenzione-automezzi-modern .page-header{padding:14px 16px}.manutenzione-automezzi-modern .header-title h2{font-size:24px!important}.manutenzione-automezzi-modern .header-subtitle{font-size:12px}.manutenzione-automezzi-modern .content-area{padding:16px}.manutenzione-automezzi-modern .cards-grid-compact{grid-template-columns:1fr}}@media (max-width:480px){.manutenzione-automezzi-modern .back-button span{display:none}.manutenzione-automezzi-modern .header-title h2{font-size:20px!important}.manutenzione-automezzi-modern .view-btn-compact span{display:none}}.gestione-utenti-container{background:linear-gradient(135deg,#f5f7fa,#e9edf4);display:flex;flex:1 1;flex-direction:column}.page-header{background:var(--surface,#fff);border-bottom:1px solid var(--border,#e2e8f0);box-shadow:0 2px 8px #00000014;padding:24px}.header-content{gap:20px;justify-content:space-between}.header-title h2{color:#1a202c;color:var(--text-primary,#1a202c);margin-bottom:6px}.header-subtitle{color:#718096;color:var(--text-secondary,#718096);font-size:15px;font-weight:500}.header-stats{display:flex;gap:10px}.stat-chip{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:20px;color:#718096;color:var(--text-secondary,#718096);display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px}.gestione-utenti-container .content-area{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:24px}.gestione-utenti-container .content-area::-webkit-scrollbar{width:8px}.gestione-utenti-container .content-area::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border,#e2e8f0);border-radius:4px}.section-block{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:16px;box-shadow:0 1px 3px #0000000f;padding:24px}.section-title-row{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border,#e2e8f0);display:flex;justify-content:space-between;margin-bottom:18px;padding-bottom:14px}.section-title-left{align-items:center;display:flex;gap:10px}.section-title-left h3{color:#1a202c;color:var(--text-primary,#1a202c);font-size:18px;font-weight:700}.section-badge{background:#ebf4ff;border-radius:10px;color:#2e6db1;color:var(--primary-blue,#2e6db1);font-size:12px;font-weight:700;padding:2px 10px}.roles-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.role-card{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:14px;display:flex;flex-direction:column;gap:12px;padding:18px;position:relative;transition:all .25s}.role-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.role-card-top{align-items:flex-start;display:flex;justify-content:space-between}.role-card-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.role-card-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.role-card:hover .role-card-actions{opacity:1}.role-action-btn{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#718096;color:var(--text-secondary,#718096);cursor:pointer;display:flex;height:30px;justify-content:center;transition:all .2s;width:30px}.role-action-btn:hover{background:#ebf4ff;border-color:#2e6db1;border-color:var(--primary-blue,#2e6db1);color:#2e6db1;color:var(--primary-blue,#2e6db1)}.role-action-delete:hover{background:#fff5f5;border-color:#e53e3e;color:#e53e3e}.role-card-body{flex:1 1}.role-card-name-row{align-items:center;display:flex;gap:8px;margin-bottom:4px}.role-card-name-row h4{color:#1a202c;color:var(--text-primary,#1a202c);font-size:15px;font-weight:700}.tag-system{background:#ebf4ff;border-radius:4px;color:#5a92d4;font-size:9px;font-weight:700;letter-spacing:.5px;padding:2px 7px;text-transform:uppercase}.role-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#718096;color:var(--text-secondary,#718096);display:-webkit-box;font-size:12px;line-height:1.4;overflow:hidden}.role-card-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);display:flex;gap:14px;padding-top:10px}.role-card-stat{align-items:center;color:#718096;color:var(--text-secondary,#718096);display:flex;font-size:12px;font-weight:600;gap:5px}.role-card-add{align-items:center;background:#0000;border:2px dashed #cbd5e0;border:2px dashed var(--border,#cbd5e0);cursor:pointer;justify-content:center;min-height:160px}.role-card-add:hover{background:#f7faff;border-color:#2e6db1;border-color:var(--primary-blue,#2e6db1)}.role-card-add-content{align-items:center;color:#718096;color:var(--text-secondary,#718096);display:flex;flex-direction:column;gap:10px;transition:color .2s}.role-card-add:hover .role-card-add-content{color:#2e6db1;color:var(--primary-blue,#2e6db1)}.role-card-add-icon{align-items:center;background:#f0f4f8;border-radius:14px;display:flex;height:50px;justify-content:center;transition:all .2s;width:50px}.role-card-add:hover .role-card-add-icon{background:#ebf4ff}.role-card-add-content span{font-size:14px;font-weight:600}.btn-add-user{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a202c;color:var(--text-primary,#1a202c);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.btn-add-user:hover{background:#f7faff;border-color:#2e6db1;border-color:var(--primary-blue,#2e6db1);color:#2e6db1;color:var(--primary-blue,#2e6db1)}.create-user-panel{animation:slideDown .25s ease-out;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:12px;margin-bottom:16px;padding:18px}.create-user-form{grid-gap:14px;align-items:end;display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr auto}.btn-create-user{align-items:center;background:linear-gradient(135deg,#2e6db1,#5a92d4);background:linear-gradient(135deg,var(--primary-blue,#2e6db1),var(--blue-light,#5a92d4));border:none;border-radius:8px;box-shadow:0 2px 8px #2e6db140;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;height:40px;padding:10px 22px;transition:all .2s;white-space:nowrap}.btn-create-user:hover:not(:disabled){box-shadow:0 4px 16px #2e6db159;transform:translateY(-1px)}.btn-create-user:disabled{cursor:not-allowed;opacity:.6}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper .form-input{padding-right:40px}.password-toggle{align-items:center;background:none;border:none;color:#718096;color:var(--text-secondary,#718096);cursor:pointer;display:flex;padding:4px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.password-toggle:hover{color:#2e6db1;color:var(--primary-blue,#2e6db1)}.user-list{display:flex;flex-direction:column;gap:8px}.user-item{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:12px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s}.user-item:hover{background:#f5f7fa;background:var(--background,#f5f7fa);box-shadow:0 2px 12px #0000000f}.user-item-left{align-items:center;display:flex;gap:12px}.user-item-avatar{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:38px;justify-content:center;width:38px}.user-item-info h4{color:#1a202c;color:var(--text-primary,#1a202c);font-size:14px;font-weight:600;margin-bottom:3px}.user-role-tag{border-radius:6px;display:inline-block;font-size:11px;font-weight:700;padding:2px 8px}.btn-change-role,.user-item-right{align-items:center;display:flex}.btn-change-role{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#718096;color:var(--text-secondary,#718096);cursor:pointer;font-size:12px;font-weight:600;gap:6px;padding:7px 14px;transition:all .2s}.btn-change-role:hover:not(:disabled){background:#ebf4ff;border-color:#2e6db1;border-color:var(--primary-blue,#2e6db1);color:#2e6db1;color:var(--primary-blue,#2e6db1)}.btn-change-role:disabled{cursor:not-allowed;opacity:.4}.btn-reset-password{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#718096;color:var(--text-secondary,#718096);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:7px 14px;transition:all .2s}.btn-reset-password:hover{background:#fff5f5;border-color:#e53e3e;color:#e53e3e}.form-field{display:flex;flex-direction:column;gap:5px}.form-label{color:#1a202c;color:var(--text-primary,#1a202c);font-size:12px;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.form-input,.form-select{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#1a202c;color:var(--text-primary,#1a202c);font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-input:focus,.form-select:focus{border-color:#2e6db1;border-color:var(--primary-blue,#2e6db1);box-shadow:0 0 0 3px #2e6db11a;outline:none}.form-input::placeholder{color:#718096;color:var(--text-secondary,#718096)}.modal-input{padding:10px 14px!important}.field-hint{color:#718096;color:var(--text-secondary,#718096);font-size:11px;font-weight:500}.loading-spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.message-alert{align-items:center;animation:fadeSlide .3s ease-out;border-radius:8px;display:flex;gap:8px;margin-top:12px;padding:10px 14px}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.message-alert.success{background:#48bb7814;border:1px solid #48bb784d;color:#2f855a}.message-alert.error{background:#f5656514;border:1px solid #f565654d;color:#c53030}.message-alert p{font-size:13px;font-weight:600}.empty-state{padding:40px}.empty-state p{color:#718096;color:var(--text-secondary,#718096)}.modal-overlay{background:#00000073;inset:0}.modal-content{animation:slideUp .3s ease-out;background:#fff;background:var(--surface,#fff);border-radius:16px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:85vh;max-width:600px;width:90%}.role-modal{max-width:700px}.modal-header{border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between}.modal-header h3{color:#1a202c;color:var(--text-primary,#1a202c);font-size:18px}.modal-close{color:#718096;color:var(--text-secondary,#718096)}.modal-close:hover{background:#f5f7fa;background:var(--background,#f5f7fa);color:#1a202c;color:var(--text-primary,#1a202c)}.modal-form-row{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.modal-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.btn-cancel{background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;color:#718096;color:var(--text-secondary,#718096);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-cancel:hover{background:#f5f7fa;background:var(--background,#f5f7fa);color:#1a202c;color:var(--text-primary,#1a202c)}.btn-submit{align-items:center;background:linear-gradient(135deg,#2e6db1,#5a92d4);background:linear-gradient(135deg,var(--primary-blue,#2e6db1),var(--blue-light,#5a92d4));border:none;border-radius:8px;box-shadow:0 2px 8px #2e6db140;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 22px;transition:all .2s}.btn-submit:hover:not(:disabled){box-shadow:0 4px 16px #2e6db159;transform:translateY(-1px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.permissions-picker{border-top:1px solid #e2e8f0;border-top:1px solid var(--border,#e2e8f0);padding-top:20px}.permissions-picker-title{color:#1a202c;color:var(--text-primary,#1a202c);font-size:16px;font-weight:700;margin-bottom:4px}.permissions-picker-subtitle{color:#718096;color:var(--text-secondary,#718096);font-size:13px;margin-bottom:16px}.permissions-locked-notice{align-items:flex-start;background:#f0f5ff;border:1px solid #bdd3f0;border-radius:8px;color:#2e6db1;display:flex;font-size:13px;gap:10px;line-height:1.5;padding:14px 16px}.permissions-locked-notice svg{flex-shrink:0;margin-top:2px}.permission-section{margin-bottom:16px}.permission-section-header{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:10px;display:flex;justify-content:space-between;margin-bottom:10px;padding:10px 14px}.permission-section-toggle{align-items:center;color:#1a202c;color:var(--text-primary,#1a202c);cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:10px}.permission-section-toggle input[type=checkbox]{display:none}.custom-checkbox{align-items:center;border:2px solid #cbd5e0;border:2px solid var(--border,#cbd5e0);border-radius:4px;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .2s;width:18px}input[type=checkbox]:checked+.custom-checkbox{background:#2e6db1;background:var(--primary-blue,#2e6db1);border-color:#2e6db1;border-color:var(--primary-blue,#2e6db1)}input[type=checkbox]:checked+.custom-checkbox:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:9px;margin-bottom:2px;transform:rotate(45deg);width:5px}input[type=checkbox]:indeterminate+.custom-checkbox{background:#2e6db1;background:var(--primary-blue,#2e6db1);border-color:#2e6db1;border-color:var(--primary-blue,#2e6db1)}input[type=checkbox]:indeterminate+.custom-checkbox:after{background:#fff;content:"";height:2px;width:8px}.permission-section-name{text-transform:capitalize}.permission-section-count{color:#718096;color:var(--text-secondary,#718096);font-size:12px;font-weight:600}.permission-cards-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:0 4px}.permission-card{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid #e2e8f0;border:1px solid var(--border,#e2e8f0);border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:all .2s}.permission-card:hover{background:#f7faff}.permission-card.selected,.permission-card:hover{border-color:#2e6db1;border-color:var(--primary-blue,#2e6db1)}.permission-card.selected{background:linear-gradient(135deg,#ebf4ff,#f0f7ff)}.permission-card input[type=checkbox]{display:none}.permission-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}.permission-card-title{color:#1a202c;color:var(--text-primary,#1a202c);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permission-card-badge{border-radius:10px;color:#fff;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.5px;line-height:1.2;padding:2px 5px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}@media (max-width:768px){.create-user-form{grid-template-columns:1fr}.roles-grid{grid-template-columns:1fr 1fr}.header-stats{display:none}.permission-cards-grid{grid-template-columns:1fr}}@media (max-width:480px){.roles-grid{grid-template-columns:1fr}}.alert-campane-container{background:linear-gradient(135deg,#f5f7fa,#e9edf4);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.alert-campane-container .page-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;min-height:80px;padding:16px 20px}.alert-campane-container .header-content{align-items:center;display:flex;gap:16px;min-height:48px;width:100%}.alert-campane-container .back-button{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.alert-campane-container .back-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.alert-campane-container .back-button svg{height:16px;width:16px}.alert-campane-container .header-title{flex:1 1;min-width:0}.alert-campane-container .header-title-row{align-items:center;display:flex;gap:12px;margin-bottom:4px}.alert-campane-container .header-title h2{color:#0f172a;font-size:32px!important;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0}.alert-campane-container .header-subtitle{color:#64748b;font-size:13px;line-height:1.4;margin:0}.alert-campane-container .info-button-modern{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s ease;width:28px}.alert-campane-container .info-button-modern:hover{box-shadow:0 4px 12px #3b82f666;transform:scale(1.1)}.alert-campane-container .info-icon-text{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:700}.alert-campane-container .content-area{flex:1 1;overflow-y:auto;padding:20px}.alert-campane-container .content-area::-webkit-scrollbar{width:8px}.alert-campane-container .content-area::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.stat-card-compact{box-shadow:0 1px 2px #0000000d}.stat-card-compact:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-card-compact.stat-primary .stat-icon-compact{background:linear-gradient(135deg,#3b82f61a,#2563eb0d);color:#3b82f6}.stat-card-compact.stat-success .stat-icon-compact{background:linear-gradient(135deg,#10b9811a,#0596690d);color:#10b981}.stat-card-compact.stat-danger .stat-icon-compact{background:linear-gradient(135deg,#ef44441a,#dc26260d);color:#ef4444}.stat-card-compact.stat-warning .stat-icon-compact{background:linear-gradient(135deg,#f59e0b1a,#d977060d);color:#f59e0b}.stat-label-compact{font-size:11px;letter-spacing:.5px;margin:0 0 4px}.stat-value-compact{font-size:22px}.top-controls{gap:16px;margin-bottom:20px}.controls-left{flex:1 1;gap:12px;min-width:300px}.controls-right{gap:12px}.search-bar-compact{flex:1 1;position:relative}.search-bar-compact svg{left:12px;pointer-events:none;position:absolute}.search-bar-compact input{border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:14px;padding:10px 12px 10px 38px;transition:all .2s;width:100%}.search-bar-compact input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.view-toggle-compact{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;padding:4px}.view-btn-compact{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px;transition:all .2s}.view-btn-compact:hover{background:#f8fafc;color:#475569}.view-btn-compact.active{background:#3b82f6;color:#fff}.view-btn-compact svg{height:16px;width:16px}.filters-panel{animation:slideDown .3s ease-out}.filters-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));width:100%}.filter-item{gap:8px}.filter-item label{color:#64748b}.filter-item input,.filter-item select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:13px;padding:8px 12px;transition:all .2s}.filter-item input:focus,.filter-item select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-item input::placeholder{color:#94a3b8}.spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:50px;margin:60px auto;width:50px}.comuni-list{display:flex;flex-direction:column;gap:16px}.comune-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden;transition:all .2s}.comune-card:hover{box-shadow:0 4px 12px #00000014}.comune-header{align-items:center;background:linear-gradient(135deg,#fafbfc,#f8fafc);border-bottom:1px solid #e2e8f0;cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;transition:all .2s}.comune-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.comune-info h3{color:#0f172a;font-size:20px;font-weight:700;margin:0 0 10px}.comune-stats{display:flex;flex-wrap:wrap;gap:20px}.stat-item{color:#64748b;display:flex;font-size:13px;font-weight:500;gap:6px}.stat-item svg{color:#94a3b8}.stat-item.alert-badge-header{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#ef444426,#dc26261a);border:1.5px solid #dc26264d;border-radius:20px;box-shadow:0 2px 8px #dc262633;color:#dc2626;font-weight:700;padding:6px 12px}.stat-item.alert-badge-header svg{color:#dc2626}.expand-icon{color:#94a3b8;transition:transform .3s}.expand-icon.expanded{transform:rotate(180deg)}.campane-table-container{overflow-x:auto;padding:0}.campane-table{border-collapse:collapse;width:100%}.campane-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.campane-table th{color:#475569;font-size:12px;font-weight:700;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.campane-table th.numeric-cell{text-align:right}.campane-table th.center-cell{text-align:center}.campane-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .2s}.campane-table tbody tr:hover{background:#fafbfc}.campane-table tbody tr.alert-row{background:linear-gradient(135deg,#ef444414,#dc26260a);border-left:3px solid #ef4444}.campane-table tbody tr.alert-row:hover{background:linear-gradient(135deg,#ef44441f,#dc26260f)}.campane-table td{color:#1e293b;font-size:13px;padding:16px}.campane-table td.numeric-cell{text-align:right}.campane-table td.center-cell{text-align:center}.campane-table td code{background:#f1f5f9;border-radius:4px;color:#475569;font-family:Courier New,monospace;font-size:12px;padding:4px 8px}.percentage-badge{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1e40af}.percentage-badge,.scadenza-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.scadenza-badge{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#15803d}.scadenza-badge.vicina{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px}.status-badge.ok{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-badge.alert{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.btn-storico{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s}.btn-storico:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6;box-shadow:0 4px 8px #3b82f64d;color:#fff;transform:translateY(-1px)}.modal-overlay{animation:fadeIn .2s;background:#00000080;z-index:1000}.modal-container{animation:slideUp .3s ease-out;max-height:80vh;width:90%}.modal-header{background:linear-gradient(135deg,#fafbfc,#f8fafc);border-bottom:1px solid #e2e8f0;gap:16px;padding:24px}.modal-icon{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#3b82f6}.modal-header h3{color:#0f172a}.modal-close{background:none;border-radius:6px;color:#94a3b8;padding:4px}.modal-close:hover{background:#f1f5f9;color:#475569}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-section h4{font-size:15px}.modal-section p{font-size:13px;line-height:1.6}.modal-section p:last-child{margin-bottom:0}.modal-section ul{margin:0;padding:0}.modal-section ul li{color:#475569;font-size:13px;line-height:1.8;padding-left:20px;position:relative}.modal-section ul li:before{color:#3b82f6;content:"•";font-weight:700;left:6px;position:absolute}.modal-tip{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-left:3px solid #f59e0b;border-radius:8px;color:#78350f;font-size:13px;margin-top:16px;padding:12px 16px}.modal-overlay-dettaglio{align-items:center;animation:fadeIn .2s;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-container-dettaglio{animation:slideUp .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000040;display:flex;flex-direction:column;max-height:80vh;max-width:1000px;overflow:hidden;width:90%}.modal-header-dettaglio{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #e2e8f0;display:flex;gap:20px;padding:28px 32px}.modal-icon-dettaglio{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:14px;box-shadow:0 4px 12px #3b82f64d;color:#fff;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.modal-header-dettaglio h3{color:#0f172a;font-size:22px;font-weight:700;margin:0 0 4px}.modal-subtitle-dettaglio{color:#64748b;font-size:14px;font-weight:500;margin:0}.modal-close-dettaglio{align-items:center;background:#fff;border:2px solid #64748b;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#1e293b;cursor:pointer;display:flex;justify-content:center;margin-left:auto;padding:8px;transition:all .2s}.modal-close-dettaglio svg{stroke:#1e293b;stroke-width:2.5}.modal-close-dettaglio:hover{background:#ef4444;border-color:#dc2626;box-shadow:0 4px 8px #ef44444d;color:#fff;transform:scale(1.05)}.modal-close-dettaglio:hover svg{stroke:#fff}.modal-body-dettaglio{flex:1 1;overflow-y:auto;padding:0 32px 24px}.modal-body-dettaglio::-webkit-scrollbar{width:8px}.modal-body-dettaglio::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.dettaglio-table{border-collapse:collapse;width:100%}.dettaglio-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.dettaglio-table th{color:#475569;font-size:13px;font-weight:700;letter-spacing:.5px;padding:16px 18px;text-align:left;text-transform:uppercase}.dettaglio-table th.numeric-cell{text-align:right}.dettaglio-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .2s}.dettaglio-table tbody tr:hover{background:#fafbfc}.dettaglio-table tbody tr:last-child{border-bottom:none}.dettaglio-table td{color:#1e293b;font-size:14px;padding:16px 18px}.dettaglio-table td.numeric-cell{text-align:right}.cards-grid-campane{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.comune-card-view{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:20px;padding:24px;transition:all .2s}.comune-card-view:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-header-campane{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;justify-content:space-between;padding-bottom:16px}.card-header-campane h3{color:#0f172a;flex:1 1;font-size:20px;font-weight:700;margin:0}.alert-badge-card{align-items:center;background:linear-gradient(135deg,#ef444426,#dc26261a);border:1.5px solid #dc26264d;border-radius:20px;color:#dc2626;display:inline-flex;font-size:12px;font-weight:700;padding:6px 12px;white-space:nowrap}.card-stats-campane{display:flex;flex-direction:column;gap:12px}.stat-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;padding:10px 14px}.stat-row .stat-label{color:#64748b;font-size:13px;font-weight:500}.stat-row .stat-value-card{color:#0f172a;font-size:18px;font-weight:700}.stat-row .stat-value-card.alert-text{color:#dc2626}.card-campane-list{display:flex;flex-direction:column;gap:10px}.mini-campana{align-items:center;background:#fafbfc;border:1px solid #f1f5f9;border-radius:8px;display:flex;justify-content:space-between;padding:12px;transition:all .2s}.mini-campana:hover{background:#f1f5f9;border-color:#e2e8f0}.mini-campana.alert{background:linear-gradient(135deg,#ef44440d,#dc262605);border-color:#ef444433}.mini-campana-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.mini-campana-info strong{color:#1e293b;font-size:13px;font-weight:600}.mini-tag{color:#64748b;font-family:Courier New,monospace;font-size:11px}.alert-icon-mini{color:#dc2626;flex-shrink:0}.more-campane{background:#f8fafc;border-radius:6px;color:#64748b;font-size:12px;font-weight:500;padding:10px;text-align:center}.btn-view-details{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-top:auto;padding:12px 20px;transition:all .2s}.btn-view-details:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.btn-view-details svg{transition:transform .2s}.btn-view-details:hover svg{transform:translateX(3px)}@media (max-width:1200px){.stats-grid-compact{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.stats-grid-compact{grid-template-columns:1fr}.top-controls{align-items:stretch;flex-direction:column}.controls-left{flex-direction:column;min-width:auto}.comune-stats{flex-direction:column;gap:8px}.campane-table-container{overflow-x:scroll}.campane-table{min-width:800px}.cards-grid-campane{grid-template-columns:1fr}.modal-container,.modal-container-dettaglio{max-width:95%}}.kg-teorici-container{background:linear-gradient(135deg,#f5f7fa,#e9edf4);display:flex;flex:1 1;flex-direction:column;overflow:hidden}.kg-teorici-container .page-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;min-height:80px;padding:16px 20px}.kg-teorici-container .header-content{align-items:center;display:flex;gap:16px;min-height:48px;width:100%}.kg-teorici-container .back-button{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.kg-teorici-container .back-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.kg-teorici-container .back-button svg{height:16px;width:16px}.kg-teorici-container .header-title{flex:1 1;min-width:0}.kg-teorici-container .header-title-row{align-items:center;display:flex;gap:12px;margin-bottom:4px}.kg-teorici-container .info-button-modern{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s ease;width:28px}.kg-teorici-container .info-button-modern:hover{box-shadow:0 4px 12px #3b82f666;transform:scale(1.1)}.kg-teorici-container .info-icon-text{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:700}.kg-teorici-container .header-title h2{color:#0f172a;font-size:32px!important;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0}.kg-teorici-container .header-subtitle{color:#64748b;font-size:13px;margin:4px 0 0}.kg-teorici-container .content-area{flex:1 1;overflow-y:auto;padding:20px}.kg-teorici-top-controls{align-items:center;display:flex;margin-bottom:16px}.kg-teorici-filters{align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:16px 20px}.kg-teorici-filters-grid{align-items:flex-end;display:flex;flex:1 1;flex-wrap:wrap;gap:12px}.kg-teorici-filter-item{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:150px}.kg-teorici-filter-item label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.kg-teorici-filter-item input,.kg-teorici-filter-item select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:13px;padding:8px 12px;transition:all .2s ease}.kg-teorici-filter-item input:focus,.kg-teorici-filter-item select:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.kg-teorici-select__control{background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:none!important;font-size:13px;min-height:36px!important}.kg-teorici-select__control--is-focused{background:#fff!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.kg-teorici-select__placeholder{color:#94a3b8!important;font-size:13px}.kg-teorici-select__option{font-size:13px!important}.kg-teorici-select__option--is-focused{background:#eff6ff!important}.kg-teorici-select__option--is-selected{background:#3b82f6!important}.kg-teorici-select__multi-value{background:#eff6ff!important;border-radius:4px!important}.kg-teorici-select__multi-value__label{color:#1e40af!important;font-size:12px!important}.kg-teorici-select__multi-value__remove:hover{background:#dbeafe!important;color:#1e40af!important}.kg-teorici-select-more-badge{align-items:center;background:#3b82f6;border-radius:4px;color:#fff;display:inline-flex;font-size:11px;font-weight:600;justify-content:center;margin:2px;padding:2px 6px}.kg-teorici-filters-actions{display:flex;flex-shrink:0;gap:8px}.kg-teorici-btn-apply{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px;transition:all .2s ease}.kg-teorici-btn-apply:hover{background:#2563eb}.kg-teorici-btn-reset{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:500;padding:8px 20px;transition:all .2s ease}.kg-teorici-btn-reset:hover{background:#f1f5f9;border-color:#cbd5e1}.kg-teorici-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.kg-teorici-stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-left-width:4px;border-radius:12px;display:flex;gap:14px;padding:16px 20px;transition:all .2s ease}.kg-teorici-stat-card:first-child{border-left-color:#3b81f5}.kg-teorici-stat-card:nth-child(2){border-left-color:#11b981}.kg-teorici-stat-card:nth-child(3){border-left-color:#f59e0b}.kg-teorici-stat-card:nth-child(4){border-left-color:#8b5cf6}.kg-teorici-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.kg-teorici-stat-icon.blue{background:#eff6ff;color:#3b81f5}.kg-teorici-stat-icon.green{background:#ecfdf5;color:#11b981}.kg-teorici-stat-icon.amber{background:#fffbeb;color:#f59e0b}.kg-teorici-stat-icon.purple{background:#f5f3ff;color:#8b5cf6}.kg-teorici-stat-content{flex:1 1;min-width:0}.kg-teorici-stat-value{color:#0f172a;font-size:24px;font-weight:700;line-height:1.2;margin:0}.kg-teorici-stat-label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;margin:4px 0 0;text-transform:uppercase}.kg-teorici-chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:20px}.kg-teorici-chart-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.kg-teorici-chart-controls{align-items:flex-end;display:flex;gap:16px}.kg-teorici-confronto-anni{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;gap:6px;min-width:180px}.kg-teorici-chart-title{color:#0f172a;font-size:16px;font-weight:700;margin:0}.kg-teorici-aggregazione{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.kg-teorici-aggregazione-label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;text-align:center;text-transform:uppercase}.kg-teorici-aggregazione-toggle{background:#f1f5f9;border-radius:8px;display:flex;gap:2px;padding:3px}.kg-teorici-agg-btn{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .2s ease}.kg-teorici-agg-btn:hover{color:#334155}.kg-teorici-agg-btn.active{background:#3b82f6;box-shadow:0 1px 3px #3b82f64d;color:#fff}.kg-teorici-table-overlay{align-items:center;background:#ffffffd9;border-radius:12px;display:flex;inset:0;justify-content:center;position:absolute;z-index:10}.kg-teorici-table-toggles{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:15px;padding:16px 20px 0}.kg-teorici-table-toggles>.kg-teorici-btn-apply+.kg-teorici-aggregazione{margin-left:auto}.kg-teorici-extra-btn{align-self:flex-end;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .2s ease;white-space:nowrap}.kg-teorici-extra-btn:hover{border-color:#cbd5e1;color:#64748b}.kg-teorici-extra-btn.active{background:#3c82f6;color:#fff}.kg-teorici-table-date-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;padding:16px 20px 0}.kg-teorici-table-date-item{display:flex;flex-direction:column;gap:4px}.kg-teorici-table-date-item label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.kg-teorici-table-date-item input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:13px;padding:8px 12px;transition:all .2s ease}.kg-teorici-table-date-item input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.kg-teorici-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px}.kg-teorici-table-wrapper{overflow-x:auto}.kg-teorici-table{border-collapse:collapse;font-size:13px;width:100%}.kg-teorici-table thead th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.kg-teorici-table tbody td{border-bottom:1px solid #f1f5f9;color:#1e293b;padding:10px 16px;white-space:nowrap}.kg-teorici-table tbody tr:hover{background:#f8fafc}.kg-teorici-table-empty{color:#94a3b8;font-style:italic;padding:40px 16px!important;text-align:center}.kg-teorici-badge{background:#eff6ff;border-radius:6px;color:#2563eb;display:inline-block;font-size:12px;font-weight:600;padding:3px 10px}.kg-teorici-table-kg{font-weight:700;text-align:right}.kg-teorici-pagination{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:26px;justify-content:center;padding:14px 20px}.kg-teorici-page-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.kg-teorici-page-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.kg-teorici-page-btn:disabled{cursor:not-allowed;opacity:.4}.kg-teorici-page-info{align-items:center;color:#475569;display:flex;flex-direction:column;font-size:13px;gap:2px}.kg-teorici-page-summary{color:#94a3b8;font-size:11px}.items-per-page-kg{align-items:center;display:flex;gap:8px;margin-left:8px}.items-label-kg{color:#64748b;font-size:11px;font-weight:500}.items-buttons-kg{display:flex;gap:4px}.items-btn-kg{background:#fff;border:1px solid #e2e8f0;border-radius:5px;color:#64748b;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .2s}.items-btn-kg:hover{background:#f8fafc;border-color:#2e6db1;color:#2e6db1}.items-btn-kg.active{background:linear-gradient(135deg,#2e6db1,#3b82f6);border-color:#2e6db1;color:#fff}.pianificazione-abiti-container{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.page-header-abiti{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;min-height:80px;padding:16px 20px}.header-content-abiti{align-items:center;display:flex;gap:16px;min-height:48px;width:100%}.back-button-abiti{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:7px 12px;transition:all .2s}.back-button-abiti:hover{background:#f8fafc;border-color:#2e6db1;color:#2e6db1}.header-title-abiti{flex:1 1}.header-title-row-abiti{align-items:center;display:flex;gap:10px}.header-title-abiti h2{color:#0f172a;font-size:32px!important;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0 0 6px}.info-button-abiti{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);border:none;border-radius:50%;box-shadow:0 2px 8px #2e6db140;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.info-button-abiti:hover{box-shadow:0 4px 16px #2e6db166;transform:scale(1.1) rotate(5deg)}.info-icon-text-abiti{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:700;line-height:1}.header-subtitle-abiti{color:#64748b;font-size:12px;margin:0}.modal-overlay-abiti{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.modal-container-abiti{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:100%}.modal-header-abiti{align-items:center;background:linear-gradient(135deg,#fafbfc,#f8fafc);border-bottom:1px solid #e2e8f0;display:flex;gap:16px;padding:24px}.modal-icon-abiti{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.modal-header-abiti h3{color:#0f172a;flex:1 1;font-size:20px;font-weight:700;margin:0}.modal-close-abiti{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s;width:36px}.modal-close-abiti:hover{background:#e2e8f0;color:#0f172a;transform:rotate(90deg)}.modal-body-abiti{flex:1 1;overflow-y:auto;padding:24px}.modal-section-abiti{margin-bottom:24px}.modal-section-abiti:last-child{margin-bottom:0}.modal-section-abiti h4{align-items:center;color:#0f172a;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 12px}.modal-section-abiti h4:before{background:linear-gradient(135deg,#2e6db1,#3b82f6);border-radius:2px;content:"";height:20px;width:4px}.modal-section-abiti p{color:#475569;font-size:14px;line-height:1.7;margin:0 0 12px}.modal-section-abiti strong{color:#2e6db1;font-weight:600}.content-area-abiti{box-sizing:border-box;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:16px 20px;width:100%}.stats-grid-abiti{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.stat-card-abiti{align-items:center;background:#fff;border:1px solid #0000;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;gap:14px;padding:16px;transition:all .2s}.stat-card-abiti:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.stat-icon-abiti{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.stat-primary-abiti .stat-icon-abiti{background:linear-gradient(135deg,#2e6db1,#3b82f6);color:#fff}.stat-success-abiti .stat-icon-abiti{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.stat-warning-abiti .stat-icon-abiti{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.stat-info-abiti .stat-icon-abiti{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff}.stat-content-abiti{flex:1 1}.stat-label-abiti{color:#64748b;font-size:12px;font-weight:500;margin:0 0 4px}.stat-value-abiti{color:#0f172a;font-size:24px;font-weight:700;margin:0}.stat-range-abiti{color:#64748b;font-size:12px;font-weight:500;margin-left:4px}.top-controls-abiti{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.controls-left-abiti,.controls-right-abiti{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.toggle-filters-btn-abiti{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;padding:10px 18px;transition:all .2s;white-space:nowrap}.toggle-filters-btn-abiti:hover{background:#f8fafc;border-color:#cbd5e1}.toggle-filters-btn-abiti.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.toggle-filters-btn-abiti svg{transition:transform .3s ease}.toggle-filters-btn-abiti.active svg{transform:rotate(180deg)}.search-bar-abiti{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:8px;min-width:280px;padding:10px 14px;transition:all .2s}.search-bar-abiti:focus-within{border-color:#2e6db1;box-shadow:0 0 0 3px #2e6db11a}.search-bar-abiti svg{color:#94a3b8;flex-shrink:0}.search-bar-abiti input{background:#0000;border:none;color:#0f172a;flex:1 1;font-size:14px;outline:none}.search-bar-abiti input::placeholder{color:#94a3b8}.results-badge-abiti{align-items:center;background:#f1f5f9;border-radius:8px;color:#475569;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px}.results-badge-abiti svg{color:#64748b}.filters-panel-abiti{animation:expandDown .3s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:16px;padding:20px}.filters-form-abiti{width:100%}.filters-grid-abiti{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-item-abiti{display:flex;flex-direction:column;gap:8px}.filter-item-abiti label{color:#475569;font-size:13px;font-weight:600}.filter-item-abiti input,.filter-item-abiti select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#0f172a;font-size:14px;padding:10px 12px;transition:all .2s}.filter-item-abiti input:focus,.filter-item-abiti select:focus{border-color:#2e6db1;box-shadow:0 0 0 3px #2e6db11a;outline:none}.filter-item-abiti input::placeholder{color:#94a3b8}.filter-actions-abiti{display:flex;flex-direction:column}.filter-buttons-abiti{display:flex;gap:8px}.btn-apply-abiti,.btn-reset-abiti{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.btn-apply-abiti{background:linear-gradient(135deg,#2e6db1,#3b82f6);color:#fff}.btn-apply-abiti:hover{box-shadow:0 4px 12px #2e6db14d;transform:translateY(-1px)}.btn-reset-abiti{background:#f1f5f9;color:#64748b}.btn-reset-abiti:hover{background:#e2e8f0;color:#475569}.loading-container-abiti{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 0}.spinner-abiti{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#2e6db1;height:48px;width:48px}.loading-container-abiti p{color:#64748b;font-size:14px;margin:0}.percorso-card-abiti{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:16px;overflow:hidden;transition:all .2s}.percorso-card-abiti:hover{box-shadow:0 4px 12px #0000001f}.percorso-header-abiti{cursor:pointer;padding:16px 20px;transition:background .2s;-webkit-user-select:none;user-select:none}.percorso-header-abiti:hover{background:#f8fafc}.percorso-title-abiti{align-items:center;display:flex;justify-content:space-between}.percorso-title-abiti h3{color:#0f172a;font-size:18px;font-weight:600;margin:0}.badge-campane-percorso-abiti{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);border-radius:12px;color:#fff;display:inline-flex;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.expand-button-abiti{align-items:center;background:#f1f5f9;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .3s;width:32px}.expand-button-abiti:hover{background:#e2e8f0}.expand-button-abiti.expanded{background:#2e6db1;color:#fff;transform:rotate(180deg)}.settimane-summary-abiti{display:flex;gap:8px;overflow-x:auto;padding:0 20px 16px;scrollbar-width:thin}.settimana-badge-abiti{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:help;flex:0 0 auto;min-width:80px;padding:8px;position:relative;text-align:center;transition:all .2s}.settimana-badge-abiti:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.tooltip-week-abiti{animation:tooltipFadeIn .2s ease-out;background:#0f172a;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:12px;font-weight:500;padding:8px 12px;pointer-events:none;white-space:nowrap}.settimana-label-abiti{color:#64748b;font-size:11px;font-weight:600;margin-bottom:4px}.settimana-stats-abiti{align-items:center;display:flex;gap:4px;justify-content:center;margin-bottom:6px;min-height:28px}.badge-total-abiti{color:#0f172a;font-size:16px;font-weight:700}.badge-alert-abiti{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;font-weight:700;padding:2px 8px}.badge-success-abiti{color:#10b981;font-size:14px;font-weight:700}.progress-bar-mini-abiti{background:#e2e8f0;border-radius:2px;height:4px;overflow:hidden;width:100%}.progress-fill-mini-abiti{background:linear-gradient(90deg,#10b981,#34d399);height:100%;transition:width .3s ease}.dettaglio-campane-abiti{animation:expandDown .3s ease-out;background:#f8fafc;border-top:1px solid #e2e8f0;padding:16px}@keyframes expandDown{0%{max-height:0;opacity:0}to{max-height:1000px;opacity:1}}.table-wrapper-abiti{border-radius:8px;box-shadow:0 1px 3px #00000014;overflow-x:auto}.campane-table-abiti{background:#fff;border-collapse:initial;border-spacing:0;font-size:13px;width:100%}.campane-table-abiti thead tr{background:linear-gradient(135deg,#2e6db1,#3b82f6);color:#fff}.campane-table-abiti th{border-bottom:2px solid #e2e8f0;font-size:12px;font-weight:600;padding:12px 10px;text-align:center;white-space:nowrap}.campane-table-abiti th.sticky-col-abiti{background:linear-gradient(135deg,#2e6db1,#3b82f6);left:0;min-width:200px;position:-webkit-sticky;position:sticky;text-align:left;z-index:10}.campane-table-abiti tbody tr{transition:background .2s}.campane-table-abiti tbody tr:hover{background:#f8fafc}.campane-table-abiti tbody tr:nth-child(2n){background:#f9fafb}.campane-table-abiti td{border-bottom:1px solid #e2e8f0;padding:10px;text-align:center}.campane-table-abiti td.sticky-col-abiti{background:#fff;border-right:2px solid #e2e8f0;color:#0f172a;font-weight:500;left:0;position:-webkit-sticky;position:sticky;text-align:left;z-index:5}.campane-table-abiti tbody tr:nth-child(2n) td.sticky-col-abiti{background:#f9fafb}.campane-table-abiti tbody tr:hover td.sticky-col-abiti{background:#f8fafc}.settimana-col-abiti{font-size:11px;line-height:1.3;min-width:180px}.campana-name-abiti{font-size:13px}.settimana-cell-abiti{vertical-align:middle}.cell-svuotato-abiti{align-items:center;display:flex;flex-direction:column;gap:4px}.icon-success-abiti{color:#10b981;font-size:18px;font-weight:700}.data-text-abiti{color:#64748b;font-size:11px;white-space:nowrap}.cell-non-svuotato-abiti{align-items:center;display:flex;justify-content:center}.icon-warning-abiti{color:#dc2626;font-size:18px;font-weight:700}.cell-empty-abiti{color:#cbd5e1;font-size:14px}.empty-state-abiti{align-items:center;color:#94a3b8;display:flex;flex-direction:column;justify-content:center;padding:60px 0}.empty-state-abiti svg{margin-bottom:16px;opacity:.5}.empty-state-abiti h3{color:#64748b;font-size:18px;font-weight:600;margin:0 0 8px}.empty-state-abiti p{color:#94a3b8;font-size:14px;margin:0}@media (max-width:768px){.content-area-abiti{padding:12px 16px}.stats-grid-abiti{grid-template-columns:repeat(2,1fr)}.header-title-abiti h2{font-size:24px!important}.top-controls-abiti{align-items:stretch;flex-direction:column}.controls-left-abiti,.controls-right-abiti{width:100%}.search-bar-abiti{min-width:auto;width:100%}.results-badge-abiti{justify-content:center}.filters-grid-abiti{grid-template-columns:1fr}.settimane-summary-abiti{padding:0 16px 12px}.settimana-badge-abiti{min-width:70px}.campane-table-abiti td,.campane-table-abiti th{font-size:12px;padding:8px 6px}.data-text-abiti{font-size:10px}}.hera-page{background:linear-gradient(135deg,#f5f7fa,#e9edf4);display:flex;flex:1 1;flex-direction:column;min-height:100vh}.hera-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;padding:20px 24px}.hera-header-content{align-items:center;display:flex;gap:16px;min-height:48px;width:100%}.hera-back-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.hera-back-btn:hover{background:#f8fafc;border-color:#2e6db1;color:#2e6db1}.hera-header-title{flex:1 1}.hera-title-row{align-items:center;display:flex;gap:12px;margin-bottom:4px}.hera-header-title h1{color:#0f172a;font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0}.hera-info-btn{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);border:none;border-radius:50%;box-shadow:0 2px 6px #2e6db140;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.hera-info-btn:hover{box-shadow:0 4px 12px #2e6db159;transform:scale(1.1)}.hera-info-btn span{color:#fff;font-family:Georgia,serif;font-size:14px;font-style:italic;font-weight:700}.hera-subtitle{color:#64748b;font-size:14px;margin:0}.hera-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.hera-modal{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040;max-height:80vh;max-width:560px;overflow:hidden;width:100%}.hera-modal-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;gap:14px;padding:20px 24px}.hera-modal-icon{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.hera-modal-header h3{color:#0f172a;flex:1 1;font-size:18px;font-weight:600;margin:0}.hera-modal-close{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.hera-modal-close:hover{background:#e2e8f0;color:#0f172a}.hera-modal-body{overflow-y:auto;padding:24px}.hera-modal-section{margin-bottom:20px}.hera-modal-section:last-child{margin-bottom:0}.hera-modal-section h4{border-left:3px solid #2e6db1;color:#0f172a;font-size:15px;font-weight:600;margin:0 0 10px;padding-left:12px}.hera-modal-section p{color:#475569;font-size:14px;line-height:1.6;margin:0}.hera-modal-section ul{margin:10px 0 0 20px;padding:0}.hera-modal-section li{color:#475569;font-size:14px;line-height:1.8}.hera-modal-section strong{color:#2e6db1}.hera-main{box-sizing:border-box;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:16px 20px;width:100%}.hera-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.hera-action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:10px;padding:10px 18px;transition:all .2s ease}.hera-action-btn:hover{background:#f8fafc;border-color:#cbd5e1}.hera-action-btn.active{background:#eff6ff;border-color:#3b82f6;color:#2563eb}.hera-action-btn svg{transition:transform .2s ease}.hera-action-btn.active svg{transform:rotate(180deg)}.hera-panel{animation:slideDown .3s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:16px;padding:20px}.hera-filters-grid{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.hera-filter-item{display:flex;flex-direction:column;gap:6px;min-width:150px}.hera-filter-item label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.hera-filter-item input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.hera-filter-item input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.hera-filter-wide{flex:1 1;max-width:350px;min-width:220px}.hera-filter-actions{align-items:flex-end;display:flex;gap:10px;margin-left:auto}.hera-btn-primary,.hera-btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s ease}.hera-btn-primary{background:linear-gradient(135deg,#2e6db1,#3b82f6);box-shadow:0 2px 6px #2e6db140;color:#fff}.hera-btn-primary:hover{box-shadow:0 4px 12px #2e6db159;transform:translateY(-1px)}.hera-btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.hera-btn-secondary:hover{background:#e2e8f0;color:#1e293b}.hera-select__control{border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:none!important;min-height:42px!important}.hera-select__control:hover{border-color:#cbd5e1!important}.hera-select__control--is-focused{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.hera-select__multi-value{background:#eff6ff!important;border-radius:6px!important}.hera-select__multi-value__label{color:#2563eb!important;font-size:13px!important}.hera-select__multi-value__remove:hover{background:#dbeafe!important;color:#1d4ed8!important}.hera-select__menu{z-index:9999!important}.hera-upload-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.hera-upload-card{background:#fafbfc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;padding:20px;position:relative;transition:all .2s ease}.hera-upload-card:before{background:linear-gradient(90deg,#2e6db1,#3b82f6);content:"";height:3px;left:0;position:absolute;top:0;transform:scaleX(0);transition:transform .3s ease;width:100%}.hera-upload-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.hera-upload-card:hover:before{transform:scaleX(1)}.hera-upload-card-icon{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);border-radius:12px;color:#fff;display:flex;height:48px;justify-content:center;margin-bottom:16px;width:48px}.hera-upload-card-icon svg{height:24px;width:24px}.hera-upload-card-header h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 4px}.hera-upload-card-header p{color:#64748b;font-size:13px;line-height:1.4;margin:0 0 16px}.hera-upload-card-body{display:flex;flex-direction:column;gap:12px}.hera-file-input-wrapper{width:100%}.hera-file-label{align-items:center;background:#fff;border:2px dashed #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;justify-content:center;padding:14px 16px;transition:all .2s ease}.hera-file-label:hover{background:#2e6db108;border-color:#2e6db1;color:#2e6db1}.hera-file-label svg{color:#2e6db1;flex-shrink:0}.hera-file-input{display:none}.hera-btn-upload{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);border:none;border-radius:10px;box-shadow:0 2px 6px #2e6db140;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s ease;width:100%}.hera-btn-upload:hover:not(:disabled){box-shadow:0 4px 12px #2e6db159;transform:translateY(-2px)}.hera-btn-upload:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed;opacity:.5}.hera-spinner{animation:spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.hera-message{align-items:center;animation:slideDown .2s ease-out;border-radius:8px;display:flex;font-size:13px;font-weight:500;gap:10px;padding:10px 14px}.hera-message.success{background:#dcfce7;border:1px solid #86efac;color:#166534}.hera-message.success svg{color:#22c55e}.hera-message.error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.hera-message.error svg{color:#ef4444}.hera-message-errors{animation:slideDown .3s ease-out;background:#fef2f2;border:1px solid #ef4444;border-radius:10px;margin-top:12px;overflow:hidden}.hera-message-errors-header{align-items:center;background:#fee2e2;border-bottom:1px solid #ef4444;display:flex;gap:10px;padding:12px 14px}.hera-message-errors-header svg{color:#dc2626;flex-shrink:0}.hera-message-errors-header span{color:#991b1b;flex:1 1;font-size:13px;font-weight:600}.hera-message-errors-close{align-items:center;background:#dc26261a;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.hera-message-errors-close:hover{background:#dc262633;color:#991b1b}.hera-message-errors-list{max-height:200px;overflow-y:auto;padding:8px}.hera-message-error-item{align-items:center;background:#fff;border:1px solid #fca5a5;border-radius:6px;color:#7f1d1d;display:flex;font-size:12px;gap:8px;margin-bottom:6px;padding:8px 10px;transition:all .2s}.hera-message-error-item:last-child{margin-bottom:0}.hera-message-error-item:hover{background:#fef2f2;border-color:#ef4444}.hera-message-error-item svg{color:#dc2626;flex-shrink:0}.hera-message-error-item span{font-weight:600}.hera-upload-info{align-items:center;background:#f1f5f9;border-radius:6px;color:#64748b;display:flex;font-size:12px;gap:8px;padding:8px 12px}.hera-upload-info svg{color:#94a3b8;flex-shrink:0}.hera-stato-filter{display:flex;flex-wrap:wrap;gap:8px}.hera-toggle-btn.active{background:#2e6db1;border-color:#2e6db1;color:#fff}.hera-toggle-btn.active:hover{background:#245a94}.hera-toggle-btn.active.success{background:#10b981;border-color:#10b981;color:#fff}.hera-toggle-btn.active.success:hover{background:#059669}.hera-stats-panel{grid-gap:16px;background:#f8fafc;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}.hera-stat-card,.hera-stats-panel{border:1px solid #e2e8f0;border-radius:10px;padding:16px}.hera-stat-card{align-items:center;background:#fff;display:flex;gap:14px;transition:all .2s ease}.hera-stat-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.hera-stat-card.error .hera-stat-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.hera-stat-card.success .hera-stat-icon{background:linear-gradient(135deg,#10b981,#059669)}.hera-stat-card.info .hera-stat-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.hera-stat-icon{align-items:center;background:linear-gradient(135deg,#64748b,#475569);border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.hera-stat-content{display:flex;flex-direction:column;gap:4px}.hera-stat-value{color:#0f172a;font-size:24px;font-weight:700;line-height:1}.hera-stat-label{color:#64748b;font-size:12px;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.hera-data-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:20px}.hera-data-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.hera-data-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.hera-download-btn,.hera-toggle-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.hera-toggle-btn:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.hera-toggle-btn.active.error{background:#dc2626;border-color:#dc2626;color:#fff}.hera-toggle-btn.active.error:hover{background:#b91c1c}.hera-download-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff}.hera-download-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);border:none;box-shadow:0 2px 8px #10b9814d;color:#fff}.hera-download-btn:disabled{background:#94a3b8;cursor:not-allowed;opacity:.5}.hera-table-wrapper{border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 8px #0000000f;max-height:calc(100vh - 420px);overflow:auto}.hera-table{border-collapse:collapse;font-size:13px;width:100%}.hera-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.hera-table th{border-right:1px solid #e2e8f0;color:#475569;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.5px;max-width:120px;overflow:hidden;padding:12px 14px;text-align:left;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.hera-table th:last-child{border-right:none}.hera-table td{border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;color:#0f172a;font-size:13px;padding:12px 14px}.hera-table td:last-child{border-right:none}.hera-table tbody tr{transition:background .2s}.hera-table tbody tr:hover{background:#fafbfc}.hera-table tbody tr:last-child td{border-bottom:none}.hera-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.hera-loading-spinner{animation:hera-spin 1s linear infinite;border:3px solid #f1f5f9;border-radius:50%;border-top-color:#2e6db1;height:44px;margin-bottom:16px;width:44px}@keyframes hera-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hera-loading p{color:#64748b;font-size:14px;margin:0}.hera-empty-state{align-items:center;color:#94a3b8;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.hera-empty-state svg{margin-bottom:16px;opacity:.5}.hera-empty-state p{font-size:15px;line-height:1.5;margin:0;max-width:300px}.hera-tooltip{background:#1e293b;border-radius:6px;box-shadow:0 4px 12px #00000026;color:#fff;font-size:12px;font-weight:500;padding:8px 12px;pointer-events:none;white-space:nowrap;z-index:10000}.hera-tooltip:after{border-color:#1e293b #0000 #0000;border-style:solid;border-width:6px 6px 0;bottom:-6px;content:"";left:50%;position:absolute;transform:translateX(-50%)}.hera-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:all .2s ease;white-space:nowrap}.hera-badge svg{flex-shrink:0}.hera-badge-aperto{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;box-shadow:0 2px 4px #ef444426;color:#b91c1c}.hera-badge-aperto:hover{background:linear-gradient(135deg,#fecaca,#fca5a5);box-shadow:0 4px 8px #ef444440;transform:translateY(-1px)}.hera-badge-aperto svg{color:#dc2626}.hera-badge-risolto{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac;box-shadow:0 2px 4px #22c55e26;color:#166534}.hera-badge-risolto:hover{background:linear-gradient(135deg,#bbf7d0,#86efac);box-shadow:0 4px 8px #22c55e40;transform:translateY(-1px)}.hera-badge-risolto svg{color:#22c55e}.hera-badge-non_in_errore{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;box-shadow:0 2px 4px #64748b1a;color:#64748b}.hera-badge-non_in_errore:hover{background:linear-gradient(135deg,#f1f5f9,#cbd5e1);box-shadow:0 4px 8px #64748b33;transform:translateY(-1px)}.hera-badge-non_in_errore svg{color:#94a3b8}.hera-x-icon{align-items:center;border-radius:6px;display:flex;height:24px;justify-content:center;margin:0 auto;transition:all .2s ease;width:24px}.hera-x-icon svg{height:14px;width:14px}.hera-x-icon:hover{transform:scale(1.1)}.hera-x-icon-red{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;box-shadow:0 1px 3px #dc262626;color:#dc2626}.hera-x-icon-red:hover{background:linear-gradient(135deg,#fee2e2,#fecaca);box-shadow:0 2px 6px #dc262640}.hera-x-icon-green{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;box-shadow:0 1px 3px #16a34a26;color:#16a34a}.hera-x-icon-green:hover{background:linear-gradient(135deg,#dcfce7,#bbf7d0);box-shadow:0 2px 6px #16a34a40}@media (max-width:1024px){.hera-filters-grid{flex-wrap:wrap}.hera-filter-wide{flex:1 1 200px;max-width:none;min-width:200px}.hera-filter-actions{justify-content:flex-start;margin-left:0;margin-top:8px;width:100%}}@media (max-width:768px){.hera-header{padding:16px 20px}.hera-header-content{align-items:flex-start;flex-direction:column;gap:12px}.hera-header-title h1{font-size:24px}.hera-main{padding:16px 20px}.hera-filters-grid{flex-direction:column}.hera-filter-item{min-width:100%;width:100%}.hera-filter-wide{max-width:100%;min-width:100%}.hera-filter-actions{margin-left:0;width:100%}.hera-btn-primary,.hera-btn-secondary{flex:1 1}.hera-upload-grid{grid-template-columns:1fr}.hera-data-header{align-items:stretch;flex-direction:column}.hera-data-actions{justify-content:flex-end}.hera-table-wrapper{max-height:calc(100vh - 480px)}}.hera-checkbox-container{align-items:center;cursor:pointer;display:flex;justify-content:center;position:relative;-webkit-user-select:none;user-select:none}.hera-checkbox-container input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.hera-checkbox-checkmark{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #cbd5e1;border-radius:6px;box-shadow:0 1px 2px #0000000d;height:22px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);width:22px}.hera-checkbox-container:hover .hera-checkbox-checkmark{background:linear-gradient(135deg,#fff,#f8fafc);border-color:#94a3b8;box-shadow:0 2px 4px #0000001a}.hera-checkbox-container input:checked~.hera-checkbox-checkmark{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#2563eb;box-shadow:0 2px 8px #3b82f666}.hera-checkbox-checkmark:after{border:solid #fff;border-width:0 2.5px 2.5px 0;content:"";display:none;height:11px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:6px}.hera-checkbox-container input:checked~.hera-checkbox-checkmark:after{animation:checkmark-pop .2s ease-out;display:block}@keyframes checkmark-pop{0%{transform:rotate(45deg) scale(0)}50%{transform:rotate(45deg) scale(1.2)}to{transform:rotate(45deg) scale(1)}}.hera-note-cell{max-width:300px;min-width:180px}.hera-note-display{align-items:center;border-radius:6px;cursor:pointer;display:flex;min-height:32px;padding:6px 10px;transition:all .2s ease}.hera-note-display:hover{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);box-shadow:0 1px 3px #3b82f626}.hera-note-text{color:#334155;font-size:13px;line-height:1.4;word-break:break-word}.hera-note-placeholder{align-items:center;color:#94a3b8;display:flex;font-size:12px;font-style:italic;gap:6px}.hera-note-placeholder svg{color:#cbd5e1}.hera-note-edit{align-items:center;display:flex;gap:6px}.hera-note-input{background:#fff;border:2px solid #3b82f6;border-radius:6px;box-shadow:0 0 0 3px #3b82f626;color:#334155;flex:1 1;font-size:13px;outline:none;padding:8px 12px;transition:all .2s ease}.hera-note-input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #3b82f633}.hera-note-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;height:30px;justify-content:center;transition:all .2s ease;width:30px}.hera-note-btn-save{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 4px #22c55e4d;color:#fff}.hera-note-btn-save:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 8px #22c55e66;transform:translateY(-1px)}.hera-note-btn-cancel{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);box-shadow:0 1px 2px #0000000d;color:#64748b}.hera-note-btn-cancel:hover{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;transform:translateY(-1px)}.hera-row-ignored{background:#f1f5f9cc!important;opacity:.7}.hera-row-ignored td{color:#64748b!important}.hera-row-ignored td:first-child{border-left:4px solid #94a3b8}.hera-row-ignored:hover{background:#f1f5f9f2!important;opacity:.85}.abiti-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.abiti-stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;padding:12px 14px;position:relative;transition:all .2s}.abiti-stat-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.abiti-stat-card:before{border-radius:0 3px 3px 0;bottom:8px;content:"";left:0;position:absolute;top:8px;width:3px}.abiti-stat-card.blue:before{background:#3b82f6}.abiti-stat-card.green:before{background:#10b981}.abiti-stat-card.amber:before{background:#f59e0b}.abiti-stat-card.purple:before{background:#8b5cf6}.abiti-stat-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.abiti-stat-card.blue .abiti-stat-icon{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#3b82f6}.abiti-stat-card.green .abiti-stat-icon{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#10b981}.abiti-stat-card.amber .abiti-stat-icon{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#f59e0b}.abiti-stat-card.purple .abiti-stat-icon{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#8b5cf6}.abiti-stat-info{display:flex;flex-direction:column}.abiti-stat-value{color:#0f172a;font-size:22px;font-weight:700;line-height:1.2}.abiti-stat-label{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.3px;margin-top:2px;text-transform:uppercase}.abiti-top-controls{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.abiti-toggle-filters-btn{align-items:center;background:#eff6ff;border:1px solid #3b82f6;border-radius:6px;color:#3b82f6;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s}.abiti-toggle-filters-btn .chevron{display:inline-block;font-size:10px;transition:transform .2s}.abiti-toggle-filters-btn.active .chevron{transform:rotate(180deg)}.abiti-filters-panel{animation:slideDown .3s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:14px}.abiti-filters-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.abiti-filter-item{display:flex;flex-direction:column;gap:4px}.abiti-filter-label{color:#475569;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.abiti-filter-input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;font-size:12px;height:34px;outline:none;padding:7px 10px;transition:all .2s}.abiti-filter-input:focus{border-color:#2e6db1;box-shadow:0 0 0 3px #2e6db11a}.abiti-granularity-buttons{background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;height:28px;padding:2px}.abiti-granularity-buttons button{background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;font-size:11px;font-weight:600;padding:0 10px;transition:all .15s;white-space:nowrap}.abiti-granularity-buttons button:hover:not(.active){background:#f1f5f9;color:#64748b}.abiti-granularity-buttons button.active{background:#2e6db1;box-shadow:0 1px 3px #2e6db14d;color:#fff}.abiti-filter-actions{align-items:end;display:flex;gap:8px;padding-top:2px}.abiti-btn-apply{background:linear-gradient(135deg,#2e6db1,#3b82f6);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;height:34px;padding:7px 18px;transition:all .2s}.abiti-btn-apply:hover{box-shadow:0 4px 12px #2e6db14d}.abiti-btn-reset{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:12px;font-weight:600;height:34px;padding:7px 14px;transition:all .2s}.abiti-btn-reset:hover{background:#f8fafc}.abiti-chart-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000a;margin-bottom:16px;overflow:hidden;width:100%}.abiti-chart-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:10px 16px}.abiti-chart-title{color:#0f172a;font-size:13px;font-weight:700}.abiti-chart-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.abiti-chart-legend{align-items:center;display:flex;font-size:11px;font-weight:600;gap:12px}.abiti-chart-legend-item{align-items:center;color:#475569;display:flex;gap:5px}.abiti-chart-legend-dot{border-radius:3px;display:inline-block;height:10px;width:10px}.abiti-chart-body{box-sizing:border-box;padding:12px 12px 8px;position:relative;width:100%}.abiti-chart-placeholder{max-height:240px;position:relative;width:100%}.abiti-bar-chart{display:block;height:auto;max-height:240px;width:100%}.abiti-bar-chart .bar{cursor:pointer;transition:opacity .15s,filter .15s}.abiti-bar-chart .bar:hover{filter:brightness(1.1);opacity:.8}.abiti-bar-chart .axis-line{stroke:#cbd5e1;stroke-width:.8}.abiti-bar-chart .axis-label{fill:#94a3b8;font-size:9px;font-weight:500}.abiti-bar-chart .grid-line{stroke:#f1f5f9;stroke-width:.8;stroke-dasharray:4 4}.abiti-chart-tooltip{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001a;display:none;font-size:11px;min-width:140px;padding:10px 14px;pointer-events:none;position:absolute;z-index:100}.abiti-chart-tooltip .tooltip-title{border-bottom:1px solid #f1f5f9;color:#0f172a;font-size:12px;font-weight:700;margin-bottom:6px;padding-bottom:5px}.abiti-chart-tooltip .tooltip-row{align-items:center;color:#475569;display:flex;font-weight:500;gap:6px;margin-bottom:3px}.abiti-chart-tooltip .tooltip-dot{border-radius:50%;height:8px;width:8px}.abiti-chart-tooltip .tooltip-value{color:#0f172a;font-weight:700;margin-left:auto}.abiti-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;margin-bottom:16px;overflow:hidden}.abiti-table-scroll{overflow-x:auto}.abiti-table{border-collapse:collapse;min-width:700px;width:100%}.abiti-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.abiti-table th{background:inherit;color:#475569;font-size:10px;font-weight:700;letter-spacing:.5px;padding:10px 12px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:-2px;white-space:nowrap;z-index:10}.abiti-table td{border-bottom:1px solid #f1f5f9;color:#0f172a;font-size:12px;padding:10px 12px}.abiti-table tbody tr{transition:background .15s}.abiti-table tbody tr:hover{background:#f8fafc}.abiti-table td.abiti-text-right,.abiti-table th.abiti-text-right,.abiti-text-right{text-align:right}.abiti-table td.abiti-text-center,.abiti-table th.abiti-text-center,.abiti-text-center{text-align:center}.abiti-font-mono{font-family:SF Mono,Fira Code,monospace}.abiti-badge{align-items:center;border-radius:5px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:3px 8px}.abiti-badge-blue{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;color:#2563eb}.abiti-badge-green{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;color:#059669}.abiti-badge-amber{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;color:#d97706}.abiti-detail-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:50%;color:#64748b;cursor:pointer;display:inline-flex;font-size:14px;height:28px;justify-content:center;transition:all .2s;width:28px}.abiti-detail-btn:hover{background:#eff6ff;border-color:#2e6db1;color:#2e6db1}.abiti-pagination{align-items:center;display:flex;gap:12px;justify-content:center;padding:16px 0}.abiti-pagination button{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .2s}.abiti-pagination button:hover:not(:disabled){border-color:#2e6db1;color:#2e6db1}.abiti-pagination button:disabled{cursor:not-allowed;opacity:.4}.abiti-page-info{color:#64748b;font-size:12px;text-align:center}.abiti-page-info strong{color:#0f172a}.abiti-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.abiti-modal-container{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-height:85vh;max-width:900px;overflow-y:auto;width:95%}.abiti-modal-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.abiti-modal-header h3{color:#0f172a;font-size:18px;font-weight:700}.abiti-modal-close{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .2s;width:32px}.abiti-modal-close:hover{background:#fef2f2;border-color:#fca5a5;color:#ef4444}.abiti-modal-body{padding:20px}.abiti-detail-section{border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;overflow:hidden}.abiti-detail-section.hera{border-color:#bfdbfe}.abiti-detail-section.interacta{border-color:#a7f3d0}.abiti-detail-section.entrambi{border-color:#fde68a}.abiti-detail-section-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:8px;padding:10px 14px}.abiti-detail-section.hera .abiti-detail-section-header{background:#eff6ff;border-bottom-color:#bfdbfe}.abiti-detail-section.interacta .abiti-detail-section-header{background:#ecfdf5;border-bottom-color:#a7f3d0}.abiti-detail-section.entrambi .abiti-detail-section-header{background:#fffbeb;border-bottom-color:#fde68a}.abiti-detail-section-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.abiti-detail-section-dot.hera{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 0 0 3px #3b82f633}.abiti-detail-section-dot.interacta{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 0 0 3px #10b98133}.abiti-detail-section-dot.entrambi{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 0 0 3px #f59e0b33}.abiti-detail-section-title{color:#0f172a;flex:1 1;font-size:13px;font-weight:700}.abiti-count-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:11px;font-weight:700;height:20px;justify-content:center;min-width:22px;padding:0 6px}.abiti-count-badge.hera{background:#dbeafe;color:#2563eb}.abiti-count-badge.interacta{background:#d1fae5;color:#059669}.abiti-count-badge.amber{background:#fef3c7;color:#b45309}.abiti-detail-rows{max-height:250px;overflow-y:auto}.abiti-detail-row{align-items:center;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;gap:12px;padding:8px 14px;position:relative;transition:all .15s}.abiti-detail-row:last-child{border-bottom:none}.abiti-detail-row:hover{background:#f8fafc}.abiti-detail-section.hera .abiti-detail-row:hover{background:#eff6ff}.abiti-detail-section.interacta .abiti-detail-row:hover{background:#ecfdf5}.abiti-detail-section.hera .abiti-detail-row.active{background:#dbeafe;border-left:3px solid #3b82f6}.abiti-detail-section.interacta .abiti-detail-row.active{background:#d1fae5;border-left:3px solid #059669}.abiti-detail-row-tag{color:#334155;flex-shrink:0;font-family:SF Mono,Fira Code,monospace;font-size:11px;font-weight:600;min-width:120px}.abiti-detail-row-addr,.abiti-detail-row-tag{align-items:center;display:inline-flex;gap:6px}.abiti-detail-row-addr{color:#475569;flex:1 1;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.abiti-detail-no-addr{color:#94a3b8;font-size:11px;font-style:italic}.abiti-detail-row-check{align-items:center;display:inline-flex;flex-shrink:0}.abiti-detail-empty{color:#94a3b8;font-size:12px;padding:20px;text-align:center}@keyframes abiti-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.abiti-spinner{animation:abiti-spin 1s linear infinite}.abiti-tags-list{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px}.abiti-tag-chip{align-items:center;border-radius:6px;display:inline-flex;font-family:SF Mono,Fira Code,monospace;font-size:11px;font-weight:600;padding:4px 10px}.abiti-tag-chip.entrambi{background:#fffbeb;border:1px solid #fde68a;color:#b45309}.abiti-map-markers-info{display:flex;flex:1 1;flex-wrap:wrap;gap:8px;min-width:0}.abiti-map-marker-label{align-items:center;border-radius:6px;display:inline-flex;font-size:11px;font-weight:600;gap:6px;max-width:280px;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;white-space:nowrap}.abiti-map-marker-label.hera{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.abiti-map-marker-label.interacta{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.abiti-map-marker-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.abiti-map-marker-dot.hera{background:#3b82f6}.abiti-map-marker-dot.interacta{background:#059669}.abiti-map-marker-remove{background:none;border:none;color:inherit;cursor:pointer;flex-shrink:0;font-size:12px;line-height:1;opacity:.6;padding:0 2px;transition:opacity .15s}.abiti-map-marker-remove:hover{opacity:1}.abiti-map-placeholder{color:#94a3b8;font-size:12px;font-style:italic;font-weight:500}.abiti-map-section-title{color:#0f172a;font-size:13px;font-weight:700;margin-bottom:8px}.abiti-map-container{border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;overflow:hidden}.abiti-map-controls{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px}.abiti-map-controls span{color:#64748b;font-size:12px;font-weight:600}.abiti-detail-map{height:350px;width:100%}.abiti-map-loader-overlay{align-items:center;background:#ffffffb3;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1000}.abiti-map-loader-mini{padding:10px!important;transform:scale(.45)}.abiti-map-hint{align-items:center;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;margin-top:12px;padding:14px 16px}.abiti-map-hint svg{flex-shrink:0}.abiti-no-detail-msg{color:#64748b;font-size:14px;padding:40px 20px;text-align:center}.abiti-no-detail-msg svg{display:block;margin:0 auto 12px}@media (max-width:1200px){.abiti-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.abiti-stats-grid{grid-template-columns:1fr}.abiti-filters-grid{grid-template-columns:1fr 1fr}.abiti-detail-row{flex-wrap:wrap}.abiti-detail-row-tag{min-width:100%}}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--oper-hr-color-lavorate:#016fb7;--oper-hr-color-lavorate-light:#e8f4fc;--oper-hr-color-non-lavorate:#84cc16;--oper-hr-color-non-lavorate-light:#f0fdf4;--oper-hr-color-contratto:#f59e0b;--oper-hr-color-contratto-light:#fef3c7;--oper-hr-color-straordinarie:#dc2626;--oper-hr-color-straordinarie-light:#fef2f2;--oper-hr-color-success:#059669;--oper-hr-color-success-light:#d1fae5;--oper-hr-color-warning:#d97706;--oper-hr-color-warning-light:#fef3c7;--oper-hr-color-danger:#dc2626;--oper-hr-color-danger-light:#fee2e2;--oper-hr-color-primary:#2e6db1;--oper-hr-color-primary-dark:#1e5a9a;--oper-hr-color-text:#0f172a;--oper-hr-color-text-secondary:#64748b;--oper-hr-color-border:#e2e8f0;--oper-hr-color-background:#f8fafc;--oper-hr-shadow-sm:0 1px 3px #0000000d;--oper-hr-shadow-md:0 4px 12px #00000014;--oper-hr-shadow-lg:0 8px 24px #0000001f;--oper-hr-shadow-card:0 4px 20px #00000014;--oper-hr-transition-fast:0.15s ease;--oper-hr-transition-normal:0.2s ease;--oper-hr-transition-slow:0.3s ease;--oper-hr-gap-sm:8px;--oper-hr-gap-md:16px;--oper-hr-gap-lg:20px;--oper-hr-gap-xl:24px;--oper-hr-radius-sm:6px;--oper-hr-radius-md:8px;--oper-hr-radius-lg:12px}@keyframes oper-hr-pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes oper-hr-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes oper-hr-slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes oper-hr-glow{0%{box-shadow:0 0 0 0 #2e6db166}70%{box-shadow:0 0 0 10px #2e6db100}to{box-shadow:0 0 0 0 #2e6db100}}@keyframes oper-hr-countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes oper-hr-progressRing{0%{stroke-dashoffset:100}}.oper-hr-status-success{color:#059669!important;color:var(--oper-hr-color-success)!important}.oper-hr-status-warning{color:#d97706!important;color:var(--oper-hr-color-warning)!important}.oper-hr-status-danger{color:#dc2626!important;color:var(--oper-hr-color-danger)!important}.oper-hr-badge{letter-spacing:.3px;text-transform:uppercase}.oper-hr-badge-success{background:var(--oper-hr-color-success-light);color:var(--oper-hr-color-success)}.oper-hr-badge-warning{background:var(--oper-hr-color-warning-light);color:var(--oper-hr-color-warning)}.oper-hr-badge-danger{background:var(--oper-hr-color-danger-light);color:var(--oper-hr-color-danger)}.oper-hr-trend-up{color:#059669;color:var(--oper-hr-color-success)}.oper-hr-trend-down{color:#dc2626;color:var(--oper-hr-color-danger)}.oper-hr-trend-neutral{color:#64748b;color:var(--oper-hr-color-text-secondary)}.oper-hr-row-highlighted{animation:oper-hr-pulse .3s ease;background:linear-gradient(90deg,#2e6db1 4px,#eff6ff 0)!important;background:linear-gradient(90deg,var(--oper-hr-color-primary) 4px,#eff6ff 4px)!important}.oper-hr-mini-bar{background:linear-gradient(90deg,#2e6db1,#60a5fa);background:linear-gradient(90deg,var(--oper-hr-color-primary) 0,#60a5fa 100%);border-radius:3px;display:inline-block;height:6px;margin-left:8px;transition:width .2s ease;transition:width var(--oper-hr-transition-normal);vertical-align:middle}.oper-hr-page{background:linear-gradient(135deg,#f5f7fa,#e9edf4);display:flex;flex:1 1;flex-direction:column;min-height:100vh}.oper-hr-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;padding:20px 24px}.oper-hr-header-content{align-items:center;display:flex;gap:16px;min-height:48px;width:100%}.oper-hr-back-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.oper-hr-back-btn:hover{background:#f8fafc;border-color:#2e6db1;color:#2e6db1}.oper-hr-header-title{flex:1 1}.oper-hr-title-row{align-items:center;display:flex;gap:12px;margin-bottom:4px}.oper-hr-header-title h1{color:#0f172a;font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0}.oper-hr-info-btn{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);border:none;border-radius:50%;box-shadow:0 2px 6px #2e6db140;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.oper-hr-info-btn:hover{box-shadow:0 4px 12px #2e6db159;transform:scale(1.1)}.oper-hr-info-btn span{color:#fff;font-family:Georgia,serif;font-size:14px;font-style:italic;font-weight:700}.oper-hr-subtitle{color:#64748b;font-size:14px;margin:0}.oper-hr-main{box-sizing:border-box;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:16px 20px;width:100%}.oper-hr-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.oper-hr-action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:10px;padding:10px 18px;transition:all .2s ease}.oper-hr-action-btn:hover{background:#f8fafc;border-color:#cbd5e1}.oper-hr-action-btn.active{background:#eff6ff;border-color:#3b82f6;color:#2563eb}.oper-hr-action-btn svg{transition:transform .2s ease}.oper-hr-action-btn.active svg{transform:rotate(180deg)}.oper-hr-data-section{padding:16px}.oper-hr-data-section,.oper-hr-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d}.oper-hr-panel{animation:slideDown .3s ease-out;margin-bottom:16px;padding:20px}.oper-hr-filters-form{width:100%}.oper-hr-filters-grid{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.date-filter-show-filter-button{align-items:flex-end;display:flex;flex-direction:row;gap:12px;justify-content:space-between;width:100%}.date-filter-show-filter-button .date-filter-container{display:flex;flex:1 1;flex-direction:row;gap:8px}.date-filter-show-filter-button .oper-hr-action-btn{flex-shrink:0;height:-webkit-fit-content;height:fit-content}.oper-hr-filter-item{display:flex;flex:1 1;flex-direction:column;gap:4px;max-width:200px;min-width:140px}.oper-hr-filter-item label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.oper-hr-filter-item input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-family:inherit;font-size:14px;min-height:-webkit-fit-content;min-height:fit-content;padding:8px 10px;transition:all .2s ease;width:100%}.oper-hr-filter-item input:hover{border-color:#cbd5e1}.oper-hr-filter-item input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.oper-hr-filter-wide{flex:1 1;max-width:200px;min-width:140px}.oper-hr-filter-actions{align-items:flex-end;display:flex;flex-basis:100%;gap:12px;justify-content:flex-end;margin-left:auto}.oper-hr-btn-primary,.oper-hr-btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:8px 14px;transition:all .2s ease}.oper-hr-btn-primary{background:linear-gradient(135deg,#2e6db1,#3b82f6);box-shadow:0 2px 6px #2e6db140;color:#fff}.oper-hr-btn-primary:hover{box-shadow:0 4px 12px #2e6db159;transform:translateY(-1px)}.oper-hr-btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.oper-hr-btn-secondary:hover{background:#e2e8f0;color:#1e293b}.oper-hr-select__control{border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:none!important;font-size:14px!important;max-height:38px!important;min-height:38px!important;overflow:hidden!important}.oper-hr-select__control:hover{border-color:#cbd5e1!important}.oper-hr-select__control--is-focused{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.oper-hr-select__value-container{flex-wrap:nowrap!important;overflow:hidden!important;padding:2px 8px!important}.oper-hr-select__value-container--is-multi{display:flex!important;gap:4px!important}.oper-hr-select__multi-value{background:#eff6ff!important;border-radius:4px!important;flex-shrink:0!important;margin:0!important;min-width:auto!important}.oper-hr-select__multi-value__label{color:#2563eb!important;font-size:12px!important;max-width:80px!important;overflow:hidden!important;padding:2px 4px!important;text-overflow:ellipsis!important;white-space:nowrap!important}.oper-hr-select__multi-value__remove{cursor:pointer!important;padding:0 4px!important}.oper-hr-select__multi-value__remove:hover{background:#dbeafe!important;color:#1d4ed8!important}.oper-hr-select__indicators{flex-shrink:0!important}.oper-hr-select__menu{z-index:9999!important}.oper-hr-select__option{font-size:13px!important;padding:8px 12px!important}.oper-hr-select__option--is-selected{background:#2e6db1!important}.oper-hr-select__option--is-focused{background:#acd0ff!important}.oper-hr-select-more-badge{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);border-radius:4px;color:#fff;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:600;justify-content:center;margin-left:4px;padding:2px 8px;white-space:nowrap}.oper-hr-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.oper-hr-modal{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040;max-height:80vh;max-width:560px;overflow:hidden;width:100%}.oper-hr-modal-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;gap:14px;padding:20px 24px}.oper-hr-modal-icon{align-items:center;background:linear-gradient(135deg,#2e6db1,#3b82f6);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.oper-hr-modal-header h3{color:#0f172a;flex:1 1;font-size:18px;font-weight:600;margin:0}.oper-hr-modal-close{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.oper-hr-modal-close:hover{background:#e2e8f0;color:#0f172a}.oper-hr-modal-body{overflow-y:auto;padding:24px}.oper-hr-modal-section{margin-bottom:20px}.oper-hr-modal-section:last-child{margin-bottom:0}.oper-hr-modal-section h4{border-left:3px solid #2e6db1;color:#0f172a;font-size:15px;font-weight:600;margin:0 0 10px;padding-left:12px}.oper-hr-modal-section p{color:#475569;font-size:14px;line-height:1.6;margin:0}.oper-hr-modal-section ul{margin:10px 0 0 20px;padding:0}.oper-hr-modal-section li{color:#475569;font-size:14px;line-height:1.8}.oper-hr-modal-section strong{color:#2e6db1}.oper-hr-wip{flex-direction:column;padding:60px 20px;text-align:center}.oper-hr-wip,.oper-hr-wip-icon{align-items:center;display:flex;justify-content:center}.oper-hr-wip-icon{animation:oper-hr-wip-pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:20px;box-shadow:0 8px 24px #fbbf244d;height:80px;margin-bottom:24px;width:80px}@keyframes oper-hr-wip-pulse{0%,to{box-shadow:0 8px 24px #fbbf244d;transform:scale(1)}50%{box-shadow:0 12px 32px #fbbf2466;transform:scale(1.05)}}.oper-hr-wip-icon svg{color:#fff;height:40px;width:40px}.oper-hr-wip-content h3{color:#0f172a;font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0 0 8px}.oper-hr-wip-content p{color:#64748b;font-size:15px;line-height:1.6;margin:0 0 24px;max-width:400px}.oper-hr-wip-badge{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:50px;color:#92400e;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:10px 20px}.oper-hr-wip-badge svg{height:16px;width:16px}.oper-hr-kpi-icon.operatori{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.oper-hr-kpi-icon.commesse{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.oper-hr-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 8px;white-space:nowrap}.oper-hr-badge-success{background:#d1fae5;border:1px solid #a7f3d0;color:#059669}.oper-hr-badge-warning{background:#fef3c7;border:1px solid #fde68a;color:#d97706}.oper-hr-badge-danger{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.oper-hr-value-indicator{align-items:center;display:inline-flex;gap:6px}.oper-hr-value-indicator:before{border-radius:50%;content:"";flex-shrink:0;height:8px;width:8px}.oper-hr-value-indicator.success:before{background:#059669;box-shadow:0 0 4px #05966980}.oper-hr-value-indicator.warning:before{background:#d97706;box-shadow:0 0 4px #d9770680}.oper-hr-value-indicator.danger:before{background:#dc2626;box-shadow:0 0 4px #dc262680}.oper-hr-mini-bar{align-items:center;display:flex;gap:8px}.oper-hr-mini-bar-track{background:#e2e8f0;border-radius:2px;flex:1 1;height:4px;min-width:40px;overflow:hidden}.oper-hr-mini-bar-fill{border-radius:2px;height:100%;transition:width .5s ease}.oper-hr-mini-bar-fill.success{background:linear-gradient(90deg,#34d399,#059669)}.oper-hr-mini-bar-fill.warning{background:linear-gradient(90deg,#fbbf24,#d97706)}.oper-hr-mini-bar-fill.danger{background:linear-gradient(90deg,#f87171,#dc2626)}.oper-hr-mini-bar-value{font-size:12px;font-weight:600;min-width:45px;text-align:right}.oper-hr-cell-success{color:#059669!important;font-weight:600}.oper-hr-cell-warning{color:#d97706!important;font-weight:600}.oper-hr-cell-danger{color:#dc2626!important;font-weight:600}.oper-hr-cell-bg-success{background:#05966914!important}.oper-hr-cell-bg-warning{background:#d9770614!important}.oper-hr-cell-bg-danger{background:#dc262614!important}.bar-chart-title-container{display:flex;flex-direction:column;gap:20px}.title-view-type-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.bar-chart-title{color:#2e6db1;font-weight:700;text-align:left}.view-type-container{display:flex;gap:6px}.view-type-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:36px;justify-content:center;min-width:36px;padding:0 12px;transition:all .2s ease}.view-type-btn:hover{background:#e2e8f0;color:#475569}.view-type-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#2e6db1}.view-type-btn span{font-family:monospace}.bar-chart-view-type-excel{display:flex;gap:15px}.chart-empty-state{background:#fafafa;border:1px dashed #d1d5db;border-radius:12px;flex-direction:column;min-height:300px;padding:60px 24px;text-align:center}.chart-empty-icon,.chart-empty-state{align-items:center;display:flex;justify-content:center}.chart-empty-icon{background:#f3f4f6;border-radius:50%;height:72px;margin-bottom:20px;width:72px}.chart-empty-icon svg{color:#9ca3af;height:36px;width:36px}.chart-empty-title{color:#374151;font-size:17px;font-weight:600;margin:0 0 8px}.chart-empty-text{color:#6b7280;font-size:14px;line-height:1.5;margin:0;max-width:320px}.dettaglio-oper-chart-container{background:#fff;border-radius:8px;padding:20px 8px 20px 20px;width:100%}.dettaglio-oper-chart-header{margin-bottom:20px}.dettaglio-oper-chart-title{color:#333;font-size:18px;font-weight:600}.dettaglio-oper-chart-controls{display:flex;gap:10px}.dettaglio-oper-empty{font-size:16px;height:400px}.dettaglio-oper-chart-empty-small,.dettaglio-oper-empty{align-items:center;color:#999;display:flex;justify-content:center}.dettaglio-oper-chart-empty-small{height:275px}.scrollable-chart{max-height:275px;overflow-x:hidden;overflow-y:auto}.animated-counter{align-items:center;display:inline-flex;gap:6px}.animated-counter-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.animated-counter-trend{align-items:center;animation:trendFadeIn .3s ease;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;gap:2px;padding:2px 6px}@keyframes trendFadeIn{0%{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:translateX(0)}}.animated-counter-trend-up{background:#d1fae5;color:#059669}.animated-counter-trend-down{background:#fee2e2;color:#dc2626}.animated-counter-trend-neutral{background:#f1f5f9;color:#64748b}.animated-counter-trend svg{flex-shrink:0}.animated-counter-trend-value{font-size:10px;white-space:nowrap}.progress-ring-container{align-items:center;display:inline-flex;flex-direction:column;justify-content:center;position:relative}.progress-ring-background{opacity:.5}.progress-ring-progress{transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.progress-ring-value{font-feature-settings:"tnum";font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.progress-ring-label{color:#64748b;font-size:10px;margin-top:4px;text-align:center;white-space:nowrap}@keyframes progress-ring-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.progress-ring-container{animation:progress-ring-appear .3s ease-out}.chart-table-container{display:flex;flex-direction:column;gap:20px;margin-top:20px}.oper-hr-kpi-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:8px}.oper-hr-kpi-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;display:flex;gap:14px;padding:16px 18px;transition:all .2s ease}.oper-hr-kpi-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.oper-hr-kpi-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.oper-hr-kpi-icon svg{height:24px;width:24px}.oper-hr-kpi-icon.contratto{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.oper-hr-kpi-icon.lavorate{background:linear-gradient(135deg,#016fb7,#015a94);color:#fff}.oper-hr-kpi-icon.non-lavorate{background:linear-gradient(135deg,#84cc16,#65a30d);color:#fff}.oper-hr-kpi-icon.straordinarie-neg,.oper-hr-kpi-icon.straordinarie-pos{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.oper-hr-kpi-content{display:flex;flex-direction:column;gap:2px;min-width:0}.oper-hr-kpi-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.oper-hr-kpi-value{color:#0f172a;font-size:22px;font-weight:700;line-height:1.2}.oper-hr-kpi-value.positive{color:#059669}.oper-hr-kpi-value.negative{color:#dc2626}.oper-hr-kpi-value.straordinari{color:#b91c1c}.oper-hr-kpi-sublabel{color:#94a3b8;font-size:12px;font-weight:500}.oper-hr-kpi-sublabel.warning{color:#dc2626;font-weight:600}.oper-hr-kpi-card-with-ring{align-items:center;flex-direction:row;gap:12px}.oper-hr-kpi-card-with-ring .oper-hr-kpi-content{flex:1 1}.oper-hr-kpi-card-with-ring .oper-hr-kpi-label{font-size:12px}.oper-hr-kpi-card-with-ring .oper-hr-kpi-sublabel{color:#374151;font-size:13px;font-weight:600}@media (max-width:1200px){.oper-hr-kpi-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.oper-hr-kpi-cards{grid-template-columns:1fr}.oper-hr-kpi-card{padding:14px 16px}.oper-hr-kpi-value{font-size:20px}}.oper-hr-active-filter{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px;padding:10px 16px}.oper-hr-active-filter-label{color:#1e40af;font-size:13px;font-weight:500}.oper-hr-active-filter-tags{display:flex;flex-wrap:wrap;gap:8px}.oper-hr-active-filter-badge{align-items:center;background:#2563eb;border-radius:20px;color:#fff;display:inline-flex;font-size:13px;font-weight:600;gap:8px;max-width:200px;padding:6px 12px}.oper-hr-active-filter-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oper-hr-active-filter-remove{align-items:center;background:#fff3;border:none;border-radius:50%;cursor:pointer;display:flex;height:18px;justify-content:center;padding:0;transition:all .2s;width:18px}.oper-hr-active-filter-remove:hover{background:#ffffff4d}.oper-hr-active-filter-remove svg{color:#fff;height:12px;width:12px}.oper-hr-clear-all-filters{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease}.oper-hr-clear-all-filters:hover{background:#fee2e2;border-color:#f87171}.oper-hr-table-title-container{display:flex;justify-content:space-between;margin-bottom:12px}.oper-hr-table-title{align-self:center;color:#2e6db1;font-weight:700}.oper-hr-view-type-excel{display:flex;gap:15px}.oper-hr-table-view-type-container{display:flex}.oper-hr-table-view-type-container button{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:36px;justify-content:center;min-width:36px;padding:0 12px;transition:all .2s ease}.oper-hr-table-view-type-container button:hover{background:#e2e8f0;color:#475569}.oper-hr-table-view-type-container button.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#2e6db1}.oper-hr-table-view-type-container button span{font-family:monospace}.oper-hr-table-wrapper{border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 8px #0000000f;overflow:auto}.oper-hr-table{border-collapse:collapse;font-size:13px;width:100%}.oper-hr-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;box-shadow:0 2px 8px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:10}.oper-hr-table th{border:1px solid #e2e8f0;color:#475569;font-size:11px;font-weight:700;letter-spacing:.5px;max-width:120px;overflow:hidden;padding:12px 14px;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.oper-hr-table th:last-child{border-right:none}.oper-hr-table td{border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;color:#0f172a;font-size:13px;padding:12px 14px}.oper-hr-table td:last-child{border-right:none}.oper-hr-table tbody tr{transition:background .2s ease}.oper-hr-table tbody tr:nth-child(2n){background:#f8fafc}.oper-hr-table tbody tr:nth-child(odd){background:#fff}.oper-hr-table tbody tr:hover{background:#eff6ff}.oper-hr-table tbody tr.highlighted{background:#dbeafe!important;border-left:3px solid #2563eb}.oper-hr-table tbody tr:last-child td{border-bottom:none}.oper-hr-table td.totale-trimestre,.oper-hr-table th.totale-trimestre{background:#f8fafc;border-left:2px solid #cbd5e1;font-weight:600}.oper-hr-table td:first-child,.oper-hr-table th:first-child{background:#fff;border-right:2px solid #e2e8f0;box-shadow:2px 0 4px #0000000d;min-width:130px}.oper-hr-table thead th:first-child{background:linear-gradient(135deg,#f8fafc,#f1f5f9);z-index:15}.oper-hr-table tbody tr.row-ore-lavorate td:not(:first-child){background:#016fb70a}.oper-hr-table tbody tr.row-ore-lavorate td:first-child{background:#e8f4fc;color:#016fb7}.oper-hr-table tbody tr.row-ore-non-lavorate td:not(:first-child){background:#84cc160f}.oper-hr-table tbody tr.row-ore-non-lavorate td:first-child{background:#eef8e0;color:#65a30d}.oper-hr-table tbody tr.row-perc-non-lav td:not(:first-child){background:#84cc1608}.oper-hr-table tbody tr.row-perc-non-lav td:first-child{background:#f4fae8;color:#65a30d}.oper-hr-table tbody tr.row-ore-contratto td:not(:first-child){background:#f59e0b0a}.oper-hr-table tbody tr.row-ore-contratto td:first-child{background:#fef3e2;color:#d97706}.oper-hr-table tbody tr.row-ore-straordinarie td:not(:first-child){background:#b91c1c0a}.oper-hr-table tbody tr.row-ore-straordinarie td:first-child{background:#fef2f2;color:#b91c1c}.oper-hr-table tbody tr.row-perc-straordinarie td:not(:first-child){background:#b91c1c05}.oper-hr-table tbody tr.row-perc-straordinarie td:first-child{background:#fef7f7;color:#b91c1c}.oper-hr-table td.value-positive{color:#059669}.oper-hr-table td.value-negative{color:#dc2626}.oper-hr-table td.value-high{color:#d97706}.oper-hr-table td.value-danger{color:#dc2626}.oper-hr-table td.value-straordinari{color:#b91c1c}.oper-hr-table tbody tr.row-ore-contratto:hover td,.oper-hr-table tbody tr.row-ore-lavorate:hover td,.oper-hr-table tbody tr.row-ore-non-lavorate:hover td,.oper-hr-table tbody tr.row-ore-straordinarie:hover td,.oper-hr-table tbody tr.row-perc-non-lav:hover td,.oper-hr-table tbody tr.row-perc-straordinarie:hover td{filter:brightness(.98)}.oper-hr-table td:first-child,.oper-hr-table th:first-child{left:0;min-width:140px;position:-webkit-sticky;position:sticky;text-align:left;z-index:5}.oper-hr-table tbody td:first-child{border-right:2px solid #e2e8f0;font-weight:600}.oper-hr-empty-state{background:#fafafa;border:1px dashed #d1d5db;border-radius:12px;flex-direction:column;padding:48px 24px;text-align:center}.oper-hr-empty-icon,.oper-hr-empty-state{align-items:center;display:flex;justify-content:center}.oper-hr-empty-icon{background:#f3f4f6;border-radius:50%;height:64px;margin-bottom:16px;width:64px}.oper-hr-empty-icon svg{color:#9ca3af;height:32px;width:32px}.oper-hr-empty-title{color:#374151;font-size:16px;font-weight:600;margin:0 0 8px}.oper-hr-empty-text{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 20px;max-width:360px}.oper-hr-empty-btn{align-items:center;background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s}.oper-hr-empty-btn:hover{background:#1d4ed8}.fullscreen-trend-periodo{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.trend-periodo-fullscreen-btn{align-items:center;align-self:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:8px;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.trend-periodo-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.oper-hr-table-view-type-container .trend-periodo-fullscreen-btn{align-self:center;margin-left:8px;position:static}.oper-hr-table-view-type-container .trend-periodo-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.dettaglio-oper-container{min-height:400px;width:100%}.dettaglio-oper-content{display:flex;flex-direction:column;gap:20px}.dettaglio-oper-kpi.oper-hr-kpi-cards{display:flex!important;flex-wrap:nowrap!important;gap:12px;margin-bottom:0;overflow-x:auto}.dettaglio-oper-kpi .oper-hr-kpi-card{flex:1 1!important;max-width:none!important;min-width:150px}.dettaglio-oper-kpi .oper-hr-kpi-card-with-ring{align-items:center;flex-direction:row;gap:12px}.dettaglio-oper-kpi .oper-hr-kpi-card-with-ring .oper-hr-kpi-content{flex:1 1}.dettaglio-oper-kpi .oper-hr-kpi-card-with-ring .oper-hr-kpi-label{font-size:12px}.dettaglio-oper-kpi .oper-hr-kpi-card-with-ring .oper-hr-kpi-sublabel{color:#374151;font-size:13px;font-weight:600}.dettaglio-oper-main-content{align-items:flex-start;display:flex;gap:20px;width:100%}.dettaglio-oper-table-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex:1 1 40%;flex-direction:column;min-width:0;overflow:hidden;padding:20px}.dettaglio-oper-table-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:16px}.dettaglio-oper-table-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.dettaglio-oper-table-title{color:#2e6db1;font-size:16px;font-weight:700}.dettaglio-oper-filter-indicator{align-items:center;color:#f59e0b;display:flex;font-size:13px;font-weight:500;gap:6px}.dettaglio-oper-clear-all-btn{background-color:#fef3c7;border:1px solid #fcd34d;border-radius:4px;color:#d97706;cursor:pointer;font-size:11px;font-weight:500;padding:2px 8px;transition:all .2s}.dettaglio-oper-clear-all-btn:hover{background-color:#fde68a;border-color:#f59e0b}.dettaglio-oper-download-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.dettaglio-oper-download-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 6px #10b9814d;transform:translateY(-1px)}.dettaglio-oper-download-btn:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.6}.dettaglio-oper-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;flex:1 1;overflow-y:auto}.dettaglio-oper-table-wrapper::-webkit-scrollbar{width:8px}.dettaglio-oper-table-wrapper::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.dettaglio-oper-table-wrapper::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:4px}.dettaglio-oper-table-wrapper::-webkit-scrollbar-thumb:hover{background:#6b7280}.dettaglio-oper-table{border-collapse:collapse;font-size:13px;width:100%}.dettaglio-oper-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 2px 8px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:10}.dettaglio-oper-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:10px 8px;text-align:left;white-space:nowrap}.dettaglio-oper-table tbody tr{transition:background-color .2s ease}.dettaglio-oper-table tbody tr:nth-child(2n){background:#f8fafc}.dettaglio-oper-table tbody tr:nth-child(odd){background:#fff}.dettaglio-oper-table tbody tr:hover{background-color:#eff6ff}.dettaglio-oper-table tbody tr.highlighted{background:#dbeafe!important;border-left:3px solid #2563eb}.dettaglio-oper-table tbody tr:not(:last-child){border-bottom:1px solid #e5e7eb}.dettaglio-oper-table td{color:#4b5563;padding:8px;white-space:nowrap}.dettaglio-oper-table .td-operatore{max-width:180px;overflow:hidden;text-overflow:ellipsis}.dettaglio-oper-table .td-operatore span{font-weight:500}.dettaglio-oper-table tfoot{background:#f0f9ff;bottom:0;position:-webkit-sticky;position:sticky}.dettaglio-oper-table .tr-totali td{background:#f0f9ff;border-top:2px solid #e5e7eb;color:#1f2937;font-weight:600;padding:10px 8px}.value-straordinari{color:#047857!important;font-weight:500}.value-danger{color:#dc2626!important;font-weight:600}.value-high{color:#ea580c!important;font-weight:500}.dettaglio-oper-chart-section{display:flex;flex:1 1 55%;flex-direction:column;gap:16px;min-width:0;overflow:hidden}.dettaglio-oper-chart-box{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;overflow:hidden;padding:16px}.dettaglio-oper-chart-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:12px}.dettaglio-oper-chart-title{color:#2e6db1;font-size:15px;font-weight:700}.dettaglio-oper-chart-actions{align-items:center;display:flex;gap:8px}.dettaglio-oper-clear-filter-btn{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px;transition:all .2s}.dettaglio-oper-clear-filter-btn:hover{background-color:#fee2e2;border-color:#f87171}.dettaglio-oper-filter-badge{align-items:center;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:8px 12px}.dettaglio-oper-filter-label{color:#166534;font-size:12px;font-weight:500}.dettaglio-oper-filter-tags{display:flex;flex-wrap:wrap;gap:6px}.dettaglio-oper-filter-tag{align-items:center;background-color:#dcfce7;border-radius:4px;color:#166534;display:flex;font-size:12px;gap:4px;max-width:150px;padding:3px 8px}.dettaglio-oper-filter-tag-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dettaglio-oper-filter-tag button{align-items:center;background:none;border:none;color:#166534;cursor:pointer;display:flex;justify-content:center;opacity:.7;padding:0;transition:opacity .2s}.dettaglio-oper-filter-tag button:hover{opacity:1}.dettaglio-oper-filter-more{background-color:#bbf7d0;border-radius:4px;color:#166534;font-size:12px;font-weight:500;padding:3px 8px}.dettaglio-oper-filter-badge-blue{background-color:#eff6ff;border-color:#bfdbfe}.dettaglio-oper-filter-badge-blue .dettaglio-oper-filter-label{color:#1e40af}.dettaglio-oper-filter-tag-blue{background-color:#dbeafe!important;color:#1e40af!important}.dettaglio-oper-filter-tag-blue button{color:#1e40af!important}.dettaglio-oper-filter-more-blue{background-color:#bfdbfe!important;color:#1e40af!important}.dettaglio-oper-chart-scroll{flex:1 1;max-height:450px;min-width:0;overflow-x:hidden;overflow-y:auto}.dettaglio-oper-chart-scroll::-webkit-scrollbar{width:8px}.dettaglio-oper-chart-scroll::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.dettaglio-oper-chart-scroll::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:4px}.dettaglio-oper-chart-scroll::-webkit-scrollbar-thumb:hover{background:#6b7280}.dettaglio-oper-empty-chart{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.dettaglio-oper-empty-chart .dettaglio-oper-empty-icon{height:48px;margin-bottom:12px;opacity:.5;width:48px}.dettaglio-oper-empty-chart p{font-size:14px;text-align:center}.dettaglio-oper-no-data{color:#9ca3af;font-size:14px;padding:40px 20px}.dettaglio-oper-loading,.dettaglio-oper-no-data{align-items:center;display:flex;justify-content:center}.dettaglio-oper-loading{color:#6b7280;flex-direction:column;padding:80px 20px}.dettaglio-oper-loading-spinner{animation:dettaglio-oper-spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:16px;width:40px}@keyframes dettaglio-oper-spin{to{transform:rotate(1turn)}}.dettaglio-oper-loading p{color:#6b7280;font-size:14px}.dettaglio-oper-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.dettaglio-oper-empty-state .dettaglio-oper-empty-icon{color:#9ca3af;height:64px;margin-bottom:16px;opacity:.5;width:64px}.dettaglio-oper-empty-state h4{color:#4b5563;font-size:18px;font-weight:600;margin:0 0 8px}.dettaglio-oper-empty-state p{color:#9ca3af;font-size:14px;margin:0}@media (max-width:1400px){.dettaglio-oper-main-content{flex-direction:column}.dettaglio-oper-chart-section,.dettaglio-oper-table-section{flex:1 1 100%;max-width:100%}.dettaglio-oper-chart-section{flex-direction:row;flex-wrap:wrap}.dettaglio-oper-chart-box{flex-basis:calc(50% - 8px);flex-grow:1;flex-shrink:1;min-width:300px}}@media (max-width:900px){.dettaglio-oper-chart-box{flex:1 1 100%}}.dettaglio-oper-table-actions{align-items:center;display:flex;gap:8px}.fullscreen-dettaglio-oper{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;max-height:none!important;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.fullscreen-dettaglio-oper .dettaglio-oper-chart-scroll,.fullscreen-dettaglio-oper .dettaglio-oper-table-wrapper{flex:1 1;max-height:none}.dettaglio-oper-fullscreen-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.dettaglio-oper-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.dettaglio-comm-container{display:flex;flex-direction:column;gap:20px;margin-top:20px}.dettaglio-comm-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:2fr 1fr;grid-template-rows:auto 1fr;min-height:500px}.dettaglio-comm-kpi{grid-column:1/-1}.dettaglio-comm-kpi .oper-hr-kpi-card-with-ring{align-items:center;flex-direction:row;gap:12px}.dettaglio-comm-kpi .oper-hr-kpi-card-with-ring .oper-hr-kpi-content{flex:1 1}.dettaglio-comm-kpi .oper-hr-kpi-card-with-ring .oper-hr-kpi-label{font-size:12px}.dettaglio-comm-kpi .oper-hr-kpi-card-with-ring .oper-hr-kpi-sublabel{color:#374151;font-size:13px;font-weight:600}.dettaglio-comm-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex:2 1;flex-direction:column;overflow:hidden}.dettaglio-comm-table-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.dettaglio-comm-table-title{color:#2e6db1;font-size:15px;font-weight:700}.dettaglio-comm-table-controls{align-items:center;display:flex;gap:12px}.dettaglio-comm-view-type-container{display:flex;gap:4px}.dettaglio-comm-view-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:600;height:32px;justify-content:center;min-width:32px;padding:0 10px;transition:all .2s ease}.dettaglio-comm-view-btn:hover{background:#e2e8f0;color:#475569}.dettaglio-comm-view-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#2e6db1}.dettaglio-comm-view-btn span{font-family:monospace}.dettaglio-comm-download-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 6px #10b98140;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease}.dettaglio-comm-download-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98159;transform:translateY(-1px)}.dettaglio-comm-download-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.dettaglio-comm-config-row{background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:16px;padding:12px 20px}.dettaglio-comm-config-item{display:flex;flex:1 1;flex-direction:column;gap:4px;max-width:280px;min-width:180px}.dettaglio-comm-config-item label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.dettaglio-comm-select__control{background:#fff!important;border-color:#e2e8f0!important;border-radius:6px!important;box-shadow:none!important;font-size:13px;min-height:36px!important}.dettaglio-comm-select__control:hover{border-color:#cbd5e1!important}.dettaglio-comm-select__control--is-focused{border-color:#2e6db1!important;box-shadow:0 0 0 1px #2e6db1!important}.dettaglio-comm-select__value-container{padding:2px 8px!important}.dettaglio-comm-select__multi-value{background:#eff6ff!important;border:1px solid #bfdbfe!important;border-radius:4px!important;margin:2px!important}.dettaglio-comm-select__multi-value__label{color:#1e40af!important;font-size:11px!important;font-weight:500!important;padding:2px 4px!important}.dettaglio-comm-select__multi-value__remove{color:#3b82f6!important;padding:0 4px!important}.dettaglio-comm-select__multi-value__remove:hover{background:#dbeafe!important;color:#1e40af!important}.dettaglio-comm-select__menu{border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;z-index:100!important}.dettaglio-comm-select__option{font-size:13px!important;padding:8px 12px!important}.dettaglio-comm-select__option--is-selected{background:#2e6db1!important}.dettaglio-comm-select__option--is-focused{background:#eff6ff!important}.dettaglio-comm-select__placeholder{color:#94a3b8!important;font-size:13px!important}.dettaglio-comm-select__indicator-separator{display:none!important}.dettaglio-comm-select__dropdown-indicator{color:#64748b!important;padding:4px!important}.dettaglio-comm-select__clear-indicator{color:#94a3b8!important;padding:4px!important}.dettaglio-comm-select__clear-indicator:hover{color:#dc2626!important}.dettaglio-comm-select-more-badge{align-items:center;background:#e0e7ff;border-radius:4px;color:#3730a3;display:inline-flex;font-size:10px;font-weight:600;justify-content:center;margin:2px;padding:2px 6px}.dettaglio-comm-no-data{align-items:center;background:#f8fafc;border-radius:8px;color:#64748b;display:flex;font-size:14px;justify-content:center;margin:20px;padding:60px 20px;text-align:center}.dettaglio-comm-table-wrapper{flex:1 1;overflow:auto;padding:0}.dettaglio-comm-table{border-collapse:collapse;font-size:12px;width:100%}.dettaglio-comm-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 2px 8px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:10}.dettaglio-comm-table th{border:1px solid #e2e8f0;color:#475569;font-size:10px;font-weight:700;letter-spacing:.3px;padding:10px 8px;text-align:center;text-transform:uppercase;white-space:nowrap}.dettaglio-comm-table th.th-settore{background:linear-gradient(135deg,#f8fafc,#f1f5f9);left:0;min-width:120px;position:-webkit-sticky;position:sticky;text-align:left;z-index:15}.dettaglio-comm-table th.th-periodo{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1e40af}.dettaglio-comm-table th.th-totale{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857}.dettaglio-comm-table th.th-metrica{font-size:9px;min-width:60px;padding:8px 6px}.dettaglio-comm-table th.th-totale-metrica{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.dettaglio-comm-table td{border:1px solid #f1f5f9;color:#0f172a;font-size:11px;padding:8px 6px;text-align:center}.dettaglio-comm-table td.td-settore{background:#fff;border-right:2px solid #e2e8f0;color:#2e6db1;font-weight:600;left:0;min-width:220px;position:-webkit-sticky;position:sticky;text-align:left;white-space:nowrap;z-index:5}.dettaglio-comm-table td.td-expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.dettaglio-comm-table td.td-expandable:hover{background:#f0f9ff}.dettaglio-comm-table .expand-icon{color:#64748b;display:inline-block;font-size:10px;margin-right:4px;text-align:center;width:16px}.dettaglio-comm-table .level-label{color:#94a3b8;font-size:9px;font-weight:500;margin-right:4px;text-transform:uppercase}.dettaglio-comm-table .level-value{color:#2e6db1;display:inline-block;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.dettaglio-comm-table td.td-indent-1{padding-left:24px}.dettaglio-comm-table td.td-indent-2{padding-left:44px}.dettaglio-comm-table td.td-indent-3{padding-left:64px}.dettaglio-comm-table td.td-indent-4{padding-left:84px}.dettaglio-comm-table tr.tr-level-1{background:#fff}.dettaglio-comm-table tr.tr-level-1 td.td-settore .level-value{color:#1e40af;font-weight:700}.dettaglio-comm-table tr.tr-level-2,.dettaglio-comm-table tr.tr-level-2 td.td-settore{background:#f8fafc}.dettaglio-comm-table tr.tr-level-2 td.td-settore .level-value{color:#047857}.dettaglio-comm-table tr.tr-level-3,.dettaglio-comm-table tr.tr-level-3 td.td-settore{background:#f1f5f9}.dettaglio-comm-table tr.tr-level-3 td.td-settore .level-value{color:#7c3aed}.dettaglio-comm-table tr.tr-level-4,.dettaglio-comm-table tr.tr-level-4 td.td-settore{background:#e8eef4}.dettaglio-comm-table tr.tr-level-4 td.td-settore .level-value{color:#b45309}.dettaglio-comm-table tr.tr-level-5,.dettaglio-comm-table tr.tr-level-5 td.td-settore{background:#e2e8f0}.dettaglio-comm-table tr.tr-level-5 td.td-settore .level-value{color:#475569;font-weight:500}.dettaglio-comm-table tbody tr.highlighted{background:#dbeafe!important;border-left:3px solid #2563eb}.dettaglio-comm-table tbody tr.highlighted td.td-settore{background:#dbeafe!important}.dettaglio-comm-table tbody tr{transition:background-color .2s ease}.dettaglio-comm-table tbody tr:hover,.dettaglio-comm-table tbody tr:hover td.td-settore{background:#eff6ff!important}.dettaglio-comm-table td.td-totale{background:#f8fafc;border-left:2px solid #e2e8f0}.dettaglio-comm-table tbody tr:hover td{background:#fafbfc}.dettaglio-comm-table tbody tr:hover td.td-settore{background:#f0f9ff}.dettaglio-comm-table tbody tr:hover td.td-totale{background:#f0fdf4}.dettaglio-comm-table tr.tr-totali{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.dettaglio-comm-table tr.tr-totali td{border-top:2px solid #cbd5e1;font-weight:600}.dettaglio-comm-table tr.tr-totali td.td-settore{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#0f172a}.dettaglio-comm-table td.value-positive{color:#059669}.dettaglio-comm-table td.value-negative{color:#dc2626}.dettaglio-comm-table td.value-high{color:#d97706}.dettaglio-comm-table td.value-danger{color:#dc2626}.dettaglio-comm-table td.value-straordinari{color:#b91c1c}.dettaglio-comm-chart-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex:1 1;flex-direction:column;min-height:500px;min-width:350px;overflow:hidden}.dettaglio-comm-chart-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.dettaglio-comm-chart-title{color:#2e6db1;font-size:15px;font-weight:700}.dettaglio-comm-chart-actions{align-items:center;display:flex;gap:8px}.dettaglio-comm-clear-filter-btn{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px;transition:all .2s ease}.dettaglio-comm-clear-filter-btn:hover{background:#fee2e2;border-color:#f87171}.dettaglio-comm-filter-badge{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #bfdbfe;display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px}.dettaglio-comm-filter-label{color:#1e40af;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.dettaglio-comm-filter-tags{display:flex;flex-wrap:wrap;gap:6px}.dettaglio-comm-filter-tag{align-items:center;background:#fff;border:1px solid #3b82f6;border-radius:4px;color:#1d4ed8;display:inline-flex;font-size:11px;font-weight:500;gap:4px;max-width:180px;padding:4px 8px}.dettaglio-comm-filter-tag-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dettaglio-comm-filter-tag button{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-left:2px;padding:0;transition:color .2s}.dettaglio-comm-filter-tag button:hover{color:#dc2626}.dettaglio-comm-empty-chart{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.dettaglio-comm-empty-icon{align-items:center;background:#f3f4f6;border-radius:50%;display:flex;height:64px;justify-content:center;margin-bottom:16px;width:64px}.dettaglio-comm-empty-icon svg{color:#9ca3af;height:32px;width:32px}.dettaglio-comm-empty-chart p{color:#6b7280;font-size:14px;margin:0}.dettaglio-comm-empty-state{align-items:center;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:12px;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:80px 20px;text-align:center}.dettaglio-comm-empty-state .dettaglio-comm-empty-icon{height:80px;margin-bottom:20px;width:80px}.dettaglio-comm-empty-state .dettaglio-comm-empty-icon svg{height:40px;width:40px}.dettaglio-comm-empty-state h4{color:#374151;font-size:18px;font-weight:600;margin:0 0 8px}.dettaglio-comm-empty-state p{color:#6b7280;font-size:14px;margin:0;max-width:300px}.dettaglio-comm-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:60px 20px;text-align:center}.dettaglio-comm-loading-spinner{animation:dettaglio-comm-spin 1s linear infinite;border:3px solid #f1f5f9;border-radius:50%;border-top-color:#2e6db1;height:44px;margin-bottom:16px;width:44px}@keyframes dettaglio-comm-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dettaglio-comm-loading p{color:#64748b;font-size:14px;margin:0}@media (max-width:1200px){.dettaglio-comm-content{flex-direction:column}.dettaglio-comm-chart-section,.dettaglio-comm-table-section{flex:1 1;min-width:auto}.dettaglio-comm-chart-section{min-height:400px}}@media (max-width:768px){.dettaglio-comm-table-header{align-items:flex-start;flex-direction:column;gap:12px}.dettaglio-comm-table-controls{justify-content:space-between;width:100%}}.dettaglio-comm-kpi.oper-hr-kpi-cards{display:flex;flex-wrap:nowrap;gap:16px;margin-bottom:8px;width:100%}.dettaglio-comm-kpi .oper-hr-kpi-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;display:flex;flex:1 1;gap:14px;min-width:0;padding:16px 18px;transition:all .2s ease}.dettaglio-comm-kpi .oper-hr-kpi-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.dettaglio-comm-kpi .oper-hr-kpi-icon{align-items:center;border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.dettaglio-comm-kpi .oper-hr-kpi-icon svg{height:24px;width:24px}.dettaglio-comm-kpi .oper-hr-kpi-icon.operatori{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.dettaglio-comm-kpi .oper-hr-kpi-icon.commesse{background:linear-gradient(135deg,#f59e0b,#d97706)}.dettaglio-comm-kpi .oper-hr-kpi-icon.lavorate{background:linear-gradient(135deg,#016fb7,#015a94)}.dettaglio-comm-kpi .oper-hr-kpi-icon.non-lavorate{background:linear-gradient(135deg,#84cc16,#65a30d)}.dettaglio-comm-kpi .oper-hr-kpi-icon.straordinarie-pos{background:linear-gradient(135deg,#dc2626,#b91c1c)}.dettaglio-comm-kpi .oper-hr-kpi-content{display:flex;flex-direction:column;gap:2px;min-width:0}.dettaglio-comm-kpi .oper-hr-kpi-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.dettaglio-comm-kpi .oper-hr-kpi-value{color:#0f172a;font-size:22px;font-weight:700;line-height:1.2}.dettaglio-comm-kpi .oper-hr-kpi-value.straordinari{color:#b91c1c}.dettaglio-comm-kpi .oper-hr-kpi-sublabel{color:#94a3b8;font-size:12px;font-weight:500}@media (max-width:1400px){.dettaglio-comm-kpi .oper-hr-kpi-card{padding:14px 16px}.dettaglio-comm-kpi .oper-hr-kpi-value{font-size:20px}}@media (max-width:1200px){.dettaglio-comm-content{grid-template-columns:1fr}.dettaglio-comm-kpi{grid-column:1}.dettaglio-comm-kpi.oper-hr-kpi-cards{flex-wrap:wrap}.dettaglio-comm-kpi .oper-hr-kpi-card{flex-basis:calc(33% - 12px);flex-grow:1;flex-shrink:1;min-width:180px}}@media (max-width:768px){.dettaglio-comm-kpi .oper-hr-kpi-card{flex-basis:calc(50% - 8px);flex-grow:1;flex-shrink:1;padding:12px 14px}.dettaglio-comm-kpi .oper-hr-kpi-value{font-size:18px}}@media (max-width:480px){.dettaglio-comm-kpi .oper-hr-kpi-card{flex:1 1 100%}}.dettaglio-comm-table-actions{align-items:center;display:flex;gap:8px}.fullscreen-dettaglio-comm{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;max-height:none!important;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.fullscreen-dettaglio-comm .dettaglio-comm-table-wrapper{flex:1 1;max-height:none}.dettaglio-comm-fullscreen-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.dettaglio-comm-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.trend-generale-container{display:flex;flex-direction:column;gap:24px}.trend-gen-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000a;padding:24px}.trend-gen-section-title{align-self:center;color:#2e6db1;font-weight:700}.trend-gen-top-row{align-items:stretch;display:flex;gap:24px}.trend-gen-kpi-column{display:flex;flex-direction:column;gap:12px;min-width:200px}.trend-gen-chart-area{flex:1 1;min-width:0}.charts-title{justify-content:space-between;margin-bottom:20px}.trend-generale-container .oper-hr-kpi-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;display:flex;gap:14px;padding:16px 18px;transition:all .2s ease}.trend-generale-container .oper-hr-kpi-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.trend-generale-container .oper-hr-kpi-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.trend-generale-container .oper-hr-kpi-info{display:flex;flex-direction:column;gap:2px;min-width:0}.trend-generale-container .oper-hr-kpi-value{color:#0f172a;font-size:22px;font-weight:700;line-height:1.2}.trend-generale-container .oper-hr-kpi-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.oper-hr-kpi-icon.ingressi{background:linear-gradient(135deg,#34d399,#059669);color:#fff}.oper-hr-kpi-icon.uscite{background:linear-gradient(135deg,#f87171,#dc2626);color:#fff}.oper-hr-kpi-icon.delta{background:linear-gradient(135deg,#facc15,#ca8a04);color:#fff}.trend-generale-container .oper-hr-loading{align-items:center;color:#64748b;display:flex;font-size:14px;justify-content:center;padding:60px 20px}.trend-generale-container .oper-hr-empty-state{align-items:center;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:12px;color:#94a3b8;display:flex;font-size:14px;justify-content:center;padding:60px 20px}@media (max-width:768px){.trend-gen-top-row{flex-direction:column}.trend-gen-kpi-column{flex-direction:row;flex-wrap:wrap;min-width:0;min-width:auto}.trend-generale-container .oper-hr-kpi-card{flex:1 1;min-width:150px}}.trend-gen-section.fullscreen-trend{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.trend-gen-section.fullscreen-trend .trend-gen-chart-area,.trend-gen-section.fullscreen-trend>div:last-child{flex:1 1;min-height:0}.oper-hr-table-view-type-container .trend-fullscreen-btn{align-items:center;align-self:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:8px;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.oper-hr-table-view-type-container .trend-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.trend-kpi-container{display:flex;flex-direction:column;gap:24px}.trend-kpi-donuts-row{align-items:stretch;display:flex;gap:24px}.trend-kpi-donut-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000a;flex:1 1;min-width:0;padding:24px}.trend-kpi-section-title{color:#2e6db1;font-size:16px;font-weight:700;margin:0 0 12px}.trend-kpi-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;overflow:hidden}.trend-kpi-table-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.trend-kpi-table-wrapper{max-height:600px;min-height:200px;overflow:auto;position:relative}.trend-kpi-table{border-collapse:initial;border-spacing:0;font-size:12px;width:100%}.trend-kpi-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:10}.trend-kpi-table thead th{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #e2e8f0;color:#1e40af;font-size:11px;font-weight:700;letter-spacing:.3px;padding:10px 8px;text-align:center;text-transform:uppercase;white-space:nowrap}.trend-kpi-th-corner{background:linear-gradient(135deg,#f8fafc,#f1f5f9)!important;border:1px solid #e2e8f0!important;left:0;min-width:150px;position:-webkit-sticky;position:sticky;z-index:15}.trend-kpi-th-totale{background:linear-gradient(135deg,#ecfdf5,#d1fae5)!important;color:#047857!important;font-weight:700}.trend-kpi-table td{border:1px solid #f1f5f9;color:#0f172a;font-size:11px;padding:8px 6px;text-align:center;white-space:nowrap}.trend-kpi-cell-label{background:#fff;border-right:2px solid #e2e8f0!important;color:#2e6db1;font-weight:600;left:0;min-width:150px;padding-left:16px!important;position:-webkit-sticky;position:sticky;text-align:left!important;z-index:5}.trend-kpi-table tbody tr{transition:background-color .2s ease}.trend-kpi-table tbody tr:hover,.trend-kpi-table tbody tr:hover .trend-kpi-cell-label{background:#eff6ff!important}.trend-kpi-td-totale{background:#f0fdf4;border-left:2px solid #d1fae5!important;color:#047857;font-weight:700}.trend-kpi-cell-negativo{color:#dc2626!important;font-weight:600}.trend-kpi-cell-positivo{color:#16a34a!important;font-weight:600}.trend-kpi-cell-empty{color:#94a3b8;font-style:italic;padding:40px 20px!important;text-align:center!important}.trend-kpi-donut-section.fullscreen-trend,.trend-kpi-table-section.fullscreen-trend{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.trend-kpi-donut-section.fullscreen-trend .echarts-for-react,.trend-kpi-table-section.fullscreen-trend .trend-kpi-table-wrapper{flex:1 1;min-height:0}.trend-kpi-donut-section .charts-title{align-items:center;display:flex;justify-content:space-between}.trend-kpi-donut-section .charts-title .trend-kpi-section-title{margin:0}.trend-kpi-donut-section .charts-title .trend-fullscreen-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.trend-kpi-donut-section .charts-title .trend-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.oper-hr-table-view-type-container .trend-kpi-download-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 6px #10b98140;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease}.oper-hr-table-view-type-container .trend-kpi-download-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98159;transform:translateY(-1px)}.oper-hr-table-view-type-container .trend-kpi-download-btn svg{height:16px;width:16px}@media (max-width:768px){.trend-kpi-donuts-row{flex-direction:column}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes lf23-wave{0%,40%,to{transform:translateY(0)}20%{transform:translateY(-14px)}}@keyframes lf23-wave-reverse{0%,40%,to{transform:translateY(0)}20%{transform:translateY(14px)}}@keyframes lf23-spread-up{0%{opacity:.3;transform:translateY(18px)}60%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}@keyframes lf23-spread-down{0%{opacity:.3;transform:translateY(-18px)}60%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}@keyframes lf23-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lf23-pulse{0%,to{opacity:.45}50%{opacity:1}}.lf23-loader{align-items:center;animation:lf23-fade-in .3s ease-out;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.lf23-loader-bars-top{align-items:center;animation:lf23-spread-up .8s ease-out both;display:flex;gap:10px;height:28px;margin-bottom:8px}.lf23-loader-bars-top span{animation:lf23-wave-reverse 1.4s ease-in-out .6s infinite;display:inline-block;height:16px;width:16px}.lf23-loader-bars-top span:nth-child(3n+1){background:#c1d100;border-radius:50%}.lf23-loader-bars-top span:nth-child(3n+2){background:#006eb7;border-radius:2px}.lf23-loader-bars-top span:nth-child(3n+3){background:#93ccaa;border-radius:50%}.lf23-loader-bars-top span:first-child{animation-delay:.76s}.lf23-loader-bars-top span:nth-child(2){animation-delay:.68s}.lf23-loader-bars-top span:nth-child(3){animation-delay:.6s}.lf23-loader-brand{color:#066fb6;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:32px;font-weight:600;letter-spacing:1px;line-height:1;margin-bottom:8px;-webkit-user-select:none;user-select:none}.lf23-loader-bars{align-items:center;animation:lf23-spread-down .8s ease-out both;display:flex;gap:10px;height:28px;margin-bottom:16px}.lf23-loader-bars span{animation:lf23-wave 1.4s ease-in-out .6s infinite;display:inline-block;height:16px;width:16px}.lf23-loader-bars span:nth-child(3n+1){background:#c1d100;border-radius:50%}.lf23-loader-bars span:nth-child(3n+2){background:#006eb7;border-radius:2px}.lf23-loader-bars span:nth-child(3n+3){background:#93ccaa;border-radius:50%}.lf23-loader-bars span:first-child{animation-delay:.6s}.lf23-loader-bars span:nth-child(2){animation-delay:.68s}.lf23-loader-bars span:nth-child(3){animation-delay:.76s}.lf23-loader p{animation:lf23-pulse 2s ease-in-out infinite;color:#006eb7;font-size:12px;font-weight:500;letter-spacing:2px;margin:0;opacity:.5;text-transform:uppercase}.dettaglio-attivi-container{display:flex;flex-direction:column;gap:24px;padding:0 8px}.dettaglio-attivi-table-wrapper{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.dettaglio-attivi-table{border-collapse:collapse;font-size:13px;width:100%}.dettaglio-attivi-table thead th{background-color:#e9f2ff;border-right:1px solid #fff3;color:#1f41af;font-weight:600;padding:10px 12px;position:-webkit-sticky;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:1}.dettaglio-attivi-table thead th:last-child{border-right:none}.dettaglio-attivi-table tbody{display:block;max-height:444px;overflow-y:auto}.dettaglio-attivi-table tbody tr,.dettaglio-attivi-table tfoot tr,.dettaglio-attivi-table thead tr{display:table;table-layout:fixed;width:100%}.dettaglio-attivi-table tbody td{border-bottom:1px solid #e2e8f0;line-height:1.4;max-height:44px;overflow:hidden;padding:8px 12px}.dettaglio-attivi-operatore-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;white-space:normal;word-break:break-word}.dettaglio-attivi-table tbody td:nth-child(3),.dettaglio-attivi-table thead th:nth-child(3){text-align:center;width:50px}.dettaglio-attivi-table tbody td:nth-child(10),.dettaglio-attivi-table tbody td:nth-child(4),.dettaglio-attivi-table thead th:nth-child(10),.dettaglio-attivi-table thead th:nth-child(4){text-align:center;width:65px}.dettaglio-attivi-table tbody tr:nth-child(2n){background-color:#f8fafc}.dettaglio-attivi-table tbody tr:hover{background-color:#eef2ff}.dettaglio-attivi-table tfoot tr{border-top:2px solid #2563eb}.dettaglio-attivi-totale{color:#1e40af;font-weight:700;padding:10px 12px}.dettaglio-attivi-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.dettaglio-attivi-card{background:#fff;border-radius:8px;padding:16px;text-align:center}.dettaglio-attivi-card-title{color:#475569;font-size:13px;min-height:36px;white-space:pre-line}.dettaglio-attivi-card-value{color:#1e293b;font-size:28px;font-weight:700;margin:8px 0}.dettaglio-attivi-card-sub{color:#dc2626;font-size:12px}.dettaglio-attivi-card-svan{color:#dc2626;font-size:20px;font-weight:700;margin:4px 0}.dettaglio-attivi-card-perc{color:#64748b;font-size:11px;font-style:italic}.dettaglio-attivi-table-section{display:flex;flex-direction:column}.dettaglio-attivi-table-header{display:flex;justify-content:flex-end;margin-bottom:8px}.dettaglio-attivi-fullscreen-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.dettaglio-attivi-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.dettaglio-attivi-table-section.fullscreen-trend{background:#f8fafc;border-radius:0;bottom:0;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.dettaglio-attivi-table-section.fullscreen-trend .dettaglio-attivi-table-wrapper{flex:1 1;min-height:0}.dettaglio-attivi-table-section.fullscreen-trend .dettaglio-attivi-table tbody{max-height:none}.dettaglio-attivi-download-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 6px #10b98140;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:10px;margin-right:7px;padding:8px 14px;transition:all .2s ease}.dettaglio-attivi-download-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98159;transform:translateY(-1px)}.dettaglio-attivi-download-btn svg{height:16px;width:16px}.teu-container{display:flex;flex-direction:column;gap:24px}.teu-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000a;padding:24px}.teu-section-title{color:#2e6db1;font-size:18px;font-weight:700;margin:0 0 16px}.teu-section-content{align-items:flex-start;display:flex;gap:24px}.teu-table-wrapper{flex:1 1;max-height:320px;overflow-x:auto;overflow-y:auto}.teu-chart-wrapper{flex:1 1;min-width:0}.teu-chart-title{color:#1a3a5c;font-size:15px;font-weight:700;margin:0 0 8px;text-align:center}.teu-table{border-collapse:initial;border-spacing:0;font-size:12px;width:100%}.teu-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:10}.teu-table thead th{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #e2e8f0;color:#1e40af;font-size:11px;font-weight:700;letter-spacing:.3px;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.teu-table tfoot{bottom:0;position:-webkit-sticky;position:sticky;z-index:10}.teu-table tbody td{border:1px solid #f1f5f9;color:#0f172a;font-size:11px;padding:8px 12px}.teu-table tbody tr{transition:background-color .2s ease}.teu-table tbody tr:hover{background:#eff6ff!important}.teu-cell-name{color:#2e6db1;font-weight:600}.teu-cell-number,.teu-table thead th:nth-child(2),.teu-table thead th:nth-last-child(-n+2){text-align:right}.teu-row-totale td{background:#f0fdf4;border-bottom:none;color:#047857;font-weight:700;padding:10px 12px}@media (max-width:768px){.teu-section-content{flex-direction:column}}.teu-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.teu-section-header .teu-section-title{margin:0}.teu-fullscreen-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.teu-fullscreen-btn:hover{box-shadow:0 4px 16px #3b82f666;transform:scale(1.1) rotate(5deg)}.teu-section.fullscreen-teu{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.teu-section.fullscreen-teu .teu-section-content{flex:1 1;min-height:0}.dettaglio-gg-kpi-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(6,1fr);margin-bottom:20px}.dettaglio-gg-kpi-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;min-height:200px;padding:16px}.dettaglio-gg-kpi-label{color:#016fb7;font-size:13px;font-weight:600;margin-bottom:8px;text-align:center}.dettaglio-gg-kpi-value{align-items:center;color:#0f172a;display:flex;flex:1 1;font-size:48px;font-weight:700;justify-content:center;line-height:1}.dettaglio-gg-bottom-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.dettaglio-gg-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000a;padding:20px}.dettaglio-gg-panel-title{color:#016fb7;display:block;font-size:15px;font-weight:700;margin-bottom:12px}.dettaglio-gg-placeholder{align-items:center;color:#94a3b8;display:flex;font-size:14px;font-style:italic;justify-content:center;min-height:200px}.dettaglio-gg-table-wrapper{max-height:350px;overflow-y:auto}.dettaglio-gg-table{border-collapse:collapse;font-size:13px;width:100%}.dettaglio-gg-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 2px 8px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:10}.dettaglio-gg-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.dettaglio-gg-table th:not(:first-child){text-align:center}.dettaglio-gg-table tbody tr{transition:background-color .2s ease}.dettaglio-gg-table tbody tr:hover{background:#eff6ff!important}.dettaglio-gg-table td{border-bottom:1px solid #e5e7eb;color:#0f172a;padding:8px 12px}.dettaglio-gg-table td:not(:first-child){text-align:center}.dettaglio-gg-table tfoot{bottom:0;position:-webkit-sticky;position:sticky}.dettaglio-gg-table tfoot td{background:#f0f9ff;border-top:2px solid #e5e7eb;color:#1f2937;font-weight:600;padding:10px 12px}.dettaglio-gg-table tr.tr-level-1{background:#fff}.dettaglio-gg-table tr.tr-level-1 .level-value{color:#1e40af;font-weight:700}.dettaglio-gg-table tr.tr-level-2{background:#f8fafc}.dettaglio-gg-table tr.tr-level-2 .level-value{color:#047857;font-weight:600}.dettaglio-gg-table tr.tr-level-3{background:#f1f5f9}.dettaglio-gg-table tr.tr-level-3 .level-value{color:#7c3aed;font-weight:500}.dettaglio-gg-table tr.tr-level-4{background:#eef2ff}.dettaglio-gg-table tr.tr-level-4 .level-value{color:#64748b;font-weight:400}.dettaglio-gg-table .expand-icon{color:#64748b;display:inline-block;font-size:10px;margin-right:4px;text-align:center;width:16px}.dettaglio-gg-table .level-value{color:#2e6db1;display:inline-block;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.dettaglio-gg-table td.td-expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.dettaglio-gg-table td.td-expandable:hover{background:#f0f9ff}.dettaglio-gg-table td.td-indent-1{padding-left:24px}.dettaglio-gg-table td.td-indent-2{padding-left:44px}.dettaglio-gg-table td.td-indent-3{padding-left:64px}@media (max-width:1400px){.dettaglio-gg-kpi-row{grid-template-columns:repeat(3,1fr)}}@media (max-width:992px){.dettaglio-gg-kpi-row{grid-template-columns:repeat(2,1fr)}.dettaglio-gg-bottom-row{grid-template-columns:1fr}}@media (max-width:576px){.dettaglio-gg-kpi-row{grid-template-columns:1fr}}.assegnazioni-gg-container{min-height:400px;width:100%}.assegnazioni-gg-table-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;overflow:hidden;padding:20px}.assegnazioni-gg-table-header{align-items:center;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;margin-bottom:16px}.assegnazioni-gg-download-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.assegnazioni-gg-download-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 6px #10b9814d;transform:translateY(-1px)}.assegnazioni-gg-fullscreen-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.assegnazioni-gg-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.assegnazioni-gg-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;flex:1 1;max-height:600px;overflow:auto}.assegnazioni-gg-table-wrapper::-webkit-scrollbar{height:8px;width:8px}.assegnazioni-gg-table-wrapper::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.assegnazioni-gg-table-wrapper::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:4px}.assegnazioni-gg-table-wrapper::-webkit-scrollbar-thumb:hover{background:#6b7280}.assegnazioni-gg-table{border-collapse:collapse;font-size:13px;min-width:100%;table-layout:auto;width:auto}.assegnazioni-gg-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 2px 8px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:10}.assegnazioni-gg-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:10px 8px;text-align:left;white-space:nowrap}.assegnazioni-gg-table tbody tr{transition:background-color .2s ease}.assegnazioni-gg-table tbody tr:nth-child(2n){background:#f8fafc}.assegnazioni-gg-table tbody tr:nth-child(odd){background:#fff}.assegnazioni-gg-table tbody tr:hover{background-color:#eff6ff}.assegnazioni-gg-table tbody tr:not(:last-child){border-bottom:1px solid #e5e7eb}.assegnazioni-gg-table td{color:#4b5563;padding:8px;white-space:nowrap}.assegnazioni-gg-table tfoot{background:#f0f9ff;bottom:0;position:-webkit-sticky;position:sticky}.assegnazioni-gg-table tfoot td{background:#f0f9ff;border-top:2px solid #e5e7eb;color:#1f2937;font-weight:600;padding:10px 8px}.assegnazioni-gg-totale{color:#1e40af;font-weight:700}.fullscreen-assegnazioni-gg{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;max-height:none!important;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.fullscreen-assegnazioni-gg .assegnazioni-gg-table-wrapper{flex:1 1;max-height:none}.generale-charts-container .charts-title{align-items:center;color:#2e6db1;display:flex;font-weight:700;margin-left:5px}.automezzi-gen-chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.automezzi-gen-chart-header .charts-title{margin-bottom:0}.generale-charts-container .fullscreen-chart{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.automezzi-gen-fullscreen-btn{align-items:center;align-self:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:8px;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.automezzi-gen-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.oper-hr-table-view-type-container .automezzi-gen-fullscreen-btn{align-items:center;align-self:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:8px;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.oper-hr-table-view-type-container .automezzi-gen-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.controllo-km-ore-container{display:flex;flex-direction:column;gap:20px;margin-top:20px}.controllo-km-ore-config-row{background:#fff;box-shadow:0 1px 3px #0000000d;display:flex;flex-wrap:wrap;gap:16px;padding:16px 20px}.controllo-km-ore-config-item{display:flex;flex:1 1;flex-direction:column;gap:6px;max-width:300px;min-width:200px}.controllo-km-ore-config-item label{color:#374151;font-size:12px;font-weight:600}.controllo-km-ore-select__control{background:#fff!important;border-color:#e2e8f0!important;border-radius:8px!important;box-shadow:none!important;font-size:13px;min-height:38px!important}.controllo-km-ore-select__control:hover{border-color:#cbd5e1!important}.controllo-km-ore-select__control--is-focused{border-color:#2e6db1!important;box-shadow:0 0 0 1px #2e6db1!important}.controllo-km-ore-select__value-container{padding:2px 8px!important}.controllo-km-ore-select__multi-value{background:#eff6ff!important;border:1px solid #bfdbfe!important;border-radius:4px!important;margin:2px!important}.controllo-km-ore-select__multi-value__label{color:#1e40af!important;font-size:12px!important;font-weight:500!important;padding:2px 6px!important}.controllo-km-ore-select__multi-value__remove{color:#3b82f6!important}.controllo-km-ore-select__multi-value__remove:hover{background:#dbeafe!important;color:#1e40af!important}.controllo-km-ore-select__menu{border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;z-index:100!important}.controllo-km-ore-select__option{font-size:13px!important;padding:10px 12px!important}.controllo-km-ore-select__option--is-selected{background:#2e6db1!important}.controllo-km-ore-select__option--is-focused{background:#eff6ff!important}.controllo-km-ore-select__placeholder{color:#94a3b8!important;font-size:13px!important}.controllo-km-ore-select__indicator-separator{display:none!important}.controllo-km-ore-select-more-badge{align-items:center;background:#e0e7ff;border-radius:4px;color:#3730a3;display:inline-flex;font-size:10px;font-weight:600;justify-content:center;margin:2px;padding:2px 6px}.controllo-km-ore-download-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 6px #10b98140;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease}.controllo-km-ore-download-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98159;transform:translateY(-1px)}.controllo-km-ore-download-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.controllo-km-ore-download-btn svg{height:16px;width:16px}.controllo-km-ore-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;overflow:hidden}.controllo-km-ore-table-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.controllo-km-ore-table-title{color:#2e6db1;font-size:15px;font-weight:700}.controllo-km-ore-loading{animation:pulse 1.5s ease-in-out infinite;color:#6b7280;font-size:13px;font-weight:500}.controllo-km-ore-table-wrapper{max-height:600px;min-height:200px;overflow:auto;position:relative}.controllo-km-ore-loading-overlay{align-items:center;background:#fffffff2;bottom:0;color:#374151;display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:16px;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.controllo-km-ore-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#2e6db1;height:40px;width:40px}.controllo-km-ore-table{border-collapse:initial;border-spacing:0;font-size:12px;width:100%}.controllo-km-ore-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 2px 8px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:10}.controllo-km-ore-table th{border:1px solid #e2e8f0;color:#475569;font-size:10px;font-weight:700;letter-spacing:.3px;padding:10px 8px;text-align:center;text-transform:uppercase;white-space:nowrap}.controllo-km-ore-table th.th-settore{background:linear-gradient(135deg,#f8fafc,#f1f5f9);left:0;min-width:180px;padding-left:16px;position:-webkit-sticky;position:sticky;text-align:left;z-index:15}.controllo-km-ore-table th.th-periodo{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1e40af;font-size:11px;font-weight:700}.controllo-km-ore-table th.th-metrica{font-size:9px;min-width:80px;padding:8px 6px}.controllo-km-ore-table th.th-totale-header{font-weight:700;text-align:center;vertical-align:middle}.controllo-km-ore-table th.th-metrica-totale,.controllo-km-ore-table th.th-totale-header{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857}.controllo-km-ore-table td{border:1px solid #f1f5f9;color:#0f172a;font-size:11px;padding:8px 6px;text-align:center}.controllo-km-ore-table td.td-settore{background:#fff;border-right:2px solid #e2e8f0;color:#2e6db1;font-weight:600;left:0;min-width:220px;position:-webkit-sticky;position:sticky;text-align:left;white-space:nowrap;z-index:5}.controllo-km-ore-table td.td-expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.controllo-km-ore-table td.td-expandable:hover{background:#f0f9ff}.controllo-km-ore-table .expand-icon{color:#64748b;display:inline-block;font-size:10px;margin-right:4px;text-align:center;width:16px}.controllo-km-ore-table .level-value{color:#2e6db1;font-weight:600}.controllo-km-ore-table td.td-indent-0{padding-left:12px}.controllo-km-ore-table td.td-indent-1{padding-left:32px}.controllo-km-ore-table td.td-indent-2{padding-left:52px}.controllo-km-ore-table td.td-indent-3{padding-left:72px}.controllo-km-ore-table tr.tr-level-1{background:#fff}.controllo-km-ore-table tr.tr-level-1 td.td-settore .level-value{color:#1e40af;font-weight:700}.controllo-km-ore-table tr.tr-level-2,.controllo-km-ore-table tr.tr-level-2 td.td-settore{background:#f8fafc}.controllo-km-ore-table tr.tr-level-2 td.td-settore .level-value{color:#047857}.controllo-km-ore-table tr.tr-level-3,.controllo-km-ore-table tr.tr-level-3 td.td-settore{background:#f1f5f9}.controllo-km-ore-table tr.tr-level-3 td.td-settore .level-value{color:#7c3aed}.controllo-km-ore-table tr.tr-level-4,.controllo-km-ore-table tr.tr-level-4 td.td-settore{background:#e8eef4}.controllo-km-ore-table tr.tr-level-4 td.td-settore .level-value{color:#b45309}.controllo-km-ore-table tbody tr{transition:background-color .2s ease}.controllo-km-ore-table tbody tr:hover,.controllo-km-ore-table tbody tr:hover td.td-settore{background:#eff6ff!important}.controllo-km-ore-table tbody tr:hover td{background:#fafbfc}.controllo-km-ore-table tr.tr-totali{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.controllo-km-ore-table tr.tr-totali td{border-top:2px solid #cbd5e1;font-weight:600}.controllo-km-ore-table tr.tr-totali td.td-settore{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#0f172a}.controllo-km-ore-table td.value-positive{color:#059669}.controllo-km-ore-table td.value-negative{color:#dc2626}.controllo-km-ore-table td.value-high{color:#d97706}.controllo-km-ore-table td.value-danger{color:#dc2626}.controllo-km-ore-table td.value-straordinari{color:#b91c1c}@media (max-width:768px){.controllo-km-ore-config-row{flex-direction:column}.controllo-km-ore-config-item{max-width:100%}}.controllo-km-ore-table-section.fullscreen-table{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.controllo-km-ore-table-section.fullscreen-table .controllo-km-ore-table-wrapper{flex:1 1;max-height:none}.controllo-km-ore-table-header-btn{align-items:center;display:flex}.controllo-km-ore-fullscreen-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:8px;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.controllo-km-ore-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.spazzato-generale-container{display:flex;flex-direction:column;gap:20px;padding:20px}.spazzato-generale-row{display:flex;flex-direction:row;gap:20px}.spazzato-generale-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.spazzato-generale-table-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.spazzato-generale-table-title{color:#2e6db1;font-size:15px;font-weight:700}.spazzato-generale-table-wrapper{max-height:350px;overflow:auto;position:relative}.spazzato-table{border-collapse:collapse;font-size:12px;width:100%}.spazzato-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 2px 8px #00000014;position:-webkit-sticky;position:sticky;top:-1px;z-index:10}.spazzato-table th{border:1px solid #e2e8f0;color:#475569;font-size:10px;font-weight:700;letter-spacing:.3px;padding:10px 8px;text-align:center;text-transform:uppercase;white-space:nowrap}.spazzato-table th:first-child{background:linear-gradient(135deg,#f8fafc,#f1f5f9);left:0;min-width:100px;padding-left:16px;position:-webkit-sticky;position:sticky;text-align:left;z-index:15}.spazzato-table td{border:1px solid #f1f5f9;color:#0f172a;font-size:11px;padding:8px 6px;text-align:center}.spazzato-table td:first-child{background:#fff;border-right:2px solid #e2e8f0;color:#2e6db1;font-weight:600;left:0;padding-left:16px;position:-webkit-sticky;position:sticky;text-align:left;z-index:5}.spazzato-table tbody tr{transition:background-color .2s ease}.spazzato-table tbody tr:hover,.spazzato-table tbody tr:hover td:first-child{background:#eff6ff!important}.spazzato-table tfoot{bottom:-1px;position:-webkit-sticky;position:sticky;z-index:10}.spazzato-table-total-row{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.spazzato-table-total-row td{border-top:2px solid #10b981;font-weight:700;padding:10px 8px}.spazzato-table-total-row td,.spazzato-table-total-row td:first-child{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857}.spazzato-generale-chart-container .spazzato-generale-table-header{border-radius:8px 8px 0 0}.spazzato-generale-chart-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;flex:1 1;overflow:hidden;padding:15px}.spazzato-chart-with-fixed-axis{display:flex;flex-direction:row;width:100%}.spazzato-chart-yaxis{flex-shrink:0;width:80px}.spazzato-chart-scroll{flex:1 1;overflow-x:auto;overflow-y:hidden}.spazzato-generale-line-chart{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:15px}.charts-title{align-items:center;display:flex}.spazzato-table-row-clickable{cursor:pointer}.spazzato-table-row-selected{background:#dbeafe!important}.spazzato-table-row-selected td{background:#dbeafe!important;font-weight:600}.spazzato-table-row-selected td:first-child{background:#dbeafe!important;color:#1e40af}.spazzato-table-row-dimmed{opacity:.4}.spazzato-table-row-dimmed td:first-child{opacity:.6}.fullscreen-chart{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.fullscreen-chart .spazzato-generale-table-wrapper{flex:1 1;max-height:none}.spazzato-generale-fullscreen-btn{align-items:center;align-self:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:8px;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.spazzato-generale-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.oper-hr-table-view-type-container .spazzato-generale-fullscreen-btn{align-items:center;align-self:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:8px;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.oper-hr-table-view-type-container .spazzato-generale-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.spazzato-dettaglio-container{display:flex;flex-direction:column;gap:20px;margin-top:20px}.spazzato-dettaglio-config-row{background:#fff;box-shadow:0 1px 3px #0000000d;display:flex;flex-wrap:wrap;gap:16px;padding:16px 20px}.spazzato-dettaglio-config-item{display:flex;flex:1 1;flex-direction:column;gap:6px;max-width:300px;min-width:200px}.spazzato-dettaglio-config-item label{color:#374151;font-size:12px;font-weight:600}.spazzato-dettaglio-select__control{background:#fff!important;border-color:#e2e8f0!important;border-radius:8px!important;box-shadow:none!important;font-size:13px;min-height:38px!important}.spazzato-dettaglio-select__control:hover{border-color:#cbd5e1!important}.spazzato-dettaglio-select__control--is-focused{border-color:#2e6db1!important;box-shadow:0 0 0 1px #2e6db1!important}.spazzato-dettaglio-select__value-container{padding:2px 8px!important}.spazzato-dettaglio-select__multi-value{background:#eff6ff!important;border:1px solid #bfdbfe!important;border-radius:4px!important;margin:2px!important}.spazzato-dettaglio-select__multi-value__label{color:#1e40af!important;font-size:12px!important;font-weight:500!important;padding:2px 6px!important}.spazzato-dettaglio-select__multi-value__remove{color:#3b82f6!important}.spazzato-dettaglio-select__multi-value__remove:hover{background:#dbeafe!important;color:#1e40af!important}.spazzato-dettaglio-select__menu{border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;z-index:100!important}.spazzato-dettaglio-select__option{font-size:13px!important;padding:10px 12px!important}.spazzato-dettaglio-select__option--is-selected{background:#2e6db1!important}.spazzato-dettaglio-select__option--is-focused{background:#eff6ff!important}.spazzato-dettaglio-select__placeholder{color:#94a3b8!important;font-size:13px!important}.spazzato-dettaglio-select__indicator-separator{display:none!important}.spazzato-dettaglio-select-more-badge{align-items:center;background:#e0e7ff;border-radius:4px;color:#3730a3;display:inline-flex;font-size:10px;font-weight:600;justify-content:center;margin:2px;padding:2px 6px}.spazzato-dettaglio-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;overflow:hidden}.spazzato-dettaglio-table-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.spazzato-dettaglio-table-title{color:#2e6db1;font-size:15px;font-weight:700}.spazzato-dettaglio-download-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 6px #10b98140;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease}.spazzato-dettaglio-download-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98159;transform:translateY(-1px)}.spazzato-dettaglio-download-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.spazzato-dettaglio-download-btn svg{height:16px;width:16px}.spazzato-dettaglio-loading{animation:pulse 1.5s ease-in-out infinite;color:#6b7280;font-size:13px;font-weight:500}.spazzato-dettaglio-charts-row{display:flex;gap:20px;margin-bottom:20px}.spazzato-dettaglio-chart-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex:1 1;min-width:0;padding:15px}.spazzato-dettaglio-chart-wrapper .chart-title{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:10px}.spazzato-dettaglio-table-wrapper{max-height:600px;min-height:200px;overflow:auto;position:relative}.spazzato-dettaglio-table{border-collapse:collapse;font-size:12px;width:100%}.spazzato-dettaglio-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 2px 8px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:10}.spazzato-dettaglio-table th{border:1px solid #e2e8f0;color:#475569;font-size:10px;font-weight:700;letter-spacing:.3px;padding:10px 8px;text-align:center;text-transform:uppercase;white-space:nowrap}.spazzato-dettaglio-table th.th-settore{background:linear-gradient(135deg,#f8fafc,#f1f5f9);left:0;min-width:180px;padding-left:16px;position:-webkit-sticky;position:sticky;text-align:left;z-index:15}.spazzato-dettaglio-table th.th-periodo{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1e40af;font-size:11px;font-weight:700}.spazzato-dettaglio-table th.th-metrica{font-size:9px;min-width:80px;padding:8px 6px}.spazzato-dettaglio-table td{border:1px solid #f1f5f9;color:#0f172a;font-size:11px;padding:8px 6px;text-align:center}.spazzato-dettaglio-table td.td-settore{background:#fff;border-right:2px solid #e2e8f0;color:#2e6db1;font-weight:600;left:0;min-width:220px;position:-webkit-sticky;position:sticky;text-align:left;white-space:nowrap;z-index:5}.spazzato-dettaglio-table td.td-expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.spazzato-dettaglio-table td.td-expandable:hover{background:#f0f9ff}.spazzato-dettaglio-table .expand-icon{color:#64748b;cursor:pointer;display:inline-block;font-size:10px;margin-right:4px;text-align:center;width:16px}.spazzato-dettaglio-table .expand-icon:hover{color:#2e6db1}.spazzato-dettaglio-table .level-value{color:#2e6db1;font-weight:600}.spazzato-dettaglio-table td.td-indent-0{padding-left:12px}.spazzato-dettaglio-table td.td-indent-1{padding-left:32px}.spazzato-dettaglio-table td.td-indent-2{padding-left:52px}.spazzato-dettaglio-table td.td-indent-3{padding-left:72px}.spazzato-dettaglio-table tr.tr-level-0{background:#fff}.spazzato-dettaglio-table tr.tr-level-0 td.td-settore .level-value{color:#1e40af;font-weight:700}.spazzato-dettaglio-table tr.tr-level-1,.spazzato-dettaglio-table tr.tr-level-1 td.td-settore{background:#f8fafc}.spazzato-dettaglio-table tr.tr-level-1 td.td-settore .level-value{color:#047857}.spazzato-dettaglio-table tr.tr-level-2,.spazzato-dettaglio-table tr.tr-level-2 td.td-settore{background:#f1f5f9}.spazzato-dettaglio-table tr.tr-level-2 td.td-settore .level-value{color:#7c3aed}.spazzato-dettaglio-table tr.tr-level-3,.spazzato-dettaglio-table tr.tr-level-3 td.td-settore{background:#e8eef4}.spazzato-dettaglio-table tr.tr-level-3 td.td-settore .level-value{color:#b45309}.spazzato-dettaglio-table tbody tr{transition:background-color .2s ease}.spazzato-dettaglio-table tbody tr:hover,.spazzato-dettaglio-table tbody tr:hover td.td-settore{background:#eff6ff!important}.spazzato-dettaglio-table tbody tr:hover td{background:#fafbfc}.spazzato-dettaglio-table tr.tr-totale{background:#f8fafc!important;border-top:3px solid #2e6db1;font-weight:700}.spazzato-dettaglio-table tr.tr-totale td{border-top:3px solid #2e6db1;color:#1e40af;font-size:12px;font-weight:700;padding:12px 8px}.spazzato-dettaglio-table tr.tr-totale td.td-settore{background:#f8fafc!important;border-right:2px solid #e2e8f0;color:#1e40af;font-weight:700;left:0;min-width:220px;position:-webkit-sticky;position:sticky;text-align:left;z-index:5}.spazzato-dettaglio-table tr.tr-totale:hover,.spazzato-dettaglio-table tr.tr-totale:hover td.td-settore{background:#f1f5f9!important}.spazzato-dettaglio-chart-controls{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;display:flex;gap:12px;margin-bottom:16px;padding:12px 20px}.spazzato-dettaglio-chart-controls label{color:#374151;font-size:13px;font-weight:600}.spazzato-dettaglio-chart-controls select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#374151;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.spazzato-dettaglio-chart-controls select:hover{border-color:#cbd5e1}.spazzato-dettaglio-chart-controls select:focus{border-color:#2e6db1;box-shadow:0 0 0 1px #2e6db1;outline:none}@media (max-width:768px){.spazzato-dettaglio-config-row{flex-direction:column}.spazzato-dettaglio-config-item{max-width:100%}}.spazzato-dettaglio-table-section.fullscreen-table{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.spazzato-dettaglio-table-section.fullscreen-table .spazzato-dettaglio-table-wrapper{flex:1 1;max-height:none}.spazzato-dettaglio-table-header-btn{align-items:center;display:flex}.dettaglio-table-fullscreen-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:8px;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.dettaglio-table-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.spazzato-dettaglio-chart-wrapper.fullscreen-chart{background:#f8fafc;border-radius:0;bottom:0;box-shadow:none;display:flex;flex-direction:column;left:0;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.spazzato-dettaglio-chart-wrapper.fullscreen-chart>div:last-child{flex:1 1;min-height:0}.dettaglio-chart-fullscreen-btn,.oper-hr-table-view-type-container .dettaglio-chart-fullscreen-btn{align-items:center;align-self:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:8px;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.dettaglio-chart-fullscreen-btn:hover,.oper-hr-table-view-type-container .dettaglio-chart-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}.panoramica-container{display:flex;flex-direction:column;gap:20px;padding:15px}.panoramica-charts-row{display:flex;gap:20px}.panoramica-chart-half{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;flex:1 1;min-width:0;padding:15px}.panoramica-container .charts-title{align-items:center;color:#2e6db1;display:flex;font-weight:700;justify-content:space-between;margin-bottom:10px;margin-left:5px}.panoramica-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px;padding:60px 20px}.panoramica-loading p{color:#6b7280;font-size:13px;font-weight:500}.panoramica-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#2e6db1;height:40px;width:40px}.panoramica-empty{align-items:center;color:#6c757d;display:flex;font-size:16px;justify-content:center;min-height:300px}.panoramica-chart-half.fullscreen-panoramica{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.panoramica-chart-half.fullscreen-panoramica .echarts-for-react{flex:1 1;min-height:0}.panoramica-fullscreen-btn{align-items:center;border:none;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-left:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.oper-hr-table-view-type-container .panoramica-fullscreen-btn,.panoramica-fullscreen-btn{background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;height:28px;min-width:28px;padding:0;width:28px}.oper-hr-table-view-type-container .panoramica-fullscreen-btn:hover,.panoramica-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}@media (max-width:992px){.panoramica-charts-row{flex-direction:column}}.costi-carburante-container{display:flex;flex-direction:column;gap:20px;margin-top:20px}.costi-carburante-config-row{background:#fff;box-shadow:0 1px 3px #0000000d;display:flex;flex-wrap:wrap;gap:16px;padding:16px 20px}.costi-carburante-config-item{display:flex;flex:1 1;flex-direction:column;gap:6px;max-width:300px;min-width:200px}.costi-carburante-config-item label{color:#374151;font-size:12px;font-weight:600}.costi-carburante-select__control{background:#fff!important;border-color:#e2e8f0!important;border-radius:8px!important;box-shadow:none!important;font-size:13px;min-height:38px!important}.costi-carburante-select__control:hover{border-color:#cbd5e1!important}.costi-carburante-select__control--is-focused{border-color:#2e6db1!important;box-shadow:0 0 0 1px #2e6db1!important}.costi-carburante-select__value-container{padding:2px 8px!important}.costi-carburante-select__multi-value{background:#eff6ff!important;border:1px solid #bfdbfe!important;border-radius:4px!important;margin:2px!important}.costi-carburante-select__multi-value__label{color:#1e40af!important;font-size:12px!important;font-weight:500!important;padding:2px 6px!important}.costi-carburante-select__multi-value__remove{color:#3b82f6!important}.costi-carburante-select__multi-value__remove:hover{background:#dbeafe!important;color:#1e40af!important}.costi-carburante-select__menu{border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;z-index:100!important}.costi-carburante-select__option{font-size:13px!important;padding:10px 12px!important}.costi-carburante-select__option--is-selected{background:#2e6db1!important}.costi-carburante-select__option--is-focused{background:#eff6ff!important}.costi-carburante-select__placeholder{color:#94a3b8!important;font-size:13px!important}.costi-carburante-select__indicator-separator{display:none!important}.costi-carburante-select-more-badge{align-items:center;background:#e0e7ff;border-radius:4px;color:#3730a3;display:inline-flex;font-size:10px;font-weight:600;justify-content:center;margin:2px;padding:2px 6px}.costi-carburante-download-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 6px #10b98140;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease}.costi-carburante-download-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98159;transform:translateY(-1px)}.costi-carburante-download-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.costi-carburante-download-btn svg{height:16px;width:16px}.costi-carburante-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;overflow:hidden}.costi-carburante-table-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.costi-carburante-table-title{color:#2e6db1;font-size:15px;font-weight:700}.costi-carburante-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px;padding:60px 20px}.costi-carburante-loading p{color:#6b7280;font-size:13px;font-weight:500}.costi-carburante-empty{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.costi-carburante-empty p{color:#6b7280;font-size:13px;font-weight:500}.costi-carburante-table-wrapper{max-height:600px;min-height:200px;overflow:auto;padding-bottom:20px;position:relative}.costi-carburante-loading-overlay{align-items:center;background:#fffffff2;bottom:0;color:#374151;display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:16px;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.costi-carburante-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#2e6db1;height:40px;width:40px}.costi-carburante-table{border-collapse:initial;border-spacing:0;font-size:12px;width:100%}.costi-carburante-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 2px 8px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:10}.costi-carburante-table th{border:1px solid #e2e8f0;color:#475569;font-size:10px;font-weight:700;letter-spacing:.3px;padding:10px 8px;text-align:center;text-transform:uppercase;white-space:nowrap}.costi-carburante-table th.th-settore{background:linear-gradient(135deg,#f8fafc,#f1f5f9);left:0;min-width:180px;padding-left:16px;position:-webkit-sticky;position:sticky;text-align:left;z-index:15}.costi-carburante-table th.th-periodo{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1e40af;font-size:11px;font-weight:700}.costi-carburante-table th.th-metrica{font-size:9px;min-width:80px;padding:8px 6px}.costi-carburante-table th.th-totale-header{font-weight:700;text-align:center;vertical-align:middle}.costi-carburante-table th.th-metrica-totale,.costi-carburante-table th.th-totale-header{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857}.costi-carburante-table td{border:1px solid #f1f5f9;color:#0f172a;font-size:11px;padding:8px 6px;text-align:center}.costi-carburante-table td.td-settore{background:#fff;border-right:2px solid #e2e8f0;color:#2e6db1;font-weight:600;left:0;min-width:220px;position:-webkit-sticky;position:sticky;text-align:left;white-space:nowrap;z-index:5}.costi-carburante-table td.td-expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.costi-carburante-table td.td-expandable:hover{background:#f0f9ff}.costi-carburante-table .expand-icon{color:#64748b;display:inline-block;font-size:10px;margin-right:4px;text-align:center;width:16px}.costi-carburante-table .level-value{color:#2e6db1;font-weight:600}.costi-carburante-table td.td-indent-0{padding-left:12px}.costi-carburante-table td.td-indent-1{padding-left:32px}.costi-carburante-table td.td-indent-2{padding-left:52px}.costi-carburante-table td.td-indent-3{padding-left:72px}.costi-carburante-table tr.tr-level-1{background:#fff}.costi-carburante-table tr.tr-level-1 td.td-settore .level-value{color:#1e40af;font-weight:700}.costi-carburante-table tr.tr-level-2,.costi-carburante-table tr.tr-level-2 td.td-settore{background:#f8fafc}.costi-carburante-table tr.tr-level-2 td.td-settore .level-value{color:#047857}.costi-carburante-table tr.tr-level-3,.costi-carburante-table tr.tr-level-3 td.td-settore{background:#f1f5f9}.costi-carburante-table tr.tr-level-3 td.td-settore .level-value{color:#7c3aed}.costi-carburante-table tr.tr-level-4,.costi-carburante-table tr.tr-level-4 td.td-settore{background:#e8eef4}.costi-carburante-table tr.tr-level-4 td.td-settore .level-value{color:#b45309}.costi-carburante-table tbody tr{transition:background-color .2s ease}.costi-carburante-table tbody tr:hover,.costi-carburante-table tbody tr:hover td.td-settore{background:#eff6ff!important}.costi-carburante-table tbody tr:hover td{background:#fafbfc}.costi-carburante-table tr.tr-totali{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.costi-carburante-table tr.tr-totali td{border-top:2px solid #cbd5e1;font-weight:600}.costi-carburante-table tr.tr-totali td.td-settore{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#0f172a}.costi-carburante-table td.value-positive{color:#059669}.costi-carburante-table td.value-negative{color:#dc2626}.costi-carburante-table td.value-high{color:#d97706}.costi-carburante-table td.value-danger{color:#dc2626}.costi-carburante-table td.value-straordinari{color:#b91c1c}.costi-carburante-table-section.fullscreen-costi{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.costi-carburante-table-section.fullscreen-costi .costi-carburante-table-wrapper{flex:1 1;min-height:0}.costi-carburante-fullscreen-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.costi-carburante-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}@media (max-width:768px){.costi-carburante-config-row{flex-direction:column}.costi-carburante-config-item{max-width:100%}}.dettaglio-costi-container{display:flex;flex-direction:column;gap:20px;margin-top:20px}.dettaglio-costi-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;overflow:hidden}.dettaglio-costi-table-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.dettaglio-costi-table-title{color:#2e6db1;font-size:15px;font-weight:700}.dettaglio-costi-download-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 6px #10b98140;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease}.dettaglio-costi-download-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98159;transform:translateY(-1px)}.dettaglio-costi-download-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.dettaglio-costi-download-btn svg{height:16px;width:16px}.dettaglio-costi-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.dettaglio-costi-spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#2e6db1;height:40px;width:40px}.dettaglio-costi-loading p{color:#6b7280;font-size:13px;font-weight:500}.dettaglio-costi-empty{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.dettaglio-costi-empty p{color:#6b7280;font-size:13px;font-weight:500}.dettaglio-costi-table-wrapper{max-height:600px;min-height:200px;overflow:auto;position:relative}.dettaglio-costi-table{border-collapse:collapse;font-size:12px;width:100%}.dettaglio-costi-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 2px 8px #00000014;position:-webkit-sticky;position:sticky;top:-2px;z-index:10}.dettaglio-costi-table th{border:1px solid #e2e8f0;color:#475569;font-size:10px;font-weight:700;letter-spacing:.3px;padding:10px 8px;text-align:center;text-transform:uppercase;white-space:nowrap}.dettaglio-costi-table td{border:1px solid #f1f5f9;color:#0f172a;font-size:11px;padding:8px 6px;text-align:center}.dettaglio-costi-table tbody tr{transition:background-color .2s ease}.dettaglio-costi-table tbody tr:hover{background:#eff6ff!important}.dettaglio-costi-table tbody tr:hover td{background:#fafbfc}.dettaglio-costi-table-section.fullscreen-dettaglio{background:#f8fafc;border-radius:0;bottom:0;display:flex;flex-direction:column;left:0;overflow:auto;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.dettaglio-costi-table-section.fullscreen-dettaglio .dettaglio-costi-table-wrapper{flex:1 1;min-height:0}.dettaglio-costi-fullscreen-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.dettaglio-costi-fullscreen-btn:hover{background:linear-gradient(135deg,#3b82f6,#60a5fa);box-shadow:0 4px 16px #3b82f666;color:#000;transform:scale(1.1) rotate(5deg)}@media (max-width:768px){.dettaglio-costi-table-wrapper{max-height:400px}.dettaglio-costi-table{font-size:11px}.dettaglio-costi-table th{font-size:9px;padding:8px 6px}.dettaglio-costi-table td{font-size:10px;padding:6px 4px}}.pagination-compact{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px;padding:16px}.pagination-btn-compact{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:7px 14px;transition:all .2s}.pagination-btn-compact:hover:not(:disabled){background:#f8fafc;border-color:#2e6db1;color:#2e6db1}.pagination-btn-compact:disabled{background:#f8fafc;cursor:not-allowed;opacity:.4}.pagination-info-compact{align-items:center;display:flex;flex-direction:column;gap:2px}.pagination-text-compact{color:#0f172a;font-size:12px;font-weight:600}.pagination-total-compact{color:#64748b;font-size:11px}.items-per-page-compact{align-items:center;display:flex;gap:8px;margin-left:8px}.items-label-compact{color:#64748b;font-size:11px;font-weight:500}.items-buttons-compact{display:flex;gap:4px}.items-btn-compact{background:#fff;border:1px solid #e2e8f0;border-radius:5px;color:#64748b;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .2s}.items-btn-compact:hover{background:#f8fafc;border-color:#2e6db1;color:#2e6db1}.items-btn-compact.active{background:linear-gradient(135deg,#2e6db1,#3b82f6);border-color:#2e6db1;color:#fff}@media (max-width:768px){.pagination-compact{flex-direction:column;gap:10px}.items-per-page-compact{flex-direction:column;gap:6px;margin-left:0}}@keyframes pf-bar-bounce{0%,40%,to{transform:scaleY(.3)}20%{transform:scaleY(1)}}@keyframes pf-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.pf-loader-overlay{align-items:center;animation:pf-fade-in .4s ease-out;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.pf-loader-bars{align-items:center;display:flex;gap:5px;height:48px}.pf-loader-bars span{animation:pf-bar-bounce 1.2s ease-in-out infinite;border-radius:3px;display:inline-block;height:48px;transform-origin:center;width:6px}.pf-loader-bars span:first-child{animation-delay:0s;background:#10b981}.pf-loader-bars span:nth-child(2){animation-delay:.1s;background:#f59e0b}.pf-loader-bars span:nth-child(3){animation-delay:.2s;background:#f87171}.pf-loader-bars span:nth-child(4){animation-delay:.3s;background:#3b82f6}.pf-loader-bars span:nth-child(5){animation-delay:.4s;background:#5f9279}.pf-loader-bars span:nth-child(6){animation-delay:.5s;background:#38bdf8}.pf-loader-bars span:nth-child(7){animation-delay:.6s;background:#9ca3af}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}*{box-sizing:border-box}.piano-ferie-container{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.piano-ferie-container .container_filtro_categoria{background:#f8fafc;flex-shrink:0;height:auto;min-height:auto;padding:12px 20px}.tab-content-wrapper{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.page-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;min-height:80px;padding:16px 20px}.header-content{gap:16px;min-height:48px;width:100%}.back-button,.header-content{align-items:center;display:flex}.back-button{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:13px;font-weight:500;gap:6px;padding:7px 12px;transition:all .2s}.back-button:hover{background:#f8fafc;border-color:#5f9279;color:#5f9279}.header-title{flex:1 1}.header-title-row{align-items:center;display:flex;gap:10px}.header-title h2{color:#0f172a;font-size:32px;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0 0 6px}.info-button-modern{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.info-button-modern:hover{box-shadow:0 4px 16px #3b82f666;transform:scale(1.1) rotate(5deg)}.info-button-modern:active{transform:scale(.95)}.info-icon-text{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:700;line-height:1}.header-subtitle{color:#64748b;font-size:13px;margin:0}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;gap:14px;padding:20px 24px;position:relative}.modal-header,.modal-icon{align-items:center;display:flex}.modal-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:12px;flex-shrink:0;height:48px;justify-content:center;width:48px}.modal-header h3{color:#fff;flex:1 1;font-size:20px;font-weight:700;margin:0}.modal-close{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.modal-close:hover{background:#ffffff40;transform:rotate(90deg)}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.modal-section{margin-bottom:24px}.modal-section:last-child{margin-bottom:0}.modal-section h4{align-items:center;color:#0f172a;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 12px}.modal-section h4:before{background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:2px;content:"";height:20px;width:4px}.modal-section p{color:#475569;font-size:14px;line-height:1.7;margin:0 0 12px}.modal-section ul{list-style:none;margin:12px 0;padding-left:8px}.modal-section li{align-items:center;color:#475569;display:flex;font-size:14px;gap:10px;line-height:1.7;margin-bottom:8px}.legend-dot{border-radius:4px;flex-shrink:0;height:20px;width:20px}.legend-dot.confermato{background:linear-gradient(135deg,#10b981,#34d399)}.legend-dot.richiesto{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.legend-dot.rifiutato{background:linear-gradient(135deg,#ef4444,#f87171)}.legend-dot.festivo{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.legend-dot.domenica{background:linear-gradient(135deg,#94a3b8,#cbd5e1)}.legend-dot.accordo{background:linear-gradient(135deg,#166534,#22c55e)}.piano-ferie-container .content-area{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:16px 20px;width:100%}.top-controls{flex-shrink:0;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.controls-left,.top-controls{align-items:center;display:flex}.controls-left{gap:10px}.controls-right{align-items:center;display:flex;gap:10px}.search-bar-compact{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;display:flex;gap:8px;height:40px;max-width:100%;min-width:280px;padding:10px 14px;transition:all .2s}.search-bar-compact:focus-within{border-color:#2e6db1;box-shadow:0 0 0 2px #2e6db11a}.search-bar-compact svg{color:#94a3b8;flex-shrink:0}.search-bar-compact input{background:#0000;border:none;color:#0f172a;flex:1 1;font-size:13px;outline:none}.search-bar-compact input::placeholder{color:#94a3b8}.year-selector{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:2px;padding:3px}.year-btn{background:#0000;border:none;border-radius:5px;color:#64748b;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .2s}.year-btn:hover{color:#5f9279}.year-btn.active{background:#fff;box-shadow:0 1px 2px #0000001a;color:#5f9279}.toggle-filters-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#475569;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;height:40px;padding:10px 18px;transition:all .2s;white-space:nowrap}.toggle-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1}.toggle-filters-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.toggle-filters-btn svg{transition:transform .3s ease}.toggle-filters-btn.active svg{transform:rotate(180deg)}.toggle-legenda-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:7px 14px;transition:all .2s}.toggle-legenda-btn:hover{border-color:#5f9279;color:#5f9279}.toggle-legenda-btn.active{background:linear-gradient(135deg,#5f9279,#7ab896);border-color:#5f9279;color:#fff}.filters-panel{animation:slideDown .2s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;flex-shrink:0;margin-bottom:16px;padding:14px}.filters-grid-compact{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-item label{color:#475569;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.piano-ferie-select__control{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:none!important;cursor:pointer!important;font-size:13px!important;min-height:38px!important}.piano-ferie-select__control:hover{border-color:#cbd5e1!important}.piano-ferie-select__control--is-focused{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.piano-ferie-select__value-container{padding:2px 10px!important}.piano-ferie-select__single-value{color:#0f172a!important;font-size:13px!important}.piano-ferie-select__placeholder{color:#94a3b8!important;font-size:13px!important}.piano-ferie-select__indicator-separator{display:none!important}.piano-ferie-select__dropdown-indicator{color:#64748b!important;padding:6px!important}.piano-ferie-select__dropdown-indicator:hover{color:#3b82f6!important}.piano-ferie-select__menu{border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 20px #00000026!important;margin-top:4px!important;overflow:hidden!important;z-index:9999!important}.piano-ferie-select__menu-list{padding:4px!important}.piano-ferie-select__option{border-radius:6px!important;cursor:pointer!important;font-size:13px!important;margin-bottom:2px!important;padding:10px 12px!important}.piano-ferie-select__option:last-child{margin-bottom:0!important}.piano-ferie-select__option--is-selected{background:linear-gradient(135deg,#3b82f6,#60a5fa)!important;color:#fff!important}.piano-ferie-select__option--is-focused:not(.piano-ferie-select__option--is-selected){background:#eff6ff!important;color:#1e40af!important}.piano-ferie-select__option:active{background:#dbeafe!important}.piano-ferie-select__input-container{color:#0f172a!important;font-size:13px!important}.filter-actions{display:flex;flex-direction:column;justify-content:flex-end}.btn-reset-compact{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;justify-content:center;padding:7px 12px;transition:all .2s}.btn-reset-compact:hover{background:#f8fafc;border-color:#5f9279;color:#5f9279}.legenda-container{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:16px;padding:12px 16px}.legenda-item{align-items:center;color:#475569;display:flex;font-size:13px;font-weight:500;gap:10px}.legenda-color{border-radius:4px;flex-shrink:0;height:20px;width:20px}.legenda-color.confermato{background:linear-gradient(135deg,#10b981,#34d399)}.legenda-color.richiesto{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.legenda-color.rifiutato{background:linear-gradient(135deg,#ef4444,#f87171)}.legenda-color.festivo{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.legenda-color.domenica{background:linear-gradient(135deg,#94a3b8,#cbd5e1)}.legenda-color.accordo{background:linear-gradient(135deg,#166534,#22c55e)}.stats-grid-compact{grid-gap:12px;display:grid;flex-shrink:0;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.stat-card-compact{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;overflow:hidden;padding:12px 14px;position:relative;transition:all .2s}.stat-card-compact:before{content:"";height:100%;left:0;position:absolute;top:0;transition:width .3s;width:3px}.stat-card-compact:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.stat-primary:before{background:#5f9279}.stat-success:before{background:#10b981}.stat-warning:before{background:#f59e0b}.stat-info:before{background:#8b5cf6}.stat-danger:before{background:#ef4444}.stat-icon-compact{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.stat-primary .stat-icon-compact{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#5f9279}.stat-success .stat-icon-compact{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#10b981}.stat-warning .stat-icon-compact{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#f59e0b}.stat-info .stat-icon-compact{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#8b5cf6}.stat-danger .stat-icon-compact{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#ef4444}.stat-content-compact{flex:1 1;min-width:0}.stat-label-compact{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.3px;margin:0 0 3px;text-transform:uppercase}.stat-value-compact{color:#0f172a;font-size:20px;font-weight:700;line-height:1;margin:0}.calendar-wrapper{--cell-size:14px;--cell-gap:3px;--month-gap:10px;--month-width:calc(var(--cell-size)*31 + var(--cell-gap)*30);--row-height:60px;--expanded-row-height:44px;--header-height:44px;--fixed-left-width:610px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;display:flex;flex:1 1;flex-direction:row;min-height:0;overflow:hidden}.calendar-fixed-left{background:#fff;border-right:1px solid #334155;display:flex;flex-direction:column;flex-shrink:0;width:var(--fixed-left-width);z-index:10}.fixed-header-row{background:linear-gradient(135deg,#1e293b,#334155);border-bottom:none;box-shadow:0 2px 4px #0000001a;min-height:62px;padding:8px 0}.fixed-counter-row,.fixed-header-row{align-items:center;display:flex;flex-shrink:0}.fixed-counter-row{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-bottom:1px solid #bae6fd;height:36px}.calendar-info-counter{align-items:center;box-sizing:border-box;display:flex;flex:1 1;gap:8px;min-width:0;padding:0 12px}.counter-badge{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:14px;color:#fff;display:inline-flex;font-size:13px;font-weight:700;height:28px;justify-content:center;min-width:60px;padding:4px 20px;white-space:nowrap}.counter-label{color:#475569;font-size:11px;font-weight:500}.calendar-stats-counter{box-sizing:border-box;display:flex;justify-content:center;min-width:70px;padding:0 8px;width:70px}.counter-label-small{color:#64748b;font-size:10px;font-weight:600;text-transform:uppercase}.header-btn-placeholder{flex-shrink:0;height:28px;margin-left:8px;width:66px}.calendar-info-header{flex:1 1;padding:0 16px}.calendar-info-header,.calendar-stats-header{box-sizing:border-box;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.calendar-stats-header{min-width:70px;padding:0 8px;text-align:center;width:70px}.fixed-body{flex:1 1;overflow-x:hidden;overflow-y:auto}.fixed-row-wrapper{border-bottom:1px solid #f1f5f9}.fixed-row-wrapper:last-child{border-bottom:none}.fixed-main-row{align-items:center;box-sizing:border-box;display:flex;height:var(--row-height)}.fixed-main-row:hover{background:#fafbfc}.expand-btn{border-radius:6px;height:28px;margin-left:8px;width:28px}.expand-btn:hover{background:#f8fafc;border-color:#5f9279;color:#5f9279}.calendar-info{box-sizing:border-box;flex:1 1;min-width:0;padding:0 16px}.dipendente-nome{color:#0f172a;font-size:13px;font-weight:600;margin-bottom:4px}.dipendente-details{display:flex;flex-wrap:wrap;gap:6px}.badge-cantiere{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:4px;color:#2563eb}.badge-cantiere,.badge-commessa{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px}.badge-commessa{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #ddd6fe;border-radius:4px;color:#7c3aed}.calendar-stats{box-sizing:border-box;display:flex;gap:4px;justify-content:center;min-width:70px;padding:0 8px;width:70px}.stat-item{align-items:center;border-radius:4px;display:inline-flex;font-size:10px;font-weight:700;height:20px;justify-content:center;min-width:24px;padding:0 6px}.stat-item.confermato{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669}.stat-item.richiesto{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#d97706}.stat-item.rifiutato{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626}.fixed-expanded-years{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-top:1px solid #bae6fd}.fixed-expanded-row{align-items:center;border-top:1px dashed #bae6fd;box-sizing:border-box;display:flex;height:var(--expanded-row-height)}.fixed-expanded-row:first-child{border-top:none}.expand-btn-placeholder{flex-shrink:0;height:28px;margin-left:8px;width:28px}.sub-row-year{color:#64748b;font-size:12px;font-weight:600}.calendar-scroll-right{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.scroll-header-row{background:linear-gradient(135deg,#1e293b,#334155);border-bottom:none;box-shadow:0 2px 4px #0000001a;flex-shrink:0;height:auto;overflow-x:auto;overflow-y:hidden}.scroll-header-row::-webkit-scrollbar{display:none}.scroll-header-row{-ms-overflow-style:none;scrollbar-width:none}.scroll-counter-row{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-bottom:1px solid #bae6fd;flex-shrink:0;height:36px;overflow:hidden}.scroll-counter-row::-webkit-scrollbar{display:none}.scroll-counter-row{-ms-overflow-style:none;scrollbar-width:none}.calendar-counter-days{align-items:center;display:flex;gap:var(--month-gap);height:100%;min-width:-webkit-max-content;min-width:max-content;padding:6px 12px}.month-counter-block{display:flex;flex-direction:row;flex-shrink:0;gap:var(--cell-gap);width:var(--month-width)}.day-counter-cell{align-items:center;display:flex;flex-shrink:0;height:22px;justify-content:center;width:var(--cell-size)}.day-counter-cell.empty{visibility:hidden}.day-counter-cell.domenica{background:#e2e8f0;border-radius:3px}.day-counter-cell .counter-value{color:#94a3b8;font-size:9px;font-weight:600}.day-counter-cell .counter-value.has-ferie{color:#059669;font-weight:700}.calendar-header-days{display:flex;gap:var(--month-gap);min-width:-webkit-max-content;min-width:max-content;padding:8px 12px}.month-header-block{display:flex;flex-direction:column;flex-shrink:0;gap:5px}.month-header-label{align-items:center;background:#475569;border-radius:4px;box-sizing:border-box;color:#fff;display:flex;font-size:11px;font-weight:700;gap:8px;justify-content:center;letter-spacing:.8px;padding:4px 6px;text-transform:uppercase;width:var(--month-width)}.month-name{flex-shrink:0}.month-total{background:#ffffff26;border-radius:3px;color:#94a3b8;font-size:9px;font-weight:600;letter-spacing:0;padding:2px 6px;text-transform:none}.month-header-days{display:flex;gap:var(--cell-gap)}.day-header-cell{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:2px;justify-content:center;width:var(--cell-size)}.day-header-cell.empty{visibility:hidden}.day-header-cell.domenica .day-header-abbr,.day-header-cell.domenica .day-header-num{color:#94a3b8}.day-header-num{color:#cbd5e1;font-size:10px;font-weight:600;line-height:1}.day-header-abbr{color:#94a3b8;font-size:9px;font-weight:500;line-height:1;text-transform:uppercase}.scroll-body{flex:1 1;overflow-x:auto;overflow-x:overlay;overflow-y:auto}.scroll-row-wrapper{border-bottom:1px solid #f1f5f9;min-width:-webkit-fit-content;min-width:fit-content}.scroll-row-wrapper:last-child{border-bottom:none}.scroll-main-row{align-items:center;box-sizing:border-box;display:flex;height:var(--row-height);padding:0 12px}.scroll-main-row:hover{background:#fafbfc}.scroll-expanded-years{border-top:1px solid #bae6fd}.scroll-expanded-row{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-top:1px dashed #bae6fd;box-sizing:border-box;display:flex;height:var(--expanded-row-height);min-width:-webkit-max-content;min-width:max-content;padding:0 12px}.scroll-expanded-row:first-child{border-top:none}.calendar-grid{align-items:center;display:flex;gap:var(--month-gap);min-width:-webkit-max-content;min-width:max-content}.month-block{display:flex;flex-direction:row;flex-shrink:0;gap:var(--cell-gap);width:var(--month-width)}.calendar-cell{background:#f1f5f9;border:.5px solid #00000026;border-radius:3px;cursor:pointer;flex-shrink:0;height:var(--cell-size);transition:all .15s;width:var(--cell-size)}.calendar-cell.empty{background:#0000;border:none;cursor:default;visibility:hidden}.calendar-cell:not(.empty):hover{box-shadow:0 2px 8px #0000004d;position:relative;transform:scale(1.6);z-index:10}.calendar-cell.ferie-confermato{background:linear-gradient(135deg,#10b981,#34d399)}.calendar-cell.ferie-richiesto{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.calendar-cell.ferie-rifiutato{background:linear-gradient(135deg,#ef4444,#f87171)}.calendar-cell.ferie-accordo,.calendar-cell.ferie-spostata_accordo{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.calendar-cell.ferie-rifiutata{background:linear-gradient(135deg,#f87171,#fca5a5)}.calendar-cell.ferie-proposta_rifiutata_accordo,.calendar-cell.ferie-rifiutata_accordo{background:linear-gradient(135deg,#dc2626,#ef4444)}.calendar-cell.ferie-proposta_rifiutata{background:linear-gradient(135deg,#f87171,#fca5a5)}.calendar-cell.ferie-spostata{background:linear-gradient(135deg,#38bdf8,#7dd3fc)}.calendar-cell.ferie-nuova_richiesta{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.calendar-cell.ferie-confermata{background:linear-gradient(135deg,#10b981,#34d399)}.calendar-cell.ferie-bozza{background:repeating-linear-gradient(-45deg,#fcd34d,#fcd34d 3px,#fff 0,#fff 6px);border:1px dashed #f59e0b}.calendar-cell.ferie-spostata_bozza{background:repeating-linear-gradient(-45deg,#38bdf8,#38bdf8 3px,#fff 0,#fff 6px);border:1px dashed #0ea5e9}.calendar-cell.ferie-rifiutata_bozza{background:repeating-linear-gradient(-45deg,#f87171,#f87171 3px,#fff 0,#fff 6px);border:1px dashed #ef4444}.calendar-cell.domenica{background:#cbd5e1}.calendar-cell.festivo{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.calendar-cell.split-domenica-festivo{background:linear-gradient(135deg,#cbd5e1 50%,#8b5cf6 0)}.calendar-cell.split-domenica-ferie-confermato{background:linear-gradient(135deg,#cbd5e1 50%,#10b981 0)}.calendar-cell.split-domenica-ferie-richiesto{background:linear-gradient(135deg,#cbd5e1 50%,#f59e0b 0)}.calendar-cell.split-domenica-ferie-rifiutato{background:linear-gradient(135deg,#cbd5e1 50%,#ef4444 0)}.calendar-cell.split-domenica-ferie-accordo{background:linear-gradient(135deg,#cbd5e1 50%,#166534 0)}.no-more-data{color:#94a3b8;font-size:12px;font-style:italic;padding:12px 20px;text-align:center}.empty-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg{color:#cbd5e1;margin-bottom:16px}.empty-state h3{color:#475569;font-size:18px;font-weight:600;margin:0 0 8px}.empty-state p{color:#94a3b8;font-size:14px;margin:0}.assegnazioni-view{--fixed-left-width:350px;display:flex;flex-direction:column}.assegnazioni-unified-scroll{flex:1 1;min-height:0;overflow-x:auto;overflow-y:auto}.assegnazioni-unified-inner{display:grid;grid-template-columns:-webkit-max-content 1fr;grid-template-columns:max-content 1fr;min-width:-webkit-max-content;min-width:max-content}.piano-ferie-container .assegnazione-group-container,.piano-ferie-container .cantiere-group-container{display:grid;grid-column:1/-1;grid-template-columns:subgrid}.assegnazioni-header-row,.assegnazioni-row{display:contents}.assegnazioni-left-cell.sticky-left{align-items:center;border-right:1px solid #94a3b84d;box-sizing:border-box;display:flex;left:0;min-width:350px;position:-webkit-sticky;position:sticky;z-index:10}.assegnazioni-header-row>.assegnazioni-left-cell{left:0;min-height:62px;padding:8px 0;z-index:30}.assegnazioni-header-row>.assegnazioni-left-cell,.assegnazioni-header-row>.assegnazioni-right-cell{background:linear-gradient(135deg,#1e293b,#334155);box-shadow:0 2px 4px #0000001a;position:-webkit-sticky;position:sticky;top:0}.assegnazioni-header-row>.assegnazioni-right-cell{z-index:20}.piano-ferie-container .assegnazioni-row.commessa-header-row>.assegnazioni-left-cell{position:-webkit-sticky;position:sticky;top:62px;z-index:17}.piano-ferie-container .assegnazioni-row.commessa-header-row>.assegnazioni-right-cell{position:-webkit-sticky;position:sticky;top:62px;z-index:16}.piano-ferie-container .assegnazioni-row.assegnazione-row.sticky-assegnazione>.assegnazioni-left-cell{background:#f8fafc;box-shadow:0 2px 4px #0000000f;position:-webkit-sticky;position:sticky;top:94px;z-index:15}.piano-ferie-container .assegnazioni-row.assegnazione-row.sticky-assegnazione>.assegnazioni-right-cell{background:#f8fafc;box-shadow:0 2px 4px #0000000f;position:-webkit-sticky;position:sticky;top:94px;z-index:14}.assegnazioni-right-cell{align-items:center;display:flex;min-width:-webkit-max-content;min-width:max-content}.commessa-header-bg{background:#334155;color:#fff}.assegnazione-bg{background:#f8fafc}.dip-header-bg{background:#f1f5f9}.dipendente-bg{background:#fff}.dipendente-alert-bg{background:linear-gradient(90deg,#fef2f2,#fff5f5)}.assegnazioni-right-cell.commessa-header-bg{background:#334155}.assegnazioni-right-cell.dip-header-bg{background:#f1f5f9}.filter-item-inline{align-items:center;display:flex;gap:8px}.filter-item-inline label{color:#64748b;font-size:13px;font-weight:500;white-space:nowrap}.filter-item-inline .piano-ferie-select__control{min-width:180px}.assegnazioni-stats{align-items:center;display:flex;gap:12px}.stat-badge{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:13px;padding:6px 12px}.stat-badge strong{color:#1e293b;margin-right:4px}.header-btn-placeholder-small{flex-shrink:0;width:28px}.calendar-commessa,.calendar-commessa-counter,.calendar-commessa-header{flex:1 1;min-width:0}.calendar-operatori,.calendar-operatori-counter,.calendar-operatori-header{flex-shrink:0;min-width:50px;text-align:center;width:50px}.calendar-commessa-header,.calendar-operatori-header{align-items:center;color:#fff;display:flex;font-size:11px;font-weight:600;justify-content:center;letter-spacing:.5px;text-transform:uppercase}.assegnazioni-view .assegnazione-sub-group,.assegnazioni-view .commessa-group{margin:0;padding:0}.assegnazioni-row.commessa-header-row>.assegnazioni-left-cell,.assegnazioni-row.commessa-header-row>.assegnazioni-right-cell{border-bottom:1px solid #1e293b;box-sizing:border-box;height:32px;max-height:32px;min-height:32px}.assegnazioni-row.commessa-header-row>.assegnazioni-left-cell,.calendar-fixed-left .commessa-header-row{font-size:13px;font-weight:600;justify-content:space-between;padding:0 12px}.calendar-fixed-left .commessa-header-row{align-items:center;background:#334155;border-bottom:1px solid #1e293b;box-sizing:border-box;color:#fff;display:flex;height:32px;max-height:32px;min-height:32px}.commessa-header-row .commessa-nome{font-weight:700}.commessa-header-row .commessa-totale{font-size:11px;font-weight:500;opacity:.8}.commessa-header-row-scroll{background:#334155;border-bottom:1px solid #1e293b;box-sizing:border-box;height:32px;max-height:32px;min-height:32px}.assegnazione-row{background:#f8fafc}.assegnazione-row,.assegnazioni-row.assegnazione-row>.assegnazioni-left-cell,.assegnazioni-row.assegnazione-row>.assegnazioni-right-cell{border-bottom:1px solid #e2e8f0;box-sizing:border-box;height:48px;max-height:48px;min-height:48px}.assegnazioni-row.assegnazione-row>.assegnazioni-right-cell{padding:0 12px}.assegnazioni-view .fixed-main-row.assegnazione-row,.assegnazioni-view .scroll-main-row.assegnazione-row{align-items:center;display:flex;height:48px;max-height:48px;min-height:48px}.assegnazioni-view .scroll-main-row.assegnazione-row{background:#f8fafc;box-sizing:border-box;padding:0 12px}.calendar-assegnazione-detail{flex:1 1;padding-left:4px}.assegnazioni-view .dipendente-row{background:#fff}.assegnazioni-row.dipendente-row>.assegnazioni-left-cell,.assegnazioni-row.dipendente-row>.assegnazioni-right-cell,.assegnazioni-view .dipendente-row{border-bottom:1px solid #f1f5f9;box-sizing:border-box;height:36px!important;max-height:36px!important;min-height:36px!important}.assegnazioni-row.dipendente-row>.assegnazioni-left-cell{padding:0 8px}.assegnazioni-row.dipendente-row>.assegnazioni-right-cell{padding:0 12px}.assegnazioni-view .fixed-detail-row.dipendente-row{padding:0 8px}.assegnazioni-view .fixed-detail-row.dipendente-row,.assegnazioni-view .scroll-detail-row.dipendente-row{align-items:center;display:flex;height:36px!important;max-height:36px!important;min-height:36px!important}.assegnazioni-view .scroll-detail-row.dipendente-row{box-sizing:border-box;padding:0 12px}.commessa-nome{color:inherit;font-size:13px;font-weight:600;white-space:nowrap}.calendar-assegnazione-wide .badge-assegnazione{background:#e0f2fe;border-radius:4px;color:#0369a1;display:inline-block;font-size:11px;padding:3px 8px;white-space:nowrap}.calendar-operatori .counter-value{color:#1e293b;font-size:13px;font-weight:600}.fixed-detail-row{align-items:center;background:#fff;border-bottom:1px solid #f1f5f9;display:flex;height:32px;padding:0 8px}.detail-spacer{flex-shrink:0;width:32px}.calendar-dipendente-detail{flex:1 1;padding-left:8px}.dipendente-nome-small{color:#475569;font-size:12px}.dip-badge,.dip-col-name .dipendente-nome-small{white-space:nowrap}.dip-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:10px;font-weight:700;justify-content:center;letter-spacing:.02em;line-height:1.4;padding:1px 6px}.assegnazioni-row.dip-columns-header>.assegnazioni-left-cell,.assegnazioni-row.dip-columns-header>.assegnazioni-right-cell{border-bottom:1px solid #e2e8f0;height:22px!important;max-height:22px!important;min-height:22px!important}.fixed-detail-row.dip-columns-header,.scroll-detail-row.dip-columns-header{background:#f1f5f9;border-bottom:1px solid #e2e8f0;height:22px!important;max-height:22px!important;min-height:22px!important}.dip-col-name-header{flex:1 1;letter-spacing:.06em;min-width:0;overflow:hidden;padding-left:8px;white-space:nowrap}.dip-col-counter-header,.dip-col-name-header{color:#94a3b8;font-size:9px;font-weight:700;text-transform:uppercase}.dip-col-counter-header{flex-shrink:0;letter-spacing:.04em;text-align:center;width:52px}.dip-col-name{align-items:center;display:flex;flex:1 1;gap:4px;min-width:0;padding-left:8px;white-space:nowrap}.badge-assegnazione-dett{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:3px;color:#166534;display:inline-block;flex-shrink:0;font-size:8px;font-weight:600;padding:1px 5px;white-space:nowrap}.dip-col-counter{align-items:center;display:flex;flex-shrink:0;justify-content:center;width:52px}.dip-badge.badge-green{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7;color:#059669}.dip-badge.badge-red{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;color:#dc2626}.calendar-stats-detail{align-items:center;display:flex;gap:2px;justify-content:center;width:70px}.calendar-stats-detail .counter-value.small{font-size:11px}.stats-separator{color:#94a3b8;font-size:10px}.week-cell-assegnazione{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;display:flex;flex-shrink:0;font-size:11px;font-weight:600;height:28px;justify-content:center;min-width:58px;min-width:var(--week-cell-width,58px);transition:all .15s ease;width:58px;width:var(--week-cell-width,58px)}.week-cell-assegnazione:hover{box-shadow:0 2px 4px #0000001a;transform:scale(1.05)}.week-cell-assegnazione.below-limit{background:#f1f5f9;border-color:#cbd5e1}.week-cell-assegnazione.below-limit .cell-fraction{color:#64748b}.week-cell-assegnazione.at-limit{background:#d1fae5;border-color:#34d399}.week-cell-assegnazione.at-limit .cell-fraction{color:#065f46}.week-cell-assegnazione.over-limit{background:#fecaca;border-color:#f87171}.week-cell-assegnazione.over-limit .cell-fraction{color:#991b1b}.cell-fraction{align-items:center;display:flex;font-size:10px;font-weight:600;gap:1px;justify-content:center}.cell-fraction .separator{opacity:.6}.cell-fraction .denominator{opacity:.8}.cell-edit-input{background:#fff;border:none;border-radius:3px;font-size:11px;font-weight:600;height:100%;outline:2px solid #3b82f6;padding:0;text-align:center;width:100%}.cell-edit-input::-webkit-inner-spin-button,.cell-edit-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cell-edit-input[type=number]{-moz-appearance:textfield}.edited-indicator{color:#f59e0b;font-size:10px;font-weight:700;margin-left:1px}.calendar-operatori.editable{border-radius:4px;cursor:pointer;margin:-2px -4px;padding:2px 4px;transition:all .15s ease}.calendar-operatori.editable:hover{background-color:#3b82f61a}.calendar-operatori.editable .cell-edit-input{height:24px;width:40px}.context-menu-overlay{height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1000}.context-menu{animation:popupFadeIn .15s ease-out;background:#fff;border-radius:10px;box-shadow:0 8px 30px #0000002e;min-width:190px;overflow:hidden;position:fixed;z-index:1001}.context-menu-header{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;font-size:12px;font-weight:600;letter-spacing:.3px;padding:8px 14px}.context-menu-item{align-items:center;background:none;border:none;color:#334155;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:10px 14px;text-align:left;transition:all .15s ease;width:100%}.context-menu-item svg{color:#64748b;flex-shrink:0;transition:color .15s ease}.context-menu-item:hover{background:#f1f5f9;color:#0f172a}.context-menu-item:hover svg{color:#3b82f6}.week-cell-assegnazione.selected{background-color:#3b82f633!important;outline:2px solid #3b82f6;outline-offset:-2px;z-index:5}.week-cell-assegnazione{user-select:none;-webkit-user-select:none}.bulk-edit-overlay{background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.bulk-edit-popup{animation:popupFadeIn .15s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;min-width:220px;overflow:hidden;position:fixed}@keyframes popupFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.bulk-edit-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;display:flex;justify-content:space-between;padding:12px 16px}.bulk-edit-title{font-size:14px;font-weight:600}.bulk-edit-close{background:none;border:none;color:#fff;cursor:pointer;font-size:20px;line-height:1;opacity:.8;padding:0;transition:opacity .15s}.bulk-edit-close:hover{opacity:1}.bulk-edit-body{padding:16px}.bulk-edit-body label{color:#475569;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.bulk-edit-input{border:1px solid #e2e8f0;border-radius:8px;font-size:16px;font-weight:600;outline:none;padding:10px 12px;text-align:center;transition:border-color .15s,box-shadow .15s;width:100%}.bulk-edit-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.bulk-edit-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:8px;padding:12px 16px}.bulk-edit-apply,.bulk-edit-cancel{border-radius:8px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px 16px;transition:all .15s}.bulk-edit-cancel{background:#fff;border:1px solid #e2e8f0;color:#64748b}.bulk-edit-cancel:hover{background:#f1f5f9;border-color:#cbd5e1}.bulk-edit-apply{background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;color:#fff}.bulk-edit-apply:hover{background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 2px 8px #3b82f64d}.week-cell-assegnazione.low-absence{background:#fef3c7;border-color:#fcd34d}.week-cell-assegnazione.low-absence .absence-count{color:#92400e}.week-cell-assegnazione.medium-absence{background:#fed7aa;border-color:#fb923c}.week-cell-assegnazione.medium-absence .absence-count{color:#9a3412}.week-cell-assegnazione.high-absence{background:#fecaca;border-color:#f87171}.week-cell-assegnazione.high-absence .absence-count{color:#991b1b}.absence-count{font-size:11px;font-weight:700}.scroll-detail-row{align-items:center;background:#fff;border-bottom:1px solid #f1f5f9;display:flex;height:32px;padding:0 12px}.scroll-detail-row .weeks-grid-by-month{align-items:center;height:100%}.week-cell-detail{background:#f8fafc;border:1px solid #e2e8f0;border-radius:3px;flex-shrink:0;height:20px;min-width:58px;min-width:var(--week-cell-width,58px);width:58px;width:var(--week-cell-width,58px)}.week-cell-detail.has-ferie{border:none}.assegnazioni-view .scroll-detail-row,.assegnazioni-view .scroll-main-row{min-width:-webkit-fit-content;min-width:fit-content}.assegnazioni-view .weeks-grid-by-month{align-items:center;display:flex;gap:8px;min-width:-webkit-max-content;min-width:max-content}.assegnazioni-view .month-weeks-block{display:flex;gap:3px;gap:var(--week-gap,3px)}.assegnazioni-body{flex:1 1;overflow-x:hidden;overflow-y:hidden}.assegnazioni-body>div{will-change:transform}.assegnazioni-scroll-body{flex:1 1;overflow-x:scroll;overflow-y:scroll}.assegnazioni-counter,.assegnazioni-view .fixed-row-wrapper{border-bottom:1px solid #e2e8f0}.assegnazioni-view .fixed-row-wrapper:last-child{border-bottom:none}.assegnazioni-view .scroll-row-wrapper{border-bottom:1px solid #e2e8f0;min-width:-webkit-fit-content;min-width:fit-content}.assegnazioni-view .scroll-row-wrapper:last-child{border-bottom:none}@media (max-width:1400px){.stats-grid-compact{grid-template-columns:repeat(2,1fr)}.calendar-wrapper{--cell-size:10px;--cell-gap:2px;--month-gap:6px;--fixed-left-width:570px}}@media (max-width:1024px){.stats-grid-compact{grid-template-columns:repeat(2,1fr)}.calendar-wrapper{--cell-size:8px;--cell-gap:2px;--month-gap:5px;--fixed-left-width:530px}.month-label{font-size:9px;letter-spacing:.5px}}@media (max-width:768px){.page-header,.piano-ferie-container .content-area{padding:12px 16px}.top-controls{align-items:stretch;flex-direction:column}.controls-left,.controls-right{justify-content:center;width:100%}.search-bar-compact{min-width:0;min-width:auto;width:100%}.filters-grid-compact,.stats-grid-compact{grid-template-columns:1fr}.legenda-container{gap:10px}.calendar-wrapper{--fixed-left-width:440px;--cell-size:6px;--cell-gap:1px;--month-gap:3px}.calendar-stats,.calendar-stats-header{min-width:60px;width:60px}.dipendente-nome{font-size:12px}.dipendente-details{flex-direction:column;gap:3px}.calendar-perc,.calendar-perc-counter,.calendar-perc-header{min-width:45px;width:45px}.perc-value{font-size:10px;min-width:36px;padding:3px 6px}}@media (min-width:1600px){.stats-grid-compact{grid-template-columns:repeat(4,1fr)}.calendar-wrapper{--cell-size:16px;--cell-gap:3px;--month-gap:12px;--fixed-left-width:640px}}.custom-tooltip{animation:tooltipFadeIn .15s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 30px #0000002e,0 2px 8px #00000014;max-width:320px;min-width:240px;padding:14px 18px;pointer-events:none;position:fixed;transform:translateX(-50%) translateY(-100%);z-index:9999}.custom-tooltip:after{background:#fff;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;bottom:-6px;content:"";height:12px;left:50%;position:absolute;transform:translateX(-50%) rotate(45deg);width:12px}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-100%) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(-100%) scale(1)}}.tooltip-header{margin-bottom:8px}.tooltip-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.3px;padding:5px 12px;text-transform:uppercase}.tooltip-badge.domenica{background:linear-gradient(135deg,#94a3b8,#cbd5e1);color:#fff}.tooltip-badge.festivo{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff}.tooltip-badge.ferie-confermato{background:linear-gradient(135deg,#10b981,#34d399);color:#fff}.tooltip-badge.ferie-richiesto{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.tooltip-badge.ferie-rifiutato{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff}.tooltip-badge.ferie-accordo{background:linear-gradient(135deg,#166534,#22c55e);color:#fff}.tooltip-badge.split-domenica-festivo{background:linear-gradient(135deg,#cbd5e1 50%,#8b5cf6 0);color:#1e293b}.tooltip-badge.split-domenica-ferie-confermato{background:linear-gradient(135deg,#cbd5e1 50%,#10b981 0);color:#1e293b}.tooltip-badge.split-domenica-ferie-richiesto{background:linear-gradient(135deg,#cbd5e1 50%,#f59e0b 0);color:#1e293b}.tooltip-badge.split-domenica-ferie-rifiutato{background:linear-gradient(135deg,#cbd5e1 50%,#ef4444 0);color:#1e293b}.tooltip-badge.split-domenica-ferie-accordo{background:linear-gradient(135deg,#cbd5e1 50%,#166534 0);color:#1e293b}.tooltip-badge.lavorativo{background:linear-gradient(135deg,#e2e8f0,#f1f5f9);color:#475569}.tooltip-date{color:#0f172a;font-size:14px;font-weight:600;margin-bottom:6px;text-transform:capitalize}.tooltip-festivita{color:#8b5cf6;font-size:13px;font-weight:600;margin-bottom:8px}.tooltip-desc{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:12px;margin-bottom:10px;padding-bottom:10px}.tooltip-info{display:flex;flex-direction:column;gap:6px}.tooltip-row{align-items:center;display:flex;gap:14px;justify-content:space-between}.tooltip-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.tooltip-value{color:#0f172a;font-size:12px;font-weight:500;text-align:right}.fixed-body::-webkit-scrollbar{display:none}.fixed-body{-ms-overflow-style:none;scrollbar-width:none}.scroll-body::-webkit-scrollbar{height:8px;width:8px}.scroll-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.scroll-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.scroll-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.scroll-body::-webkit-scrollbar-corner{background:#f1f5f9}.calendar-perc-header{box-sizing:border-box;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;min-width:55px;padding:0 8px;text-align:center;text-transform:uppercase;width:55px}.calendar-perc,.calendar-perc-counter{box-sizing:border-box;display:flex;justify-content:center;min-width:55px;padding:0 8px;width:55px}.calendar-perc,.perc-value{align-items:center}.perc-value{border-radius:12px;display:inline-flex;font-size:11px;font-weight:700;justify-content:center;min-width:42px;padding:4px 8px}.perc-value.perc-red{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.perc-value.perc-yellow{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.perc-value.perc-green{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.calendar-assegnazione-header{min-width:110px;width:110px}.calendar-assegnazione-header,.calendar-conferme-header,.calendar-richieste-header{box-sizing:border-box;color:#fff;font-size:11px;font-weight:600;letter-spacing:.3px;padding:0 10px;text-align:center;text-transform:uppercase}.calendar-conferme-header,.calendar-richieste-header{min-width:70px;width:70px}.calendar-assegnazione-counter{min-width:110px;width:110px}.calendar-assegnazione-counter,.calendar-conferme-counter,.calendar-richieste-counter{align-items:center;box-sizing:border-box;display:flex;justify-content:center;padding:0 10px}.calendar-conferme-counter,.calendar-richieste-counter{min-width:70px;width:70px}.calendar-assegnazione{min-width:110px;width:110px}.calendar-assegnazione,.calendar-conferme,.calendar-richieste{align-items:center;box-sizing:border-box;display:flex;justify-content:center;padding:0 10px}.calendar-conferme,.calendar-richieste{min-width:70px;width:70px}.badge-assegnazione{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:4px;color:#0369a1;display:inline-block;font-size:9px;font-weight:600;line-height:1.3;padding:2px 6px;text-align:center;white-space:normal;word-break:break-word}.calendar-conferme .counter-value,.calendar-richieste .counter-value{align-items:center;border-radius:6px;display:inline-flex;font-size:11px;font-weight:700;justify-content:center;min-width:28px;padding:3px 6px}.calendar-conferme .counter-value.green,.calendar-richieste .counter-value.green{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.calendar-conferme .counter-value.red,.calendar-richieste .counter-value.red{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.view-toggle{background:#f1f5f9;border-radius:8px;display:flex;gap:2px;padding:3px}.view-toggle-btn{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.view-toggle-btn:hover{color:#3b82f6}.view-toggle-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#3b82f6}.toggle-hidden-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:7px 14px;transition:all .2s}.toggle-hidden-btn:hover{border-color:#f59e0b;color:#f59e0b}.toggle-hidden-btn.active{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;color:#d97706}.hidden-section{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:16px;padding:16px}.hidden-section h4{color:#92400e;font-size:14px;font-weight:600;margin:0 0 12px}.hidden-list{display:flex;flex-wrap:wrap;gap:8px}.hidden-item{background:#fff;border:1px solid #fde68a;border-radius:6px;color:#0f172a;font-size:13px;gap:8px;padding:6px 12px}.hidden-item,.unhide-btn{align-items:center;display:flex}.unhide-btn{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;height:24px;justify-content:center;transition:all .2s;width:24px}.unhide-btn:hover{background:#059669}.hide-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;margin-left:8px;transition:all .2s;width:26px}.hide-btn:hover{background:#fee2e2;border-color:#ef4444;color:#ef4444}.assegnazioni-row.dipendente-row.alert-row>.assegnazioni-right-cell{background:linear-gradient(90deg,#fef2f2,#fff5f5)}.assegnazioni-row.dipendente-row.alert-row>.sticky-left,.fixed-main-row.alert-row{border-left:3px solid #ef4444}.fixed-main-row.alert-row,.scroll-row-wrapper.alert-row{background:#fee2e2}.fixed-detail-row.dipendente-row.alert-row{border-left:3px solid #ef4444}.fixed-detail-row.dipendente-row.alert-row,.scroll-detail-row.dipendente-row.alert-row{background:linear-gradient(90deg,#fef2f2,#fff5f5)}.dip-col-name .alert-badge{flex-shrink:0;font-size:10px;height:16px;margin-left:4px;width:16px}.alert-badge{align-items:center;animation:pulse 2s infinite;background:#ef4444;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:11px;font-weight:700;height:18px;justify-content:center;margin-left:6px;width:18px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.alert-tooltip-fixed{animation:alertTooltipIn .12s ease-out;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:10px;box-shadow:0 10px 30px #0000004d,0 4px 12px #00000026;color:#f1f5f9;max-width:320px;min-width:230px;padding:10px 14px 12px;pointer-events:none;position:fixed;transform:translate(-50%,calc(-100% - 10px));white-space:normal;z-index:99999}.alert-tooltip-fixed:after{border:7px solid #0000;border-top-color:#0f172a;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}@keyframes alertTooltipIn{0%{opacity:0;transform:translate(-50%,calc(-100% - 6px))}to{opacity:1;transform:translate(-50%,calc(-100% - 10px))}}.alert-tooltip-header{align-items:center;color:#fca5a5;display:flex;font-size:12px;font-weight:700;gap:6px;letter-spacing:.03em;margin-bottom:6px}.alert-tooltip-header svg{stroke:#fca5a5;flex-shrink:0}.alert-tooltip-list{list-style:none;margin:0;padding:0}.alert-tooltip-list li{color:#e2e8f0;font-size:11.5px;line-height:1.45;padding:4px 0 4px 16px;position:relative}.alert-tooltip-list li:before{background:#f87171;border-radius:50%;content:"";height:6px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:6px}.alert-tooltip-list li+li{border-top:1px solid #ffffff14;margin-top:2px;padding-top:6px}.calendar-wrapper.view-weeks{--week-cell-width:58px;--week-cell-height:20px;--week-gap:3px}.weeks-grid{gap:3px;gap:var(--week-gap,3px)}.weeks-grid,.weeks-grid-by-month{align-items:center;display:flex;min-width:-webkit-max-content;min-width:max-content}.weeks-grid-by-month{gap:8px}.month-weeks-block{display:flex;gap:3px;gap:var(--week-gap,3px)}.week-cell{background:#f1f5f9;border:1px solid #0000001a;border-radius:3px;cursor:default;flex-shrink:0;height:20px;height:var(--week-cell-height,20px);transition:all .15s;width:58px;width:var(--week-cell-width,58px)}.week-cell.draggable{cursor:grab}.week-cell.draggable:active{cursor:grabbing}.week-cell.dragging{opacity:.5;transform:scale(.9)}.week-cell.drop-target{background:#eff6ff;border:2px dashed #3b82f6}.week-cell:not(.dragging):hover{box-shadow:0 2px 8px #0003;position:relative;transform:scale(1.3);z-index:10}.week-cell.ferie-confermata{background:linear-gradient(135deg,#10b981,#34d399)}.week-cell.ferie-nuova_richiesta{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.week-cell.ferie-rifiutata{background:linear-gradient(135deg,#f87171,#fca5a5)}.week-cell.ferie-proposta_rifiutata_accordo,.week-cell.ferie-rifiutata_accordo{background:linear-gradient(135deg,#dc2626,#ef4444)}.week-cell.ferie-proposta_rifiutata{background:linear-gradient(135deg,#f87171,#fca5a5)}.week-cell.ferie-spostata{background:linear-gradient(135deg,#38bdf8,#7dd3fc)}.week-cell.ferie-spostata_accordo{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.week-cell.ferie-spostata_bozza{background:repeating-linear-gradient(-45deg,#38bdf8,#38bdf8 4px,#fff 0,#fff 8px);border:1px dashed #0ea5e9}.week-cell.ferie-spostata_bozza:hover{background:repeating-linear-gradient(-45deg,#0ea5e9,#0ea5e9 4px,#fff 0,#fff 8px)}.week-cell.ferie-rifiutata_bozza{background:repeating-linear-gradient(-45deg,#f87171,#f87171 4px,#fff 0,#fff 8px);border:1px dashed #ef4444}.week-cell.ferie-rifiutata_bozza:hover{background:repeating-linear-gradient(-45deg,#ef4444,#ef4444 4px,#fff 0,#fff 8px)}.week-cell.ferie-bozza{background:repeating-linear-gradient(-45deg,#fcd34d,#fcd34d 4px,#fff 0,#fff 8px);border:1px dashed #f59e0b}.week-cell.ferie-bozza:hover{background:repeating-linear-gradient(-45deg,#fbbf24,#fbbf24 4px,#fff 0,#fff 8px)}.week-cell.empty-clickable{cursor:pointer;transition:all .15s}.week-cell.empty-clickable:hover{background:#e2e8f0;border:1px dashed #94a3b8}.weeks-header{display:flex;gap:8px;min-width:-webkit-max-content;min-width:max-content;padding:8px 12px}.month-header-block-week{display:flex;flex-direction:column;flex-shrink:0;gap:4px}.month-header-label-week{align-items:center;background:#475569;border-radius:4px;color:#fff;display:flex;font-size:11px;font-weight:700;justify-content:center;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.month-header-weeks{display:flex;gap:3px;gap:var(--week-gap,3px)}.week-header-cell{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:1px;justify-content:center;width:58px;width:var(--week-cell-width,58px)}.week-header-num{color:#cbd5e1;font-size:9px;font-weight:600}.week-header-dates{color:#94a3b8;font-size:9px;font-weight:500;white-space:nowrap}.weeks-counter-row{align-items:center;display:flex;gap:8px;height:100%;min-width:-webkit-max-content;min-width:max-content;padding:6px 12px}.month-counter-block-week{display:flex;gap:3px;gap:var(--week-gap,3px)}.week-counter-cell{align-items:center;background:#f1f5f9;border-radius:4px;display:flex;flex-shrink:0;height:32px;justify-content:center;width:58px;width:var(--week-cell-width,58px)}.week-counter-cell .counter-value{color:#64748b;font-size:14px;font-weight:700}.week-counter-cell .counter-value.has-ferie{color:#059669;font-size:15px;font-weight:800}.modal-move{max-height:90vh;max-width:850px}.modal-move .modal-header{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.modal-move .modal-body{max-height:70vh;overflow-y:auto}.week-select-by-month{display:flex;flex-direction:column;gap:12px;margin-top:16px}.month-week-group{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;padding:8px 0}.month-week-group:last-child{border-bottom:none}.month-week-label{color:#0f172a;font-size:13px;font-weight:700;min-width:45px;padding-top:6px;text-transform:uppercase}.month-week-buttons{display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.week-select-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;cursor:pointer;display:flex;flex-direction:column;font-size:11px;font-weight:600;min-width:58px;padding:6px 10px;transition:all .2s}.week-select-btn .week-num{font-size:12px;font-weight:700}.week-select-btn .week-dates{color:#64748b;font-size:9px;font-weight:500;margin-top:2px}.week-select-btn:hover:not(.disabled){background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.week-select-btn:hover:not(.disabled) .week-dates{color:#3b82f6}.week-select-btn.disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;opacity:.6}.week-select-btn.current{background:linear-gradient(135deg,#f59e0b,#fbbf24);border-color:#f59e0b;color:#fff}.week-select-btn.current .week-dates{color:#fffc}.calendar-wrapper.view-days .calendar-fixed-left,.calendar-wrapper.view-weeks .calendar-fixed-left{--fixed-left-width:570px}.expand-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;margin-right:4px;transition:all .2s;width:22px}.expand-btn:hover{background:#f1f5f9;border-color:#3b82f6;color:#3b82f6}.expand-btn.expanded{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.fixed-history-row{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-bottom:1px solid #bae6fd;display:flex;height:32px;padding:6px 8px 6px 12px}.history-year-label{color:#0369a1;font-size:12px;font-weight:700;margin-left:52px;min-width:50px}.history-spacer{flex:1 1}.fixed-history-row .calendar-conferme,.fixed-history-row .calendar-richieste{min-width:60px;width:60px}.fixed-history-row .counter-value.small{font-size:10px;min-width:24px;padding:2px 5px}.scroll-history-row{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-bottom:1px solid #bae6fd;display:flex;height:32px;padding:6px 12px}.calendar-grid.history,.scroll-history-row .calendar-grid,.scroll-history-row .weeks-grid,.scroll-history-row .weeks-grid-by-month,.weeks-grid-by-month.history,.weeks-grid.history{opacity:.85}.week-cell.clickable{cursor:pointer}.week-cell.clickable:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.1);z-index:10}.modal-recap{max-width:420px}.modal-recap .modal-header{background:linear-gradient(135deg,#475569,#64748b)}.recap-body{padding:20px}.recap-dipendente{align-items:center;background:#f8fafc;border-radius:8px;color:#0f172a;display:flex;font-size:15px;font-weight:600;gap:10px;margin-bottom:20px;padding:12px 16px}.recap-dipendente svg{color:#64748b}.recap-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.recap-info-item{display:flex;flex-direction:column;gap:6px}.recap-label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.recap-value{color:#0f172a;font-size:14px;font-weight:500}.recap-value.stato-badge{border-radius:6px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;width:-webkit-fit-content;width:fit-content}.recap-actions{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px}.btn-conferma-ferie{align-items:center;background:linear-gradient(135deg,#10b981,#34d399);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-bottom:10px;padding:12px 20px;transition:all .2s;width:100%}.btn-conferma-ferie:hover{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.btn-conferma-ferie svg{flex-shrink:0}.btn-modifica-ferie{align-items:center;background:linear-gradient(135deg,#f59e0b,#fbbf24);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s;width:100%}.btn-modifica-ferie:hover{background:linear-gradient(135deg,#d97706,#f59e0b);box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.btn-modifica-ferie svg{flex-shrink:0}.btn-elimina-bozza{align-items:center;background:linear-gradient(135deg,#ef4444,#f87171);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s;width:100%}.btn-elimina-bozza:hover{background:linear-gradient(135deg,#dc2626,#ef4444);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.btn-elimina-bozza svg{flex-shrink:0}.btn-trasmetti-spostamento{align-items:center;background:linear-gradient(135deg,#0ea5e9,#38bdf8);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s;width:100%}.btn-trasmetti-spostamento:hover{background:linear-gradient(135deg,#0284c7,#0ea5e9);box-shadow:0 4px 12px #0ea5e94d;transform:translateY(-1px)}.btn-trasmetti-spostamento svg{flex-shrink:0}.btn-annulla-spostamento{align-items:center;background:linear-gradient(135deg,#f87171,#fca5a5);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s;width:100%}.btn-annulla-spostamento:hover{background:linear-gradient(135deg,#ef4444,#f87171);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.btn-annulla-spostamento svg{flex-shrink:0}.recap-spostamento-info{background:#f1f5f9;border-radius:6px;color:#64748b;font-size:13px;margin-bottom:12px;padding:8px;text-align:center}.recap-spostamento-info.recap-rifiutata-info{background:#fee2e2;color:#991b1b}.recap-note{color:#94a3b8;font-size:11px;font-style:italic;text-align:center}.btn-trasmetti-tutte{align-items:center;background:linear-gradient(135deg,#0ea5e9,#38bdf8);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s}.btn-trasmetti-tutte:hover{background:linear-gradient(135deg,#0284c7,#0ea5e9);box-shadow:0 4px 12px #0ea5e94d;transform:translateY(-1px)}.btn-trasmetti-tutte svg{flex-shrink:0}.load-more-indicator{align-items:center;background:linear-gradient(180deg,#0000,#f1f5f9);border-top:1px dashed #e2e8f0;color:#64748b;display:flex;font-size:13px;font-style:italic;justify-content:center;padding:16px}.load-more-indicator.scroll-indicator{background:#0000;border:none;height:50px}.pianificazione-new-table-wrapper{flex:1 1;margin-top:16px;min-height:0;overflow:auto;padding-bottom:48px}.pianificazione-new-table{background:#fff;border:1px solid #e2e8f0;border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;font-size:13px;width:100%}.pianificazione-new-table thead th{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:2px solid #cbd5e1;color:#334155;font-size:11px;font-weight:700;letter-spacing:.05em;padding:14px 16px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:10}.pianificazione-new-table thead th:first-child{border-top-left-radius:12px}.pianificazione-new-table thead th:last-child{border-top-right-radius:12px}.pianificazione-new-table tbody tr{border-bottom:1px solid #f1f5f9;height:56px;transition:all .2s ease}.pianificazione-new-table tbody tr:last-child td:first-child{border-bottom-left-radius:12px}.pianificazione-new-table tbody tr:last-child td:last-child{border-bottom-right-radius:12px}.pianificazione-new-table tbody tr:nth-child(2n){background:#fafbfc}.pianificazione-new-table tbody tr:hover{background:#eff6ff;box-shadow:inset 0 0 0 1px #bfdbfe}.pianificazione-new-table tbody tr.alert-row{background:linear-gradient(90deg,#fef2f2,#fff5f5);border-left:3px solid #ef4444}.pianificazione-new-table tbody tr.alert-row:hover{background:linear-gradient(90deg,#fee2e2,#fef2f2)}.pianificazione-new-table td{color:#475569;padding:12px 16px;vertical-align:middle}.pianificazione-new-table .td-dipendente{color:#0f172a;font-size:13px;font-weight:600;min-width:180px;white-space:nowrap}.pianificazione-new-table .td-dipendente .alert-badge{margin-left:6px}.pianificazione-new-table .td-placeholder{color:#cbd5e1;font-size:12px;letter-spacing:.02em}.pianificazione-new-table .td-assegnazione .badge-assegnazione{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:20px;color:#1d4ed8;font-size:11px;font-weight:600;padding:4px 10px}.pianificazione-new-table .td-counter{text-align:center;white-space:nowrap}.pianificazione-new-table .td-counter .counter-value{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;letter-spacing:.02em;min-width:52px;padding:5px 10px}.pianificazione-new-table .td-counter .counter-value.green{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7;color:#059669}.pianificazione-new-table .td-counter .counter-value.red{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;color:#dc2626}.pianificazione-new-table .td-ferie-chips{min-width:320px}.ferie-chips-container{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.ferie-chip{align-items:center;border:1px solid;border-radius:20px;cursor:default;display:inline-flex;font-size:11px;gap:6px;line-height:1;padding:5px 10px;transition:transform .15s ease,box-shadow .15s ease;white-space:nowrap}.ferie-chip:hover{box-shadow:0 2px 6px #0000001a;transform:translateY(-1px)}.ferie-chip-week{font-size:12px;font-weight:800}.ferie-chip-dates{color:#475569;font-size:11px;font-weight:500}.ferie-chip-stato{background:#ffffff80;border-radius:10px;font-size:10px;font-weight:700;padding:2px 6px}.no-ferie{color:#94a3b8;font-size:12px;font-style:italic;padding:4px 0}.btn-export-excel{align-items:center;background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:8px;box-shadow:0 1px 3px #0596694d;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease}.btn-export-excel:hover{background:linear-gradient(135deg,#047857,#059669);box-shadow:0 2px 6px #05966966;transform:translateY(-1px)}.btn-export-excel:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed;transform:none}.piano-ferie-container .content-area.fullscreen-assegnazioni{background:#f8fafc;bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;padding:12px 16px;position:fixed;right:0;top:0;z-index:9999}.content-area.fullscreen-assegnazioni .top-controls{flex-shrink:0}.content-area.fullscreen-assegnazioni .calendar-wrapper{flex:1 1;max-height:none;min-height:0}.btn-nascondi-dip{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;padding:0;transition:all .15s ease;width:20px}.btn-nascondi-dip:hover{background:#fee2e2;color:#dc2626}.modal-riepilogo-spostamenti{display:flex;flex-direction:column;height:90vh;max-width:95vw;width:95vw}.modal-riepilogo-spostamenti .modal-body{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.riepilogo-filters{grid-gap:12px;border-bottom:1px solid #e2e8f0;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px;padding:0 0 16px}.riepilogo-filters .filter-item{display:flex;flex-direction:column;gap:4px}.riepilogo-filters .filter-item label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.riepilogo-filters .filter-item input[type=text]{border:1px solid #cbd5e1;border-radius:6px;color:#0f172a;font-size:13px;height:38px;outline:none;padding:0 10px;transition:border-color .2s}.riepilogo-filters .filter-item input[type=text]:focus{border-color:#0ea5e9;box-shadow:0 0 0 2px #0ea5e926}.riepilogo-spostamenti-table-wrapper{flex:1 1;overflow-y:auto}.riepilogo-spostamenti-table{border-collapse:collapse;font-size:13px;width:100%}.riepilogo-spostamenti-table thead th{border-bottom:2px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.riepilogo-spostamenti-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .15s}.riepilogo-spostamenti-table tbody tr:hover{background:#f8fafc}.riepilogo-spostamenti-table tbody td{padding:10px 12px;vertical-align:middle}.btn-riepilogo-elimina,.btn-riepilogo-trasmetti{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:all .2s ease;width:30px}.btn-riepilogo-trasmetti{background:#e0f2fe;color:#0369a1}.btn-riepilogo-trasmetti:hover:not(:disabled){background:#0ea5e9;box-shadow:0 2px 6px #0ea5e959;color:#fff;transform:translateY(-1px)}.btn-riepilogo-elimina{background:#fee2e2;color:#dc2626}.btn-riepilogo-elimina:hover:not(:disabled){background:#ef4444;box-shadow:0 2px 6px #ef444459;color:#fff;transform:translateY(-1px)}.btn-riepilogo-elimina:disabled,.btn-riepilogo-trasmetti:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-riepilogo-chiudi{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px;transition:all .2s ease}.btn-riepilogo-chiudi:hover{background:#e2e8f0}.btn-riepilogo-trasmetti-tutte{align-items:center;background:linear-gradient(135deg,#0ea5e9,#38bdf8);border:none;border-radius:8px;box-shadow:0 1px 3px #0ea5e94d;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 20px;transition:all .2s ease}.btn-riepilogo-trasmetti-tutte:hover{background:linear-gradient(135deg,#0284c7,#0ea5e9);box-shadow:0 2px 6px #0ea5e966;transform:translateY(-1px)}@keyframes pf-spin-small{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn-spinner-small{animation:pf-spin-small .8s linear infinite;border:2px solid #0369a14d;border-radius:50%;border-top-color:#0369a1;height:14px;width:14px}.gestione-magazzino-modern{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.gestione-magazzino-modern .page-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;min-height:80px;padding:16px 20px}.gestione-magazzino-modern .header-content{align-items:center;display:flex;gap:16px;min-height:48px;width:100%}.gestione-magazzino-modern .back-button{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.gestione-magazzino-modern .back-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.gestione-magazzino-modern .back-button svg{height:16px;width:16px}.gestione-magazzino-modern .header-title{flex:1 1;min-width:0}.gestione-magazzino-modern .header-title-row{align-items:center;display:flex;gap:12px;margin-bottom:4px}.gestione-magazzino-modern .header-title h2{color:#0f172a;font-size:32px!important;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0}.gestione-magazzino-modern .header-subtitle{color:#64748b;font-size:13px;line-height:1.4;margin:0}.gestione-magazzino-modern .info-button-modern{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s ease;width:28px}.gestione-magazzino-modern .info-button-modern:hover{box-shadow:0 4px 8px #3b82f64d;transform:scale(1.05)}.gestione-magazzino-modern .info-icon-text{font-size:16px;font-weight:600;line-height:1}.gestione-magazzino-modern .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.gestione-magazzino-modern .modal-container{animation:gm-modalSlideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:80vh;max-width:600px;overflow:hidden;width:100%}@keyframes gm-modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.gestione-magazzino-modern .modal-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;gap:12px;padding:18px 20px}.gestione-magazzino-modern .modal-icon{align-items:center;background:#fff3;border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.gestione-magazzino-modern .modal-header h3{flex:1 1;font-size:18px;font-weight:600;margin:0}.gestione-magazzino-modern .modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .2s;width:30px}.gestione-magazzino-modern .modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.gestione-magazzino-modern .modal-body{max-height:calc(80vh - 70px);overflow-y:auto;padding:20px}.gestione-magazzino-modern .modal-section{margin-bottom:20px}.gestione-magazzino-modern .modal-section:last-child{margin-bottom:0}.gestione-magazzino-modern .modal-section h4{align-items:center;color:#0f172a;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 12px}.gestione-magazzino-modern .modal-section h4:before{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:2px;content:"";height:18px;width:4px}.gestione-magazzino-modern .modal-section p{color:#475569;font-size:14px;line-height:1.6;margin:0 0 12px}.gestione-magazzino-modern .modal-section p:last-child{margin-bottom:0}.gestione-magazzino-modern .modal-section ul{color:#475569;font-size:14px;margin:0;padding:0}.gestione-magazzino-modern .modal-section ul li{margin-bottom:8px}.gestione-magazzino-modern .modal-section strong{color:#1e293b;font-weight:600}.gestione-magazzino-modern .content-area{box-sizing:border-box;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:20px;width:100%}.gestione-magazzino-modern .controls-compact{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.gestione-magazzino-modern .controls-left,.gestione-magazzino-modern .controls-right{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.gestione-magazzino-modern .toggle-filters-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;padding:10px 18px;transition:all .2s;white-space:nowrap}.gestione-magazzino-modern .toggle-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1}.gestione-magazzino-modern .toggle-filters-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.gestione-magazzino-modern .toggle-filters-btn svg{transition:transform .3s ease}.gestione-magazzino-modern .toggle-filters-btn.active svg{transform:rotate(180deg)}.gestione-magazzino-modern .results-badge{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px}.gestione-magazzino-modern .search-box{flex:1 1;max-width:400px;min-width:250px;position:relative}.gestione-magazzino-modern .search-icon{color:#94a3b8;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.gestione-magazzino-modern .search-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:13px;padding:10px 16px 10px 40px;transition:all .2s;width:100%}.gestione-magazzino-modern .search-input::placeholder{color:#94a3b8}.gestione-magazzino-modern .search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.gestione-magazzino-modern .filter-panel{align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;margin-bottom:20px;padding:20px}.gestione-magazzino-modern .filter-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:16px;width:100%}.gestione-magazzino-modern .filter-group{display:flex;flex-direction:column;gap:6px}.gestione-magazzino-modern .filter-group label{color:#475569;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.gestione-magazzino-modern .filter-actions{display:inline-flex;gap:10px}.gestione-magazzino-modern .filter-apply-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:600;gap:6px;padding:8px 20px;transition:all .2s;width:auto}.gestione-magazzino-modern .filter-apply-btn:hover{box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.gestione-magazzino-modern .filter-reset-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;padding:8px 20px;transition:all .2s;width:auto}.gestione-magazzino-modern .filter-reset-btn:hover{background:#f8fafc;border-color:#cbd5e1}.gestione-magazzino-modern .add-row-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s;white-space:nowrap}.gestione-magazzino-modern .add-row-btn:hover{box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.gestione-magazzino-modern .add-modal-field{margin-bottom:16px}.gestione-magazzino-modern .add-modal-field label{color:#475569;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.gestione-magazzino-modern .filter-select__control{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:none!important;font-size:13px!important;min-height:42px!important}.gestione-magazzino-modern .filter-select__control:hover{border-color:#cbd5e1!important}.gestione-magazzino-modern .filter-select__control--is-focused{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.gestione-magazzino-modern .filter-select__placeholder{color:#94a3b8!important;font-size:13px!important}.gestione-magazzino-modern .filter-select__menu{border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 6px -1px #0000001a!important;z-index:9999!important}.gestione-magazzino-modern .filter-select__option{font-size:13px!important}.gestione-magazzino-modern .filter-select__option--is-focused{background:#f1f5f9!important}.gestione-magazzino-modern .filter-select__option--is-selected{background:#3b82f6!important}.gestione-magazzino-modern .filter-select__multi-value{background:#eff6ff!important;border-radius:4px!important}.gestione-magazzino-modern .filter-select__multi-value__label{color:#1e40af!important;font-size:12px!important}.gestione-magazzino-modern .filter-select__multi-value__remove:hover{background:#dbeafe!important;color:#1e40af!important}.gestione-magazzino-modern .stats-grid-compact{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.gestione-magazzino-modern .stat-card-compact{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;display:flex;gap:12px;padding:14px;transition:all .2s}.gestione-magazzino-modern .stat-card-compact:hover{box-shadow:0 4px 8px #00000014;transform:translateY(-2px)}.gestione-magazzino-modern .stat-icon-compact{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.gestione-magazzino-modern .stat-primary .stat-icon-compact{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.gestione-magazzino-modern .stat-primary .stat-icon-compact svg{color:#3b82f6}.gestione-magazzino-modern .stat-success .stat-icon-compact{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.gestione-magazzino-modern .stat-success .stat-icon-compact svg{color:#10b981}.gestione-magazzino-modern .stat-warning .stat-icon-compact{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.gestione-magazzino-modern .stat-warning .stat-icon-compact svg{color:#f59e0b}.gestione-magazzino-modern .stat-info .stat-icon-compact{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.gestione-magazzino-modern .stat-info .stat-icon-compact svg{color:#0ea5e9}.gestione-magazzino-modern .stat-content-compact{flex:1 1;min-width:0}.gestione-magazzino-modern .stat-label-compact{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.3px;margin:0 0 4px;text-transform:uppercase}.gestione-magazzino-modern .stat-value-compact{color:#0f172a;font-size:22px;font-weight:700;line-height:1;margin:0}.gestione-magazzino-modern .table-container-compact{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;margin-bottom:16px;overflow:hidden}.gestione-magazzino-modern .table-wrapper{overflow-x:auto}.gestione-magazzino-modern .data-table-compact{border-collapse:collapse;min-width:1000px;width:100%}.gestione-magazzino-modern .data-table-compact thead{background:#34495e;border-bottom:2px solid #2c3e50}.gestione-magazzino-modern .data-table-compact th{color:#fff;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.5px;padding:12px 14px;text-align:left;text-transform:uppercase;transition:background .2s;-webkit-user-select:none;user-select:none;vertical-align:top;white-space:nowrap}.gestione-magazzino-modern .data-table-compact th:hover{background:#2c3e50}.gestione-magazzino-modern .th-content{align-items:center;display:flex;gap:6px}.gestione-magazzino-modern .sort-icon{opacity:.5;transition:opacity .2s}.gestione-magazzino-modern .sort-icon.active{opacity:1}.gestione-magazzino-modern .data-table-compact tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .15s}.gestione-magazzino-modern .data-table-compact tbody tr:hover{background:#f8fafc}.gestione-magazzino-modern .data-table-compact tbody tr:last-child{border-bottom:none}.gestione-magazzino-modern .data-table-compact td{color:#1e293b;font-size:12px;padding:12px 14px;vertical-align:middle}.gestione-magazzino-modern .product-name-cell{color:#0f172a;font-size:13px;font-weight:600}.gestione-magazzino-modern .category-badge{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;color:#475569;display:inline-block;font-size:10px;font-weight:600;padding:4px 10px;white-space:nowrap}.gestione-magazzino-modern .quantity-cell{color:#0f172a;font-size:13px;font-weight:700}.gestione-magazzino-modern .value-cell{color:#059669;font-weight:600}.gestione-magazzino-modern .secondary-uom{color:#64748b;display:flex;flex-direction:column;font-size:11px;gap:2px}.gestione-magazzino-modern .secondary-uom span{display:block}.gestione-magazzino-modern .data-table-compact tbody tr.row-gestito{background:#fffbeb}.gestione-magazzino-modern .data-table-compact tbody tr.row-gestito:hover{background:#fef3c7}.gestione-magazzino-modern .quantity-with-old{align-items:center;display:inline-flex;gap:6px}.gestione-magazzino-modern .old-quantity{color:#94a3b8;font-size:12px;font-weight:500;text-decoration:line-through}.gestione-magazzino-modern .quantity-arrow{color:#f59e0b;font-size:12px;font-weight:700}.gestione-magazzino-modern .gestito-icon{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:50%;display:inline-flex;height:28px;justify-content:center;width:28px}.gestione-magazzino-modern .action-buttons{display:flex;gap:6px;justify-content:center}.gestione-magazzino-modern .edit-btn-compact{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#2563eb;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.gestione-magazzino-modern .edit-btn-compact:hover{background:#dbeafe;border-color:#93c5fd;box-shadow:0 2px 4px #2563eb26;transform:translateY(-1px)}.gestione-magazzino-modern .confirm-btn-compact{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;color:#059669;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.gestione-magazzino-modern .confirm-btn-compact:hover:not(:disabled){background:#d1fae5;border-color:#6ee7b7;box-shadow:0 2px 4px #05966926;transform:translateY(-1px)}.gestione-magazzino-modern .confirm-btn-compact:disabled{cursor:not-allowed;opacity:.4}.gestione-magazzino-modern .edit-modal-container{animation:gm-modalSlideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-width:480px;overflow:hidden;width:100%}.gestione-magazzino-modern .edit-modal-header{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;display:flex;gap:12px;padding:18px 20px}.gestione-magazzino-modern .edit-modal-header .modal-icon{align-items:center;background:#fff3;border-radius:8px;display:flex;height:36px;justify-content:center;width:36px}.gestione-magazzino-modern .edit-modal-header h3{flex:1 1;font-size:18px;font-weight:600;margin:0}.gestione-magazzino-modern .edit-modal-body{padding:24px 20px}.gestione-magazzino-modern .edit-modal-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px}.gestione-magazzino-modern .edit-modal-info-row{align-items:center;display:flex;justify-content:space-between}.gestione-magazzino-modern .edit-modal-info-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.gestione-magazzino-modern .edit-modal-info-value{color:#0f172a;font-size:14px;font-weight:600;max-width:60%;text-align:right;word-break:break-word}.gestione-magazzino-modern .edit-modal-field{margin-bottom:20px}.gestione-magazzino-modern .edit-modal-field label{color:#1e293b;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.gestione-magazzino-modern .edit-modal-input{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#0f172a;font-size:16px;font-weight:600;padding:12px 14px;transition:all .2s;width:100%}.gestione-magazzino-modern .edit-modal-input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26;outline:none}.gestione-magazzino-modern .edit-modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding-top:16px}.gestione-magazzino-modern .btn-cancel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.gestione-magazzino-modern .btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1}.gestione-magazzino-modern .btn-confirm{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 24px;transition:all .2s}.gestione-magazzino-modern .btn-confirm:hover:not(:disabled){box-shadow:0 4px 8px #f59e0b4d;transform:translateY(-1px)}.gestione-magazzino-modern .btn-confirm:disabled{cursor:not-allowed;opacity:.6}.gestione-magazzino-modern .btn-confirm .btn-spinner{animation:gm-spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.gestione-magazzino-modern .toast-message{animation:gm-toastSlideIn .3s ease;border-radius:8px;box-shadow:0 8px 16px #00000026;font-size:14px;font-weight:600;padding:14px 20px;position:fixed;right:20px;top:20px;z-index:10001}.gestione-magazzino-modern .toast-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.gestione-magazzino-modern .toast-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}@keyframes gm-toastSlideIn{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.gestione-magazzino-modern .pagination-compact{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}.gestione-magazzino-modern .pagination-btn-compact{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:7px 14px;transition:all .2s}.gestione-magazzino-modern .pagination-btn-compact:hover:not(:disabled){background:#f8fafc;border-color:#3b82f6;color:#3b82f6}.gestione-magazzino-modern .pagination-btn-compact:disabled{background:#f8fafc;cursor:not-allowed;opacity:.4}.gestione-magazzino-modern .pagination-info-compact{align-items:center;display:flex;flex-direction:column;gap:2px}.gestione-magazzino-modern .pagination-text-compact{color:#0f172a;font-size:12px;font-weight:600}.gestione-magazzino-modern .pagination-total-compact{color:#64748b;font-size:11px}.gestione-magazzino-modern .items-per-page-compact{align-items:center;display:flex;gap:8px;margin-left:8px}.gestione-magazzino-modern .items-label-compact{color:#64748b;font-size:11px;font-weight:500}.gestione-magazzino-modern .items-buttons-compact{display:flex;gap:4px}.gestione-magazzino-modern .items-btn-compact{background:#fff;border:1px solid #e2e8f0;border-radius:5px;color:#64748b;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .2s}.gestione-magazzino-modern .items-btn-compact:hover{background:#f8fafc;border-color:#3b82f6;color:#3b82f6}.gestione-magazzino-modern .items-btn-compact.active{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6;color:#fff}.gestione-magazzino-modern .loading-state{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.gestione-magazzino-modern .spinner-modern{animation:gm-spin 1s linear infinite;border:3px solid #f1f5f9;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:16px;width:40px}@keyframes gm-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.gestione-magazzino-modern .loading-state p{color:#64748b;font-size:14px;font-weight:500;margin:0}.gestione-magazzino-modern .empty-state{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.gestione-magazzino-modern .empty-state svg{color:#cbd5e1;margin-bottom:16px}.gestione-magazzino-modern .empty-state p{color:#64748b;font-size:15px;font-weight:500;margin:0}.gestione-magazzino-modern .mobile-only{display:none}@media (max-width:1400px){.gestione-magazzino-modern .stats-grid-compact{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.gestione-magazzino-modern .controls-compact{align-items:stretch;flex-direction:column}.gestione-magazzino-modern .controls-left,.gestione-magazzino-modern .controls-right{justify-content:space-between;width:100%}.gestione-magazzino-modern .search-box{max-width:100%}.gestione-magazzino-modern .filter-grid,.gestione-magazzino-modern .stats-grid-compact{grid-template-columns:1fr}}@media (max-width:768px){.gestione-magazzino-modern .page-header{padding:14px 16px}.gestione-magazzino-modern .header-title h2{font-size:24px!important}.gestione-magazzino-modern .header-subtitle{font-size:12px}.gestione-magazzino-modern .content-area{padding:12px}.gestione-magazzino-modern .desktop-only{display:none}.gestione-magazzino-modern .mobile-only{display:block}.gestione-magazzino-modern .mobile-cards-container{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.gestione-magazzino-modern .mobile-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000d;padding:14px}.gestione-magazzino-modern .mobile-card-gestito{background:#fffbeb;border-color:#fde68a}.gestione-magazzino-modern .mobile-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.gestione-magazzino-modern .mobile-card-title{color:#0f172a;flex:1 1;font-size:14px;font-weight:700;line-height:1.3;padding-right:8px}.gestione-magazzino-modern .mobile-card .category-badge{margin-bottom:10px}.gestione-magazzino-modern .mobile-card-body{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.gestione-magazzino-modern .mobile-card-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:6px 0}.gestione-magazzino-modern .mobile-card-row:last-child{border-bottom:none}.gestione-magazzino-modern .mobile-card-label{color:#64748b;flex-shrink:0;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.gestione-magazzino-modern .mobile-card-value{color:#0f172a;font-size:13px;font-weight:600;max-width:65%;text-align:right;word-break:break-word}.gestione-magazzino-modern .mobile-secondary-uom{color:#64748b;display:block;font-size:12px}.gestione-magazzino-modern .mobile-card-actions{display:flex;gap:8px}.gestione-magazzino-modern .mobile-card-edit-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#2563eb;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:12px;transition:all .2s}.gestione-magazzino-modern .mobile-card-edit-btn:active{background:#dbeafe;transform:scale(.98)}.gestione-magazzino-modern .mobile-card-confirm-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#059669;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:12px;transition:all .2s}.gestione-magazzino-modern .mobile-card-confirm-btn:active{background:#d1fae5;transform:scale(.98)}.gestione-magazzino-modern .mobile-card-confirm-btn:disabled{cursor:not-allowed;opacity:.4}.gestione-magazzino-modern .stats-grid-compact{gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}.gestione-magazzino-modern .stat-card-compact{gap:8px;padding:10px}.gestione-magazzino-modern .stat-icon-compact{height:32px;width:32px}.gestione-magazzino-modern .stat-icon-compact svg{height:16px;width:16px}.gestione-magazzino-modern .stat-value-compact{font-size:16px}.gestione-magazzino-modern .stat-label-compact{font-size:9px}.gestione-magazzino-modern .toggle-filters-btn{font-size:13px;padding:10px 14px}.gestione-magazzino-modern .results-badge{font-size:12px;padding:8px 12px}.gestione-magazzino-modern .add-row-btn{font-size:13px;padding:10px 14px}.gestione-magazzino-modern .pagination-compact{flex-wrap:wrap;gap:8px}.gestione-magazzino-modern .pagination-btn-compact{font-size:13px;min-height:44px;padding:10px 16px}.gestione-magazzino-modern .items-per-page-compact{justify-content:center;margin-left:0;margin-top:4px;width:100%}.gestione-magazzino-modern .items-btn-compact{font-size:13px;min-height:38px;padding:8px 14px}.gestione-magazzino-modern .modal-overlay{align-items:center;padding:16px}.gestione-magazzino-modern .edit-modal-container,.gestione-magazzino-modern .modal-container{border-radius:12px;display:flex;flex-direction:column;max-height:85vh;max-width:100%}.gestione-magazzino-modern .edit-modal-header,.gestione-magazzino-modern .modal-header{flex-shrink:0}.gestione-magazzino-modern .edit-modal-body,.gestione-magazzino-modern .modal-body{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto}.gestione-magazzino-modern .edit-modal-body{padding:20px 16px}.gestione-magazzino-modern .edit-modal-input{font-size:16px;min-height:48px;padding:14px}.gestione-magazzino-modern .edit-modal-actions{flex-direction:column;gap:8px}.gestione-magazzino-modern .btn-cancel,.gestione-magazzino-modern .btn-confirm{font-size:15px;justify-content:center;min-height:48px;padding:14px;width:100%}.gestione-magazzino-modern .edit-modal-info-row{align-items:flex-start;flex-direction:column;gap:2px}.gestione-magazzino-modern .edit-modal-info-value{max-width:100%;text-align:left}.gestione-magazzino-modern .filter-panel{border-radius:10px;margin-bottom:12px;padding:14px}.gestione-magazzino-modern .filter-actions{display:flex;width:100%}.gestione-magazzino-modern .filter-apply-btn,.gestione-magazzino-modern .filter-reset-btn{flex:1 1;justify-content:center;min-height:44px;padding:12px}.gestione-magazzino-modern .search-box{flex:1 1;min-width:0}.gestione-magazzino-modern .search-input{font-size:14px;min-height:44px;padding:12px 16px 12px 40px}}@media (max-width:480px){.gestione-magazzino-modern .back-button span{display:none}.gestione-magazzino-modern .header-title h2{font-size:20px!important}.gestione-magazzino-modern .content-area{padding:10px}.gestione-magazzino-modern .stats-grid-compact{gap:6px;grid-template-columns:repeat(3,1fr)}.gestione-magazzino-modern .stat-card-compact{flex-direction:column;gap:4px;padding:8px;text-align:center}.gestione-magazzino-modern .stat-value-compact{font-size:14px}.gestione-magazzino-modern .stat-label-compact{font-size:8px}.gestione-magazzino-modern .mobile-card{padding:12px}.gestione-magazzino-modern .mobile-card-title{font-size:13px}}.svuot-sett-container{background:linear-gradient(135deg,#f5f7fa,#e9edf4);display:flex;flex:1 1;flex-direction:column;overflow:auto}.svuot-sett-container .page-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;min-height:80px;padding:16px 20px}.svuot-sett-container .header-content{align-items:center;display:flex;gap:16px;min-height:48px;width:100%}.svuot-sett-container .back-button{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.svuot-sett-container .back-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.svuot-sett-container .back-button svg{height:16px;width:16px}.svuot-sett-container .header-title{flex:1 1;min-width:0}.svuot-sett-container .header-title-row{align-items:center;display:flex;gap:12px;margin-bottom:4px}.svuot-sett-container .header-title h2{color:#0f172a;font-size:32px!important;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0}.svuot-sett-container .header-subtitle{color:#64748b;font-size:13px;line-height:1.4;margin:0}.svuot-sett-container .info-button-modern{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s ease;width:28px}.svuot-sett-container .info-button-modern:hover{box-shadow:0 4px 12px #3b82f666;transform:scale(1.1)}.svuot-sett-container .info-icon-text{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:700}.svuot-sett-container .content-area{flex:1 1;overflow-y:auto;padding:20px}.filters-panel-svuot{animation:slideDown .3s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d;margin-bottom:16px;padding:14px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filters-grid-svuot{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.filter-item-svuot{display:flex;flex-direction:column;gap:6px}.filter-item-svuot label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.filter-item-svuot select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:13px;padding:8px 12px;transition:all .2s}.filter-item-svuot select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-actions-svuot{justify-content:flex-end}.filter-buttons-svuot{display:flex;gap:8px}.btn-apply-svuot{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 18px;transition:all .2s}.btn-apply-svuot:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d}.btn-reset-svuot{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 18px;transition:all .2s}.btn-reset-svuot:hover{background:#f8fafc;border-color:#cbd5e1}.kpi-strip-svuot{display:flex;gap:12px;margin-bottom:16px}.kpi-card-svuot{align-items:center;background:#fff;border:1px solid #e2e8f0;border-left:3px solid #0000;border-radius:10px;box-shadow:0 1px 3px #0000000f;display:flex;flex:1 1;gap:12px;padding:16px 20px;transition:all .2s ease}.kpi-card-svuot:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.kpi-icon-svuot{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.kpi-info-svuot{display:flex;flex-direction:column;min-width:0}.kpi-value-svuot{color:#0f172a;font-size:22px;font-weight:700;line-height:1.2}.kpi-label-svuot{color:#94a3b8;font-size:10px;font-weight:600;letter-spacing:.3px;margin-top:2px;text-transform:uppercase}.kpi-blue{border-left-color:#3b82f6}.kpi-blue .kpi-icon-svuot{background:#eff6ff;color:#3b82f6}.kpi-green{border-left-color:#10b981}.kpi-green .kpi-icon-svuot{background:#ecfdf5;color:#10b981}.kpi-yellow{border-left-color:#f59e0b}.kpi-yellow .kpi-icon-svuot{background:#fffbeb;color:#f59e0b}.kpi-purple{border-left-color:#8b5cf6}.kpi-purple .kpi-icon-svuot{background:#f5f3ff;color:#8b5cf6}.kpi-pink{border-left-color:#ec4899}.kpi-pink .kpi-icon-svuot{background:#fdf2f8;color:#ec4899}.chart-container-svuot{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000f;padding:20px}.chart-title-svuot{color:#0f172a;font-size:16px;font-weight:700;margin:0 0 12px}.table-section-svuot{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000f;margin-top:16px}.table-loading-overlay-svuot{align-items:center;background:#ffffffd9;border-radius:10px;display:flex;inset:0;justify-content:center;position:absolute;z-index:10}.table-section-header-svuot{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px 12px}.table-title-svuot{color:#0f172a;font-size:16px;font-weight:700;margin:0}.table-subtitle-svuot{color:#94a3b8;font-size:12px;font-weight:500}.toggle-aggregazione-svuot{background:#f1f5f9;border-radius:8px;display:flex;gap:2px;padding:3px;width:-webkit-fit-content;width:fit-content}.toggle-btn-svuot{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:all .2s ease;white-space:nowrap}.toggle-btn-svuot:hover:not(.active){background:#ffffff80;color:#475569}.toggle-btn-svuot.active{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 4px #3b82f640;color:#fff}.table-wrapper-svuot{overflow-x:auto}.table-svuot{border-collapse:collapse;font-size:13px;width:100%}.table-svuot thead th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.3px;padding:10px 16px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.table-svuot thead th.numeric-cell{text-align:right}.table-svuot tbody td{border-bottom:1px solid #f1f5f9;color:#1e293b;padding:10px 16px}.table-svuot tbody td.numeric-cell{font-weight:600;text-align:right}.table-svuot tbody tr:hover{background:#f8fafc}.table-group-header-svuot td{background:#eff6ff;border-bottom:1px solid #bfdbfe;color:#1e40af;font-size:13px;font-weight:700;padding:8px 16px}.badge-frequenza-svuot{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;color:#2563eb;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.badge-frequenza-svuot.badge-bisett{background:#f5f3ff;border-color:#ddd6fe;color:#7c3aed}.copertura-cell-svuot{align-items:center;display:flex;gap:10px;min-width:140px}.copertura-bar-svuot{background:#f1f5f9;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.copertura-fill-svuot{border-radius:4px;height:100%;transition:width .3s ease}.copertura-value-svuot{font-size:13px;font-weight:700;min-width:48px;text-align:right;white-space:nowrap}.pagination-svuot{align-items:center;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:center;padding:14px 20px}.pagination-btn-svuot{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.pagination-btn-svuot:hover:not(:disabled){background:#f8fafc;border-color:#3b82f6;color:#3b82f6}.pagination-btn-svuot:disabled{cursor:not-allowed;opacity:.5}.pagination-btn-svuot svg{height:16px;width:16px}.pagination-info-svuot{align-items:center;display:flex;flex-direction:column;gap:2px}.pagination-text-svuot{color:#0f172a;font-size:12px;font-weight:600}.pagination-total-svuot{color:#64748b;font-size:11px}.items-per-page-svuot{align-items:center;display:flex;gap:8px;margin-left:8px}.items-label-svuot{color:#64748b;font-size:11px;font-weight:500}.items-buttons-svuot{display:flex;gap:4px}.items-btn-svuot{background:#fff;border:1px solid #e2e8f0;border-radius:5px;color:#64748b;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .2s}.items-btn-svuot:hover{background:#f8fafc;border-color:#2e6db1;color:#2e6db1}.items-btn-svuot.active{background:linear-gradient(135deg,#2e6db1,#3b82f6);border-color:#2e6db1;color:#fff}.amb-gen-container{display:flex;flex-direction:column;gap:24px}.amb-gen-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.amb-gen-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000a;padding:24px}.amb-gen-section-title{color:#2e6db1;font-size:16px;font-weight:700;margin:0}.amb-gen-loading{color:#64748b}.amb-gen-empty,.amb-gen-loading{align-items:center;display:flex;font-size:14px;justify-content:center;min-height:200px}.amb-gen-empty{color:#94a3b8}.amb-kpi-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;overflow:hidden}.amb-kpi-table-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.amb-kpi-table-wrapper{max-height:600px;min-height:200px;overflow:auto;position:relative}.amb-kpi-table{border-collapse:initial;border-spacing:0;font-size:12px;width:100%}.amb-kpi-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:10}.amb-kpi-table thead th{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #e2e8f0;color:#1e40af;font-size:11px;font-weight:700;letter-spacing:.3px;padding:10px 8px;text-align:center;text-transform:uppercase;white-space:nowrap}.amb-kpi-th-corner{background:linear-gradient(135deg,#f8fafc,#f1f5f9)!important;border:1px solid #e2e8f0!important;left:0;min-width:180px;padding-left:12px!important;position:-webkit-sticky;position:sticky;text-align:left!important;z-index:15}.amb-kpi-th-totale{background:linear-gradient(135deg,#ecfdf5,#d1fae5)!important;color:#047857!important;font-weight:700}.amb-kpi-table td{border:1px solid #f1f5f9;color:#0f172a;font-size:11px;padding:8px 6px;text-align:center;white-space:nowrap}.amb-kpi-cell-label{background:#fff;border-right:2px solid #e2e8f0!important;color:#2e6db1;font-weight:600;left:0;min-width:180px;padding-left:12px!important;position:-webkit-sticky;position:sticky;text-align:left!important;z-index:5}.amb-kpi-row-settore{cursor:pointer}.amb-kpi-row-settore:hover td{background:#eff6ff!important}.amb-kpi-row-settore .amb-kpi-cell-label{color:#1e3a5f;font-weight:700}.amb-kpi-row-settore:hover .amb-kpi-cell-label{background:#eff6ff!important}.amb-kpi-toggle{align-items:center;display:inline-flex;gap:6px}.amb-kpi-toggle svg{flex-shrink:0;transition:transform .2s}.amb-kpi-toggle svg.expanded{transform:rotate(90deg)}.amb-kpi-row-commessa .amb-kpi-cell-label{color:#475569;font-weight:400;padding-left:28px!important}.amb-kpi-row-commessa:hover .amb-kpi-cell-label,.amb-kpi-row-commessa:hover td{background:#eff6ff!important}.amb-kpi-row-totale td{border-top:2px solid #d1fae5}.amb-kpi-row-totale .amb-kpi-cell-label,.amb-kpi-row-totale td,.amb-kpi-td-totale{background:#f0fdf4;color:#047857;font-weight:700}.amb-kpi-td-totale{border-left:2px solid #d1fae5!important}.amb-kpi-cell-empty{color:#94a3b8;font-style:italic;padding:40px 20px!important;text-align:center!important}.amb-gen-section-header{align-items:center;display:flex;justify-content:space-between}.amb-gen-section-header .trend-fullscreen-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f640;color:#000;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;min-width:28px;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:28px}.amb-gen-section-header .trend-fullscreen-btn:hover{box-shadow:0 4px 16px #3b82f666;transform:scale(1.1) rotate(5deg)}.amb-gen-section.fullscreen-trend{background:#fff}.amb-gen-section.fullscreen-trend,.amb-kpi-table-section.fullscreen-trend{border-radius:0;bottom:0;left:0;padding:20px 24px;position:fixed;right:0;top:0;z-index:9999}.amb-kpi-table-section.fullscreen-trend{background:#f8fafc;display:flex;flex-direction:column;overflow:auto}.amb-kpi-table-section.fullscreen-trend .amb-kpi-table-wrapper{flex:1 1;max-height:none;min-height:0}.amb-kpi-td-dimmed{opacity:.3;transition:opacity .2s ease}.amb-gen-section canvas{cursor:pointer}@media (max-width:1200px){.amb-gen-grid{grid-template-columns:1fr}.amb-gen-container{gap:16px}.amb-gen-section{padding:16px}.amb-kpi-table-header{padding:12px 16px}}@media (max-width:768px){.amb-gen-container{gap:12px}.amb-gen-section{border-radius:10px;padding:12px}.amb-kpi-table-section{border-radius:8px}.amb-kpi-table-header{padding:10px 12px}.amb-gen-section-header,.amb-kpi-table-header{flex-wrap:wrap;gap:8px}.amb-gen-section-title{font-size:14px}}
/*# sourceMappingURL=main.0b0122fa.css.map*/