/* Cotizaciones del piscinero (prefijo .cz): indicadores del mes, pestañas por etapa, filtros, lista de solicitudes y detalle lado a lado.
   Se adapta al ancho del propio panel (container queries), no al de la ventana. En ancho angosto se ve la lista o el detalle. */
.cz{--navy:#0b1f4d;--text:#33425c;--muted:#6b7a95;--line:#e4ecf7;--blue:#1665f2;--blue-soft:#eaf3ff;--card:#fff;--field:#fff;--head:#f5f8fc;--sel:#eef5ff;--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)}
.cz *{box-sizing:border-box}
.cz .ps-ico{width:18px;height:18px}
.cz-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;min-width:0}
.cz-top .ps-tabs{margin:0}
.cz-top-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-left:auto}
.cz-top-actions .btn{display:inline-flex;align-items:center;gap:8px;min-height:42px}
.cz-card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);min-width:0}

/* Indicadores */
.cz-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cz-kpi{display:flex;align-items:center;gap:12px;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);min-width:0}
.cz-kpi.cz-skel{min-height:78px;background:linear-gradient(90deg,#f1f5fb,#f8fafd,#f1f5fb);background-size:200% 100%;animation:cz-sh 1.4s linear infinite}
@keyframes cz-sh{to{background-position:-200% 0}}
.cz-kpi-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;flex:none}.cz-kpi-ico .ps-ico{width:24px;height:24px}
.cz-kpi-ico.is-blue{background:#e4efff;color:var(--blue)}.cz-kpi-ico.is-amber{background:var(--warn-bg);color:#e69500}.cz-kpi-ico.is-green{background:var(--ok-bg);color:var(--ok)}
.cz-kpi>div{display:grid;min-width:0;line-height:1.15}.cz-kpi b{font-size:26px;color:var(--navy);letter-spacing:-.01em}.cz-kpi>div>small{color:var(--muted);font-size:12.5px}
.cz-delta{margin-left:auto;display:grid;justify-items:end;text-align:right;font-size:13px;font-weight:800;line-height:1.2;max-width:46%;align-self:flex-start}.cz-delta small{font-weight:500;color:var(--muted);font-size:11px}
.cz-delta.is-ok{color:var(--ok)}.cz-delta.is-bad{color:var(--bad)}.cz-delta.is-muted{color:var(--muted);font-weight:500}

/* Lista y detalle */
.cz-split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:14px;align-items:start}
.cz-listcol{padding:14px;display:grid;gap:12px;align-content:start;container-type:inline-size}
.cz-bar{display:grid;gap:12px}.cz-tabrow{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between}
.cz-tabs{display:flex;flex-wrap:wrap;gap:6px}
.cz-tabs button{border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;font-size:13px;font-weight:600;padding:8px 14px;border-radius:10px;cursor:pointer;white-space:nowrap}
.cz-tabs button:hover{background:var(--blue-soft)}.cz-tabs button.is-on{background:var(--blue);border-color:var(--blue);color:#fff}
.cz-sort{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.cz-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:10px}
.cz-search,.cz-sel{display:flex;align-items:center;gap:8px;height:44px;border:1px solid var(--line);border-radius:11px;background:var(--field);padding:0 10px;min-width:0;position:relative}
.cz-sel{padding:0}.cz-sort .cz-sel{min-width:150px}
.cz-search .ps-ico{color:#7b8aa3;flex:none}
.cz .cz-search input,.cz .cz-sel select{flex:1;min-width:0;width:100%;height:100%;min-height:0;border:0;outline:0;box-shadow:none;background:transparent;padding:0;border-radius:0;font:inherit;font-size:13.5px;color:var(--text)}
.cz .cz-sel select{padding:0 10px;cursor:pointer}
.cz-search:focus-within,.cz-sel:focus-within{outline:2px solid #9cc4ff}
.cz-list{list-style:none;margin:0;padding:0;display:grid;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cz-list li+li{border-top:1px solid var(--line)}
.cz-row{display:grid;grid-template-columns:72px minmax(150px,1.25fr) minmax(0,.9fr) auto auto;gap:12px;align-items:center;width:100%;padding:10px 12px;border:0;background:var(--card);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.cz-row:hover{background:#f6faff}.cz-row.is-active{background:var(--sel);box-shadow:inset 3px 0 0 var(--blue)}
.cz-thumb{width:72px;height:62px;border-radius:10px;object-fit:cover;background:#eaf0f8;display:grid;place-items:center;color:#9bb0d3}.cz-thumb .ps-ico{width:26px;height:26px}
.cz-noimg{display:grid;place-items:center;background:#eaf0f8;color:#9bb0d3}
.cz-nb{white-space:nowrap}.cz-main{display:grid;gap:3px;min-width:0}.cz-main b{color:var(--navy);font-size:14.5px;line-height:1.2;overflow-wrap:anywhere}
.cz-meta{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12.5px;min-width:0}.cz-meta .ps-ico{width:14px;height:14px;flex:none;color:#2a6ae0}
.cz-svcs{display:grid;gap:4px;font-size:12.5px;color:var(--text);min-width:0}.cz-svcs span{display:flex;gap:6px;align-items:baseline;overflow-wrap:anywhere}.cz-svcs span::before{content:"✦";font-size:9px;color:#5f8fe0;flex:none}
.cz-side{display:grid;justify-items:start;gap:6px;font-size:12px;color:var(--muted)}.cz-side small{font-size:12px;color:var(--muted);white-space:nowrap}
.cz-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;border-radius:9px;font-size:12px;font-weight:700;background:var(--mute-bg);color:#53627c;white-space:nowrap}
.cz-chip.is-info{background:var(--info-bg);color:var(--info)}.cz-chip.is-ok{background:var(--ok-bg);color:var(--ok)}.cz-chip.is-warn{background:var(--warn-bg);color:var(--warn)}.cz-chip.is-muted{background:var(--mute-bg);color:#53627c}
.cz-ver{display:inline-flex;align-items:center;gap:4px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;color:var(--info);font-size:13px;font-weight:700;background:var(--card)}.cz-ver .ps-ico{width:15px;height:15px}
.cz-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;color:var(--muted);font-size:12.5px}
.cz-pager{display:flex;gap:4px}.cz-pager button{display:grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--text);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.cz-pager button.is-on{background:var(--blue);border-color:var(--blue);color:#fff}.cz-pager button[disabled]{opacity:.4;cursor:default}.cz-pager .ps-ico{width:15px;height:15px}

/* Detalle */
.cz-detail{padding:16px;display:grid;gap:14px;align-content:start}
.cz-back{display:none;align-items:center;gap:6px;width:max-content;border:0;background:none;padding:0;color:var(--blue);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.cz-dhead{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:14px;align-items:start}
.cz-dphoto{width:150px;height:116px;border-radius:12px;object-fit:cover}.cz-dphoto.cz-noimg .ps-ico{width:34px;height:34px}
.cz-dmain{display:grid;gap:5px;align-content:start;justify-items:start;min-width:0}.cz .cz-dmain h2{margin:2px 0 0;font-size:22px;line-height:1.1;color:var(--navy);overflow-wrap:anywhere}
.cz-dmain p{margin:0;display:flex;gap:6px;align-items:center;color:var(--muted);font-size:13.5px}.cz-dmain .ps-ico{width:16px;height:16px;color:#2a6ae0}
.cz-map{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.cz-map .ps-ico{width:15px;height:15px}
.cz-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;background:var(--head);border-radius:12px;padding:10px}
.cz-fact{display:grid;justify-items:center;text-align:center;gap:2px;min-width:0}.cz-fact .ps-ico{width:26px;height:26px;color:var(--blue);margin-bottom:2px}
.cz-fact small{color:var(--muted);font-size:12px;line-height:1.2}.cz-fact b{color:var(--navy);font-size:13.5px;line-height:1.2;overflow-wrap:anywhere}
.cz-msg{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--info-bg)}.cz-msg>.ps-ico{width:24px;height:24px;color:var(--blue);flex:none;margin-top:2px}
.cz-msg b{color:var(--navy);font-size:14px}.cz-msg p{margin:3px 0 0;color:var(--text);font-size:13.5px;line-height:1.5}
.cz .cz-sec h3{margin:0 0 8px;font-size:15.5px;color:var(--navy);display:flex;align-items:center;gap:6px}
.cz-muted{margin:0;color:var(--muted);font-size:13px;line-height:1.4}
.cz-tip{display:inline-grid;place-items:center;color:var(--blue);cursor:help}.cz-tip .ps-ico{width:16px;height:16px}
.cz-chips{display:flex;flex-wrap:wrap;gap:8px}
.cz-svc{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--navy);font-size:13.5px;font-weight:600}.cz-svc .ps-ico{width:16px;height:16px;color:var(--blue)}
.cz .cz-add{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #9cc4ff;border-radius:10px;background:var(--card);color:var(--blue);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}.cz .cz-add:hover{background:var(--blue-soft)}.cz-add .ps-ico{width:15px;height:15px}
.cz-photos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.cz-photos a,.cz-photos img{display:block;width:100%}.cz-photos img{height:74px;object-fit:cover;border-radius:10px}
.cz-allph{display:grid;place-items:center;align-content:center;gap:1px;height:74px;border:1px dashed #b9c9e6;border-radius:10px;background:var(--card);color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.cz-allph .ps-ico{width:20px;height:20px;color:var(--navy)}.cz-allph small{font-size:11px}
.cz-refs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
.cz-ref{display:grid;gap:3px;align-content:start;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);min-width:0}
.cz-ref b{color:var(--navy);font-size:13.5px;line-height:1.25;overflow-wrap:anywhere}.cz-ref small{color:var(--muted);font-size:12px;line-height:1.3}.cz-ref strong{margin-top:6px;color:var(--navy);font-size:16px;overflow-wrap:anywhere}
.cz-prop{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1px solid #bfe8d0;background:var(--ok-bg)}
.cz-prop>div{flex:1 1 200px;min-width:0}.cz-prop b{color:var(--navy);font-size:15px}.cz-prop p{margin:2px 0 0;color:var(--text);font-size:13px;line-height:1.35}
.cz-prop-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#c9efd9;color:var(--ok);flex:none}.cz-prop-ico .ps-ico{width:22px;height:22px}
.cz-prop.is-info{background:var(--info-bg);border-color:#c9dcfa}.cz-prop.is-info .cz-prop-ico{background:#cfe0fb;color:var(--blue)}
.cz-prop.is-muted{background:var(--mute-bg);border-color:var(--line)}.cz-prop.is-muted .cz-prop-ico{background:#dbe3ef;color:#6b7a95}
.cz .cz-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:200px;min-height:48px;font-size:15px}.cz-cta .ps-ico{width:16px;height:16px}
.cz-more{display:flex;flex-wrap:wrap;gap:8px}
.cz-pick{display:grid;justify-items:center;gap:6px;text-align:center;padding:60px 16px;color:var(--muted)}.cz-pick .ps-ico{width:38px;height:38px;color:#9bb0d3}.cz-pick b{color:var(--navy);font-size:16px}.cz-pick p{margin:0;font-size:13px;max-width:34ch}
.cz-how{margin:0;padding-left:20px;display:grid;gap:10px;font-size:14px;line-height:1.5}.cz-how b{color:var(--navy)}

/* Colores del panel (reglas generales de párrafos) */
body[data-page="panel"] .cz p{color:var(--text)}
body[data-page="panel"] .cz .cz-muted,body[data-page="panel"] .cz .cz-dmain p,body[data-page="panel"] .cz .cz-pick p{color:var(--muted)}
body[data-page="panel"] .cz .cz-meta{color:var(--muted)}

@container (max-width:1020px){.cz-bar.has-detail{display:none}.cz-split{grid-template-columns:minmax(0,1fr)}.cz:not(.has-detail) .cz-detail{display:none}.cz.has-detail .cz-listcol{display:none}.cz-back{display:inline-flex}.cz-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:760px){.cz-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.cz-search{grid-column:1/-1}.cz-dhead{grid-template-columns:110px minmax(0,1fr)}.cz-dphoto{width:110px;height:92px}.cz-map{grid-column:1/-1;justify-self:start}.cz-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.cz-refs{grid-template-columns:minmax(0,1fr)}}
@container (max-width:520px){.cz-kpis{grid-template-columns:minmax(0,1fr)}.cz-top-actions{width:100%}.cz-top-actions .btn{flex:1 1 auto;justify-content:center}.cz-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.cz-dhead{grid-template-columns:minmax(0,1fr)}.cz-dphoto{width:100%;height:140px}.cz .cz-cta{width:100%}}
/* La fila de la lista se acomoda al ancho de la propia lista */
@container (max-width:560px){.cz-row{grid-template-columns:70px minmax(0,1fr) auto}.cz-svcs{grid-column:2;grid-row:2}.cz-side{grid-column:3;grid-row:1/3;justify-items:end;text-align:right}.cz-ver{display:none}.cz-thumb{width:70px;height:60px}}
@container (max-width:400px){.cz-row{grid-template-columns:60px minmax(0,1fr)}.cz-side{grid-column:2;grid-row:3;display:flex;flex-wrap:wrap;justify-items:start;text-align:left;align-items:center;gap:6px 10px}.cz-svcs{grid-column:2;grid-row:2}.cz-thumb{width:60px;height:54px}}

/* Solicitudes de propietarios con el plan gratis: explica qué incluye el plan de pago (misma tarjeta de las ofertas de trabajo) */
.cz-tab-lock{display:inline-grid;place-items:center;margin-left:6px;vertical-align:-2px;opacity:.75}.cz-tab-lock .ps-ico{width:14px;height:14px}
.cz.is-locked{align-content:start}
.cz-lock{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;justify-self:center;width:min(100%,640px);margin-top:18px;padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--shadow)}
.cz-lock-ico{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--blue-soft);color:var(--blue)}.cz-lock-ico .ps-ico{width:28px;height:28px}
.cz-lock-txt{display:grid;gap:8px;min-width:0}
.cz-lock-txt small{font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cz-lock-txt h2{margin:0;font-size:clamp(20px,2.4cqw,26px);line-height:1.2;color:var(--navy)}
.cz-lock-txt p{margin:0;font-size:14.5px;line-height:1.5;color:var(--text)}
.cz-lock-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.cz-lock-up,.cz-lock-alt{min-height:46px;padding:0 22px;border-radius:12px;font:800 14.5px Inter,sans-serif;cursor:pointer}
.cz-lock-up{border:0;background:var(--blue);color:#fff;box-shadow:0 6px 14px rgba(22,101,242,.25)}
.cz-lock-alt{border:1px solid var(--line);background:var(--card);color:var(--navy)}
.cz-lock-up:focus-visible,.cz-lock-alt:focus-visible{outline:3px solid #9cc4ff;outline-offset:2px}
@container (max-width:480px){.cz-lock{grid-template-columns:minmax(0,1fr);padding:20px 16px}}
