/* Ficha del cliente del piscinero (pestaña «Datos»), prefijo .pcf: tarjeta del cliente, resumen de piscina, equipos y, a la derecha, próxima visita, visitas del mes, estado de pago y alertas.
   Se adapta al ancho del propio panel (container queries), no al de la pantalla. */
.pcf{--navy:#0b1f4d;--text:#33425c;--muted:#6b7a95;--line:#e4ecf7;--blue:#1665f2;--blue-soft:#eaf3ff;--card:#fff;--field:#fff;--head:#f5f8fc;--shadow:0 6px 22px rgba(15,40,90,.07);
 --ok:#13874b;--ok-bg:#dff5e8;--warn:#b86e00;--warn-bg:#fff1d6;--bad:#c62828;--bad-bg:#fde4e4;--info:#1559c9;--info-bg:#e0edff;--mute-bg:#eef2f7;
 container-type:inline-size;display:grid;gap:14px;min-width:0;color:var(--text)}
.pcf *{box-sizing:border-box}.pcf .ps-ico{width:18px;height:18px;flex:none}
.pcf-top{align-items:center!important}.pcf-top h2{margin:0}
.pcf-muted{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.pcf-nodata{color:var(--muted);font-weight:500;font-size:12.5px}
.pcf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid var(--blue);border-radius:11px;background:var(--blue);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none}
.pcf-btn:hover{filter:brightness(1.07)}.pcf-btn.is-ghost{background:var(--card);color:var(--blue);border-color:#9cc4ff}.pcf-btn.is-ghost:hover{background:var(--blue-soft);filter:none}.pcf-btn.is-block{display:flex;width:100%}
.pcf-btn:focus-visible,.pcf-link:focus-visible,.pcf-pills button:focus-visible{outline:2px solid #9cc4ff;outline-offset:2px}
.pcf-link{border:0;background:none;padding:4px 2px;color:var(--blue);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}.pcf-link:hover{text-decoration:underline}

/* Subpestañas en píldoras */
.pcf-pills{display:flex;gap:8px;overflow-x:auto;padding:4px 4px 8px;scrollbar-width:thin}
.pcf-pills button{flex:none;min-height:38px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.pcf-pills button:hover{background:var(--blue-soft)}.pcf-pills button.is-on{background:var(--blue);border-color:var(--blue);color:#fff}

/* Estructura */
.pcf-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.pcf-mainCol,.pcf-side{display:grid;gap:14px;min-width:0;align-content:start}
.pcf-card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:16px;min-width:0;display:grid;gap:12px;align-content:start}
.pcf-head{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.pcf .pcf-head h3,.pcf .pcf-cardhead h3{margin:0;font-size:17px;color:var(--navy);display:flex;align-items:center;gap:8px}
.pcf-head h3 .ps-ico{color:var(--blue)}
.pcf-two{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}

/* Tarjeta del cliente */
.pcf-client{grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}
.pcf-av{grid-column:1}.pcf-cmain{grid-column:2}
.pcf-av{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-weight:800;font-size:24px;flex:none}
.pcf-cmain{display:grid;gap:8px;min-width:0}.pcf .pcf-cmain h3{margin:0;font-size:22px;color:var(--navy);overflow-wrap:anywhere}
.pcf-chips{display:flex;flex-wrap:wrap;gap:6px}.pcf-sub{margin:0;color:var(--muted);font-size:13.5px}
.pcf-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:4px}
.pcf-fact{display:flex;gap:10px;align-items:flex-start;min-width:0}.pcf-fact-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--blue-soft);color:var(--blue);flex:none}
.pcf-fact>div{display:grid;min-width:0;line-height:1.25}.pcf-fact small{color:var(--muted);font-size:11.5px}.pcf-fact b{color:var(--navy);font-size:14px;font-weight:700;overflow-wrap:anywhere}
.pcf-cact{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.pcf-photo{grid-column:1/-1;min-height:150px;border-radius:14px;overflow:hidden;background:var(--head);border:1px solid var(--line);display:grid;place-items:center}
.pcf-photo-img{display:block;width:100%;height:100%;max-height:260px;object-fit:cover}
.pcf-photo-empty{display:grid;justify-items:center;gap:6px;color:var(--muted);padding:18px}.pcf-photo-empty .ps-ico{width:34px;height:34px}.pcf-photo-empty small{font-size:12.5px}

/* Listas de datos */
.pcf-dl{display:grid;gap:0;margin:0}.pcf-dl>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.pcf-dl>div:first-child{border-top:0}
.pcf-dl dt{color:var(--muted);font-size:13px}.pcf-dl dd{margin:0;color:var(--navy);font-weight:700;font-size:13.5px;text-align:right;overflow-wrap:anywhere;min-width:0}
.pcf-modal-dl dd{font-weight:600}
.pcf-poolnote{display:grid;gap:2px}.pcf-poolnote small{color:var(--muted);font-size:12px}.pcf-poolnote p{margin:0;font-size:13.5px;line-height:1.45}

/* Equipos */
.pcf-equip{list-style:none;margin:0;padding:0;display:grid;gap:0}
.pcf-equip li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.pcf-equip li:first-child{border-top:0}
.pcf-eq-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--blue-soft);color:var(--blue)}
.pcf-eq-main{display:grid;min-width:0;line-height:1.25}.pcf-eq-main b{color:var(--navy);font-size:14px}.pcf-eq-main small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}

/* Estados */
.pcf-st{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--mute-bg);color:#53627c}
.pcf-st.is-ok{background:var(--ok-bg);color:var(--ok)}.pcf-st.is-warn{background:var(--warn-bg);color:var(--warn)}.pcf-st.is-bad{background:var(--bad-bg);color:var(--bad)}.pcf-st.is-info{background:var(--info-bg);color:var(--info)}

/* Columna derecha */
.pcf-cardhead{display:flex;align-items:center;gap:8px}.pcf-cardhead .ps-ico{color:var(--blue)}
.pcf-cardhead.is-blue{margin:-16px -16px 0;padding:12px 16px;background:var(--blue);border-radius:17px 17px 0 0}.pcf .pcf-cardhead.is-blue h3,.pcf-cardhead.is-blue .ps-ico{color:#fff}
.pcf-cardbody{display:grid;gap:12px;min-width:0}
.pcf-next{display:grid;gap:3px;line-height:1.3}.pcf-next-day{font-size:22px;color:var(--navy)}.pcf-next span{color:var(--muted);font-size:13.5px}.pcf-next.is-empty b{font-size:16px;color:var(--navy)}
.pcf-count{display:flex;align-items:baseline;gap:6px;color:var(--navy)}.pcf-count b{font-size:34px;line-height:1}.pcf-count span{color:var(--muted);font-size:16px;font-weight:600}
.pcf-bar{height:10px;border-radius:999px;background:var(--mute-bg);overflow:hidden}.pcf-bar i{display:block;height:100%;border-radius:999px;background:#1fa463}
.pcf-pay{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.pcf-pay b{font-size:20px;color:var(--navy)}.pcf-pay small{color:var(--muted);font-size:12.5px}
.pcf-alerts{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pcf-alerts li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border-radius:12px;font-size:13.5px;line-height:1.4;background:var(--mute-bg);color:var(--text)}
.pcf-alerts li>span{display:grid;place-items:center;margin-top:1px}.pcf-alerts .ps-ico{width:17px;height:17px}
.pcf-alerts li.is-bad{background:var(--bad-bg);color:var(--bad)}.pcf-alerts li.is-warn{background:var(--warn-bg);color:var(--warn)}.pcf-alerts li.is-info{background:var(--info-bg);color:var(--info)}.pcf-alerts li.is-ok{background:var(--ok-bg);color:var(--ok)}
.pcf-skel{height:64px;border-radius:12px;background:linear-gradient(90deg,#f1f5fb,#f8fafd,#f1f5fb);background-size:200% 100%;animation:pcf-sh 1.4s linear infinite}@keyframes pcf-sh{to{background-position:-200% 0}}

/* Documentos y notas */
.pcf-docgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.pcf-docs{list-style:none;margin:0;padding:0;display:grid}.pcf-docs li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.pcf-docs li:first-child{border-top:0}
.pcf-docs li>span{display:grid;min-width:0;line-height:1.3}.pcf-docs b{color:var(--navy);font-size:14px;overflow-wrap:anywhere}.pcf-docs small{color:var(--muted);font-size:12.5px}
.pcf-notes{display:grid;gap:10px}.pcf-field{display:block}.pcf .pcf-field textarea{width:100%;min-height:150px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--field);color:var(--text);font:inherit;font-size:14px;line-height:1.5}
.pcf .pcf-field textarea:focus{outline:2px solid #9cc4ff}
.pcf-notes-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.pcf-notes-text{margin:0;font-size:14px;line-height:1.55}
.pcf-sidecards{display:grid;gap:14px}

/* Ficha técnica incrustada (usa las tarjetas de «Equipos de los clientes») */
.pcf-eq{--card:#fff;gap:14px}.pcf-eq .ceq-card{box-shadow:var(--shadow)}

/* Información que ya existía (contacto, condiciones, invitación) y banner final */
.pcf-details{display:grid;gap:14px;min-width:0}
.pcf-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:linear-gradient(100deg,#0e3a8c,#1665f2);color:#fff}
.pcf-banner .ps-ico{width:34px;height:34px;flex:none;color:#fff}.pcf-banner>div{display:grid;gap:2px;min-width:0}.pcf .pcf-banner b{font-size:16px;color:#fff}.pcf .pcf-banner span{font-size:13.5px;color:#fff;opacity:.92;line-height:1.4}

@container (min-width:640px){
 .pcf-two{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pcf-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pcf-docgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pcf-client{grid-template-columns:auto minmax(0,1fr) minmax(0,210px)}.pcf-photo{grid-column:3;grid-row:1;min-height:170px;height:100%}
}
@container (min-width:900px){
 .pcf-grid{grid-template-columns:minmax(0,1fr) minmax(250px,300px)}
 .pcf-docgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container (max-width:420px){
 .pcf-client{grid-template-columns:minmax(0,1fr)}.pcf-av,.pcf-cmain,.pcf-photo{grid-column:1;grid-row:auto}.pcf-photo{height:auto;min-height:140px}.pcf-av{width:56px;height:56px;font-size:19px}
 .pcf-equip li{grid-template-columns:auto minmax(0,1fr) auto}.pcf-equip li .pcf-link{grid-column:2/-1;justify-self:start}
 .pcf-dl>div{flex-direction:column;gap:2px}.pcf-dl dd{text-align:left}
 .pcf-banner{align-items:flex-start}
}
