/* Panel derecho de desempeño por reparto — vista Repartos (app-reparto-stats.js). */
/* Fila de pines sobre el marcador del cliente (arriba, afuera de su tarjeta).
   Autocontenida: index.html no carga mobile.css. */
.rs-pin-row{display:flex;align-items:center;justify-content:center;gap:2px;box-sizing:border-box}
.rs-pin{display:grid;place-items:center;box-sizing:border-box;width:14px;height:14px;border:1.5px solid #fff;border-radius:4px;box-shadow:0 1px 3px #17203870;line-height:1;pointer-events:none}
.rs-pin-dollar{background:#f49a22;color:#fff;border-radius:50%;font:900 9px/1 Arial,sans-serif}
.rs-pin-stock{background:#20ae63;color:#fff;border-radius:50%;font:900 9px/1 Arial,sans-serif}
.rs-pin-star{background:linear-gradient(145deg,#ffe978,#f2aa00);font-size:10px}
.rs-pin-paper{background:#fff;font-size:10px}
.rs-pin-paper-web{background:#4ec3f0}
.shell:has(.route-stats-panel){grid-template-columns:300px minmax(0,1fr) 6px var(--rs-width,560px)}
.route-stats-resizer{width:6px;cursor:col-resize;background:#f1f4f9;touch-action:none;position:relative}
.route-stats-resizer::after{content:'';position:absolute;top:50%;left:2px;width:2px;height:44px;transform:translateY(-50%);background:#c9d1de;border-radius:2px}
.route-stats-resizer:hover::after,.route-stats-resizer.dragging::after{background:var(--pink)}
.route-stats-panel{border-left:1px solid var(--line);background:#fff;overflow:auto;padding:14px 14px 22px;display:flex;flex-direction:column;gap:10px}
.rs-head-panel{padding:2px 2px 10px;border-bottom:1px solid var(--line)}
.rs-head-panel b{font-size:14px}
.rs-head-panel small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.rs-head-panel .rs-hint{font-size:10px}
.rs-empty{color:var(--muted);font-size:12px;padding:8px 2px}
/* Grilla de tarjetas: al ensanchar el panel se suman columnas, no se estiran. */
.rs-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:10px;align-content:start}
.rs-card{border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:#fff;cursor:pointer;min-width:0}
.rs-card:hover{border-color:#ffd1e5}
.rs-card.rs-today{border-color:#ffd1e5;background:linear-gradient(180deg,#fff 55%,#fff5fa)}
.rs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}
.rs-head b{font-size:12px}
.rs-head small{display:block;color:var(--muted);font-size:10.5px;margin-top:2px}
.rs-pill{border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:800;white-space:nowrap}
.rs-active{background:#e7f8ef;color:#0c7a43}
.rs-paused{background:#fff3e0;color:#a05a00}
.rs-done{background:var(--soft);color:var(--pink)}
.rs-nostart{background:#eef1f6;color:#5b6575}
.rs-pending{background:#eef1f6;color:#5b6575}
.rs-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 8px;margin-bottom:9px}
.rs-cell{background:#f8fafd;border:1px solid #eef1f6;border-radius:9px;padding:6px 8px;min-width:0}
.rs-cell-wide{grid-column:1/-1}
.rs-cell>small:not(.rs-sub){display:block;color:var(--muted);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.rs-cell b{font-size:13px;display:block;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-sub{display:block;color:var(--muted);font-size:9.5px;font-weight:600;margin-top:2px}
.rs-visits-cell{background:#f2fbf6;border-color:#d7f0e2}
.rs-visits-cell b{font-size:22px;line-height:1.1;display:flex;align-items:baseline;gap:7px;margin-top:2px}
.rs-visits-cell .rs-total{font-size:13px;color:var(--muted);font-weight:700}
.rs-visits-cell .rs-pct{font-size:12px;color:#0c7a43;font-weight:800}
.rs-visits-cell .rs-bar{margin-top:16px;height:8px;position:relative;overflow:visible}
.rs-bar-targets .rs-target{position:absolute;top:-3px;bottom:-3px;width:2px;background:#0b3d2c;opacity:.6;border-radius:2px}
.rs-bar-targets .rs-target::after{content:attr(data-label);position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-size:8.5px;line-height:1;color:#5b6575;font-weight:800}
.rs-cell.time-good{background:#f2fbf6;border-color:#d7f0e2}
.rs-cell.time-good b{color:#0c7a43}
.rs-cell.time-warn{background:#fff8ef;border-color:#f8e3c6}
.rs-cell.time-warn b{color:#a05a00}
.rs-cell.time-bad{background:#fdf4f5;border-color:#f6c6cb}
.rs-cell.time-bad b{color:#b42343}
.rs-dead-cell{cursor:pointer}
.rs-dead-cell:hover{background:#fff5fa;border-color:#ffd1e5}
.rs-dead-popup,.rs-collect-popup,.rs-avoid-popup,.rs-stock-popup{position:fixed;z-index:2000;width:min(540px,92vw);max-height:82vh;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px #0d172d40;padding:14px 16px 16px}
.rs-dead-pop-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px;cursor:move;user-select:none}
.rs-dead-pop-head b{font-size:15px}
.rs-dead-close{border:0;background:#f1f4f9;color:#111827;width:32px;height:32px;border-radius:50%;font-size:14px;font-weight:800;cursor:pointer;line-height:1}
.rs-dead-close:hover{background:var(--soft);color:var(--pink)}
.rs-dead-body{display:flex;flex-direction:column;gap:10px;overflow:auto;flex:1 1 auto;min-height:0}
/* Horarios por cliente (botón redondo con reloj en cada ficha) */
.rs-head-side{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.rs-clock-btn{width:26px;height:26px;flex:0 0 auto;border-radius:50%;border:1px solid #e83288;background:#fff;color:#e83288;display:inline-grid;place-items:center;cursor:pointer;padding:0}
.rs-clock-btn:hover{background:#fff0f7}
.sched-head{display:flex;gap:8px;align-items:center;padding:4px 2px 8px;border-bottom:1px solid var(--line);font-size:10px;font-weight:900;text-transform:uppercase;color:var(--muted)}
.sched-row{display:flex;gap:8px;align-items:center;padding:6px 2px;border-bottom:1px solid #eef0f3;font-size:12px;cursor:pointer;border-radius:8px}
.sched-row:hover{background:#fff6fb}
.sched-row.selected{background:#fff0f7;box-shadow:inset 0 0 0 2px var(--pink)}
.sched-row .pend-name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.sched-head .pend-name{flex:1 1 auto;min-width:0}
.sched-zone{flex:0 0 auto;width:66px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sched-hours{flex:0 0 auto;width:100px;color:#5b6472;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sched-open{flex:0 0 auto;width:62px;text-align:right;font-weight:800;color:#12824a}
.sched-open.unknown{color:#9aa3b1;font-weight:600;font-size:10px}
.sched-sort{cursor:pointer}
.sched-sort:hover{color:var(--pink)}
.sched-index{flex:0 0 24px;text-align:right;font-style:normal;font-weight:800;color:var(--muted);font-size:11px}
.sched-head .sched-zone{width:66px}
.sched-head .sched-hours{width:100px}
.sched-head .sched-open{width:62px}
.rs-dead-row{border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;background:#fff;display:flex;flex-direction:column;gap:5px}
.rs-dead-row:hover,.rs-dead-row.active{border-color:#ffd1e5;background:#fff5fa;box-shadow:0 6px 18px #e8328822}
.rs-dead-when{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.rs-dead-when b{font-size:16px}
.rs-dead-when span{color:var(--pink);font-weight:800;font-size:12.5px}
.rs-dead-who{font-size:13.5px;color:var(--ink)}
.rs-dead-who small{display:inline-block;min-width:96px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}
.rs-travel{font-size:12.5px;color:#0d5a8f;font-weight:700}
.rs-travel:empty{display:none}
.rs-code-good{color:#0c7a43;font-weight:800;font-style:normal}
.rs-code-bad{color:var(--pink);font-weight:800;font-style:normal}
.rs-code-start{color:var(--muted);font-weight:800;font-style:normal}
.rs-dead-loading,.rs-dead-empty{color:var(--muted);font-size:12px;padding:4px 0}
.rs-click-cell,.rs-collect-cell{cursor:pointer}
.rs-click-cell:hover,.rs-collect-cell:hover{background:#fff5fa;border-color:#ffd1e5}
.rs-pop-title{border:0;background:none;text-align:left;cursor:pointer;font-size:15px;font-weight:800;color:var(--ink);padding:0}
.rs-pop-title:hover{color:var(--pink)}
.rs-sort-tag{font-size:11px;font-weight:700;color:var(--muted)}
.rs-collect-body{display:flex;flex-direction:column;gap:6px;overflow:auto;flex:1 1 auto;min-height:0}
.rs-avoid-body{display:flex;flex-direction:column;gap:6px;overflow:auto;flex:1 1 auto;min-height:0}
.rs-avoid-cell{cursor:pointer}
.rs-avoid-cell:hover{background:#fff5fa;border-color:#ffd1e5}
.rs-avoid-cell.flagged{background:#fff8ef;border-color:#f8e3c6}
.rs-avoid-cell.flagged b{color:#a05a00}
.rs-code-warn{color:#a05a00;font-weight:800;font-style:normal}
.leaflet-tooltip.client-days-label{background:transparent;border:0;box-shadow:none;color:#fff;font-weight:800;font-size:10px;line-height:1;padding:0;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.65),0 0 2px rgba(0,0,0,.55)}
.leaflet-tooltip.client-days-label::before{display:none}
/* Con las capas activas el mapa base se oculta: sus días (tooltipPane) también,
   para que no queden números flotando sobre las capas. */
.rs-base-days-hidden .leaflet-tooltip-pane .client-days-label{display:none}
.rs-avoid-row{border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;background:#fff}
.rs-avoid-row:hover,.rs-avoid-row.open{border-color:#f8e3c6;background:#fffaf2}
.rs-avoid-head{display:flex;align-items:baseline;gap:8px}
.rs-avoid-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.rs-avoid-neighbors{color:#a05a00;font-size:12px;white-space:nowrap}
.rs-avoid-last{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.rs-avoid-history{margin-top:8px;border-top:1px dashed var(--line);padding-top:6px;display:flex;flex-direction:column;gap:4px}
.rs-avoid-history[hidden]{display:none}
.rs-avoid-hist{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px;font-size:11.5px;color:var(--ink)}
.rs-avoid-hist span:nth-child(2){color:var(--muted)}
/* Celda y ventana "Sin reponer": clientes con faltantes informados sin reposición. */
.rs-grid:has(.rs-stock-cell){align-items:start}
.rs-stock-cell{cursor:pointer;min-height:92px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.rs-stock-cell:hover{background:#fff5fa;border-color:#ffd1e5}
.rs-stock-cell.flagged{background:#fdf4f5;border-color:#f6c6cb}
.rs-stock-cell.flagged b{color:#b42343}
.rs-stock-cell b{font-size:20px;line-height:1.1}
.rs-deltas{display:flex;gap:3px 10px;flex-wrap:wrap}
.rs-delta-add{color:#b42343;font-weight:800;font-size:12.5px;white-space:nowrap}
.rs-delta-ok{color:#0c7a43;font-weight:800;font-size:12.5px;white-space:nowrap}
.rs-stock-body{display:flex;flex-direction:column;gap:6px;overflow:auto;flex:1 1 auto;min-height:0}
.rs-stock-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:#f8fafd;border:1px solid var(--line);border-radius:10px}
.rs-stock-filters label{display:grid;gap:4px;margin:0;color:var(--muted);font-size:10px;font-weight:800}
.rs-stock-filters input{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;padding:6px 8px;color:var(--ink);font-size:12px}
.rs-stock-cols,.rs-stock-row{display:grid;grid-template-columns:56px minmax(0,1fr) 78px 62px auto;gap:4px 8px;align-items:baseline}
.rs-stock-cols{position:sticky;top:0;background:#fff;z-index:1;padding:2px 0;border-bottom:1px solid var(--line)}
.rs-stock-col{border:0;background:none;padding:0;text-align:left;font-size:10px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.rs-stock-col:hover{color:var(--pink)}
.rs-stock-col.active{color:var(--ink)}
.rs-col-num,.rs-stock-units,.rs-stock-money{text-align:right;justify-self:end}
.rs-stock-head{display:contents}
.rs-stock-row .rs-stock-report,.rs-stock-row .rs-stock-products{grid-column:1/-1}
.rs-stock-scope{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.rs-stock-scope:hover{background:#fff5fa;border-color:#ffd1e5}
.rs-stock-dealer-head{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 8px;border:1px solid var(--line);border-radius:10px;background:#f8fafd;text-align:left;cursor:pointer}
.rs-stock-dealer-head:hover,.rs-stock-dealer-head.open{border-color:#ffd1e5;background:#fff5fa}
.rs-stock-dealer-head b{font-size:12.5px;color:var(--ink)}
.rs-stock-dealer-head small{margin-left:auto;color:var(--muted);font-weight:800;white-space:nowrap}
.rs-stock-dealer-head i{font-style:normal;color:var(--pink);width:14px;text-align:right}
.rs-stock-zone-row{display:grid;grid-template-columns:minmax(48px,1fr) auto auto 14px;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}
.rs-stock-zone-row:hover,.rs-stock-zone-row.open{border-color:#ffd1e5;background:#fff5fa}
.rs-stock-zone-code{font-size:12px}
.rs-stock-zone-dealer{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}
.rs-stock-zone-row>small{color:var(--muted);white-space:nowrap}
.rs-stock-zone-total{font-size:12px;white-space:nowrap}
.rs-stock-zone-chev{font-style:normal;color:var(--pink);text-align:right}
.rs-stock-row{border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;background:#fff}
.rs-stock-row:hover{border-color:#ffd1e5;background:#fff5fa}
.rs-stock-row.active{border-color:#e8590c;background:#fff3ec}
.rs-stock-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.rs-stock-units{color:#b42343;font-size:12.5px;white-space:nowrap;text-align:right}
.rs-stock-days{font-size:11.5px;color:var(--muted);white-space:nowrap;text-align:right}
.rs-stock-money{font-size:13px;white-space:nowrap;text-align:right}
.rs-stock-report{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.rs-stock-products{display:block;color:#7b8494;font-size:11px;margin-top:2px}
.rs-collect-total{font-size:12.5px;color:var(--muted);padding-bottom:5px;border-bottom:1px dashed var(--line);margin-bottom:2px}
.rs-collect-total b{color:var(--ink);font-size:15px}
.rs-collect-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:7px 10px}
.rs-collect-row:hover{border-color:#ffd1e5;background:#fff5fa}
.rs-collect-when{font-size:12.5px;color:var(--muted);font-weight:800}
.rs-collect-who{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rs-collect-amount{font-size:14px;color:#0c7a43;white-space:nowrap}
.rs-collect-amount.zero{color:var(--muted)}
.rs-collect-row.active{border-color:#287bd1;background:#eaf3ff}
.rs-collect-nosale{border:1px dashed var(--line);background:#f7f9fc;border-radius:10px;padding:8px 10px;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;text-align:left}
.rs-collect-nosale:hover{background:#eef2f8;color:var(--ink)}
.rs-collect-nav{display:flex;gap:4px;margin-left:auto;margin-right:4px}
.rs-collect-nav button{border:0;background:#f1f4f9;color:#111827;width:26px;height:26px;border-radius:50%;font-size:11px;font-weight:800;cursor:pointer}
.rs-collect-nav button:hover{background:var(--soft);color:var(--pink)}
.rs-bar{height:7px;border-radius:999px;background:#eef1f6;overflow:hidden}
.rs-bar i{display:block;height:100%;border-radius:999px;background:var(--green)}
.rs-visits{margin-bottom:2px}
.rs-chips-line{display:block;color:var(--muted);font-size:10.5px;margin-top:6px}
.rs-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.rs-chips:empty{display:none}
.rs-chip{border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:10px;color:var(--muted);background:#fff}
.rs-chip.good{border-color:#bfe8d0;color:#0c7a43;background:#f2fbf6}
.rs-chip.bad{border-color:#f6c6cb;color:#b42343;background:#fdf4f5}
.rs-campaigns{border-top:1px dashed var(--line);padding-top:8px;display:flex;flex-direction:column;gap:6px}
.rs-camp-label{font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.rs-camp-data{display:flex;align-items:center;gap:8px;margin-top:3px}
.rs-camp-data .rs-bar{flex:1}
.rs-camp-data small{font-size:10.5px;color:var(--muted);white-space:nowrap}
@media(max-width:1150px){.shell:has(.route-stats-panel){grid-template-columns:260px minmax(0,1fr)}.route-stats-panel,.route-stats-resizer{display:none}}
.rs-map-polygon-card{position:absolute;z-index:1400;top:12px;right:12px;width:min(310px,calc(100% - 24px));padding:11px;border:1px solid #d9deea;border-radius:13px;background:#fff;box-shadow:0 6px 22px #17203830;color:#172038;pointer-events:auto}.rs-map-polygon-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 0 9px;padding:0;background:transparent;color:inherit}.rs-map-polygon-card>header b,.rs-map-polygon-card>header small{display:block}.rs-map-polygon-card>header b{font-size:13px}.rs-map-polygon-card>header small,.rs-map-polygon-hint{color:#687386;font-size:10px}.rs-map-polygon-card>header button{flex:0 0 29px;width:29px;height:29px;padding:0;border:0;border-radius:50%;background:#f0f2f6;color:#172038;font-size:21px;line-height:1;cursor:pointer}.rs-map-polygon-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px}.rs-map-polygon-metrics article{display:grid;gap:3px;padding:8px;border:1px solid #e4e8f0;border-radius:9px;background:#f8f9fc}.rs-map-polygon-metrics article>small{font-size:9px;font-weight:900;color:#687386}.rs-map-polygon-metrics article>b{font-size:11px}.rs-map-polygon-metrics article>strong{font-size:15px}.rs-map-polygon-metrics article.rs-map-polygon-total{background:#f2effb;border-color:#d9d2f2}.rs-map-polygon-hint{display:block;margin-top:8px;line-height:1.35}
/* Evita que Shift+clic seleccione texto mientras se dibuja el polígono. */
.leaflet-container.rs-polygon-shift-active,.leaflet-container.rs-polygon-shift-active *{-webkit-user-select:none!important;user-select:none!important}
.rs-map-polygon-detail-btn{margin-top:9px;width:100%;border:0;border-radius:9px;padding:9px;background:#6548c8;color:#fff;font-weight:800;font-size:12px;cursor:pointer}
.rs-map-polygon-detail{position:absolute;z-index:1401;right:12px;bottom:12px;width:min(360px,calc(100% - 24px));max-height:min(62%,520px);overflow:auto;padding:11px;border:1px solid #d9deea;border-radius:13px;background:#fff;box-shadow:0 6px 22px #17203830;color:#172038;pointer-events:auto;touch-action:none}
.rs-map-polygon-detail>header{cursor:move;touch-action:none}
.rs-map-polygon-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 0 9px}.rs-map-polygon-detail>header b,.rs-map-polygon-detail>header small{display:block}.rs-map-polygon-detail>header b{font-size:13px}.rs-map-polygon-detail>header small{color:#687386;font-size:10px}
.rs-map-polygon-detail>header button{flex:0 0 29px;width:29px;height:29px;padding:0;border:0;border-radius:50%;background:#f0f2f6;color:#172038;font-size:21px;line-height:1;cursor:pointer}
.rs-map-polygon-detail section{margin-top:10px}.rs-map-polygon-detail h4{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#414b5d}.rs-map-polygon-detail h4 small{color:#687386;font-weight:700;text-transform:none;letter-spacing:0}
.rs-map-polygon-detail ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.rs-map-polygon-detail li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:7px 8px;border:1px solid #e4e8f0;border-radius:8px;background:#f8f9fc}
.rs-map-polygon-detail li b{font-size:11px}
.rs-map-polygon-detail li span{grid-column:1;color:#687386;font-size:10px;overflow-wrap:anywhere}
.rs-map-polygon-detail li strong{grid-column:2;grid-row:1/span 2;align-self:center;font-size:13px}
.rs-map-polygon-detail li small{grid-column:1;color:#8a93a5;font-size:9px}
.rs-map-polygon-empty{margin:0;color:#687386;font-size:11px}
.global-pending-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.global-layer-control{display:inline-flex;align-items:center;gap:5px;min-width:0}.global-layer-control>.btn{flex:0 1 auto;min-width:0;white-space:nowrap}.global-layer-n{width:46px;min-width:46px;padding:4px 3px;border:1px solid #dce1e9;border-radius:10px;background:#fff;font-size:12px;font-weight:800;text-align:center;color:#111}.global-layer-n::-webkit-outer-spin-button,.global-layer-n::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.global-layer-n{-moz-appearance:textfield;appearance:textfield}/* Chips de capas: píldora compacta con un punto del color de la capa. Al
   activarse el punto se enciende y el chip se tiñe, sin pintar todo el botón. */
.global-pending-toggle{--rs-dot:#c7ccd4;--rs-tint:#fff;--rs-line:#dce1e9;display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:4px 12px 4px 9px;font-size:12px;font-weight:800;box-shadow:0 1px 2px #17203812;transition:background .15s ease,border-color .15s ease}
.global-pending-toggle::before{content:'';flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--rs-dot);opacity:.35;transition:opacity .15s ease}
.global-pending-toggle[data-global-layer="pending"]{--rs-dot:#f49a22;--rs-tint:#fff4e6;--rs-line:#f5cfa0}
.global-pending-toggle[data-global-layer="stock"]{--rs-dot:#20ae63;--rs-tint:#e7f7ee;--rs-line:#a9dcc0}
.global-pending-toggle[data-global-layer="abandoned"]{--rs-dot:#e83288;--rs-tint:#fdeaf3;--rs-line:#f3b9d7}
.global-pending-toggle[data-global-layer="delayed"]{--rs-dot:#f26fb2;--rs-tint:#fdeaf3;--rs-line:#f3b9d7}
.global-pending-toggle[data-global-layer="deliveries"]{--rs-dot:#e83288;--rs-tint:#fdeaf3;--rs-line:#f3b9d7}
.global-pending-toggle[data-global-layer="deliveries"]::before{background:conic-gradient(#e83288 0 120deg,#bfc5ce 120deg 240deg,#4ec3f0 240deg)}
.global-pending-toggle[data-global-layer="orders"]{--rs-dot:#4ec3f0;--rs-tint:#e9f7fd;--rs-line:#b5e1f6}
.global-pending-toggle[data-global-layer="all"]{--rs-dot:#111827;--rs-tint:#eef1f5;--rs-line:#c9d1de}
.global-pending-toggle.active{background:var(--rs-tint)!important;border-color:var(--rs-line)!important;color:#111827!important;box-shadow:0 1px 4px #1720381f}
.global-pending-toggle.active::before{opacity:1}.global-layer-count{display:inline-grid;place-items:center;min-width:17px;height:16px;margin-left:1px;padding:0 4px;border-radius:999px;background:#eef1f5;color:#111;font-size:9px;font-weight:900;line-height:1;vertical-align:middle}.global-pending-toggle.active .global-layer-count{background:#fff;color:#111}.rs-deliveries-kinds{flex:1 1 100%;display:grid;gap:3px;padding:6px 9px;border:1px dashed #dce1e9;border-radius:12px;background:#fafbfd}.rs-deliveries-kinds[hidden]{display:none}.rs-delivery-kind{display:flex;align-items:center;gap:6px;min-width:0;color:#111;font-size:11px;font-weight:800;cursor:pointer}.rs-delivery-kind input{margin:0;accent-color:#111827}.rs-delivery-kind>span{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-layer-kind-count{display:inline-grid;place-items:center;min-width:22px;height:18px;padding:0 5px;border:1px solid #dce1e9;border-radius:999px;background:#fff;color:#111;font-size:10px;font-weight:900;line-height:1}.rs-city-filter{flex:1 1 100%;display:flex;align-items:center;gap:6px;padding:2px 0;color:#111;font-size:11px;font-weight:800}.rs-city-filter>span{white-space:nowrap}.global-city-filter{flex:1 1 auto;min-width:0;border:1px solid #111;border-radius:8px;background:#fff;padding:5px 7px;color:#111;font-size:11px;font-weight:800}.global-city-filter:disabled{opacity:.6}.rs-global-loading{position:absolute;inset:0;z-index:1500;display:grid;place-items:center;background:#ffffff8c;backdrop-filter:blur(1px)}.rs-global-loading-card{display:flex;flex-direction:column;align-items:center;gap:7px;background:#fff;border:1px solid #111;border-radius:16px;padding:16px 24px;box-shadow:0 14px 40px #0d172d33}.rs-global-loading-card b{font-size:16px;color:#111}.rs-global-loading-card small{font-size:11px;color:#5d687b;font-weight:700}.rs-spinner{width:24px;height:24px;border:3px solid #e83288;border-right-color:transparent;border-radius:50%;animation:rs-global-spin .7s linear infinite}@keyframes rs-global-spin{to{transform:rotate(360deg)}}
/* Buscador de clientes del reparto (toolbar del mapa) */
.rs-client-search{grid-column:1/-1;position:relative;display:flex;align-items:center;min-width:0}
.rs-client-search-input{flex:1 1 auto;min-width:0;padding:7px 32px 7px 10px;border:1px solid #111;border-radius:10px;background:#fff;color:#111;font-size:12px;font-weight:700}
.rs-client-search-input::placeholder{color:#5d687b;font-weight:600}
.rs-client-search-input:focus{outline:2px solid #16a34a;outline-offset:1px}
.rs-client-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.rs-client-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:#eef1f5;color:#111;font-size:11px;font-weight:900;line-height:1;cursor:pointer}
.rs-client-search-clear:hover{background:#111;color:#fff}
.rs-client-search-clear[hidden]{display:none}
.rs-client-search-results{position:absolute;z-index:1400;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow:auto;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid #111;border-radius:12px;box-shadow:0 14px 34px #0d172d33}
.rs-client-search-results[hidden]{display:none}
.rs-client-search-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 8px;width:100%;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:#111;text-align:left;font-size:12px;cursor:pointer}
.rs-client-search-item b{font-size:11px;font-weight:900;color:#0b6b3a}
.rs-client-search-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}
.rs-client-search-item small{grid-column:1/-1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5d687b;font-size:10px;font-weight:600}
.rs-client-search-item:hover,.rs-client-search-item.active{background:#e8f7ee}
.rs-client-search-empty{padding:7px 9px;color:#5d687b;font-size:11px;font-weight:600}
/* Halo verde del cliente buscado: pane propio (z 780), arriba de todo */
.rs-search-halo-glow{animation:rs-search-halo-pulse 2s ease-in-out infinite}
@keyframes rs-search-halo-pulse{0%,100%{opacity:.55}50%{opacity:.2}}
@media (prefers-reduced-motion:reduce){.rs-search-halo-glow{animation:none}}
/* Tarjeta del cliente buscado: pane propio (z 790) con pointer-events en none;
   el evento vuelve a activarse sólo en la tarjeta para no bloquear el mapa. */
.rs-search-client-card{display:grid;gap:3px;min-width:150px;max-width:240px;padding:8px 11px;border:1px solid #111;border-radius:11px;background:#fff;box-shadow:0 12px 30px #0d172d40;transform:translate(-50%,calc(-100% - var(--rs-card-lift,30px)));cursor:pointer;pointer-events:auto}
.rs-search-client-card:hover{border-color:#16a34a}
.rs-search-client-card-head{display:flex;gap:6px;align-items:baseline;min-width:0}
.rs-search-client-card-head b{flex:0 0 auto;font-size:11px;font-weight:900;color:#0b6b3a}
.rs-search-client-card-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;color:#111}
.rs-search-client-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5d687b;font-size:10px;font-weight:600}
.rs-search-card-days{justify-self:start;padding:2px 8px;border-radius:99px;font-size:10px;font-weight:850;white-space:nowrap}
.rs-search-card-days-ok{background:#e8f7ee;color:#0b6b3a}
.rs-search-card-days-warn{background:#fff3e2;color:#9a5b00}
.rs-search-card-days-bad{background:#ffe9f2;color:#b0175f}
.rs-search-card-days-unknown{background:#eef1f5;color:#5d687b}
/* Crear rescate desde el polígono: elegir repartidor y confirmar. */
.rs-map-polygon-rescue{display:grid;gap:6px;margin:10px 0 0;padding:9px;border:1px solid #d9d2f2;border-radius:9px;background:#f6f4fc}
.rs-map-polygon-rescue label{display:grid;gap:4px;font-size:10px;font-weight:800;color:#687386}
.rs-map-polygon-rescue select{padding:6px 8px;border:1px solid #c9c2ea;border-radius:7px;background:#fff;font-size:12px;font-weight:700;color:#172038}
.rs-map-polygon-rescue .btn.primary{width:100%}
/* En Rescates el mapa es global: la tarjeta de métricas del reparto no aplica
   y quedaba flotando (incluso colapsada) sobre el mapa. */
.route-map-toolbar[data-route-mode="rescues"] ~ #metrics{display:none!important}
