:root{font-family:Montserrat,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#e2e8f0;background-color:#0d1117;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary: #60a5fa;--primary-hover: #3b82f6;--bg-card: rgba(22, 32, 54, .82);--bg-card-hover: rgba(28, 42, 70, .95);--border-color: rgba(148, 163, 184, .14);--text-main: #e2e8f0;--text-muted: #94a3b8;--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .2);--shadow-md: 0 4px 20px -4px rgb(0 0 0 / .4), 0 2px 8px -2px rgb(0 0 0 / .25)}a{font-weight:500;color:var(--primary);text-decoration:inherit;transition:color .3s}a:hover{color:var(--primary-hover)}body{margin:0;display:block;min-width:320px;min-height:100vh;background-color:#0d1117;background-image:radial-gradient(ellipse 70% 55% at 12% 8%,rgba(96,165,250,.13) 0%,transparent 60%),radial-gradient(ellipse 55% 45% at 88% 88%,rgba(167,139,250,.1) 0%,transparent 55%),radial-gradient(ellipse 40% 35% at 50% 50%,rgba(52,211,153,.04) 0%,transparent 60%);background-attachment:fixed}.mesh-background{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(203,213,225,.08) 1.2px,transparent 1.2px),linear-gradient(90deg,rgba(203,213,225,.08) 1.2px,transparent 1.2px);background-size:50px 50px;opacity:.7;mask-image:radial-gradient(circle 350px at var(--mouse-x, -1000px) var(--mouse-y, -1000px),white 0%,transparent 100%);-webkit-mask-image:radial-gradient(circle 350px at var(--mouse-x, -1000px) var(--mouse-y, -1000px),white 0%,transparent 100%);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}#root{width:100%;max-width:1400px;margin:0 auto}h1,h2,h3,h4,h5,h6{color:var(--text-main);letter-spacing:-.025em;font-family:Outfit,sans-serif;font-weight:600}h1{font-size:2.5rem;margin-bottom:2rem;font-weight:600}.dashboard-container{padding:2.5rem 2rem;animation:fadeIn .6s ease-out both;position:relative;z-index:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a 37%,#ffffff0d 63%);background-size:400% 100%;animation:skeleton-loading 1.4s ease infinite;border-radius:4px;height:1.25rem;width:100%;display:inline-block}.skeleton-text{height:1rem;margin-bottom:.5rem}.skeleton-tag{height:1.5rem;width:60px;display:inline-block;border-radius:12px}.skeleton-badge{height:1.5rem;width:1.5rem;display:inline-block;border-radius:4px}.card{background:var(--bg-card);backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border:1px solid rgba(148,163,184,.18);border-top:1px solid rgba(255,255,255,.22);border-radius:16px;padding:1.5rem;transition:all .35s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md),inset 0 1px #ffffff1a}.card:hover{background:var(--bg-card-hover);border-color:#94a3b84d;transform:translateY(-3px);box-shadow:0 12px 40px -6px #00000073,0 4px 12px -2px #00000040,inset 0 1px #ffffff1f}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2.5rem}.kpi-grid .card:nth-child(1){animation:slideUp .5s .05s ease-out both}.kpi-grid .card:nth-child(2){animation:slideUp .5s .12s ease-out both}.kpi-grid .card:nth-child(3){animation:slideUp .5s .19s ease-out both}.kpi-grid .card:nth-child(4){animation:slideUp .5s .26s ease-out both}.kpi-card{display:flex;flex-direction:column;position:relative;overflow:hidden;border-left:3px solid var(--primary);padding:1.5rem 1.75rem 1.75rem;gap:.25rem}.kpi-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;border-radius:0 0 16px 16px;opacity:0;transition:opacity .4s ease}.kpi-card:hover:after{opacity:1}.kpi-card.blue{border-left-color:#60a5fa;background:linear-gradient(145deg,#60a5fa38,#3b82f61a)}.kpi-card.blue:after{background:linear-gradient(90deg,transparent,#60a5fa 50%,transparent)}.kpi-card.blue:hover{box-shadow:0 8px 36px -4px #60a5fa66,inset 0 1px #ffffff1f;border-color:#60a5fa66}.kpi-card.yellow{border-left-color:#fb7185;background:linear-gradient(145deg,#fb718538,#f43f5e1a)}.kpi-card.yellow:after{background:linear-gradient(90deg,transparent,#fb7185 50%,transparent)}.kpi-card.yellow:hover{box-shadow:0 8px 36px -4px #fb718566,inset 0 1px #ffffff1f;border-color:#fb718566}.kpi-card.green{border-left-color:#34d399;background:linear-gradient(145deg,#34d39938,#10b9811a)}.kpi-card.green:after{background:linear-gradient(90deg,transparent,#34d399 50%,transparent)}.kpi-card.green:hover{box-shadow:0 8px 36px -4px #34d39966,inset 0 1px #ffffff1f;border-color:#34d39966}.kpi-card.purple{border-left-color:#22d3ee;background:linear-gradient(145deg,#22d3ee38,#06b6d41a)}.kpi-card.purple:after{background:linear-gradient(90deg,transparent,#22d3ee 50%,transparent)}.kpi-card.purple:hover{box-shadow:0 8px 36px -4px #22d3ee66,inset 0 1px #ffffff1f;border-color:#22d3ee66}.kpi-icon{position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);font-size:3.75rem;opacity:.12;pointer-events:none;transition:all .4s ease}.kpi-card:hover .kpi-icon{opacity:.22;transform:translateY(-50%) scale(1.15) rotate(-6deg)}.kpi-label{color:var(--text-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem}.kpi-value{color:var(--text-main);font-size:2.25rem;font-weight:700;font-family:Outfit,sans-serif;line-height:1.1}.kpi-sub{font-size:.78rem;color:var(--text-muted);margin-top:.4rem;opacity:.8}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:1.5rem;margin-bottom:2.5rem}@media(max-width:640px){.chart-grid{grid-template-columns:1fr}}.chart-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.chart-header-icon{font-size:1.5rem;line-height:1;margin-top:2px;filter:saturate(.85)}.chart-header-text h3{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;color:var(--text-main)}.chart-header-text p{margin:0;font-size:.8rem;color:var(--text-muted);line-height:1.4}.section-divider{display:flex;align-items:center;gap:1rem;margin:2rem 0 1.75rem}.section-divider-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.section-divider-line{flex:1;height:1px;background:linear-gradient(90deg,var(--border-color),transparent)}.range-badge{font-size:.65rem;padding:.15rem .6rem;background:#60a5fa1a;border:1px solid rgba(96,165,250,.2);color:#60a5fa;border-radius:20px;margin-left:.75rem;font-weight:600;vertical-align:middle;text-transform:none;letter-spacing:normal}.dashboard-hero{margin-bottom:2.5rem;padding-bottom:1.75rem;border-bottom:1px solid var(--border-color)}.hero-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.hero-brand{display:flex;align-items:center;gap:1.25rem}.hero-brand img{width:64px;height:auto;filter:drop-shadow(0 2px 8px rgba(96,165,250,.3))}.hero-brand-divider{width:1px;height:48px;background:linear-gradient(to bottom,transparent,var(--border-color) 40%,var(--border-color) 60%,transparent)}.hero-title{margin:0 0 .2rem!important;font-size:1.85rem!important;font-weight:700!important;background:linear-gradient(135deg,#e2e8f0 30%,#60a5fa 80%,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.hero-subtitle{margin:0;font-size:.8rem;color:var(--text-muted);font-family:Montserrat,sans-serif;letter-spacing:.02em}.live-badge{display:inline-flex;align-items:center;gap:.4rem;background:#34d3991f;border:1px solid rgba(52,211,153,.25);color:#34d399;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .75rem;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.live-dot{width:7px;height:7px;border-radius:50%;background:#34d399;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #34d39966}50%{opacity:.7;box-shadow:0 0 0 5px #34d39900}}.hero-description{color:var(--text-muted);font-size:.875rem;margin:0;max-width:680px;line-height:1.7}.table-container{overflow-x:auto;margin-top:2rem}table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem}th{background:#0f172a66;text-align:left;padding:1rem;color:#94a3b8;font-weight:600;letter-spacing:.03em;font-size:.8rem;text-transform:uppercase;border-bottom:1px solid var(--border-color)}td{padding:1rem;border-bottom:1px solid rgba(203,213,225,.07);color:var(--text-main)}tr:hover td{background:#94a3b80f}.pagination-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.875rem}.pagination-btn:hover:not(:disabled){background:var(--primary);border-color:var(--primary);transform:translateY(-1px)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.logo-container{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.logo-placeholder{font-weight:600;font-size:1.5rem;color:var(--primary);letter-spacing:2px;border:2px solid var(--primary);padding:4px 12px;border-radius:8px;font-family:Outfit,sans-serif}.status-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;font-size:.7rem;font-weight:700;color:#fff}.status-badge.complaint{background:#f59e0b}.status-badge.settlement{background:#10b981}.status-badge.judgment{background:#3b82f6}.status-badge.withdrawal{background:#ef4444}.status-badge.pending{background:var(--text-muted);opacity:.5}.chemical-tag{background:#3b82f61a;color:var(--primary);padding:2px 8px;border-radius:4px;font-size:.75rem}@media(prefers-color-scheme:light){:root{background-color:#f1f5f9;color:#334155;--primary: #3b82f6;--primary-hover: #2563eb;--bg-card: rgba(255, 255, 255, .85);--bg-card-hover: #f8fafc;--text-main: #1e293b;--text-muted: #64748b;--border-color: #e2e8f0;--shadow-md: 0 4px 12px -2px rgb(51 65 85 / .1), 0 2px 6px -2px rgb(51 65 85 / .08)}body{background-color:#f1f5f9}th{background:#f8fafc;color:#475569}tr:hover td{background:#6366f10a}}.hamburger-btn{position:fixed;top:2rem;right:2rem;z-index:1000;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;cursor:pointer;display:flex;flex-direction:column;gap:6px;width:48px;height:44px;justify-content:center;align-items:center;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hamburger-btn:hover{background:var(--bg-card-hover);border-color:var(--primary);transform:scale(1.05)}.hamburger-btn .bar{width:24px;height:2px;background-color:var(--text-main);transition:all .3s ease;border-radius:2px}.hamburger-btn.open .bar:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger-btn.open .bar:nth-child(2){opacity:0}.hamburger-btn.open .bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.sidebar{position:fixed;top:0;right:0;width:25%;height:100%;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:1px solid var(--border-color);z-index:999;transform:translate(100%);visibility:hidden;transition:transform .4s cubic-bezier(.4,0,.2,1),visibility .4s;padding:6rem 2rem 2rem;box-shadow:-10px 0 30px #0000004d}.sidebar.open{transform:translate(0);visibility:visible}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:998;animation:fadeIn .3s ease-out}.sidebar-header{margin-bottom:3rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.sidebar-header h2{font-size:1.5rem;margin:0;color:var(--primary)}.sidebar-nav{display:flex;flex-direction:column;gap:1rem}.nav-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;color:var(--text-main);text-decoration:none;transition:all .2s ease;background:#ffffff05;border:1px solid transparent}.nav-item:hover{background:#3b82f61a;border-color:#3b82f633;color:var(--primary);transform:translate(-5px)}.nav-item.active{background:#3b82f633;border-color:var(--primary);color:var(--primary);font-weight:600}.nav-icon{font-size:1.25rem}@media(max-width:1024px){.sidebar{width:40%}}@media(max-width:640px){.sidebar{width:80%}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-card{width:100%;max-width:420px;padding:3rem 2.5rem;display:flex;flex-direction:column;gap:2rem;animation:slideUp .8s cubic-bezier(.2,.8,.2,1) both}.login-header{text-align:center}.login-logo{width:80px;height:auto;margin-bottom:1.5rem;filter:drop-shadow(0 4px 12px rgba(96,165,250,.4))}.login-title{font-size:1.75rem;margin:0 0 .5rem;font-weight:700;background:linear-gradient(135deg,#e2e8f0 30%,#60a5fa 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-subtitle{color:var(--text-muted);font-size:.9rem;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding-left:.25rem}.form-input{background:#0d111799;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:.8rem 1rem;color:var(--text-main);font-size:.95rem;transition:all .3s ease;outline:none}.form-input:focus{border-color:var(--primary);background:#0d1117cc;box-shadow:0 0 0 4px #60a5fa1a}.login-btn{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff;border:none;border-radius:12px;padding:.9rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px -4px #3b82f680;filter:brightness(1.1)}.login-btn:active{transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{background:#f871711a;border:1px solid rgba(248,113,113,.2);color:#f87171;padding:.75rem 1rem;border-radius:10px;font-size:.85rem;text-align:center;animation:fadeIn .3s ease}.loader-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
