:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body,#root{width:100%;min-height:100vh;overflow-x:hidden}.app-container{width:100%;min-height:100vh;color:var(--text-primary);text-shadow:none}:root{--primary: #3b82f6;--primary-dark: #2563eb;--primary-light: #dbeafe;--primary-lighter: #eff6ff;--success: #059669;--success-light: #d1fae5;--purple: #7c3aed;--purple-light: #ede9fe;--orange: #f59e0b;--orange-light: #fef3c7;--danger: #dc2626;--danger-light: #fee2e2;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--white: #ffffff;--radius: 18px;--radius-sm: 14px;--radius-lg: 26px;--shadow-sm: 0 2px 6px 0 rgba(15, 23, 42, .06);--shadow: 0 10px 28px -16px rgba(15, 23, 42, .18);--shadow-md: 0 14px 38px -18px rgba(15, 23, 42, .22);--shadow-lg: 0 18px 48px -20px rgba(15, 23, 42, .28);--shadow-xl: 0 26px 70px -30px rgba(15, 23, 42, .32)}.tooltip-wrapper{position:relative;display:inline-block;cursor:help}.tooltip-text{visibility:hidden;background-color:var(--gray-900);color:#fff;text-align:center;padding:8px 12px;border-radius:8px;position:absolute;z-index:1001;bottom:125%;left:50%;margin-left:-60px;width:120px;opacity:0;transition:opacity .3s;font-size:.75rem;font-weight:600;line-height:1.3;pointer-events:none;box-shadow:var(--shadow-lg)}.tooltip-wrapper:hover .tooltip-text{visibility:visible;opacity:1}.toast{position:fixed;bottom:24px;right:24px;padding:14px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out;z-index:9999;max-width:380px}.toast-success{background:linear-gradient(135deg,var(--success-light) 0%,#a7f3d0 100%);color:var(--success);border:1px solid var(--success)}.toast-error{background:linear-gradient(135deg,var(--danger-light) 0%,#fecaca 100%);color:var(--danger);border:1px solid var(--danger)}.toast-info{background:linear-gradient(135deg,var(--primary-lighter) 0%,#bfdbfe 100%);color:var(--primary);border:1px solid var(--primary)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(140% 120% at 15% 20%,rgba(59,130,246,.12),transparent 48%),radial-gradient(120% 120% at 85% 12%,rgba(124,58,237,.08),transparent 42%),linear-gradient(135deg,#f7fbff,#eaf3fb);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#loadingOverlay{position:fixed;inset:0;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center}.spinner{width:60px;height:60px;border:6px solid rgba(37,99,235,.1);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 4px 12px #2563eb33}@keyframes spin{to{transform:rotate(360deg)}}.app-header{background:linear-gradient(135deg,#fffffffa,#fffffff2);border-bottom:1px solid rgba(226,232,240,.6);padding:1.25rem 2rem;position:sticky;top:0;z-index:1000;-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);box-shadow:0 4px 20px #0000000a,0 1px 3px #00000005;transition:all .3s ease}.header-wrap{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1.5rem}.brand{display:flex;align-items:center;gap:14px;justify-self:start}.logo-square{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3rem;box-shadow:0 4px 12px #2563eb40;transition:transform .2s ease,box-shadow .2s ease}.logo-square:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2563eb59}.brand h1{font-size:1.2rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary)}.brand p{font-size:.8rem;color:var(--text-secondary);opacity:1;font-weight:500}.sync-indicator{display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding:10px 18px;background:linear-gradient(135deg,var(--primary-lighter) 0%,var(--white) 100%);border-radius:var(--radius-sm);border:1px solid rgba(37,99,235,.15);box-shadow:0 2px 8px #2563eb14;transition:all .3s ease}.sync-indicator:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb1f}.sync-status{font-size:.8rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.05em}.sync-time{font-size:.7rem;color:var(--gray-600);font-weight:600}.search-container{position:relative;justify-self:center;width:100%;max-width:480px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gray-600);pointer-events:none;font-size:.9rem}.search-container input{width:100%;padding:13px 16px 13px 44px;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-lg);background:linear-gradient(145deg,#fffffff2,#f8fafce6);color:var(--text-primary);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-sm),inset 0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1)}.search-container input::placeholder{color:var(--text-tertiary)}.search-container input:focus{border-color:var(--primary);background:var(--white);box-shadow:0 0 0 4px var(--primary-lighter),0 12px 30px -14px #2563eb59;transform:translateY(-1px)}.view-toggle{justify-self:end;display:flex;gap:6px}.view-btn{border:none;padding:10px 20px;border-radius:999px;cursor:pointer;font-weight:700;font-size:.85rem;color:var(--text-secondary);background:transparent;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.view-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--primary-lighter) 0%,var(--white) 100%);opacity:0;transition:opacity .2s ease}.view-btn:hover{color:var(--primary);transform:translateY(-1px)}.view-btn.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.view-btn.active:before{opacity:0}.main-content{width:100%;max-width:none;margin:2rem auto;padding:0 2rem;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:2rem}.content-area>*{margin-bottom:.5rem}.filter-card{background:linear-gradient(150deg,#fffffff5,#ffffffdb);padding:1.9rem;border-radius:calc(var(--radius-lg) - 6px);border:1px solid rgba(148,163,184,.25);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);transition:all .35s cubic-bezier(.4,0,.2,1)}.filter-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.filter-card label{color:var(--text-secondary);font-size:.85rem;letter-spacing:.05em;font-weight:700}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}select{width:100%;padding:13px 16px;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.22);background:linear-gradient(145deg,#fffffff5,#f8fafce6);color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}select:hover{border-color:var(--gray-300);box-shadow:0 4px 12px #0000000f}select:focus{border-color:var(--primary);background:var(--white);box-shadow:0 0 0 4px var(--primary-lighter),0 4px 12px #2563eb26;transform:translateY(-1px)}select option{background-color:var(--white);color:var(--gray-900)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.kpi-card{background:linear-gradient(155deg,#fffffff2,#ffffffe0);padding:1.9rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.22);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px) saturate(140%);backdrop-filter:blur(8px) saturate(140%);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:all .3s cubic-bezier(.4,0,.2,1)}.kpi-card:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;transition:width .3s ease}.kpi-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#e2e8f0cc}.kpi-card:hover:before{width:8px}.kpi-total:before{background:linear-gradient(180deg,#3b82f6,#2563eb)}.kpi-ambiente:before{background:linear-gradient(180deg,#059669,#047857)}.kpi-interaccion:before{background:linear-gradient(180deg,#7c3aed,#6d28d9)}.kpi-organizacion:before{background:linear-gradient(180deg,#f59e0b,#d97706)}.kpi-tendencia:before{background:linear-gradient(180deg,#3b82f6,#2563eb)}.kpi-critica:before{background:linear-gradient(180deg,#dc2626,#b91c1c)}.kpi-bajo:before{background:linear-gradient(180deg,#64748b,#475569)}.kpi-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.kpi-val{font-size:2.5rem;font-weight:800;line-height:1;color:var(--text-primary)}#kpi-dimension-critica{font-size:1.1rem;font-weight:600;line-height:1.3}.kpi-tendencia .kpi-val{color:var(--primary)}.kpi-critica .kpi-val{color:var(--danger)}.kpi-bajo .kpi-val{color:var(--text-secondary)}.kpi-card:hover,.chart-card:hover,.side-card:hover{transform:translateY(-1px);box-shadow:0 6px 14px -8px #0000001f}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.chart-card{background:linear-gradient(155deg,#fffffff5,#ffffffe6);padding:2.1rem;border-radius:calc(var(--radius-lg) + 2px);border:1px solid rgba(148,163,184,.22);height:420px;display:flex;flex-direction:column;transition:all .35s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(8px) saturate(150%);backdrop-filter:blur(8px) saturate(150%)}.chart-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--purple) 50%,var(--success) 100%);opacity:0;transition:opacity .3s ease}.chart-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:#e2e8f0cc}.chart-card:hover:after{opacity:1}.chart-card h3{font-size:1.05rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-primary);letter-spacing:-.02em}.chart-container{flex:1;position:relative}.indicators-card{background:linear-gradient(155deg,#fffffff5,#ffffffe6);padding:2.1rem;border-radius:calc(var(--radius-lg) + 2px);border:1px solid rgba(148,163,184,.22);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px) saturate(150%);backdrop-filter:blur(8px) saturate(150%);transition:all .3s ease}.indicators-card:hover{box-shadow:var(--shadow-lg)}.indicators-card h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.ind-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-top:1.5rem}.ind-item{padding:1.3rem;background:linear-gradient(145deg,#f8fafcf2,#ffffffe6);border-radius:calc(var(--radius-sm) + 2px);border:1px solid rgba(226,232,240,.6);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.ind-item:hover{transform:translate(4px);box-shadow:var(--shadow);border-color:#e2e8f0e6}.ind-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px}.ind-info span:first-child{max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;font-weight:600;color:var(--text-primary)}.ind-info span:last-child{font-size:1rem;font-weight:800;min-width:50px;text-align:right}.progress-track{height:10px;background:var(--gray-200);border-radius:10px;overflow:hidden;box-shadow:inset 0 1px 3px #00000014}.progress-fill{height:100%;border-radius:10px;transition:width 1.2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sidebar{position:sticky;top:96px;align-self:start}.side-card{background:linear-gradient(155deg,#fffffff5,#ffffffe6);padding:1.85rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.22);transition:all .35s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px) saturate(150%);backdrop-filter:blur(8px) saturate(150%);margin-bottom:1.5rem}.side-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#e2e8f0cc}.side-card h3{font-size:1rem;font-weight:700;margin-bottom:1.25rem;color:var(--text-primary);letter-spacing:-.02em}.meta-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(226,232,240,.6);font-size:.9rem;transition:all .2s ease}.meta-item:hover{padding-left:8px;background:linear-gradient(90deg,var(--primary-lighter) 0%,transparent 100%)}.meta-item:last-child{border-bottom:none}.meta-item b{color:var(--text-secondary);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.meta-item span{color:var(--text-primary);font-weight:600}.rank-item{display:flex;align-items:center;gap:14px;padding:12px;border-radius:var(--radius-sm);transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.rank-item:hover{background:linear-gradient(135deg,var(--primary-lighter) 0%,var(--white) 100%);border-color:#3b82f61a;transform:translate(4px)}.rank-item div:nth-child(2) div:first-child{color:var(--text-primary);font-weight:600}.rank-item div:nth-child(2) div:last-child{color:var(--text-tertiary)}.rank-item div:last-child{color:var(--primary)}.rank-badge{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--gray-100) 0%,var(--gray-200) 100%);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:var(--text-secondary);box-shadow:0 2px 4px #0000000f;transition:all .2s ease}.rank-top{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f;border:2px solid #fcd34d;box-shadow:0 4px 12px #f59e0b4d}.empty-state{text-align:center;color:var(--gray-600);font-size:.85rem;padding:40px 20px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#f8fafccc,#f1f5f980);border:1px solid rgba(226,232,240,.6);margin-top:1.5rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}[data-theme=dark]{--white: #020617;--gray-50: #020617;--gray-100: #020617;--gray-200: #1e293b;--gray-300: #334155;--gray-600: #94a3b8;--gray-700: #cbd5f5;--gray-900: #e5e7eb}@media(max-width:900px){.header-wrap{grid-template-columns:1fr;row-gap:1rem}.brand{justify-self:start}.search-container{justify-self:stretch;max-width:100%}.view-toggle{justify-self:start}}.logo-veritas{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1));transition:all .3s ease}.logo-veritas:hover{transform:scale(1.05) rotate(2deg);filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}*{text-shadow:none!important}
