.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{font-family:system-ui,-apple-system,sans-serif;color-scheme:light dark}*{box-sizing:border-box}body{margin:0;background:#0f1420;color:#e6e9ef}a{color:#6ea8ff;text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:24px}h1{font-size:1.4rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card{background:#1a2233;border:1px solid #2a3550;border-radius:10px;padding:16px}.card h3{margin:0 0 8px}.stat{display:flex;justify-content:space-between;padding:4px 0}.stat .label{color:#9aa4b8}.stat .value{font-variant-numeric:tabular-nums;font-weight:600}.stat .value{transition:color .45s ease,text-shadow .45s ease}.stat .value.live{color:#ffe066;text-shadow:0 0 10px rgba(255,224,102,.55)}.stat .label.live{color:#ffe066;transition:color .45s ease}.grid.flash .card{border-color:#4dabf7;box-shadow:0 0 14px #4dabf740;transition:border-color .45s ease,box-shadow .45s ease}.grid.flash .card{transition:box-shadow .2s,border-color .2s}.progreso{height:8px;border-radius:999px;background:#2a3550;overflow:hidden;margin-top:8px}.progreso .barra{height:100%;border-radius:999px;background:linear-gradient(90deg,#4dabf7,#38d9a9);transition:width 1s linear}.badge{display:inline-block;padding:2px 10px;border-radius:999px;background:#26406b;color:#cfe0ff;font-size:.8rem}.chart{width:100%;height:220px}.landing{display:flex;flex-direction:column;align-items:center;background:#0b0f18}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}.landing-hero{width:100%;max-width:1100px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:48px 24px 56px}.hero-texto h1{font-size:2.3rem;line-height:1.2;margin:0 0 16px;color:#f2f5fb}.hero-sub{font-size:1.05rem;line-height:1.6;color:#a9b4c9;margin:0 0 26px}.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}.landing-hero.sin-imagen{grid-template-columns:1fr;max-width:820px;text-align:center;padding-top:72px;padding-bottom:72px}.landing-hero.sin-imagen .hero-ctas{justify-content:center}.hero-media img{display:block;width:100%;height:auto;border-radius:12px}.landing-main{width:100%;display:flex;flex-direction:column;align-items:center}.landing-seccion{width:100%;max-width:1100px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:56px 24px}.landing-seccion.invertida .seccion-texto{order:2}.landing-seccion.invertida .seccion-media{order:1}.seccion-texto h2{font-size:1.6rem;line-height:1.3;margin:0 0 14px;color:#f2f5fb}.seccion-texto p{font-size:1rem;line-height:1.7;color:#a9b4c9;margin:0 0 12px}.seccion-media img{display:block;width:100%;height:auto;border-radius:12px}.landing-nav{position:sticky;top:0;z-index:10;width:100%;max-width:1100px;display:flex;align-items:center;gap:14px;padding:10px 16px;background:#0b0f18f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.84rem}.landing-nav a{color:#d5def0}.landing-nav a:hover{color:#70a7ff}.nav-spacer{flex:1}.nav-login,.nav-demo{padding:7px 10px;border-radius:6px}.nav-demo{background:#e53935;color:#fff!important;font-weight:700}.trust-stats{width:100%;max-width:1100px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:42px 24px;text-align:center}.trust-stats .stat-card{padding:24px 12px;border:1px solid #293753;border-radius:12px;background:#131c2d;opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}.trust-stats .stat-card.is-visible{opacity:1;transform:translateY(0)}.trust-stats .stat-card:nth-child(2){transition-delay:.1s}.trust-stats .stat-card:nth-child(3){transition-delay:.2s}.trust-stats .stat-card:nth-child(4){transition-delay:.3s}.trust-stats strong,.trust-stats span{display:block}.trust-stats strong{color:#70a7ff;font-size:2rem}.trust-stats span{color:#a9b4c9;margin-top:4px}.footer-col{text-align:center}.footer-col p{margin:4px 0}.footer-line{display:flex;align-items:center;justify-content:center;gap:8px}.footer-line svg{width:16px;height:16px;fill:#70a7ff;flex:none}.whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border-radius:999px;background:#1fae54;color:#fff!important;font-weight:700;box-shadow:0 6px 20px #1fae5459;transition:transform .15s ease,background .15s ease}.whatsapp:hover{background:#189046;transform:translateY(-1px)}.whatsapp svg{width:20px;height:20px;fill:currentColor}.footer-note{text-align:center}.landing-footer{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:center;padding-left:24px;padding-right:24px}.landing .hero-img{display:block;width:100%;max-width:1100px;height:auto}.landing-cta{position:sticky;bottom:0;width:100%;display:flex;justify-content:center;padding:20px 0;background:linear-gradient(180deg,#0b0f1800,#0b0f18 60%)}.btn-entrar{background:#e53935;color:#fff;font-size:1.15rem;font-weight:700;padding:16px 40px;border-radius:8px;box-shadow:0 6px 20px #e5393566;transition:background .15s ease,transform .1s ease}.btn-entrar:hover{background:#c62828;transform:translateY(-1px)}.btn-entrar:active{transform:translateY(0)}.landing-footer{width:100%;text-align:center;color:#6b7488;font-size:.85rem;padding:16px 0 28px}.btn-secundario{display:inline-flex;align-items:center;padding:15px 28px;border:1px solid #2f4160;border-radius:8px;color:#cfe0ff;font-size:1rem;font-weight:600;transition:border-color .15s ease,background .15s ease}.btn-secundario:hover{border-color:#70a7ff;background:#162036}.landing a:focus-visible{outline:2px solid #70a7ff;outline-offset:3px;border-radius:4px}@media (max-width: 768px){.landing-hero,.landing-seccion{grid-template-columns:1fr;gap:24px;padding:36px 20px}.landing-seccion.invertida .seccion-texto{order:1}.landing-seccion.invertida .seccion-media{order:2}.hero-texto h1{font-size:1.7rem}.seccion-texto h2{font-size:1.3rem}.landing-nav{flex-wrap:nowrap;overflow-x:auto}.landing-nav .nav-spacer{display:none}.trust-stats{grid-template-columns:repeat(2,1fr)}}.top-nav{display:flex;gap:16px;align-items:center;margin-bottom:8px}.hb{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:#9aa4b8;margin-left:auto}.hb-dot{width:10px;height:10px;border-radius:50%;background:#2a3550;box-shadow:0 0 #4dabf700}.hb-ok .hb-dot{background:#4ade80;box-shadow:0 0 10px #4ade8099}.hb-warn .hb-dot{background:#fbbf24;animation:hb-pulse 1.2s infinite}.hb-stale .hb-dot{background:#ff6b6b;animation:hb-pulse .6s infinite}.hb-texto{font-variant-numeric:tabular-nums;font-weight:600}@keyframes hb-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.15)}}@media (prefers-reduced-motion: reduce){.hb-warn .hb-dot,.hb-stale .hb-dot{animation:none}}.tl{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.tl::-webkit-scrollbar{display:none}.tl-step{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 auto;min-width:110px;cursor:default}.tl-dot{width:12px;height:12px;border-radius:50%;border:2px solid #26314c;background:#131c2d}.tl-pendiente .tl-dot{border-color:#4a5568}.tl-visitado .tl-dot{border-color:#38d9a9;background:#38d9a9}.tl-actual .tl-dot{border-color:#e53935;background:#e53935;box-shadow:0 0 #e5393599;animation:hb-pulse 1.4s infinite}.tl-body{text-align:center;font-size:.72rem;color:#9aa4b8;line-height:1.15}.tl-visitado .tl-body{color:#cfe0ff}.tl-actual .tl-body{color:#fff;font-weight:700}.tl-id{font-size:.62rem;color:#6b7488;margin-top:2px}.tl-visitado .tl-id{color:#9aa4b8}.tl-nombre{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px;margin-top:2px}.chart-full{width:100%;height:340px}.export-card{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0}.export-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-secondary{display:inline-block;background:#2c6bed;color:#fff;border-radius:8px;padding:10px 14px;font-weight:700}.btn-secondary:hover{background:#1d4ed8}.muted{color:#9aa4b8;margin:4px 0 0}.uplot,.uplot *,.u-legend,.u-legend .u-label{color:#cfd6e4}@media (prefers-reduced-motion: reduce){.trust-stats .stat-card{opacity:1;transform:none;transition:none}.whatsapp{transition:none}}@media (max-width: 700px){.landing-nav{overflow-x:auto;white-space:nowrap}.nav-spacer{display:none}.trust-stats{grid-template-columns:repeat(2,1fr);padding:24px 14px}.landing-footer{grid-template-columns:1fr;text-align:center}.export-card{align-items:flex-start;flex-direction:column}}.portal-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,#1b2740,#0b0f18 60%)}.auth-card{width:100%;max-width:420px;background:#141c2c;border:1px solid #26314c;border-radius:16px;padding:28px 26px;box-shadow:0 20px 60px #00000073}.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:22px}.auth-brand h1{font-size:1.25rem;margin:0}.auth-brand p{margin:2px 0 0;font-size:.82rem}.auth-logo{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:12px;flex:none;background:linear-gradient(135deg,#e53935,#b71c1c);color:#fff;font-weight:900;letter-spacing:-1px;font-size:1.1rem}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:#c7d0e2}.auth-form input[type=text],.auth-form input[type=password],.filtros select{padding:11px 12px;border-radius:9px;border:1px solid #2c3a58;background:#0f1726;color:#e6e9ef;font-size:.95rem;outline:none}.auth-form input:focus,.filtros select:focus{border-color:#2c6bed;box-shadow:0 0 0 3px #2c6bed2e}.auth-row{display:flex;align-items:center;justify-content:space-between}.checkbox{flex-direction:row!important;align-items:center;gap:8px;color:#c7d0e2}.link-btn{background:none;border:none;color:#6ea8ff;cursor:pointer;font-size:.85rem;padding:0}.link-btn:hover{text-decoration:underline}.link-btn.centered{text-align:center}.btn-primary{display:inline-block;text-align:center;background:#2c6bed;color:#fff;border:none;border-radius:9px;padding:12px 16px;font-weight:700;font-size:.95rem;cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:#1d4ed8}.btn-primary:disabled{opacity:.6;cursor:default}.auth-error{color:#ff9b9b;font-size:.85rem;margin:0}.auth-info{color:#9ee6b4;font-size:.85rem;margin:0}.auth-debug{background:#10192b;border:1px dashed #2c3a58;border-radius:8px;padding:10px;font-size:.78rem;color:#a9b4c9;word-break:break-all}.auth-foot{margin-top:18px;border-top:1px solid #232f49;padding-top:14px;font-size:.8rem}.portal{min-height:100vh;background:#0b0f18}.portal-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 20px;background:#0b0f18f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #1c2740}.portal-brand{display:flex;align-items:center;gap:12px}.portal-brand small{display:block;font-size:.78rem}.portal-tabs{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.portal-tab{background:#131c2d;border:1px solid #26314c;color:#c7d0e2;border-radius:999px;padding:8px 14px;cursor:pointer;font-size:.82rem}.portal-tab.activo{background:#2c6bed;border-color:#2c6bed;color:#fff;font-weight:700}.portal-main{max-width:1180px;margin:0 auto;padding:22px 20px 60px}.panel{background:#131c2d;border:1px solid #26314c;border-radius:14px;padding:18px;margin-bottom:18px}.panel h2{font-size:1.02rem;margin:0 0 14px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}.kpi-card{background:linear-gradient(160deg,#16213a,#131c2d);border:1px solid #26314c;border-radius:14px;padding:18px;text-align:center}.kpi-card strong{display:block;font-size:2rem;color:#70a7ff}.kpi-card span{color:#a9b4c9;font-size:.82rem}.resumen-2col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mapa-wrap{display:grid;grid-template-columns:2fr 1fr;gap:14px}.mapa-iframe{border-radius:12px;overflow:hidden;border:1px solid #26314c;min-height:340px}.mapa-iframe iframe{width:100%;height:100%;min-height:340px;border:0;display:block}.mapa-lista{display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto}.punto{display:flex;align-items:center;gap:10px;text-align:left;background:#0f1726;border:1px solid #26314c;border-radius:10px;padding:10px;cursor:pointer;color:#dbe3f2}.punto.activo{border-color:#2c6bed;background:#14213a}.punto small{display:block;color:#8d99b3;font-size:.74rem}.punto-icon{font-size:1.1rem}.timeline{list-style:none;margin:0;padding:0 0 0 6px;max-height:420px;overflow-y:auto}.timeline-item{position:relative;padding:0 0 16px 22px;border-left:2px solid #26314c}.timeline-dot{position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;border:2px solid #131c2d}.timeline-head{display:flex;justify-content:space-between;gap:10px}.timeline-fecha{color:#8d99b3;font-size:.78rem;white-space:nowrap}.timeline-body small{font-size:.78rem}.doc-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}.doc-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#0f1726;border:1px solid #26314c;border-radius:9px;padding:10px;cursor:pointer;color:#dbe3f2}.doc-item:hover{border-color:#2c6bed}.doc-tipo{font-size:.66rem;font-weight:800;padding:3px 7px;border-radius:6px;background:#24406b;color:#cfe0ff}.doc-tipo.pdf{background:#5a1f22;color:#ffc9c9}.doc-tipo.excel{background:#1e4a30;color:#b8f4cf}.doc-tipo.imagen{background:#3a2c5a;color:#d9c9ff}.doc-nombre{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-ver{color:#6ea8ff;font-size:.8rem}.doc-link{display:inline-block;margin-top:10px;font-size:.82rem}.datos-cliente{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.datos-cliente>div{background:#0f1726;border:1px solid #26314c;border-radius:9px;padding:10px 12px}.datos-cliente .label{display:block;color:#8d99b3;font-size:.74rem;margin-bottom:3px}.equipo-card h3,.reporte-card h3{font-size:.98rem}.reporte-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}.badge.tipo-validacion{background:#26406b}.badge.tipo-mantenimiento{background:#1e4a30;color:#b8f4cf}.badge.tipo-calibracion{background:#5a4416;color:#ffe2a8}.badge.tipo-instalacion{background:#3a2c5a;color:#d9c9ff}.veredicto{font-size:.74rem;font-weight:700;color:#9ee6b4}.reporte-archivos{margin-top:10px;display:flex;flex-direction:column;gap:8px}.btn-secondary.full{width:100%;margin-top:10px;text-align:center}.filtros{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.filtros label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:#c7d0e2}.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.galeria-item{background:#131c2d;border:1px solid #26314c;border-radius:12px;overflow:hidden;cursor:pointer;padding:0;color:#dbe3f2}.galeria-item img{width:100%;height:140px;object-fit:cover;display:block;background:#0f1726}.galeria-nombre{display:block;padding:8px 10px;font-size:.76rem;text-align:left}.visor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#04070cd1;display:flex;align-items:center;justify-content:center;padding:20px}.visor{width:100%;max-width:1000px;height:88vh;background:#141c2c;border:1px solid #26314c;border-radius:14px;display:flex;flex-direction:column;overflow:hidden}.visor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #26314c}.visor-head small{display:block;font-size:.72rem}.visor-acciones{display:flex;align-items:center;gap:12px}.visor-body{flex:1;overflow:auto;padding:12px;display:flex;align-items:center;justify-content:center}.visor-pdf{width:100%;height:100%;border:0;border-radius:8px;background:#fff}.visor-img{max-width:100%;max-height:100%;border-radius:8px}.visor-excel{width:100%;align-self:stretch}.hojas-tabs{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.hoja-tab{background:#0f1726;border:1px solid #26314c;color:#c7d0e2;border-radius:6px;padding:5px 10px;cursor:pointer;font-size:.78rem}.hoja-tab.activo{background:#2c6bed;border-color:#2c6bed;color:#fff}.tabla-scroll{overflow:auto;max-height:72vh;border:1px solid #26314c;border-radius:8px}.tabla-excel{border-collapse:collapse;font-size:.78rem;width:100%;color:#dbe3f2}.tabla-excel td{border:1px solid #26314c;padding:5px 8px;white-space:nowrap}.tabla-excel tr:first-child td{background:#182238;font-weight:700}@media (max-width: 860px){.resumen-2col,.mapa-wrap{grid-template-columns:1fr}.portal-tabs{width:100%;margin-left:0}}.admin-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 20px;background:#0e1526;border-bottom:1px solid #26314c}.admin-badge{background:linear-gradient(135deg,#e53935,#b71c1c);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.5px;padding:4px 10px;border-radius:999px;text-transform:uppercase}.selector-cliente{position:relative;flex:1;max-width:560px}.selector-toggle{display:flex;align-items:center;gap:10px;width:100%;background:#131c2d;border:1px solid #2c3a58;border-radius:9px;padding:9px 12px;cursor:pointer;color:#e6e9ef;text-align:left}.selector-toggle:hover{border-color:#2c6bed}.selector-label{font-size:.68rem;font-weight:800;color:#8d99b3;text-transform:uppercase;letter-spacing:.5px}.selector-valor{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selector-flecha{color:#8d99b3;font-size:.7rem}.selector-panel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;background:#141c2c;border:1px solid #26314c;border-radius:10px;box-shadow:0 16px 40px #00000080;overflow:hidden}.selector-buscar{width:100%;padding:11px 12px;border:none;border-bottom:1px solid #26314c;background:#0f1726;color:#e6e9ef;font-size:.92rem;outline:none}.selector-lista{list-style:none;margin:0;padding:6px;max-height:340px;overflow-y:auto}.selector-vacio{padding:12px;color:#8d99b3;font-size:.85rem;text-align:center}.selector-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:9px 10px;cursor:pointer;color:#dbe3f2}.selector-item:hover{background:#1a2540}.selector-item.activo{background:#14213a;box-shadow:inset 0 0 0 1px #2c6bed}.selector-item-nombre{font-weight:600;font-size:.9rem}.selector-item-meta{font-size:.72rem;color:#8d99b3}.asistente-fab{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:8px;background:#2c6bed;border:none;color:#fff;padding:12px 18px;border-radius:999px;cursor:pointer;font-size:.9rem;font-weight:600;box-shadow:0 10px 28px #2c6bed73}.asistente-fab:hover{background:#3a78f5}.asistente-fab-icono{font-size:1.1rem}.asistente{position:fixed;right:20px;bottom:20px;z-index:60;width:min(380px,calc(100vw - 32px));height:min(540px,calc(100vh - 40px));display:flex;flex-direction:column;background:#141c2c;border:1px solid #26314c;border-radius:16px;box-shadow:0 20px 50px #0000008c;overflow:hidden}.asistente-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #26314c;background:#0f1726}.asistente-head strong{display:block;font-size:.95rem}.asistente-head small{font-size:.72rem}.asistente-cerrar{background:none;border:none;color:#8d99b3;cursor:pointer;font-size:1rem;padding:4px 6px;border-radius:6px}.asistente-cerrar:hover{color:#fff;background:#1a2540}.asistente-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.asistente-inicio{display:flex;flex-direction:column;gap:12px}.asistente-inicio p{margin:0;font-size:.86rem;line-height:1.45}.asistente-sugerencias{display:flex;flex-direction:column;gap:8px}.asistente-chip{text-align:left;background:#0f1726;border:1px solid #26314c;color:#c7d0e2;border-radius:9px;padding:9px 11px;cursor:pointer;font-size:.82rem}.asistente-chip:hover{border-color:#2c6bed;background:#14213a}.asistente-msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:.85rem}.asistente-msg p{margin:0;white-space:pre-wrap;line-height:1.45}.asistente-msg.user{align-self:flex-end;background:#2c6bed;color:#fff;border-bottom-right-radius:4px}.asistente-msg.assistant{align-self:flex-start;background:#0f1726;border:1px solid #26314c;border-bottom-left-radius:4px}.asistente-form{display:flex;gap:8px;padding:10px;border-top:1px solid #26314c;background:#0f1726}.asistente-form input{flex:1;background:#141c2c;border:1px solid #26314c;border-radius:9px;padding:10px 12px;color:#e6e9ef;font-size:.88rem;outline:none}.asistente-form input:focus{border-color:#2c6bed}.asistente-form button{background:#2c6bed;border:none;color:#fff;border-radius:9px;padding:0 16px;cursor:pointer;font-weight:600;font-size:.85rem}.asistente-form button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 520px){.asistente{right:8px;left:8px;bottom:8px;width:auto;height:min(70vh,540px)}.asistente-fab{right:12px;bottom:12px}}.archivos-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:.88rem}.archivos-head strong{color:#70a7ff;font-size:1.4rem}.archivos-migas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.miga{background:#0f1726;border:1px solid #26314c;color:#c7d0e2;border-radius:999px;padding:7px 13px;cursor:pointer;font-size:.78rem}.miga:hover{border-color:#2c6bed}.miga.activo{background:#2c6bed;border-color:#2c6bed;color:#fff;font-weight:600}.doc-meta{color:#8d99b3;font-size:.74rem;white-space:nowrap}.archivos-visor{margin-top:18px;background:#131c2d;border:1px solid #26314c;border-radius:14px;overflow:hidden}.archivos-visor-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid #26314c;flex-wrap:wrap}.archivos-visor-head strong{display:block;font-size:.92rem}.archivos-visor-head small{display:block;font-size:.72rem;margin-top:2px}.archivos-visor-acciones{display:flex;align-items:center;gap:14px;font-size:.82rem}.archivos-visor-body{height:74vh;background:#0f1726}.archivos-pdf{width:100%;height:100%;border:0;background:#fff;display:block}@media (max-width: 700px){.archivos-visor-body{height:62vh}.doc-meta{display:none}}.logo-vml{flex:none;display:block;filter:drop-shadow(0 4px 10px rgba(229,57,53,.25))}.portal-cargando{display:flex;align-items:center;justify-content:center;min-height:100vh}.cargando-centro{display:flex;flex-direction:column;align-items:center;gap:14px}.portal-metricas{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap}.metrica{background:#0f1726;border:1px solid #26314c;border-radius:999px;padding:6px 13px;font-size:.78rem;color:#a9b4c9;white-space:nowrap}.metrica strong{color:#70a7ff;margin-right:4px}.admin-tabs{display:flex;gap:6px;margin-left:auto}.portal-2col{display:grid;grid-template-columns:minmax(320px,5fr) minmax(360px,7fr);gap:18px;align-items:start}@media (max-width: 900px){.portal-2col{grid-template-columns:1fr}}.equipos-lista{display:flex;flex-direction:column;gap:10px}.equipo-fila{background:#0f1726;border:1px solid #26314c;border-radius:12px;padding:12px 14px;transition:border-color .15s ease}.equipo-fila:hover{border-color:#2c6bed}.equipo-fila-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.equipo-id{color:#6b7488;font-size:.72rem;font-family:ui-monospace,monospace}.equipo-fila-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 16px;font-size:.84rem}.equipo-fila-meta .label{display:block;color:#8d99b3;font-size:.68rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1px}.panel-archivos-meta{margin-bottom:10px;font-size:.86rem}.panel-archivos-meta strong{color:#70a7ff;font-size:1.15rem}.doc-lista-panel{max-height:480px}.panel-archivos{position:sticky;top:80px}@media (max-width: 900px){.panel-archivos{position:static}}.ubicaciones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.ubicacion-card{background:linear-gradient(160deg,#16213a,#131c2d);border:1px solid #26314c;border-radius:14px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.ubicacion-card.abierta{border-color:#2c6bed;box-shadow:0 8px 24px #2c6bed26}.ubicacion-card.sin-coords{opacity:.72}.ubicacion-head{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;color:#dbe3f2;padding:14px 16px;cursor:pointer}.ubicacion-head:disabled{cursor:default}.ubicacion-head:not(:disabled):hover{background:#2c6bed14}.ubicacion-pin{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;flex:none;font-size:1.05rem;background:linear-gradient(135deg,#24406b,#1a2a48)}.ubicacion-datos{flex:1;min-width:0;display:flex;flex-direction:column}.ubicacion-datos small{color:#8d99b3;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ubicacion-n{flex:none;font-size:.7rem;font-weight:700;color:#70a7ff;background:#70a7ff1f;border-radius:999px;padding:4px 9px}.ubicacion-flecha{color:#8d99b3;font-size:.72rem;flex:none}.ubicacion-mapa{border-top:1px solid #26314c;padding:10px}.ubicacion-mapa iframe{width:100%;height:230px;border:0;border-radius:10px;display:block;background:#0f1726}.ubicacion-enlace{display:inline-block;margin-top:8px;font-size:.78rem;color:#6ea8ff}.ubicacion-enlace:hover{text-decoration:underline}.ubicacion-equipos{list-style:none;margin:0;padding:10px 16px;border-top:1px solid #26314c;display:flex;flex-direction:column;gap:6px;font-size:.84rem}.ubicacion-equipos small{color:#8d99b3}.admin-buscar{width:100%;max-width:420px;margin:10px 0 14px;padding:10px 12px;border-radius:9px;border:1px solid #2c3a58;background:#0f1726;color:#e6e9ef;font-size:.9rem;outline:none}.admin-buscar:focus{border-color:#2c6bed;box-shadow:0 0 0 3px #2c6bed2e}.tabla-usuarios{border-collapse:collapse;width:100%;font-size:.86rem;color:#dbe3f2}.tabla-usuarios th{text-align:left;padding:9px 10px;color:#8d99b3;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #26314c;white-space:nowrap}.tabla-usuarios td{padding:9px 10px;border-bottom:1px solid #1c2740;vertical-align:middle}.tabla-usuarios tr:hover td{background:#2c6bed0d}.tabla-input{padding:6px 9px;border-radius:7px;border:1px solid #2c3a58;background:#131c2d;color:#e6e9ef;font-size:.86rem;outline:none}.tabla-input:focus{border-color:#2c6bed}.btn-mini{padding:6px 12px;font-size:.8rem;border-radius:7px;border:none;cursor:pointer}.acciones-editar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tabla-pass{display:flex;flex-direction:column;gap:3px;font-size:.7rem;color:#8d99b3}.estado-toggle{background:none;border:none;cursor:pointer;font-size:.82rem;font-weight:700;padding:4px 10px;border-radius:999px}.estado-toggle.activo{color:#9ee6b4;background:#1fae541f}.estado-toggle.inactivo{color:#ffb199;background:#e558391f}.badge.rol-admin{background:#5a1f22;color:#ffc9c9}.badge.rol-cliente{background:#26406b;color:#cfe0ff}.dispositivos-head{display:flex;gap:8px;margin-bottom:14px}.dispositivos-form label{display:block;margin-bottom:10px;font-size:.84rem;color:#a9b4cc}.dispositivos-form input{display:block;width:100%;max-width:360px;margin-top:4px;padding:9px 11px;border-radius:8px;border:1px solid #2c3a58;background:#0e1524;color:#e6e9ef;font-size:.9rem;outline:none}.dispositivos-form input:focus{border-color:#2c6bed}.dispositivos-form .btn-primario{margin-top:6px}.dispositivos-nota{display:flex;justify-content:space-between;align-items:center}.dispositivos-lista{overflow-x:auto}.dispositivos-lista table{width:100%;border-collapse:collapse;font-size:.85rem}.dispositivos-lista th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#8d99b3;padding:6px 10px;border-bottom:1px solid #26314c}.dispositivos-lista td{padding:9px 10px;border-bottom:1px solid #1c2740;vertical-align:middle}.dispositivos-acciones{display:flex;gap:10px;flex-wrap:wrap}.link-btn.peligro{color:#ff8f7d}.dispositivos-modal-fondo{position:fixed;top:0;right:0;bottom:0;left:0;background:#040810b8;display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}.dispositivos-modal{max-width:560px;width:100%;margin:0}.dispositivos-key{font-size:1rem;padding:12px 14px;border-radius:10px;-webkit-user-select:all;user-select:all;background:#0e1524;border:1px solid #2c6bed;color:#9ee6b4;overflow-x:auto}.dispositivos-modal-acciones{display:flex;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}.dispositivos-instrucciones{margin-top:14px;font-size:.82rem;color:#a9b4cc}.dispositivos-instrucciones pre{white-space:pre-wrap;margin:8px 0 0;line-height:1.5}.btn-primario{padding:9px 16px;border-radius:8px;border:none;cursor:pointer;background:#2c6bed;color:#fff;font-weight:700;font-size:.86rem}.btn-primario:disabled{opacity:.5;cursor:not-allowed}.cabecera{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px;padding:14px 16px;background:#0e1524;border:1px solid #26314c;border-radius:10px}.cab-titulo{display:flex;flex-direction:column;gap:6px}.id-chip{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.05em;color:#9ee6b4;text-transform:uppercase;margin-bottom:2px}.nombre-equipo{margin:0;font-size:1.25rem;font-weight:700;color:#e6e9ef}.cliente{font-weight:400;color:#a9b4cc;font-size:.9rem}.estado-chip{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;margin-top:4px}.estado-chip .dot{width:8px;height:8px;border-radius:50%}.estado-chip .dot.live{background:#9ee6b4;box-shadow:0 0 6px #9ee6b4}.estado-chip .dot.off{background:#ff8f7d}.progreso-card{background:#131c2d;border:1px solid #26314c;border-radius:10px;padding:12px 14px;min-width:260px}.progreso-fila{display:flex;justify-content:space-between;margin-bottom:6px;font-size:.8rem;color:#8d99b3}.progreso-pct{color:#2c6bed;font-weight:700}.progreso-barra{height:8px;background:#1c2740;border-radius:4px;overflow:hidden;margin-bottom:6px}.progreso-relleno{height:100%;background:#2c6bed;border-radius:4px;transition:width .3s ease}.progreso-tiempos{display:flex;gap:16px;font-size:.78rem;color:#a9b4cc}.stepper{display:flex;justify-content:space-between;margin:14px 0 10px}.step{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.72rem;color:#8d99b3;flex:1}.step-dot{width:24px;height:24px;border-radius:50%;border:2px solid #26314c;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;background:#0e1524}.step.completo .step-dot{border-color:#9ee6b4;background:#9ee6b4;color:#000}.step.activo .step-dot{border-color:#2c6bed;background:#2c6bed;color:#fff}.step.completo .step-nombre{color:#9ee6b4;font-weight:700}.step.activo .step-nombre{color:#2c6bed;font-weight:700}.step-nombre{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gauges{display:flex;gap:14px;margin:14px 0}.gauge{flex:1;background:#131c2d;border:1px solid #26314c;border-radius:10px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:8px}.gauge-titulo{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8d99b3}.gauge-valor{font-size:1.75rem;font-weight:800;color:#e6e9ef}.gauge-consigna{font-size:.78rem;color:#a9b4cc}.controles{display:flex;gap:10px;margin:14px 0}.btn{padding:10px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:700;font-size:.85rem;flex:1}.btn-sec{background:#2c3a58;color:#e6e9ef}.btn-sec:hover{background:#374a70}.btn-pel{background:#5a1f22;color:#ffc9c9}.btn-pel:hover{background:#7a2f32}.card-full{margin-bottom:16px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.card-header h3{margin:0;font-size:1rem}.chip-consigna{font-size:.78rem;color:#8d99b3;background:#131c2d;padding:6px 10px;border-radius:6px;border:1px solid #26314c}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.card-secuencia{margin-bottom:16px}.alarma{display:flex;justify-content:space-between;margin:6px 0;font-size:.85rem}.alarma.ok{color:#9ee6b4}.alarma.activa{color:#ff8f7d;font-weight:700}.resultado-clase-ok{color:#9ee6b4;font-weight:700}.resultado-clase-falla{color:#ff8f7d;font-weight:700}.resultado-clase-neutro{color:#a9b4cc}.tl{display:flex;justify-content:space-between;gap:6px;margin-top:10px}.tl-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;font-size:.7rem}.tl-dot{width:20px;height:20px;border-radius:50%;border:2px solid #26314c;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.7rem;background:#0e1524}.tl-step.tl-actual .tl-dot{border-color:#2c6bed;background:#2c6bed;color:#fff}.tl-step.tl-visitado .tl-dot{border-color:#9ee6b4;background:#9ee6b4;color:#000}.tl-body{display:flex;flex-direction:column;align-items:center;gap:2px}.tl-id{font-size:.65rem;font-weight:700;color:#8d99b3}.tl-step.tl-actual .tl-id{color:#2c6bed}.tl-step.tl-visitado .tl-id{color:#9ee6b4}.tl-nombre{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;line-height:1.2}.db-page{max-width:1200px;margin:0 auto;padding:20px 20px 60px;display:flex;flex-direction:column;gap:16px}.db-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 4px}.db-breadcrumb{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#6b7280}.db-breadcrumb a{color:#6ea8ff}.db-eq-id{font-family:ui-monospace,monospace;color:#cbd5e1;font-weight:700;font-size:.85rem}.db-header{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:#141c2c;border:1px solid #1e2d45;border-radius:14px;padding:16px 20px}@media (max-width: 768px){.db-header{grid-template-columns:1fr}}.db-eq-chip{font-family:ui-monospace,monospace;font-size:.72rem;color:#70a7ff;background:#70a7ff1a;border:1px solid rgba(112,167,255,.2);border-radius:999px;padding:3px 10px;display:inline-block;margin-bottom:4px}.db-eq-model{font-size:1.15rem;font-weight:700;color:#f1f5f9}.db-eq-cliente{font-size:.82rem;color:#9ca3af;margin-top:2px}.db-estado-block{display:flex;align-items:center;gap:12px;background:#0f1726;border:1px solid;border-radius:12px;padding:12px 16px;transition:border-color .3s ease}.db-estado-dot{width:14px;height:14px;border-radius:50%;flex:none;transition:background .3s ease,box-shadow .3s ease}.db-estado-label{font-size:1rem;font-weight:700;letter-spacing:.03em}.db-estado-sub{font-size:.76rem;color:#9ca3af;margin-top:2px}.db-vivo-badge{margin-left:auto;font-size:.68rem;font-weight:800;letter-spacing:.08em;padding:4px 10px;border-radius:999px;text-transform:uppercase}.db-vivo-badge.live{background:#4ade801f;color:#4ade80;border:1px solid rgba(74,222,128,.3)}.db-vivo-badge.off{background:#f871711f;color:#f87171;border:1px solid rgba(248,113,113,.3)}.db-progreso-wrap{min-width:200px}.db-progreso-row{display:flex;justify-content:space-between;font-size:.78rem;color:#9ca3af;margin-bottom:6px}.db-progreso-pct{font-weight:700;color:#e2e8f0}.db-progreso-track{height:8px;border-radius:999px;background:#1f2937;overflow:hidden}.db-progreso-fill{height:100%;border-radius:999px;transition:width 1s linear,background .3s ease}.db-progreso-times{display:flex;gap:12px;font-size:.72rem;color:#6b7280;margin-top:5px}.stepper{display:flex;align-items:flex-start;gap:0;padding:12px 0;overflow-x:auto;scrollbar-width:none}.stepper::-webkit-scrollbar{display:none}.step{display:flex;flex-direction:column;align-items:center;flex:1;min-width:80px;position:relative}.step-linea{position:absolute;top:14px;right:50%;left:-50%;height:2px;background:#1f2937;z-index:0}.step-linea.hecha{background:#22c55e}.step-dot{width:28px;height:28px;border-radius:50%;background:#0f1726;border:2px solid #374151;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#6b7280;position:relative;z-index:1;transition:all .3s ease}.step-dot.hecho{background:#14532d;border-color:#22c55e;color:#22c55e}.step-dot.activo{border-color:#3b82f6;color:#3b82f6;box-shadow:0 0 0 4px #3b82f633;animation:step-pulse 2s infinite}@keyframes step-pulse{0%,to{box-shadow:0 0 0 4px #3b82f633}50%{box-shadow:0 0 0 8px #3b82f60d}}.step-nombre{font-size:.68rem;color:#6b7280;text-align:center;margin-top:6px;white-space:nowrap}.step.completo .step-nombre{color:#22c55e}.step.activo .step-nombre{color:#93c5fd;font-weight:700}.db-gauges{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:start;padding:4px 0;transition:filter .2s ease}.db-gauges.flash{filter:brightness(1.15)}@media (max-width: 900px){.db-gauges{grid-template-columns:repeat(2,1fr)}}@media (max-width: 580px){.db-gauges{grid-template-columns:1fr 1fr}}.gauge-card{background:#141c2c;border:1px solid #1e2d45;border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px}.gauge-svg{width:120px;height:90px}.gauge-label{font-size:.72rem;color:#9ca3af;text-align:center;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.gauge-ref{font-size:.68rem;color:#6b7280}.db-metricas-col{display:flex;flex-direction:column;gap:8px}.metrica-card{background:#141c2c;border:1px solid #1e2d45;border-radius:10px;padding:10px 14px;min-width:140px}.metrica-label{font-size:.68rem;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.metrica-valor{font-size:1.2rem;font-weight:700;color:#e2e8f0;font-variant-numeric:tabular-nums}.metrica-sub{font-size:.7rem;color:#6b7280;margin-top:2px}.db-chart-card{background:#141c2c;border:1px solid #1e2d45;border-radius:14px;padding:16px}.db-chart-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.db-chart-header h3{margin:0;font-size:.95rem;color:#e2e8f0}.db-chart-legend{display:flex;gap:12px;font-size:.75rem;color:#9ca3af;flex-wrap:wrap}.db-setpoints{margin-left:auto;font-size:.78rem;color:#9ca3af}.db-setpoints strong{color:#e2e8f0}.chart-empty{height:200px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:.88rem;background:#0f1726;border-radius:8px}.db-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width: 900px){.db-grid-3{grid-template-columns:1fr}}.db-card{background:#141c2c;border:1px solid #1e2d45;border-radius:14px;padding:16px}.db-card h4{margin:0 0 12px;font-size:.85rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em}.db-stat{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px solid #1a2540;font-size:.84rem;gap:8px}.db-stat:last-child{border-bottom:none}.db-stat>span:first-child{color:#6b7280}.db-stat>span:last-child{font-weight:600;color:#e2e8f0;font-variant-numeric:tabular-nums;text-align:right}.db-alarma{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:.84rem;margin-bottom:6px}.db-alarma.ok{background:#4ade800f;color:#9ca3af}.db-alarma.activa{background:#f871711f;color:#fca5a5;font-weight:700}.db-alarma-icono{font-size:.9rem;flex:none}.db-alarma span:nth-child(2){flex:1}.db-alarma span:last-child{font-weight:700}.db-timeline-card{background:#141c2c;border:1px solid #1e2d45;border-radius:14px;padding:16px}.db-timeline-card h4{margin:0 0 12px;font-size:.85rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em}@media (prefers-reduced-motion: reduce){.step-dot.activo{animation:none}.db-progreso-fill,.db-estado-dot{transition:none}}.portal-nav{display:flex;gap:4px;padding:0 20px;background:#0b0f18f5;border-bottom:1px solid #1c2740;overflow-x:auto;scrollbar-width:none;position:sticky;top:0;z-index:15}.portal-nav::-webkit-scrollbar{display:none}.portal-nav-item{padding:10px 14px;font-size:.82rem;color:#6b7280;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s}.portal-nav-item:hover{color:#c7d0e2}.portal-nav-item.activo{color:#70a7ff;border-bottom-color:#70a7ff}.portal-contrato{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px;background:#ffffff0f;white-space:nowrap}.panel-titulo{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.panel-titulo h2{margin:0;font-size:1rem;color:#e2e8f0}.panel-count{font-size:.8rem;font-weight:700;color:#70a7ff;background:#70a7ff1a;padding:2px 8px;border-radius:999px}.panel-subtitle{font-size:.78rem;color:#6b7280}.equipo-nombre{font-size:.95rem}.equipo-serie{font-size:.75rem;color:#6b7280;margin-left:8px;font-family:ui-monospace,monospace}.mapa-container{display:flex;flex-direction:column;gap:12px}.mapa-leaflet{height:380px;border-radius:12px;overflow:hidden;border:1px solid #26314c;background:#0f1726}.leaflet-popup-content-wrapper{background:#141c2c!important;color:#e2e8f0!important;border:1px solid #26314c!important;border-radius:10px!important;box-shadow:0 8px 24px #0006!important}.leaflet-popup-tip{background:#141c2c!important}.leaflet-container{background:#0f1726}.mapa-sin-coords{height:120px;display:flex;align-items:center;justify-content:center;gap:10px;color:#6b7280;background:#0f1726;border:1px dashed #26314c;border-radius:12px;font-size:.88rem}.mapa-leyenda{display:flex;gap:16px;font-size:.72rem;color:#6b7280;flex-wrap:wrap}.mapa-sin-geo{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.76rem;color:#6b7280}.mapa-sin-geo-titulo{font-weight:600}.mapa-sin-geo-chip{background:#0f1726;border:1px solid #26314c;border-radius:6px;padding:3px 9px;color:#9ca3af}.hs-wrap{display:flex;flex-direction:column;gap:14px}.hs-cargando{display:flex;align-items:center;gap:10px;color:#6b7280;padding:20px 0}.hs-spinner{width:18px;height:18px;border-radius:50%;border:2px solid #26314c;border-top-color:#3b82f6;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hs-kpis{display:flex;flex-wrap:wrap;gap:8px}.hs-kpi{display:flex;flex-direction:column;align-items:center;gap:2px;background:#0f1726;border:1px solid #26314c;border-radius:10px;padding:10px 14px;cursor:pointer;min-width:72px;transition:border-color .15s,background .15s;border-top:3px solid var(--color, #6b7280)}.hs-kpi:hover,.hs-kpi.activo{background:#141c2c;border-color:var(--color, #6b7280)}.hs-kpi-icono{font-size:1.1rem}.hs-kpi-n{font-size:1.3rem;font-weight:800;color:#f1f5f9;font-variant-numeric:tabular-nums}.hs-kpi-label{font-size:.65rem;color:#6b7280;text-align:center;white-space:nowrap}.hs-kpi-total{display:flex;flex-direction:column;align-items:center;gap:2px;background:#0f1726;border:1px dashed #374151;border-radius:10px;padding:10px 14px;min-width:72px}.hs-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hs-filtros{display:flex;flex-wrap:wrap;gap:6px;flex:1}.hs-filtro{display:flex;align-items:center;gap:5px;background:#0f1726;border:1px solid #26314c;color:#9ca3af;border-radius:999px;padding:6px 12px;font-size:.76rem;cursor:pointer;transition:all .15s}.hs-filtro:hover{border-color:#3b82f6;color:#c7d0e2}.hs-filtro.activo{background:#1e3a5f;border-color:#3b82f6;color:#93c5fd;font-weight:700}.hs-filtro-n{background:#1f2937;border-radius:999px;padding:1px 6px;font-size:.68rem;font-weight:700;color:#6b7280}.hs-busqueda{background:#0f1726;border:1px solid #26314c;border-radius:8px;padding:8px 12px;color:#e2e8f0;font-size:.82rem;outline:none;min-width:200px}.hs-busqueda:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.hs-contenido,.hs-timeline{display:flex;flex-direction:column}.hs-item{display:flex;gap:0;cursor:pointer}.hs-item:last-child .hs-traza{display:none}.hs-linea{display:flex;flex-direction:column;align-items:center;width:40px;flex:none}.hs-punto{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex:none;margin-top:8px;transition:transform .15s}.hs-item:hover .hs-punto{transform:scale(1.12)}.hs-traza{width:2px;flex:1;min-height:12px;background:#1f2937;margin:4px 0}.hs-card{flex:1;background:#141c2c;border:1px solid #1e2d45;border-left:3px solid transparent;border-radius:10px;padding:10px 14px;margin:4px 0 8px 8px;transition:border-color .15s,background .15s}.hs-item:hover .hs-card{background:#162035;border-color:#26314c}.hs-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}.hs-card-titulo{display:flex;align-items:center;gap:8px}.hs-nro{font-family:ui-monospace,monospace;font-size:.78rem;color:#6b7280;background:#0f1726;padding:2px 7px;border-radius:5px}.hs-tipo-badge{font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.hs-card-acciones{display:flex;align-items:center;gap:10px}.hs-fecha{font-size:.72rem;color:#6b7280}.hs-ver{font-size:.72rem;color:#60a5fa;font-weight:600;white-space:nowrap}.hs-card-body{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:.76rem}.hs-equipo,.hs-sede{color:#9ca3af}.hs-size{color:#4b5563}.hs-visor{margin-top:10px;border:1px solid #26314c;border-radius:8px;overflow:hidden;background:#0f1726}.hs-visor-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #1e2d45;gap:12px}.hs-visor-nombre{font-size:.76rem;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hs-visor-abrir{font-size:.76rem;color:#60a5fa;flex:none}.hs-pdf{width:100%;height:520px;border:0;display:block;background:#fff}@media (max-width: 640px){.hs-pdf{height:340px}}.hs-paginacion{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 0;border-top:1px solid #1f2937;margin-top:8px}.hs-pag-btn{background:#0f1726;border:1px solid #26314c;color:#9ca3af;border-radius:7px;padding:7px 14px;font-size:.8rem;cursor:pointer;transition:all .15s}.hs-pag-btn:hover:not(:disabled){border-color:#3b82f6;color:#93c5fd}.hs-pag-btn:disabled{opacity:.4;cursor:default}.hs-pag-info{font-size:.76rem;color:#6b7280}.portal-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #1f2937}.portal-footer-logo{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:700;color:#6b7280}.portal-footer-links{display:flex;gap:16px;flex-wrap:wrap}.portal-footer-links a{font-size:.78rem;color:#6b7280}.portal-footer-links a:hover{color:#70a7ff}@media (max-width: 640px){.hs-toolbar{flex-direction:column;align-items:stretch}.hs-busqueda{min-width:unset;width:100%}.portal-footer{flex-direction:column;align-items:flex-start}}
