
/* ViaSIM 2.0 — independent simulation-only workspace */
html,body.viasim-body{width:100%;height:100%;margin:0;overflow:hidden;background:#eaf0f4}
.viasim-body .viasim-header{height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 18px;background:#083965;color:#fff;border-bottom:3px solid #1d83bb;box-sizing:border-box}
.viasim-brand{display:flex;align-items:center;gap:12px;min-width:0}.viasim-brand img{width:108px;height:48px;object-fit:contain;background:#fff;border-radius:8px;padding:3px;box-sizing:border-box}.viasim-brand div{display:grid}.viasim-brand b{font-size:20px;line-height:1.05}.viasim-brand span{font-size:10px;color:#cbe5f6;margin-top:3px}
.viasim-header-actions{display:flex;align-items:center;gap:8px}.viasim-header-actions button{height:34px;display:inline-flex;align-items:center;gap:7px;border-radius:10px;border:1px solid #87b9d7;background:#fff;color:#164d72;font-size:10px;font-weight:800;padding:0 13px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.viasim-header-actions button .vlg-btn-icon{width:14px;height:14px;flex:0 0 14px;display:inline-grid;place-items:center}.viasim-header-actions button:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.18)}.viasim-header-actions button.primary{background:#1681bb;color:#fff;border-color:#1681bb}.viasim-runtime-status{display:flex;align-items:center;gap:6px;font-size:9px;color:#d7eaf6;padding-right:8px}.viasim-runtime-status i{width:8px;height:8px;border-radius:50%;background:#e0a11d}.viasim-runtime-status.online i{background:#21b46b}.viasim-runtime-status.error i{background:#cf3944}
.viasim-body .cov2-app-shell{display:grid!important;grid-template-columns:228px minmax(0,1fr)!important;height:calc(100vh - 68px)!important;min-height:0!important;overflow:hidden!important;background:#eaf0f4!important}
.viasim-body .cov2-topbar,.viasim-body #cov2ActiveOrderBar{display:none!important}
.viasim-body .cov2-standard-nav{display:none!important}
.viasim-body .viasim-sim-nav{display:flex!important;flex-direction:column;gap:4px}
.viasim-body .cov2-main{display:block!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;padding:10px 12px 12px!important;box-sizing:border-box!important}
.viasim-body .cov2-view{display:none!important}
.viasim-body #cov2-view-simulacion.cov2-view.active{display:none!important}
.viasim-body #cov2-view-simulacion .cov25-section-heading{margin:0 0 6px!important;padding:0 2px!important;min-height:42px!important}.viasim-body #cov2-view-simulacion .cov25-section-heading h2{font-size:18px!important}.viasim-body #cov2-view-simulacion .cov25-section-heading p{font-size:9px!important}
.viasim-body #cov2-view-simulacion .cov-simulation-layout{min-height:0!important;height:auto!important;overflow:hidden!important}
.viasim-body .cov2-production-guidance{font-size:8px!important}
.viasim-body .cov-e2e-modal-backdrop,.viasim-body .cov-uc-history-backdrop{z-index:30000!important}
.viasim-body .cov-e2e-modal{max-width:calc(100vw - 28px)!important}
.viasim-body .cov-e2e-modal.map-expanded{width:calc(100vw - 22px)!important;height:calc(100vh - 22px)!important;max-width:none!important;max-height:none!important}
.viasim-body .leaflet-control-attribution{font-size:7px!important}
@media(max-width:900px){.viasim-header-actions .viasim-runtime-status{display:none}.viasim-brand img{width:88px}.viasim-header-actions button{padding:0 8px}.viasim-body .cov2-main{padding:7px!important}}


/* ViaSIM 2.0 — Prueba concurrente de capacidad */
.cov-e2e-random-launch.capacity{background:#6d3f92!important;border-color:#6d3f92!important;color:#fff!important}
body.viasim-capacity-open{overflow:hidden!important}.viasim-capacity-backdrop{position:fixed!important;inset:0!important;z-index:45000!important;display:grid!important;place-items:center!important;padding:12px!important;background:rgba(4,21,38,.76)!important}.viasim-capacity-backdrop[hidden]{display:none!important}.viasim-capacity-modal{width:min(1500px,98vw)!important;height:min(910px,96vh)!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important;border-radius:18px!important;border:1px solid #7695aa!important;background:#f3f7f9!important;color:#173d5d!important;box-shadow:0 28px 80px rgba(0,0,0,.34)!important}.viasim-capacity-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;padding:14px 18px!important;background:#083965!important;color:#fff!important}.viasim-capacity-head>div{display:grid!important;gap:2px!important}.viasim-capacity-head span{font-size:8px!important;font-weight:900!important;letter-spacing:.12em!important;color:#9ed5f4!important}.viasim-capacity-head h2{margin:0!important;font-size:20px!important}.viasim-capacity-head p{margin:0!important;font-size:9px!important;color:#d1e6f3!important}.viasim-capacity-head>button{width:34px!important;height:34px!important;border-radius:50%!important;border:0!important;background:#fff!important;color:#173d5d!important;font-size:23px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:transform .15s ease,background .15s ease!important}.viasim-capacity-head>button:hover{transform:scale(1.08)!important;background:#eaf3fa!important}.viasim-capacity-head>button .vlg-btn-icon{width:15px!important;height:15px!important;display:inline-grid!important;place-items:center!important}.viasim-capacity-config,.viasim-capacity-run{min-height:0!important;overflow-y:auto!important;padding:13px 16px 70px!important}.viasim-capacity-callout{display:grid!important;gap:3px!important;padding:10px 12px!important;border-radius:10px!important;background:#e1f0fa!important;border:1px solid #aad0e7!important;margin-bottom:10px!important}.viasim-capacity-callout b{font-size:10px!important}.viasim-capacity-callout span{font-size:8.5px!important;line-height:1.4!important}.viasim-capacity-form-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}.viasim-capacity-form-grid>label{display:grid!important;gap:3px!important}.viasim-capacity-form-grid label>span{font-size:8px!important;font-weight:900!important;color:#61798b!important}.viasim-capacity-form-grid input,.viasim-capacity-form-grid select{height:34px!important;min-width:0!important;border:1px solid #b7cad7!important;border-radius:8px!important;background:#fff!important;color:#173d5d!important;padding:0 8px!important;font-size:9px!important}.viasim-capacity-checks{display:grid!important;grid-column:span 2!important;grid-template-columns:1fr 1fr!important;gap:6px!important;align-items:center!important}.viasim-capacity-checks label{display:flex!important;align-items:center!important;gap:6px!important;padding:7px!important;border-radius:8px!important;background:#fff!important;border:1px solid #cfdae2!important}.viasim-capacity-checks span{font-size:8px!important}.viasim-capacity-plan{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;margin-top:10px!important;padding:9px 11px!important;border-radius:10px!important;background:#fff!important;border:1px solid #ccdbe4!important}.viasim-capacity-plan>div{display:grid!important;gap:2px!important}.viasim-capacity-plan b{font-size:9px!important}.viasim-capacity-plan span{font-size:8px!important;color:#60798c!important}.viasim-capacity-plan strong{font-size:12px!important;color:#0b5f9d!important}.viasim-capacity-preflight{margin-top:8px!important;min-height:56px!important;padding:9px 11px!important;border-radius:10px!important;background:#edf2f5!important;border:1px solid #cfdae2!important}.viasim-capacity-preflight>div{display:grid!important;gap:3px!important}.viasim-capacity-preflight b{font-size:9px!important}.viasim-capacity-preflight span,.viasim-capacity-preflight small{font-size:8px!important;color:#60798c!important}.viasim-capacity-preflight .pass b{color:#167346!important}.viasim-capacity-preflight .wait b{color:#9a6400!important}.viasim-capacity-error{margin-top:8px!important;padding:8px 10px!important;border-radius:8px!important;background:#f8e3e5!important;color:#8d2630!important;font-size:9px!important}.viasim-capacity-config>footer{display:flex!important;justify-content:flex-end!important;gap:8px!important;margin-top:10px!important}.viasim-capacity-config>footer button,.viasim-capacity-actions button{height:34px!important;display:inline-flex!important;align-items:center!important;gap:6px!important;border-radius:10px!important;padding:0 13px!important;font-size:8.5px!important;font-weight:900!important;cursor:pointer!important;transition:transform .15s ease,box-shadow .15s ease,background .15s ease!important}.viasim-capacity-config>footer button .vlg-btn-icon,.viasim-capacity-actions button .vlg-btn-icon{width:13px!important;height:13px!important;flex:0 0 13px!important;display:inline-grid!important;place-items:center!important}.viasim-capacity-config>footer button:hover,.viasim-capacity-actions button:hover{transform:translateY(-1px)!important;box-shadow:0 6px 14px rgba(11,58,117,.16)!important}.viasim-capacity-config>footer .primary{background:#0b5f9d!important;color:#fff!important;border-color:#0b5f9d!important}.viasim-capacity-progress{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px 12px!important;align-items:center!important;padding:10px 12px!important;border-radius:11px!important;background:#fff!important;border:1px solid #cbdbe5!important}.viasim-capacity-progress>div:first-child{display:flex!important;justify-content:space-between!important;gap:12px!important}.viasim-capacity-progress b{font-size:10px!important}.viasim-capacity-progress span{font-size:8px!important;color:#667f91!important}.viasim-capacity-progress .track{grid-column:1!important;height:10px!important;border-radius:999px!important;background:#dce7ed!important;overflow:hidden!important}.viasim-capacity-progress .track i{display:block!important;height:100%!important;width:0;background:#0b6cae!important}.viasim-capacity-progress strong{grid-column:2!important;grid-row:1 / span 2!important;font-size:19px!important;color:#0a4f83!important}.viasim-capacity-actions{display:flex!important;align-items:center!important;gap:6px!important;margin:8px 0!important;flex-wrap:wrap!important}.viasim-capacity-actions span{flex:1!important}.viasim-capacity-actions button{background:#fff!important;border:1px solid #aabfcd!important;color:#214a66!important}.viasim-capacity-actions .danger{background:#a52e3a!important;border-color:#a52e3a!important;color:#fff!important}.viasim-capacity-kpis{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important}.viasim-capacity-kpis article{display:grid!important;gap:2px!important;padding:8px 9px!important;border-radius:10px!important;background:#fff!important;border:1px solid #d0dde5!important}.viasim-capacity-kpis small{font-size:7.5px!important;color:#687f91!important}.viasim-capacity-kpis b{font-size:16px!important;color:#0a4f83!important}.viasim-capacity-kpis span{font-size:7.5px!important;color:#687f91!important}.viasim-capacity-main-grid{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:8px!important;margin-top:8px!important}.viasim-capacity-resource-panel,.viasim-capacity-log-panel{min-height:230px!important;padding:10px!important;border-radius:11px!important;background:#fff!important;border:1px solid #d0dde5!important;overflow:hidden!important}.viasim-capacity-resource-panel h3,.viasim-capacity-log-panel h3{margin:0 0 8px!important;font-size:10px!important}.viasim-capacity-resource-panel .resource{display:grid!important;gap:4px!important;margin:8px 0!important}.viasim-capacity-resource-panel .resource label{display:flex!important;justify-content:space-between!important;font-size:8.5px!important}.viasim-capacity-resource-panel .resource>div{height:10px!important;border-radius:999px!important;background:#dce7ed!important;overflow:hidden!important}.viasim-capacity-resource-panel .resource i{display:block!important;height:100%!important;width:0;background:#1681bb!important}.viasim-capacity-resource-panel .integrity{display:grid!important;gap:3px!important;margin-top:12px!important;padding:9px!important;border-radius:9px!important;background:#e7f5ec!important;border:1px solid #b8dfc8!important}.viasim-capacity-resource-panel .integrity b{font-size:8px!important}.viasim-capacity-resource-panel .integrity span{font-size:8px!important;line-height:1.4!important}.viasim-capacity-log{height:200px!important;overflow-y:auto!important;display:grid!important;align-content:start!important;gap:4px!important}.viasim-capacity-log>div{display:grid!important;grid-template-columns:64px 1fr!important;gap:6px!important;padding:5px 6px!important;border-radius:6px!important;background:#f3f7f9!important}.viasim-capacity-log time{font-size:7px!important;color:#6a8192!important}.viasim-capacity-log span{font-size:8px!important;line-height:1.35!important}.viasim-capacity-log .warning{background:#fff5df!important}.viasim-capacity-log .error{background:#f9e6e8!important;color:#8d2630!important}.viasim-capacity-report{margin-top:8px!important;padding:10px!important;border-radius:11px!important;background:#fff!important;border:1px solid #c8d9e4!important}.viasim-capacity-report>header{display:flex!important;justify-content:space-between!important;align-items:center!important}.viasim-capacity-report>header span{font-size:7.5px!important;font-weight:900!important;color:#0b5f9d!important}.viasim-capacity-report h3{margin:2px 0 0!important;font-size:16px!important;color:#17643c!important}.viasim-capacity-report>header button{height:30px!important;display:inline-flex!important;align-items:center!important;gap:5px!important;border-radius:8px!important;font-size:8px!important;cursor:pointer!important}.viasim-capacity-report>header button .vlg-btn-icon{width:12px!important;height:12px!important;flex:0 0 12px!important;display:inline-grid!important;place-items:center!important}.viasim-capacity-report .report-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important;margin-top:8px!important}.viasim-capacity-report article{display:grid!important;gap:2px!important;padding:7px!important;border-radius:8px!important;background:#eef4f7!important}.viasim-capacity-report article small{font-size:7px!important;color:#687f91!important}.viasim-capacity-report article b{font-size:10px!important}.viasim-capacity-report .viaai{display:grid!important;gap:3px!important;margin-top:8px!important;padding:9px!important;border-radius:9px!important;background:#e1f0fa!important;border:1px solid #add2e9!important}.viasim-capacity-report .viaai small{font-size:7.5px!important;font-weight:900!important;color:#0b5f9d!important}.viasim-capacity-report .viaai p{margin:0!important;font-size:9px!important;line-height:1.45!important}.viasim-capacity-report .viaai span{font-size:7.5px!important;color:#61798b!important}
@media(max-width:1100px){.viasim-capacity-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.viasim-capacity-kpis,.viasim-capacity-report .report-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.viasim-capacity-modal{height:98vh!important}.viasim-capacity-form-grid{grid-template-columns:1fr 1fr!important}.viasim-capacity-main-grid{grid-template-columns:1fr!important}.viasim-capacity-kpis{grid-template-columns:1fr 1fr!important}.viasim-capacity-head p{display:none!important}}


/* ViaSIM 2.0 · Push selectivo por aplicación */
.viasim-push-selector{display:grid!important;gap:8px!important}.viasim-push-selector-head{display:grid!important;gap:2px!important}.viasim-push-selector-head b{font-size:10px!important;color:#173d5d!important}.viasim-push-selector-head small{font-size:8px!important;color:#60798c!important;line-height:1.35!important}.viasim-push-selector-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}.viasim-push-selector-grid>label{display:flex!important;align-items:flex-start!important;gap:8px!important;padding:9px!important;border:1px solid #c9d9e3!important;border-radius:9px!important;background:#f5f9fb!important}.viasim-push-selector-grid>label>span{display:grid!important;gap:2px!important}.viasim-push-selector-grid b{font-size:8.5px!important}.viasim-push-selector-grid small{font-size:7.5px!important;line-height:1.35!important;color:#657d8f!important}.viasim-push-selector-grid .viasim-push-require{grid-column:1/-1!important;background:#e8f3fa!important}.viasim-push-checks{grid-column:1/-1!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}.viasim-push-policy{font-style:normal!important;font-size:8px!important;font-weight:900!important;color:#0b5f9d!important;background:#e1f0fa!important;border:1px solid #add2e9!important;border-radius:999px!important;padding:7px 10px!important}.viasim-capacity-plan .push-policy{color:#0b5f9d!important;font-weight:900!important}
@media(max-width:900px){.viasim-push-checks{grid-template-columns:1fr 1fr!important}.viasim-push-selector-grid{grid-template-columns:1fr!important}.viasim-push-selector-grid .viasim-push-require{grid-column:auto!important}}
