/* Mi perfil del piscinero (prefijo .mpf): pestañas, tarjetas de datos, vista previa del perfil público, indicadores, zona de trabajo y documentos.
   Se adapta al ancho del propio panel (container queries). */
.mpf{--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)}
.mpf *{box-sizing:border-box}.mpf .ps-ico{width:18px;height:18px}
.mpf-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);padding-bottom:10px}
.mpf-tabs button{border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;font-size:13.5px;font-weight:600;padding:9px 16px;border-radius:10px;cursor:pointer;white-space:nowrap}
.mpf-tabs button:hover{background:var(--blue-soft)}.mpf-tabs button.is-on{background:var(--blue);border-color:var(--blue);color:#fff}
.mpf-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.mpf-grid.is-uneven{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.mpf-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.mpf-grid.is-ind{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.mpf-col{display:grid;gap:14px;min-width:0}
.mpf-card{container-type:inline-size;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:18px;min-width:0;display:grid;gap:14px;align-content:start}
.mpf-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.mpf .mpf-head h3{margin:0;font-size:18px;color:var(--navy);display:flex;align-items:center;gap:6px}.mpf-head p{margin:3px 0 0;color:var(--muted);font-size:13.5px;line-height:1.4}
.mpf-tip{display:inline-grid;place-items:center;color:var(--blue);cursor:help}.mpf-tip .ps-ico{width:16px;height:16px}
.mpf-muted{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.mpf-note{margin:0;color:var(--muted);font-size:12.5px;line-height:1.4}
/* Botones y campos */
.mpf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--info);font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}
.mpf-btn:hover{background:var(--blue-soft)}.mpf-btn .ps-ico{width:17px;height:17px}.mpf-btn small{font-size:11px;font-weight:600;opacity:.85}
.mpf-primary{background:var(--blue);border-color:var(--blue);color:#fff}.mpf-primary:hover{filter:brightness(1.07);background:var(--blue)}
.mpf-outline{border-color:#9cc4ff;color:var(--blue)}.mpf-btn-ghost{border-color:transparent;background:transparent;color:var(--muted)}.mpf-btn-ghost:hover{background:var(--mute-bg)}
.mpf-whats{background:#1fa463;border-color:#1fa463;color:#fff}.mpf-whats:hover{background:#1fa463;filter:brightness(1.06)}
.mpf-danger{border-color:#f1b3b3;color:var(--bad)}.mpf-danger:hover{background:var(--bad-bg)}
.mpf-btn.is-small{min-height:34px;padding:0 12px;font-size:13px}.mpf-btn.is-soon,.mpf-btn.is-off{cursor:default;flex-direction:column;gap:0;min-height:46px;padding:4px 18px}.mpf-btn.is-soon{background:#8fb3f5;border-color:#8fb3f5;color:#fff}.mpf-btn.is-soon:hover{background:#8fb3f5}.mpf-btn.is-off{color:var(--muted)}
.mpf-link{border:0;background:none;padding:0;color:var(--blue);font:inherit;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:4px;text-decoration:none}.mpf-link .ps-ico{width:14px;height:14px}
.mpf-icobtn{display:grid;place-items:center;width:38px;height:38px;border:1px solid #f1b3b3;border-radius:10px;background:var(--card);color:var(--bad);cursor:pointer}.mpf-icobtn:hover{background:var(--bad-bg)}
.mpf-file{cursor:pointer}
.mpf-form{display:grid;gap:12px}.mpf-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mpf-field{display:grid;gap:5px;font-size:13px;color:var(--navy);font-weight:600;min-width:0}.mpf-field>span{color:var(--navy)}.mpf-field small{color:var(--muted);font-weight:500;font-size:12px}
.mpf .mpf-field input,.mpf .mpf-field textarea{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--field);color:var(--text);font:inherit;font-size:14px;font-weight:500}
.mpf .mpf-field textarea{padding:10px 12px;resize:vertical;line-height:1.5}.mpf .mpf-field input:focus,.mpf .mpf-field textarea:focus{outline:2px solid #9cc4ff}
.mpf-static{display:flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--head);color:var(--text);font-size:14px;font-weight:500}
.mpf-count{justify-self:end}
.mpf-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.mpf-saved{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px}.mpf-saved .ps-ico{color:var(--ok);width:15px;height:15px}
.mpf-switch{position:relative;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--text);font-weight:500;min-height:44px}.mpf-switch.is-locked{opacity:.6;cursor:default}.mpf-switch em{font-style:normal}
.mpf .mpf-switch input[type=checkbox]{position:absolute;opacity:0;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;clip:rect(0 0 0 0)}
.mpf-sw{position:relative;width:46px;height:26px;border-radius:999px;background:#c9d4e6;flex:none;transition:background .15s}.mpf-sw::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.mpf-switch input:checked+.mpf-sw{background:var(--blue)}.mpf-switch input:checked+.mpf-sw::after{transform:translateX(20px)}.mpf-switch input:focus-visible+.mpf-sw{outline:2px solid #9cc4ff;outline-offset:2px}
.mpf-grid2.is-switch{align-items:end}
/* Fotos */
.mpf-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--line);background:#fff}.mpf-avatar.is-big{width:86px;height:86px}
.mpf-initials{display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:800;font-size:22px}
.mpf-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mpf-photo{display:grid;gap:8px;min-width:0}.mpf-ph-label{font-size:13px;font-weight:700;color:var(--navy)}
.mpf-photo-row{display:flex;gap:14px;align-items:center;min-width:0}.mpf-photo-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.mpf-photo-tools small{flex-basis:100%;color:var(--muted);font-size:11.5px}
.mpf-cover-thumb{width:120px;height:64px;border-radius:10px;object-fit:cover;flex:none;background:#eaf0f8;display:grid;place-items:center;color:#9bb0d3}
/* Vista previa */
.mpf-pv{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}
.mpf-pv-cover{height:120px;background:linear-gradient(135deg,#bfe0ff,#6fb0f5 55%,#3b82e8);position:relative}.mpf-pv-cover img{width:100%;height:100%;object-fit:cover;display:block}
.mpf-pv-body{display:flex;gap:14px;align-items:flex-end;padding:0 16px;margin-top:-34px;position:relative}
.mpf-pv-avatar{width:84px;height:84px;border-radius:50%;border:4px solid var(--card);overflow:hidden;background:var(--blue-soft);flex:none;display:block}.mpf-pv-avatar img{width:100%;height:100%;object-fit:cover;display:block}.mpf-pv-avatar .mpf-initials{width:100%;height:100%}
.mpf-pv-id{padding-top:38px;min-width:0}.mpf .mpf-pv-id h4{margin:0;font-size:20px;color:var(--navy);display:flex;align-items:center;gap:6px;overflow-wrap:anywhere}.mpf-pv-id p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.mpf-ok{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--blue);color:#fff}.mpf-ok .ps-ico{width:12px;height:12px}
.mpf-pv-rate{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mpf-pv-rate b{color:var(--navy)}.mpf-pv-pin{display:flex;align-items:center;gap:5px}.mpf-pv-pin .ps-ico{width:14px;height:14px;color:var(--blue)}
.mpf-stars{position:relative;display:inline-block;line-height:1;letter-spacing:1px;font-size:15px;white-space:nowrap;color:#d3dbe8}.mpf-stars i{font-style:normal}.mpf-stars b{position:absolute;left:0;top:0;overflow:hidden;color:#f5a400;font-weight:400}
.mpf-tags{list-style:none;margin:12px 16px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.mpf-tags li{padding:5px 12px;border-radius:999px;background:var(--blue-soft);color:var(--info);font-size:12.5px;font-weight:600}.mpf-tags.is-small{margin:8px 0 0}.mpf-tags.is-small li{padding:4px 10px;font-size:12px}
.mpf-quote{margin:12px 16px 0;padding:0;color:var(--text);font-size:13.5px;font-style:italic;line-height:1.55;overflow-wrap:anywhere}.mpf-pv>.mpf-muted{margin:12px 16px 0}
.mpf-pv-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 16px 0}.mpf-pv-box{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--head);min-width:0}.mpf-pv-box>b{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--navy)}.mpf-pv-box>b .ps-ico{width:16px;height:16px;color:var(--blue)}
.mpf-pv-box.is-ok{background:var(--ok-bg);border-color:#bfe8d0}.mpf-pv-box.is-ok>b .ps-ico{color:var(--ok)}.mpf-checks{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:5px;font-size:12.5px}.mpf-checks li{display:flex;gap:6px;align-items:center}.mpf-checks .ps-ico{width:14px;height:14px;color:var(--ok)}
.mpf-pv-buttons{display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px 16px}.mpf-pv-buttons .mpf-btn{flex:1 1 150px}
.mpf-status{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.mpf-status>div{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
/* Indicadores */
.mpf-period{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:13px;font-weight:600}.mpf-period .ps-ico{width:16px;height:16px;color:var(--blue)}
.mpf-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.mpf-kpi{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);min-width:0}
.mpf-kpi-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;grid-row:1/3}.mpf-kpi-ico .ps-ico{width:22px;height:22px}.mpf-kpi-ico.is-blue{background:#e4efff;color:var(--blue)}.mpf-kpi-ico.is-green{background:var(--ok-bg);color:var(--ok)}.mpf-kpi-ico.is-amber{background:var(--warn-bg);color:#e69500}
.mpf-kpi>div{display:grid;line-height:1.2;min-width:0}.mpf-kpi b{font-size:22px;color:var(--navy)}.mpf-kpi small{color:var(--muted);font-size:12px}.mpf-kpi .mpf-sub{font-size:11px}
.mpf-delta{grid-column:2;font-size:12.5px;font-weight:800}.mpf-delta.is-ok{color:var(--ok)}.mpf-delta.is-bad{color:var(--bad)}.mpf-delta.is-muted{color:var(--muted);font-weight:500}.mpf-delta.is-info{color:var(--info)}
.mpf-ring{width:40px;height:40px;transform:rotate(-90deg)}.mpf-ring circle{fill:none;stroke-width:3.4}.mpf-ring .bg{stroke:#e0f2e8}.mpf-ring .fg{stroke:#1fa463;stroke-linecap:round}.mpf-kpi-ico:has(.mpf-ring){background:none}
/* Precios, servicios y listas */
.mpf-prices{list-style:none;margin:0;padding:0;display:grid}.mpf-prices li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.mpf-prices li:first-child{border-top:0}
.mpf-prices span{display:flex;gap:8px;align-items:center;min-width:0}.mpf-prices .ps-ico{color:var(--blue);flex:none}.mpf-prices b{color:var(--navy);font-size:14px}.mpf-prices small{color:var(--muted);font-size:12px}.mpf-prices em{font-style:normal;color:var(--muted);font-size:13px;white-space:nowrap}.mpf-prices strong{color:var(--navy);font-size:15px}
.mpf-checks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mpf-checks-grid.is-zone{grid-template-columns:repeat(3,minmax(0,1fr))}
.mpf-check{display:flex;gap:8px;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:13.5px;color:var(--text);cursor:pointer;min-width:0}.mpf-check input{width:17px;height:17px;accent-color:var(--blue);flex:none;margin:0}.mpf-check span{overflow-wrap:anywhere}
.mpf-check:has(input:checked){border-color:#9cc4ff;background:var(--blue-soft)}
.mpf-zone{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.mpf-map{width:100%;height:auto;display:block}
.mpf-zmap{display:grid;gap:8px;min-width:0}.mpf-gmap{display:none;height:340px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#eaf3ff}.mpf-gmap-node{width:100%;height:100%}
.mpf-zmap.is-live .mpf-gmap{display:block}.mpf-zmap.is-live .mpf-zfall{display:none}
.mpf-zgroup{display:grid;gap:9px}.mpf-zhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.mpf-zhead b{color:var(--navy);font-size:14px}.mpf-zhead span{color:var(--muted);font-size:12.5px}
.mpf-chips{display:flex;flex-wrap:wrap;gap:8px}
.mpf-chip{position:relative;display:inline-flex;align-items:center;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--text);font-size:13.5px;line-height:1.2;cursor:pointer}
.mpf-chip input{position:absolute;opacity:0;pointer-events:none}.mpf-chip::before{content:"+";margin-right:6px;color:var(--muted);font-weight:700}
.mpf-chip:hover{border-color:#9cc4ff}.mpf-chip:has(input:checked){border-color:#9cc4ff;background:var(--blue-soft);color:var(--blue);font-weight:700}.mpf-chip:has(input:checked)::before{content:"✓";color:var(--blue);font-weight:800}
.mpf-chip:has(input:focus-visible){outline:2px solid #9cc4ff;outline-offset:2px}
.mpf-map-bg{fill:#eaf3ff;stroke:#d3e2f8}.mpf-dot{fill:#c3d2ea}.mpf-halo{fill:rgba(22,101,242,.14)}.mpf-pin{fill:var(--blue);stroke:#fff;stroke-width:2}.mpf-lbl{font:700 11px Inter,system-ui,sans-serif;fill:#0b1f4d;paint-order:stroke;stroke:#eaf3ff;stroke-width:3px}
.mpf-chip{display:inline-flex;align-items:center;padding:4px 11px;border-radius:8px;font-size:12px;font-weight:700;background:var(--mute-bg);color:#53627c;white-space:nowrap}.mpf-chip.is-ok{background:var(--ok-bg);color:var(--ok)}.mpf-chip.is-warn{background:var(--warn-bg);color:var(--warn)}.mpf-chip.is-info{background:var(--info-bg);color:var(--info)}.mpf-chip.is-muted{background:var(--mute-bg);color:#53627c}
.mpf-docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mpf-doc{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.mpf-doc-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--blue-soft);color:var(--blue);flex:none}.mpf-doc b{display:block;color:var(--navy);font-size:14px}.mpf-doc p{margin:2px 0 0;color:var(--muted);font-size:12.5px;line-height:1.4}
.mpf-doc-side{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mpf-list{list-style:none;margin:0;padding:0;display:grid}.mpf-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}.mpf-list li:first-child{border-top:0}
.mpf-list li>div{flex:1;min-width:0}.mpf-list b{color:var(--navy);font-size:14px}.mpf-list p{margin:2px 0 0;color:var(--muted);font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}.mpf-list.is-plain li{padding:11px 0}
.mpf-trust li{justify-content:flex-start}.mpf-trust li b{flex:1}
.mpf-reviews{list-style:none;margin:0;padding:0;display:grid;gap:12px}.mpf-reviews li{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:12px}.mpf-reviews li>div{min-width:0}.mpf-reviews b{color:var(--navy);font-size:13.5px}.mpf-rv-av{width:38px;height:38px;border-radius:50%;font-size:13px;flex:none}.mpf-rv-date{margin-left:8px;color:var(--muted);font-size:12px}.mpf-reviews p{margin:2px 0 0}.mpf-rv-text{color:var(--text);font-size:13px;font-style:italic;line-height:1.45;overflow-wrap:anywhere}
.mpf-gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mpf-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;display:block;background:#eaf0f8}
.mpf-more{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:0 16px}.mpf-more>summary{cursor:pointer;padding:14px 0;font-weight:700;color:var(--navy)}.mpf-more[open]>summary{border-bottom:1px solid var(--line);margin-bottom:14px}.mpf-more .ps-form{padding-bottom:12px}
.mpf-privacy{min-width:0}
body[data-page="panel"] .mpf p{color:var(--text)}
body[data-page="panel"] .mpf .mpf-muted,body[data-page="panel"] .mpf .mpf-note,body[data-page="panel"] .mpf .mpf-head p,body[data-page="panel"] .mpf .mpf-pv-id p,body[data-page="panel"] .mpf .mpf-doc p,body[data-page="panel"] .mpf .mpf-list p{color:var(--muted)}
/* Nivel de la pantalla (.mpf): columnas y pestañas */
@container (max-width:1180px){.mpf-grid.is-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:980px){.mpf-grid,.mpf-grid.is-uneven,.mpf-grid.is-three,.mpf-grid.is-ind{grid-template-columns:minmax(0,1fr)}}
@container (max-width:640px){.mpf-tabs{flex-wrap:nowrap;overflow-x:auto}}
/* Nivel de cada tarjeta (.mpf-card): se adapta a su propio ancho */
@container (max-width:1100px){.mpf-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (max-width:600px){.mpf-zone,.mpf-docs{grid-template-columns:minmax(0,1fr)}.mpf-gmap{height:260px}.mpf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.mpf-checks-grid.is-zone{grid-template-columns:repeat(2,minmax(0,1fr))}.mpf-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (max-width:440px){.mpf-grid2,.mpf-photos,.mpf-pv-two,.mpf-checks-grid,.mpf-checks-grid.is-zone,.mpf-kpis{grid-template-columns:minmax(0,1fr)}.mpf-pv-body{flex-direction:column;align-items:flex-start}.mpf-pv-id{padding-top:0}.mpf-actions .mpf-btn{flex:1 1 auto}}
.mpf-termscard .mpf-field input{max-width:240px}
