@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*{box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:none}::-webkit-scrollbar{display:none}body{background-color:var(--bg-body);color:var(--text-main);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#002d720a 0,#0000 50%),radial-gradient(at 100% 0,#da291c08 0,#0000 50%),radial-gradient(at 100% 100%,#002d720d 0,#0000 50%),radial-gradient(at 0 100%,#3b82f60a 0,#0000 50%);background-attachment:fixed;min-height:100vh;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden auto}.bg-shape{z-index:-1;filter:blur(80px);opacity:.4;border-radius:50%;position:fixed}.shape-1{opacity:.8;background:linear-gradient(135deg,#002d721a,#3b82f61a);width:500px;height:500px;top:-150px;right:-150px}.shape-2{opacity:.8;background:linear-gradient(135deg,#002d7214,#94a3b81a);width:500px;height:500px;bottom:-150px;left:-150px}.shape-3{opacity:.8;background:linear-gradient(135deg,#da291c0f,#f871710a);width:300px;height:300px;top:40%;left:-100px}.app-layout{flex-direction:column;width:100%;min-height:100vh;display:flex}.main-content-area{flex:1;width:100%;margin:0 auto;padding:16px 14px 80px}@media (width>=768px){.app-layout{flex-direction:row}.main-content-area{padding:24px 32px}}:root{--primary-bank:#002d72;--accent-bank:#1e40af;--rojo-corporativo:#da291c;--text-main:#1e293b;--text-light:#fff;--text-muted:#64748b;--bg-body:#f8fafc;--radius-lg:20px;--radius-md:12px;--radius-sm:8px;--grad-primary:linear-gradient(135deg, #002d72, #1e40af);--grad-danger:linear-gradient(135deg, #da291c, #991b1b);--grad-light-blue:linear-gradient(135deg, #eff6ff, #dbeafe);--grad-light-red:linear-gradient(135deg, #fef2f2, #fee2e2);--grad-neutral:linear-gradient(135deg, #f8fafc, #f1f5f9);--glass-bg:#fffffff2;--glass-border:#002d721a;--glass-blur:blur(25px);--shadow-premium:0 15px 35px -5px #002d7214;--shadow-inner:inset 0 1px 0 0 #fff;--shadow-glow:0 0 30px #002d721a}html{font-size:13.5px}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium), var(--shadow-inner);margin-bottom:12px;padding:18px 20px;transition:all .4s cubic-bezier(.16,1,.3,1);animation:.6s ease-out fadeInScale}.glass-card:hover{box-shadow:0 20px 40px -10px #002d7226, var(--shadow-inner)}.glass-header{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium), var(--shadow-inner);justify-content:space-between;align-items:center;padding:14px 20px;animation:.8s cubic-bezier(.16,1,.3,1) slideDown;display:flex}.table-premium{border-collapse:separate;border-spacing:0 4px;width:100%;font-size:.82rem}.table-premium thead th{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);border-bottom:2px solid var(--glass-border);padding:6px 10px;font-size:.65rem;font-weight:800}.table-premium tbody tr{background:#f8fafc99;transition:all .2s}.table-premium tbody tr:hover{background:#002d720a;transform:translate(2px)}.table-premium td{color:var(--text-main);vertical-align:middle;padding:6px 10px;font-weight:600}.table-premium td:first-child{border-radius:10px 0 0 10px;font-weight:700}.table-premium td:last-child{border-radius:0 10px 10px 0}.table-premium .metric-val{color:var(--text-muted);font-weight:600}.table-premium .real-val{font-weight:800}.gauge-cell{justify-content:center;align-items:center;display:flex}.gauge-ring{width:38px;height:38px;position:relative}.gauge-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.gauge-ring .gauge-bg{fill:none;stroke:#e2e8f0;stroke-width:3px}.gauge-ring .gauge-fill{fill:none;stroke-width:3px;stroke-linecap:round;transition:stroke-dashoffset 1s ease-out}.gauge-ring .gauge-text{white-space:nowrap;font-size:.55rem;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.badge-premium{white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:3px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.badge-soft-success{color:#002d72;background:#eff6ff;border:1px solid #bfdbfe}.badge-soft-warning{color:#be123c;background:#fff1f2;border:1px solid #fecdd3}.badge-soft-danger{color:#da291c;background:#fef2f2;border:1px solid #fecaca}.badge-soft-neutral{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.sub-nav-wrapper{justify-content:center;gap:6px;width:100%;display:flex}.sub-nav-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:1px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:700;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.sub-nav-btn:hover{background:#e2e8f0}.sub-nav-btn.active{background:var(--primary-bank);color:#fff;box-shadow:0 4px 12px #002d7233}.ind-badge{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;transition:all .3s;position:relative;overflow:visible}.ind-badge-inner{align-items:center;gap:6px;padding:5px 12px;display:flex}.ind-badge-label{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-weight:600}.ind-badge-value{font-size:.75rem;font-weight:800}.ind-badge-detail{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:180px;margin-top:4px;padding:6px 12px;font-size:.7rem;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000001f}.ej-card{border-radius:var(--radius-lg);background:var(--glass-bg);box-shadow:var(--shadow-premium), var(--shadow-inner);border:1px solid #e2e8f0;margin-bottom:8px;padding:0;transition:all .3s;overflow:hidden}.ej-card.admin-card{border:2px solid #002d72}.ej-card-header{cursor:pointer;align-items:center;gap:8px;padding:10px 14px;transition:background .2s;display:flex}.ej-card-header:hover{background:#00000005}.ej-card.admin-card .ej-card-header{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%)}.ej-detail-panel{padding:0 14px 14px;animation:.3s ease-out fadeIn}.ej-card.admin-card .ej-detail-panel{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%)}.ej-detail-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.ej-detail-cell{background:#ffffffe6;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.ej-detail-cell.key-indicator{background:#eff6ff;border-color:#bfdbfe}.ej-detail-cell-label{color:var(--text-muted);text-transform:uppercase;align-items:center;gap:4px;font-size:.6rem;font-weight:700;display:flex}.ej-detail-cell-values{align-items:center;gap:4px;font-size:.72rem;display:flex}.cell-meta{color:var(--text-muted);font-weight:600}.cell-sep{color:#cbd5e1;font-size:.6rem}.cell-real{font-weight:800}.cell-icon{font-size:.6rem}.progress-bar-compact{background:#e2e8f0;border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-bar-fill{border-radius:3px;height:100%;transition:width .5s}.alerta-item{border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:10px 14px;font-size:.8rem;font-weight:600;animation:.4s ease-out fadeIn;display:flex}.alerta-success{color:#002d72;background:#eff6ff;border:1px solid #bfdbfe}.alerta-warning{color:#be123c;background:#fff1f2;border:1px solid #fecdd3}.alerta-danger{color:#da291c;background:#fef2f2;border:1px solid #fecaca}.alerta-info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.ranking-item{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium), var(--shadow-inner);align-items:center;gap:12px;margin-bottom:6px;padding:12px 16px;transition:all .3s;display:flex}.ranking-item.is-me{border:2px solid var(--primary-bank);z-index:2;transform:scale(1.02)}.ranking-item.descalificado{opacity:.7;background:#fff1f2;border-style:dashed;border-color:#fca5a5}.puesto-box{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;font-weight:800;display:flex}.puesto-box.gold{color:#fff;background:#002d72;border:1px solid #002d72}.puesto-box.silver{color:#fff;background:#1e40af;border:1px solid #1e40af}.puesto-box.bronze{color:#002d72;background:#eff6ff;border:1px solid #bfdbfe}.puesto-box.other{color:var(--text-muted);background:#fff;border:1px solid #e2e8f0}.puesto-box.disqualified{color:#ef4444;background:#fee2e2}.stats-pill{text-align:center;background:#f8fafc;border-radius:8px;padding:6px 12px}.stats-pill .label{color:var(--text-muted);font-size:.6rem;font-weight:700;display:block}.stats-pill .value{color:var(--text-main);font-size:.85rem;font-weight:800}.bonos-grid-cards{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.bonos-card-item{text-align:center;border-radius:14px;padding:16px}.bonos-card-mensual{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe}.bonos-card-trimestral{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0}.bonos-monto{background:var(--grad-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:1.4rem;font-weight:900}.bonos-fecha{color:var(--text-muted);font-size:.62rem;font-weight:600}.total-row td{border-radius:12px;font-weight:900!important}.total-row td:first-child{text-align:right;border-radius:12px 0 0 12px}.total-row td:last-child{border-radius:0 12px 12px 0;font-size:1.05rem}.campaign-dropdown{color:var(--primary-bank);cursor:pointer;appearance:none;background:#f8fafc url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232563eb'><path d='M7 10l5 5 5-5z'/></svg>") right 8px center/14px no-repeat;border:1px solid #e2e8f0;border-radius:10px;outline:none;max-width:220px;padding:6px 32px 6px 10px;font-size:.78rem;font-weight:700;transition:all .2s}.btn-ver-bonos{background:var(--grad-primary);color:#fff;cursor:pointer;letter-spacing:.3px;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:14px;padding:12px 20px;font-size:.82rem;font-weight:800;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 6px 20px #002d7233}.btn-ver-bonos-compact{background:var(--grad-primary);color:#fff;cursor:pointer;border:none;border-radius:20px;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:.72rem;font-weight:800;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 4px 12px #002d7233}.btn-ver-bonos-compact:hover{transform:translateY(-2px);box-shadow:0 6px 16px #002d724d}.btn-ver-bonos:hover{transform:translateY(-2px);box-shadow:0 10px 28px #002d724d}.btn-ver-bonos:active{transform:translateY(0)}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#0014328c;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{scrollbar-width:none;-ms-overflow-style:none;background:#fff;border-radius:20px;width:100%;max-width:560px;max-height:85vh;padding:24px;animation:.35s cubic-bezier(.16,1,.3,1) modalSlideUp;overflow-y:auto;box-shadow:0 32px 64px #0003,0 0 0 1px #002d720f}.modal-content::-webkit-scrollbar{display:none}.modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.modal-close-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.modal-close-btn:hover{color:#da291c;background:#fee2e2;border-color:#fecaca}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-anim{0%,to{opacity:1}50%{opacity:.5}}.skeleton-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-anim}@keyframes spin{to{transform:rotate(360deg)}}.spin-anim{animation:1s linear infinite spin}@media (width<=420px){.hide-on-mobile{display:none}.glass-header{text-align:center;flex-direction:column;gap:12px;padding:16px}.ej-detail-grid,.bonos-grid-cards{grid-template-columns:1fr}.stats-pill.hide-mobile{display:none}}@media (width<=600px){.table-premium{font-size:.75rem}.table-premium td,.table-premium th{padding:8px 6px}.gauge-ring{width:32px;height:32px}.gauge-ring .gauge-text{font-size:.5rem}}.sidebar-container{background:var(--glass-bg);width:100%;-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-border);z-index:100;padding:8px 6px;padding-bottom:env(safe-area-inset-bottom,8px);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;box-shadow:0 -4px 20px #0000000d}.sidebar-brand,.sidebar-profile{display:none}.sidebar-nav{justify-content:space-around;gap:4px;width:100%;display:flex}.sidebar-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:.65rem;font-weight:700;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.sidebar-btn.active{color:var(--primary-bank)}.sidebar-btn.active .icon-wrapper{background:#eff6ff;border-radius:12px;padding:6px 14px}@media (width>=768px){.sidebar-container{border-top:none;border-right:1px solid var(--glass-border);flex-direction:column;justify-content:flex-start;align-items:center;width:90px;height:100vh;padding:24px 8px;position:sticky;top:0;box-shadow:4px 0 24px #002d7208}.sidebar-brand,.sidebar-profile{display:none}.sidebar-nav{flex-direction:column;gap:12px;width:100%}.sidebar-btn{flex-direction:column;justify-content:center;width:100%;padding:12px 0;font-size:.65rem}.sidebar-btn:hover{background:#f1f5f9}.sidebar-btn.active{color:var(--primary-bank);box-shadow:none;background:0 0}.sidebar-btn.active .icon-wrapper{background:#eff6ff;padding:8px 16px}}
