.notification-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:400px;pointer-events:none}.notification-toast{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;padding:16px;display:flex;align-items:flex-start;gap:12px;animation:slideIn .3s ease-out;pointer-events:all;min-width:300px;border-left:4px solid #667eea;position:relative;overflow:hidden}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.notification-toast.success{border-left-color:#51cf66}.notification-toast.error{border-left-color:#ff6b6b}.notification-toast.warning{border-left-color:orange}.notification-toast.info{border-left-color:#4dabf7}.notification-toast:after{content:"";position:absolute;bottom:0;left:0;height:3px;background:currentColor;animation:progressBar 5s linear;opacity:.3}@keyframes progressBar{0%{width:100%}to{width:0%}}.notification-icono{font-size:24px;flex-shrink:0;line-height:1}.notification-contenido{flex:1;display:flex;flex-direction:column;gap:4px}.notification-titulo{font-weight:600;font-size:14px;color:#333}.notification-mensaje{font-size:13px;color:#666;line-height:1.4}.notification-timestamp{font-size:11px;color:#999;margin-top:4px}.notification-close{background:none;border:none;color:#999;font-size:24px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.notification-close:hover{background:#f0f0f0;color:#333}.alert-badge{position:relative;display:inline-flex;align-items:center;justify-content:center}.alert-badge-count{background:#ff6b6b;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;position:relative;z-index:2}.alert-badge-pulse{position:absolute;inset:0;border-radius:50%;background:#ff6b6b;animation:pulse 2s infinite;opacity:.6}@keyframes pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.5);opacity:0}}.notification-bell-wrapper{position:relative;display:flex;align-items:center}.notification-bell{position:relative;background:#4a90e21f;border:1px solid rgba(74,144,226,.4);color:#357abd;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:all .2s}.notification-bell:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4a90e24d}.notification-bell.active{background:#4a90e233}.notification-bell-count{position:absolute;top:-4px;right:-4px;background:#ff6b6b;color:#fff;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:600;box-shadow:0 2px 6px #ff6b6b66}.notification-panel{position:absolute;top:54px;right:0;width:360px;max-height:460px;background:#fff;border-radius:12px;box-shadow:0 14px 40px #0f172a33;border:1px solid rgba(226,232,240,.8);display:flex;flex-direction:column;overflow:hidden;z-index:101}.notification-panel-header{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(226,232,240,.8)}.notification-panel-header h3{margin:0;font-size:16px;font-weight:600;color:#1f2937}.notification-clear-btn{background:none;border:none;color:#3b82f6;font-size:13px;cursor:pointer;font-weight:600}.notification-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0}.notification-empty{padding:40px 20px;text-align:center;color:#9ca3af;font-size:14px}.notification-item-row{display:flex;gap:12px;padding:14px 20px;border-bottom:1px solid rgba(226,232,240,.6)}.notification-item-row:last-child{border-bottom:none}.notification-item-icon{font-size:20px}.notification-item-content{flex:1;display:flex;flex-direction:column;gap:4px}.notification-item-title{font-size:14px;font-weight:600;color:#1f2937}.notification-item-message{font-size:13px;color:#4b5563;line-height:1.4}.notification-item-time{font-size:11px;color:#9ca3af}.notification-item-actions{display:flex;gap:4px;align-items:flex-start}.notification-item-mute{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:16px;padding:0 4px;transition:transform .2s ease}.notification-item-mute:hover:not(:disabled){transform:scale(1.15)}.notification-item-mute:disabled{opacity:.5;cursor:not-allowed}.notification-item-dismiss{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:16px;padding:0 4px}body.dark-mode .notification-bell{background:#3b82f626;border-color:#3b82f666;color:#60a5fa}body.dark-mode .notification-panel{background:#1f2937;border-color:#374151cc;box-shadow:0 14px 32px #00000080}body.dark-mode .notification-panel-header{border-color:#374151cc}body.dark-mode .notification-panel-header h3{color:#f9fafb}body.dark-mode .notification-item-row{border-color:#37415199}body.dark-mode .notification-item-title{color:#f9fafb}body.dark-mode .notification-item-message{color:#d1d5db}body.dark-mode .notification-item-time{color:#9ca3af}.scraping-button{background:#4a90e233;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(74,144,226,.4);color:#357abd;padding:14px 28px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 12px #4a90e233}.scraping-button:hover:not(:disabled){transform:translateY(-2px);background:#4a90e24d;box-shadow:0 6px 16px #4a90e24d}.scraping-button:disabled{cursor:not-allowed;opacity:.8}.scraping-button.ejecutando{background:#4dabf74d;border-color:#4dabf780}.scraping-spinner{width:18px;height:18px;border:3px solid rgba(74,144,226,.3);border-top-color:#4a90e2;border-radius:50%;animation:spin .8s linear infinite}.scraping-progress{position:absolute;bottom:0;left:0;height:3px;background:#4a90e299;transition:width .3s ease}@media(max-width:768px){.notification-container{left:10px;right:10px;max-width:none}.notification-toast{min-width:auto}.notification-bell-container{position:static}.notification-panel{position:fixed;top:60px;left:10px;right:10px;width:auto;max-width:100%;max-height:calc(100vh - 80px);z-index:1000}.notification-bell{width:38px;height:38px}}.notification-toast.exiting{animation:slideOut .3s ease-in forwards}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.notification-toast:hover:after{animation-play-state:paused}.notification-toast:active{transform:scale(.98)}.notification-toast.compact{padding:12px;min-width:250px}.notification-toast.compact .notification-icono{font-size:20px}.notification-toast.compact .notification-mensaje{font-size:12px}@media(prefers-color-scheme:dark){.notification-toast{background:#2d2d2d;color:#e0e0e0}.notification-titulo{color:#fff}.notification-mensaje{color:#b0b0b0}.notification-close:hover{background:#3d3d3d;color:#fff}}html,body{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}body{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}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}}.auto-monitor{display:flex;align-items:center;gap:8px;position:relative}.auto-monitor-controls{display:flex;align-items:center;gap:6px}.monitor-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.monitor-btn:disabled{opacity:.6;cursor:not-allowed}.monitor-btn.start{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.monitor-btn.start:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 2px 8px #10b98166}.monitor-btn.stop{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.monitor-btn.stop:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 2px 8px #ef444466}.monitor-btn.manual{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.monitor-btn.manual:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 2px 8px #3b82f666}.monitor-btn.config{background:#e5e7eb;color:#374151;padding:8px 10px}.monitor-btn.config:hover{background:#d1d5db}.countdown-display{display:flex;align-items:center;gap:4px;padding:6px 12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:6px;font-family:SF Mono,Consolas,monospace;font-size:14px;font-weight:600;color:#92400e}.countdown-icon{font-size:14px}.countdown-time{min-width:45px;text-align:center}.monitor-status{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.monitor-status.active{background:#10b98126;color:#059669}.status-dot{width:8px;height:8px;border-radius:50%;background:#10b981;animation:pulse-dot 1.5s infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.monitor-config-panel{position:absolute;top:100%;right:0;margin-top:8px;width:300px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;border:1px solid #e5e7eb;z-index:1000;overflow:hidden}.config-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.config-header h4{margin:0;font-size:14px;font-weight:600;color:#374151}.config-header .close-btn{background:none;border:none;font-size:20px;color:#9ca3af;cursor:pointer;padding:0;line-height:1}.config-header .close-btn:hover{color:#374151}.config-section{padding:12px 16px;border-bottom:1px solid #f3f4f6}.config-section:last-of-type{border-bottom:none}.config-section label{display:flex;flex-direction:column;gap:6px}.config-label{font-size:13px;font-weight:500;color:#374151}.config-input-group{display:flex;align-items:center;gap:8px}.config-input-group input[type=number]{width:70px;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;text-align:center}.config-input-group input[type=number]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.config-input-group input[type=number]:disabled{background:#f3f4f6;color:#9ca3af}.config-unit{font-size:13px;color:#6b7280}.config-checkbox{flex-direction:row!important;align-items:center!important;gap:8px!important}.config-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6}.test-sound-btn{margin-top:8px;padding:6px 12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.test-sound-btn:hover{background:#e5e7eb}.config-info{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;background:#f9fafb;font-size:12px}.config-info.inactivity-warning{background:#fef3c7;color:#92400e}.info-label{color:#6b7280}.info-value{font-weight:600;color:#374151}.spinner-small{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.dark-mode .monitor-btn.config{background:#374151;color:#e5e7eb}.dark-mode .monitor-btn.config:hover{background:#4b5563}.dark-mode .countdown-display{background:linear-gradient(135deg,#78350f,#92400e);border-color:#b45309;color:#fef3c7}.dark-mode .monitor-config-panel{background:#1f2937;border-color:#374151}.dark-mode .config-header{background:#111827;border-color:#374151}.dark-mode .config-header h4{color:#f3f4f6}.dark-mode .config-section{border-color:#374151}.dark-mode .config-label{color:#e5e7eb}.dark-mode .config-input-group input[type=number]{background:#374151;border-color:#4b5563;color:#f3f4f6}.dark-mode .config-input-group input[type=number]:focus{border-color:#3b82f6}.dark-mode .config-input-group input[type=number]:disabled{background:#1f2937;color:#6b7280}.dark-mode .config-unit{color:#9ca3af}.dark-mode .test-sound-btn{background:#374151;border-color:#4b5563;color:#e5e7eb}.dark-mode .test-sound-btn:hover{background:#4b5563}.dark-mode .config-info{background:#111827}.dark-mode .config-info.inactivity-warning{background:#78350f;color:#fef3c7}.dark-mode .info-label{color:#9ca3af}.dark-mode .info-value{color:#f3f4f6}@media(max-width:768px){.mobile-menu-item-auto .auto-monitor{flex-direction:column;gap:12px;width:100%}.mobile-menu-item-auto .auto-monitor-controls{flex-direction:column;width:100%;gap:10px}.mobile-menu-item-auto .monitor-btn{width:100%;padding:14px 16px;font-size:15px;justify-content:center;border-radius:10px}.mobile-menu-item-auto .monitor-btn.config{background:transparent;border:1px solid #e5e7eb;color:#374151}body.dark-mode .mobile-menu-item-auto .monitor-btn.config{border-color:#4b5563;color:#d1d5db}.mobile-menu-item-auto .countdown-display{width:100%;justify-content:center;padding:12px 16px;font-size:16px;border-radius:10px}.mobile-menu-item-auto .monitor-status{display:none}.mobile-menu-item-auto .monitor-config-panel{position:static;width:100%;margin-top:12px;box-shadow:none;border:1px solid #e5e7eb;border-radius:10px}body.dark-mode .mobile-menu-item-auto .monitor-config-panel{background:#1f2937;border-color:#374151}body.dark-mode .mobile-menu-item-auto .config-header{background:#111827;border-bottom-color:#374151}body.dark-mode .mobile-menu-item-auto .config-header h4{color:#e5e7eb}body.dark-mode .mobile-menu-item-auto .config-section{border-bottom-color:#374151}body.dark-mode .mobile-menu-item-auto .config-label{color:#d1d5db}body.dark-mode .mobile-menu-item-auto .config-input-group input{background:#111827;border-color:#4b5563;color:#e5e7eb}body.dark-mode .mobile-menu-item-auto .config-unit{color:#9ca3af}.auto-monitor-controls{flex-wrap:wrap}.monitor-btn{padding:6px 10px;font-size:12px}.countdown-display{padding:4px 8px;font-size:12px}.monitor-config-panel{width:280px;right:-50px}}.ops-status-bar{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;padding:.4rem 1rem;background:var(--ops-bar-bg, rgba(148, 163, 184, .12));border-bottom:1px solid rgba(148,163,184,.25);font-size:.8rem}.ops-item{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.ops-label{color:#64748b;font-weight:600}.ops-value{font-weight:600}body.dark-mode .ops-status-bar{background:#0f172a99;border-bottom-color:#94a3b833}body.dark-mode .ops-label{color:#94a3b8}body.dark-mode .ops-value{color:#e2e8f0}@media(max-width:768px){.ops-status-bar{flex-wrap:nowrap;overflow-x:auto;gap:.85rem;padding:.4rem .75rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ops-status-bar::-webkit-scrollbar{display:none}.ops-item{flex-shrink:0;gap:.3rem}.ops-detail,.ops-label{display:none}}.scrape-progress{padding:8px 16px 10px;background:#3b82f614;border-bottom:1px solid rgba(59,130,246,.2);display:flex;flex-direction:column;gap:6px;animation:scrapeProgressIn .25s ease-out}.scrape-progress.done{background:#16a34a1a;border-bottom-color:#16a34a4d}.scrape-progress.failed{background:#dc26261a;border-bottom-color:#dc26264d}@keyframes scrapeProgressIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.scrape-progress-top{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:#1e3a8a}.scrape-progress.done .scrape-progress-top{color:#166534}.scrape-progress.failed .scrape-progress-top{color:#991b1b}.scrape-progress-track{height:8px;border-radius:999px;background:#94a3b84d;overflow:hidden}.scrape-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#2563eb);transition:width .5s ease}.scrape-progress.done .scrape-progress-fill{background:linear-gradient(90deg,#22c55e,#16a34a)}.scrape-progress.failed .scrape-progress-fill{background:linear-gradient(90deg,#ef4444,#dc2626)}.scrape-progress-fill.indeterminate{background-image:linear-gradient(90deg,#3b82f6,#60a5fa,#3b82f6);background-size:200% 100%;animation:scrapeShimmer 1.2s linear infinite}@keyframes scrapeShimmer{0%{background-position:200% 0}to{background-position:0 0}}.scrape-progress-steps{display:flex;gap:14px;font-size:.72rem;color:#64748b;flex-wrap:wrap}.scrape-step.past{color:#16a34a}.scrape-step.current{color:#2563eb;font-weight:700}.scrape-step.failed{color:#dc2626;font-weight:700}body.dark-mode .scrape-progress{background:#3b82f624;border-bottom-color:#3b82f64d}body.dark-mode .scrape-progress.done{background:#16a34a29}body.dark-mode .scrape-progress.failed{background:#dc262629}body.dark-mode .scrape-progress-top{color:#93c5fd}body.dark-mode .scrape-progress.done .scrape-progress-top{color:#86efac}body.dark-mode .scrape-progress.failed .scrape-progress-top{color:#fca5a5}body.dark-mode .scrape-progress-steps{color:#94a3b8}@media(max-width:768px){.scrape-progress-text{font-size:.8rem}.scrape-progress-steps{gap:10px;font-size:.68rem}}.resumen-overlay{position:fixed;inset:0;background:#0f172a99;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:1200;padding:2vh 1rem;animation:resumenFade .2s ease}@keyframes resumenFade{0%{opacity:0}to{opacity:1}}.resumen-modal{position:relative;width:100%;max-width:720px;max-height:94vh;overflow-y:auto;background:#fff;border-radius:22px;box-shadow:0 30px 70px #0006;padding:2rem 1.75rem 1.5rem;animation:resumenPop .24s ease-out}@keyframes resumenPop{0%{transform:translateY(16px) scale(.97);opacity:0}to{transform:none;opacity:1}}.resumen-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:none;border-radius:50%;background:#94a3b82e;font-size:1.1rem;cursor:pointer;color:#475569}.resumen-close:hover{background:#94a3b852}.resumen-hero{text-align:center;margin-bottom:1.5rem}.resumen-hero-icon{font-size:3.2rem;line-height:1}.resumen-hero-title{margin:.4rem 0 .2rem;font-size:1.9rem;font-weight:800;color:#0f172a}.resumen-hero-sub{margin:0;color:#64748b;font-size:.95rem}.resumen-hero-tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.resumen-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:1.6rem 1rem;border-radius:18px;text-align:center}.resumen-tile-icon{font-size:2rem;line-height:1}.resumen-tile-num{font-size:clamp(2.4rem,9vw,3.4rem);font-weight:900;line-height:1}.resumen-tile-label{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.resumen-tile.nuevas{background:#22c55e24}.resumen-tile.nuevas .resumen-tile-num,.resumen-tile.nuevas .resumen-tile-label{color:#15803d}.resumen-tile.pendientes{background:#f59e0b29}.resumen-tile.pendientes .resumen-tile-num,.resumen-tile.pendientes .resumen-tile-label{color:#b45309}.resumen-mini-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:1.5rem}.resumen-mini{display:flex;align-items:center;gap:10px;padding:.9rem 1.1rem;border-radius:14px;background:#94a3b81f}.resumen-mini-icon{font-size:1.4rem}.resumen-mini-num{font-size:1.5rem;font-weight:800;color:#0f172a}.resumen-mini-label{font-size:.8rem;color:#64748b;font-weight:600;margin-left:auto}.resumen-grupos{margin-bottom:1.75rem}.resumen-grupos-title{margin:0 0 .75rem;font-size:.95rem;color:#334155;font-weight:700}.resumen-bars{display:flex;flex-direction:column;gap:10px}.resumen-bar-row{display:grid;grid-template-columns:40% 1fr auto;align-items:center;gap:10px}.resumen-bar-nombre{font-size:.85rem;color:#475569;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resumen-bar-track{height:12px;border-radius:999px;background:#94a3b838;overflow:hidden}.resumen-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#6366f1);animation:resumenBarGrow .5s ease-out}@keyframes resumenBarGrow{0%{width:0!important}}.resumen-bar-count{font-size:.95rem;font-weight:800;color:#0f172a;min-width:2.5ch;text-align:right}.resumen-acciones{display:flex;flex-direction:column;gap:10px}.resumen-btn-primario{padding:1rem;border-radius:14px;border:none;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:1.05rem;font-weight:800;box-shadow:0 8px 20px #2563eb52}.resumen-btn-primario:hover{filter:brightness(1.05)}.resumen-btn-secundario{padding:.7rem;border-radius:12px;border:none;cursor:pointer;background:transparent;color:#64748b;font-size:.95rem;font-weight:700}.resumen-btn-secundario:hover{color:#334155}.resumen-toggle{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(148,163,184,.25);font-size:.85rem;color:#64748b;cursor:pointer;user-select:none}.resumen-toggle input{width:17px;height:17px;cursor:pointer;accent-color:#2563eb}body.dark-mode .resumen-toggle{color:#94a3b8;border-top-color:#94a3b833}body.dark-mode .resumen-modal{background:#1f2937}body.dark-mode .resumen-hero-title,body.dark-mode .resumen-mini-num,body.dark-mode .resumen-bar-count{color:#f9fafb}body.dark-mode .resumen-grupos-title,body.dark-mode .resumen-bar-nombre{color:#cbd5e1}body.dark-mode .resumen-close{background:#94a3b838;color:#e2e8f0}@media(max-width:560px){.resumen-overlay{padding:0;align-items:flex-start}.resumen-modal{max-width:100%;min-height:100vh;min-height:100dvh;max-height:none;overflow:visible;border-radius:0;padding:2rem 1.1rem 1.5rem;display:flex;flex-direction:column}.resumen-hero-title{font-size:1.6rem}.resumen-acciones{margin-top:auto}.resumen-bar-row{grid-template-columns:38% 1fr auto}}.modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal-container{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:1200px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid rgba(0,0,0,.08)}.modal-header h2{margin:0;font-size:24px;color:#333;font-weight:600}.modal-close{background:#0000000d;border:none;width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;color:#666}.modal-close:hover{background:#ff6b6b33;color:#c92a2a;transform:rotate(90deg)}.modal-resumen{padding:20px 30px;background:#4a90e214;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.08);display:flex;flex-wrap:wrap;gap:30px}.resumen-item{display:flex;flex-direction:column;gap:5px}.resumen-label{font-size:12px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.resumen-valor{font-size:16px;color:#333;font-weight:700}.modal-body{flex:1;overflow-y:auto;padding:20px 30px}.modal-vacio{text-align:center;padding:60px 20px;color:#999}.modal-vacio p{font-size:16px}.modal-table-container{overflow-x:auto}.modal-table{width:100%;border-collapse:collapse;font-size:14px}.modal-table thead{background:#4a90e21a;position:sticky;top:0;z-index:10}.modal-table th{padding:12px 15px;text-align:left;font-weight:600;color:#357abd;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid rgba(74,144,226,.3)}.modal-table tbody tr{border-bottom:1px solid rgba(0,0,0,.05);transition:all .2s}.modal-table tbody tr:hover{background:#4a90e20d}.modal-table tbody tr.fila-reportada{opacity:.7;background:#51cf660d}.modal-table tbody tr.fila-confirmada{background:#3b82f614;opacity:.85}.modal-table td{padding:15px}.td-codigo{font-weight:700;color:#357abd;font-size:15px}.td-nombre .nombre-principal{font-weight:600;color:#333;margin-bottom:3px}.td-nombre .nombre-grupo{font-size:12px;color:#666}.td-monto{font-weight:600}.monto-destacado{color:#ff6b6b;font-weight:700}.monto-normal{color:#4a90e2}.beneficio-destacado{color:#ff8c42;font-weight:700}.beneficio-normal{color:#28a745}.td-fecha{color:#666;font-size:13px}.td-acciones{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-ver-detalle{background:#4a90e226;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(74,144,226,.3);color:#357abd;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-ver-detalle:hover{background:#4a90e240;transform:translateY(-1px)}.btn-ver-historial{background:#4a90e226;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(74,144,226,.3);color:#357abd;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;white-space:nowrap}.btn-ver-historial:hover{background:#4a90e24d;transform:translateY(-2px);box-shadow:0 4px 12px #4a90e240}.btn-ver-historial:active{transform:translateY(0)}.estado-mini{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase}.estado-mini.pendiente{background:#facc1533;color:#b45309}.estado-mini.reportada{background:#10b98133;color:#047857}.estado-mini.confirmada{background:#3b82f633;color:#1d4ed8}.modal-footer{padding:20px 30px;border-top:1px solid rgba(0,0,0,.08);display:flex;justify-content:flex-end;gap:10px}.btn-modal-cerrar{background:#00000014;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(0,0,0,.1);color:#333;padding:10px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-modal-cerrar:hover{background:#0000001f;transform:translateY(-1px)}@media(max-width:768px){.modal-container{max-width:95%;max-height:95vh}.modal-header,.modal-resumen,.modal-body,.modal-footer{padding:15px 20px}.modal-resumen{flex-direction:column;gap:15px}.modal-table{font-size:12px}.modal-table th,.modal-table td{padding:10px 8px}.td-codigo,.td-nombre .nombre-principal{font-size:13px}}body.dark-mode .modal-overlay{background:#000000d9}body.dark-mode .modal-container{background:#1e293b;border:1px solid rgba(75,85,99,.5);box-shadow:0 20px 60px #000c}body.dark-mode .modal-header{border-bottom:1px solid rgba(75,85,99,.5)}body.dark-mode .modal-header h2{color:#f9fafb}body.dark-mode .modal-close{background:#4b55634d;color:#9ca3af}body.dark-mode .modal-close:hover{background:#ef44444d;color:#f87171}body.dark-mode .modal-resumen{background:#11182799;border-bottom:1px solid rgba(75,85,99,.5)}body.dark-mode .resumen-label{color:#9ca3af}body.dark-mode .resumen-valor{color:#f9fafb}body.dark-mode .modal-vacio{color:#9ca3af}body.dark-mode .modal-table thead{background:#3b82f626}body.dark-mode .modal-table th{color:#60a5fa;border-bottom:2px solid rgba(59,130,246,.3)}body.dark-mode .modal-table tbody tr{border-bottom:1px solid rgba(75,85,99,.3)}body.dark-mode .modal-table tbody tr:hover{background:#3b82f61a}body.dark-mode .modal-table tbody tr.fila-reportada{background:#10b9811a}body.dark-mode .modal-table tbody tr.fila-confirmada{background:#3b82f62e}body.dark-mode .td-codigo{color:#60a5fa}body.dark-mode .td-nombre .nombre-principal{color:#f9fafb}body.dark-mode .td-nombre .nombre-grupo{color:#9ca3af}body.dark-mode .monto-destacado{color:#f87171}body.dark-mode .monto-normal{color:#60a5fa}body.dark-mode .beneficio-destacado{color:#fbbf24}body.dark-mode .beneficio-normal{color:#34d399}body.dark-mode .td-fecha{color:#9ca3af}body.dark-mode .btn-ver-historial{background:#3b82f633;border:1px solid rgba(59,130,246,.5);color:#60a5fa}body.dark-mode .btn-ver-historial:hover{background:#3b82f64d;box-shadow:0 4px 12px #3b82f666}body.dark-mode .estado-mini{background:transparent;border:1px solid rgba(148,163,184,.2);color:#e5e7eb}body.dark-mode .estado-mini.pendiente{color:#facc15;border-color:#facc1599}body.dark-mode .estado-mini.reportada{color:#34d399;border-color:#34d39999}body.dark-mode .estado-mini.confirmada{color:#93c5fd;border-color:#93c5fd99}body.dark-mode .modal-footer{border-top:1px solid rgba(75,85,99,.5)}body.dark-mode .btn-modal-cerrar{background:#4b55634d;border:1px solid rgba(75,85,99,.5);color:#9ca3af}body.dark-mode .btn-modal-cerrar:hover{background:#4b556380;color:#f9fafb}.trend-chart-container{background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,.5);padding:24px;box-shadow:0 8px 32px #00000014;margin-bottom:24px;transition:all .3s ease}.trend-chart-container:hover{box-shadow:0 12px 40px #0000001f;transform:translateY(-2px)}.trend-chart-header{margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.trend-chart-title-section{flex:1;min-width:250px}.trend-chart-header h3{font-size:22px;font-weight:700;color:#4a90e2e6;margin:0 0 8px;display:flex;align-items:center;gap:8px}.chart-subtitle{font-size:13px;color:#4a90e299;margin:0;font-weight:500}.trend-chart-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toggle-divider{width:1px;height:24px;background:#4a90e233;margin:0 4px}.toggle-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff80;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(74,144,226,.2);border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:13px;font-weight:600;color:#4a90e2b3}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.toggle-btn:not(:disabled):hover{background:#fffc;border-color:#4a90e266;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.toggle-btn.active{background:#4a90e21a;border-color:#4a90e266;color:#4a90e2e6}.toggle-btn.historical{border-style:dashed}.toggle-btn.historical.active{background:#f39c121a;border-color:#f39c1266;color:#f39c12e6}.toggle-icon{width:12px;height:12px;border-radius:50%;transition:background-color .3s ease;box-shadow:0 2px 4px #0003}.toggle-label{user-select:none}.trend-chart-wrapper{background:#ffffff4d;border-radius:12px;padding:16px;margin-bottom:20px}.trend-chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.spinner{width:40px;height:40px;border:3px solid rgba(74,144,226,.2);border-top:3px solid rgba(74,144,226,.8);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.trend-chart-loading p{font-size:15px;color:#4a90e2b3;font-weight:500;margin:0}.trend-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px;text-align:center}.empty-icon{font-size:48px;opacity:.5;filter:grayscale(1)}.trend-chart-empty p{font-size:16px;color:#4a90e2b3;font-weight:600;margin:0}.trend-chart-empty small{font-size:13px;color:#4a90e280;font-weight:400}.trend-tooltip{background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(74,144,226,.2);border-radius:12px;padding:12px 16px;box-shadow:0 4px 20px #00000026;min-width:220px;max-width:280px}.tooltip-time{font-size:14px;font-weight:700;color:#4a90e2e6;margin:0 0 8px;text-align:center}.tooltip-section-title{font-size:11px;font-weight:700;color:#4a90e2b3;margin:4px 0;text-transform:uppercase;letter-spacing:.5px}.tooltip-divider{height:1px;background:#4a90e233;margin:8px 0}.tooltip-item{display:flex;justify-content:space-between;align-items:center;margin:6px 0;font-size:13px;gap:12px}.tooltip-label{font-weight:500;color:#4a90e2b3}.tooltip-value{font-weight:700;color:#4a90e2e6}.tooltip-item.apuestas .tooltip-value{color:#4a90e2}.tooltip-item.beneficio .tooltip-value{color:#50c878}.tooltip-item.apuestas-ayer .tooltip-value{color:#f39c12}.tooltip-item.beneficio-ayer .tooltip-value{color:#e67e22}.tooltip-item.apuestas-promedio .tooltip-value{color:#9b59b6}.tooltip-item.beneficio-promedio .tooltip-value{color:#8e44ad}.tooltip-item.puntos .tooltip-value{color:#4a90e2e6}.tooltip-note{margin:8px 0 0;padding-top:8px;border-top:1px solid rgba(74,144,226,.1);text-align:center}.tooltip-note small{font-size:11px;color:#4a90e299;font-weight:500;font-style:italic}.trend-chart-footer{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:20px}.trend-stat{background:#fff6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.5);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;transition:all .3s ease}.trend-stat:hover{background:#fff9;transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.stat-icon{font-size:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.stat-content{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:12px;font-weight:600;color:#4a90e299;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:20px;font-weight:700;color:#4a90e2e6;line-height:1.2}.stat-sublabel{font-size:11px;color:#4a90e280;font-weight:500}@media(max-width:768px){.trend-chart-container{padding:16px}.trend-chart-header{flex-direction:column;gap:16px}.trend-chart-title-section{width:100%}.trend-chart-header h3{font-size:18px}.chart-subtitle{font-size:12px}.trend-chart-controls{width:100%;justify-content:flex-start}.toggle-btn{flex:1;justify-content:center;max-width:150px}.trend-chart-wrapper{padding:12px}.trend-chart-footer{grid-template-columns:1fr}.stat-value{font-size:18px}}body.dark-mode .trend-chart-container{background:#1f2937cc;border:1px solid rgba(75,85,99,.3)}body.dark-mode .trend-chart-container:hover{box-shadow:0 12px 40px #0006}body.dark-mode .trend-chart-header h3{color:#60a5fa}body.dark-mode .chart-subtitle{color:#9ca3af}body.dark-mode .toggle-btn{background:#11182799;border:1px solid rgba(75,85,99,.5);color:#9ca3af}body.dark-mode .toggle-btn:not(:disabled):hover{background:#111827cc;border-color:#3b82f680;color:#60a5fa}body.dark-mode .toggle-btn.active{background:#3b82f633;border-color:#3b82f680;color:#60a5fa}body.dark-mode .toggle-divider{background:#4b556380}body.dark-mode .trend-chart-wrapper{background:#11182766;border:1px solid rgba(75,85,99,.3)}body.dark-mode .trend-chart-footer{border-top:1px solid rgba(75,85,99,.5)}body.dark-mode .stat-box{border-right:1px solid rgba(75,85,99,.3)}body.dark-mode .stat-label{color:#d1d5db!important}body.dark-mode .stat-value{color:#f9fafb!important}body.dark-mode .stat-icon{color:#60a5fa}body.dark-mode .trend-chart-legend{border-top:1px solid rgba(75,85,99,.5)}body.dark-mode .legend-label{color:#d1d5db}body.dark-mode .chart-loading,body.dark-mode .chart-error{color:#9ca3af}body.dark-mode .chart-error{color:#f87171}.comparaciones-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:30px}.comparacion-card{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);padding:25px;border-radius:16px;box-shadow:0 8px 32px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.comparacion-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.comparacion-card.error{background:#dc35451a;border-color:#dc35454d;text-align:center;padding:40px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid rgba(74,144,226,.2)}.card-header h3{margin:0;font-size:18px;color:#333;font-weight:600}.valor-principal{font-size:24px;font-weight:700;color:#4a90e2}.beneficio-card .valor-principal{color:#50c878}.comparaciones-list{display:flex;flex-direction:column;gap:12px}.comparacion-item{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-radius:10px;background:#ffffff80;border-left:4px solid transparent;transition:all .2s ease}.comparacion-item:hover{background:#fffc;transform:translate(3px)}.comparacion-item.positivo{border-left-color:#50c878;background:#50c87814}.comparacion-item.negativo{border-left-color:#dc3545;background:#dc354514}.comparacion-item.neutral{border-left-color:#6c757d;background:#6c757d0d}.comparacion-label{display:flex;align-items:center;gap:8px}.label-icon{font-size:16px}.label-text{font-size:14px;color:#555;font-weight:500}.comparacion-valores{display:flex;align-items:center;gap:15px}.valor-referencia{font-size:13px;color:#666;font-weight:500}.tendencia{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;background:#fff9}.tendencia-icon{font-size:14px}.tendencia-porcentaje{font-size:14px;font-weight:700}.comparacion-item.positivo .tendencia-porcentaje{color:#50c878}.comparacion-item.negativo .tendencia-porcentaje{color:#dc3545}.comparacion-item.neutral .tendencia-porcentaje{color:#6c757d}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:15px}.spinner{width:40px;height:40px;border:4px solid rgba(74,144,226,.2);border-top-color:#4a90e2;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner p{color:#666;font-size:14px;margin:0}@media(max-width:968px){.comparaciones-container{grid-template-columns:1fr}.card-header{flex-direction:column;gap:10px;align-items:flex-start}.valor-principal{font-size:20px}}@media(max-width:640px){.comparacion-card{padding:20px}.comparacion-valores{flex-direction:column;align-items:flex-end;gap:8px}.valor-referencia{font-size:12px}}body.dark-mode .comparacion-card{background:#1f2937cc;border:1px solid rgba(75,85,99,.3)}body.dark-mode .comparacion-card:hover{background:#1f2937f2;box-shadow:0 12px 40px #0006}body.dark-mode .comparacion-card.error{background:#7f1d1d33;border-color:#ef44444d}body.dark-mode .card-header{border-bottom-color:#4b556380}body.dark-mode .card-header h3{color:#f9fafb}body.dark-mode .valor-principal{color:#60a5fa}body.dark-mode .beneficio-card .valor-principal{color:#34d399}body.dark-mode .comparacion-item{background:#11182780}body.dark-mode .comparacion-item:hover{background:#111827cc}body.dark-mode .comparacion-item.positivo{background:#10b9811a}body.dark-mode .comparacion-item.negativo{background:#ef44441a}body.dark-mode .comparacion-item.neutral{background:#6b72801a}body.dark-mode .label-text{color:#d1d5db}body.dark-mode .valor-referencia{color:#9ca3af}body.dark-mode .tendencia{background:#11182799}body.dark-mode .loading-spinner p{color:#9ca3af}body.dark-mode .spinner{border-color:#3b82f633;border-top-color:#60a5fa}.dashboard{width:100%;max-width:100%;padding:30px;min-height:calc(100vh - 140px);box-sizing:border-box}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);padding:20px;border-radius:16px;box-shadow:0 8px 32px #00000014}.dashboard-header h1{margin:0;color:#333;font-size:28px}.btn-refresh{background:#4a90e226;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(74,144,226,.3);color:#357abd;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-refresh:hover{background:#4a90e240;transform:translateY(-2px);box-shadow:0 8px 16px #4a90e233}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.metric-card{background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);padding:25px;border-radius:16px;display:flex;align-items:center;gap:15px;box-shadow:0 8px 32px #00000014;transition:all .3s}.metric-card.clickable{cursor:pointer}.metric-card.clickable:hover{transform:translateY(-8px);box-shadow:0 16px 48px #4a90e240;background:#ffffffd9;border-color:#4a90e266}.metric-card.clickable:active{transform:translateY(-4px)}.metric-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0000001f;background:#ffffffbf}.metric-card.destacado{animation:pulse 2s infinite;border:2px solid #ff6b6b}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.metric-icono{font-size:48px}.metric-info{display:flex;flex-direction:column}.metric-titulo{color:#666;font-size:14px;font-weight:500;margin-bottom:5px}.metric-valor{color:#333;font-size:32px;font-weight:700}.promedios-section{background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);padding:25px;border-radius:16px;margin-bottom:30px;box-shadow:0 8px 32px #00000014}.promedios-section h2{margin:0 0 20px;color:#333}.section-mini-title{margin:0 0 15px;color:#555;font-size:16px;font-weight:600;text-align:left}.promedios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.promedio-card{background:#4a90e226;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(74,144,226,.3);padding:20px;border-radius:12px;display:flex;flex-direction:column;gap:10px;color:#357abd}.promedio-label{font-size:14px;opacity:.8;font-weight:500}.promedio-valor{font-size:24px;font-weight:700}.grupo-stats{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px}.stat-item{font-size:13px;color:#475569;white-space:nowrap}.stat-item.pendiente{color:#d97706;font-weight:600}.stat-item.reportada{color:#16a34a;font-weight:600}.rankings-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:30px}.ranking-column{background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);padding:25px;border-radius:16px;box-shadow:0 8px 32px #00000014}.ranking-column.full-width{grid-column:1 / -1}.ranking-column h2{margin:0 0 20px;color:#333}.ranking-table{display:flex;flex-direction:column;gap:10px}.ranking-item{display:flex;align-items:center;gap:15px;padding:15px;background:#ffffff80;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.3);border-radius:12px;transition:all .3s}.ranking-item:hover{background:#ffffffb3;transform:translate(5px);box-shadow:0 4px 16px #00000014}.ranking-posicion{width:30px;height:30px;background:#4a90e233;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(74,144,226,.4);color:#357abd;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.ranking-info{flex:1;display:flex;flex-direction:column;gap:3px}.ranking-codigo{font-weight:700;color:#333}.ranking-nombre{font-size:13px;color:#666}.ranking-monto{font-weight:700;color:#28a745}.ranking-vacio{color:#999;text-align:center;padding:20px}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#357abd}.spinner{width:50px;height:50px;border:5px solid rgba(74,144,226,.2);border-top-color:#4a90e2;border-radius:50%;animation:spin 1s linear infinite}.dashboard-error{background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);padding:40px;border-radius:16px;text-align:center;margin:20px;box-shadow:0 8px 32px #00000014}.dashboard-error h3{color:#dc3545;margin-bottom:10px}.dashboard-error button{margin-top:20px;padding:10px 20px;background:#4a90e226;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(74,144,226,.3);color:#357abd;border-radius:10px;font-weight:600;cursor:pointer}@media(max-width:768px){.dashboard{padding:16px 12px 40px;min-height:auto}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.metric-card{padding:14px;gap:10px;border-radius:12px}.metric-icono{font-size:30px}.metric-titulo{font-size:12px}.metric-valor{font-size:22px}.rankings-section{grid-template-columns:1fr;gap:14px;margin-bottom:20px}.ranking-column,.promedios-section{padding:16px;margin-bottom:20px}.promedios-grid{grid-template-columns:repeat(2,1fr);gap:12px}.promedio-card{padding:14px}.promedio-valor{font-size:20px}.dashboard-header{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.dashboard-header h1{font-size:20px}}@media(max-width:360px){.metrics-grid{grid-template-columns:1fr}}body.dark-mode .dashboard{color:#f9fafb}body.dark-mode .dashboard-header{background:#1f2937cc;border:1px solid rgba(75,85,99,.3)}body.dark-mode .dashboard-header h1{color:#f9fafb}body.dark-mode .btn-refresh{background:#3b82f633;border:1px solid rgba(59,130,246,.4);color:#60a5fa}body.dark-mode .btn-refresh:hover{background:#3b82f64d;box-shadow:0 8px 16px #3b82f64d}body.dark-mode .metric-card{background:#1f2937cc;border:1px solid rgba(75,85,99,.3)}body.dark-mode .metric-card:hover{background:#1f2937f2;box-shadow:0 12px 40px #0006}body.dark-mode .metric-card.clickable:hover{background:#1f2937;border-color:#3b82f680;box-shadow:0 16px 48px #3b82f64d}body.dark-mode .metric-icon{background:#3b82f626;color:#60a5fa}body.dark-mode .metric-titulo{color:#e5e7eb!important}body.dark-mode .metric-valor{color:#f9fafb!important}body.dark-mode .metric-info{color:#f9fafb}body.dark-mode .metric-content h3{color:#e5e7eb!important}body.dark-mode .metric-content .metric-value{color:#f9fafb!important}body.dark-mode .metric-content .metric-change{color:#9ca3af}body.dark-mode .section-title{color:#f9fafb}body.dark-mode .section-mini-title{color:#e5e7eb}body.dark-mode .promedios-section{background:#1f2937cc;border:1px solid rgba(75,85,99,.3)}body.dark-mode .promedios-section h2{color:#f9fafb}body.dark-mode .promedio-card{background:#11182799;border:1px solid rgba(59,130,246,.3);color:#e5e7eb}body.dark-mode .promedio-label{color:#60a5fa;opacity:1}body.dark-mode .promedio-valor{color:#f9fafb}body.dark-mode .stat-item{color:#d1d5db}body.dark-mode .stat-item.pendiente{color:#fbbf24}body.dark-mode .stat-item.reportada{color:#34d399}body.dark-mode .rankings-section .card{background:#1f2937cc;border:1px solid rgba(75,85,99,.3)}body.dark-mode .rankings-section .card h3{color:#f9fafb}body.dark-mode .ranking-item{background:#11182780;border:1px solid rgba(75,85,99,.3)}body.dark-mode .ranking-item:hover{background:#111827cc;border-color:#3b82f666}body.dark-mode .ranking-position{color:#60a5fa}body.dark-mode .ranking-info h4{color:#f9fafb}body.dark-mode .ranking-info p{color:#9ca3af}body.dark-mode .ranking-value{color:#f9fafb}body.dark-mode .ranking-badge{background:#3b82f633;color:#60a5fa}body.dark-mode .dashboard-loading,body.dark-mode .dashboard-error{background:#1f2937cc;border:1px solid rgba(75,85,99,.3);color:#f9fafb}body.dark-mode .dashboard-error h3{color:#f87171}body.dark-mode .dashboard-error button{background:#3b82f633;border:1px solid rgba(59,130,246,.4);color:#60a5fa}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);transition:background .3s ease}body.dark-mode{background:linear-gradient(135deg,#0f172a,#1e293b)}.app{width:100%;min-height:100vh;display:flex;flex-direction:column}.app-header{width:100%;background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #0000000d;padding:15px 30px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-sizing:border-box}.app-logo{display:flex;align-items:center;gap:12px}.logo-icon{font-size:32px}.app-logo h1{font-size:24px;background:linear-gradient(135deg,#4a90e2,#357abd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-nav{display:flex;gap:15px;flex:1;justify-content:center}.app-nav button{background:transparent;border:none;padding:10px 20px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;color:#666;position:relative;display:flex;align-items:center;gap:8px}.app-nav button:hover{background:#4a90e21a;color:#4a90e2}.app-nav button.active{background:#4a90e226;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(74,144,226,.3);color:#357abd}.app-nav button.active.urgente{background:#dc262626;border:1px solid rgba(220,38,38,.3);color:#dc2626;animation:pulse-nav-urgente 2s ease-in-out infinite}@keyframes pulse-nav-urgente{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 6px #dc262600}}.app-nav button.active:hover{opacity:.9}.app-actions{display:flex;gap:10px;align-items:center}.dark-mode-toggle{background:transparent;border:1px solid rgba(0,0,0,.1);padding:8px 12px;border-radius:8px;font-size:20px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.dark-mode-toggle:hover{background:#4a90e21a;border-color:#4a90e24d;transform:scale(1.05)}.app-main{flex:1;width:100%;padding:0;box-sizing:border-box}.app-footer{background:#fff;border-top:1px solid #e0e0e0;padding:20px;text-align:center;color:#666;font-size:14px}.app-footer p{margin:5px 0}.app-footer a{color:#4a90e2;text-decoration:none;font-weight:600;transition:color .3s}.app-footer a:hover{color:#357abd;text-decoration:underline}@media(max-width:992px){.app-header{flex-wrap:wrap;gap:15px;padding:15px 20px}.app-logo{order:1}.desktop-actions{order:2}.desktop-nav{order:3;width:100%;justify-content:flex-start}}@media(max-width:768px){.app-header{padding:8px 16px;gap:10px;flex-wrap:nowrap;align-items:center;justify-content:space-between;min-height:52px}.mobile-left{display:flex!important;flex-shrink:0;order:1;min-width:0}.app-logo{flex-shrink:1;order:2;flex:1;justify-content:center;min-width:0;overflow:hidden}.app-logo h1{font-size:15px;white-space:nowrap}.logo-icon{font-size:18px}.sse-indicator{font-size:10px!important}.mobile-right{display:flex!important;flex-shrink:0;order:3;padding-left:4px}.desktop-nav,.desktop-actions{display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;position:absolute!important;pointer-events:none!important}.mobile-actions{display:flex!important;gap:6px;align-items:center}.menu-hamburguesa{width:32px;height:32px;padding:6px}.app-main{padding:0}.remote-scraping-indicator{padding:4px 10px;font-size:10px}}@media(min-width:769px){.mobile-actions{display:none!important}.desktop-nav,.desktop-actions{display:flex!important}}@media(max-width:768px){.desktop-actions,.desktop-nav{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;position:absolute!important;left:-9999px!important}}.menu-hamburguesa{display:flex;flex-direction:column;justify-content:space-around;width:28px;height:28px;background:transparent;border:none;cursor:pointer;padding:4px;z-index:200}.menu-hamburguesa span{width:100%;height:3px;background:#4a90e2;border-radius:2px;transition:all .3s ease}.menu-hamburguesa.abierto span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-hamburguesa.abierto span:nth-child(2){opacity:0}.menu-hamburguesa.abierto span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}body.dark-mode .menu-hamburguesa span{background:#60a5fa}.menu-overlay{position:fixed;inset:0;background:#00000080;z-index:150;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu{position:fixed;top:0;right:0;width:280px;max-width:85vw;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:200;display:flex;flex-direction:column;animation:slideInRight .25s ease;overflow-y:auto}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}body.dark-mode .mobile-menu{background:#1f2937;box-shadow:-4px 0 20px #0006}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;font-weight:600;color:#374151}body.dark-mode .mobile-menu-header{border-bottom-color:#374151;color:#f3f4f6}.mobile-menu-header button{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280;padding:4px 8px}.mobile-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;background:none;border:none;font-size:15px;color:#374151;cursor:pointer;transition:background .2s;text-align:left}.mobile-menu button:hover{background:#4a90e21a}.mobile-menu button.active{background:#4a90e226;color:#2563eb;font-weight:600}body.dark-mode .mobile-menu button{color:#d1d5db}body.dark-mode .mobile-menu button:hover{background:#3b82f626}body.dark-mode .mobile-menu button.active{background:#3b82f633;color:#60a5fa}.mobile-menu button span:first-child{font-size:20px}.mobile-menu-divider{height:1px;background:#e5e7eb;margin:8px 0}body.dark-mode .mobile-menu-divider{background:#374151}.mobile-menu-item-auto{padding:8px 16px;display:flex;justify-content:center}.mobile-menu-item-auto>div{width:100%}.mobile-menu-item-auto .btn-iniciar,.mobile-menu-item-auto .btn-scraping{width:100%;justify-content:center}.mobile-menu-footer{margin-top:auto;padding:16px 20px;border-top:1px solid #e5e7eb}body.dark-mode .mobile-menu-footer{border-top-color:#374151}.app-nav button{display:flex;align-items:center;gap:6px}.nav-icon{font-size:16px;flex-shrink:0}.nav-text{white-space:nowrap}@media(min-width:769px)and (max-width:1024px){.nav-text{font-size:13px}}body.dark-mode .app-header{background:#1f2937cc;border-bottom:1px solid rgba(75,85,99,.3)}body.dark-mode .app-logo h1{background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.dark-mode .app-nav button{color:#9ca3af}body.dark-mode .app-nav button:hover{background:#3b82f626;color:#60a5fa}body.dark-mode .app-nav button.active{background:#3b82f633;border:1px solid rgba(59,130,246,.4);color:#60a5fa}body.dark-mode .dark-mode-toggle{border-color:#4b556380;color:#f9fafb}body.dark-mode .dark-mode-toggle:hover{background:#3b82f626;border-color:#3b82f666}body.dark-mode .app-footer{background:#1f2937;border-top:1px solid #374151;color:#9ca3af}body.dark-mode .app-footer a{color:#60a5fa}body.dark-mode .app-footer a:hover{color:#3b82f6}.remote-scraping-indicator{position:fixed;top:0;left:0;right:0;background:linear-gradient(90deg,#3b82f6,#2563eb);color:#fff;text-align:center;padding:8px 16px;font-size:14px;font-weight:500;z-index:1000;display:flex;align-items:center;justify-content:center;gap:10px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.pulse-dot{width:10px;height:10px;background:#fff;border-radius:50%;animation:remotePulseDot 1.5s ease-in-out infinite}@keyframes remotePulseDot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.sse-indicator{font-size:8px;margin-left:6px;vertical-align:middle;opacity:.8}.remote-scraping-indicator+.app-header{top:36px}.loading-fallback{display:flex;align-items:center;justify-content:center;min-height:300px;width:100%;padding:40px}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;gap:16px}.loading-spinner-container .spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.loading-spinner-container p{color:#6b7280;font-size:14px;margin:0}@keyframes spin{to{transform:rotate(360deg)}}.dark-mode .loading-spinner-container .spinner{border-color:#60a5fa33;border-top-color:#60a5fa}.dark-mode .loading-spinner-container p{color:#9ca3af}
