.config15{--out:var(--bm-ease);--inout:var(--bm-ease);--ink:var(--bm-ink);--ink-2:#55607A;--blue:var(--bm-blue);--deep:var(--bm-blue-700);--mist:var(--bm-mist);--line:var(--bm-line);--light:#DCE6FF;--ok:var(--bm-green);--warn:var(--bm-amber);--wrap:1200px;--pad:clamp(16px,4vw,48px);background:var(--bm-mist);color:var(--bm-ink);padding-block:var(--bm-section)}.config15 .studio{margin-top:0}.config15 .controls,.config15 .preview{min-width:0}.config15 .preview{height:100%}.config15 .studio{margin-top:clamp(32px,4vw,52px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(16px,2vw,28px);align-items:start}

.config15 .controls{background:#fff;border-radius:22px;padding:clamp(20px,2.4vw,32px);box-shadow:0 0 0 1px var(--line)}
.config15 .ctl + .ctl{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.config15 .ctl-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.config15 .ctl-h label,.config15 .ctl-h .lab{font-weight:600;font-size:17px}
.config15 .big{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:clamp(30px,3vw,40px);letter-spacing:-.03em;line-height:1;color:var(--blue);font-variant-numeric:tabular-nums}
.config15 .hint{margin-top:6px;font-size:14px;color:var(--ink-2)}

.config15 input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:36px;margin:14px 0 0;background:transparent;cursor:pointer}
.config15 input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:99px;background:linear-gradient(to right,var(--blue) 0 var(--fill,30%),var(--light) var(--fill,30%) 100%)}
.config15 input[type=range]::-moz-range-track{height:10px;border-radius:99px;background:var(--light)}
.config15 input[type=range]::-moz-range-progress{height:10px;border-radius:99px;background:var(--blue)}
.config15 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-10px;border-radius:50%;background:#fff;border:3px solid var(--blue);box-shadow:0 2px 8px rgba(6,23,90,.25);transition:transform 160ms var(--out)}
.config15 input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--blue)}
.config15 input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}
.config15 input[type=range]:focus-visible{outline:none}
.config15 input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 5px rgba(5,64,242,.3)}
.config15 .ticks{position:relative;height:20px;margin:0 15px;font-size:13px;color:var(--ink-2);font-family:"IBM Plex Mono",monospace}

.config15 .ticks span{position:absolute;top:0;transform:translateX(-50%)}
.config15 .stepper{display:flex;align-items:center;gap:10px;margin-top:14px}
.config15 .stepper button{width:48px;height:48px;border-radius:12px;border:0;background:var(--mist);color:var(--ink);font-size:22px;cursor:pointer;display:grid;place-items:center;transition:transform 140ms var(--out),background-color 140ms ease}
.config15 .stepper button:active{transform:scale(0.95)}
.config15 .stepper button:disabled{opacity:.4;cursor:default}
@media (hover:hover) and (pointer:fine){.config15 .stepper button:not(:disabled):hover{background:var(--light)}}
.config15 .people{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0;padding-left:6px}
.config15 .people i{font-size:18px;color:var(--blue);transition:opacity 180ms ease,transform 180ms var(--out)}
.config15 .people i.off{opacity:.18;transform:scale(0.9)}

.config15 .seg{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;background:var(--mist);border-radius:14px;position:relative}
.config15 .seg .pill{position:absolute;top:6px;bottom:6px;left:6px;width:calc(50% - 9px);border-radius:10px;background:var(--ink);transition:transform 260ms var(--inout)}
.config15 .seg[data-v="servicio"] .pill{transform:translateX(calc(100% + 6px))}
.config15 .seg button{position:relative;z-index:1;border:0;background:transparent;font:inherit;font-weight:600;font-size:15px;line-height:1.25;padding:12px 10px;border-radius:10px;color:var(--ink);cursor:pointer;text-align:left;transition:color 200ms ease}
.config15 .seg button[aria-pressed=true]{color:#fff}
.config15 .seg button small{display:block;font-weight:400;font-size:13px;opacity:.8;margin-top:3px}

.config15 .chips{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.config15 .chip{display:inline-flex;align-items:center;gap:8px;border:0;font:inherit;font-weight:600;font-size:15px;padding:10px 14px;border-radius:999px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;transition:transform 140ms var(--out),background-color 160ms ease,color 160ms ease,box-shadow 160ms ease}
.config15 .chip:active{transform:scale(0.96)}
.config15 .chip .bi{font-size:16px}
.config15 .chip .cd{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;opacity:.7}
.config15 .chip[aria-pressed=true]{background:var(--blue);color:#fff;box-shadow:inset 0 0 0 1.5px var(--blue)}
@media (hover:hover) and (pointer:fine){.config15 .chip[aria-pressed=false]:hover{box-shadow:inset 0 0 0 1.5px var(--blue)}}

.config15 .preview{position:relative;background:var(--deep);border-radius:22px;padding:clamp(14px,1.8vw,22px);color:#fff}
.config15 .pv-label{display:flex;align-items:center;gap:10px;font-size:14px;color:#C3CDE6;padding:2px 4px 12px}
.config15 .pv-label .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex:none}
.config15 .app{background:#fff;color:var(--ink);border-radius:14px;overflow:hidden}
.config15 .app-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--ink);color:#fff}
.config15 .app-bar .mark{width:28px;height:28px;border-radius:8px}
.config15 .app-bar .mark img{width:19px}
.config15 .app-bar b{font-weight:600;font-size:15px}
.config15 .app-bar .who{margin-left:auto;font-size:13px;color:#C3CDE6}
.config15 .app-body{padding:16px}
.config15 .kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.config15 .kpi{background:var(--mist);border-radius:12px;padding:12px 14px;min-width:0}
.config15 .kpi span{display:block;font-size:13px;color:var(--ink-2)}
.config15 .kpi strong{display:block;margin-top:4px;font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.config15 .kpi .roles{font-family:inherit;font-size:14px;font-weight:600;letter-spacing:0;line-height:1.35}
.config15 .meter{margin-top:8px;height:5px;border-radius:9px;background:var(--light);overflow:hidden}
.config15 .meter i{display:block;height:100%;background:var(--blue);transform-origin:left;transform:scaleX(.3);transition:transform 320ms var(--out)}
.config15 .meter.full i{background:var(--warn)}

.config15 .sample{margin-top:16px}
.config15 .sample-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px;font-weight:600}
.config15 .sample-h em{font-style:normal;font-weight:400;color:var(--ink-2);font-size:13px}
.config15 .rows{list-style:none;margin:8px 0 0;padding:0}
.config15 .rows li{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 4px;border-top:1px solid var(--line);font-size:14px;animation:config15RowIn 260ms var(--out) both}
.config15 .rows li:nth-child(2){animation-delay:40ms}.config15 .rows li:nth-child(3){animation-delay:80ms}.config15 .rows li:nth-child(4){animation-delay:120ms}.config15 .rows li:nth-child(5){animation-delay:160ms}
@keyframes config15RowIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.config15 .code{font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--deep);font-weight:500}
.config15 .rows .nm{min-width:0}
.config15 .rows .nm b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.config15 .rows .nm small{display:block;color:var(--ink-2);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.config15 .st{font-size:12.5px;font-weight:600;padding:4px 9px;border-radius:99px;white-space:nowrap}
.config15 .st.ok{background:#E2F5EE;color:#08664D}
.config15 .st.prox{background:var(--mist);color:var(--deep)}
.config15 .st.late{background:#FDF0D8;color:#7A4D00}

.config15 .portal{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0ms}
.config15 .portal-in{overflow:hidden}
.config15 .portal.on{grid-template-rows:1fr}
.config15 .portal-card{margin-top:14px;border-radius:12px;background:var(--ink);color:#fff;padding:14px 16px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:start;opacity:0;transform:translateY(8px) scale(0.98);transition:opacity 220ms ease,transform 280ms var(--out)}
.config15 .portal.on .portal-card{opacity:1;transform:none}
.config15 .portal-card .bi{font-size:22px;color:#9DB6FF;grid-row:span 2}
.config15 .portal-card b{font-size:15px}
.config15 .portal-card p{font-size:13.5px;color:#C3CDE6;line-height:1.45}
.config15 .portal-card ul{grid-column:2;list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.config15 .portal-card li{font-size:12.5px;background:rgba(255,255,255,.1);padding:5px 9px;border-radius:8px}

.config15 .plan{margin-top:14px;background:#fff;color:var(--ink);border-radius:14px;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:end}
.config15 .plan .pl-k{font-size:14px;color:var(--ink-2)}
.config15 .plan .pl-n{display:flex;align-items:center;gap:10px;font-size:clamp(26px,2.6vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.config15 .badge{font-size:12px;font-weight:600;letter-spacing:0;background:var(--light);color:var(--deep);padding:4px 9px;border-radius:99px;opacity:0;transform:scale(0.95);transition:opacity 180ms ease,transform 220ms var(--out)}
.config15 .badge.on{opacity:1;transform:none}
.config15 .plan .pl-cap{font-size:14px;color:var(--ink-2);margin-top:2px}
.config15 .price{text-align:right}
.config15 .price .pm{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:clamp(26px,2.8vw,36px);letter-spacing:-.04em;line-height:1;color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap}
.config15 .price .pm small{font-family:var(--bm-font);font-size:15px;letter-spacing:0;font-weight:500;color:var(--ink-2)}
.config15 .price .py{margin-top:6px;font-size:13.5px;color:var(--ink-2);white-space:nowrap}
.config15 .price .py b{font-family:"IBM Plex Mono",monospace;color:var(--ink);font-weight:600}
.config15 .plan .incl{grid-column:1/-1;margin-top:10px;padding-top:12px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}
.config15 .plan-flash{animation:config15Flash 420ms var(--out)}
@keyframes config15Flash{0%{transform:scale(0.985)}100%{transform:none}}

.config15 .hero-cta{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.config15 .hero-cta .btn.white{min-height:50px}
.config15 .hero-cta p{font-size:14px;color:#C3CDE6}


@media(max-width:1080px){.config15 .studio{grid-template-columns:1fr}.config15 .preview{height:auto}}
@media(max-width:860px){.config15 .studio{gap:20px}}
@media(max-width:560px){.config15 .kpis{grid-template-columns:1fr 1fr}.config15 .kpi:last-child{grid-column:1/-1}.config15 .rows li{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px}.config15 .rows li .code{grid-column:1/-1}.config15 .plan{grid-template-columns:1fr}.config15 .price{text-align:left}.config15 .seg{grid-template-columns:1fr}.config15 .seg .pill{width:calc(100% - 12px);height:calc(50% - 9px);bottom:auto}.config15 .seg[data-v=servicio] .pill{transform:translateY(calc(100% + 6px))}}

/* ---- Paleta del rediseño ---- */
.config15{--bm-ink:#0B1739;--bm-mist:#F5F8FE;--ok:#0E9F77;--warn:#F5A524;--ink:#0B1739;--ink-2:#55607A;--blue:#0540F2;--deep:#0433C2;--light:#DCE6FF;--mist:#F5F8FE;--line:#E1E7F3}

/* Simulador: la escala de equipos ubicada sobre el control logaritmico (50 a 5.000) */
.config15 .ticks span.ticks__min { left: 0; transform: none; }
.config15 .ticks span.ticks__basic { left: 45.15%; }
.config15 .ticks span.ticks__standard { left: 73.86%; }
.config15 .ticks span.ticks__max { left: 100%; transform: translateX(-100%); }
.config15 .ticks { font-family: var(--bm-font); font-weight: 600; }
.config15 .controls { border-radius: 24px; box-shadow: var(--bm-sombra-tarjeta); border: 1px solid var(--bm-linea); }
