/* Pantallas nuevas del portal del piscinero (etapa 1): inicio, clientes, oportunidades, cotizaciones, calendario e historial. */
.ps-page{--ps-ink:#0b1f4d;--ps-text:#33425c;--ps-muted:#6b7a95;--ps-line:#e6edf5;--ps-blue:#1665f2;--ps-sky:#eaf3ff;--ps-teal:#0ea5a4;--ps-green:#16a34a;--ps-gold:#f5a623;--ps-red:#d92d20;display:grid;gap:16px;color:var(--ps-text);min-width:0}
#ps-region{display:grid;gap:16px;min-width:0}
.ps-ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ps-page h2,.ps-page h3,.ps-page h4{color:var(--ps-ink);margin:0}
.ps-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.ps-card{background:#fff;border-radius:16px;padding:16px 18px;box-shadow:0 1px 2px rgba(11,31,77,.04),0 8px 22px rgba(11,31,77,.05);min-width:0}
.ps-card h3{font-size:16px;margin-bottom:10px}.ps-card h4{font-size:14px;margin:14px 0 6px}
.ps-card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 10px;margin-bottom:12px}
.ps-card-head h2{display:flex;align-items:center;gap:8px;font-size:17px}.ps-card-head h2 .ps-ico{color:var(--ps-blue);width:21px;height:21px}
.ps-note{color:var(--ps-muted);font-size:13.5px;line-height:1.5;margin:0 0 10px}.ps-muted{color:var(--ps-muted)}.ps-bad{color:var(--ps-red);font-weight:600}
.ps-grid2{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.ps-grid2{grid-template-columns:minmax(0,1fr)}}
.ps-grid{display:grid;gap:10px 12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.ps-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* Barras de herramientas y pestañas */
.ps-bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;background:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 1px 2px rgba(11,31,77,.04)}
.ps-bar-actions{margin-left:auto;display:flex;gap:8px}
.ps-tabs{display:flex;gap:4px;flex-wrap:wrap;background:#f1f5fb;border-radius:11px;padding:3px}
.ps-tabs button{border:0;background:none;border-radius:9px;padding:8px 12px;font:600 13.5px Inter,sans-serif;color:var(--ps-muted);cursor:pointer;min-height:36px}
.ps-tabs button em{font-style:normal;margin-left:4px;font-size:12px;background:#dfe8f5;border-radius:999px;padding:1px 7px;color:var(--ps-ink)}
.ps-tabs button.active{background:#fff;color:var(--ps-ink);box-shadow:0 1px 4px rgba(11,31,77,.12)}
.ps-nav{display:flex;align-items:center;gap:6px}.ps-range{color:var(--ps-ink);font-size:15px;margin-left:6px}
.ps-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1 1 320px}
.ps-filters input,.ps-filters select{height:40px;border:1px solid var(--ps-line);border-radius:10px;padding:0 12px;font:500 14px Inter,sans-serif;background:#fff;color:var(--ps-ink);min-width:0}
.ps-filters input[type=search]{flex:1 1 220px}.ps-filters select{flex:0 1 190px}.ps-inline{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ps-muted)}
.ps-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:13px;color:var(--ps-muted)}.ps-count{font-size:13px;color:var(--ps-muted);margin:10px 0 0}

/* Etiquetas */
.ps-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}
.ps-chip{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:7px;font-size:12px;font-weight:700;background:#eef2f7;color:#53627c}
.ps-chip.is-ok{background:#e4f6ec;color:#138a4f}.ps-chip.is-info{background:#e6f0ff;color:#1559c9}.ps-chip.is-warn{background:#fff2dc;color:#b76b00}.ps-chip.is-bad{background:#fde8e6;color:#b42318}
.ps-price{margin-left:auto;font-weight:700;color:var(--ps-ink);font-size:13.5px}

/* Tablas */
.ps-table-wrap{overflow-x:auto}
.ps-table{width:100%;border-collapse:collapse;font-size:14px}
.ps-table th{text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ps-muted);padding:8px 10px;border-bottom:1px solid var(--ps-line);white-space:nowrap}
.ps-table td{padding:11px 10px;border-bottom:1px solid #f0f4f9;vertical-align:top}
.ps-table small{display:block;color:var(--ps-muted);font-size:12px;margin-top:2px}
.ps-table tfoot td{text-align:right;font-weight:600;border-bottom:0;padding-top:6px}.ps-table .ps-total td{font-size:16px;color:var(--ps-ink)}
.ps-row-actions{white-space:nowrap;text-align:right}.ps-row-actions .btn{margin-left:4px}
.ps-linkname{background:none;border:0;padding:0;font:inherit;color:var(--ps-blue);cursor:pointer;text-align:left}
.ps-dl{display:grid;gap:8px;margin:0}.ps-dl div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px}.ps-dl dt{color:var(--ps-muted);font-size:13px}.ps-dl dd{margin:0;color:var(--ps-ink);word-break:break-word}
.ps-plain{margin:0;padding-left:18px}.ps-plain li{margin:3px 0}
@media(max-width:720px){
 .ps-table:not(.ps-items) thead{display:none}
 .ps-table.ps-clients tr,.ps-table:not(.ps-items) tbody tr{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--ps-line)}
 .ps-table.ps-clients td,.ps-table:not(.ps-items) td{border:0;padding:2px 0;display:flex;justify-content:space-between;gap:12px}
 .ps-table td[data-label]::before{content:attr(data-label);color:var(--ps-muted);font-size:12px;flex:none}
 .ps-table td.ps-row-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:4px}
 .ps-dl div{grid-template-columns:1fr}
}

/* Inicio */
.ps-hello{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:linear-gradient(120deg,#0d2a6b,#1665f2 70%,#0ea5a4);color:#fff}
.ps-page .ps-hello h2{color:#fff!important;font-size:26px}.ps-page .ps-hello p{margin:6px 0 0;color:#e6f0ff!important;font-size:15px}.ps-page .ps-hello b{color:#fff!important}
.ps-hello .btn.outline{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);color:#fff}
.ps-kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.ps-kpi{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid var(--ps-line);border-radius:14px;padding:14px;cursor:pointer;font:inherit;color:inherit;box-shadow:0 1px 2px rgba(11,31,77,.04);transition:transform .15s,box-shadow .15s}
.ps-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,31,77,.1)}
.ps-kpi-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--ps-sky);color:var(--ps-blue);flex:none}
.ps-kpi.is-green .ps-kpi-ico{background:#e4f6ec;color:var(--ps-green)}.ps-kpi.is-gold .ps-kpi-ico{background:#fff2dc;color:var(--ps-gold)}.ps-kpi.is-blue .ps-kpi-ico{background:#dff4f4;color:var(--ps-teal)}
.ps-kpi-body{display:grid;gap:1px;min-width:0;flex:1}.ps-kpi small{font-size:12.5px;color:var(--ps-muted)}.ps-kpi b{font-size:24px;color:var(--ps-ink);line-height:1.15}.ps-kpi em{font-style:normal;font-size:12.5px;color:var(--ps-muted)}
.ps-kpi-go{color:#b5c2d6}
.ps-kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:10px}.ps-kpis div{background:#f6f9fd;border-radius:12px;padding:10px 12px}.ps-kpis small{display:block;color:var(--ps-muted);font-size:12.5px}.ps-kpis b{font-size:20px;color:var(--ps-ink)}
.ps-alerts{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ps-alerts li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#f6f9fd;border-left:4px solid var(--ps-blue)}
.ps-alerts li.is-bad{border-color:var(--ps-red);background:#fff5f4}.ps-alerts li.is-warn{border-color:var(--ps-gold);background:#fffaf0}.ps-alerts li.is-ok{border-color:var(--ps-green);background:#f3fbf6}
.ps-alerts small{display:block;color:var(--ps-muted);font-size:12.5px}.ps-alert-acts{display:flex;align-items:center;gap:8px}.ps-alert-x{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #d6e0ee;border-radius:50%;background:#fff;color:#6b7a95;font:inherit;font-size:12px;line-height:1;cursor:pointer}.ps-alert-x:hover,.ps-alert-x:focus-visible{background:#fff1f2;border-color:#f3c3c8;color:#c23a47;outline:none}.ps-bell-more{margin:10px 2px 0;font-size:12.5px;line-height:1.5;color:var(--ps-muted)}.ps-alert-count{display:grid;place-items:center;min-width:30px;height:30px;border-radius:9px;background:#fff;font-weight:800;color:var(--ps-ink);box-shadow:0 1px 3px rgba(11,31,77,.12)}
.ps-chart{width:100%;height:auto;max-height:260px}.ps-gridline{stroke:#e6edf5}.ps-axis{font:500 11px Inter,sans-serif;fill:#6b7a95}.ps-bar-income{fill:#1665f2;opacity:.9}.ps-line{fill:none;stroke:#0ea5a4;stroke-width:2.5}.ps-dot{fill:#fff;stroke:#0ea5a4;stroke-width:2.5}
.ps-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ps-muted);margin:6px 0 0}.ps-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px}.ps-legend .is-income{background:#1665f2}.ps-legend .is-services{background:#0ea5a4}
.ps-loading{display:grid;gap:10px;padding:8px 0}.ps-loading i{display:block;height:46px;border-radius:12px;background:linear-gradient(90deg,#eef3fa,#f8fbff,#eef3fa);background-size:200% 100%;animation:ps-shimmer 1.3s infinite}
@keyframes ps-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.ps-loading i{animation:none}.ps-kpi{transition:none}}
.ps-empty{display:grid;justify-items:center;gap:8px;padding:26px 10px;text-align:center;color:var(--ps-muted)}.ps-empty strong{color:var(--ps-ink)}.ps-empty p{margin:0;max-width:460px}
.ps-error{padding:16px;border-radius:12px;background:#fff5f4;color:#b42318}.ps-error p{margin:4px 0 10px}

/* Visitas */
.ps-visits{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ps-visit{display:grid;grid-template-columns:68px minmax(0,1fr);gap:6px 12px;padding:12px;border:1px solid var(--ps-line);border-radius:14px;background:#fff;border-left:4px solid var(--ps-blue)}
.ps-visit.is-en_curso{border-left-color:var(--ps-green);background:#f3fbf6}.ps-visit.is-atrasada{border-left-color:var(--ps-red);background:#fff8f7}.ps-visit.is-realizada,.ps-visit.is-cancelada{border-left-color:#c4d0df;background:#fafcff}.ps-visit.has-conflict{outline:2px solid rgba(217,45,32,.35)}
.ps-visit-time{display:grid;align-content:start;text-align:center}.ps-visit-time b{font-size:18px;color:var(--ps-ink)}.ps-visit-time small{color:var(--ps-muted);font-size:12px}
.ps-visit-n{display:grid;place-items:center;width:24px;height:24px;margin:0 auto 4px;border-radius:50%;background:var(--ps-blue,#1d6ff2);color:#fff;font-size:12.5px;font-weight:800;line-height:1}
.ps-visit-main{display:grid;gap:2px;min-width:0}.ps-visit-main strong{color:var(--ps-ink);font-size:15.5px}.ps-visit-main>span{font-size:13.5px;color:var(--ps-muted)}
.ps-visit-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.ps-week{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr))}
.ps-weekday{background:#f8fbff;border:1px solid var(--ps-line);border-radius:12px;padding:8px;display:grid;align-content:start;gap:6px;min-height:120px}.ps-weekday.is-today{border-color:var(--ps-blue);background:#f1f7ff}
.ps-weekday header button{display:flex;align-items:baseline;gap:6px;border:0;background:none;cursor:pointer;color:var(--ps-ink);font:inherit}.ps-weekday header small{color:var(--ps-muted);font-weight:600}.ps-weekday header b{font-size:18px}
.ps-weekday>div{display:grid;gap:5px}.ps-none{color:#b5c2d6;text-align:center}
.ps-chipvisit{display:block;width:100%;text-align:left;border:0;border-radius:8px;padding:5px 7px;background:#e6f0ff;color:#1559c9;font:500 12.5px Inter,sans-serif;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-chipvisit b{font-weight:800}.ps-chipvisit.is-en_curso{background:#dcf5e7;color:#0f7a43}.ps-chipvisit.is-atrasada{background:#fde8e6;color:#b42318}.ps-chipvisit.is-realizada{background:#eef2f7;color:#53627c}.ps-chipvisit.has-conflict{box-shadow:inset 0 0 0 2px #d92d20}
.ps-month-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px}.ps-month-head span{text-align:center;font-size:12px;font-weight:700;color:var(--ps-muted)}
.ps-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ps-cell{min-height:92px;border:1px solid var(--ps-line);border-radius:10px;padding:5px;display:grid;align-content:start;gap:3px;background:#fff;min-width:0}.ps-cell.is-out{background:#f8fafd;opacity:.6}.ps-cell.is-today{border-color:var(--ps-blue);background:#f1f7ff}
.ps-cell-day{display:flex;justify-content:space-between;align-items:center;border:0;background:none;font:700 13px Inter,sans-serif;color:var(--ps-ink);cursor:pointer;padding:2px}.ps-cell-day em{font-style:normal;background:var(--ps-blue);color:#fff;border-radius:999px;font-size:11px;padding:0 6px}
.ps-more{border:0;background:none;color:var(--ps-blue);font:600 11.5px Inter,sans-serif;cursor:pointer;text-align:left}
@media(max-width:900px){.ps-week{grid-template-columns:minmax(0,1fr)}.ps-weekday{min-height:0}.ps-cell{min-height:64px}.ps-cell .ps-chipvisit{display:none}.ps-cell .ps-more{display:none}}

/* Oportunidades y cotizaciones */
.ps-opps{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
.ps-opp{background:#fff;border-radius:16px;padding:16px;display:grid;gap:10px;align-content:start;box-shadow:0 1px 2px rgba(11,31,77,.04),0 8px 22px rgba(11,31,77,.05);border-top:4px solid var(--ps-teal)}
.ps-opp.is-cotizada{border-top-color:var(--ps-blue)}.ps-opp.is-declinada,.ps-opp.is-cerrada{border-top-color:#c4d0df}.ps-opp.is-aceptada{border-top-color:var(--ps-green)}
.ps-opp header{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.ps-opp header h3{font-size:17px}.ps-opp header p{display:flex;align-items:center;gap:4px;margin:2px 0 0;color:var(--ps-muted);font-size:13.5px}
.ps-opp-text{margin:0;font-size:14px;line-height:1.5}.ps-facts{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:13px;color:var(--ps-muted)}
.ps-opp footer{display:flex;flex-wrap:wrap;gap:6px}.ps-offer{margin:0;font-size:14px;color:var(--ps-ink);background:var(--ps-sky);border-radius:10px;padding:8px 10px}
.ps-photos ul{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}.ps-photos li{position:relative}.ps-photos img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--ps-line);display:block}.ps-photos li button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:#0b1f4d;color:#fff;cursor:pointer;line-height:1}
.ps-photo-msg{display:block;color:var(--ps-red);font-size:12.5px;margin-top:4px}
.ps-timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--ps-line);display:grid;gap:12px}.ps-timeline li{position:relative}.ps-timeline li::before{content:"";position:absolute;left:-21px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--ps-blue)}.ps-timeline small{display:block;color:var(--ps-muted)}.ps-timeline p{margin:2px 0 0;font-size:13.5px}
.ps-client-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.ps-client-head h2{font-size:22px}

/* Formularios y ventanas */
.ps-form{display:grid;gap:12px}.ps-form fieldset{border:1px solid var(--ps-line);border-radius:12px;padding:10px 12px;display:grid;gap:10px;margin:0}.ps-form legend{font-weight:700;color:var(--ps-ink);padding:0 6px;font-size:14px}
.ps-form details summary{cursor:pointer;font-weight:700;color:var(--ps-ink);padding:6px 0}
.ps-field{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--ps-ink)}.ps-field input,.ps-field select,.ps-field textarea{width:100%;font:500 15px Inter,sans-serif;padding:10px 12px;border:1px solid #cdd9ea;border-radius:10px;background:#fff;color:var(--ps-ink);min-height:44px}
/* Un campo bloqueado se ve distinto de uno editable (en modo oscuro lo atenúa pro-dark.css); el gris cumple 4,5:1 sobre ese fondo. */
.ps-field input:disabled{background:#f1f4f9;color:#5b6b86;cursor:not-allowed}
.ps-wide{grid-column:1/-1}.ps-check{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ps-text)}.ps-check input{width:20px;height:20px;flex:none}.ps-checks{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.ps-itemrow{display:grid;grid-template-columns:150px minmax(0,1fr) 70px 120px 90px 32px;gap:6px;align-items:center;margin-bottom:6px}.ps-itemrow input,.ps-itemrow select{min-height:40px;padding:8px 10px;border:1px solid #cdd9ea;border-radius:9px;font:500 14px Inter,sans-serif;min-width:0;width:100%}.ps-itemrow output{font-weight:700;color:var(--ps-ink);text-align:right;font-size:14px}
.ps-x{border:0;background:#eef2f7;border-radius:8px;height:32px;cursor:pointer;color:var(--ps-muted);font-size:18px}
@media(max-width:720px){.ps-itemrow{grid-template-columns:minmax(0,1fr) 70px 100px 32px}.ps-itemrow select{grid-column:1/-1}.ps-itemrow output{display:none}}
.ps-totals{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;font-size:14px;padding-top:8px}.ps-grand{font-size:17px;color:var(--ps-ink)}
.ps-chem{grid-template-columns:2fr 1fr 1fr!important}.ps-chem input,.ps-equip input,.ps-equip select{padding:9px 10px;border:1px solid #cdd9ea;border-radius:9px;font:500 14px Inter,sans-serif;min-width:0;width:100%}
.ps-equip{grid-template-columns:1.2fr 1fr 1fr!important}
.ps-visit-detail{display:grid;gap:12px}.ps-summary pre{white-space:pre-wrap;font:500 14px/1.5 Inter,sans-serif;background:#f6f9fd;border-radius:12px;padding:12px;margin:0 0 12px;color:var(--ps-ink)}.ps-linkbox{width:100%;padding:10px;border:1px solid #cdd9ea;border-radius:10px;margin-bottom:10px}
.ps-limit-modal{display:grid;gap:14px}.ps-limit-modal p.pcl-limit{margin:0;font-size:15px;font-weight:600;line-height:1.5;color:#9a3412}
.ps-confirm{margin:0 0 14px}.ps-quick{display:grid;gap:10px}.ps-quick .btn{min-height:54px;font-size:16px;justify-content:flex-start;padding:0 18px}

/* Menú lateral por categorías */
.pro-nav .pro-group{display:flex;align-items:center;gap:8px;width:100%;margin:10px 0 2px;padding:8px 14px;border:0;border-radius:10px;background:none;color:#9fb4d9;font:700 11px Inter,sans-serif;letter-spacing:.14em;cursor:pointer;text-align:left}
.pro-nav .pro-group>span{flex:1}.pro-nav .pro-group:hover{background:rgba(255,255,255,.07);color:#fff}.pro-nav .pro-group[aria-disabled=true]{cursor:default;color:#c4d4ef}.pro-nav .pro-group[aria-disabled=true]:hover{background:none}
.pro-nav .pro-group em{font-style:normal;min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:#f4c03e;color:#3d2a00;font-size:11px;display:grid;place-items:center;letter-spacing:0}
.pro-nav .pro-group.is-open em{display:none}.pro-group-chev{width:14px;height:14px;transition:transform .18s;transform:rotate(-90deg);flex:none}.pro-group.is-open .pro-group-chev{transform:none}
body[data-page="panel"] .pro-nav>button[hidden]{display:none!important}.pro-nav .pro-group:focus-visible{outline:2px solid #8fb7ff;outline-offset:1px}

/* Teléfono: navegación inferior con cinco accesos y botón de acción rápida */
.ps-fab,.ps-menu-btn{display:none}
.ps-allnav{display:grid;gap:14px}.ps-allnav h3{font-size:12px;letter-spacing:.14em;color:var(--ps-muted);margin:0 0 6px}.ps-allnav button{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:0 12px;border:0;border-radius:10px;background:none;font:600 15px Inter,sans-serif;color:var(--ps-ink);text-align:left}.ps-allnav button.active{background:var(--ps-sky);color:var(--ps-blue)}
@media(max-width:860px){
 .pro-shell .pro-mnav{position:fixed!important;left:0;right:0;bottom:0;top:auto!important;z-index:40;display:grid!important;grid-template-columns:repeat(5,1fr);gap:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#0a2160;box-shadow:0 -6px 20px rgba(11,31,77,.25);overflow:visible}
 .pro-shell .pro-mnav button{flex-direction:column;justify-content:center;gap:2px;height:56px;padding:0 2px;font-size:11.5px;border-radius:12px;white-space:normal}.pro-shell .pro-mnav button .icon{width:22px;height:22px}
 .pro-shell .pro-mnav button.active{background:rgba(255,255,255,.14);color:#fff}
 .ps-fab{display:grid;place-items:center;position:fixed;right:16px;bottom:86px;z-index:41;width:58px;height:58px;border:0;border-radius:50%;background:linear-gradient(135deg,#1665f2,#0ea5a4);color:#fff;box-shadow:0 10px 26px rgba(22,101,242,.5);cursor:pointer}.ps-fab .icon{width:28px;height:28px;stroke-width:2.4}
 .ps-menu-btn{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ps-line);border-radius:12px;background:#fff;color:#0b1f4d;cursor:pointer;order:-1}.ps-menu-btn .icon{width:22px;height:22px}
 .pro-shell .pro-main{padding-bottom:150px!important}.pro-shell .cp-foot{padding-bottom:90px}
 .ps-hello h2{font-size:22px}.ps-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-kpi{flex-direction:column;align-items:flex-start;gap:8px}.ps-kpi-go{display:none}.ps-kpi b{font-size:22px}
 .ps-bar{padding:10px}.ps-bar-actions{margin-left:0;width:100%}.ps-bar-actions .btn{flex:1}
 .ps-actions .btn{flex:1 1 auto}
 .ps-opps{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:480px){.ps-kpi-grid{grid-template-columns:minmax(0,1fr)}.ps-kpi{flex-direction:row;align-items:center}.ps-visit{grid-template-columns:54px minmax(0,1fr)}}

/* Ajustes de legibilidad dentro del portal */
.ps-page p,.ps-page li,.ps-page dd,.ps-page td{color:var(--ps-text)}
.ps-page .ps-note,.ps-page .ps-muted,.ps-page small,.ps-page .ps-dl dt,.ps-page .ps-facts li,.ps-page .ps-pager,.ps-page .ps-count{color:var(--ps-muted)}
.ps-page .ps-opp-text,.ps-page .ps-dl dd,.ps-page strong,.ps-page b{color:var(--ps-ink)}
.ps-page .ps-bad{color:var(--ps-red)}.ps-page .ps-kpi small,.ps-page .ps-kpi em{color:var(--ps-muted)}
.ps-bar .ps-filters{flex:1 1 100%}.ps-bar-actions{margin-left:auto}
.ps-page .ps-chip{color:#53627c}.ps-page .ps-chip.is-ok{color:#138a4f}.ps-page .ps-chip.is-info{color:#1559c9}.ps-page .ps-chip.is-warn{color:#b76b00}.ps-page .ps-chip.is-bad{color:#b42318}
.ps-page .btn.outline{color:var(--ps-blue)}.ps-page .btn:not(.outline):not(.white){color:#fff}
.ps-page .ps-alerts small,.ps-page .ps-timeline small{color:var(--ps-muted)}

/* ---------- Etapa 2: informes técnicos, finanzas y calculadora de precios ---------- */
.ps-page .ps-kpi.is-red .ps-kpi-ico{background:#fde8e6;color:var(--ps-red)}
.ps-month{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 14px}.ps-month strong{font-size:18px;color:var(--ps-ink);min-width:170px;text-align:center}
.ps-bar-spent{fill:#f2a65a;opacity:.95}.ps-legend{display:flex;gap:14px;align-items:center;font-size:13px;color:var(--ps-muted);margin:6px 0 0}.ps-dot{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:4px}.ps-dot.is-income{background:#1665f2}.ps-dot.is-spent{background:#f2a65a}
.ps-bars{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ps-bars li{display:grid;grid-template-columns:150px 1fr 100px;gap:10px;align-items:center;font-size:14px}.ps-bars div{height:10px;background:#eef2f7;border-radius:6px;overflow:hidden}.ps-bars i{display:block;height:100%;background:var(--ps-blue);border-radius:6px}.ps-bars b{text-align:right;color:var(--ps-ink)}
.ps-payments{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:8px}.ps-payments li{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--ps-line);border-radius:12px;color:var(--ps-ink)}.ps-payments li.is-void{opacity:.65}.ps-payments li.is-void b{text-decoration:line-through}.ps-payments small{display:block;color:var(--ps-muted)}
.ps-page .ps-callout,.modal .ps-callout{padding:12px 14px;border-radius:12px;background:#eef5ff;color:var(--ps-ink,#0b1f4d);font-size:14px;line-height:1.5;margin:0 0 12px}.ps-page .ps-callout.is-warn,.modal .ps-callout.is-warn{background:#fff4dd;color:#7a4f00}ul.ps-callout{padding-left:30px}
.ps-find{display:grid;gap:6px;padding:10px;border:1px solid var(--ps-line,#e6edf5);border-radius:12px;margin-bottom:8px;background:#fbfcfe}.ps-find-top{display:grid;grid-template-columns:minmax(0,1fr) 170px 32px;gap:6px}
.ps-find input,.ps-find select,.ps-find textarea,.ps-equip input,.ps-equip select{min-height:40px;padding:8px 10px;border:1px solid #cdd9ea;border-radius:9px;font:500 14px Inter,sans-serif;width:100%;box-sizing:border-box;color:#0b1f4d;background:#fff}
.ps-equip{display:grid;grid-template-columns:160px minmax(0,1fr) minmax(0,1fr) 32px;gap:6px;margin:8px 0}
.ps-chipbtn{border:1px dashed #9fb3cf;background:#fff;border-radius:999px;padding:6px 12px;font:600 13px Inter,sans-serif;color:#1665f2;cursor:pointer}.ps-chipbtn:hover{background:#f0f6ff}
.ps-findings{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ps-findings li{padding:10px 12px;border-left:4px solid #9fb3cf;background:#f6f9fd;border-radius:10px}.ps-findings li.is-atencion{border-color:#e0a100;background:#fffaf0}.ps-findings li.is-urgente{border-color:#d92d20;background:#fff5f4}.ps-findings li div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ps-findings li p{margin:6px 0 0}
.ps-compare tr.is-own td{background:#f0f6ff;font-weight:600}
textarea.ps-linkbox{width:100%;resize:vertical;font:500 14px Inter,sans-serif;padding:10px;border:1px solid #cdd9ea;border-radius:10px;box-sizing:border-box;color:#0b1f4d}
.ps-price-form fieldset{min-width:0}.ps-price-form [data-ps-travel]{display:block}.ps-price-form [data-ps-travel][hidden]{display:none}
@media(max-width:720px){.ps-find-top{grid-template-columns:minmax(0,1fr) 32px}.ps-find-top select{grid-column:1/2;grid-row:2}.ps-equip{grid-template-columns:minmax(0,1fr) 32px}.ps-equip input{grid-column:1/2}.ps-bars li{grid-template-columns:1fr auto}.ps-bars div{grid-column:1/-1;order:3}.ps-itemrow{grid-template-columns:minmax(0,1fr) 32px}.ps-itemrow select,.ps-itemrow input,.ps-itemrow output{grid-column:1/2}.ps-itemrow .ps-x{grid-column:2;grid-row:1}}

.ps-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ps-rows li{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--ps-line,#e6edf5);border-radius:12px;background:#fff}.ps-rows li.is-open{border-color:#1665f2;background:#f3f8ff}.ps-rows .ps-visit-main{display:grid;gap:2px;min-width:0;flex:1 1 240px}.ps-rows .ps-visit-main strong{color:#0b1f4d}.ps-rows .ps-visit-main span{color:#6b7a95;font-size:13.5px}.ps-rows .ps-visit-actions{display:flex;gap:8px}

/* Reseñas y reputación (etapa 3) */
.ps-stars{display:inline-block;color:var(--ps-gold);letter-spacing:1px;line-height:1;white-space:nowrap}.ps-stars i{font-style:normal;color:#d3dbe8}
.ps-dist{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ps-dist li{display:grid;grid-template-columns:36px minmax(0,1fr) 34px;gap:10px;align-items:center;font-size:13.5px}.ps-dist li.is-wide{grid-template-columns:minmax(110px,170px) minmax(0,1fr) 36px}.ps-dist li>b{text-align:right;color:var(--ps-ink)}
.ps-bar-track{display:block;height:8px;border-radius:999px;background:#e8eef6;overflow:hidden}.ps-bar-track b{display:block;height:100%;background:var(--ps-gold);border-radius:999px}
.ps-reviews{list-style:none;margin:0;padding:0;display:grid;gap:12px}.ps-review{padding:14px 16px;border:1px solid var(--ps-line);border-radius:14px;background:#fff;display:grid;gap:8px;min-width:0}.ps-review.is-hidden{background:#fafbfd;opacity:.85}
.ps-review-head{display:flex;gap:6px 12px;align-items:center;flex-wrap:wrap}.ps-review-head b{color:var(--ps-ink)}.ps-review-head span:not(.ps-stars):not(.ps-chip){color:var(--ps-muted);font-size:13px}
.ps-review blockquote{margin:0;line-height:1.55;color:var(--ps-text);overflow-wrap:anywhere}.ps-review p{margin:0}.ps-mini{font-size:13px;color:var(--ps-muted)}.ps-mini b{color:var(--ps-ink)}
.ps-reply{padding:10px 14px;border-left:3px solid var(--ps-blue);background:var(--ps-sky);border-radius:0 10px 10px 0}.ps-reply.is-hidden{border-color:var(--ps-red);background:#fff5f4}.ps-reply p{margin:4px 0 0;overflow-wrap:anywhere}.ps-reply small{color:var(--ps-muted)}
.ps-appeal{padding:9px 12px;border-radius:10px;background:#fff4dd;color:#8a5a00;font-size:13.5px;line-height:1.5}.ps-appeal.is-removed{background:#e4f6ec;color:#0f7a43}.ps-appeal.is-upheld{background:#eef2f7;color:#33425c}.ps-appeal span{display:block}
.ps-quote-line{margin:0;padding:10px 12px;border-radius:10px;background:#f6f9fd;color:var(--ps-text);line-height:1.5;overflow-wrap:anywhere}

/* Perfil público (etapa 3) */
.ps-progress{display:flex;gap:12px;align-items:center;margin:6px 0 14px}.ps-progress>span{flex:1;height:10px;border-radius:999px;background:#e8eef6;overflow:hidden}.ps-progress b{display:block;height:100%;background:linear-gradient(90deg,#1665f2,#0ea5a4);border-radius:999px}.ps-progress strong{color:var(--ps-ink);min-width:44px;text-align:right}
.ps-todo{list-style:none;margin:0 0 4px;padding:0;display:grid;gap:8px}.ps-todo li{display:grid;gap:2px;padding:9px 12px;border-radius:10px;background:#f6f9fd}.ps-todo b{color:var(--ps-ink);font-size:14px}.ps-todo span{color:var(--ps-muted);font-size:13px;line-height:1.45}
.ps-pp-main{align-items:start}.ps-pp-form{display:grid;gap:16px}
.ps-hours{display:grid;gap:8px}.ps-hourrow{display:grid;grid-template-columns:minmax(120px,1fr) 136px 18px 136px;gap:8px;align-items:center}.ps-hourrow input[type=time]{min-height:42px;border:1px solid #cdd9ea;border-radius:10px;padding:0 8px;font:500 14px Inter,sans-serif;width:100%}.ps-hourrow>span{text-align:center;color:var(--ps-muted)}
.ps-gallery{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.ps-gallery li{display:grid;gap:6px;padding:8px;border:1px solid var(--ps-line);border-radius:12px;background:#fff}.ps-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#eef2f7}
.ps-gallery input{min-height:38px;border:1px solid #cdd9ea;border-radius:8px;padding:0 10px;font:500 13.5px Inter,sans-serif;width:100%;box-sizing:border-box}.ps-gtools{display:flex;gap:6px;justify-content:flex-end}.ps-gtools button{width:36px;height:36px;border:1px solid #cdd9ea;border-radius:8px;background:#fff;cursor:pointer;color:var(--ps-ink);font-size:15px}.ps-gtools button:hover{background:var(--ps-sky)}
.ps-pv{max-width:760px;margin:0 auto}.ps-pv .pv-card{box-shadow:none;padding:0}.ps-pv.pf-embed{max-width:none}.modal:has(.pf-embed){width:min(1240px,96vw);max-width:none}.modal:has(.pf-embed) .modal-body{padding:12px}
@media(max-width:560px){.ps-hourrow{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);gap:6px}.ps-hourrow .ps-check{grid-column:1/-1}.ps-dist li.is-wide{grid-template-columns:100px minmax(0,1fr) 34px}}
.ps-page .ps-review .ps-mini{color:var(--ps-muted)}.ps-page .ps-reply p{color:var(--ps-text)}.ps-page .ps-reply small{color:var(--ps-muted)}
.ps-page .ps-appeal{color:#8a5a00}.ps-page .ps-appeal.is-removed{color:#0f7a43}.ps-page .ps-appeal.is-upheld{color:#33425c}.ps-page .ps-appeal span{color:inherit}
.ps-reviews,.ps-review,.ps-todo,.ps-dist{grid-template-columns:minmax(0,1fr)}.ps-dist li{grid-template-columns:36px minmax(0,1fr) 34px}.ps-dist li.is-wide{grid-template-columns:minmax(110px,170px) minmax(0,1fr) 36px}
@media(max-width:560px){.ps-dist li.is-wide{grid-template-columns:100px minmax(0,1fr) 34px}}
.ps-review-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}

/* Equipo de trabajo (etapa 4) */
.ps-roles{display:grid;gap:8px;border:0;margin:0;padding:0}.ps-roles legend{font-weight:700;color:var(--ps-ink,#0b1f4d);margin-bottom:6px}
.ps-rolecard{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--ps-line,#e6edf5);border-radius:12px;cursor:pointer;background:#fff}.ps-rolecard:has(input:checked){border-color:var(--ps-blue,#1665f2);background:var(--ps-sky,#eaf3ff)}
.ps-rolecard input{margin-top:3px;width:18px;height:18px;flex:none}.ps-rolecard span{display:grid;gap:2px}.ps-rolecard b{color:var(--ps-ink,#0b1f4d)}.ps-rolecard small{color:var(--ps-muted,#6b7a95);line-height:1.4}
.ps-check.is-included{opacity:.75}.ps-check.is-included small{color:var(--ps-muted,#6b7a95)}
.ps-team td small,.ps-compare td small{display:block;color:var(--ps-muted,#6b7a95);font-size:12.5px}
.ps-compare tfoot td{font-weight:700;background:#f6f9fd;border-top:2px solid var(--ps-line,#e6edf5)}
.ps-inline{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13.5px}.ps-inline input,.ps-inline select{min-height:42px}
.ps-small{font-size:13px;color:var(--ps-muted,#6b7a95);margin:12px 0 0;padding-left:18px;line-height:1.5}
.ps-callout.is-warn{background:#fff4dd;color:#8a5a00}
@media(max-width:720px){.ps-inline{flex-direction:column;align-items:stretch}}

/* Rutas de trabajo (etapa 5) */
.ps-route-bar .ps-filters{display:flex;gap:8px;flex:0 1 auto;flex-wrap:wrap}.ps-route-bar .ps-filters input[type=date]{flex:0 1 160px}.ps-route-bar .ps-filters select{flex:0 1 240px;min-width:190px}
.ps-route-summary{margin:0}.ps-route-dirty{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0}
.ps-route-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}
.ps-route-mapcard{position:sticky;top:12px;order:2}.ps-route-list{order:1;min-width:0}
.ps-route-map,.ps-route-canvas{width:100%;height:440px;border-radius:12px;overflow:hidden;background:#eaf0f8}.ps-route-map>.ps-note{padding:16px;margin:0}
.ps-route-off{padding:16px;border-radius:12px;background:#f6f9fd;border:1px dashed #b9c8de}.ps-route-off strong{color:var(--ps-ink,#0b1f4d)}.ps-route-off p{margin:6px 0 0;color:var(--ps-text,#33425c);line-height:1.5}
.ps-route-mapcard .ps-legend i{border-radius:50%}.ps-route-mapcard .ps-legend i.is-todo{background:#1665f2}.ps-route-mapcard .ps-legend i.is-done{background:#8a97ad}.ps-route-mapcard .ps-legend i.is-start{background:#16a34a}
.ps-rstops{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ps-rstop{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:12px;border:1px solid var(--ps-line,#e6edf5);border-radius:14px;background:#fff}
.ps-rstop.is-done{background:#f6f8fb}.ps-rstop.is-done .ps-rstop-n{background:#8a97ad}.ps-rstop.is-late{border-color:#f5c2bd}
.ps-rstop-n{width:36px;height:36px;border-radius:50%;border:0;background:var(--ps-blue,#1665f2);color:#fff;font:700 15px Inter,sans-serif;cursor:pointer;display:grid;place-items:center}
.ps-rstop-main{display:grid;gap:3px;min-width:0}.ps-rstop-main strong{color:var(--ps-ink,#0b1f4d);font-size:15.5px}.ps-rstop-main>span{font-size:13.5px;color:var(--ps-muted,#6b7a95)}
.ps-rstop-main address{font-style:normal;font-size:13.5px;color:var(--ps-text,#33425c);overflow-wrap:anywhere}.ps-rstop-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ps-rstop-top b{color:var(--ps-ink,#0b1f4d);font-size:14px}
.ps-rstop-me{color:var(--ps-teal,#0ea5a4);font-weight:600}
.ps-rstop-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}.ps-rstop-move{display:inline-flex;gap:6px}.ps-rstop-move .btn{padding-inline:10px}
.ps-rleg{list-style:none;margin:0;padding:6px 0 6px 31px;border-left:2px dashed #b9c8de;margin-left:17px;display:grid;gap:2px;font-size:13px;color:var(--ps-muted,#6b7a95)}.ps-rleg span{display:inline-flex;align-items:center;gap:6px;margin-left:-8px;background:#fff;padding-right:4px}.ps-rleg .ps-ico{width:16px;height:16px}
.ps-rleg em{font-style:normal;color:#9a5b00;font-weight:600;line-height:1.4}.ps-rleg.is-tight{border-left-color:#f2a65a}.ps-rleg.is-straight span{font-style:italic}.ps-rleg.is-origin{border-left-color:#16a34a}
.ps-route-actions{display:grid;gap:12px}.ps-route-actions>.ps-callout,.ps-route-actions>.ps-note{margin:0}.ps-route-nav{display:grid;gap:8px}
.ps-route-info{display:grid;gap:3px;max-width:240px;font:500 13.5px Inter,sans-serif;color:#33425c}.ps-route-info b{color:#0b1f4d}.ps-route-info a{color:#1665f2;font-weight:700}
.ps-near .ps-visit-time small{display:block}
.ps-route-privacy{margin:0}
@media(max-width:980px){.ps-route-grid{grid-template-columns:minmax(0,1fr)}.ps-route-mapcard{position:static;order:1}.ps-route-list{order:2}.ps-route-map,.ps-route-canvas{height:300px}}
@media(max-width:480px){.ps-rstop{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:10px}.ps-rstop-n{width:32px;height:32px}.ps-rleg{margin-left:15px;padding-left:25px}.ps-rstop-actions .btn{flex:1 1 auto;justify-content:center}}

/* Herramientas y guías (etapa 6) */
.ps-calc-tabs{display:flex;flex-wrap:wrap;gap:4px;background:#fff;border-radius:14px;padding:6px;box-shadow:0 1px 2px rgba(11,31,77,.04)}
.ps-unit{display:flex;align-items:center;gap:8px}.ps-unit input{flex:1 1 auto;min-width:0}.ps-unit em{font-style:normal;color:var(--ps-muted,#6b7a95);font-size:13px;white-space:nowrap}
.ps-field small{display:block;color:var(--ps-muted,#6b7a95);font-size:12.5px;line-height:1.4;margin-top:4px}
.ps-calc-out{margin-top:16px;padding-top:16px;border-top:1px solid var(--ps-line,#e6edf5);display:grid;gap:12px}.ps-calc-out>p{margin:0}
.ps-results{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.ps-result{display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:#f6f9fd}.ps-result small{color:var(--ps-muted,#6b7a95);font-size:12.5px}.ps-result b{color:var(--ps-ink,#0b1f4d);font-size:22px;line-height:1.2}.ps-result em{font-style:normal;color:var(--ps-muted,#6b7a95);font-size:13px}
.ps-shares{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ps-shares li{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13.5px}.ps-shares i{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,#1665f2 var(--w),#e8eef6 var(--w))}.ps-shares b{color:var(--ps-ink,#0b1f4d);white-space:nowrap}
.ps-prodrows{display:grid;gap:12px}.ps-prodrow{display:grid;gap:10px;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr)) auto;align-items:end;padding:12px;border:1px solid var(--ps-line,#e6edf5);border-radius:12px;background:#fbfdff}
.ps-tool-alerts{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}
.ps-tool-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 14px;border-radius:14px;background:#f6f9fd;border-left:4px solid var(--ps-blue,#1665f2)}
.ps-tool-alert.is-warn{background:#fff7e6;border-left-color:#f5a623}.ps-tool-alert.is-bad{background:#fff1f0;border-left-color:#d92d20}.ps-tool-alert.is-ok{background:#effaf3;border-left-color:#16a34a}
.ps-tool-alert b{color:var(--ps-ink,#0b1f4d)}.ps-tool-alert p{margin:2px 0 0;color:var(--ps-text,#33425c);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.ps-tool-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e6f0ff;color:var(--ps-blue,#1665f2);flex:none}.ps-tool-ico .ps-ico{width:20px;height:20px}
.ps-sublist{margin:8px 0 0;padding-left:18px;color:var(--ps-text,#33425c);font-size:13.5px;line-height:1.5}
.ps-forecasts{display:grid;gap:10px}.ps-forecast{display:grid;gap:6px;padding:10px 12px;border-radius:12px;background:#f6f9fd}.ps-forecast>div{display:flex;flex-wrap:wrap;gap:8px}.ps-forecast span{display:grid;gap:1px;padding:6px 10px;border-radius:10px;background:#fff;font-size:13.5px;color:var(--ps-ink,#0b1f4d)}.ps-forecast i{font-style:normal;color:var(--ps-muted,#6b7a95);font-size:12px;text-transform:capitalize}.ps-forecast small{color:var(--ps-muted,#6b7a95)}
.ps-profit td small{display:block;color:var(--ps-muted,#6b7a95);font-size:12px}.ps-profit tr.ps-total td{background:#f6f9fd;font-weight:700}
@media(max-width:720px){.ps-prodrow{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-prodrow .ps-field:first-child{grid-column:1/-1}.ps-prodrow>.btn{justify-self:end}.ps-shares li{grid-template-columns:minmax(0,1fr) auto}.ps-shares i{grid-column:1/-1;grid-row:2}.ps-tool-alert{grid-template-columns:auto minmax(0,1fr)}.ps-tool-alert>.ps-actions{grid-column:1/-1}.ps-calc-tabs{overflow-x:auto;flex-wrap:nowrap}.ps-calc-tabs button{flex:none}}

.ps-page .ps-tool-alert p{color:var(--ps-text,#33425c)}
.ps-calc .ps-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:start}.ps-calc .ps-field{display:grid;gap:6px;align-content:start}.ps-calc .ps-wide{grid-column:1/-1}
.ps-calc select,.ps-calc input{min-height:42px;box-sizing:border-box}.ps-calc .ps-unit .btn{flex:none;white-space:nowrap}

/* Mi plan (etapa 7) */
.ps-plan-now-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.ps-plan-now-body>div{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:#f6f9fd}.ps-plan-now-body small{color:var(--ps-muted,#6b7a95);font-size:12px}.ps-plan-now-body b{color:var(--ps-ink,#0b1f4d);font-size:17px;overflow-wrap:anywhere}.ps-plan-now-body em{font-style:normal;font-weight:500;font-size:13px;color:var(--ps-muted,#6b7a95)}
.ps-plan-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:stretch}
.ps-plan-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--ps-line,#e6edf5);border-radius:16px;background:#fff;min-width:0}
.ps-plan-card.is-current{border-color:var(--ps-blue,#1665f2);box-shadow:0 0 0 2px rgba(22,101,242,.12)}.ps-plan-card.is-popular:not(.is-current){border-color:#b9d3fb}
.ps-plan-card>header{display:flex;align-items:center;gap:10px}.ps-plan-card>header h3{font-size:16px;margin:0 8px 0 0;display:inline}.ps-plan-card>header>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0}
.ps-plan-price{margin:0;color:var(--ps-muted,#6b7a95);font-size:14px}.ps-plan-price b{color:var(--ps-ink,#0b1f4d);font-size:22px}
.ps-plan-desc{margin:0;color:var(--ps-text,#33425c);font-size:14px;line-height:1.5}
.ps-plan-list{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:14px;line-height:1.4}.ps-plan-list li{display:flex;gap:8px;align-items:flex-start}.ps-plan-list .ps-ico{width:16px;height:16px;color:var(--ps-green,#16a34a);flex:none;margin-top:2px}
.ps-plan-upcoming{padding:10px 12px;border-radius:12px;background:#fff8e8;color:#6b4500;font-size:13.5px}.ps-plan-upcoming>b{display:flex;gap:6px;align-items:center;color:#7a4f00}.ps-plan-upcoming .ps-ico{width:16px;height:16px}.ps-plan-upcoming ul{margin:6px 0 0;padding-left:20px;display:grid;gap:3px}
.ps-plan-card>footer{margin-top:auto;display:grid;gap:6px;padding-top:4px}.ps-plan-card>footer small{color:var(--ps-muted,#6b7a95);font-size:12.5px;line-height:1.4}
.ps-plan-tag,.ps-plan-soon{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 14px;border-radius:12px;font-weight:700;font-size:14px;text-align:center}
.ps-plan-tag{background:#e8f6ee;color:#14753a}.ps-plan-tag .ps-ico{width:16px;height:16px}.ps-plan-soon{background:#eef1f6;color:var(--ps-muted,#6b7a95);border:1px dashed #c6d0e0}
.ps-plan-base summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:32px;color:var(--ps-ink,#0b1f4d)}.ps-plan-base ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.ps-plan-base li{display:grid;gap:2px}.ps-plan-base li small{color:var(--ps-muted,#6b7a95);font-size:13px;line-height:1.45}
.ps-rules{margin:0 0 10px;padding:0 0 0 22px;display:grid;gap:12px}.ps-rules li{padding-left:4px}.ps-rules b{color:var(--ps-ink,#0b1f4d)}.ps-rules p{margin:3px 0 0;font-size:14px;line-height:1.55;color:var(--ps-text,#33425c)}
.ps-page .ps-plan-desc,.ps-page .ps-rules p{color:var(--ps-text,#33425c)}.ps-page .ps-plan-price{color:var(--ps-muted,#6b7a95)}

/* Mis equipos y productos (etapa 8) */
.ps-cat-table td b{color:var(--ps-ink,#0b1f4d)}.ps-cat-table tr.is-archived{opacity:.65}.ps-cat-table .ps-row-actions{white-space:normal}
.ps-pos{color:#14753a}.ps-neg{color:var(--ps-red,#d92d20)}
.ps-brands{display:flex;flex-wrap:wrap;gap:6px;margin:0}.ps-brands em{font-style:normal;font-weight:700;margin-left:2px}
.ps-chem select{grid-column:1/-1;padding:9px 10px;border:1px solid #cdd9ea;border-radius:9px;font:500 14px Inter,sans-serif;min-width:0;width:100%;background:#fff}
.ps-chem.is-linked{grid-template-columns:2fr 1fr!important}.ps-chem input[readonly]{background:#f3f6fb;color:var(--ps-muted,#6b7a95)}.ps-chem input[hidden]{display:none}
.ps-tcell{display:block;min-width:0}
@media(max-width:720px){.ps-tcell{text-align:right}.ps-cat-table td[data-label] .ps-chip{margin-left:4px}}

/* Control de gastos (etapa 9) */
.ps-spend{list-style:none;margin:0;padding:0;display:grid;gap:14px}.ps-spend li{display:grid;gap:6px;padding-bottom:14px;border-bottom:1px solid var(--ps-line,#e6edf5)}.ps-spend li:last-child{border-bottom:0;padding-bottom:0}
.ps-spend-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}.ps-spend-top b{color:var(--ps-ink,#0b1f4d)}.ps-spend-top small{color:var(--ps-muted,#6b7a95);font-size:12.5px;margin-left:4px}
.ps-meter{height:10px;border-radius:999px;background:#e8eef7;overflow:hidden}.ps-meter i{display:block;height:100%;border-radius:999px;background:var(--ps-blue,#1665f2)}.ps-spend li.is-warn .ps-meter i{background:var(--ps-gold,#f5a623)}.ps-spend li.is-over .ps-meter i{background:var(--ps-red,#d92d20)}.ps-spend li.is-ok .ps-meter i{background:var(--ps-green,#16a34a)}
.ps-spend-meta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;justify-content:space-between;font-size:13px;color:var(--ps-text,#33425c)}
.ps-up{color:var(--ps-red,#d92d20)}.ps-down{color:#14753a}
.ps-bar-spent.is-dim{opacity:.45}.ps-budget-line{stroke:var(--ps-red,#d92d20);stroke-width:1.5;stroke-dasharray:5 4}.ps-dash{display:inline-block;width:18px;border-top:2px dashed var(--ps-red,#d92d20);vertical-align:middle;margin:0 4px 0 12px}
.ps-two{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.ps-rank{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ps-rank li{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.ps-rank small{display:block;color:var(--ps-muted,#6b7a95);font-size:12.5px}
.ps-kpi.is-red .ps-kpi-ico{background:#fde8e6;color:var(--ps-red,#d92d20)}
.ps-bar-actions{flex-wrap:wrap}@media(max-width:720px){.ps-bar-actions{margin-left:0;width:100%}.ps-bar-actions .btn{flex:1 1 auto;text-align:center}}

/* Selector de tema: en pantallas pequeñas queda solo dentro del menú de la cuenta para no apretar la cabecera. */
.pro-theme-item .pro-ico{width:18px;height:18px}

/* Privacidad y ubicación (etapa 11): estado del consentimiento, condiciones en lenguaje claro y casilla en los formularios de terreno. */
.ps-loc-status h3{display:flex;align-items:center;gap:8px;font-size:17px}.ps-loc-status h3 .ps-ico{color:var(--ps-blue);width:21px;height:21px}
.ps-loc-status.is-on{border-color:#bfe6cc;background:linear-gradient(180deg,#f3fbf6,#fff 60%)}.ps-loc-status>p{margin:0 0 8px;line-height:1.55;color:var(--ps-text,#33425c)}.ps-loc-status>p.ps-note{color:var(--ps-muted,#6b7a95)}.modal .ps-policy-lead{margin:0 0 4px;color:var(--ps-ink,#0b1f4d);font-weight:700;font-size:14.5px;line-height:1.5}
.ps-policy{display:grid;gap:18px 26px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ps-policy section{min-width:0}
.ps-policy h4{font-size:14px;margin:0 0 6px}.ps-policy ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13.5px;line-height:1.55}
.ps-policy-scroll{max-height:42vh;overflow:auto;border:1px solid var(--ps-line,#e6edf5);border-radius:12px;padding:14px;background:#fbfdff}.ps-policy-scroll .ps-policy{grid-template-columns:1fr}
.ps-loc-check{align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--ps-line,#e6edf5);border-radius:12px;background:#f6faff;cursor:pointer}.ps-loc-check input{margin-top:2px}
.ps-loc-check span{display:grid;gap:3px;min-width:0}.ps-loc-check b{color:var(--ps-ink,#0b1f4d);font-weight:700}.ps-loc-check small{color:var(--ps-muted,#6b7a95);font-size:12.5px;font-weight:500;line-height:1.45}
.ps-loc-off{display:grid;gap:8px;justify-items:start}.ps-loc-off .ps-note{margin:0}
.ps-loc-meta{color:var(--ps-muted,#6b7a95);font-size:12.5px;margin-left:6px}
@media(max-width:560px){.ps-policy-scroll{max-height:50vh;padding:12px}.ps-loc-status .ps-actions .btn{width:100%}}
.ps-plan-upcoming small{display:block;margin-top:8px;color:#7a5a1f}
.ps-ann p{margin:0 0 14px;font-size:15px;line-height:1.55}.ps-ann .ps-actions{justify-content:flex-end}
.ps-invite-text{margin:0 0 10px;padding:12px 14px;border-left:3px solid #1d6bf3;border-radius:0 12px 12px 0;background:#f6f9fd;color:var(--ps-ink);font:500 14px/1.55 Inter,sans-serif;white-space:pre-line;overflow-wrap:anywhere}.ps-invite .ps-actions{margin-top:4px}.ps-invite .ps-invite-data{margin-bottom:14px}.ps-invite .ps-actions+.ps-note{margin-top:10px}.ps-invite-account>.ps-actions{margin:14px 0 8px}.ps-invite-more{margin-top:12px;padding-top:10px;border-top:1px solid var(--ps-line)}.ps-invite-more summary{cursor:pointer;font-weight:600;color:var(--ps-ink)}.ps-invite-more[open] summary{margin-bottom:8px}.ps-invite-pending>.ps-actions{margin-top:12px}.ps-invite-pending .ps-callout{margin:0 0 10px}

/* Inicio automático de visitas: tarjeta en «Privacidad y ubicación» y aviso en la ruta del día */
.ps-au h3{display:flex;align-items:center;gap:8px;font-size:17px}.ps-au h3 .ps-ico{color:var(--ps-blue);width:21px;height:21px}
.ps-au.is-on{border-color:#bfe6cc;background:linear-gradient(180deg,#f3fbf6,#fff 60%)}.ps-au>p{margin:0 0 8px;line-height:1.55;color:var(--ps-text,#33425c)}.ps-au>p.ps-note{color:var(--ps-muted,#6b7a95)}
.ps-au h4{margin:14px 0 6px;font-size:14px}
.ps-au-events{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ps-au-events li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 12px;border:1px solid #e5eefb;border-radius:12px;background:#fff}
.ps-au-events li>div{flex:1 1 200px;min-width:0}.ps-au-events b{display:block;font-size:14px}.ps-au-events small{display:block;color:var(--ps-muted,#6b7a95);font-size:12.5px}
.ps-au-banner{display:grid;gap:8px;margin:0 0 12px;padding:10px 14px;border:1px solid #cfe0fb;border-radius:14px;background:#f4f8ff;font-size:13.5px;line-height:1.45}
.ps-au-banner>span,.ps-au-banner>.ps-chip{display:inline}
.ps-au-undo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #bfe6cc}
.ps-au-undo .ps-ico{width:16px;height:16px;color:#16a34a;vertical-align:-3px}

/* Visita adicional por confirmar: roja en el mapa, en la lista de paradas y en el aviso de la ruta. */
.ps-route-mapcard .ps-legend i.is-extra{background:#e5192d}
.ps-route-extra{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:10px 12px;border:1px solid #f3b8b2;border-radius:12px;background:#fff3f1;color:#7a271a;font-size:13.5px;line-height:1.45}.ps-route-extra .ps-ico{flex:none;width:18px;height:18px;margin-top:1px;color:#e5192d}
.ps-rstop.is-extra{border-left:4px solid #e5192d;background:linear-gradient(90deg,#fff3f1,transparent 45%)}.ps-rstop.is-extra .ps-rstop-n{background:#e5192d;color:#fff}
.ps-route-info-extra{display:block;margin-top:4px;color:#b42318;font-weight:700}

/* Aceptar trabajo (etapa 259): resumen de la cotización con días en su calendario */
.ps-work{display:grid;gap:12px}
.ps-work-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 16px}
.ps-work-head>span{display:grid;gap:2px;min-width:0}.ps-work-head>span b{color:var(--ps-ink,#0b1f4d);font-size:16px}.ps-work-head>span small{color:var(--ps-muted,#6b7a95);font-size:13px}
.ps-work-total{color:var(--ps-ink,#0b1f4d);font-size:20px;white-space:nowrap}
.ps-work-days{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ps-work-days li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:9px 12px;border:1px solid var(--ps-line,#e6edf5);border-radius:10px;background:var(--ps-sky,#eaf3ff)}
.ps-work-days li b{color:var(--ps-ink,#0b1f4d);font-size:14px}.ps-work-days li span{color:var(--ps-text,#33425c);font-size:14px}
.ps-work-charge{margin:0;padding:10px 12px;border:1px solid var(--ps-line,#e6edf5);border-radius:10px}
.ps-work .ps-check.ps-work-charge{align-items:flex-start}.ps-work .ps-check.ps-work-charge input{margin-top:2px}
/* La ventana de «Aceptar trabajo» vive fuera de .ps-page (no hereda sus variables): en modo oscuro lleva sus propios tonos. */
html[data-pro-theme="dark"] .modal .ps-work-head>span b,html[data-pro-theme="dark"] .modal .ps-work-total,html[data-pro-theme="dark"] .modal .ps-work-days li b{color:#eaf0fc}
html[data-pro-theme="dark"] .modal .ps-work-head>span small{color:#9aabc6}
html[data-pro-theme="dark"] .modal .ps-work-days li span{color:#c5d0e4}
html[data-pro-theme="dark"] .modal .ps-work-days li{background:#16294d;border-color:#25324d}
html[data-pro-theme="dark"] .modal .ps-work-charge{border-color:#25324d}

.ps-guide{margin:6px 0 0;padding:8px 10px;border-left:3px solid var(--ps-blue,#1665f2);border-radius:8px;background:var(--ps-sky,#eaf3ff)}
.ps-guide b{color:var(--ps-ink,#0b1f4d)}
/* Servicios aceptados en la ficha del cliente (etapa 257) */
.ps-works{display:grid;gap:12px}.ps-works h3{margin:0}
.ps-work-item{display:grid;gap:8px;padding:12px;border:1px solid var(--ps-line,#e6edf5);border-radius:12px;background:var(--ps-sky,#eaf3ff)}
.ps-work-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px}.ps-work-top>span{display:grid;gap:2px;min-width:0}.ps-work-top b{color:var(--ps-ink,#0b1f4d)}.ps-work-top small{color:#53627c;font-size:13px}.ps-work-amount{font-size:18px;white-space:nowrap}
.ps-work-lines{list-style:none;margin:0;padding:0;display:grid;gap:4px}.ps-work-lines li{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:var(--ps-text,#33425c)}.ps-work-lines b{color:var(--ps-ink,#0b1f4d)}
.ps-work-months{margin:0;display:grid;gap:2px;font-size:14px;color:var(--ps-text,#33425c)}.ps-work-months b{color:var(--ps-ink,#0b1f4d)}
/* Aceptar trabajo (etapa 260): el día que cruza con una reserva express sale en rojo y se explica qué hacer */
.ps-work-reserved{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--ps-line,#e6edf5);border-left:4px solid var(--ps-blue,#1665f2);border-radius:10px;background:#f4f8ff;color:#33425c}
.ps-work-reserved>b{color:#0b1f4d;font-size:14px}
.ps-work-reserved ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ps-work-reserved li{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:14px}.ps-work-reserved li b{color:#0b1f4d}
.ps-work-reserved p{margin:0;font-size:13px;line-height:1.45}
html[data-pro-theme="dark"] .modal .ps-work-reserved{background:#16294d;border-color:#25324d;border-left-color:#7aa7ff;color:#c5d0e4}
html[data-pro-theme="dark"] .modal .ps-work-reserved>b,html[data-pro-theme="dark"] .modal .ps-work-reserved li b{color:#eaf0fc}
.ps-wd.is-bad{color:#b42318;font-weight:800;text-decoration:underline wavy;text-decoration-thickness:1.5px;text-underline-offset:3px}
.ps-work-days li:has(.ps-wd.is-bad){border-color:var(--ps-red,#d92d20)}
.ps-work-alert{display:grid;gap:10px;padding:12px;border:1px solid var(--ps-red,#d92d20);border-radius:12px;background:#fff1f0;color:#7a1f17}
.ps-work-alert>b{color:#b42318;font-size:14px}
.ps-work-fix-row p{margin:0 0 8px;font-size:14px;line-height:1.45}
.ps-work-fix{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}
.ps-work-fix .ps-field{flex:1 1 150px;min-width:150px;margin:0}
.ps-work-fix .btn{min-height:44px}
.ps-work-days:focus,.ps-work-alert:focus{outline:2px solid var(--ps-blue,#1665f2);outline-offset:2px}
html[data-pro-theme="dark"] .modal .ps-work-alert{background:rgba(248,113,113,.12);border-color:#f87171;color:#fecaca}
html[data-pro-theme="dark"] .modal .ps-work-alert>b,html[data-pro-theme="dark"] .modal .ps-wd.is-bad{color:#fca5a5}
html[data-pro-theme="dark"] .modal .ps-work-days li:has(.ps-wd.is-bad){border-color:#f87171}

/* «Días a elegir» (etapa 258): el calendario de meses y días de las visitas (pro-days-picker.js), igual en la app, en el asistente de cliente nuevo y en «Nueva visita». */
.dpk{--dk-navy:#0b1f4d;--dk-text:#33425c;--dk-muted:#6b7a95;--dk-line:#e1e9f5;--dk-blue:#1665f2;--dk-card:#fff;--dk-tint:#f5f9ff;display:grid;gap:12px;padding:12px;border:1px solid var(--dk-line);border-radius:12px;background:var(--dk-tint);color:var(--dk-text);font-size:14px;line-height:1.4}
.dpk .dpk-help{margin:0;font-size:12.5px;color:var(--dk-muted)}
.dpk .dpk-chips{display:flex;flex-wrap:wrap;gap:7px}
.dpk .dpk-chip{min-height:36px;padding:0 12px;border:1px solid var(--dk-line);border-radius:999px;background:var(--dk-card);color:var(--dk-text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.dpk .dpk-chip.is-on{background:var(--dk-blue);border-color:var(--dk-blue);color:#fff}
.dpk .dpk-chip:disabled{opacity:.5;cursor:not-allowed}
.dpk .dpk-chip:focus-visible,.dpk .dpk-day:focus-visible,.dpk .dpk-clear:focus-visible{outline:2px solid var(--dk-blue);outline-offset:2px}
.dpk .dpk-grids{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px}
.dpk .dpk-grid{padding:10px 10px 8px;border:1px solid var(--dk-line);border-radius:10px;background:var(--dk-card)}
.dpk .dpk-grid>b{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:13.5px;color:var(--dk-navy)}
.dpk .dpk-grid>b small{font-size:11.5px;font-weight:600;color:var(--dk-muted)}
.dpk .dpk-grid table{width:100%;border-collapse:collapse;table-layout:fixed}
.dpk .dpk-grid th{padding:2px 0 4px;font-size:11px;font-weight:700;color:var(--dk-muted)}
.dpk .dpk-grid td{padding:2px;text-align:center}
.dpk .dpk-day{width:100%;max-width:34px;aspect-ratio:1;min-height:32px;border:1px solid transparent;border-radius:8px;background:var(--dk-tint);color:var(--dk-text);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.dpk .dpk-day.is-on{background:var(--dk-blue);border-color:var(--dk-blue);color:#fff}
.dpk .dpk-day:disabled{background:transparent;color:var(--dk-muted);opacity:.55;cursor:not-allowed}
.dpk .dpk-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.dpk .dpk-sum{font-size:12.5px;font-weight:600;color:var(--dk-navy)}
.dpk .dpk-clear{min-height:34px;padding:0 12px;border:1px solid var(--dk-line);border-radius:9px;background:var(--dk-card);color:var(--dk-text);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
@media (max-width:640px){.dpk .dpk-grids{grid-template-columns:minmax(0,1fr)}.dpk{padding:10px}}
@media (pointer:coarse){.dpk .dpk-day{max-width:44px;min-height:40px}.dpk .dpk-chip{min-height:40px}}
html[data-pro-theme="dark"] .dpk{--dk-navy:var(--pd-ink,#eaf0fc);--dk-text:var(--pd-text,#c5d0e4);--dk-muted:var(--pd-muted,#9aabc6);--dk-line:var(--pd-line,#25324d);--dk-blue:var(--pd-blue,#5b9bff);--dk-card:var(--pd-surface,#111c33);--dk-tint:#14233d}
html[data-pro-theme="dark"] .dpk .dpk-chip.is-on,html[data-pro-theme="dark"] .dpk .dpk-day.is-on{color:#08142b}
/* Reprogramar visita (etapa 297): cómo está hoy la visita y atajos para mover el día y la hora. */
.ps-resched-now{display:flex;align-items:center;gap:8px;margin:0 0 12px}.ps-resched-now b{color:inherit;font-weight:700}
.ps-resched-quick{display:grid;gap:8px;margin:12px 0 6px}
.ps-resched-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ps-resched-row>span{flex:0 0 112px;font-size:12.5px;font-weight:700;color:var(--ps-muted,#6b7a95)}
@media(max-width:480px){.ps-resched-row>span{flex-basis:100%}}
