@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap";.login-page{min-height:100vh;display:flex;background:var(--bg-base)}.login-visual{display:none}@media (min-width: 900px){.login-visual{display:flex;flex:1;background:linear-gradient(135deg,var(--blue) 0%,#1e40af 100%);color:#fff;align-items:center;justify-content:center;padding:3rem}.login-visual-content h2{font-size:2.5rem;margin-bottom:1rem}.login-visual-content p{font-size:1.1rem;opacity:.9;max-width:480px;line-height:1.6}}.login-container{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:440px;background:var(--bg-surface);border-radius:var(--radius);box-shadow:0 10px 30px #0000001a;padding:2.5rem 2rem;border:1px solid rgba(0,0,0,.05)}[data-theme=dark] .login-card{border:1px solid rgba(255,255,255,.05)}.login-logo-container{display:flex;justify-content:center;margin-bottom:2rem}.login-logo{max-height:54px;object-fit:contain}.login-title{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;text-align:center}.login-subtitle{margin:0 0 2rem;color:var(--text-muted);font-size:.95rem;text-align:center}.login-form label{display:block;margin-bottom:.35rem;font-size:.875rem;font-weight:500;color:var(--text-primary)}.login-form input{width:100%;padding:.75rem 1rem;margin-bottom:1rem;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-sm);font-size:1rem;background:var(--bg-surface);color:var(--text-primary)}.login-form input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #2563eb26}.login-remember{display:flex;align-items:center;gap:.5rem;margin:-.25rem 0 1rem;font-size:.9rem;font-weight:400;cursor:pointer}.login-remember input[type=checkbox]{width:auto;margin:0;cursor:pointer}.login-error{color:var(--red);font-size:.875rem;margin:0 0 .75rem}.login-message{color:var(--green);font-size:.875rem;margin:0 0 .75rem}.login-register{margin-top:1rem;text-align:center;font-size:.9rem;color:var(--text-muted)}.login-register a{color:var(--blue);font-weight:500;text-decoration:none}.login-register a:hover{text-decoration:underline}.register-page{min-height:100vh;display:flex;background:var(--bg-base)}.register-visual{display:none}@media (min-width: 900px){.register-visual{display:flex;flex:1;background:linear-gradient(135deg,var(--green) 0%,#047857 100%);color:#fff;align-items:center;justify-content:center;padding:3rem}.register-visual-content h2{font-size:2.5rem;margin-bottom:1rem}.register-visual-content p{font-size:1.1rem;opacity:.9;max-width:480px;line-height:1.6}}.register-container{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem}.register-card{width:100%;max-width:460px;background:var(--bg-surface);border-radius:var(--radius);box-shadow:0 10px 30px #0000001a;padding:2.5rem 2rem;border:1px solid rgba(0,0,0,.05)}[data-theme=dark] .register-card{border:1px solid rgba(255,255,255,.05)}.register-logo-container{display:flex;justify-content:center;margin-bottom:2rem}.register-logo{max-height:54px;object-fit:contain}.register-title{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;text-align:center}.register-subtitle{margin:0 0 2rem;color:var(--text-muted);font-size:.95rem;line-height:1.4;text-align:center}.register-form label{display:block;margin-bottom:.35rem;font-size:.875rem;font-weight:500;color:var(--text-primary)}.register-form input{width:100%;padding:.75rem 1rem;margin-bottom:1rem;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-sm);font-size:1rem;background:var(--bg-surface);color:var(--text-primary)}.register-form input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #2563eb26}.register-error{color:var(--red);font-size:.875rem;margin:0 0 .75rem}.register-message{color:var(--green);font-size:.875rem;margin:0 0 .75rem}.register-footer{margin-top:1.25rem;text-align:center;font-size:.9rem;color:var(--text-muted)}.register-footer a{color:var(--blue);font-weight:500;text-decoration:none}.register-footer a:hover{text-decoration:underline}.pricing-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg, #f5f7fb)}.pricing-card{width:min(1100px,100%);background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 24px #0d1c3614}.pricing-cycle{display:inline-flex;gap:8px;padding:4px;border-radius:999px;background:#f2f4f7;margin:16px 0}.pricing-cycle button{border:0;padding:8px 14px;border-radius:999px;cursor:pointer;background:transparent}.pricing-cycle button.active{background:#1f6fff;color:#fff}.pricing-iva-note{font-size:.8rem;color:#6b7280;margin:0 0 8px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.pricing-plan{border:1px solid #e5e8ef;border-radius:12px;padding:16px}.pricing-plan.popular{border-color:#1f6fff}.pricing-plan .price{font-size:24px;font-weight:700;margin:8px 0}.pricing-plan .limit{color:#4e5d78;min-height:40px}.pricing-trial{margin-top:20px;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center}.pricing-promo-input{width:min(340px,100%);border:1px solid #d6dde8;border-radius:8px;padding:9px 10px}.pricing-error{color:#bf1d1d;margin-top:12px}.pricing-hint{margin:4px 0 12px;color:#4e5d78}.landing-page{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;color:#111827;background:#f7f9fc;overflow-x:hidden}@keyframes fadeInUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(1deg)}}@keyframes countUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulseDot{0%,to{box-shadow:0 0 #2563eb66}50%{box-shadow:0 0 0 10px #2563eb00}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.reveal-delay-6{transition-delay:.6s}.land-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1rem 0;transition:background .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}.land-nav.scrolled{background:#0f172aeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px #ffffff14}.land-nav-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.land-nav-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0}.land-nav-logo:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px;border-radius:8px}.land-nav-logo-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #ffffff26}.land-nav-logo-icon svg{width:20px;height:20px;color:#fff}.land-nav-logo-text{font-size:1.35rem;font-weight:800;color:#fff;letter-spacing:-.02em}.land-nav-links{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}.land-nav-links li a{display:block;padding:.5rem .875rem;color:#ffffffbf;text-decoration:none;font-weight:500;font-size:.95rem;border-radius:8px;transition:color .15s ease,background .15s ease}.land-nav-links li a:hover,.land-nav-links li a:focus-visible{color:#fff;background:#ffffff14}.land-nav-links li a:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}.land-nav-cta{display:flex;align-items:center;gap:.75rem}.land-btn-ghost{padding:.5rem 1rem;color:#ffffffbf;text-decoration:none;font-weight:500;font-size:.9rem;border-radius:8px;transition:color .15s ease,background .15s ease;border:1px solid rgba(255,255,255,.2)}.land-btn-ghost:hover{color:#fff;background:#ffffff14;border-color:#ffffff59}.land-btn-primary{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;background:#2563eb;color:#fff;font-weight:600;font-size:.9rem;border-radius:8px;text-decoration:none;box-shadow:0 0 #2563eb66;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.land-btn-primary:hover,.land-btn-primary:focus-visible{filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 6px 20px #2563eb66}.land-btn-primary:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.land-nav-burger:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px}.land-nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;background:transparent;border:none}.land-nav-burger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all .3s ease}.land-nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.land-nav-burger.open span:nth-child(2){opacity:0}.land-nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 768px){.land-nav-links,.land-nav-cta{display:none}.land-nav-burger{display:flex}.land-nav.mobile-open .land-nav-links{display:flex;flex-direction:column;position:fixed;top:65px;left:0;right:0;background:#0f172af7;padding:1rem 1.5rem 2rem;gap:.25rem;animation:fadeInDown .25s ease}.land-nav.mobile-open .land-nav-links li a{font-size:1.1rem;padding:.75rem 1rem}.land-nav.mobile-open .land-nav-cta{display:flex;flex-direction:column;position:fixed;top:auto;bottom:0;left:0;right:0;background:#0f172af7;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}.land-nav.mobile-open .land-btn-primary,.land-nav.mobile-open .land-btn-ghost{width:100%;justify-content:center;padding:.875rem 1rem;font-size:1rem}}.land-hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:8rem 1.5rem 5rem;background:linear-gradient(135deg,#0f172a,#1e2a4a 40%,#1a3a6e 75%,#2563eb);overflow:hidden}.land-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 70% 50%,rgba(37,99,235,.25) 0%,transparent 65%),radial-gradient(ellipse at 20% 80%,rgba(16,185,129,.12) 0%,transparent 50%);pointer-events:none}.land-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:50px 50px;pointer-events:none}.land-hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.land-hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .875rem .35rem .5rem;background:#2563eb33;border:1px solid rgba(37,99,235,.4);border-radius:100px;font-size:.8rem;color:#93c5fd;font-weight:500;margin-bottom:1.5rem;animation:fadeInDown .6s ease both}.land-hero-badge-dot{width:6px;height:6px;border-radius:50%;background:#3b82f6;animation:pulseDot 2s infinite}.land-hero-h1{margin:0 0 1.25rem;font-size:clamp(2.5rem,5vw,3.75rem);font-weight:900;line-height:1.1;letter-spacing:-.03em;color:#fff;animation:fadeInUp .7s .1s ease both}.land-hero-h1 span{background:linear-gradient(135deg,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.land-hero-sub{font-size:1.15rem;color:#ffffffb8;line-height:1.65;margin:0 0 2rem;max-width:520px;animation:fadeInUp .7s .2s ease both}.land-hero-ctas{display:flex;flex-wrap:wrap;gap:.875rem;margin-bottom:2.5rem;animation:fadeInUp .7s .3s ease both}.land-hero-btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:#2563eb;color:#fff;font-weight:700;font-size:1.05rem;border-radius:12px;text-decoration:none;box-shadow:0 4px 16px #2563eb73;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.land-hero-btn-primary:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 8px 28px #2563eb8c}.land-hero-btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#ffffffe6;font-weight:600;font-size:1.05rem;border-radius:12px;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}.land-hero-btn-secondary:hover,.land-hero-btn-secondary:focus-visible{background:#ffffff24;border-color:#ffffff59;transform:translateY(-1px)}.land-hero-btn-secondary:focus-visible,.land-hero-btn-primary:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.land-hero-trust{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;animation:fadeInUp .7s .4s ease both}.land-hero-trust-item{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#fff9;font-weight:500}.land-hero-trust-item .trust-icon{font-size:1rem}.land-hero-stats{display:flex;gap:1.5rem;margin-top:2.5rem;animation:fadeInUp .7s .5s ease both}.land-hero-stat{text-align:center}.land-hero-stat-num{display:block;font-size:2rem;font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1}.land-hero-stat-label{display:block;font-size:.78rem;color:#ffffff80;font-weight:500;margin-top:.25rem}.land-hero-visual{position:relative;animation:float 6s ease-in-out infinite}.land-hero-mockup{width:100%;border-radius:20px;box-shadow:0 40px 100px #00000080,0 0 0 1px #ffffff14;display:block}.land-hero-visual-badge{position:absolute;background:#0f172ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.6rem .875rem;display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:#fff;font-weight:600;white-space:nowrap;box-shadow:0 8px 24px #0000004d}.land-hero-visual-badge.badge-green{top:15%;right:-5%;border-color:#34d3994d}.land-hero-visual-badge.badge-blue{bottom:20%;left:-8%;border-color:#60a5fa4d}.land-hero-visual-badge.badge-amber{top:55%;right:-10%;border-color:#fbbf244d}.badge-dot-g{width:8px;height:8px;border-radius:50%;background:#34d399;flex-shrink:0}.badge-dot-b{width:8px;height:8px;border-radius:50%;background:#60a5fa;flex-shrink:0}.badge-dot-a{width:8px;height:8px;border-radius:50%;background:#fbbf24;flex-shrink:0}@media (max-width: 900px){.land-hero-inner{grid-template-columns:1fr;gap:3rem;text-align:center}.land-hero-sub{max-width:100%}.land-hero-ctas,.land-hero-trust,.land-hero-stats{justify-content:center}.land-hero-visual{max-width:560px;margin:0 auto}.land-hero-visual-badge.badge-green{right:0}.land-hero-visual-badge.badge-blue{left:0}.land-hero-visual-badge.badge-amber{right:0}}@media (max-width: 480px){.land-hero{padding:7rem 1.5rem 4rem}.land-hero-h1{font-size:2.25rem}.land-hero-btn-primary,.land-hero-btn-secondary{width:100%;justify-content:center}.land-hero-ctas{flex-direction:column}.land-hero-stats{gap:1rem}.land-hero-visual-badge{display:none}}.land-section{padding:5.5rem 1.5rem}.land-section-inner{max-width:1200px;margin:0 auto}.land-section-label{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#2563eb;margin-bottom:.75rem}.land-section-h2{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800;letter-spacing:-.025em;line-height:1.2;color:#111827;margin:0 0 1rem}.land-section-sub{font-size:1.05rem;color:#6b7280;line-height:1.65;max-width:600px;margin:0}.land-section-header{margin-bottom:3.5rem}.land-pain{background:#fff}.land-pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.land-pain-card{background:#f7f9fc;border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:2rem 1.75rem;transition:transform .2s ease,box-shadow .2s ease}.land-pain-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.land-pain-icon{font-size:2.5rem;margin-bottom:1.25rem;display:block}.land-pain-card h3{font-size:1.2rem;font-weight:700;color:#111827;margin:0 0 .625rem}.land-pain-card p{font-size:.95rem;color:#6b7280;line-height:1.6;margin:0}@media (max-width: 768px){.land-pain-grid{grid-template-columns:1fr}}.land-features{background:#f7f9fc}.land-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.land-feat-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:1.75rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden}.land-feat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#34d399);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.land-feat-card:hover:before{transform:scaleX(1)}.land-feat-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000001a;border-color:#2563eb26}.land-feat-icon-wrap{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.25rem}.feat-blue{background:#2563eb1a}.feat-green{background:#0596691a}.feat-amber{background:#d977061a}.feat-purple{background:#7c3aed1a}.feat-rose{background:#e11d481a}.feat-teal{background:#14b8a61a}.land-feat-card h3{font-size:1.05rem;font-weight:700;color:#111827;margin:0 0 .5rem}.land-feat-card p{font-size:.9rem;color:#6b7280;line-height:1.6;margin:0}.land-feat-tag{display:inline-block;margin-top:.875rem;font-size:.75rem;font-weight:600;color:#2563eb;background:#2563eb14;padding:.2rem .6rem;border-radius:100px}@media (max-width: 900px){.land-features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.land-features-grid{grid-template-columns:1fr}}.land-how{background:#fff}.land-how-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem;position:relative}.land-how-steps:before{content:"";position:absolute;top:28px;left:calc(12.5% + 24px);right:calc(12.5% + 24px);height:2px;background:linear-gradient(90deg,#2563eb,#34d399);z-index:0}.land-how-step{position:relative;z-index:1;text-align:center;padding:1.5rem 1rem}.land-how-num{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:800;font-size:1.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;box-shadow:0 4px 16px #2563eb66}.land-how-step h3{font-size:1rem;font-weight:700;color:#111827;margin:0 0 .5rem}.land-how-step p{font-size:.875rem;color:#6b7280;line-height:1.55;margin:0}@media (max-width: 768px){.land-how-steps{grid-template-columns:repeat(2,1fr)}.land-how-steps:before{display:none}}@media (max-width: 480px){.land-how-steps{grid-template-columns:1fr}}.land-pricing{background:#f7f9fc}.land-pricing-toggle-wrap{display:flex;justify-content:center;margin-bottom:3rem}.land-pricing-toggle{display:inline-flex;align-items:center;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:.25rem;gap:.2rem;box-shadow:0 2px 8px #0000000f}.land-pricing-toggle-btn{position:relative;padding:.5rem 1.125rem;border-radius:9px;font-size:.9rem;font-weight:600;color:#6b7280;cursor:pointer;border:none;background:transparent;transition:color .2s ease;font-family:inherit}.land-pricing-toggle-btn.active{background:#2563eb;color:#fff;box-shadow:0 2px 8px #2563eb59}.land-pricing-toggle-btn:focus-visible{outline:2px solid #2563EB;outline-offset:2px}.land-pricing-badge{display:inline-block;font-size:.65rem;font-weight:700;background:#059669;color:#fff;padding:.15rem .45rem;border-radius:100px;margin-left:.4rem;vertical-align:middle;text-transform:uppercase}.land-pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;align-items:start}.land-plan-card{background:#fff;border:2px solid rgba(0,0,0,.06);border-radius:20px;padding:2rem 1.5rem;position:relative;transition:transform .2s ease,box-shadow .2s ease}.land-plan-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px #0000001a}.land-plan-card.featured{border-color:#2563eb;transform:scale(1.04);box-shadow:0 20px 60px #2563eb33;z-index:1}.land-plan-card.featured:hover{transform:scale(1.04) translateY(-4px)}.land-plan-badge-top{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:.72rem;font-weight:700;padding:.3rem .875rem;border-radius:100px;white-space:nowrap;letter-spacing:.05em;text-transform:uppercase}.land-plan-name{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6b7280;margin-bottom:.5rem}.land-plan-price-block{margin-bottom:1.25rem;min-height:72px}.land-plan-price{font-size:2.5rem;font-weight:900;color:#111827;letter-spacing:-.04em;line-height:1;display:flex;align-items:baseline;gap:.2rem;transition:all .3s ease}.land-plan-price-currency{font-size:1.25rem;font-weight:700;color:#6b7280;margin-top:.3rem}.land-plan-price-period{font-size:.85rem;font-weight:500;color:#6b7280;align-self:flex-end;margin-bottom:.25rem}.land-plan-price-note{font-size:.8rem;color:#6b7280;margin-top:.35rem;min-height:1.2em}.land-pricing-iva-note{font-size:.8rem;color:#6b7280;text-align:center;margin-top:1.25rem;margin-bottom:.5rem}.land-plan-limit{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:#374151;font-weight:500;margin-bottom:1.5rem;padding:.5rem .75rem;background:#2563eb0d;border-radius:8px}.land-plan-divider{height:1px;background:#0000000f;margin:1.25rem 0}.land-plan-features{list-style:none;margin:0 0 1.75rem;padding:0;display:flex;flex-direction:column;gap:.65rem}.land-plan-features li{display:flex;align-items:flex-start;gap:.5rem;font-size:.88rem;color:#374151;line-height:1.4}.land-plan-check{color:#059669;font-size:1rem;flex-shrink:0;margin-top:.05rem}.land-plan-cta{display:block;text-align:center;padding:.8rem 1rem;border-radius:10px;font-weight:700;font-size:.95rem;text-decoration:none;transition:all .18s ease}.land-plan-cta-primary{background:#2563eb;color:#fff;box-shadow:0 4px 12px #2563eb59}.land-plan-cta-primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 8px 20px #2563eb73}.land-plan-cta-secondary{background:#f7f9fc;color:#374151;border:1px solid rgba(0,0,0,.1)}.land-plan-cta-secondary:hover,.land-plan-cta-secondary:focus-visible{background:#eef2ff;border-color:#2563eb4d;color:#2563eb}.land-plan-cta:focus-visible,.land-faq-q:focus-visible{outline:2px solid #2563EB;outline-offset:2px}.land-pricing-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.5rem;margin-top:2.5rem}.land-pricing-trust-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280;font-weight:500}@media (max-width: 1050px){.land-pricing-grid{grid-template-columns:repeat(2,1fr)}.land-plan-card.featured{transform:none}.land-plan-card.featured:hover{transform:translateY(-4px)}}@media (max-width: 580px){.land-pricing-grid{grid-template-columns:1fr}.land-pricing-toggle{flex-wrap:wrap}}.land-faq{background:#fff}.land-faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.land-faq-item{border:1px solid rgba(0,0,0,.07);border-radius:12px;overflow:hidden;background:#f7f9fc;transition:border-color .2s ease}.land-faq-item.open{border-color:#2563eb40;background:#fff}.land-faq-q{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1.125rem 1.25rem;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit;font-size:.975rem;font-weight:600;color:#111827;transition:color .2s ease}.land-faq-q:hover{color:#2563eb}.land-faq-icon{width:22px;height:22px;border-radius:50%;background:#2563eb1a;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem;font-weight:700;transition:background .2s ease,transform .3s ease}.land-faq-item.open .land-faq-icon{background:#2563eb;color:#fff;transform:rotate(45deg)}.land-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;padding:0 1.25rem;font-size:.92rem;color:#4b5563;line-height:1.65}.land-faq-item.open .land-faq-a{max-height:80vh;padding:0 1.25rem 1.25rem}.land-cta-final{padding:6rem 1.5rem;background:linear-gradient(135deg,#1e3a8a,#2563eb,#1d4ed8);text-align:center;position:relative;overflow:hidden}.land-cta-final:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,rgba(255,255,255,.07) 0%,transparent 70%);pointer-events:none}.land-cta-final-inner{position:relative;z-index:1;max-width:640px;margin:0 auto}.land-cta-final h2{font-size:clamp(2rem,4vw,3rem);font-weight:900;color:#fff;letter-spacing:-.03em;margin:0 0 1rem}.land-cta-final p{font-size:1.1rem;color:#fffc;line-height:1.6;margin:0 0 2.5rem}.land-cta-final-btns{display:flex;flex-direction:column;align-items:center;gap:1rem}.land-cta-final-primary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.25rem;background:#fff;color:#1e3a8a;font-weight:800;font-size:1.1rem;border-radius:14px;text-decoration:none;box-shadow:0 8px 32px #00000040;transition:transform .18s ease,box-shadow .18s ease}.land-cta-final-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 48px #0000004d}.land-cta-final-link{font-size:.92rem;color:#ffffffa6;text-decoration:none;transition:color .2s ease}.land-cta-final-link:hover{color:#ffffffe6}.land-footer{background:#0f172a;padding:2.5rem 1.5rem;color:#ffffff8c}.land-footer-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.land-footer-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}.land-footer-logo:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px;border-radius:6px}.land-footer-logo-icon{width:28px;height:28px;border-radius:7px;background:#2563eb4d;display:flex;align-items:center;justify-content:center}.land-footer-logo-icon svg{width:16px;height:16px;color:#60a5fa}.land-footer-logo-text{font-size:1rem;font-weight:700;color:#fffc}.land-footer-links{display:flex;flex-wrap:wrap;gap:.25rem 1rem;list-style:none;margin:0;padding:0}.land-footer-links a{color:#ffffff73;text-decoration:none;font-size:.875rem;transition:color .15s ease}.land-footer-links a:hover,.land-footer-links a:focus-visible{color:#fffc}.land-footer-links a:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.land-footer-copy{font-size:.8rem;color:#ffffff59}.land-footer-trust{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.land-footer-trust-badge{font-size:.78rem;color:#ffffff73;display:flex;align-items:center;gap:.3rem}@media (max-width: 768px){.land-footer-inner{flex-direction:column;align-items:flex-start;gap:1rem}}.land-comparison{background:#fff}.land-comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:800px;margin:0 auto}.land-comparison-card{border-radius:16px;padding:2rem 1.75rem;border:2px solid rgba(0,0,0,.06)}.land-comparison-without{background:#fef2f2;border-color:#dc262626}.land-comparison-with{background:#f0fdf4;border-color:#22c55e33}.land-comparison-card h3{font-size:1.1rem;font-weight:700;margin:0 0 1.25rem;color:#111827}.land-comparison-card ul{list-style:none;margin:0;padding:0}.land-comparison-card li{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#374151;line-height:1.5;padding:.4rem 0}.land-comp-icon{font-size:1.1rem;flex-shrink:0}@media (max-width: 640px){.land-comparison-grid{grid-template-columns:1fr}}.land-social-proof-strip{background:linear-gradient(135deg,#1e3a8a,#2563eb);padding:1.25rem 1.5rem;text-align:center}.land-social-proof-inner{max-width:600px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.35rem .75rem}.land-social-proof-stat{font-size:1.25rem;font-weight:800;color:#fff}.land-social-proof-label{font-size:.9rem;color:#ffffffd9}.land-social-proof-sep{width:1px;height:1.2em;background:#fff6;margin:0 .5rem}.land-testimonials{background:#f7f9fc}.land-testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}.land-testimonial-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:1.75rem;margin:0}.land-testimonial-quote{font-size:.95rem;color:#374151;line-height:1.65;margin:0 0 1.25rem;font-style:italic}.land-testimonial-footer{font-size:.85rem;color:#6b7280}.land-testimonial-footer strong{color:#111827}.land-testimonial-company{font-size:.8rem;color:#9ca3af}@media (max-width: 900px){.land-testimonials-grid{grid-template-columns:1fr}}.land-guarantee-strip{background:#f0fdf4;border-top:1px solid rgba(34,197,94,.2);padding:1rem 1.5rem}.land-guarantee-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 2rem}.land-guarantee-item{font-size:.9rem;font-weight:500;color:#166534}.land-sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:999;background:#0f172af7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.1);padding:.75rem 1rem;box-shadow:0 -4px 24px #0000004d;animation:landStickyCtaIn .3s ease}@keyframes landStickyCtaIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.land-sticky-cta-inner{position:relative;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.land-sticky-cta-text{margin:0;font-size:.95rem;color:#ffffffe6}.land-sticky-cta-btn{display:inline-flex;align-items:center;padding:.5rem 1.25rem;background:#2563eb;color:#fff;font-weight:700;font-size:.9rem;border-radius:8px;text-decoration:none;white-space:nowrap;transition:filter .2s ease,transform .2s ease}.land-sticky-cta-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.land-sticky-cta-close{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1}.land-sticky-cta-close:hover{color:#fff}@media (max-width: 768px){.land-section{padding:4rem 1.25rem}.land-section-header{margin-bottom:2.5rem}}.chat-widget-toggle{position:fixed;bottom:1.25rem;right:1.25rem;z-index:900;width:56px;height:56px;border-radius:50%;border:none;background:var(--blue);color:var(--text-inverse);cursor:pointer;box-shadow:0 4px 14px #0003;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.chat-widget-toggle:hover{transform:scale(1.05);box-shadow:0 6px 18px #00000040}.chat-widget-icon{font-size:1.5rem}.chat-widget-panel{position:fixed;bottom:5rem;right:1.25rem;z-index:901;width:min(380px,calc(100vw - 2rem));max-height:min(520px,calc(100vh - 7rem));background:var(--bg-surface);border-radius:var(--radius);box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;overflow:hidden}@media (max-width: 767px){.chat-widget-toggle{bottom:5.5rem}.chat-widget-panel{bottom:11rem;max-height:min(420px,calc(100vh - 13rem))}}.chat-widget-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.08)}.chat-widget-title{font-weight:600;font-size:1rem}.chat-widget-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text-muted);padding:.25rem}.chat-widget-close:hover{color:var(--text-primary)}.chat-widget-messages{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;min-height:120px;max-height:320px}.chat-widget-placeholder{color:var(--text-muted);font-size:.85rem;padding:.5rem 0}.chat-widget-bubble{max-width:90%;padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.9rem;align-self:flex-start}.chat-widget-bubble.user{align-self:flex-end;background:var(--blue);color:var(--text-inverse)}.chat-widget-bubble.assistant{background:var(--bg-surface-hover)}.chat-widget-bubble.error{background:#dc26261a;color:var(--red)}.chat-widget-bubble-text{white-space:pre-wrap;word-break:break-word;display:block}.chat-widget-typing{font-style:italic;color:var(--text-muted)}.chat-widget-form{flex-shrink:0;display:flex;gap:.5rem;padding:.75rem;border-top:1px solid rgba(0,0,0,.08)}.chat-widget-input{flex:1;padding:.5rem .75rem;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-sm);font-size:.9rem;background:var(--bg-surface)}.chat-widget-input:focus{outline:none;border-color:var(--blue)}.chat-widget-send{flex-shrink:0;padding:.5rem .75rem}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-overlay.global-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:modalFadeIn .2s ease-out}.modal-overlay.global-modal .modal-card{position:relative;background:var(--bg-surface);border-radius:var(--radius);box-shadow:0 10px 40px -10px #00000040;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:modalScaleUp .25s cubic-bezier(.16,1,.3,1)}.modal-overlay.global-modal .modal-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;cursor:se-resize;flex-shrink:0;border-radius:0 0 var(--radius) 0}.modal-overlay.global-modal .modal-resize-handle:after{content:"";position:absolute;right:4px;bottom:4px;width:10px;height:10px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);opacity:.6}.modal-overlay.global-modal .modal-resize-handle:hover:after{opacity:1}[data-theme=dark] .modal-overlay.global-modal .modal-card{border:1px solid rgba(255,255,255,.08)}.modal-overlay.global-modal .modal-card--full{height:90vh}.modal-overlay.global-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.modal-overlay.global-modal .modal-header h3{margin:0;font-size:1.15rem;font-weight:600;color:var(--text-primary);line-height:1.3}.modal-overlay.global-modal .modal-description{margin:.25rem 0 0;font-size:.85rem;color:var(--text-muted)}.modal-overlay.global-modal .modal-close-btn{background:none;border:none;font-size:1.75rem;line-height:1;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:background var(--ease-out),color var(--ease-out);margin-top:-.25rem;margin-right:-.5rem}.modal-overlay.global-modal .modal-close-btn:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.modal-overlay.global-modal .modal-close-btn:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.modal-overlay.global-modal .modal-body{padding:1.5rem;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.05)}@media (max-width: 640px){.modal-overlay.global-modal{align-items:flex-end;padding:0}.modal-overlay.global-modal .modal-card{border-radius:var(--radius) var(--radius) 0 0;max-height:95vh}.modal-overlay.global-modal .modal-resize-handle{display:none}}.app-shell{display:flex;min-height:100vh;padding-bottom:0}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);border-right:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;z-index:100;transition:width var(--ease-out)}[data-theme=dark] .sidebar{background:#1e293bd9;border-right:1px solid rgba(255,255,255,.05)}.sidebar.closed{width:64px}.sidebar-brand{padding:1.5rem;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(0,0,0,.05)}[data-theme=dark] .sidebar-brand{border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-logo{max-width:140px;max-height:48px;object-fit:contain;transition:max-width var(--ease-out),opacity var(--ease-out)}.sidebar.closed .sidebar-logo{max-width:32px;opacity:.8}.sidebar-nav{flex:1;padding:.5rem 0;display:flex;flex-direction:column}.nav-item-bottom{margin-top:auto}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;color:var(--text-muted);text-decoration:none;transition:background var(--ease-out),color var(--ease-out)}.nav-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.nav-item.active{color:var(--blue);font-weight:600}.nav-icon{font-size:1.25rem;flex-shrink:0;width:24px;text-align:center}.sidebar.closed .nav-label{display:none}.sidebar-toggle{margin:.5rem 1rem;padding:.5rem;background:var(--bg-surface-hover);border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.main-wrap{flex:1;margin-left:240px;margin-bottom:0;display:flex;flex-direction:column;min-height:100vh;min-width:0}.layout-subscription-banner{margin:10px 16px 0}.subscription-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid transparent}.subscription-banner-info{background:#1f6fff14;border-color:#1f6fff33}.subscription-banner-warning{background:#ffb8001f;border-color:#ffb80059}.subscription-banner-danger{background:#e74c3c1f;border-color:#e74c3c59}.sidebar.closed~.main-wrap{margin-left:64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.5rem;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06);font-weight:600;position:sticky;top:0;z-index:90}[data-theme=dark] .topbar{background:#1e293bd9;border-bottom:1px solid rgba(255,255,255,.05)}.topbar-left{display:flex;align-items:center;gap:1rem}.topbar-logo-mobile{max-height:32px;object-fit:contain}.topbar-company-mobile{display:none}.topbar-company-wrap{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.topbar-company-label{font-size:.875rem;font-weight:500;color:var(--text-muted)}.topbar-company-select{padding:.35rem .6rem;font-size:.875rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-base);color:var(--text-primary);min-width:140px}.topbar-company-new,.topbar-company-mobile .topbar-company-trigger{white-space:nowrap}.topbar-company-mobile{position:relative}.topbar-company-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;padding:.5rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);min-width:180px;display:flex;flex-direction:column;gap:.5rem;z-index:200}.topbar-company-dropdown .topbar-company-select{min-width:100%}.topbar-company-dropdown .topbar-company-new{width:100%}.topbar-breadcrumb{text-transform:capitalize;flex-shrink:0}.topbar-search{flex:1;max-width:360px;display:flex;align-items:center;margin:0 auto;background:var(--bg-base);border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.08);overflow:hidden}[data-theme=dark] .topbar-search{border-color:#ffffff1f}.topbar-search-input{flex:1;border:none;background:transparent;padding:.5rem .75rem;font-size:.9rem;color:var(--text-primary)}.topbar-search-input::placeholder{color:var(--text-muted)}.topbar-search-input:focus{outline:none}.topbar-search-btn{padding:.5rem .75rem;border:none;background:transparent;cursor:pointer;color:var(--text-muted)}.topbar-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.topbar-install-btn{padding:.4rem .75rem;font-size:.875rem;border-radius:var(--radius-sm);border:1px solid var(--blue);background:var(--bg-surface);color:var(--blue);cursor:pointer;white-space:nowrap}.topbar-install-btn:hover{background:var(--blue);color:#fff}.pwa-install-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;background:var(--blue);color:#fff;font-size:.9rem}.pwa-install-banner-text{flex:1}.pwa-install-banner-actions{display:flex;gap:.5rem}.pwa-install-banner .btn-ghost{color:#ffffffe6}.pwa-install-banner .btn-ghost:hover{background:#fff3;color:#fff}.topbar-theme-toggle{width:40px;height:40px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:background var(--ease-out),color var(--ease-out)}.topbar-theme-toggle:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.topbar-theme-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.topbar-bell{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;transition:background var(--ease-out),color var(--ease-out)}.topbar-bell:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.topbar-bell-icon{font-size:1.25rem}.topbar-bell-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:700;line-height:18px;text-align:center;background:var(--red);color:var(--text-inverse);border-radius:9px}.topbar-avatar-wrap{position:relative}.topbar-avatar{width:44px;height:44px;border-radius:50%;border:2px solid var(--blue);padding:2px;cursor:pointer;background:transparent;color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-weight:600;transition:transform var(--ease-out),box-shadow var(--ease-out);box-shadow:var(--shadow)}.topbar-avatar:hover{transform:scale(1.05);box-shadow:var(--shadow-hover)}.topbar-avatar:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.topbar-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.topbar-avatar-initials{font-size:1rem;background:var(--blue);color:#fff;width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center}.topbar-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:160px;background:var(--bg-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-hover);padding:.25rem 0;z-index:200;border:1px solid rgba(0,0,0,.06)}[data-theme=dark] .topbar-dropdown{border-color:#ffffff1f}.topbar-dropdown-item{display:block;width:100%;padding:.6rem 1rem;text-align:left;border:none;background:none;color:var(--text-primary);text-decoration:none;font-size:.9rem;cursor:pointer;transition:background var(--ease-out)}.topbar-dropdown-item:hover{background:var(--bg-surface-hover)}.topbar-dropdown-logout{color:var(--red)}.content{flex:1;padding:1.5rem;max-width:min(1400px,100%);margin:0 auto;width:100%;min-width:0}.bottom-nav{display:none}@media (max-width: 767px){.topbar{flex-wrap:wrap;padding:.6rem 1rem;gap:.5rem}.topbar-left{flex:1 1 auto;min-width:0;gap:.5rem;order:1}.topbar-company-desktop{display:none!important}.topbar-company-mobile{display:block;flex-shrink:0}.topbar-breadcrumb{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-search{order:3;width:100%;max-width:none;flex:1 1 100%;margin:0}.topbar-actions{order:2;flex-shrink:0;gap:.5rem;margin-left:auto}.topbar-actions .topbar-bell,.topbar-actions .topbar-theme-toggle,.topbar-actions .topbar-avatar-wrap{flex-shrink:0}.sidebar{display:none}.main-wrap{margin-left:0;padding-bottom:96px}.content{padding:1rem}.bottom-nav{display:flex;position:fixed;bottom:12px;left:50%;transform:translate(-50%);width:calc(100% - 24px);max-width:600px;height:72px;padding:0 8px;background:var(--bg-surface);border-radius:24px;box-shadow:0 -2px 12px #00000014,0 4px 12px #0000000a;border:1px solid rgba(0,0,0,.06);justify-content:space-around;align-items:center;z-index:100}[data-theme=dark] .bottom-nav{border-color:#ffffff14;box-shadow:0 -2px 12px #0000004d,0 4px 12px #0003}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-muted);text-decoration:none;font-size:.6rem;min-height:48px;min-width:0;padding:6px 2px;border-radius:16px;position:relative}.bottom-nav-item:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:24px;background:#0000000f;border-radius:1px}[data-theme=dark] .bottom-nav-item:not(:last-child):after{background:#ffffff14}.bottom-nav-item.active{color:var(--blue);font-weight:600}.bottom-nav-label{text-align:center;line-height:1.2;min-height:2.4em;max-width:100%;overflow:hidden;font-size:.55rem;white-space:normal;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis}.bottom-nav-icon{font-size:1.2rem;flex-shrink:0}}.modal-form .form-error{color:var(--red, #dc2626);font-size:.875rem;margin-bottom:.75rem}.modal-form .form-group{margin-bottom:1rem}.modal-form .form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.35rem;color:var(--text-primary)}.modal-form .form-group input{width:100%;padding:.5rem .75rem;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-base);color:var(--text-primary)}.modal-form .form-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.modal-form .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.home{max-width:1200px;margin:0 auto;padding:0 1rem 2rem}.home-welcome{color:var(--text-muted);margin:0 0 1.75rem;font-size:.95rem}.onboarding-wizard{margin:0 0 1.5rem;padding:1rem 1.25rem;border-radius:var(--radius);border:1px solid rgba(31,111,255,.22);background:#1f6fff0f}.onboarding-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.onboarding-head h2{margin:0;font-size:1rem}.onboarding-progress{color:var(--text-muted);font-size:.9rem}.onboarding-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.onboarding-list li{display:flex;gap:.6rem;align-items:center}.onboarding-list li.done{color:var(--text-muted)}.home-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:2.5rem}@media (min-width: 640px){.home-actions{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.action-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;text-decoration:none;font-weight:500;color:var(--text-primary);min-height:56px;border-radius:var(--radius);border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow);transition:transform var(--ease-out),box-shadow var(--ease-out),filter var(--ease-out)}.action-card:first-child{border-left:3px solid var(--blue)}[data-theme=dark] .action-card{border-color:#ffffff1a}[data-theme=dark] .action-card:first-child{border-left-color:var(--blue)}.action-card:hover,.action-card:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.action-icon{font-size:1.5rem;flex-shrink:0}.action-icon-timbra{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.action-icon-timbra svg{width:100%;height:100%;color:inherit}.action-label{font-weight:600;font-size:.95rem}.home-kpi{margin-bottom:2.25rem}.home-kpi-panel{background:#00000005;border:1px solid rgba(0,0,0,.04);border-radius:var(--radius);padding:1.25rem}[data-theme=dark] .home-kpi-panel{background:#ffffff08;border-color:#ffffff14}.home-kpi h2{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=dark] .home-kpi h2{border-bottom-color:#ffffff14}.home-kpi .kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem}@media (min-width: 480px){.home-kpi .kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px){.home-kpi .kpi-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}}.home-kpi .stat-card.kpi-card{min-height:88px;display:flex;flex-direction:column;justify-content:center;padding:1.25rem;background:transparent;box-shadow:none;border:1px solid rgba(0,0,0,.06)}[data-theme=dark] .home-kpi .stat-card.kpi-card{border-color:#ffffff14}.home-kpi .btn{margin-top:.75rem}.home-kpi-inline{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem}.home-kpi-inline .kpi-card{min-width:100px}.home-kpi-inline .btn{margin-left:.5rem}.home-quick-links{margin-top:-.5rem;margin-bottom:2rem}.home-quick-links h2{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=dark] .home-quick-links h2{border-bottom-color:#ffffff14}.home-quick-links-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.quick-link-item{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-muted);font-weight:500;transition:color var(--ease-out)}.quick-link-item:hover,.quick-link-item:focus-visible{color:var(--text-primary)}.quick-link-icon{font-size:1.25rem}.quick-link-label{font-size:.9rem;font-weight:500}.quick-link-notifiche{position:relative}.quick-link-badge{position:absolute;top:-.35rem;right:-.35rem;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.7rem;font-weight:700;line-height:1.25rem;text-align:center;color:var(--text-inverse);background:var(--red);border-radius:999px}.home-skeletons{display:grid;gap:1rem;margin-top:1rem}.home-skeletons .skeleton-card{height:88px;border-radius:var(--radius);background:var(--bg-surface-hover)}.home-error{color:var(--red);margin-top:1rem;font-size:.9rem}.presenze{text-align:center;padding:1rem 0}.presenze-active{background:linear-gradient(180deg,rgba(217,119,6,.06) 0%,transparent 100%)}.presenze-central{margin:2rem 0}.presenze-circle{width:220px;height:220px;margin:0 auto 1rem;border-radius:50%;background:var(--bg-surface);box-shadow:var(--shadow-hover),inset 0 0 0 3px var(--bg-surface-hover);display:flex;align-items:center;justify-content:center;padding:1rem}.presenze-active .presenze-circle{box-shadow:0 0 0 4px #dc262633,var(--shadow-hover)}.presenze-btn{display:block;width:100%;max-width:200px;margin:0 auto;padding:1rem 1.25rem;font-size:.95rem;font-weight:700;border:none;border-radius:var(--radius);cursor:pointer;transition:box-shadow var(--ease-out),transform var(--ease-out);min-height:52px}.presenze-receipt{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.5rem;margin-bottom:1rem;text-align:left;max-width:320px;margin-left:auto;margin-right:auto}.presenze-receipt-header{font-weight:700;color:var(--green);margin-bottom:.75rem;font-size:1rem}.presenze-receipt-dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:0;font-size:.9rem}.presenze-receipt-dl dt{color:var(--text-muted)}.presenze-receipt-dl dd{margin:0;font-weight:500}.presenze-btn:hover:not(:disabled){transform:translateY(-2px)}.presenze-btn-in{background:var(--blue);color:var(--text-inverse);box-shadow:0 4px 14px #2563eb59}.presenze-btn-out{background:var(--red);color:var(--text-inverse);box-shadow:0 4px 14px #dc262659}.presenze-btn:disabled{opacity:.8;cursor:not-allowed}.presenze-geo{font-size:.8rem;color:var(--green)}.presenze-geo-muted{color:var(--text-muted)}.presenze-success{background:var(--green);color:#fff;padding:1rem 1.5rem;border-radius:var(--radius);margin-bottom:1rem;text-align:center}.success-icon{display:block;font-size:2rem;margin-bottom:.25rem}.presenze-success p{margin:.25rem 0;font-size:.95rem}.presenze-error{color:var(--red);margin-bottom:1rem}.presenze-today{margin-top:2rem;text-align:left}.presenze-today h2{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--text-muted)}.presenze-today ul{list-style:none;padding:0;margin:0}.presenze-today li{padding:.5rem 0;display:flex;align-items:center;gap:.5rem}.presenze-today-date{font-weight:600;margin-bottom:.35rem;color:var(--text-primary)}.presenze-today-day{flex-wrap:wrap}.presenze-today-turn-block{margin-bottom:.75rem}.presenze-today-turn-block:last-of-type{margin-bottom:.25rem}.presenze-today-turn{display:block;margin-bottom:.15rem;font-weight:500}.presenze-today-turn-notes{margin-left:.5rem;padding-left:.5rem;border-left:2px solid rgba(0,0,0,.1);font-size:.85rem;color:var(--text-muted)}[data-theme=dark] .presenze-today-turn-notes{border-left-color:#ffffff26}.presenze-today-note{margin-top:.2rem}.presenze-today-note:first-child{margin-top:0}.presenze-today-total{font-weight:600;color:var(--text-muted);font-size:.9rem;margin-top:.25rem}.badge-manual{background:var(--text-muted);color:var(--bg-surface);font-size:.7rem;padding:.2rem .5rem;border-radius:4px}.presenze-loading .skeleton-circle{width:200px;height:200px;border-radius:50%;background:var(--bg-surface-hover);margin:2rem auto}.presenze-loading .skeleton-line{width:60%;height:24px;background:var(--bg-surface-hover);border-radius:4px;margin:1rem auto}.presenze-manual-row{margin-top:1.5rem}.presenze-manual-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;padding:.625rem 1.25rem;border-radius:var(--radius);border:1px solid rgba(0,0,0,.12);background:var(--bg-surface);color:var(--text-primary);transition:border-color var(--ease-out),background var(--ease-out),box-shadow var(--ease-out)}.presenze-manual-btn:hover{background:var(--bg-surface-hover);border-color:#0000002e;box-shadow:var(--shadow)}.presenze-manual-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:var(--text-muted)}.presenze-manual-btn:hover .presenze-manual-btn-icon{color:var(--text-primary)}[data-theme=dark] .presenze-manual-btn{border-color:#ffffff26}[data-theme=dark] .presenze-manual-btn:hover{border-color:#ffffff40}.presenze .report-modal-card{max-width:min(440px,calc(100vw - 2rem));margin:auto}.presenze .report-modal-body{padding:1rem 1.25rem 1.5rem}.presenze .report-modal-body .modal-hint{margin:0 0 1.25rem;font-size:.9rem;line-height:1.4}.presenze .report-modal-field{margin-bottom:1.25rem}.presenze .report-modal-field label{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:.5rem}.presenze .report-modal-input{display:block;width:100%;box-sizing:border-box;padding:.75rem 1rem;font-size:1rem;line-height:1.4;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius);background:var(--bg);color:var(--text);min-height:48px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.presenze .report-modal-input::placeholder{color:var(--text-muted)}.presenze .report-modal-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #2563eb26}.presenze .report-modal-textarea{min-height:88px;resize:vertical}.presenze .report-modal-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.08)}.presenze .report-modal-btn{flex:1 1 auto;min-width:120px;min-height:48px;font-size:1rem;padding:.75rem 1.25rem}@media (min-width: 480px){.presenze .report-modal-actions{justify-content:flex-end}.presenze .report-modal-btn{flex:0 0 auto;min-width:100px}}.presenze-ufficio{max-width:1200px}.page-header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.export-buttons .btn{text-decoration:none}.score-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.score-card{background:var(--bg-surface);padding:1.25rem;border-radius:var(--radius);box-shadow:var(--shadow)}.score-card-link{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:box-shadow var(--ease-out),transform var(--ease-out)}.score-card-link:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.score-card-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.score-card-danger{background:#dc262614;border:1px solid rgba(220,38,38,.2)}.score-value{display:block;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.score-card-danger .score-value{color:var(--red)}.score-label{font-size:.8rem;color:var(--text-muted)}.filters-bar{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.filter-field{display:flex;align-items:center;min-height:2.25rem}.filter-field .filter-select,.filter-field .filter-input{width:100%;min-height:2.25rem;box-sizing:border-box}.date-range-wrap{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-height:2.25rem}.date-range-arrow{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-size:1.1rem;cursor:pointer;transition:background var(--ease-out),border-color var(--ease-out)}.date-range-arrow:hover:not(:disabled){background:var(--bg-surface-hover);border-color:#0003}.date-range-arrow:disabled{opacity:.5;cursor:not-allowed}.date-input{min-width:0}.date-granularity-label{font-size:.85rem;color:var(--text-muted);margin-left:.25rem}.date-granularity-chips{display:flex;gap:.25rem}.date-granularity-chip{padding:.35rem .65rem;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:var(--bg-surface);color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:background var(--ease-out),border-color var(--ease-out)}.date-granularity-chip:hover{background:var(--bg-surface-hover)}.date-granularity-chip.active{background:var(--blue);border-color:var(--blue);color:var(--text-inverse)}.table-view-selector{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.table-view-label{font-size:.85rem;color:var(--text-muted)}.table-view-chip{padding:.35rem .65rem;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.12);background:var(--bg-surface);color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:background var(--ease-out),border-color var(--ease-out)}.table-view-chip:hover{background:var(--bg-surface-hover);border-color:#0003}.table-view-chip.active{background:var(--blue);border-color:var(--blue);color:var(--text-inverse)}.data-grid-summary .tabular-nums{font-variant-numeric:tabular-nums}.filter-input,.filter-select{padding:.5rem .75rem;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-sm);font-size:.9rem;background:var(--bg-surface);color:var(--text-primary);box-sizing:border-box;min-height:2.25rem}.data-grid-wrap{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0}.data-grid{width:100%;min-width:640px;border-collapse:collapse}.data-grid th,.data-grid td{padding:.6rem 1rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.06)}.data-grid th{font-weight:600;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.data-grid tbody tr:hover{background:var(--bg-surface-hover)}.data-grid tbody tr.zebra{background:#00000005}.data-grid tbody tr.zebra:hover{background:var(--bg-surface-hover)}.row-anomaly{background:#d9770614!important}.row-anomaly:hover{background:#d977061f!important}.badge-manual{background:var(--text-muted);color:var(--bg-surface);font-size:.7rem;padding:.2rem .4rem;border-radius:4px;margin-right:.5rem}.status{font-size:.85rem}.status-regolare{color:var(--green)}.status-incompleta{color:var(--amber)}.status-manuale{color:var(--text-muted)}.status-da_verificare,.status-anomala{color:var(--red)}.status-rettificata{color:var(--blue)}.skeleton-rows .skeleton-row{height:48px;border-bottom:1px solid rgba(0,0,0,.06);background:var(--bg-surface-hover)}.empty-state{padding:2rem 1rem;text-align:center;color:var(--text-muted)}.presenze-actions{display:flex;flex-wrap:wrap;gap:.35rem}.presenze-actions .btn-sm{padding:.25rem .5rem;font-size:.8rem}.modal-fieldset{border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);padding:1rem;margin:0 0 1rem}.modal-fieldset legend{font-size:.85rem;font-weight:600;padding:0 .5rem}.modal-radio-label{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;cursor:pointer;font-weight:400}.modal-radio-label:last-child{margin-bottom:0}.modal-radio-label input{margin-top:.2rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.modal-card--geo{max-width:min(90vw,560px)}.modal-geo,.modal-detail-turni{padding:1rem 1.25rem}.modal-detail-turni .modal-hint{margin:0 0 1rem;color:var(--text-muted)}.presenze-detail-turni-list{list-style:none;padding:0;margin:0 0 1rem}.presenze-detail-turni-list li{padding:.35rem 0;border-bottom:1px solid rgba(0,0,0,.06)}.presenze-detail-turni-list li:last-child{border-bottom:none}.presenze-geo-cell{white-space:nowrap}.presenze-geo-cell .geo-none{color:var(--text-muted)}.geo-detail{display:flex;flex-direction:column;gap:1rem}.geo-detail-empty{margin:0;color:var(--text-muted)}.geo-detail-entries{display:flex;flex-direction:column;gap:1rem}.geo-detail-row{padding:.75rem;background:var(--bg-surface-hover);border-radius:var(--radius-sm);font-size:.9rem}.geo-detail-type{font-weight:600;margin-right:.5rem}.geo-detail-time{color:var(--text-muted)}.geo-detail-coords{margin:.35rem 0 0;font-family:ui-monospace,monospace;font-size:.85rem;color:var(--text-primary)}.geo-detail-address{margin:.25rem 0 0;font-size:.85rem;color:var(--text-muted)}.geo-detail-address.geo-detail-loading{font-style:italic}.geo-detail-address.geo-detail-muted{color:var(--text-muted);font-style:italic}.geo-detail-map-wrap{height:240px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border, rgba(0, 0, 0, .08))}.geo-detail-map{height:100%;width:100%}.geo-detail-actions{margin-top:.5rem}.presenze-map-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.08)}.presenze-map-title{margin:0 0 .75rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.presenze-map-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.presenze-map-filter-label{font-size:.9rem;font-weight:500;color:var(--text-muted);flex-shrink:0;width:7.5rem}.presenze-map-select-wrap{width:200px;min-width:0}.presenze-map-wrap{height:450px;border-radius:var(--radius);overflow:hidden;background:var(--bg-surface-hover);border:1px solid rgba(0,0,0,.08)}.presenze-map{height:100%;width:100%}.presenze-map-empty{margin:0;padding:2rem;text-align:center;color:var(--text-muted)}.presenze-map-popup{font-size:.85rem;min-width:160px}.presenze-map-popup div{margin-bottom:.25rem}.presenze-map-popup div:last-child{margin-bottom:0}.presenze-map-marker.leaflet-marker-icon{background:transparent!important;border:none!important}.scadenzario{max-width:1200px;margin:0 auto;padding:0 1rem 2rem}.scadenzario-section-title{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=dark] .scadenzario-section-title{border-bottom-color:#ffffff14}.scadenzario-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.scadenzario-header-actions{display:flex;align-items:center;gap:.75rem}.scadenzario-kpi-section{margin-bottom:2rem}.scadenzario-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem}@media (min-width: 480px){.scadenzario-kpi-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}@media (min-width: 900px){.scadenzario-kpi-grid{grid-template-columns:repeat(6,1fr)}}.scadenzario-kpi-grid .stat-card.kpi-card{min-height:88px;display:flex;flex-direction:column;justify-content:center;padding:1.25rem}.scadenzario-donut-row{margin-top:1rem;display:flex;align-items:center}.scadenzario-donut-wrap{display:inline-flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.04)}[data-theme=dark] .scadenzario-donut-wrap{border-color:#ffffff1a}.scadenzario-widgets{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:1rem;background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow)}.widget-donut-wrap{display:flex;align-items:center;gap:1rem}.widget-donut-svg{width:64px;height:64px;flex-shrink:0}.widget-donut-legend,.widget-kpi-inline{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--text-muted)}.legend-item-link{text-decoration:none;color:inherit;cursor:pointer;border-radius:var(--radius-sm);padding:.2rem .4rem;transition:background var(--ease-out),color var(--ease-out)}.legend-item-link:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.legend-item-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot-green{background:var(--green)}.dot-amber{background:var(--amber)}.dot-red{background:var(--red)}.widget-kpi-inline{font-size:.9rem;color:var(--text-muted)}.widget-kpi-inline .tabular-nums{font-weight:700;color:var(--text-primary);margin-right:.25rem}.widget-kpi-segment{text-decoration:none;color:inherit;cursor:pointer;border-radius:var(--radius-sm);padding:.2rem .4rem;transition:background var(--ease-out),color var(--ease-out)}.widget-kpi-segment:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.widget-kpi-segment:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.kpi-mancanti{color:var(--red);font-weight:600;margin-left:.5rem}.scadenzario-filters-section{margin-bottom:2rem}.scadenzario-filters-row{display:flex;flex-direction:column;gap:1rem}.scadenzario-filters-row .chips{margin-bottom:0}.scadenzario-filters-grid{display:grid;grid-template-columns:1fr;gap:.75rem;align-items:center}@media (min-width: 480px){.scadenzario-filters-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.scadenzario-filters-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.filter-field{min-width:0}.filter-search-wrap{grid-column:1 / -1}@media (min-width: 768px){.filter-search-wrap{grid-column:span 2;max-width:280px}}.filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.filter-select,.filter-search{padding:.4rem .6rem;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-sm);font-size:.9rem;background:var(--bg-surface);color:var(--text-primary)}.filter-search{min-width:180px}.filter-checkbox{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;color:var(--text-muted);cursor:pointer}.scadenzario-list-section{margin-bottom:2rem}.scadenzario-calendar-block{margin-top:1.5rem}.scadenzario-calendar-card{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;text-decoration:none;color:var(--text-primary);font-weight:500;transition:transform var(--ease-out),box-shadow var(--ease-out)}.scadenzario-calendar-card:hover,.scadenzario-calendar-card:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.scadenzario-calendar-icon{font-size:1.25rem}.scadenzario-calendar-label{font-weight:600;font-size:.95rem}.scadenzario-calendar-link{margin-top:1rem;font-size:.9rem}.scadenzario-calendar-link a{color:var(--blue);text-decoration:none}.scadenzario-calendar-link a:hover{text-decoration:underline}.scadenzario-breakdown{margin:1.5rem 0;padding:1rem;background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow)}.scadenzario-breakdown .scadenzario-section-title{margin-bottom:1rem}.breakdown-charts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.breakdown-block h4{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--text-primary)}.breakdown-bars{display:flex;flex-direction:column;gap:.35rem}.breakdown-bar-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.breakdown-bar-row-link{text-decoration:none;color:inherit;cursor:pointer;border-radius:var(--radius-sm);padding:.2rem 0;transition:background var(--ease-out),color var(--ease-out)}.breakdown-bar-row-link:hover{background:var(--bg-surface-hover)}.breakdown-bar-row-link:hover .breakdown-label{color:var(--text-primary)}.breakdown-bar-row-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.breakdown-label{min-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.breakdown-bar-wrap{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.breakdown-bar{height:8px;min-width:4px;background:var(--blue);border-radius:4px}.breakdown-value{flex-shrink:0;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.chip{padding:.4rem .75rem;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:var(--bg-surface);color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:background var(--ease-out),border-color var(--ease-out)}.chip:hover{background:var(--bg-surface-hover)}.chip-active{background:var(--blue);border-color:var(--blue);color:var(--text-inverse)}.deadline-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.deadline-dot-green{background:var(--green)}.deadline-dot-amber{background:var(--amber)}.deadline-dot-red{background:var(--red)}.scadenzario-row-clickable{cursor:pointer;transition:background var(--ease-out)}.scadenzario-row-clickable:hover{background:var(--bg-surface-hover)}.scadenzario-table-wrap .table-core tbody tr:nth-child(2n){background:#00000005}[data-theme=dark] .scadenzario-table-wrap .table-core tbody tr:nth-child(2n){background:#ffffff0a}.deadline-title{display:block;font-weight:500;color:var(--text-primary)}.deadline-meta{font-size:.85rem;color:var(--text-muted)}.deadline-status{font-size:.85rem;font-weight:500}.skeleton-list .skeleton-row{height:60px;border-bottom:1px solid rgba(0,0,0,.05);background:var(--bg-surface-hover)}.empty-state{padding:3rem 1.5rem;text-align:center;color:var(--text-muted);margin-bottom:2rem}.empty-state-illustration{max-width:140px;margin:0 auto 1rem;opacity:.8}.empty-state-illustration svg{width:100%;height:auto}.empty-state-message{max-width:420px;margin:0 auto}.empty-state .btn{margin-top:1rem}.scadenzario .modal-fieldset{border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);padding:1rem;margin:0 0 1rem}.scadenzario .modal-fieldset legend{font-size:.85rem;font-weight:600;padding:0 .5rem}.scadenzario .modal-radio-label{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;cursor:pointer;font-weight:400}.scadenzario .modal-radio-label:last-child{margin-bottom:0}.scadenzario .modal-radio-label input{margin-top:.2rem}.scadenzario .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}@media (max-width: 767px){.filter-search{min-width:0;width:100%}}.scadenzario-detail{max-width:720px}.scadenzario-detail.detail-drawer{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:520px;max-height:100vh;margin:0;background:var(--bg-surface);box-shadow:-4px 0 24px #00000026;z-index:500;overflow-y:auto;animation:detail-drawer-in .25s ease-out}@keyframes detail-drawer-in{0%{transform:translate(100%);opacity:.9}to{transform:translate(0);opacity:1}}.detail-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:499;animation:backdrop-in .2s ease-out}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.detail-drawer .detail-header{margin-bottom:1rem;padding-right:2rem}.detail-back{display:inline-block;margin-bottom:.5rem;color:var(--blue);text-decoration:none;font-size:.9rem}.detail-back:hover{text-decoration:underline}.detail-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.1)}.tab{padding:.6rem 1rem;border:none;background:none;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--ease-out),border-color var(--ease-out)}.tab:hover{color:var(--text-primary)}.tab-active{color:var(--blue);border-bottom-color:var(--blue)}.detail-content{background:var(--bg-surface);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow)}.detail-form-accordion .detail-form-section{border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-sm);margin-bottom:.75rem;overflow:hidden}[data-theme=dark] .detail-form-accordion .detail-form-section{border-color:#ffffff1a}.detail-form-section-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border:none;background:var(--bg-surface-hover);color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;text-align:left;transition:background var(--ease-out)}.detail-form-section-head:hover{background:var(--bg-surface-hover)}.detail-form-section-head:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.detail-form-section-chevron{font-size:.75rem;color:var(--text-muted)}.detail-form-section-body{padding:.5rem 1rem 1rem}.detail-form-section-body[hidden]{display:none}.detail-form label{display:block;margin-bottom:.35rem;font-size:.875rem;font-weight:500}.detail-form input,.detail-form select,.detail-form textarea{width:100%;padding:.6rem .75rem;margin-bottom:1rem;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-sm);font-size:1rem;background:var(--bg-surface);color:var(--text-primary)}.detail-form input:focus-visible,.detail-form select:focus-visible,.detail-form textarea:focus-visible{outline:2px solid var(--blue);outline-offset:0}.detail-form button{margin-top:.5rem}.timeline{position:relative;padding:.5rem 0 .5rem 1.5rem}.timeline:before{content:"";position:absolute;left:4px;top:.5rem;bottom:.5rem;width:2px;background:var(--blue);opacity:.4;border-radius:1px}.timeline-item{display:flex;gap:1rem;padding:.75rem 0;position:relative}.timeline-item:not(:last-child){border-bottom:none}.timeline-dot{position:absolute;left:-1.5rem;top:1.1rem;width:10px;height:10px;margin:0;border-radius:50%;background:var(--blue);flex-shrink:0;border:2px solid var(--bg-surface);box-shadow:0 0 0 1px var(--blue)}.timeline-meta{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.text-muted{color:var(--text-muted)}.skeleton-detail{height:300px;background:var(--bg-surface-hover);border-radius:var(--radius)}.allegati-tab h4{margin:0 0 .75rem;font-size:.95rem;color:var(--text-muted)}.allegati-upload{margin-bottom:1.5rem}.allegati-dropzone{display:block;padding:2rem;border:2px dashed rgba(0,0,0,.2);border-radius:var(--radius);text-align:center;color:var(--text-muted);cursor:pointer;transition:border-color .2s,background .2s}.allegati-dropzone:hover{border-color:var(--blue);background:#2196f30a}.allegati-error{margin:.5rem 0 0;color:var(--red);font-size:.9rem}.allegati-current-card{padding:1rem;background:var(--bg-subtle);border-radius:var(--radius-sm);margin-bottom:1rem}.allegati-filename{display:block;font-weight:500}.allegati-meta{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.allegati-actions{margin-top:.75rem;display:flex;gap:.5rem}.allegati-previous ul{list-style:none;padding:0;margin:0}.allegati-previous li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.06)}.allegati-previous li span:first-of-type{flex:1;min-width:120px}.allegati-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.allegati-preview-box{position:relative;background:var(--bg-surface);border-radius:var(--radius);width:100%;max-width:900px;height:80vh;box-shadow:var(--shadow)}.allegati-preview-close{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;border:none;background:#00000080;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;border-radius:4px;z-index:1}.allegati-preview-iframe{width:100%;height:100%;border:none;border-radius:var(--radius)}.scadenzario-calendario{max-width:900px;margin:0 auto}.scadenzario-calendario-header{margin-bottom:1rem}.scadenzario-calendario-header .back-link{display:inline-block;margin-bottom:.5rem;color:var(--text-muted);text-decoration:none;font-size:.9rem}.scadenzario-calendario-header .back-link:hover{color:var(--blue)}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.calendar-month-label{font-weight:600;font-size:1.1rem;text-transform:capitalize;min-width:180px;text-align:center}.calendar-loading{text-align:center;padding:2rem;color:var(--text-muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#00000014;border-radius:var(--radius-md);overflow:hidden}.calendar-weekday{padding:.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);background:var(--bg-surface)}.calendar-day{min-height:90px;padding:.35rem;background:var(--bg-surface);display:flex;flex-direction:column}.calendar-day-empty{background:var(--bg-subtle);min-height:60px}.calendar-day-today{background:rgba(var(--blue-rgb, 33, 150, 243),.08)}.calendar-day-num{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:.25rem}.calendar-day-today .calendar-day-num{color:var(--blue)}.calendar-day-events{display:flex;flex-direction:column;gap:2px;flex:1;overflow:hidden}.calendar-event{display:block;font-size:.7rem;padding:2px 4px;border-radius:2px;background:var(--blue);color:#fff;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event:hover{opacity:.9}.calendar-event-alta,.calendar-event-critica{background:var(--red)}.calendar-event-media{background:var(--amber);color:#1a1a1a}.calendar-event-bassa,.calendar-event-default{background:var(--blue)}@media (max-width: 767px){.calendar-month-label{min-width:120px}}.notifiche-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.notifiche-badge{background:var(--red);color:#fff;font-size:.8rem;font-weight:700;padding:.2rem .5rem;border-radius:999px}.notifiche-list{list-style:none;padding:0;margin:0}.notifiche-item{display:flex;gap:1rem;padding:1rem;background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:.75rem;transition:box-shadow var(--ease-out)}.notifiche-item:hover{box-shadow:var(--shadow-hover)}.notifiche-item-link{display:flex;gap:1rem;text-decoration:none;color:inherit;cursor:pointer;margin:-1rem;padding:1rem;border-radius:var(--radius);transition:box-shadow var(--ease-out)}.notifiche-item-link:hover{box-shadow:none}.notifiche-item-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.notifiche-item.read{opacity:.85}.notifiche-icon{font-size:.75rem;flex-shrink:0;margin-top:.25rem}.notifiche-icon.icon-scadenza{color:var(--red)}.notifiche-icon.icon-da_validare{color:var(--amber)}.notifiche-icon.icon-info{color:var(--blue)}.notifiche-body{flex:1;min-width:0}.notifiche-body p{margin:.25rem 0 0;font-size:.9rem;color:var(--text-muted)}.notifiche-date{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.35rem}.notifiche-actions{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.notifiche-grouped{display:flex;flex-direction:column;gap:1.5rem}.notifiche-group-title{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .5rem;padding:0 0 .25rem}.notifiche-icon.icon-da_approvare{color:var(--amber)}.btn-link{background:none;border:none;color:var(--blue);font-size:.85rem;cursor:pointer;padding:.25rem 0;margin-top:.25rem}.btn-link:hover{text-decoration:underline}.notifiche .skeleton-row{height:72px;background:var(--bg-surface-hover);border-radius:var(--radius);margin-bottom:.75rem}.profilo-card{max-width:400px;background:var(--bg-surface);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center}.profilo-avatar-wrap{margin-bottom:1rem}.profilo-avatar{width:80px;height:80px;margin:0 auto .75rem;border-radius:50%;overflow:hidden;background:var(--bg-surface-hover)}.profilo-avatar-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.profilo-avatar-btn{display:block;margin:0 auto .25rem;font-size:.875rem;color:var(--blue);background:none;border:none;cursor:pointer;text-decoration:underline}.profilo-avatar-btn:hover:not(:disabled){color:var(--text-primary)}.profilo-avatar-btn:disabled{cursor:not-allowed;opacity:.7}.profilo-avatar-error{color:var(--red, #c00);margin-top:.25rem}.profilo-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:2rem;font-weight:700;color:var(--blue)}.profilo-card h2{margin:0 0 .25rem;font-size:1.25rem}.profilo-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;margin-bottom:.5rem}.profilo-badge.super-admin{background:var(--amber);color:#1a1a1a}.profilo-email,.profilo-company{margin:0 0 1rem;color:var(--text-muted);font-size:.9rem}.profilo .btn-secondary{background:var(--bg-surface-hover);color:var(--text-primary);border:none;padding:.6rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;cursor:pointer}.profilo .btn-secondary:hover{background:var(--text-muted);color:var(--bg-surface)}.profilo .skeleton-card{height:200px;border-radius:var(--radius);background:var(--bg-surface-hover)}.profilo-calendar{max-width:400px;margin-top:2rem;padding:1.25rem;background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow)}.profilo-calendar h3{margin:0 0 1rem;font-size:1rem;color:var(--text-muted)}.profilo-calendar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.profilo-calendar-badge{font-size:.9rem;color:var(--green);font-weight:500}.profilo-location{max-width:400px;margin-top:2rem;padding:1.25rem;background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow)}.profilo-location h3{margin:0 0 .5rem;font-size:1rem;color:var(--text-primary)}.profilo-hint{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted)}.profilo-hint-small{margin:.5rem 0 0;font-size:.8rem;color:var(--text-muted)}.profilo-toggle-row{display:flex;align-items:center;gap:.5rem}.profilo-toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem}.profilo-toggle-label input[type=checkbox]{width:1.1rem;height:1.1rem;cursor:pointer}.profilo-toggle-loading{font-size:.9rem;color:var(--text-muted)}.profilo-billing-form{display:grid;gap:.6rem}.profilo-billing-form input{border:1px solid var(--border, #d9dfe9);border-radius:var(--radius-sm);padding:.5rem .65rem;font:inherit;background:var(--bg, #fff);color:var(--text-primary)}.profilo-push{max-width:400px;margin-top:2rem;padding:1.25rem;background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow)}.profilo-push h3{margin:0 0 .5rem;font-size:1rem;color:var(--text-primary)}.anagrafiche.anagrafiche-hub{max-width:1200px;margin:0 auto;padding:0 1rem 2rem}.anagrafiche-intro{color:var(--text-muted);margin:0 0 1.5rem}.anagrafiche-hub .home-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:0}@media (min-width: 640px){.anagrafiche-hub .home-actions{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.anagrafiche-hub .action-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;text-decoration:none;font-weight:500;color:var(--text-primary);min-height:56px;border-radius:var(--radius);transition:transform var(--ease-out),box-shadow var(--ease-out)}.anagrafiche-hub .action-card:hover,.anagrafiche-hub .action-card:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.anagrafiche-hub .action-icon{font-size:1.5rem;flex-shrink:0}.anagrafiche-hub .action-label{font-weight:600;font-size:.95rem}.anagrafiche-hub .home-kpi{margin-bottom:2.25rem}.anagrafiche-hub .home-kpi h2{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=dark] .anagrafiche-hub .home-kpi h2{border-bottom-color:#ffffff14}.anagrafiche-hub .home-kpi .kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem}@media (min-width: 480px){.anagrafiche-hub .home-kpi .kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px){.anagrafiche-hub .home-kpi .kpi-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}}.anagrafiche-hub .home-kpi .stat-card.kpi-card{min-height:88px;display:flex;flex-direction:column;justify-content:center;padding:1.25rem}.anagrafiche-hub .home-kpi .btn{margin-top:.75rem}.anagrafiche-hub .anagrafiche-gestione{margin-bottom:2rem}.anagrafiche-hub .anagrafiche-gestione h2{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=dark] .anagrafiche-hub .anagrafiche-gestione h2{border-bottom-color:#ffffff14}.anagrafiche-list{margin-top:1rem}.anagrafiche.anagrafiche-page{max-width:1200px;margin:0 auto;padding:0 1rem 2rem}.anagrafiche-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.anagrafiche-table-wrap{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;margin-top:1rem}.anagrafiche-table-wrap.stat-card{padding:0;border:1px solid rgba(0,0,0,.04)}[data-theme=dark] .anagrafiche-table-wrap.stat-card{border-color:#ffffff1a}.anagrafiche-empty{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.9rem}.anagrafiche-error{color:var(--red, #dc2626);font-size:.9rem;margin:0 0 1rem}.anagrafiche-error.modal-error{margin-bottom:.75rem}.anagrafiche-actions{display:flex;gap:.5rem}.anagrafiche-form{max-width:32rem;display:flex;flex-direction:column;gap:1rem}.anagrafiche-form label{display:flex;flex-direction:column;gap:.25rem;font-weight:500}.anagrafiche-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}.anagrafiche-tabs button{padding:.5rem 1rem;border:none;background:none;color:var(--text-muted);cursor:pointer;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}.anagrafiche-tabs button.active{color:var(--text-primary);border-bottom-color:var(--blue)}.anagrafiche-tabs button:hover:not(.active){color:var(--text-primary)}.anagrafiche-back{display:inline-flex;align-items:center;gap:.25rem;margin-bottom:1rem;color:var(--text-muted);text-decoration:none;font-size:.9rem}.anagrafiche-back:hover{color:var(--blue)}.ferie-permessi.ferie-permessi-hub{max-width:1200px;margin:0 auto;padding:0 1rem 2rem}.ferie-permessi-intro{color:var(--text-muted);margin:0 0 1.5rem}.ferie-permessi-hub .ferie-permessi-actions .home-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:0}@media (min-width: 640px){.ferie-permessi-hub .ferie-permessi-actions .home-actions{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.ferie-permessi-hub .action-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;text-decoration:none;font-weight:500;color:var(--text-primary);min-height:56px;border-radius:var(--radius);border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow);transition:transform var(--ease-out),box-shadow var(--ease-out)}.ferie-permessi-hub .action-card:first-child{border-left:3px solid var(--blue)}[data-theme=dark] .ferie-permessi-hub .action-card{border-color:#ffffff1a}[data-theme=dark] .ferie-permessi-hub .action-card:first-child{border-left-color:var(--blue)}.ferie-permessi-hub .action-card:hover,.ferie-permessi-hub .action-card:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.ferie-permessi-hub .action-icon{font-size:1.5rem;flex-shrink:0}.ferie-permessi-hub .action-label{font-weight:600;font-size:.95rem}.ferie-section-title,.ferie-permessi-actions h2{margin:0 0 1rem;margin-top:0;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=dark] .ferie-section-title,[data-theme=dark] .ferie-permessi-actions h2{border-bottom-color:#ffffff14}.ferie-permessi-page{max-width:1000px;margin:0 auto;padding:0 1rem 2rem}.ferie-permessi-page .page-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem}.ferie-permessi-page .page-title{margin:0}.ferie-permessi-page .ferie-page-header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.ferie-permessi-table{width:100%;border-collapse:collapse;font-size:.9rem}.ferie-permessi-table th,.ferie-permessi-table td{padding:1rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.05)}[data-theme=dark] .ferie-permessi-table th,[data-theme=dark] .ferie-permessi-table td{border-bottom-color:#ffffff0d}.ferie-permessi-table th{font-weight:600;color:var(--text-muted)}.ferie-permessi-table .status-badge{display:inline-block;padding:.2rem .5rem;border-radius:var(--radius);font-size:.8rem;font-weight:500}.ferie-permessi-table .status-draft{background:var(--bg-surface-hover);color:var(--text-muted)}.ferie-permessi-table .status-pending_approval{background:var(--amber);color:var(--bg)}.ferie-permessi-table .status-approved{background:var(--green);color:var(--bg)}.ferie-permessi-table .status-rejected{background:var(--red);color:var(--bg)}.ferie-permessi-table .status-cancelled{background:var(--text-muted);color:var(--bg)}.ferie-permessi-form .form-group{margin-bottom:1.25rem}.ferie-permessi-form label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem;color:var(--text-muted)}.ferie-permessi-form input,.ferie-permessi-form select,.ferie-permessi-form textarea{width:100%;max-width:320px;padding:.625rem .875rem;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;color:var(--text-primary);background:var(--bg-surface)}[data-theme=dark] .ferie-permessi-form input,[data-theme=dark] .ferie-permessi-form select,[data-theme=dark] .ferie-permessi-form textarea{border-color:#ffffff1a;background:#0003}.ferie-permessi-form .form-actions{margin-top:1.5rem;display:flex;gap:.75rem}.ferie-quote-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.ferie-quote-card{padding:1rem 1.25rem;border-radius:var(--radius);border:1px solid rgba(0,0,0,.08);background:var(--bg-surface)}.ferie-quote-card .quote-name{font-weight:600;margin-bottom:.25rem}.ferie-quote-card .quote-meta{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.ferie-quote-card .quote-residual{font-size:1.25rem;font-weight:700;color:var(--green)}.ferie-quote-empty,.ferie-empty-state{color:var(--text-muted);padding:2.5rem 1.5rem;text-align:center;font-size:.95rem}.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chips .chip{padding:.4rem .75rem;border-radius:999px;text-decoration:none;font-size:.9rem;border:1px solid rgba(0,0,0,.08);background:var(--bg-surface);color:var(--text-primary)}.filter-chips .chip:hover{background:var(--bg-surface-hover)}.filter-chips .chip.active{background:var(--blue);border-color:var(--blue);color:var(--bg)}.ferie-detail-panel{padding:1.5rem;border-radius:var(--radius);border:1px solid rgba(0,0,0,.04);box-shadow:var(--shadow);background:var(--bg-surface)}[data-theme=dark] .ferie-detail-panel{border-color:#ffffff1a}.ferie-detail-list{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;max-width:400px}.ferie-detail-list dt{font-weight:500;color:var(--text-muted)}.ferie-detail-list dd{margin:0}.ferie-form-panel{padding:1.5rem;border-radius:var(--radius);border:1px solid rgba(0,0,0,.04);box-shadow:var(--shadow);background:var(--bg-surface);max-width:480px}[data-theme=dark] .ferie-form-panel{border-color:#ffffff1a}.ferie-single-day-hours-input{margin-left:1.5rem;width:5rem}.ferie-single-day-fieldset legend{font-size:.875rem;margin-bottom:.35rem}.ferie-single-day-fieldset label{display:block;margin-bottom:.25rem}.ferie-permessi-page .form-group{margin-bottom:1.25rem}.ferie-permessi-page .form-group>label{display:block;margin-bottom:.35rem}.ferie-entity-list-box{max-height:200px;overflow-y:auto;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-sm);padding:.5rem .5rem .5rem .25rem}[data-theme=dark] .ferie-entity-list-box{border-color:#ffffff1a}.ferie-calendar-quote-summary{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem}.ferie-calendar-quote-summary .quote-summary-label{font-weight:500;color:var(--text-primary)}.ferie-calendar-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;align-items:flex-end}.ferie-calendar-filters label{display:flex;flex-direction:column;gap:.25rem}.ferie-calendar-filters .filter-label{font-size:.85rem;font-weight:500;color:var(--text-muted)}.ferie-calendar-filters select{min-width:140px;padding:.4rem .6rem;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);font-size:.9rem}.calendar-event-leave.calendar-event-approved{background:var(--green);color:#fff}.calendar-event-leave.calendar-event-pending{background:var(--amber);color:#1a1a1a}.ferie-permessi-analisi .ferie-analisi-filters.filters-bar{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;align-items:flex-end}.ferie-permessi-analisi .filter-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.ferie-permessi-analisi .filter-label{font-size:.85rem;font-weight:500;color:var(--text-muted)}.ferie-permessi-analisi .filter-input,.ferie-permessi-analisi .filter-select{min-height:2.25rem;min-width:120px;padding:.4rem .6rem;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-sm);font-size:.9rem;background:var(--bg-surface);color:var(--text-primary)}[data-theme=dark] .ferie-permessi-analisi .filter-input,[data-theme=dark] .ferie-permessi-analisi .filter-select{border-color:#ffffff1a}.ferie-analisi-kpi.score-cards{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.ferie-analisi-kpi-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;min-width:0}.ferie-permessi-analisi .score-card{background:var(--bg-surface);padding:1.25rem;border-radius:var(--radius);box-shadow:var(--shadow)}.ferie-permessi-analisi .score-value{display:block;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.ferie-permessi-analisi .score-label{font-size:.8rem;color:var(--text-muted)}.ferie-permessi-analisi .table-view-selector{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.ferie-permessi-analisi .table-view-label{font-size:.85rem;color:var(--text-muted)}.ferie-permessi-analisi .table-view-chip{padding:.35rem .65rem;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.12);background:var(--bg-surface);color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:background var(--ease-out),border-color var(--ease-out)}.ferie-permessi-analisi .table-view-chip:hover{background:var(--bg-surface-hover);border-color:#0003}.ferie-permessi-analisi .table-view-chip.active{background:var(--blue);border-color:var(--blue);color:var(--text-inverse)}.ferie-permessi-analisi .ferie-form-panel.ferie-analisi-table-wrap{max-width:none}.ferie-analisi-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.ferie-analisi-table-scroll .ferie-permessi-table{min-width:480px}.ferie-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;max-width:100%}.ferie-table-scroll .ferie-permessi-table{min-width:480px}@media (max-width: 768px){.ferie-permessi.ferie-permessi-hub,.ferie-permessi-page{padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right));padding-bottom:max(2rem,env(safe-area-inset-bottom))}.ferie-permessi-page .page-header{gap:.75rem}.ferie-permessi-page .page-title{font-size:1.25rem;flex:1 1 100%;min-width:0}.ferie-permessi-table th,.ferie-permessi-table td{padding:.65rem .5rem;font-size:.85rem}.ferie-permessi-form .form-actions,.ferie-permessi-page .form-actions{flex-wrap:wrap;gap:.5rem}.ferie-permessi-form .form-actions .btn,.ferie-permessi-page .form-actions .btn{min-height:44px;min-width:44px}.ferie-detail-panel .form-actions{flex-wrap:wrap}.ferie-quote-grid{grid-template-columns:1fr}.ferie-permessi-analisi .ferie-analisi-filters.filters-bar{gap:.5rem}.ferie-permessi-analisi .filter-field{min-width:0;flex:1 1 140px}.ferie-analisi-kpi-group{grid-template-columns:repeat(2,1fr);gap:.75rem}.ferie-permessi-analisi .score-card{padding:1rem}.ferie-permessi-analisi .score-value{font-size:1.5rem}.scadenzario-calendario.ferie-calendario{padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}.ferie-calendar-filters{flex-wrap:wrap}}@media (max-width: 480px){.ferie-permessi.ferie-permessi-hub,.ferie-permessi-page{padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right))}.ferie-permessi-hub .ferie-permessi-actions .home-actions{grid-template-columns:1fr}.ferie-permessi-hub .action-card{min-height:48px;padding:1rem 1.25rem}.ferie-permessi-page .page-header{flex-direction:column;align-items:stretch}.ferie-permessi-page .page-header .btn{min-height:44px}.filter-chips{gap:.35rem}.filter-chips .chip{padding:.5rem .65rem;font-size:.85rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.ferie-permessi-form input,.ferie-permessi-form select,.ferie-permessi-form textarea{max-width:none}.ferie-table-scroll .ferie-permessi-table{min-width:360px}.ferie-permessi-analisi .ferie-analisi-filters.filters-bar{flex-direction:column}.ferie-permessi-analisi .filter-field{flex:1 1 100%}.ferie-analisi-kpi-group{grid-template-columns:1fr}.scadenzario-calendario.ferie-calendario .scadenzario-calendario-header{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.scadenzario-calendario.ferie-calendario .calendar-day{min-height:70px}}:root{--bg-base: #F7F9FC;--bg-surface: #FFFFFF;--bg-surface-hover: #F0F2F5;--green: #059669;--red: #DC2626;--amber: #D97706;--blue: #2563EB;--text-primary: #111827;--text-muted: #6B7280;--text-inverse: #FFFFFF;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .12);--ease-out: .15s ease-out}[data-theme=dark]{--bg-base: #0F172A;--bg-surface: #1E293B;--bg-surface-hover: #334155;--text-primary: #F1F5F9;--text-muted: #94A3B8;--green: #34D399;--red: #F87171;--amber: #FBBF24;--blue: #60A5FA}.skeleton-loader,.skeleton-card,.skeleton-line,.skeleton-row{background:linear-gradient(90deg,var(--bg-surface-hover) 25%,rgba(255,255,255,.05) 50%,var(--bg-surface-hover) 75%);background-size:200% 100%;animation:skeleton 1.2s ease-in-out infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-base)}.loading-screen-pulse{width:120px;height:32px;border-radius:var(--radius-sm)}*{box-sizing:border-box}body{margin:0;font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}.tabular-nums{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}button,a,[role=button]{cursor:pointer}.page-title{margin:0 0 .25rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.error-message{color:var(--red);margin:0 0 .75rem;font-size:.95rem}@media (max-width: 767px){.touch-target{min-height:48px;min-width:48px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;font-size:.95rem;font-weight:500;border-radius:var(--radius-sm);border:1px solid transparent;transition:all var(--ease-out);text-decoration:none}.btn-primary{background:var(--blue);color:var(--text-inverse);box-shadow:var(--shadow)}.btn-primary:hover{filter:brightness(1.1);box-shadow:var(--shadow-hover)}.btn-secondary{background:var(--bg-surface);border-color:#0000001a;color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-surface-hover)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.export-buttons{display:flex;align-items:center;gap:.5rem}.export-buttons .btn.btn-export{display:inline-flex}.btn-export{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.9rem}.btn-export .btn-export-icon{width:1.125rem;height:1.125rem;flex-shrink:0;opacity:.9}.btn-export.btn-export-pdf .btn-export-icon{color:var(--red)}.btn-export.btn-export-xlsx .btn-export-icon{color:var(--green)}.btn-primary.btn-export .btn-export-icon{color:inherit}.btn-export:disabled .btn-export-icon{opacity:.5}.form-label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem;color:var(--text-muted)}.form-control{width:100%;padding:.625rem .875rem;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem;color:var(--text-primary);background:var(--bg-surface);transition:border-color var(--ease-out),box-shadow var(--ease-out);margin-bottom:1rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem}.kpi-card{display:block;text-decoration:none;color:inherit;cursor:pointer;padding:1.25rem;border-radius:var(--radius);transition:background var(--ease-out),box-shadow var(--ease-out)}.kpi-card:hover,.kpi-card:focus-visible{background:var(--bg-surface-hover)}.kpi-value{display:block;font-size:1.85rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.kpi-label{font-size:.85rem;color:var(--text-muted);font-weight:500}.kpi-warning .kpi-value{color:var(--amber)}.kpi-danger .kpi-value{color:var(--red)}.form-control:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1a}[data-theme=dark] .form-control{border-color:#ffffff1a;background:#0003}.table-core{width:100%;border-collapse:collapse;text-align:left;font-size:.95rem}.table-core th,.table-core td{padding:1rem;border-bottom:1px solid rgba(0,0,0,.05)}.table-core th{color:var(--text-muted);font-weight:500;white-space:nowrap}[data-theme=dark] .table-core th,[data-theme=dark] .table-core td{border-bottom-color:#ffffff0d}.stat-card{background:var(--bg-surface);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.04);transition:transform var(--ease-out),box-shadow var(--ease-out)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}[data-theme=dark] .stat-card{border-color:#ffffff1a}
