/* Ruta del día (solo en la app): progreso, parada actual, cronómetro, fotos antes y después, lista de actividades y finalizar, en una sola pantalla de teléfono.
   Los colores salen de variables (--rn-*): el modo oscuro solo las cambia (ver pro-dark.css). */
.rn{--rn-card:#fff;--rn-soft:#f3f7fd;--rn-line:#e6edf5;--rn-ink:#0b1f4d;--rn-text:#33425c;--rn-muted:#6b7a95;--rn-blue:#1665f2;--rn-bluebg:#e6f0ff;--rn-ok:#138a4f;--rn-okbg:#e4f6ec;--rn-warn:#c26a00;--rn-warnbg:#fff1dc;--rn-bad:#d92d3a;--rn-badbg:#fdeaec;--rn-warn-tx:#9c5300;--rn-bad-tx:#bd1f2c;--rn-vio:#7a4dd8;--rn-viobg:#f0eaff;--rn-shadow:0 2px 12px rgba(16,42,90,.06);display:grid;gap:12px;width:100%;max-width:640px;margin:0 auto;min-width:0}
.rn *{box-sizing:border-box}.rn em{font-style:normal}.rn .ps-ico{width:20px;height:20px;flex:none}
.rn-card{background:var(--rn-card);border:1px solid var(--rn-line);border-radius:20px;box-shadow:var(--rn-shadow);padding:14px;min-width:0;color:var(--rn-text)}
.rn-card h3,.rn-card h4{color:var(--rn-ink);margin:0}
.rn-lead{margin:0;line-height:1.5}
.rn-person select{height:44px;border:1px solid var(--rn-line);border-radius:12px;padding:0 12px;font:600 14px Inter,sans-serif;background:var(--rn-card);color:var(--rn-ink);max-width:100%}
.rn-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rn-hint{color:var(--rn-muted);font-size:12px}
.rn-loading{min-height:80px}

/* Progreso de ruta */
.rn-progress{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:14px 16px}
.rn-ico{display:grid;place-items:center;width:44px;height:44px;color:var(--rn-blue)}.rn-ico .ps-ico{width:32px;height:32px}
.rn-progress-text{display:grid;gap:2px;min-width:0}.rn-progress-text b{font-size:19px;line-height:1.15;color:var(--rn-ink);font-weight:800}.rn-progress-text small{font-size:13px;color:var(--rn-muted);line-height:1.3}
.rn-progress-side{display:grid;justify-items:end;gap:2px}.rn-progress-side strong{font-size:36px;line-height:1;font-weight:800;color:var(--rn-blue);letter-spacing:-.02em}
.rn-state{padding:3px 11px;border-radius:999px;font-size:12.5px;font-weight:700;background:var(--rn-bluebg);color:var(--rn-blue);white-space:nowrap}.rn-state.is-muted{background:var(--rn-soft);color:var(--rn-muted)}
.rn-bar{grid-column:1/-1;height:12px;border-radius:999px;background:var(--rn-soft);overflow:hidden;margin-top:4px}.rn-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1665f2,#2f8cff);transition:width .4s}

/* Tarjeta del cliente */
.rn-client{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;padding:12px}
.rn-pool{width:84px;min-height:84px;border-radius:14px;display:grid;place-items:center;color:#fff;background:repeating-linear-gradient(172deg,rgba(255,255,255,.16) 0 2px,rgba(255,255,255,0) 2px 15px),linear-gradient(160deg,#4fc3f7,#1e88e5 55%,#1565c0)}
.rn-pool .ps-ico{width:36px;height:36px;stroke-width:1.8}
.rn-pool.is-limpieza{background-image:repeating-linear-gradient(172deg,rgba(255,255,255,.16) 0 2px,rgba(255,255,255,0) 2px 15px),linear-gradient(160deg,#7dd3fc,#0ea5e9 60%,#0369a1)}.rn-pool.is-revision{background-image:repeating-linear-gradient(172deg,rgba(255,255,255,.16) 0 2px,rgba(255,255,255,0) 2px 15px),linear-gradient(160deg,#6ee7b7,#14b8a6 60%,#0f766e)}.rn-pool.is-reparacion{background-image:repeating-linear-gradient(172deg,rgba(255,255,255,.16) 0 2px,rgba(255,255,255,0) 2px 15px),linear-gradient(160deg,#fcd34d,#f59f0b 60%,#b45309)}
.rn-client-main h3{font-size:19px;line-height:1.2;font-weight:800;overflow-wrap:anywhere}
.rn-client-main ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}.rn-client-main li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--rn-text)}.rn-client-main li .ps-ico{width:16px;height:16px;color:var(--rn-muted);margin-top:2px}
.rn-client-side{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--rn-line);padding-top:10px}
.rn-when{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center;justify-items:start}.rn-when .ps-ico{grid-row:1/3;color:var(--rn-muted);width:24px;height:24px}.rn-when b{font-size:14px;color:var(--rn-ink)}.rn-when small{font-size:12px;color:var(--rn-muted)}

/* Indicadores */
.rn-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rn-kpi{background:var(--rn-card);border:1px solid var(--rn-line);border-radius:16px;box-shadow:var(--rn-shadow);padding:10px;display:grid;align-content:start;gap:4px;min-width:0}
.rn-kpi-top{display:flex;align-items:center;gap:8px;min-width:0}.rn-kpi small{font-size:12px;line-height:1.15;font-weight:700;color:var(--rn-ink);min-width:0}
.rn-kico{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--rn-bluebg);color:var(--rn-blue)}.rn-kico .ps-ico{width:18px;height:18px}
.rn-kico.is-green{background:var(--rn-okbg);color:var(--rn-ok)}.rn-kico.is-orange{background:var(--rn-warnbg);color:var(--rn-warn)}
.rn-kpi>b{font-size:30px;line-height:1.05;font-weight:800;color:var(--rn-ink);letter-spacing:-.02em;white-space:nowrap}
.rn-kpi-sub{font-size:11.5px;line-height:1.2;color:var(--rn-muted)}

/* Cronómetro y avisos */
.rn-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rn-timer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 8px;align-content:start;padding:12px}
.rn-clock{display:grid;place-items:center;color:var(--rn-blue)}.rn-clock .ps-ico{width:34px;height:34px}
.rn-timer small{display:block;font-size:11.5px;font-weight:700;color:var(--rn-ink);line-height:1.2}
.rn-timer>div>b{display:block;font-size:24px;line-height:1.15;font-weight:800;color:var(--rn-ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.rn-timer em{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--rn-text)}.rn-timer em i{width:9px;height:9px;border-radius:50%;background:#22b573;display:block}
.rn-hist{grid-column:1/-1;margin:0;font-size:11.5px;line-height:1.4;color:var(--rn-muted)}.rn-hist b{color:var(--rn-ink)}
.rn-notices{background:var(--rn-okbg);border-color:transparent;padding:12px;display:grid;gap:8px;align-content:start}
.rn-notices ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rn-notices li{display:flex;gap:8px;align-items:flex-start}.rn-notices li>span{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#22b573;color:#fff}.rn-notices li>span .ps-ico{width:15px;height:15px}
.rn-notices li.is-wait>span{background:var(--rn-warn)}
.rn-notices b{display:block;font-size:12.5px;line-height:1.25;color:var(--rn-ink)}.rn-notices small{display:block;font-size:11px;line-height:1.3;color:var(--rn-muted);margin-top:1px}

/* Registro del servicio */
.rn-form{display:grid;gap:12px}
.rn-h{font-size:21px;font-weight:800;color:var(--rn-ink);margin:4px 0 0}
.rn-photo{background:var(--rn-card);border:1px solid var(--rn-line);border-radius:18px;box-shadow:var(--rn-shadow);padding:10px;display:grid;gap:8px;align-content:start;min-width:0;overflow:hidden}
.rn-photo header{display:flex;align-items:center;gap:6px}.rn-photo header .ps-ico{color:var(--rn-blue)}.rn-photo header b{font-size:13px;color:var(--rn-ink)}.rn-photo header{flex-wrap:wrap;gap:4px 6px}
.rn-req{margin-left:auto;padding:2px 6px;border-radius:999px;background:var(--rn-bluebg);color:var(--rn-blue);font-size:10px;font-weight:700;white-space:nowrap}
.rn-shots{display:grid;gap:8px}
.rn-shots ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.rn-shots li{position:relative;width:calc(50% - 3px);aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--rn-soft)}.rn-shots li img{width:100%;height:100%;object-fit:cover;display:block}
.rn-shots li button{position:absolute;top:4px;right:4px;width:24px;height:24px;border:0;border-radius:50%;background:rgba(11,31,77,.7);color:#fff;font-size:16px;line-height:1;cursor:pointer}
.rn-shot-empty{margin:0;border:2px dashed var(--rn-line);border-radius:14px;padding:12px 6px;display:grid;justify-items:center;gap:4px;text-align:center;font-size:12px;line-height:1.35;color:var(--rn-muted);min-height:84px;align-content:center}.rn-shot-empty .ps-ico{width:30px;height:30px;color:var(--rn-muted)}
.rn-shot-btn{display:flex!important;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:12px;background:var(--rn-blue)!important;color:#fff!important;border:0!important;font-size:14.5px;font-weight:700;cursor:pointer}.rn-shot-btn .ps-ico{width:18px;height:18px}
.rn-shots .ps-photo-msg{font-size:11.5px;color:var(--rn-muted)}
.rn-lists{align-items:start;grid-template-columns:minmax(0,1fr)}
.rn-shots:has(li) .rn-shot-empty{display:none}
.rn-acts,.rn-comments{padding:10px}
.rn-acts h4,.rn-comments h4{font-size:14.5px;margin-bottom:6px}
.rn-acts ul{list-style:none;margin:0;padding:0;display:grid}
.rn-acts li{border-top:1px solid var(--rn-line)}.rn-acts li:first-child{border-top:0}
.rn-acts .ps-check{display:flex;align-items:center;gap:8px;padding:7px 0;min-height:38px;font-size:12.5px;line-height:1.25;color:var(--rn-text)}
.rn-acts input[type=checkbox]{width:20px;height:20px;accent-color:var(--rn-blue);flex:none}
.rn-comments textarea{width:100%;border:1px solid var(--rn-line);border-radius:12px;padding:10px;font:13px/1.45 Inter,sans-serif;background:var(--rn-card);color:var(--rn-text);resize:vertical;min-height:140px}
.rn-count{display:block;text-align:right;font-size:11.5px;color:var(--rn-muted);margin-top:4px}
.rn-more{padding:0}.rn-more summary{cursor:pointer;padding:14px;font-weight:700;color:var(--rn-ink);list-style:none;display:flex;align-items:center;justify-content:space-between}.rn-more summary::after{content:"+";font-size:20px;color:var(--rn-blue)}.rn-more[open] summary::after{content:"−"}
.rn-more>*:not(summary){margin-left:14px;margin-right:14px}.rn-more>*:last-child{margin-bottom:14px}.rn-more h5{margin:14px 14px 6px;font-size:14px;color:var(--rn-ink)}
.rn-more .ps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.rn-more input,.rn-more select,.rn-more textarea{font-size:16px}
.rn-sync{margin:0;font-size:12px;color:var(--rn-muted);text-align:center;min-height:16px}.rn-sync.is-saved{color:var(--rn-ok)}.rn-sync.is-pending,.rn-sync.is-error{color:var(--rn-warn)}
.rn-after{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:14px;background:var(--rn-bluebg);color:var(--rn-text);font-size:12.5px;line-height:1.4}.rn-after .ps-ico{color:var(--rn-blue);margin-top:1px}

/* Botones grandes de terreno */
.rn-cta{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;border:0;border-radius:16px;background:linear-gradient(180deg,#2b7bff,#1665f2)!important;color:#fff!important;font-size:16px;font-weight:800;letter-spacing:.02em;box-shadow:0 10px 24px rgba(22,101,242,.3);cursor:pointer}.rn-cta[disabled]{opacity:.7}.rn-cta .ps-ico{width:22px;height:22px}

/* Antes de llegar y listas de paradas */
.rn-before{display:grid;gap:12px}
.rn-links{display:flex;gap:8px;flex-wrap:wrap}
.rn-enroute{display:grid;gap:8px;padding:12px;border-radius:14px;background:var(--rn-soft)}.rn-enroute small{color:var(--rn-muted);line-height:1.4}.rn-enroute b{color:var(--rn-ink)}
.rn-etas{display:flex;gap:8px;flex-wrap:wrap}
.rn-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:12px;font-size:13.5px;line-height:1.4;background:var(--rn-soft);color:var(--rn-text)}.rn-note.is-ok{background:var(--rn-okbg);color:var(--rn-ok)}.rn-note .ps-ico{width:18px;height:18px;flex:none;margin-top:1px}
.rn-place{margin:0}
.rn-stops{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rn-stops li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--rn-line);border-radius:14px;background:var(--rn-soft);flex-wrap:wrap}
.rn-stops li>div:not(.rn-meta){flex:1 1 160px;min-width:0}
.rn-stops b{display:block;color:var(--rn-ink)}.rn-stops small{display:block;color:var(--rn-muted);font-size:12.5px;margin-top:1px}
.rn-stops li.is-done{opacity:.75}
.rn-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}
.rn-n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--rn-blue);color:#fff;font:800 14px Inter,sans-serif}.rn-n .ps-ico{width:16px;height:16px}.rn-n.is-done{background:var(--rn-okbg);color:var(--rn-ok)}
.rn-all summary{cursor:pointer;font-weight:700;color:var(--rn-ink);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.rn-all summary small{font-weight:500;color:var(--rn-muted)}.rn-all[open] summary{margin-bottom:10px}
.rn-start{display:grid;gap:12px}.rn-start h3{font-size:20px}
.rn-foot{display:flex;justify-content:center}
.rn-finished{text-align:center;justify-items:center;display:grid;gap:10px}.rn-finished .rn-stops{width:100%;text-align:left}
.rn-ok{width:54px;height:54px;border-radius:50%;background:var(--rn-okbg);color:var(--rn-ok);display:grid;place-items:center}.rn-ok .ps-ico{width:28px;height:28px}
.rn-manual{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.rn-manual li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--ps-line,#e6edf5);border-radius:12px}.rn-manual small{display:block;color:var(--ps-muted,#6b7a95)}
.rn-bar-link{box-sizing:border-box;width:100%;max-width:100%;min-width:0;position:sticky;top:8px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap;padding:8px 10px 8px 14px;border-radius:14px;background:#1665f2;color:#fff;box-shadow:0 8px 24px rgba(22,101,242,.28)}
.rn-bar-link span{flex:1 1 0;display:inline-flex;align-items:center;gap:8px;font-size:13.5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rn-bar-link .btn{flex:none;background:#fff;color:#0b1f4d;border-color:#fff}.rn-bar-link .ps-ico{width:18px;height:18px}
@media(max-width:360px){.rn-pair{grid-template-columns:minmax(0,1fr)}}
@media(min-width:560px){.rn-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.rn-lists{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Tablero de «Ruta del día» (pro-suite-runboard.js): indicadores, progreso con su atraso, próxima visita, piscinas que faltan y realizadas, solicitudes y alertas. */
.rb{display:grid;gap:12px;min-width:0}.rb *{box-sizing:border-box}.rb em{font-style:normal}.rb button{font-family:inherit}
.rb-back{justify-self:start;display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:4px 2px;font:700 14px Inter,sans-serif;color:var(--rn-blue);cursor:pointer}.rb-back .ps-ico{width:18px;height:18px}
.rb-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.rb-kpis.is-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rb-kpi{background:var(--rn-card);border:1px solid var(--rn-line);border-radius:16px;box-shadow:var(--rn-shadow);padding:10px 4px 9px;display:grid;justify-items:center;align-content:start;gap:3px;text-align:center;min-width:0}
.rb-kico{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--rn-bluebg);color:var(--rn-blue)}.rb-kico .ps-ico{width:16px;height:16px}
.rb-kpi.is-green .rb-kico{background:var(--rn-okbg);color:var(--rn-ok)}.rb-kpi.is-orange .rb-kico{background:var(--rn-warnbg);color:var(--rn-warn)}.rb-kpi.is-red .rb-kico{background:var(--rn-badbg);color:var(--rn-bad)}.rb-kpi.is-violet .rb-kico{background:var(--rn-viobg);color:var(--rn-vio)}
.rb-kpi>b{font-size:21px;line-height:1.1;font-weight:800;color:var(--rn-ink);letter-spacing:-.02em;white-space:nowrap;max-width:100%}.rb-kpi>b.is-long{font-size:13px;letter-spacing:-.03em;line-height:1.5}.rb-kpi>b.is-xlong{font-size:11px}
.rb-kpi.is-green>b{color:var(--rn-ok)}.rb-kpi.is-orange>b{color:var(--rn-warn)}.rb-kpi.is-red>b{color:var(--rn-bad)}
.rb-kpi small{font-size:10px;line-height:1.15;font-weight:600;color:var(--rn-muted)}
.rb-card{padding:14px;display:grid;gap:12px;align-content:start}
.rb-head{display:flex;align-items:center;gap:8px;min-width:0}.rb-head h3{flex:1 1 auto;min-width:0;font-size:15px;line-height:1.2;font-weight:800;color:var(--rn-ink)}
.rb-hico{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--rn-bluebg);color:var(--rn-blue)}.rb-hico .ps-ico{width:17px;height:17px}
.rb-hico.is-green{background:var(--rn-okbg);color:var(--rn-ok)}.rb-hico.is-orange{background:var(--rn-warnbg);color:var(--rn-warn)}.rb-hico.is-red{background:var(--rn-badbg);color:var(--rn-bad)}
.rb-link{flex:none;display:inline-flex;align-items:center;gap:2px;border:0;background:none;padding:6px 0 6px 6px;font:700 12.5px Inter,sans-serif;color:var(--rn-blue);cursor:pointer;white-space:nowrap}.rb-link .ps-ico{width:14px;height:14px}
.rb-pill{display:inline-block;padding:3px 8px;border-radius:999px;font-size:10.5px;line-height:1.2;font-weight:700;white-space:nowrap;background:var(--rn-soft);color:var(--rn-muted)}
.rb-pill.is-ok{background:var(--rn-okbg);color:var(--rn-ok)}.rb-pill.is-info,.rb-pill.is-run{background:var(--rn-bluebg);color:var(--rn-blue)}.rb-pill.is-new{background:var(--rn-blue);color:#fff}
.rb-pill.is-warn,.rb-pill.is-todo{background:var(--rn-warnbg);color:var(--rn-warn-tx)}.rb-pill.is-bad,.rb-pill.is-late{background:var(--rn-badbg);color:var(--rn-bad-tx)}
/* Progreso */
.rb-pct{display:flex;align-items:baseline;gap:6px}.rb-pct b{font-size:30px;line-height:1;font-weight:800;color:var(--rn-blue);letter-spacing:-.02em}.rb-pct span{font-size:13px;color:var(--rn-muted)}
.rb-progress .rn-bar{margin:-4px 0 0}
.rb-delay{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--rn-soft)}.rb-delay>div{min-width:0}
.rb-dico{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--rn-card);color:var(--rn-muted)}.rb-dico .ps-ico{width:17px;height:17px}
.rb-delay b{display:block;font-size:14px;line-height:1.2;color:var(--rn-ink)}.rb-delay small{display:block;font-size:12px;line-height:1.3;color:var(--rn-muted)}
.rb-delay.is-late{background:var(--rn-badbg)}.rb-delay.is-late b{color:var(--rn-bad)}.rb-delay.is-late .rb-dico{color:var(--rn-bad)}
.rb-delay.is-ok{background:var(--rn-okbg)}.rb-delay.is-ok b{color:var(--rn-ok)}.rb-delay.is-ok .rb-dico{color:var(--rn-ok)}
.rb-now{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding-top:2px}
.rb-now small{display:block;font-size:11px;line-height:1.2;color:var(--rn-muted)}.rb-now b{display:block;font-size:14px;line-height:1.25;color:var(--rn-ink);overflow-wrap:anywhere}
.rb-now-at{padding-right:10px;border-right:1px solid var(--rn-line)}.rb-now-at b{font-size:18px;font-variant-numeric:tabular-nums}
.rb-start{margin-top:2px}
/* Próxima visita */
.rb-next-body{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.rb-photo{display:block;width:44px;height:44px;border-radius:12px;object-fit:cover;background:var(--rn-soft);flex:none}.rb-photo.is-big{width:92px;height:92px;border-radius:16px}
.rb-photo.is-art{display:grid;place-items:center;color:#fff;background:repeating-linear-gradient(172deg,rgba(255,255,255,.16) 0 2px,rgba(255,255,255,0) 2px 12px),linear-gradient(160deg,#4fc3f7,#1e88e5 55%,#1565c0)}.rb-photo.is-art .ps-ico{width:46%;height:46%;stroke-width:1.8}
.rb-photo.is-limpieza.is-art{background-image:repeating-linear-gradient(172deg,rgba(255,255,255,.16) 0 2px,rgba(255,255,255,0) 2px 12px),linear-gradient(160deg,#7dd3fc,#0ea5e9 60%,#0369a1)}
.rb-next-text{min-width:0}.rb-next-text>b{display:flex;align-items:center;gap:8px;font-size:17px;line-height:1.2;font-weight:800;color:var(--rn-ink);overflow-wrap:anywhere}
.rb-num{flex:none;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--rn-blue);color:#fff;font:800 12px Inter,sans-serif}
.rb-next-text ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}.rb-next-text li{display:flex;align-items:flex-start;gap:7px;font-size:13px;line-height:1.3;color:var(--rn-text)}.rb-next-text li .ps-ico{flex:none;width:15px;height:15px;margin-top:1px;color:var(--rn-muted)}
.rb-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rb-tile{display:flex;align-items:center;gap:8px;padding:10px;border-radius:14px;background:var(--rn-soft);min-width:0}.rb-tile>.ps-ico{flex:none;width:22px;height:22px;color:var(--rn-blue)}.rb-tile>div{min-width:0}
.rb-tile b{display:block;font-size:15px;line-height:1.2;color:var(--rn-ink)}.rb-tile small{display:block;font-size:11px;line-height:1.25;color:var(--rn-muted)}
.rb-go{margin:0}
.rb-empty{display:flex;align-items:center;gap:10px}.rb-empty b{display:block;font-size:14px;color:var(--rn-ink)}.rb-empty small{display:block;font-size:12.5px;line-height:1.35;color:var(--rn-muted)}
.rb-none{margin:0;font-size:12.5px;line-height:1.4;color:var(--rn-muted)}
/* Piscinas que faltan y realizadas */
.rb-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.rb-half{padding:12px 10px;gap:10px}.rb-half .rb-head{align-items:flex-start;gap:6px}.rb-half .rb-head h3{font-size:12.5px}.rb-half .rb-hico{width:26px;height:26px}.rb-half .rb-hico .ps-ico{width:15px;height:15px}
.rb-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.rb-list>li+li{border-top:1px solid var(--rn-line);padding-top:8px}
.rb-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:4px 6px;align-items:center;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit}
.rb-n{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--rn-blue);color:#fff;font:800 11px Inter,sans-serif}.rb-n.is-done{background:var(--rn-ok)}.rb-n .ps-ico{width:12px;height:12px;stroke-width:3}
.rb-row .rb-photo{width:34px;height:34px;border-radius:9px}
.rb-info{display:grid;min-width:0;gap:1px}.rb-info b{font-size:12px;line-height:1.2;color:var(--rn-ink);overflow-wrap:anywhere}.rb-info small{font-size:10.5px;line-height:1.25;color:var(--rn-muted);overflow-wrap:anywhere}
.rb-side{grid-column:3;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rb-side time{font-size:11.5px;font-weight:700;color:var(--rn-ink);font-variant-numeric:tabular-nums}
.rb-pills{grid-column:1/-1;display:flex;gap:4px;flex-wrap:wrap;padding-left:26px}
/* Solicitudes y alertas */
.rb-req{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit}
.rb-rico{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--rn-bluebg);color:var(--rn-blue)}.rb-rico .ps-ico{width:18px;height:18px}
.rb-rico.is-bad,.rb-rico.is-late{background:var(--rn-badbg);color:var(--rn-bad)}.rb-rico.is-warn,.rb-rico.is-todo{background:var(--rn-warnbg);color:var(--rn-warn)}.rb-rico.is-ok{background:var(--rn-okbg);color:var(--rn-ok)}
.rb-rtext{display:grid;gap:1px;min-width:0}.rb-rtext b{font-size:13.5px;line-height:1.25;color:var(--rn-ink);overflow-wrap:anywhere}.rb-rtext small{font-size:11.5px;line-height:1.3;color:var(--rn-muted);overflow-wrap:anywhere}
.rb-rtext q{font-size:12px;line-height:1.35;color:var(--rn-text);quotes:"“" "”";overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rb-rside{display:grid;justify-items:end;gap:4px}.rb-rside time{font-size:11px;color:var(--rn-muted);white-space:nowrap}
@media(max-width:360px){.rb-pair{grid-template-columns:minmax(0,1fr)}.rb-kpi>b{font-size:18px}}
/* A 390 px la pastilla de una solicitud («Pagada: necesita tu acción») dejaba el texto en ~126 px: la hora y la pastilla pasan debajo del texto, en una fila que puede partirse. */
@media(max-width:480px){.rb-req{grid-template-columns:auto minmax(0,1fr)}.rb-rside{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.rb-rside time{order:2;margin-left:auto}}
@media(min-width:600px){.rb-kpi>b{font-size:26px}.rb-kpi>b.is-long{font-size:18px}.rb-kpi>b.is-xlong{font-size:15px}.rb-kpi small{font-size:12px}}
