@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;min-height:68px;padding:1.25rem;display:flex}.sidebar-logo{align-items:center;gap:.75rem;display:flex;overflow:hidden}.logo-icon{border-radius:var(--radius-md);background:var(--gradient-blue);color:#fff;width:36px;min-width:36px;height:36px;box-shadow:0 0 15px var(--accent-blue-glow);justify-content:center;align-items:center;display:flex}.logo-text{white-space:nowrap;flex-direction:column;display:flex}.logo-title{background:var(--gradient-blue);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.05rem;font-weight:700}.logo-subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;font-size:.65rem}.collapse-btn{border-radius:var(--radius-sm);width:28px;min-width:28px;height:28px;color:var(--text-muted);transition:var(--transition);justify-content:center;align-items:center;display:flex}.collapse-btn:hover{background:var(--bg-card);color:var(--text-primary)}.sidebar-nav{flex:1;padding:.75rem;overflow-y:auto}.nav-section{margin-bottom:.75rem}.nav-section-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:.5rem .75rem .35rem;font-size:.65rem;font-weight:600;display:block}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition);white-space:nowrap;align-items:center;gap:.75rem;margin-bottom:2px;padding:.6rem .75rem;font-size:.875rem;font-weight:450;display:flex;position:relative}.nav-item-content{align-items:center;gap:.75rem;width:100%;display:flex}.nav-badge{color:#fff;white-space:nowrap;text-align:center;background:#ff5722;border-radius:10px;min-width:20px;margin-left:auto;padding:2px 8px;font-size:.7rem;font-weight:600;animation:2s infinite pulse-badge}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.nav-item:hover{background:var(--bg-card);color:var(--text-primary)}.nav-item.active{color:var(--accent-blue);background:#3b82f61f;font-weight:500}.nav-item.active:before{content:"";background:var(--accent-blue);border-radius:0 3px 3px 0;width:3px;height:24px;position:absolute;left:0}.sidebar-footer{border-top:1px solid var(--border-color);padding:.75rem}.user-card{align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.6rem;display:flex;overflow:hidden}.user-avatar{border-radius:var(--radius-sm);background:var(--gradient-purple);color:#fff;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;font-size:.85rem;font-weight:700;display:flex}.user-info{flex-direction:column;display:flex;overflow:hidden}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.user-role{color:var(--accent-purple);text-transform:capitalize;align-items:center;gap:.3rem;font-size:.7rem;display:flex}.logout-btn{border-radius:var(--radius-sm);width:100%;color:var(--text-muted);transition:var(--transition);align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.85rem;display:flex}.logout-btn:hover{color:var(--accent-red);background:#ef44441a}.theme-toggle-btn{border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);transition:var(--transition);white-space:nowrap;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.6rem .75rem;font-size:.82rem;display:flex}.theme-toggle-btn:hover{color:var(--accent-amber);background:#f59e0b1a}.collapsed .theme-toggle-btn{justify-content:center}.collapsed .sidebar-header{justify-content:center;padding:1.25rem .5rem}.collapsed .sidebar-nav{padding:.5rem}.collapsed .nav-item{justify-content:center;padding:.65rem}.collapsed .user-card,.collapsed .logout-btn{justify-content:center}.app-layout{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);background:var(--bg-primary);flex:1;min-height:100vh;padding:1.75rem 2rem;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (width<=768px){.main-content{margin-left:0;padding:1rem}}.landing-page{color:#f1f5f9;background:#050816;min-height:100vh;position:relative;overflow-x:hidden}.landing-video-bg{z-index:0;position:fixed;inset:0;overflow:hidden}.landing-video{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%}.landing-video-overlay{z-index:1;background:linear-gradient(#050816b3 0%,#0508168c 30%,#050816a6 70%,#050816d9 100%);position:absolute;inset:0}.nav-logo-img{-o-object-fit:cover;object-fit:cover;border-radius:10px;width:38px;height:38px;box-shadow:0 2px 10px #3b82f64d}.footer-logo-img{-o-object-fit:cover;object-fit:cover;border-radius:8px;width:32px;height:32px}.cta-logo-img{-o-object-fit:cover;object-fit:cover;border-radius:4px;width:20px;height:20px}.landing-bg{z-index:0;pointer-events:none;position:fixed;inset:0}.bg-grid{background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.bg-glow{filter:blur(120px);opacity:.4;border-radius:50%;position:absolute}.bg-glow-1{background:radial-gradient(circle,#3b82f64d,#0000);width:600px;height:600px;animation:8s ease-in-out infinite floatGlow;top:-200px;left:-100px}.bg-glow-2{background:radial-gradient(circle,#8b5cf640,#0000);width:500px;height:500px;animation:10s ease-in-out infinite reverse floatGlow;top:40%;right:-150px}.bg-glow-3{background:radial-gradient(circle,#06b6d433,#0000);width:400px;height:400px;animation:12s ease-in-out infinite floatGlow;bottom:-100px;left:30%}@keyframes floatGlow{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,-20px)scale(1.1)}}.floating-particles .particle{background:#3b82f680;border-radius:50%;width:2px;height:2px;animation:5s ease-in-out infinite floatParticle;position:absolute}@keyframes floatParticle{0%,to{opacity:0;transform:translateY(0)}50%{opacity:1;transform:translateY(-40px)}}.landing-nav{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#050816cc;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:1rem 3rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{align-items:center;gap:.6rem;display:flex}.nav-logo-icon{color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.nav-logo-text{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.2rem;font-weight:700}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{color:#94a3b8;font-size:.9rem;font-weight:500;transition:color .3s}.nav-links a:hover{color:#f1f5f9}.nav-cta{border-radius:8px!important;padding:.5rem 1.2rem!important;font-size:.85rem!important}.hero-section{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1400px;min-height:100vh;margin:0 auto;padding:8rem 4rem 4rem;display:grid;position:relative}.hero-badge{color:#a78bfa;background:#8b5cf61a;border:1px solid #8b5cf633;border-radius:100px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.4rem 1rem;font-size:.8rem;animation:.6s ease-out fadeIn;display:inline-flex}.hero-title{margin-bottom:1.5rem;font-size:4rem;font-weight:800;line-height:1.1;animation:.8s ease-out fadeIn}.hero-line-1{background:linear-gradient(135deg,#f1f5f9,#cbd5e1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:block}.hero-line-2{background:linear-gradient(135deg,#3b82f6,#8b5cf6,#06b6d4);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:block}.hero-subtitle{color:#94a3b8;max-width:520px;margin-bottom:2rem;font-size:1.1rem;line-height:1.7;animation:1s ease-out fadeIn}.hero-actions{gap:1rem;margin-bottom:3rem;animation:1.2s ease-out fadeIn;display:flex}.btn-hero-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 20px #3b82f64d}.btn-hero-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #3b82f666}.btn-hero-outline{color:#cbd5e1;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-hero-outline:hover{background:#ffffff0d;border-color:#ffffff4d}.hero-stats{align-items:center;gap:1.5rem;animation:1.4s ease-out fadeIn;display:flex}.hero-stat{flex-direction:column;display:flex}.hero-stat-value{background:linear-gradient(135deg,#3b82f6,#06b6d4);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:800}.hero-stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.hero-stat-divider{background:#ffffff1a;width:1px;height:40px}.hero-visual{justify-content:center;animation:1s ease-out fadeIn;display:flex}.hero-dashboard-preview{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827cc;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:500px;animation:6s ease-in-out infinite float;overflow:hidden;box-shadow:0 20px 60px #00000080}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.preview-header{background:#ffffff08;border-bottom:1px solid #ffffff0d;align-items:center;gap:.75rem;padding:.8rem 1.2rem;display:flex}.preview-dots{gap:6px;display:flex}.preview-dots span{border-radius:50%;width:10px;height:10px}.preview-dots span:first-child{background:#ef4444}.preview-dots span:nth-child(2){background:#f59e0b}.preview-dots span:nth-child(3){background:#10b981}.preview-title{color:#64748b;font-size:.8rem;font-weight:500}.preview-content{grid-template-columns:1fr 1fr;gap:.75rem;padding:1.2rem;display:grid}.preview-card{border:1px solid #ffffff0d;border-radius:10px;align-items:center;gap:.6rem;padding:.75rem;display:flex}.pc-1{color:#10b981;background:#10b98114}.pc-2{color:#3b82f6;background:#3b82f614}.pc-3{color:#8b5cf6;background:#8b5cf614}.pc-4{color:#f59e0b;background:#f59e0b14}.pc-value{color:#f1f5f9;font-size:1.1rem;font-weight:700;display:block}.pc-label{color:#64748b;font-size:.65rem}.preview-chart{background:#ffffff05;border:1px solid #ffffff0d;border-radius:10px;grid-column:1/-1;align-items:flex-end;gap:6px;height:80px;padding:.5rem;display:flex}.chart-bar{opacity:.8;background:linear-gradient(#8b5cf6,#3b82f6);border-radius:4px 4px 0 0;flex:1;animation:1.5s ease-out forwards growBar}@keyframes growBar{0%{height:0!important}}.features-section,.how-section,.preview-section,.tech-section{z-index:1;max-width:1400px;margin:0 auto;padding:6rem 4rem;position:relative}.section-header{text-align:center;margin-bottom:4rem}.section-badge{color:#60a5fa;text-transform:uppercase;letter-spacing:1px;background:#3b82f61a;border:1px solid #3b82f633;border-radius:100px;margin-bottom:1rem;padding:.3rem 1rem;font-size:.8rem;font-weight:600;display:inline-block}.section-header h2{background:linear-gradient(135deg,#f1f5f9,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.75rem;font-size:2.5rem;font-weight:800}.section-header p{color:#64748b;max-width:600px;margin:0 auto;font-size:1.05rem}.features-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.feature-card{background:#11182799;border:1px solid #ffffff0f;border-radius:16px;padding:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);animation:.6s ease-out both fadeIn}.feature-card:hover{border-color:#ffffff1f;transform:translateY(-6px);box-shadow:0 12px 40px #0000004d}.feature-icon{border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:1.25rem;display:flex}.feature-card h3{color:#f1f5f9;margin-bottom:.6rem;font-size:1.15rem;font-weight:700}.feature-card p{color:#64748b;font-size:.9rem;line-height:1.6}.steps-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.step-card{text-align:center;background:#11182780;border:1px solid #ffffff0f;border-radius:16px;padding:2rem 1.5rem;transition:all .3s;animation:.6s ease-out both fadeIn;position:relative}.step-card:hover{border-color:#3b82f633;transform:translateY(-4px)}.step-num{background:linear-gradient(135deg,#3b82f633,#8b5cf633);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1rem;font-size:2.5rem;font-weight:900}.step-icon-wrap{color:#60a5fa;background:linear-gradient(135deg,#3b82f626,#8b5cf626);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;display:flex}.step-card h3{margin-bottom:.5rem;font-size:1.05rem;font-weight:700}.step-card p{color:#64748b;font-size:.85rem;line-height:1.5}.step-connector{display:none}.preview-showcase{grid-template-columns:1fr 2fr 1fr;gap:1.5rem;display:grid}.showcase-card{background:#111827b3;border:1px solid #ffffff0f;border-radius:16px;padding:1.5rem;transition:all .3s}.showcase-card:hover{border-color:#ffffff1f;transform:translateY(-3px)}.showcase-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;font-size:.9rem;font-weight:600;display:flex}.showcase-live-badge{color:#10b981;font-size:.75rem;animation:2s infinite pulse-badge}.showcase-period{color:#64748b;font-size:.75rem;font-weight:400}.showcase-score{width:140px;height:140px;margin:0 auto;position:relative}.showcase-ring{width:100%;height:100%}.showcase-score-val{color:#10b981;justify-content:center;align-items:center;font-size:2.5rem;font-weight:800;display:flex;position:absolute;inset:0}.showcase-bars{align-items:flex-end;gap:8px;height:150px;display:flex}.showcase-bar-group{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.showcase-bar-group span{color:#64748b;font-size:.65rem}.showcase-bar{background:linear-gradient(#8b5cf6,#3b82f6);border-radius:4px 4px 0 0;width:100%;min-height:8px;transition:height 1s}.showcase-alerts{flex-direction:column;gap:.75rem;display:flex}.showcase-alert{color:#cbd5e1;border-radius:8px;align-items:center;gap:.6rem;padding:.65rem;font-size:.8rem;display:flex}.sa-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sa-critical{background:#ef444414}.sa-critical .sa-dot{background:#ef4444;animation:1.5s infinite pulse-badge}.sa-warning{background:#f59e0b14}.sa-warning .sa-dot{background:#f59e0b}.sa-info{background:#3b82f614}.sa-info .sa-dot{background:#3b82f6}.tech-grid{grid-template-columns:repeat(6,1fr);gap:1rem;display:grid}.tech-card{text-align:center;background:#11182780;border:1px solid #ffffff0f;border-radius:14px;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;transition:all .3s;animation:.5s ease-out both fadeIn;display:flex}.tech-card:hover{border-color:#ffffff26;transform:translateY(-4px)}.tech-dot{border-radius:50%;width:12px;height:12px;margin-bottom:.25rem}.tech-name{font-size:.95rem;font-weight:700}.tech-desc{color:#64748b;font-size:.75rem}.cta-section{z-index:1;text-align:center;margin:2rem 0;padding:6rem 4rem;position:relative}.cta-bg-glow{filter:blur(80px);z-index:-1;background:radial-gradient(circle,#3b82f626,#0000);width:600px;height:300px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cta-section h2{background:linear-gradient(135deg,#f1f5f9,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1rem;font-size:2.5rem;font-weight:800}.cta-section p{color:#64748b;margin-bottom:2rem;font-size:1.1rem}.landing-footer{z-index:1;border-top:1px solid #ffffff0f;padding:3rem 4rem 1.5rem;position:relative}.footer-content{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.footer-brand{color:#94a3b8;align-items:center;gap:.75rem;font-weight:600;display:flex}.footer-links{gap:2rem;display:flex}.footer-links a{color:#64748b;font-size:.9rem;transition:color .3s}.footer-links a:hover{color:#f1f5f9}.footer-social{gap:1rem;display:flex}.footer-social a{color:#64748b;background:#ffffff0d;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .3s;display:flex}.footer-social a:hover{color:#3b82f6;background:#3b82f626}.footer-bottom{text-align:center;color:#475569;border-top:1px solid #ffffff0a;padding-top:1.5rem;font-size:.8rem}@media (width<=1024px){.hero-section{text-align:center;grid-template-columns:1fr;padding:7rem 2rem 3rem}.hero-subtitle{margin:0 auto 2rem}.hero-actions,.hero-stats{justify-content:center}.hero-visual{display:none}.features-grid,.steps-grid{grid-template-columns:repeat(2,1fr)}.preview-showcase{grid-template-columns:1fr}.tech-grid{grid-template-columns:repeat(3,1fr)}.landing-nav{padding:1rem 1.5rem}.nav-links a:not(.nav-cta){display:none}}@media (width<=640px){.hero-title{font-size:2.5rem}.features-grid,.steps-grid{grid-template-columns:1fr}.tech-grid{grid-template-columns:repeat(2,1fr)}.section-header h2{font-size:1.8rem}.footer-content{text-align:center;flex-direction:column;gap:1.5rem}}[data-theme=light] .landing-page{color:#1e293b;background:#f0f2f5}[data-theme=light] .landing-nav{background:#ffffffd9;border-bottom-color:#0000000f}[data-theme=light] .landing-video-overlay{background:linear-gradient(#f0f2f5cc 0%,#f0f2f5a6 30%,#f0f2f5bf 70%,#f0f2f5eb 100%)}[data-theme=light] .nav-logo-text{background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .nav-links a{color:#64748b}[data-theme=light] .nav-links a:hover{color:#1e293b}[data-theme=light] .theme-toggle-nav{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;padding:.5rem;transition:all .3s;display:flex}[data-theme=light] .theme-toggle-nav:hover{color:#1e293b;background:#0000000d}[data-theme=light] .hero-badge{color:#7c3aed;background:#8b5cf61a;border-color:#8b5cf633}[data-theme=light] .hero-line-1{background:linear-gradient(135deg,#1e293b,#475569);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .hero-line-2{background:linear-gradient(135deg,#2563eb,#7c3aed,#0891b2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .hero-subtitle,[data-theme=light] .section-header p,[data-theme=light] .feature-card p,[data-theme=light] .step-card p,[data-theme=light] .tech-desc{color:#475569}[data-theme=light] .hero-stat-value{background:linear-gradient(135deg,#2563eb,#0891b2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .hero-stat-divider{background:#0000001a}[data-theme=light] .btn-hero-outline{color:#475569;border-color:#00000026}[data-theme=light] .btn-hero-outline:hover{color:#1e293b;background:#0000000d;border-color:#0000004d}[data-theme=light] .hero-dashboard-preview,[data-theme=light] .feature-card,[data-theme=light] .step-card,[data-theme=light] .showcase-card,[data-theme=light] .tech-card{background:#ffffffb3;border-color:#00000014;box-shadow:0 10px 30px #00000008}[data-theme=light] .feature-card:hover,[data-theme=light] .step-card:hover,[data-theme=light] .showcase-card:hover,[data-theme=light] .tech-card:hover{border-color:#00000026;box-shadow:0 15px 40px #0000000f}[data-theme=light] .feature-card h3,[data-theme=light] .step-card h3,[data-theme=light] .showcase-header,[data-theme=light] .tech-name,[data-theme=light] .showcase-alert{color:#1e293b}[data-theme=light] .preview-header{background:#f0f2f580;border-bottom-color:#0000000d}[data-theme=light] .preview-card,[data-theme=light] .preview-chart{background:#f0f2f580;border-color:#0000000d}[data-theme=light] .pc-value{color:#1e293b}[data-theme=light] .pc-label,[data-theme=light] .preview-title{color:#64748b}[data-theme=light] .section-badge{color:#2563eb;background:#2563eb1a;border-color:#2563eb33}[data-theme=light] .section-header h2{background:linear-gradient(135deg,#1e293b,#475569);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .cta-section h2{background:linear-gradient(135deg,#1e293b,#2563eb);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .bg-grid{background-image:linear-gradient(#00000008 1px,#0000 1px),linear-gradient(90deg,#00000008 1px,#0000 1px)}[data-theme=light] .bg-glow-1,[data-theme=light] .bg-glow-2,[data-theme=light] .bg-glow-3{opacity:.15}[data-theme=light] .floating-particles .particle{background:#2563eb4d}[data-theme=light] .step-num{background:linear-gradient(135deg,#2563eb4d,#7c3aed4d);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .showcase-period,[data-theme=light] .showcase-bar-group span{color:#64748b}[data-theme=light] .sa-critical{color:#1e293b;background:#ef44441a}[data-theme=light] .sa-warning{color:#1e293b;background:#f59e0b1a}[data-theme=light] .sa-info{color:#1e293b;background:#3b82f61a}[data-theme=light] .landing-footer{border-top-color:#0000000f}[data-theme=light] .footer-brand,[data-theme=light] .footer-links a,[data-theme=light] .footer-bottom,[data-theme=light] .footer-social a{color:#64748b}[data-theme=light] .footer-social a{background:#0000000d}[data-theme=light] .footer-social a:hover{color:#2563eb;background:#2563eb1a}.theme-toggle-nav{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .3s;display:flex}.theme-toggle-nav:hover{color:#f1f5f9;background:#ffffff0d}.hero-stat-live{color:#10b981;letter-spacing:1px;text-transform:uppercase;align-items:center;gap:6px;padding-left:1rem;font-size:.65rem;font-weight:700;display:flex}.live-dot{background:#10b981;border-radius:50%;width:6px;height:6px;animation:1.5s infinite pulse-badge;display:inline-block}.live-stats-section{z-index:1;max-width:1400px;margin:0 auto;padding:6rem 4rem;position:relative}.live-stats-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.live-stat-card{text-align:center;background:#11182799;border:1px solid #ffffff0f;border-radius:16px;flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);animation:.5s ease-out both fadeIn;display:flex}.live-stat-card:hover{border-color:#ffffff1f;transform:translateY(-6px);box-shadow:0 12px 40px #0000004d}.live-stat-icon{border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.live-stat-value{font-size:2rem;font-weight:800}.live-stat-label{color:#64748b;font-size:.8rem;font-weight:500}@media (width>=1025px){.tech-grid{grid-template-columns:repeat(4,1fr)}}[data-theme=light] .live-stat-card{background:#ffffffb3;border-color:#00000014;box-shadow:0 4px 20px #00000008}[data-theme=light] .live-stat-card:hover{border-color:#00000026;box-shadow:0 15px 40px #0000000f}[data-theme=light] .live-stat-label{color:#475569}@media (width<=1024px){.live-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.live-stats-grid{grid-template-columns:1fr 1fr}.live-stats-section{padding:4rem 1.5rem}.live-stat-value{font-size:1.5rem}}.login-page{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-bg-effects{pointer-events:none;position:absolute;inset:0}.bg-orb{filter:blur(120px);opacity:.15;border-radius:50%;position:absolute}.bg-orb-1{background:var(--accent-blue);width:500px;height:500px;animation:8s ease-in-out infinite orbFloat;top:-150px;right:-100px}.bg-orb-2{background:var(--accent-purple);width:400px;height:400px;animation:10s ease-in-out infinite reverse orbFloat;bottom:-100px;left:-100px}.bg-orb-3{background:var(--accent-cyan);width:300px;height:300px;animation:12s ease-in-out infinite orbFloat;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-30px)scale(1.05)}66%{transform:translate(-20px,20px)scale(.95)}}.grid-overlay{background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-light);border-radius:var(--radius-xl);z-index:1;width:100%;max-width:420px;box-shadow:var(--shadow-lg);background:#1a1f35d9;padding:2.5rem;position:relative}.login-brand{text-align:center;margin-bottom:2rem}.brand-icon{border-radius:var(--radius-md);background:var(--gradient-blue);color:#fff;width:56px;height:56px;box-shadow:0 0 30px var(--accent-blue-glow);justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.login-brand h1{background:var(--gradient-blue);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:800}.login-brand p{color:var(--text-muted);margin-top:.3rem;font-size:.85rem}.login-error{border-radius:var(--radius-sm);color:var(--accent-red);background:#ef44441f;border:1px solid #ef444433;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.login-form{flex-direction:column;gap:1.1rem;display:flex}.form-field label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.8rem;font-weight:500;display:block}.field-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:var(--transition);align-items:center;gap:.6rem;padding:.7rem 1rem;display:flex}.field-input:focus-within{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow)}.field-input svg{color:var(--text-muted);flex-shrink:0}.field-input input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.9rem}.field-input input::placeholder{color:var(--text-muted)}.login-btn{background:var(--gradient-blue);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.8rem;font-size:.95rem;font-weight:600;display:flex}.login-btn:hover:not(:disabled){box-shadow:0 0 25px var(--accent-blue-glow);transform:translateY(-1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-credentials{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.25rem}.cred-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:.5rem;font-size:.7rem;font-weight:600;display:block}.cred-item{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8rem}.cred-item strong{color:var(--text-primary)}.auth-tabs{border:1px solid var(--border-color);border-radius:var(--radius-sm);gap:0;margin-bottom:1.25rem;display:flex;overflow:hidden}.auth-tab{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.6rem;font-size:.82rem;font-weight:500;display:flex}.auth-tab.active{background:var(--gradient-blue);color:#fff}.auth-tab:not(.active):hover{background:var(--bg-surface);color:var(--text-primary)}.register-note{border-radius:var(--radius-sm);text-align:center;background:#3b82f614;border:1px solid #3b82f626;margin-top:1.25rem;padding:.75rem 1rem}.register-note p{color:var(--text-secondary);font-size:.8rem}.register-note strong{color:var(--accent-blue)}.announcement-card{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-left:5px solid #ff9800;border-radius:8px;margin-bottom:12px;padding:16px;transition:all .3s;box-shadow:0 2px 4px #00000014}.announcement-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.announcement-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.announcement-title-section{flex:1;align-items:center;gap:8px;display:flex}.announcement-type-icon{flex-shrink:0;width:20px;height:20px}.announcement-type-icon.traffic{color:#ff6b6b}.announcement-type-icon.water{color:#4da6ff}.announcement-type-icon.waste{color:#8b7355}.announcement-type-icon.lighting{color:gold}.announcement-type-icon.emergency{color:#c41c3b}.announcement-type-icon.general{color:#666}.announcement-type-icon.maintenance{color:#7c3aed}.announcement-title{color:#333;white-space:normal;word-break:break-word;margin:0;font-size:16px;font-weight:600}.announcement-priority-badge{color:#fff;white-space:nowrap;border-radius:20px;margin-left:8px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.announcement-message{color:#555;margin:0 0 12px;font-size:14px;line-height:1.5}.announcement-meta{color:#999;flex-direction:column;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.announcement-meta-item{align-items:center;gap:6px;display:flex}.announcement-meta-item svg{color:#999;flex-shrink:0}.announcement-expiry{color:#f44336;background:#ffe0e0;border-radius:4px;margin-bottom:8px;padding:4px 8px;font-size:12px;display:inline-block}.announcement-footer{color:#999;justify-content:space-between;align-items:center;font-size:12px;display:flex}.announcement-views{color:#666;background:#f5f5f5;border-radius:4px;padding:4px 8px;display:inline-block}@media (width<=768px){.announcement-card{margin-bottom:10px;padding:12px}.announcement-title{font-size:14px}.announcement-message{font-size:13px}.announcement-header{flex-direction:column;gap:8px}.announcement-priority-badge{align-self:flex-start;margin-left:0}}.city-health-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:1.5rem;animation:.5s ease-out fadeIn;overflow:hidden}.city-health-loading{padding:2rem}.city-health-loading-content{color:var(--text-muted);justify-content:center;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.pulse-icon{animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.city-health-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.city-health-title{color:var(--accent-cyan,#06b6d4);align-items:center;gap:.5rem;display:flex}.city-health-title h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.city-health-updated{color:var(--text-muted);background:var(--bg-surface);border-radius:20px;padding:.25rem .6rem;font-size:.72rem}.city-health-body{grid-template-columns:1fr 1fr;gap:0;display:grid}.weather-section{border-right:1px solid var(--border-color);flex-direction:column;gap:1.1rem;padding:1.25rem;display:flex}.weather-main{align-items:center;gap:1rem;display:flex}.weather-icon-wrap{border-radius:var(--radius-md);width:64px;min-width:64px;height:64px;color:var(--accent-cyan,#06b6d4);background:linear-gradient(135deg,#06b6d426,#3b82f61a);justify-content:center;align-items:center;display:flex}.weather-temp-wrap{flex-direction:column;display:flex}.weather-temp{color:var(--text-primary);font-size:2.2rem;font-weight:800;line-height:1}.weather-desc{color:var(--text-secondary);margin-top:.2rem;font-size:.85rem;font-weight:500}.weather-feels{color:var(--text-muted);margin-top:.15rem;font-size:.72rem}.weather-details{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.weather-detail-item{background:var(--bg-surface);border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:.5rem;padding:.6rem .7rem;display:flex}.weather-detail-item>div{flex-direction:column;display:flex}.wd-value{color:var(--text-primary);font-size:.85rem;font-weight:600;line-height:1.2}.wd-label{color:var(--text-muted);font-size:.68rem}.aqi-section{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.aqi-main{flex-direction:column;align-items:center;gap:.5rem;display:flex}.aqi-value-large{font-size:2.5rem;font-weight:800;line-height:1}.aqi-label-main{text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:600}.aqi-sublabel{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.65rem}.aqi-bar-track{background:linear-gradient(90deg,#10b98126 0%,#f59e0b26 33%,#f9731626 50%,#ef444426 66%,#7c3aed26 100%);border-radius:4px;width:100%;height:8px;overflow:hidden}.aqi-bar-fill{height:100%;box-shadow:0 0 8px rgba(var(--aqi-glow), .3);border-radius:4px;transition:width 1.2s cubic-bezier(.4,0,.2,1)}.aqi-scale-labels{width:100%;color:var(--text-muted);justify-content:space-between;padding:0 2px;font-size:.6rem;display:flex}.pollutants-grid{grid-template-columns:repeat(2,1fr);gap:.55rem;display:grid}.pollutant-item{background:var(--bg-surface);border-radius:var(--radius-sm);padding:.55rem .7rem}.pollutant-header{justify-content:space-between;align-items:baseline;margin-bottom:.35rem;display:flex}.pollutant-name{color:var(--text-secondary);font-size:.75rem;font-weight:600}.pollutant-value{color:var(--text-primary);font-size:.78rem;font-weight:600}.pollutant-value small{color:var(--text-muted);font-size:.6rem;font-weight:400}.pollutant-bar-track{background:#ffffff0f;border-radius:2px;height:4px;overflow:hidden}.pollutant-bar-fill{border-radius:2px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}@media (width<=900px){.city-health-body{grid-template-columns:1fr}.weather-section{border-right:none;border-bottom:1px solid var(--border-color)}}@media (width<=500px){.weather-details,.pollutants-grid{grid-template-columns:1fr}}.dashboard-page{max-width:1400px}.header-actions{gap:.75rem;display:flex}.citizen-score-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1.1rem 1.25rem;display:flex}.citizen-score-main{align-items:center;gap:.8rem;display:flex}.citizen-score-main h3{margin:0;font-size:1rem}.citizen-score-main p{color:var(--text-muted);margin:.2rem 0 0;font-size:.8rem}.citizen-score-icon{border-radius:var(--radius-md);width:42px;min-width:42px;height:42px;color:var(--accent-amber);background:#f59e0b29;justify-content:center;align-items:center;display:flex}.citizen-score-value-wrap{text-align:right;flex-direction:column;display:flex}.citizen-score-value{color:var(--accent-green);font-size:2rem;font-weight:800;line-height:1}.citizen-score-label{color:var(--text-secondary);margin-top:.2rem;font-size:.8rem}.citizen-overview-grid{grid-template-columns:repeat(4,1fr)}.citizen-tips-list{flex-direction:column;gap:.55rem;display:flex}.citizen-tip-item{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);padding:.75rem .8rem;font-size:.83rem}.announcements-section{background:var(--bg-card);border-radius:var(--radius-lg);margin-bottom:1.5rem;overflow:hidden}.announcements-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.announcements-header h3{align-items:center;gap:.5rem;margin:0;font-size:1rem;display:flex}.announcements-list{padding:.75rem 1.25rem}.health-section{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);grid-template-columns:200px 1fr;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem;display:grid}.health-score-card{justify-content:center;align-items:center;display:flex}.health-ring{width:140px;height:140px;position:relative}.health-svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:#ffffff0f;stroke-width:8px}.ring-progress{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dasharray 1s ease-out}.health-value{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.score-number{font-size:2.25rem;font-weight:800;line-height:1}.score-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:.3rem;font-size:.7rem}.health-factors{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.factor-card{background:var(--bg-surface);border-radius:var(--radius-sm);opacity:0;padding:.9rem;animation:.4s ease-out forwards fadeIn}.factor-header{justify-content:space-between;margin-bottom:.5rem;display:flex}.factor-name{color:var(--text-secondary);font-size:.8rem;font-weight:500}.factor-score{font-size:.85rem;font-weight:700}.factor-bar{background:#ffffff0f;border-radius:2px;height:4px;overflow:hidden}.factor-fill{border-radius:2px;height:100%;transition:width 1s ease-out}.overview-grid{grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.overview-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:var(--transition);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex;position:relative;overflow:hidden}.overview-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.card-traffic:before{background:var(--gradient-blue)}.card-waste:before{background:var(--gradient-green)}.card-water:before{background:linear-gradient(90deg,#06b6d4,#3b82f6)}.card-lighting:before{background:var(--gradient-amber)}.card-emergency:before{background:var(--gradient-red)}.overview-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-light);transform:translateY(-2px)}.oc-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:38px;height:38px;display:flex}.card-traffic .oc-icon{color:var(--accent-blue);background:#3b82f626}.card-waste .oc-icon{color:var(--accent-green);background:#10b98126}.card-water .oc-icon{color:var(--accent-cyan);background:#06b6d426}.card-lighting .oc-icon{color:var(--accent-amber);background:#f59e0b26}.card-emergency .oc-icon{color:var(--accent-red);background:#ef444426}.oc-content{flex-direction:column;display:flex}.oc-value{font-size:1.65rem;font-weight:700;line-height:1.1}.oc-label{color:var(--text-muted);margin-top:.15rem;font-size:.8rem}.oc-stat{margin-top:auto}.charts-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.5rem;display:grid}.chart-card h3{color:var(--text-secondary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem;font-weight:600;display:flex}.pie-legend{justify-content:center;gap:1rem;margin-top:.5rem;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.alerts-section{margin-bottom:1.5rem}.alerts-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.alerts-header h3{align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.alerts-list{flex-direction:column;gap:.5rem;max-height:300px;display:flex;overflow-y:auto}.alert-item{border-radius:var(--radius-sm);background:var(--bg-surface);transition:var(--transition);align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.alert-item:hover{background:var(--bg-card-hover)}.alert-dot{border-radius:50%;width:8px;min-width:8px;height:8px;margin-top:.4rem}.alert-critical .alert-dot{background:var(--accent-red);box-shadow:0 0 8px var(--accent-red-glow)}.alert-danger .alert-dot{background:#f97316}.alert-warning .alert-dot{background:var(--accent-amber)}.alert-info .alert-dot{background:var(--accent-blue)}.alert-prediction .alert-dot{background:var(--accent-purple)}.alert-body{flex-direction:column;flex:1;gap:.15rem;display:flex}.alert-title{color:var(--text-primary);font-size:.85rem;font-weight:500}.alert-message{color:var(--text-muted);font-size:.78rem}.alert-meta{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.alert-time{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.7rem;display:flex}@media (width<=1200px){.overview-grid{grid-template-columns:repeat(3,1fr)}.charts-grid{grid-template-columns:repeat(2,1fr)}.health-section{grid-template-columns:1fr}.health-factors{grid-template-columns:repeat(4,1fr)}.citizen-overview-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.overview-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}.health-factors{grid-template-columns:repeat(2,1fr)}.header-actions{flex-direction:column}.citizen-score-card{flex-direction:column;align-items:flex-start}.citizen-score-value-wrap{text-align:left}}.module-page{max-width:1400px}.mb-2{margin-bottom:1.5rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-light);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;display:flex}.stat-icon.blue{color:var(--accent-blue);background:#3b82f626}.stat-icon.green{color:var(--accent-green);background:#10b98126}.stat-icon.amber{color:var(--accent-amber);background:#f59e0b26}.stat-icon.red{color:var(--accent-red);background:#ef444426}.stat-icon.purple{color:var(--accent-purple);background:#8b5cf626}.stat-icon.cyan{color:var(--accent-cyan);background:#06b6d426}.stat-info{flex-direction:column;display:flex}.stat-value{font-size:1.5rem;font-weight:700;line-height:1.1}.stat-label{color:var(--text-muted);margin-top:.15rem;font-size:.78rem}.chart-section h3{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;font-weight:600}.table-wrapper{overflow-x:auto}.actions-cell{flex-wrap:wrap;gap:.5rem;display:flex}.modal-header-row{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.modal-header-row h2{margin:0}.modal-content .input-group{margin-bottom:1rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.bin-card,.area-card,.light-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);padding:1.25rem}.bin-card:hover,.area-card:hover,.light-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.item-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.item-header h4{font-size:.95rem;font-weight:600}.item-details{color:var(--text-secondary);flex-direction:column;gap:.4rem;font-size:.82rem;display:flex}.item-details span{align-items:center;gap:.4rem;display:flex}.item-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.fill-bar{background:#ffffff0f;border-radius:3px;height:6px;margin:.5rem 0;overflow:hidden}.fill-bar-inner{border-radius:3px;height:100%;transition:width .5s}.incident-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);padding:1.25rem;position:relative}.incident-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md)}.incident-card.priority-critical{border-left:3px solid var(--accent-red)}.incident-card.priority-high{border-left:3px solid #f97316}.incident-card.priority-medium{border-left:3px solid var(--accent-amber)}.incident-card.priority-low{border-left:3px solid var(--accent-green)}.incident-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.incident-header h4{font-size:.95rem;font-weight:600}.incident-meta{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;display:flex}.incident-description{color:var(--text-muted);margin-bottom:.75rem;font-size:.82rem}@media (width<=768px){.grid-4{grid-template-columns:repeat(2,1fr)}.actions-cell{flex-direction:column}}.iot-page .page-header{align-items:flex-start}.iot-console{padding:1.25rem}.iot-console-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.iot-console-header h3,.iot-card-title{color:var(--text-primary);margin:0}.iot-console-header p{color:var(--text-muted);margin:.25rem 0 0;font-size:.86rem}.iot-form{gap:.9rem 1rem}.iot-form-actions{grid-column:1/-1;justify-content:flex-start;display:flex}.iot-message{color:var(--text-secondary);background:#3b82f614;border:1px solid #3b82f62e;border-radius:10px;margin-top:.9rem;padding:.75rem .9rem;font-size:.85rem}.iot-feed-card{padding:1rem}.iot-card-title{align-items:center;gap:.45rem;margin-bottom:.8rem;font-size:.9rem;font-weight:600;display:inline-flex}.iot-feed-list{flex-direction:column;gap:.6rem;display:flex}.iot-feed-item{border:1px solid var(--border-color);background:#ffffff08;border-radius:12px;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;display:flex}.iot-feed-item strong{color:var(--text-primary);font-size:.84rem;display:block}.iot-feed-item p,.iot-feed-item span{color:var(--text-muted);margin:.2rem 0 0;font-size:.76rem}.iot-type-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.iot-type-item{border:1px solid var(--border-color);background:#ffffff08;border-radius:12px;padding:.85rem}.iot-type-item span,.iot-type-item small{color:var(--text-muted);font-size:.76rem;display:block}.iot-type-item strong{color:var(--text-primary);margin:.25rem 0;font-size:1rem;display:block}.iot-device-grid{margin-top:1rem}.iot-device-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);padding:1rem}.iot-device-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.iot-device-card.online{box-shadow:0 0 0 1px #10b9811f}.iot-device-card.warning{box-shadow:0 0 0 1px #f59e0b1f}.iot-device-card.error{box-shadow:0 0 0 1px #ef44441f}.iot-device-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.iot-device-top h4{margin:0;font-size:.96rem}.iot-device-top p{color:var(--text-muted);margin:.15rem 0 0;font-size:.74rem}.iot-status{text-transform:capitalize;border:1px solid #0000;border-radius:999px;padding:.25rem .55rem;font-size:.72rem}.iot-status.online{color:var(--accent-green);background:#10b9811f;border-color:#10b98138}.iot-status.offline{color:var(--text-muted);background:#94a3b81f;border-color:#94a3b838}.iot-status.warning{color:var(--accent-amber);background:#f59e0b1f;border-color:#f59e0b38}.iot-status.error{color:var(--accent-red);background:#ef44441f;border-color:#ef444438}.iot-device-meta{color:var(--text-secondary);flex-direction:column;gap:.35rem;margin:.8rem 0;font-size:.78rem;display:flex}.iot-device-meta span{align-items:center;gap:.35rem;display:inline-flex}.iot-telemetry-box{border:1px solid var(--border-color);background:#ffffff08;border-radius:12px;padding:.7rem}.iot-telemetry-box span{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:.25rem;font-size:.72rem;display:block}.iot-telemetry-box p{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.5}.iot-key-row{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.75rem;margin:.75rem 0 .9rem;font-size:.74rem;display:flex}.iot-empty{border:1px dashed var(--border-color);color:var(--text-muted);border-radius:12px;padding:.8rem;font-size:.82rem}@media (width<=900px){.iot-console-header,.iot-key-row,.iot-feed-item,.iot-device-top{flex-direction:column;align-items:flex-start}.iot-type-list{grid-template-columns:1fr}}.alerts-detail-list{flex-direction:column;gap:.5rem;display:flex}.alert-detail-item{border-radius:var(--radius-sm);background:var(--bg-surface);transition:var(--transition);border-left:3px solid #0000;gap:.75rem;padding:1rem;display:flex}.alert-detail-item.unread{border-left-color:var(--accent-blue);background:#3b82f60d}.alert-detail-item:hover{background:var(--bg-card-hover)}.alert-icon-wrap{flex-shrink:0;margin-top:.15rem}.alert-detail-body{flex:1;min-width:0}.alert-detail-top{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.3rem;display:flex}.alert-detail-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.alert-detail-badges{flex-shrink:0;gap:.35rem;display:flex}.alert-detail-msg{color:var(--text-muted);margin-bottom:.5rem;font-size:.82rem;line-height:1.4}.alert-detail-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.alert-detail-actions{gap:.35rem;display:flex}.ai-insights-panel{margin-bottom:1.5rem;animation:.5s ease-out fadeIn}.ai-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.ai-header-left{align-items:center;gap:.75rem;display:flex}.ai-header-icon{color:#a78bfa;background:linear-gradient(135deg,#8b5cf633,#3b82f633);border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.ai-header h3{background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.15rem;font-weight:700}.ai-header p{color:var(--text-muted);font-size:.8rem}.ai-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.ai-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all .3s;overflow:hidden}.ai-card:hover{border-color:#8b5cf633;box-shadow:0 4px 20px #8b5cf614}.ai-card-header{border-bottom:1px solid var(--border-color);color:var(--text-secondary);background:#ffffff05;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-size:.85rem;font-weight:600;display:flex}.ai-card-body{padding:1.25rem}.spike-indicator{border-radius:10px;align-items:center;gap:.6rem;margin-bottom:.75rem;padding:.6rem 1rem;font-size:.85rem;font-weight:700;display:flex}.spike-high{color:#ef4444;background:#ef44441a}.spike-medium{color:#f59e0b;background:#f59e0b1a}.spike-low{color:#10b981;background:#10b9811a}.ai-spike-card.spike-high{border-color:#ef444433}.ai-insight-text{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.operator-load-list{flex-direction:column;gap:.6rem;display:flex}.op-load-item{grid-template-columns:100px 1fr 80px;align-items:center;gap:.75rem;display:grid}.op-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.op-load-bar-wrap{background:#ffffff0d;border-radius:4px;height:8px;overflow:hidden}.op-load-bar{border-radius:4px;height:100%;transition:width 1s}.op-resolved{color:var(--text-muted);text-align:right;font-size:.75rem}.ai-warning-box{color:#ef4444;background:#ef444414;border-radius:8px;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.ai-empty{color:var(--text-muted);text-align:center;padding:1rem;font-size:.85rem}.anomaly-list{flex-direction:column;gap:.6rem;display:flex}.anomaly-item{color:var(--text-secondary);border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.83rem;display:flex}.anomaly-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.anomaly-critical{background:#ef44440f}.anomaly-critical .anomaly-dot{background:#ef4444;animation:1.5s infinite pulse-badge}.anomaly-warning{background:#f59e0b0f}.anomaly-warning .anomaly-dot{background:#f59e0b}.anomaly-normal{background:#10b9810f}.anomaly-normal .anomaly-dot{background:#10b981}.recommendation-item{color:var(--text-secondary);border-bottom:1px solid var(--border-color);align-items:flex-start;gap:.6rem;padding:.55rem 0;font-size:.85rem;display:flex}.recommendation-item:last-child{border-bottom:none}.recommendation-item svg{color:#8b5cf6;flex-shrink:0;margin-top:2px}@media (width<=768px){.ai-grid{grid-template-columns:1fr}}.complaint-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition);padding:1.25rem;position:relative}.complaint-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.overdue-card{background:#ef44440a!important;border-color:#ef444440!important}.complaint-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.complaint-header h4{font-size:.95rem;font-weight:600;line-height:1.3}.complaint-status-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.complaint-desc{color:var(--text-muted);-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;margin-bottom:.75rem;font-size:.82rem;line-height:1.45;display:-webkit-box;overflow:hidden}.complaint-image-wrap{border:1px solid var(--border-color);background:var(--bg-surface);border-radius:10px;max-height:190px;margin:.6rem 0 .7rem;position:relative;overflow:hidden}.complaint-image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;min-height:120px;max-height:190px;display:block}.complaint-image-chip{color:#e2e8f0;background:#0f172ab8;border:1px solid #94a3b840;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex;position:absolute;top:.5rem;right:.5rem}.upload-input-wrap{border:1px dashed var(--border-light);border-radius:var(--radius-sm);background:var(--bg-surface);padding:.25rem}.upload-file-name{color:var(--text-muted);margin-top:.35rem;font-size:.75rem;display:block}.upload-preview-wrap{border-radius:8px;max-height:180px;margin-top:.6rem;overflow:hidden}.upload-preview-image{-o-object-fit:cover;object-fit:cover;border-radius:8px;width:100%;max-height:180px}.input-error{box-shadow:0 0 0 2px #ef444426;border-color:#ef4444!important}.field-error{color:#ef4444;margin-top:.35rem;font-size:.75rem;font-weight:500;display:block}.remarks-section{border-top:1px solid var(--border-color);margin-top:.5rem;padding-top:.5rem}.remarks-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:.35rem;font-size:.72rem;font-weight:600;display:block}.remark-item{color:var(--text-secondary);border-bottom:1px solid #ffffff08;padding:.35rem 0;font-size:.8rem}.remark-item strong{color:var(--text-primary)}.remark-time{color:var(--text-muted);margin-top:.15rem;font-size:.7rem;display:block}.suggestions-box{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem}.suggestions-title{color:var(--text-secondary);margin-bottom:.5rem;font-size:.78rem;font-weight:600;display:block}.suggestion-item{text-align:left;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;transition:var(--transition);margin-bottom:.3rem;padding:.5rem .75rem;font-size:.82rem;display:block}.suggestion-item:hover{border-color:var(--accent-blue);background:#3b82f60f}.suggestion-item.selected{border-color:var(--accent-blue);box-shadow:0 0 0 2px var(--accent-blue-glow);background:#3b82f61f}.suggestion-item strong{color:var(--accent-blue)}.charts-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}@media (width<=1200px){.charts-grid{grid-template-columns:repeat(2,1fr)}.grid-5{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.charts-grid{grid-template-columns:1fr}.grid-5{grid-template-columns:repeat(2,1fr)}}.assistant-page{max-width:1280px}.assistant-layout{grid-template-columns:2fr 1fr;gap:1rem;display:grid}.assistant-chat-card{flex-direction:column;min-height:72vh;padding:0;display:flex}.assistant-chat-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.assistant-badge{color:var(--text-primary);align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.assistant-status{color:#10b981;background:#10b9811f;border:1px solid #10b9814d;border-radius:999px;padding:.2rem .55rem;font-size:.8rem}.assistant-messages{flex-direction:column;flex:1;gap:.8rem;padding:1rem;display:flex;overflow-y:auto}.assistant-message-row{align-items:flex-start;gap:.6rem;display:flex}.assistant-message-row.user{flex-direction:row-reverse}.assistant-avatar{border:1px solid var(--border-color);background:var(--bg-card-light);width:30px;min-width:30px;height:30px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex}.assistant-bubble{background:var(--bg-card-light);border:1px solid var(--border-color);max-width:78%;color:var(--text-primary);white-space:pre-wrap;border-radius:12px;padding:.72rem .8rem;font-size:.9rem;line-height:1.45}.assistant-message-row.user .assistant-bubble{background:#3b82f626;border-color:#3b82f666}.assistant-bubble.typing{opacity:.7;font-style:italic}.assistant-input{border-top:1px solid var(--border-color);gap:.75rem;padding:1rem;display:flex}.assistant-input textarea{resize:none;flex:1}.assistant-side{padding:1.2rem}.assistant-side h3{margin-bottom:.85rem;font-size:.95rem}.prompt-list{flex-direction:column;gap:.55rem;display:flex}.prompt-chip{text-align:left;background:var(--bg-card-light);width:100%;color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition);border-radius:10px;padding:.6rem .7rem;font-size:.82rem}.prompt-chip:hover:not(:disabled){border-color:var(--accent-blue);transform:translateY(-1px)}.prompt-chip:disabled{opacity:.6;cursor:not-allowed}.assistant-tip{color:var(--text-secondary);background:#0ea5e914;border:1px solid #0ea5e940;border-radius:10px;margin-top:1rem;padding:.8rem;font-size:.82rem}@media (width<=1024px){.assistant-layout{grid-template-columns:1fr}.assistant-chat-card{min-height:65vh}}.announcements-page{max-width:1200px}.announcement-form-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:2rem;padding:1.5rem}.announcement-form-container h3{color:var(--text-primary);margin-top:0;margin-bottom:1.5rem;font-size:1.1rem}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;color:var(--text-primary);padding:.75rem;font-family:inherit;font-size:.95rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:100px}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.zones-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:auto;margin:0}.checkbox-label span{color:var(--text-secondary);font-size:.95rem}.form-actions{gap:1rem;margin-top:1.5rem;display:flex}.announcements-grid{grid-template-columns:1fr;gap:1rem;display:grid}.announcement-wrapper{position:relative}.announcement-actions{border-top:1px solid var(--border-color);background:var(--bg-surface);border-radius:0 0 8px 8px;justify-content:flex-end;gap:.5rem;padding:.5rem 1rem;display:flex}.btn-danger{color:#fff;background:#f44336}.btn-danger:hover{background:#d32f2f}.btn-success{color:#fff;background:#4caf50}.btn-success:hover{background:#45a049}.btn-success:disabled{cursor:not-allowed;background:#a5d6a7}@media (width<=768px){.form-row{grid-template-columns:1fr}.zones-grid{grid-template-columns:repeat(2,1fr)}.form-actions{flex-direction:column}}.citizen-announcements-page{max-width:1000px}.announcements-count{margin-bottom:1.5rem}.announcements-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem;display:grid}.announcements-grid>div{cursor:pointer;transition:transform .2s}.announcements-grid>div:hover{transform:translate(4px)}.empty-state{text-align:center;background:var(--bg-card);border-radius:var(--radius-lg);color:var(--text-secondary);flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.empty-state svg{color:var(--text-muted);opacity:.5;margin-bottom:1rem}.empty-state h3{color:var(--text-primary);margin:0;font-size:1.2rem}.empty-state p{margin:.25rem 0;font-size:.95rem}.empty-state-hint{color:var(--text-muted);font-size:.85rem;font-style:italic}.priority-legend{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.priority-legend h4{color:var(--text-primary);margin-top:0;margin-bottom:1rem;font-size:1rem}.legend-items{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.legend-item{background:var(--bg-surface);border-radius:var(--radius-sm);align-items:center;gap:.75rem;padding:.75rem;display:flex}.priority-dot{border-radius:50%;flex-shrink:0;width:16px;height:16px}.priority-dot.critical{background:#8b0000}.priority-dot.high{background:#f44336}.priority-dot.medium{background:#ff9800}.priority-dot.low{background:#4caf50}.legend-item span:last-child{color:var(--text-secondary);font-size:.9rem}@media (width<=768px){.announcements-count{margin-bottom:1rem}.legend-items{grid-template-columns:1fr}.empty-state{padding:2rem 1.5rem}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.absolute{position:absolute}.relative{position:relative}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.border{border-width:1px}.capitalize{text-transform:capitalize}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:#1a1f35;--bg-card-hover:#1f2545;--bg-surface:#151b2e;--bg-input:#1e2440;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-blue:#3b82f6;--accent-blue-glow:#3b82f64d;--accent-cyan:#06b6d4;--accent-cyan-glow:#06b6d44d;--accent-green:#10b981;--accent-green-glow:#10b9814d;--accent-amber:#f59e0b;--accent-amber-glow:#f59e0b4d;--accent-red:#ef4444;--accent-red-glow:#ef44444d;--accent-purple:#8b5cf6;--accent-purple-glow:#8b5cf64d;--accent-pink:#ec4899;--gradient-blue:linear-gradient(135deg, #3b82f6, #06b6d4);--gradient-green:linear-gradient(135deg, #10b981, #06b6d4);--gradient-amber:linear-gradient(135deg, #f59e0b, #ef4444);--gradient-purple:linear-gradient(135deg, #8b5cf6, #ec4899);--gradient-red:linear-gradient(135deg, #ef4444, #f97316);--border-color:#ffffff0f;--border-light:#ffffff1a;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow-blue:0 0 20px #3b82f626;--shadow-glow-green:0 0 20px #10b98126;--shadow-glow-red:0 0 20px #ef444426;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--transition:all .25s cubic-bezier(.4, 0, .2, 1);--sidebar-width:260px;--sidebar-collapsed:72px}[data-theme=light]{--bg-primary:#f0f2f5;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#f8f9fc;--bg-surface:#f4f6fa;--bg-input:#f0f2f5;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--border-color:#00000014;--border-light:#0000001f;--shadow-sm:0 1px 4px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a;--shadow-glow-blue:0 0 16px #3b82f61f;--shadow-glow-green:0 0 16px #10b9811f;--shadow-glow-red:0 0 16px #ef44441f}[data-theme=light] ::-webkit-scrollbar-track{background:#f0f2f5}[data-theme=light] ::-webkit-scrollbar-thumb{background:#d1d5db}[data-theme=light] .login-card{background:#ffffffeb}[data-theme=light] .bg-orb-1,[data-theme=light] .bg-orb-2{opacity:.08}[data-theme=light] .bg-orb-3{opacity:.06}[data-theme=light] .grid-overlay{background-image:linear-gradient(#00000008 1px,#0000 1px),linear-gradient(90deg,#00000008 1px,#0000 1px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:15px}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}#root{min-height:100vh}a{color:inherit;text-decoration:none}input,button,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;background:0 0;border:none;outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-card);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);background:#1a1f35cc}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:var(--transition);padding:1.5rem}.card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md)}.btn{border-radius:var(--radius-sm);transition:var(--transition);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--gradient-blue);color:#fff}.btn-primary:hover{box-shadow:var(--shadow-glow-blue);transform:translateY(-1px)}.btn-danger{background:var(--gradient-red);color:#fff}.btn-danger:hover{box-shadow:var(--shadow-glow-red);transform:translateY(-1px)}.btn-success{background:var(--gradient-green);color:#fff}.btn-success:hover{box-shadow:var(--shadow-glow-green);transform:translateY(-1px)}.btn-outline{border:1px solid var(--border-light);color:var(--text-secondary);background:0 0}.btn-outline:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#3b82f614}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:100px;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-low,.badge-empty,.badge-resolved,.badge-green{color:var(--accent-green);background:#10b98126}.badge-medium,.badge-half,.badge-in-progress,.badge-yellow{color:var(--accent-amber);background:#f59e0b26}.badge-high,.badge-full,.badge-open,.badge-red{color:var(--accent-red);background:#ef444426}.badge-critical{color:#ff6b6b;background:#ef444440;animation:2s infinite pulse-badge}.input-group{flex-direction:column;gap:.4rem;display:flex}.input-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:500}.input-group input,.input-group select,.input-group textarea{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);transition:var(--transition);padding:.65rem .9rem}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow);outline:none}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding:.75rem 1rem;font-size:.75rem;font-weight:600}.data-table td{color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:.75rem 1rem;font-size:.875rem}.data-table tr:hover td{background:var(--bg-surface);color:var(--text-primary)}.loading-container{justify-content:center;align-items:center;min-height:200px;display:flex}.spinner{border:3px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-slide-in{animation:.4s ease-out forwards slideIn}.grid-2{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.grid-5{grid-template-columns:repeat(5,1fr);gap:1.25rem;display:grid}@media (width<=1200px){.grid-5{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid-5,.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}html{font-size:14px}}@media (width<=480px){.grid-5,.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1{background:var(--gradient-blue);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.65rem;font-weight:700}.page-header p{color:var(--text-muted);font-size:.9rem}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:90%;max-width:520px;max-height:85vh;padding:2rem;animation:.3s ease-out fadeIn;overflow-y:auto}.modal-content h2{margin-bottom:1.25rem;font-size:1.25rem;font-weight:600}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.filter-bar{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.filter-bar select{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:.5rem .9rem;font-size:.85rem}.filter-bar select:focus{border-color:var(--accent-blue);outline:none}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}.empty-state svg{opacity:.4;width:48px;height:48px;margin-bottom:1rem}.toast-container{z-index:9999;flex-direction:column;gap:.6rem;max-width:380px;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;align-items:center;gap:.6rem;padding:.85rem 1.25rem;font-size:.88rem;font-weight:500;animation:.35s cubic-bezier(.2,.8,.2,1) toastSlideIn;display:flex;box-shadow:0 8px 32px #0000004d}.toast-success{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.toast-error{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.toast-info{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d}.toast-warning{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.toast-icon{font-size:1.1rem;font-weight:700}.toast-message{color:var(--text-primary)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.priority-border-high{border-left:4px solid #ef4444!important}.priority-border-medium{border-left:4px solid #f59e0b!important}.priority-border-low{border-left:4px solid #10b981!important}.overdue-card{animation:2s ease-in-out infinite overdueGlow;border-color:#ef44444d!important;box-shadow:0 0 16px #ef44441f!important}@keyframes overdueGlow{0%,to{box-shadow:0 0 16px #ef44441a}50%{box-shadow:0 0 28px #ef444440}}@keyframes criticalPulse{0%,to{border-color:var(--border-color)}50%{border-color:#ef4444;box-shadow:0 0 20px #ef444426}}.badge-escalated{color:#ff6b6b;background:linear-gradient(135deg,#ef444433,#f59e0b33);font-weight:700;animation:1.5s infinite pulse-badge}.skeleton{background:linear-gradient(90deg, var(--bg-surface) 25%, var(--bg-card-hover) 50%, var(--bg-surface) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s linear infinite shimmer}.skeleton-card{border-radius:var(--radius-lg);height:120px}.skeleton-line{width:80%;height:14px;margin-bottom:.5rem}.skeleton-line.short{width:45%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.btn{position:relative;overflow:hidden}.btn:after{content:"";opacity:0;background:linear-gradient(#ffffff1a,#0000);transition:opacity .3s;position:absolute;inset:0}.btn:hover:after{opacity:1}.btn:active{transform:scale(.97)}.card{position:relative}.card:before{content:"";border-radius:inherit;opacity:0;z-index:-1;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);transition:opacity .3s;position:absolute;inset:-1px}.card:hover:before{opacity:1}.animate-fade-in{animation:.45s cubic-bezier(.2,.8,.2,1) forwards fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.spin-icon{animation:.8s linear infinite spin}.mb-1{margin-bottom:1.25rem}*{scrollbar-width:thin;scrollbar-color:var(--bg-card) transparent}.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table thead{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:.75rem 1rem;font-size:.78rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:.75rem 1rem}.data-table tbody tr:hover{background:var(--bg-card-hover)}.critical-blink{animation:2s ease-in-out infinite criticalPulse}.badge-critical{color:#ef4444;background:#ef444426}.badge-yellow{color:#f59e0b;background:#f59e0b26}.badge-blue{color:#3b82f6;background:#3b82f61f}.btn-danger{color:#fff;background:linear-gradient(135deg,#dc2626,#ef4444);border:none}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ef44444d}.btn-success{color:#fff;background:linear-gradient(135deg,#059669,#10b981);border:none}.btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 16px #10b9814d}.filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.filter-bar select,.filter-bar input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:.55rem .9rem;font-size:.85rem;transition:border-color .2s}.filter-bar select:focus,.filter-bar input:focus{border-color:var(--accent-blue);outline:none}.empty-state{text-align:center;color:var(--text-muted);padding:3rem;font-size:.95rem}.modal-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header h1{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.35rem;font-weight:700;display:flex}.page-header p{color:var(--text-muted);margin-top:.25rem;font-size:.85rem}.header-actions{align-items:center;gap:.5rem;display:flex}[data-theme=light] .glass{background:#ffffffd9}[data-theme=light] body{background:var(--bg-primary)}[data-theme=light] .toast{box-shadow:0 8px 32px #0000001a}[data-theme=light] .toast-message{color:var(--text-primary)}[data-theme=light] .modal-overlay{background:#0006}[data-theme=light] .modal-content{box-shadow:0 20px 60px #00000026}[data-theme=light] .sidebar{background:#fff;border-right-color:#00000014}[data-theme=light] .sidebar-header{border-bottom-color:#0000000f}[data-theme=light] .sidebar-footer{border-top-color:#0000000f}[data-theme=light] .nav-item:hover{background:#f1f5f9}[data-theme=light] .nav-item.active{background:#3b82f614}[data-theme=light] .collapse-btn:hover{background:#f1f5f9}[data-theme=light] .main-content{background:var(--bg-primary)}[data-theme=light] .recharts-tooltip-wrapper .recharts-default-tooltip{color:#1e293b!important;background:#fff!important;border:1px solid #0000001a!important}[data-theme=light] .recharts-cartesian-grid line{stroke:#00000014!important}[data-theme=light] .recharts-cartesian-axis-tick-value,[data-theme=light] .recharts-text{fill:#475569!important}[data-theme=light] .pie-legend{color:#475569}[data-theme=light] .stat-card{background:var(--bg-card);box-shadow:var(--shadow-sm)}[data-theme=light] .stat-icon{opacity:.9}[data-theme=light] .card:before{background:linear-gradient(135deg,#3b82f60a,#8b5cf60a)}[data-theme=light] .btn-outline{color:var(--text-secondary);border-color:#0000001f}[data-theme=light] .btn-outline:hover{border-color:var(--accent-blue);background:#3b82f60d}[data-theme=light] .overdue-card{background:#ef44440a!important}[data-theme=light] .data-table thead{background:#f8f9fc}[data-theme=light] .data-table tbody tr:hover{background:#f1f5f9}[data-theme=light] .page-header h1{background:0 0;-webkit-background-clip:unset;-webkit-text-fill-color:#1e293b;color:#1e293b}[data-theme=light] .skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%) 0 0/200% 100%}[data-theme=light] select,[data-theme=light] .filter-bar select{color:#1e293b;background:#fff;border-color:#0000001f}[data-theme=light] .chart-section,[data-theme=light] .complaint-card{background:var(--bg-card)}[data-theme=light] .leaflet-popup-content-wrapper{color:#1e293b;background:#fff;box-shadow:0 4px 20px #0000001a}[data-theme=light] .leaflet-popup-tip{background:#fff}
