/* Inicio «tipo app» del cliente con piscinero asignado (prefijo .aa-), según la foto 62: solo se ve en el celular (hasta 760 px) y solo cuando el cliente tiene un piscinero asignado (client-assigned-app.js).
   Las medidas van en «u» (--u): una u es 1/430 del ancho de la pantalla, así la composición es la misma en cualquier celular y el texto crece o se achica con ella. Ningún texto baja de 11,2 u (≈10 px en un celular de 390 px). */
:root{--aa-blue:#0b63f0;--aa-blue-ink:#0a52c8;--aa-navy:#0c1655;--aa-ink:#16255f;--aa-mut:#42528c;--aa-line:#dbe6f6;--aa-bg:#e6f1fb;--aa-ok:#066e35;--aa-bad:#b3112c;--aa-warn:#8a4b00}
body[data-page="panel"] .aa-app,body[data-page="panel"] .aa-nav,body[data-page="panel"] .aa-sheet{display:none}
body[data-page="panel"] .aa-scope *{box-sizing:border-box}
body[data-page="panel"] .aa-scope{color:var(--aa-ink);min-width:0;--u:1px;overflow-x:clip}
@supports (width:1cqw){
body[data-page="panel"] .aa-scope{container-type:inline-size;--u:max(.84px,min(1.3px,calc(100cqw/430)))}
}
body[data-page="panel"] .aa-scope :where(button),body[data-page="panel"] .aa-scope :where(a),body[data-page="panel"] .aa-nav :where(button),body[data-page="panel"] .aa-sheet :where(button),body[data-page="panel"] .aa-sheet :where(a){appearance:none;font:inherit;color:inherit;margin:0;padding:0;border:0;background:none;text-align:inherit;min-height:0;min-width:0;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:0;cursor:pointer;text-decoration:none}
body[data-page="panel"] .aa-scope h1,body[data-page="panel"] .aa-scope h2,body[data-page="panel"] .aa-scope h3,body[data-page="panel"] .aa-scope p,body[data-page="panel"] .aa-scope ul,body[data-page="panel"] .aa-sheet h2,body[data-page="panel"] .aa-sheet h3,body[data-page="panel"] .aa-sheet ul,body[data-page="panel"] .aa-sheet p{margin:0;letter-spacing:0}
body[data-page="panel"] .aa-scope ul,body[data-page="panel"] .aa-sheet ul{padding:0;list-style:none}
body[data-page="panel"] .aa-scope svg.ah-i,body[data-page="panel"] .aa-nav svg.ah-i,body[data-page="panel"] .aa-sheet svg.ah-i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body[data-page="panel"] .aa-bi{width:calc(20*var(--u));height:calc(20*var(--u));flex:none}
body[data-page="panel"] .aa-scope :where(small),body[data-page="panel"] .aa-scope :where(em),body[data-page="panel"] .aa-scope :where(b),body[data-page="panel"] .aa-scope :where(strong),body[data-page="panel"] .aa-scope :where(i){font-style:normal}
body[data-page="panel"] .aa-app{position:relative;isolation:isolate;background:var(--aa-bg);padding-bottom:calc(16*var(--u))}
/* Fondo: la foto de la casa, nítida detrás del saludo y borrosa y aclarada detrás de las tarjetas. */
body[data-page="panel"] .aa-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
body[data-page="panel"] .aa-bg-blur{position:absolute;left:-24px;right:-24px;top:-24px;height:calc(1150*var(--u));background:var(--aa-photo,none) center top/cover no-repeat,linear-gradient(160deg,#0a3a8a,#1a8ae6 60%,#7fd3ff);filter:blur(16px) saturate(1.15);-webkit-mask-image:linear-gradient(180deg,#000 0,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 72%,transparent 100%)}
body[data-page="panel"] .aa-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(230,243,255,0) 0,rgba(230,243,255,.6) calc(190*var(--u)),rgba(230,243,255,.82) calc(520*var(--u)),var(--aa-bg) 100%)}
body[data-page="panel"] .aa-hero-bg{position:absolute;left:0;right:0;top:0;height:calc(200*var(--u));z-index:2;background:linear-gradient(180deg,rgba(2,14,44,.5) 0,rgba(2,14,44,.14) 40%,rgba(2,14,44,0) 75%),linear-gradient(90deg,rgba(2,18,52,.62) 0,rgba(2,18,52,.34) 45%,rgba(2,18,52,0) 80%),var(--aa-photo,none) center 32%/cover no-repeat,linear-gradient(160deg,#0a3a8a,#1a8ae6 60%,#7fd3ff);-webkit-mask-image:linear-gradient(180deg,#000 0,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 55%,transparent 100%)}
body[data-page="panel"] .aa-bg::after{z-index:1}
body[data-page="panel"] .aa-hero{position:relative;z-index:1;color:#fff;padding:calc(calc(12*var(--u)) + env(safe-area-inset-top,0px)) calc(16*var(--u)) calc(10*var(--u)) calc(18*var(--u))}
body[data-page="panel"] .aa-top{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(8*var(--u))}
body[data-page="panel"] .aa-brand{display:flex;align-items:center;gap:calc(7*var(--u));color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.45)}
body[data-page="panel"] .aa-mark{width:calc(38*var(--u));height:calc(32*var(--u))}
body[data-page="panel"] .aa-mark svg{display:block;width:100%;height:100%}
body[data-page="panel"] .aa-brand b{font-size:calc(17*var(--u));font-weight:800;line-height:1.05}
body[data-page="panel"] .aa-brand b em{color:#27c3ff}
body[data-page="panel"] .aa-brand-img img{display:block;height:calc(32*var(--u));width:auto;max-width:calc(160*var(--u));object-fit:contain}
body[data-page="panel"] .aa-top-r{display:flex;align-items:center;gap:calc(12*var(--u))}
body[data-page="panel"] .aa-wx{flex:none;display:flex;align-items:center;gap:calc(5*var(--u));color:#fff;text-align:left;text-shadow:0 1px 5px rgba(0,16,50,.6)}
body[data-page="panel"] .aa-wx>svg.portal-weather-icon{width:calc(30*var(--u));height:calc(30*var(--u))}
body[data-page="panel"] .aa-wx-t{display:grid;line-height:1.1;min-width:0}
body[data-page="panel"] .aa-wx-t b{font-size:calc(17*var(--u));font-weight:800}
body[data-page="panel"] .aa-wx-t small{font-size:calc(11.2*var(--u));white-space:nowrap;color:#fff}
body[data-page="panel"] .aa-wx-t em{font-size:calc(11.2*var(--u));color:#e4f0ff}
body[data-page="panel"] .aa-bell{position:relative;flex:none;display:grid;place-items:center;width:calc(34*var(--u));height:calc(34*var(--u));border-radius:50%;background:rgba(7,22,52,.36);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fff}
body[data-page="panel"] .aa-bell::after{content:"";position:absolute;inset:calc(-5*var(--u));border-radius:50%}
body[data-page="panel"] .aa-bell svg.ah-i{width:calc(20*var(--u));height:calc(20*var(--u));stroke-width:1.9}
body[data-page="panel"] .aa-dot{position:absolute;top:calc(4*var(--u));right:calc(5*var(--u));width:calc(7*var(--u));height:calc(7*var(--u));border-radius:50%;background:#ff3347;box-shadow:0 0 0 calc(1.4*var(--u)) rgba(7,22,52,.85)}
body[data-page="panel"] .aa-hello{margin-top:calc(6*var(--u));text-shadow:0 1px 3px rgba(0,16,50,.55),0 1px 12px rgba(0,20,60,.5)}
body[data-page="panel"] .aa-hello h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(25*var(--u));font-weight:800;line-height:1.12;color:#fff}
body[data-page="panel"] .aa-hello p{display:flex;align-items:center;gap:calc(6*var(--u));margin-top:calc(2*var(--u));font-size:calc(12.5*var(--u));line-height:1.3;color:#fff}
body[data-page="panel"] .aa-wave{flex:none;width:calc(18*var(--u));height:calc(8*var(--u));color:#5fd6ff}
/* Tarjetas de vidrio sobre la foto borrosa. */
body[data-page="panel"] .aa-body{position:relative;z-index:1;display:grid;gap:calc(8*var(--u));padding:0 calc(14*var(--u))}
body[data-page="panel"] .aa-card{position:relative;display:flex;flex-direction:column;gap:calc(8*var(--u));min-width:0;padding:calc(11*var(--u)) calc(11*var(--u)) calc(12*var(--u));border:1px solid rgba(255,255,255,.85);border-radius:calc(16*var(--u));background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 calc(6*var(--u)) calc(20*var(--u)) rgba(18,70,150,.14)}
body[data-page="panel"] .aa-hd{display:flex;align-items:center;gap:calc(8*var(--u));min-width:0}
body[data-page="panel"] .aa-hd-ico{flex:none;display:grid;place-items:center;width:calc(26*var(--u));height:calc(26*var(--u))}
body[data-page="panel"] .aa-hd-ico .aa-bi{width:calc(26*var(--u));height:calc(26*var(--u))}
body[data-page="panel"] .aa-hd-ico svg.ah-i{width:calc(24*var(--u));height:calc(24*var(--u));stroke-width:1.9;color:var(--aa-navy)}
body[data-page="panel"] .aa-hd-t{flex:1;min-width:0;line-height:1.2}
body[data-page="panel"] .aa-hd-t h2{font-size:calc(13.5*var(--u));font-weight:800;line-height:1.2;color:var(--aa-navy)}
body[data-page="panel"] .aa-hd-t p{margin-top:calc(1*var(--u));font-size:calc(11.2*var(--u));color:var(--aa-mut)}
body[data-page="panel"] .aa-hd-date{flex:none;display:inline-flex;align-items:center;gap:calc(4*var(--u));margin-left:auto;font-size:calc(11.2*var(--u));color:var(--aa-mut);white-space:nowrap}
body[data-page="panel"] .aa-hd-date svg.ah-i{width:calc(13*var(--u));height:calc(13*var(--u));stroke-width:1.9}
body[data-page="panel"] .aa-circ{position:relative;flex:none;display:grid;place-items:center;width:calc(22*var(--u));height:calc(22*var(--u));margin-left:auto;border:1px solid #dde8f8;border-radius:50%;background:#fff;color:var(--aa-blue);box-shadow:0 calc(1*var(--u)) calc(4*var(--u)) rgba(24,76,150,.08)}
body[data-page="panel"] .aa-circ::after{content:"";position:absolute;width:calc(34*var(--u));height:calc(34*var(--u));border-radius:50%}
body[data-page="panel"] .aa-circ svg.ah-i{width:calc(10*var(--u));height:calc(10*var(--u));stroke-width:3.2}
body[data-page="panel"] .aa-inline{display:inline;padding:0;border:0;background:none;color:var(--aa-blue-ink);font-size:inherit;font-weight:800;text-decoration:underline}
body[data-page="panel"] .aa-note{margin:calc(6*var(--u)) 0 0;font-size:calc(11.2*var(--u));line-height:1.4;color:var(--aa-mut)}
body[data-page="panel"] .aa-note.is-bad{color:var(--aa-bad)}
body[data-page="panel"] .aa-note-in{display:flex;align-items:center;gap:calc(9*var(--u));padding:calc(11*var(--u));border-radius:calc(12*var(--u));background:rgba(232,242,252,.9);font-size:calc(11.5*var(--u));line-height:1.4;color:var(--aa-navy)}
body[data-page="panel"] .aa-note-in svg.ah-i{flex:none;width:calc(20*var(--u));height:calc(20*var(--u));color:var(--aa-blue)}
/* Última visita: antes y después. */
body[data-page="panel"] .aa-last{gap:calc(9*var(--u))}
body[data-page="panel"] .aa-ba{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(6*var(--u))}
body[data-page="panel"] .aa-tile{position:relative;margin:0;height:calc(136*var(--u));overflow:hidden;border-radius:calc(12*var(--u));background:linear-gradient(160deg,#7ec3e6,#3a8fc4)}
body[data-page="panel"] .aa-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
body[data-page="panel"] .aa-tile-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:calc(4*var(--u));color:#fff;font-size:calc(11.2*var(--u))}
body[data-page="panel"] .aa-tile-empty svg.ah-i{width:calc(22*var(--u));height:calc(22*var(--u))}
body[data-page="panel"] .aa-tile figcaption{position:absolute;left:calc(6*var(--u));top:calc(6*var(--u));display:inline-flex;align-items:center;height:calc(23*var(--u));padding:0 calc(12*var(--u));border-radius:calc(12*var(--u));background:rgba(12,20,38,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-size:calc(12*var(--u));font-weight:700;color:#fff}
body[data-page="panel"] .aa-tile.is-after figcaption{background:#1766f2}
body[data-page="panel"] .aa-go{position:absolute;left:50%;top:50%;z-index:2;display:grid;place-items:center;width:calc(30*var(--u));height:calc(30*var(--u));border-radius:50%;background:#fff;color:var(--aa-blue);box-shadow:0 calc(2*var(--u)) calc(8*var(--u)) rgba(10,30,70,.28);transform:translate(-50%,-50%)}
body[data-page="panel"] .aa-go::after{content:"";position:absolute;width:calc(46*var(--u));height:calc(46*var(--u));border-radius:50%}
body[data-page="panel"] .aa-go svg.ah-i{width:calc(12*var(--u));height:calc(12*var(--u));stroke-width:3.2}
body[data-page="panel"] .aa-nophoto{display:flex;align-items:center;gap:calc(8*var(--u));font-size:calc(11.5*var(--u));color:var(--aa-mut)}
body[data-page="panel"] .aa-nophoto svg.ah-i{flex:none;width:calc(18*var(--u));height:calc(18*var(--u));color:var(--aa-blue)}
body[data-page="panel"] .aa-mx{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:calc(6*var(--u))}
body[data-page="panel"] .aa-mx.is-read{padding-top:calc(8*var(--u));border-top:1px solid var(--aa-line)}
body[data-page="panel"] .aa-mx-none{font-size:calc(11.5*var(--u));color:var(--aa-mut)}
body[data-page="panel"] .aa-m{display:flex;align-items:center;gap:calc(6*var(--u));min-width:0}
body[data-page="panel"] .aa-m-ico{flex:none;display:grid;place-items:center;width:calc(22*var(--u));height:calc(22*var(--u));color:var(--aa-navy)}
body[data-page="panel"] .aa-m-ico svg.ah-i{width:calc(20*var(--u));height:calc(20*var(--u));stroke-width:1.9}
body[data-page="panel"] .aa-m-ico .aa-bi{width:calc(21*var(--u));height:calc(21*var(--u))}
body[data-page="panel"] .aa-m>span{display:grid;min-width:0;line-height:1.2}
body[data-page="panel"] .aa-m small{font-size:calc(11.2*var(--u));color:var(--aa-mut)}
body[data-page="panel"] .aa-m b{font-size:calc(13.5*var(--u));font-weight:800;color:var(--aa-navy);white-space:nowrap}
body[data-page="panel"] .aa-m b em.is-ok{color:var(--aa-ok)}
body[data-page="panel"] .aa-m b em.is-bad{color:var(--aa-bad)}
body[data-page="panel"] .aa-m b .aa-arr{font-size:calc(11.5*var(--u));color:var(--aa-mut)}
body[data-page="panel"] .aa-m b .aa-m-when{font-size:calc(11.2*var(--u));font-weight:500;color:var(--aa-mut)}
body[data-page="panel"] .aa-verdict{display:flex;align-items:center;gap:calc(8*var(--u));padding:calc(9*var(--u)) calc(9*var(--u)) calc(9*var(--u)) calc(10*var(--u));border-radius:calc(12*var(--u));background:#e0f5ea}
body[data-page="panel"] .aa-verdict.is-wait{background:#e8edf6}
body[data-page="panel"] .aa-verdict.is-bad{background:#fde8ec}
body[data-page="panel"] .aa-v-ico{flex:none;display:grid;place-items:center;width:calc(28*var(--u));height:calc(28*var(--u))}
body[data-page="panel"] .aa-v-ico .aa-bi{width:calc(28*var(--u));height:calc(28*var(--u))}
body[data-page="panel"] .aa-v-t{flex:1;min-width:0;display:grid;gap:calc(1*var(--u));line-height:1.25}
body[data-page="panel"] .aa-v-t b{font-size:calc(12.5*var(--u));font-weight:800;color:var(--aa-navy)}
body[data-page="panel"] .aa-v-t small{font-size:calc(11.2*var(--u));color:#33447c}
body[data-page="panel"] .aa-v-btn{flex:none;display:inline-flex;align-items:center;gap:calc(6*var(--u));height:calc(32*var(--u));padding:0 calc(12*var(--u));border-radius:calc(10*var(--u));background:linear-gradient(180deg,#14307f,#0b1d5c);box-shadow:0 calc(3*var(--u)) calc(8*var(--u)) rgba(11,29,92,.3);color:#fff;font-size:calc(12.5*var(--u));font-weight:700;white-space:nowrap}
body[data-page="panel"] .aa-v-btn svg.ah-i{width:calc(12*var(--u));height:calc(12*var(--u));stroke-width:2.6}
/* Próxima visita y cuenta del mes. */
body[data-page="panel"] .aa-duo{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:calc(8*var(--u))}
body[data-page="panel"] .aa-next,body[data-page="panel"] .aa-account{padding:calc(11*var(--u)) calc(10*var(--u)) calc(11*var(--u))}
body[data-page="panel"] .aa-when{display:flex;align-items:center;gap:calc(8*var(--u));padding:calc(5*var(--u)) calc(6*var(--u)) calc(5*var(--u)) calc(5*var(--u));border-radius:calc(12*var(--u));background:rgba(228,240,253,.85);color:var(--aa-navy);text-align:left}
body[data-page="panel"] .aa-when-ico{flex:none;display:grid;place-items:center;width:calc(32*var(--u));height:calc(32*var(--u));border-radius:50%;background:#d6e6fc;color:var(--aa-blue)}
body[data-page="panel"] .aa-when-ico svg.ah-i{width:calc(17*var(--u));height:calc(17*var(--u));stroke-width:2}
body[data-page="panel"] .aa-when-t{flex:1;min-width:0;display:grid;line-height:1.22}
body[data-page="panel"] .aa-when-t b{font-size:calc(12.5*var(--u));font-weight:800;color:var(--aa-navy)}
body[data-page="panel"] .aa-when-t small{font-size:calc(11.5*var(--u));color:var(--aa-mut)}
body[data-page="panel"] .aa-when>svg.ah-i{flex:none;width:calc(11*var(--u));height:calc(11*var(--u));stroke-width:3;color:var(--aa-navy)}
body[data-page="panel"] .aa-nonext{padding:calc(6*var(--u)) calc(2*var(--u));font-size:calc(11.5*var(--u));line-height:1.35;color:var(--aa-mut)}
body[data-page="panel"] .aa-b2{display:flex;gap:calc(6*var(--u))}
body[data-page="panel"] .aa-btn2{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:calc(5*var(--u));min-width:0;min-height:calc(34*var(--u));padding:calc(3*var(--u)) calc(4*var(--u));border-radius:calc(11*var(--u));background:#e0ecfb;color:var(--aa-blue-ink);font-size:calc(11.5*var(--u));font-weight:700;line-height:1.15;text-align:center}
body[data-page="panel"] .aa-btn2 svg.ah-i{flex:none;width:calc(15*var(--u));height:calc(15*var(--u));stroke-width:2}
body[data-page="panel"] .aa-tg{display:grid;gap:calc(4*var(--u))}
body[data-page="panel"] .aa-tg li{display:flex;align-items:center;gap:calc(6*var(--u));min-height:calc(28*var(--u))}
body[data-page="panel"] .aa-tg-ico{flex:none;display:grid;place-items:center;width:calc(18*var(--u));height:calc(18*var(--u));color:var(--aa-navy)}
body[data-page="panel"] .aa-tg-ico svg.ah-i{width:calc(16*var(--u));height:calc(16*var(--u));fill:currentColor;stroke-width:1.4}
body[data-page="panel"] .aa-tg-t{flex:1;min-width:0;font-size:calc(11.5*var(--u));line-height:1.2;color:var(--aa-ink)}
body[data-page="panel"] .aa-band{display:flex;align-items:center;gap:calc(7*var(--u));padding:calc(7*var(--u)) calc(8*var(--u));border-radius:calc(12*var(--u));background:#dff4e9}
body[data-page="panel"] .aa-band.is-warn{background:#fff0d3}
body[data-page="panel"] .aa-band.is-bad{background:#fde8ec}
body[data-page="panel"] .aa-band.is-muted{background:#e8edf6}
body[data-page="panel"] .aa-band-ico{flex:none;display:grid;place-items:center;width:calc(26*var(--u));height:calc(26*var(--u))}
body[data-page="panel"] .aa-band-ico .aa-bi{width:calc(26*var(--u));height:calc(26*var(--u))}
body[data-page="panel"] .aa-band>div{display:grid;min-width:0;line-height:1.2}
body[data-page="panel"] .aa-band b{font-size:calc(13.5*var(--u));font-weight:800;color:#0a6b39}
body[data-page="panel"] .aa-band.is-warn b{color:#8a4b00}
body[data-page="panel"] .aa-band.is-bad b{color:var(--aa-bad)}
body[data-page="panel"] .aa-band.is-muted b{color:#34457c}
body[data-page="panel"] .aa-band small{font-size:calc(11.2*var(--u));color:#33447c}
body[data-page="panel"] .aa-ac-amt{display:grid;gap:calc(1*var(--u));line-height:1.2}
body[data-page="panel"] .aa-amount{font-size:calc(25*var(--u));letter-spacing:-.01em;font-weight:800;line-height:1.1;color:var(--aa-navy);white-space:nowrap}
body[data-page="panel"] .aa-amount.is-wrap{white-space:normal;overflow-wrap:anywhere}body[data-page="panel"] .aa-amount.is-text{font-size:calc(15*var(--u));white-space:normal;overflow-wrap:anywhere}
body[data-page="panel"] .aa-ac-amt span,body[data-page="panel"] .aa-ac-amt small{font-size:calc(11.5*var(--u));color:var(--aa-mut)}
body[data-page="panel"] .aa-ac-btn{display:flex;align-items:center;justify-content:center;gap:calc(6*var(--u));min-height:calc(34*var(--u));margin-top:auto;padding:0 calc(10*var(--u));border:1.5px solid #a9c8f2;border-radius:calc(11*var(--u));background:rgba(228,240,253,.7);color:var(--aa-blue-ink);font-size:calc(12.5*var(--u));font-weight:800}
body[data-page="panel"] .aa-ac-btn svg.ah-i{width:calc(13*var(--u));height:calc(13*var(--u));stroke-width:2.4}
/* Estado actual de tu piscina. */
body[data-page="panel"] .aa-state{padding:calc(11*var(--u)) calc(10*var(--u)) calc(10*var(--u))}
body[data-page="panel"] .aa-up{flex:none;display:inline-flex;align-items:center;gap:calc(4*var(--u));max-width:calc(112*var(--u));margin-left:auto;font-size:calc(11.2*var(--u));line-height:1.2;color:var(--aa-mut);text-align:right}
body[data-page="panel"] .aa-up svg.ah-i{flex:none;width:calc(14*var(--u));height:calc(14*var(--u));stroke-width:2}
body[data-page="panel"] .aa-up.is-stale{color:var(--aa-warn);font-weight:700}
body[data-page="panel"] .aa-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(5*var(--u))}
body[data-page="panel"] .aa-pm{display:grid;grid-template-rows:auto auto 1fr auto;gap:calc(2*var(--u));padding:calc(8*var(--u)) calc(6*var(--u)) calc(8*var(--u));border-radius:calc(12*var(--u));background:rgba(222,242,246,.9);min-width:0}
body[data-page="panel"] .aa-pm-ico{display:grid;width:calc(18*var(--u));height:calc(18*var(--u));color:var(--aa-blue)}
body[data-page="panel"] .aa-pm-ico svg.ah-i{width:calc(17*var(--u));height:calc(17*var(--u));stroke-width:2}
body[data-page="panel"] .aa-pm-ico .aa-bi{width:calc(17*var(--u));height:calc(17*var(--u))}
body[data-page="panel"] .aa-pm-l{font-size:calc(11.2*var(--u));line-height:1.2;color:var(--aa-mut)}
body[data-page="panel"] .aa-pm-v{display:flex;align-items:center;min-height:calc(30*var(--u));font-size:calc(21*var(--u));font-weight:800;line-height:1.1;color:var(--aa-navy)}
body[data-page="panel"] .aa-pm-v small{margin-left:calc(2*var(--u));font-size:calc(11.2*var(--u));font-weight:600;color:var(--aa-mut)}
body[data-page="panel"] .aa-swatch{display:block;width:100%;height:calc(24*var(--u));border-radius:calc(8*var(--u))}
body[data-page="panel"] .aa-swatch.is-clara{background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.55) 0 calc(3*var(--u)),transparent calc(4*var(--u))),radial-gradient(circle at 70% 60%,rgba(255,255,255,.45) 0 calc(3*var(--u)),transparent calc(4*var(--u))),linear-gradient(135deg,#5fd3ee,#1d9ae6 55%,#6fdcf2)}
body[data-page="panel"] .aa-swatch.is-turbia{background:linear-gradient(135deg,#bcc6b4,#98a48e)}
body[data-page="panel"] .aa-swatch.is-verde{background:linear-gradient(135deg,#76c35a,#3e8f3a)}
body[data-page="panel"] .aa-swatch.is-none{background:repeating-linear-gradient(135deg,#dfe6f2 0 calc(4*var(--u)),#eef2f9 calc(4*var(--u)) calc(8*var(--u)))}
body[data-page="panel"] .aa-pill{display:inline-flex;align-items:center;justify-content:center;min-height:calc(23*var(--u));padding:0 calc(6*var(--u));border-radius:99px;background:#d3f1e2;color:#0a6334;font-size:calc(11.2*var(--u));font-weight:700;line-height:1.1;white-space:nowrap}
body[data-page="panel"] .aa-pill.is-bad{background:#ffdde3;color:#a8102a}
body[data-page="panel"] .aa-pill.is-wait,body[data-page="panel"] .aa-pill.is-none{background:#e3e8f2;color:#3b4a80}
body[data-page="panel"] .aa-measure{display:flex;align-items:center;justify-content:center;gap:calc(8*var(--u));min-height:calc(34*var(--u));padding:0 calc(14*var(--u));border-radius:calc(11*var(--u));background:#e0ecfb;color:var(--aa-blue-ink);font-size:calc(12.5*var(--u));font-weight:800}
body[data-page="panel"] .aa-measure .aa-bi{width:calc(17*var(--u));height:calc(17*var(--u))}
body[data-page="panel"] .aa-measure svg.ah-i{width:calc(10*var(--u));height:calc(10*var(--u));stroke-width:3.2}
body[data-page="panel"] .aa-flags{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:calc(6*var(--u))}
body[data-page="panel"] .aa-flag{display:flex;align-items:flex-start;gap:calc(7*var(--u));min-width:0;padding:calc(9*var(--u)) calc(8*var(--u));border-radius:calc(12*var(--u));background:rgba(228,241,250,.9);color:var(--aa-navy);text-align:left}
body[data-page="panel"] .aa-flag-ico{flex:none;display:grid;place-items:center;width:calc(26*var(--u));height:calc(26*var(--u))}
body[data-page="panel"] .aa-flag-ico .aa-bi{width:calc(26*var(--u));height:calc(26*var(--u))}
body[data-page="panel"] .aa-flag-t{flex:1;min-width:0;display:grid;gap:calc(2*var(--u));line-height:1.25}
body[data-page="panel"] .aa-flag-t b{font-size:calc(12.5*var(--u));font-weight:800;color:var(--aa-navy)}
body[data-page="panel"] .aa-flag-t small{font-size:calc(11.2*var(--u));color:var(--aa-mut)}
body[data-page="panel"] .aa-flag>svg.ah-i{flex:none;align-self:center;width:calc(11*var(--u));height:calc(11*var(--u));stroke-width:3;color:var(--aa-navy)}
body[data-page="panel"] .aa-flag.is-bad{background:rgba(253,232,236,.95)}
body[data-page="panel"] .aa-news-live[hidden]{display:none}
body[data-page="panel"] .aa-news-t[data-aa-weather-items]:not([data-aa-weather-items="0"]) .aa-news-static{display:none}
body[data-page="panel"] .aa-news-live,body[data-page="panel"] .aa-news-static{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
/* Gastos de equipos y solicitudes al piscinero. */
body[data-page="panel"] .aa-pair{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:calc(8*var(--u))}
body[data-page="panel"] .aa-expenses,body[data-page="panel"] .aa-requests{padding:calc(10*var(--u)) calc(9*var(--u)) calc(11*var(--u))}
body[data-page="panel"] .aa-expenses .aa-hd,body[data-page="panel"] .aa-requests .aa-hd{gap:calc(6*var(--u))}
body[data-page="panel"] .aa-expenses .aa-hd-ico,body[data-page="panel"] .aa-requests .aa-hd-ico,body[data-page="panel"] .aa-expenses .aa-hd-ico .aa-bi,body[data-page="panel"] .aa-requests .aa-hd-ico .aa-bi{width:calc(22*var(--u));height:calc(22*var(--u))}
body[data-page="panel"] .aa-expenses .aa-hd-t h2,body[data-page="panel"] .aa-requests .aa-hd-t h2{font-size:calc(12.5*var(--u))}
body[data-page="panel"] .aa-ex-lbl{margin-top:calc(-2*var(--u));font-size:calc(11.2*var(--u));color:var(--aa-mut)}
body[data-page="panel"] .aa-ex-total{margin-top:calc(-6*var(--u));font-size:calc(22*var(--u));font-weight:800;line-height:1.15;color:var(--aa-navy);white-space:nowrap}
body[data-page="panel"] .aa-ex-list{display:grid;gap:calc(3*var(--u))}
body[data-page="panel"] .aa-ex-list li{display:flex;align-items:baseline;justify-content:space-between;gap:calc(6*var(--u));min-width:0}
body[data-page="panel"] .aa-ex-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(11.2*var(--u));color:var(--aa-blue-ink)}
body[data-page="panel"] .aa-ex-list b{flex:none;font-size:calc(11.8*var(--u));font-weight:800;color:var(--aa-navy);white-space:nowrap}
body[data-page="panel"] .aa-ex-none{font-size:calc(11.5*var(--u));line-height:1.4;color:var(--aa-mut)}
body[data-page="panel"] .aa-rq{display:grid;gap:calc(5*var(--u))}
body[data-page="panel"] .aa-req{display:flex;align-items:center;justify-content:center;gap:calc(7*var(--u));min-width:0;min-height:calc(34*var(--u));padding:0 calc(6*var(--u));border-radius:calc(12*var(--u));background:#dfeafa;color:var(--aa-navy)}
body[data-page="panel"] .aa-req.is-warn{background:#ffe9cc}
body[data-page="panel"] .aa-req .aa-bi{width:calc(17*var(--u));height:calc(17*var(--u))}
body[data-page="panel"] .aa-req b{min-width:0;font-size:calc(12*var(--u));font-weight:800;line-height:1.15;color:var(--aa-blue-ink)}
body[data-page="panel"] .aa-req.is-warn b{color:#8a4b00}
/* Problemas encontrados. */
body[data-page="panel"] .aa-found{gap:calc(8*var(--u))}
body[data-page="panel"] .aa-found-none{display:flex;align-items:center;gap:calc(8*var(--u));font-size:calc(11.5*var(--u));line-height:1.35;color:var(--aa-mut)}
body[data-page="panel"] .aa-found-none .aa-bi{width:calc(22*var(--u));height:calc(22*var(--u))}
body[data-page="panel"] .aa-fi-list{display:grid;gap:calc(6*var(--u))}
body[data-page="panel"] .aa-fi{display:flex;align-items:center;gap:calc(10*var(--u));padding:calc(7*var(--u));border-radius:calc(12*var(--u));background:rgba(255,246,228,.9);color:var(--aa-navy);text-align:left}
body[data-page="panel"] .aa-fi-img{flex:none;display:grid;place-items:center;width:calc(54*var(--u));height:calc(54*var(--u));overflow:hidden;border-radius:calc(10*var(--u));background:#ffe9c4}
body[data-page="panel"] .aa-fi-img img{width:100%;height:100%;object-fit:cover;display:block}
body[data-page="panel"] .aa-fi-img .aa-bi{width:calc(28*var(--u));height:calc(28*var(--u))}
body[data-page="panel"] .aa-fi-t{flex:1;min-width:0;display:grid;gap:calc(2*var(--u));line-height:1.25}
body[data-page="panel"] .aa-fi-t b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:calc(12.5*var(--u));font-weight:800;color:var(--aa-navy)}
body[data-page="panel"] .aa-fi-t small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:calc(11.2*var(--u));color:var(--aa-mut)}
body[data-page="panel"] .aa-more-link{align-self:flex-start;font-size:calc(11.5*var(--u))}
/* Interruptores (en Próxima visita y dentro del panel «Más»). */
body[data-page="panel"] .aa-sw-ico{display:grid;place-items:center;width:calc(22*var(--u));height:calc(22*var(--u));border-radius:calc(7*var(--u))}
body[data-page="panel"] .aa-sw-ico .aa-bi{width:calc(15*var(--u));height:calc(15*var(--u))}
body[data-page="panel"] .aa-sw-ico svg.ah-i{width:calc(13*var(--u));height:calc(13*var(--u));stroke-width:2.6}
body[data-page="panel"] .aa-sw-ico.is-green{background:#dcf4e8;color:#14b05f}
body[data-page="panel"] .aa-sw-ico.is-blue{background:#dce8ff}
body[data-page="panel"] .aa-sw-ico.is-red{background:#ffe0e5}
body[data-page="panel"] .aa-sw-text{min-width:0;font-size:calc(11.5*var(--u));font-weight:600;line-height:1.25;color:var(--aa-navy)}
body[data-page="panel"] .aa-switch{position:relative;flex:none;width:calc(36*var(--u));height:calc(21*var(--u));padding:0;border-radius:99px;background:#aebbd3;transition:background .15s}
body[data-page="panel"] .aa-switch::after{content:"";position:absolute;inset:-8px -4px}
body[data-page="panel"] .aa-switch i{position:absolute;top:calc(2*var(--u));left:calc(2*var(--u));width:calc(17*var(--u));height:calc(17*var(--u));border-radius:50%;background:#fff;box-shadow:0 calc(1*var(--u)) calc(3*var(--u)) rgba(10,30,70,.3);transition:transform .15s}
body[data-page="panel"] .aa-switch.is-on{background:#0b63f0}
body[data-page="panel"] .aa-switch.is-on i{transform:translateX(calc(15*var(--u)))}
body[data-page="panel"] .aa-switch.is-wait{opacity:.55}
/* Barra inferior (azul marino). */
body[data-page="panel"] .aa-nav{--u:max(.84px,min(1.3px,calc(100vw/430)));position:fixed;left:0;right:0;bottom:0;z-index:50;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;padding:calc(7*var(--u)) calc(6*var(--u)) calc(calc(7*var(--u)) + env(safe-area-inset-bottom,0px));border-radius:calc(20*var(--u)) calc(20*var(--u)) 0 0;background:linear-gradient(180deg,#0d2a6e,#06173f);box-shadow:0 calc(-6*var(--u)) calc(24*var(--u)) rgba(5,20,70,.35)}
body[data-page="panel"] .aa-nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:calc(3*var(--u));min-height:calc(50*var(--u));padding:calc(2*var(--u)) 0;color:#c4d3f5;font-size:calc(11.2*var(--u));font-weight:600;line-height:1.1}
body[data-page="panel"] .aa-nav-ico{position:relative;display:grid;place-items:center;width:calc(42*var(--u));height:calc(32*var(--u));border-radius:calc(12*var(--u))}
body[data-page="panel"] .aa-nav-item svg.ah-i{width:calc(23*var(--u));height:calc(23*var(--u));stroke-width:1.9}
body[data-page="panel"] .aa-nav-item svg.ah-i.is-dots{stroke-width:3.4}
body[data-page="panel"] .aa-nav-item.is-active{color:#fff;font-weight:800}
body[data-page="panel"] .aa-nav-item.is-active .aa-nav-ico{background:linear-gradient(160deg,#2f8bff,#0b57e6);box-shadow:0 0 calc(14*var(--u)) rgba(47,139,255,.55)}
body[data-page="panel"] .aa-nav-item.is-active svg.ah-i{fill:currentColor;stroke:currentColor;stroke-width:1.2}
body[data-page="panel"] .aa-nav-item.is-active svg.ah-i.is-dots{fill:none;stroke-width:3.4}
body[data-page="panel"] .aa-unread{position:absolute;top:calc(1*var(--u));left:calc(50% + calc(8*var(--u)));width:calc(8*var(--u));height:calc(8*var(--u));border:1.5px solid #0a2160;border-radius:50%;background:#ff3d5a}
/* Panel «Más»: secciones, «Contactar» al piscinero, notificaciones y la confirmación de «No aplicar químicos». */
body[data-page="panel"] .aa-sheet{--u:max(.84px,min(1.3px,calc(100vw/430)));position:fixed;inset:0;z-index:60;align-items:flex-end}
body[data-page="panel"] .aa-sheet-bg{position:absolute;inset:0;border:0;background:rgba(11,27,61,.45)}
body[data-page="panel"] .aa-sheet-panel{position:relative;display:grid;gap:6px;width:100%;max-height:82vh;overflow-y:auto;padding:16px 14px calc(18px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;background:#fff;box-shadow:0 -10px 40px rgba(11,27,61,.25)}
body[data-page="panel"] .aa-sheet-panel h2{padding:0 2px 6px;font-size:17px;font-weight:800;color:var(--aa-navy)}
body[data-page="panel"] .aa-sheet-panel h3{padding:8px 2px 2px;font-size:13px;font-weight:800;color:var(--aa-navy)}
body[data-page="panel"] .aa-sheet-p{padding:0 2px 4px;font-size:14px;line-height:1.5;color:var(--aa-ink)}
body[data-page="panel"] .aa-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
body[data-page="panel"] .aa-sheet-actions .aa-sheet-btn{justify-content:center;height:44px}
body[data-page="panel"] .aa-sheet-btn.is-ghost{background:#e3eefb;color:var(--aa-blue)}
body[data-page="panel"] .aa-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body[data-page="panel"] .aa-more button,body[data-page="panel"] .aa-more-foot button{display:grid;justify-items:center;gap:5px;padding:12px 4px;border:1px solid var(--aa-line);border-radius:14px;background:#eaf3fe;color:var(--aa-navy);font-size:12px;font-weight:700;line-height:1.2;text-align:center}
body[data-page="panel"] .aa-more svg.ah-i{width:22px;height:22px;color:var(--aa-blue)}
body[data-page="panel"] .aa-sheet-pro{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--aa-line);border-radius:14px;background:#f3f8fe}
body[data-page="panel"] .aa-sheet-pro-ico{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#dce9fb;color:var(--aa-blue)}
body[data-page="panel"] .aa-sheet-pro-ico svg.ah-i{width:18px;height:18px;fill:currentColor;stroke:none}
body[data-page="panel"] .aa-sheet-pro b{flex:1;min-width:0;font-size:13px;font-weight:700;color:var(--aa-navy)}
body[data-page="panel"] .aa-sheet-btn{flex:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:99px;background:linear-gradient(180deg,#1a74ee,#0a56e0);color:#fff;font-size:13px;font-weight:700}
body[data-page="panel"] .aa-sheet-btn svg.ah-i{width:10px;height:10px;stroke-width:3.4}
body[data-page="panel"] .aa-sheet-btn:disabled{opacity:.6}
body[data-page="panel"] .aa-sheet-sw{display:grid;gap:6px}
body[data-page="panel"] .aa-sheet-sw li{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 12px;border:1px solid var(--aa-line);border-radius:14px;background:#f3f8fe}
body[data-page="panel"] .aa-sheet-sw .aa-sw-ico{flex:none;width:30px;height:30px;border-radius:9px}
body[data-page="panel"] .aa-sheet-sw .aa-sw-ico .aa-bi{width:20px;height:20px}
body[data-page="panel"] .aa-sheet-sw .aa-sw-ico svg.ah-i{width:16px;height:16px}
body[data-page="panel"] .aa-sheet-sw .aa-sw-text{flex:1;font-size:13px}
body[data-page="panel"] .aa-sheet-sw .aa-switch{width:42px;height:24px}
body[data-page="panel"] .aa-sheet-sw .aa-switch i{top:2px;left:2px;width:20px;height:20px}
body[data-page="panel"] .aa-sheet-sw .aa-switch.is-on i{transform:translateX(18px)}
body[data-page="panel"] .aa-sheet-panel .aa-note{margin:2px 2px 0;font-size:12px}
body[data-page="panel"] .aa-more-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}
body[data-page="panel"] .aa-more-foot button{background:#fff;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:8px;padding:11px 6px}
body[data-page="panel"] .aa-more-foot svg.ah-i{width:18px;height:18px;color:var(--aa-mut)}
body[data-page="panel"].aa-sheet-open{overflow:hidden}
/* Pantallas muy angostas (menos de 350 px): las columnas se apilan para que el texto no se corte. */
@container (max-width:349px){
body[data-page="panel"] .aa-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-page="panel"] .aa-duo,body[data-page="panel"] .aa-pair,body[data-page="panel"] .aa-flags{grid-template-columns:minmax(0,1fr)}
body[data-page="panel"] .aa-mx{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-page="panel"] .aa-verdict{flex-wrap:wrap}
body[data-page="panel"] .aa-v-btn{width:100%;justify-content:center}
}
@media(max-width:760px){
body[data-page="panel"] .portal-shell.cp2-shell.is-app-home .tph-home{display:none}
body[data-page="panel"] .portal-shell.cp2-shell.is-app-home .aa-app{display:block}
body[data-page="panel"] .portal-shell.cp2-shell.is-app-home .cp2-top,body[data-page="panel"] .portal-shell.cp2-shell.is-app-home .cp2-page-head,body[data-page="panel"] .portal-shell.cp2-shell.is-app-home .cp-foot{display:none}
body[data-page="panel"] .portal-shell.cp2-shell.is-app-home .cp2-main{padding:0;background:var(--aa-bg)}
body[data-page="panel"] .portal-shell.cp2-shell.is-assigned-app{background:var(--aa-bg)}
body[data-page="panel"] .portal-shell.cp2-shell.is-assigned-app .cp2-main{padding-bottom:96px}
body[data-page="panel"] .portal-shell.cp2-shell.is-assigned-app .cp-foot{padding-bottom:88px}
body[data-page="panel"] .portal-shell.cp2-shell.is-assigned-app .aa-nav{display:grid}
body[data-page="panel"] .portal-shell.cp2-shell.is-assigned-app .aa-sheet:not([hidden]){display:flex}
}
@media(prefers-reduced-motion:reduce){
body[data-page="panel"] .aa-switch,body[data-page="panel"] .aa-switch i{transition:none}
}
