:root{
  --pink:#ff1493; --pink-d:#d40c7a; --pink-l:#ffe1f1;
  --teal:#0bbcd4; --teal-d:#067f93; --teal-l:#dcf7fb;
  --yellow:#ffd21f; --yellow-l:#fff6cc;
  --lime:#c8ff00; --ink:#1d2a3a; --muted:#5d6b7a;
  --sand:#fffaf0; --white:#fff;
  --r:22px; --shadow:0 14px 40px rgba(29,42,58,.10);
  --head:'Fredoka',system-ui,sans-serif; --body:'Nunito',system-ui,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font:16px/1.6 var(--body);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3{font-family:var(--head);line-height:1.1;margin:0 0 .5em;font-weight:700}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;z-index:100}
.skip:focus{left:8px}

/* Header */
.top{position:sticky;top:0;z-index:40;height:76px;display:flex;align-items:center;gap:18px;padding:0 clamp(14px,4vw,56px);background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 18px rgba(29,42,58,.07)}
.brand img{height:60px;width:auto}
.nav{display:flex;gap:clamp(10px,2vw,26px);margin-left:auto;font-weight:800;font-size:14px}
.nav a{padding:6px 2px;border-bottom:3px solid transparent;transition:border-color .2s,color .2s}
.nav a:hover,.nav a.on{color:var(--pink);border-color:var(--lime)}
.burger{display:none;margin-left:auto;width:46px;height:46px;border:0;border-radius:14px;background:var(--pink-l);flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{width:22px;height:3px;border-radius:3px;background:var(--pink);transition:transform .25s,opacity .25s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:14px 24px;font-weight:800;font-size:15px;transition:transform .15s,box-shadow .15s,background .15s;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn.sm{padding:10px 18px;font-size:14px}
.btn.full{width:100%}
.pink{background:var(--pink);color:#fff;box-shadow:0 8px 22px rgba(255,20,147,.32)}
.pink:hover{background:var(--pink-d)}
.teal{background:var(--teal-d);color:#fff}
.green{background:#1fae5b;color:#fff;box-shadow:0 8px 22px rgba(31,174,91,.28)}
.outline{background:#fff;color:var(--pink);box-shadow:inset 0 0 0 2px var(--pink)}
.outline-dark{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.icon-btn{width:42px;height:42px;border:0;border-radius:12px;background:var(--teal-l);color:var(--teal-d);font-size:26px;line-height:1}

/* Tags & headings */
.tag{display:inline-block;font-family:var(--head);font-weight:600;font-size:13px;letter-spacing:.6px;text-transform:uppercase;padding:6px 14px;border-radius:999px;background:var(--pink-l);color:var(--pink-d);margin-bottom:14px}
.tag.teal{background:var(--teal-l);color:var(--teal-d)}
.tag.pinkt{background:var(--pink-l);color:var(--pink-d)}
.tag.yellow{background:var(--yellow-l);color:#8a6400}
.hl{color:var(--pink);background:linear-gradient(transparent 62%,rgba(200,255,0,.75) 62%);padding:0 .08em;border-radius:4px}
h2{font-size:clamp(32px,4.4vw,52px)}
.head{max-width:720px;margin-bottom:34px}
.head.center{text-align:center;margin-inline:auto}
.head p{color:var(--muted);font-size:17px}

/* Hero */
.hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(28px,5vw,70px) clamp(18px,6vw,100px) clamp(70px,8vw,110px);background:
  radial-gradient(circle at 10% 15%,rgba(255,210,31,.35),transparent 35%),
  radial-gradient(circle at 90% 85%,rgba(11,188,212,.25),transparent 40%),
  linear-gradient(180deg,#fff 0%,#fff4fa 100%);overflow:hidden}
.hero h1{font-size:clamp(40px,5.6vw,74px);letter-spacing:-.5px}
.hero-copy p{font-size:clamp(17px,1.6vw,20px);color:var(--muted);max-width:540px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 22px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.chips li{background:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px;box-shadow:0 4px 14px rgba(29,42,58,.08)}
.hero-media{margin:0;position:relative;justify-self:center;width:min(100%,520px)}
.hero-media img{width:100%;height:auto;aspect-ratio:1086/1448;object-fit:cover;border-radius:32px;border:8px solid #fff;box-shadow:0 30px 70px rgba(255,20,147,.22),0 0 0 3px var(--lime)}
.hero-media figcaption{position:absolute;bottom:18px;right:18px;background:rgba(29,42,58,.72);color:#fff;font-size:11px;padding:4px 10px;border-radius:999px}
.wave{position:absolute;left:0;right:0;bottom:-1px;height:60px;background:#fff;clip-path:polygon(0 60%,8% 45%,18% 55%,30% 35%,42% 55%,55% 40%,68% 58%,80% 38%,92% 55%,100% 42%,100% 100%,0 100%)}

/* Sections */
.section{padding:clamp(60px,8vw,100px) clamp(18px,6vw,100px)}
.sky{background:linear-gradient(180deg,var(--teal-l),#f3fdff)}
.sand{background:var(--sand)}
.events{background:linear-gradient(160deg,#ff1493 0%,#ff4fb0 45%,#ff7cc6 100%);color:#fff}
.events .head p{color:#ffe6f4}
.events .hl{color:#fff;background:linear-gradient(transparent 62%,rgba(200,255,0,.55) 62%)}
.events .tag.yellow{background:var(--yellow);color:#5c4300}
.two{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.card{background:#fff;color:var(--ink);border-radius:var(--r);padding:clamp(20px,3vw,32px);box-shadow:var(--shadow)}
.card h3{font-size:24px}
.muted{color:var(--muted)}
.tiny{font-size:12.5px;color:var(--muted);line-height:1.5;margin:12px 0 0}

/* Facilities */
.facilities{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fac{position:relative;text-align:left;border:0;padding:0;border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.fac:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(29,42,58,.16)}
.fac img{width:100%;height:210px;object-fit:cover}
.fac .body{padding:18px 20px 22px}
.fac .ico{position:absolute;top:14px;left:14px;width:48px;height:48px;border-radius:16px;background:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 6px 16px rgba(0,0,0,.15)}
.fac h3{font-size:22px;margin-bottom:6px}
.fac p{color:var(--muted);font-size:15px;margin:0 0 10px}
.fac .more{font-weight:800;color:var(--pink);font-size:14px}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px}
.gallery button{border:0;padding:0;border-radius:18px;overflow:hidden;position:relative;background:#cdeef3}
.gallery button:first-child{grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery button:hover img{transform:scale(1.05)}
.gallery span{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92);font-weight:800;font-size:13px;padding:5px 11px;border-radius:999px}

.filters{display:flex;flex-wrap:wrap;gap:8px;margin:-14px 0 22px}
.filters button{border:0;padding:9px 16px;border-radius:999px;background:#fff;font-weight:800;font-size:14px;box-shadow:0 4px 12px rgba(29,42,58,.08)}
.filters button[aria-pressed=true]{background:var(--teal-d);color:#fff}
/* Events */
.highlights{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hcard{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);border-radius:20px;overflow:hidden}
.hcard img{width:100%;height:150px;object-fit:cover}
.hcard .t{padding:14px 18px 18px}
.hcard b{display:block;font-family:var(--head);font-size:20px;margin:6px 0 4px}
.hcard p{margin:0;font-size:14.5px;color:#fff0f8}
.hcard .e{font-size:30px}

/* Forms */
.form label{display:block;font-size:13.5px;font-weight:800;margin:12px 0}
.form input:not([type=checkbox]),.form select,.form textarea{width:100%;margin-top:6px;padding:13px 14px;border:1.5px solid #e1e6ee;border-radius:14px;background:#fff;transition:border-color .15s}
.form input:focus,.form select,.form textarea:focus{border-color:var(--teal)}
.form input[readonly]{background:#f6f8fb}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
fieldset{border:1.5px solid #e1e6ee;border-radius:14px;padding:8px 14px 12px;margin:14px 0}
legend{font-size:13.5px;font-weight:800;padding:0 6px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}
.check{display:flex!important;align-items:flex-start;gap:9px;font-weight:600!important;margin:8px 0!important}
.check input{accent-color:var(--pink);width:18px;height:18px;margin-top:3px;flex:none}
.invalid{border-color:#e5484d!important;background:#fff6f6!important}
.field{margin:12px 0}
.flabel{display:block;font-size:13.5px;font-weight:800}
.datebtn{width:100%;margin-top:6px;padding:13px 14px;border:1.5px solid #e1e6ee;border-radius:14px;background:#fff;display:flex;justify-content:space-between;align-items:center;font-weight:700;text-align:left}
.datebtn[aria-expanded=true]{border-color:var(--teal)}
.datebtn.invalid{border-color:#e5484d;background:#fff6f6}
.minical{border:1.5px solid #e1e6ee;border-radius:16px;padding:14px;margin:4px 0 12px;background:#fbfdff}
.minical .cal-head{margin-bottom:10px}
.minical .cal-head strong{font-size:18px}
.minical .calendar button{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #e8edf2}
.minical .calendar button:disabled{background:#f1f3f6;color:#b6bec8;box-shadow:none}
.minical .calendar button.booked{background:#ffe0e6;color:#c0304c}
.minical .calendar button.selected{background:var(--pink);color:#fff;box-shadow:none}
.narrow{max-width:640px;margin:30px auto 0}

/* Calendar */
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.cal-head strong{font-family:var(--head);font-size:22px}
.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.weekdays{font-size:12px;font-weight:800;color:var(--muted);margin-bottom:8px}
.calendar button{aspect-ratio:1;border:0;border-radius:12px;background:#f1f3f6;color:#9aa5b1;font-weight:800;min-width:0;transition:transform .12s}
.calendar button:not(:disabled):hover{transform:scale(1.07)}
.calendar button.available{background:#dcf7e6;color:#13804a}
.calendar button.special{background:var(--yellow-l);color:#8a6400}
.calendar button.booked{background:#ffe0e6;color:#c0304c;text-decoration:line-through}
.calendar button.today{box-shadow:inset 0 0 0 2px var(--teal)}
.calendar button.selected{background:var(--pink);color:#fff;transform:scale(1.07)}
.calendar button:disabled{cursor:not-allowed}
.legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:18px;font-size:12.5px;font-weight:700;color:var(--muted)}
.dot{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px}
.dot.ok{background:#8fe0b0}.dot.sp{background:var(--yellow)}.dot.bk{background:#ff9fb2}.dot.cl{background:#dfe3e8}
.prices{margin-top:18px;padding-top:16px;border-top:1px dashed #e1e6ee;display:grid;gap:6px;font-size:14px}
.prices div{display:flex;justify-content:space-between;gap:10px}
.prices b{white-space:nowrap}
.prices h4{font-family:var(--head);font-size:19px;margin:0 0 2px}
.ptable{width:100%;border-collapse:separate;border-spacing:0;border-radius:14px;overflow:hidden;font-size:14.5px;margin:4px 0 10px}
.ptable th{background:var(--pink);color:#fff;text-align:left;padding:9px 12px;font-weight:800}
.ptable th:last-child,.ptable td:last-child{text-align:right;white-space:nowrap}
.ptable th:last-child{background:#9b6fd6}
.ptable td{padding:8px 12px;background:var(--pink-l);border-top:2px solid #fff;font-weight:700}
.ptable tr:nth-child(even) td{background:#fff0f7}
.ptable tr.on td{background:var(--lime);color:var(--ink)}
.inc-t{font-family:var(--head);font-weight:700;color:var(--pink);margin:6px 0 6px}
.incluye{list-style:none;padding:0;margin:0 0 6px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.incluye li{background:var(--teal-l);border-radius:12px;padding:8px;font-size:12.5px;font-weight:700;text-align:center;line-height:1.3}
.incluye li span{display:block;font-size:22px;margin-bottom:2px}
.policies{margin-top:16px;padding:14px 16px;border-radius:14px;background:var(--teal-l)}
.policies h4{font-family:var(--head);font-size:16px;margin:0 0 6px;color:var(--teal-d)}
.policies ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px;font-weight:700}
.policies li{display:flex;gap:8px}
.estimate{background:var(--yellow-l);border-radius:12px;padding:10px 12px;font-size:14px;margin:4px 0 12px}
.pend{color:#8a6400;background:var(--yellow-l);padding:1px 8px;border-radius:999px;font-weight:700;font-size:12.5px}

/* Wall */
.wall{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.memory{background:#fff;padding:12px 12px 20px;box-shadow:0 12px 28px rgba(29,42,58,.12);transform:rotate(-1.2deg);border-radius:6px}
.memory:nth-child(even){transform:rotate(1.4deg)}
.memory .ph{height:170px;display:grid;place-items:center;font-size:54px;background:linear-gradient(135deg,var(--teal-l),var(--pink-l));border-radius:4px}
.memory img{width:100%;height:170px;object-fit:cover}
.memory h3{font-size:18px;margin:12px 4px 4px}
.memory p{font-size:14.5px;margin:0 4px;color:var(--muted)}
.empty{grid-column:1/-1;text-align:center}

/* Contact */
.contact{background:linear-gradient(180deg,#fff,var(--yellow-l))}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:960px;margin:0 auto}
.info{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}
.info li{display:flex;gap:10px;align-items:baseline}
.info li span:first-child{width:24px;flex:none}
.map-art{height:120px;border-radius:16px;margin-bottom:16px;display:grid;place-items:center;font-size:44px;background:
  repeating-linear-gradient(45deg,rgba(11,188,212,.12) 0 14px,transparent 14px 28px),linear-gradient(135deg,var(--teal-l),#e8ffd0)}

/* Admin */
.admin{background:#f3f6f9;padding-top:40px;padding-bottom:50px}
.admin{min-height:70vh}
.admin-login{max-width:420px;margin:20px auto}
.admin-wrap summary{cursor:pointer;font-family:var(--head);font-weight:600;font-size:18px;padding:14px 18px;background:#fff;border-radius:16px;box-shadow:var(--shadow);list-style:none}
.admin-wrap summary::-webkit-details-marker{display:none}
.admin-wrap[open] summary{margin-bottom:16px}
.warning{background:var(--yellow-l);border-radius:14px;padding:14px 16px;font-size:14px;margin-bottom:14px}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.tabs button{border:0;padding:10px 15px;border-radius:12px;background:#fff;font-weight:800;font-size:14px}
.tabs button.active{background:var(--teal-d);color:#fff}
.adminRow{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0f4}
.adminRow p{margin:4px 0 0}
.mini{border:0;background:var(--teal-l);color:var(--teal-d);padding:8px 12px;border-radius:10px;margin:3px;font-weight:800;font-size:13px}
.mini.danger{background:#ffe3e6;color:#b4233d}
.photoAdmin{display:flex;gap:12px;align-items:center;margin:12px 0}
.photoAdmin img{width:84px;height:84px;object-fit:cover;border-radius:12px;flex:none}
.photoAdmin input{margin-top:6px}
.abrow{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;gap:8px;align-items:center;margin:8px 0}
.abrow input{margin-top:0!important}
.extras{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}
.xrow{display:flex!important;align-items:center;gap:10px;margin:6px 0!important;font-weight:600!important}
.xrow input{max-width:120px;margin-top:0!important}
.autosw{background:var(--teal-l);border-radius:12px;padding:10px 12px;margin:12px 0 0!important}
.autoval{background:#f0fbf4!important;color:#13804a;font-weight:800}
.planed{margin-top:18px;border:1.5px dashed #d5dde6;border-radius:14px;padding:10px 14px}
.planed summary{cursor:pointer;font-weight:800}
.planed h4{font-family:var(--head);margin:14px 0 4px}
.prow{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:8px;align-items:center;margin:6px 0}
.prow input,.prow select{margin-top:0!important;padding:10px!important}
.rsum{background:var(--yellow-l);border-radius:12px;padding:10px 12px;font-size:14px}
.rout{margin-top:20px;text-align:center}
.rout img{max-width:min(100%,420px);margin:0 auto 14px;border-radius:16px;box-shadow:var(--shadow);border:1px solid #eef1f4}
.pendlist{columns:2;gap:24px;padding-left:18px}
.pendlist li{break-inside:avoid;margin-bottom:6px}

/* Footer */
footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:26px clamp(18px,6vw,100px);background:var(--ink);color:#fff;font-size:14px}
footer img{height:56px;width:auto}
footer b{color:var(--lime)}
.fluva{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:#080D15;color:#9fb3c8;padding:18px 20px;font:600 12px/1 Montserrat,var(--body);letter-spacing:2px;text-transform:uppercase}
.fluva img{height:54px;width:auto}
.floating{display:none}

/* Dialogs */
dialog{border:0;padding:0;max-width:none;max-height:none}
dialog::backdrop{background:rgba(20,26,36,.78);backdrop-filter:blur(3px)}
.viewer{background:transparent;width:100vw;height:100vh;height:100dvh;display:none;align-items:center;justify-content:center}
.viewer[open]{display:flex}
.viewer figure{margin:0;max-width:min(92vw,900px);text-align:center}
.viewer img{max-height:80vh;max-height:80dvh;width:auto;margin:auto;border-radius:16px}
.viewer figcaption{color:#fff;font-weight:800;margin-top:10px}
.v-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.95);font-size:18px;z-index:2}
.v-close.dark{background:rgba(29,42,58,.75);color:#fff}
.v-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:30px;line-height:1}
.v-prev{left:14px}.v-next{right:14px}
.sheet{width:min(520px,94vw);border-radius:24px;overflow:hidden;background:#fff;color:var(--ink)}
.sheet img{width:100%;height:240px;object-fit:cover}
.sheet-body{padding:22px 24px 24px}
.sheet dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 18px;font-size:14.5px}
.sheet dt{font-weight:800}
.sheet dd{margin:0;color:var(--muted)}
.sheet.small{width:min(460px,94vw)}
.msg{white-space:pre-wrap;background:#f4f7fa;border-radius:12px;padding:12px;font:13px/1.5 ui-monospace,monospace;max-height:220px;overflow:auto}
.modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.modal-actions .btn{flex:1 1 140px}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font-weight:700;font-size:14px;z-index:90;transition:transform .3s,opacity .3s;opacity:0;pointer-events:none;max-width:90vw;text-align:center}
.toast.show{transform:translate(-50%,0);opacity:1}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .reveal{opacity:1;transform:none}
}

/* Responsive */
@media (max-width:1000px){
  .nav{position:fixed;top:76px;left:0;right:0;flex-direction:column;gap:0;background:#fff;padding:8px 18px 18px;box-shadow:0 16px 30px rgba(0,0,0,.1);transform:translateY(-120%);transition:transform .3s;z-index:-1;font-size:17px}
  .nav.open{transform:none}
  .nav a{padding:14px 4px;border-bottom:1px solid #f0f2f5}
  .burger{display:flex}
  .hide-m{display:none}
  .facilities{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .wall{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .hero{grid-template-columns:1fr;text-align:left}
  .hero-media{order:-1;width:min(100%,430px)}
  .two,.contact-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .top{height:68px}
  .nav{top:68px}
  .brand img{height:50px}
  html{scroll-padding-top:76px}
  .facilities{grid-template-columns:1fr}
  .fac img{height:180px}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px;gap:10px}
  .highlights{grid-template-columns:1fr 1fr}
  .hcard img{height:110px}
  .hcard .t{padding:10px 12px 14px}
  .hcard b{font-size:17px}
  .checks{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr 1fr}
  .wall{grid-template-columns:1fr 1fr;gap:12px}
  .memory .ph,.memory img{height:120px}
  .memory p{font-size:13px}
  .adminRow{flex-direction:column;align-items:flex-start}
  .abrow{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;gap:8px;align-items:center;margin:8px 0}
.abrow input{margin-top:0!important}
.extras{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px}
.xrow{display:flex!important;align-items:center;gap:10px;margin:6px 0!important;font-weight:600!important}
.xrow input{max-width:120px;margin-top:0!important}
.autosw{background:var(--teal-l);border-radius:12px;padding:10px 12px;margin:12px 0 0!important}
.autoval{background:#f0fbf4!important;color:#13804a;font-weight:800}
.planed{margin-top:18px;border:1.5px dashed #d5dde6;border-radius:14px;padding:10px 14px}
.planed summary{cursor:pointer;font-weight:800}
.planed h4{font-family:var(--head);margin:14px 0 4px}
.prow{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:8px;align-items:center;margin:6px 0}
.prow input,.prow select{margin-top:0!important;padding:10px!important}
.rsum{background:var(--yellow-l);border-radius:12px;padding:10px 12px;font-size:14px}
.rout{margin-top:20px;text-align:center}
.rout img{max-width:min(100%,420px);margin:0 auto 14px;border-radius:16px;box-shadow:var(--shadow);border:1px solid #eef1f4}
.pendlist{columns:1}
  .v-nav{top:auto;bottom:18px;transform:none}
  footer{justify-content:center;text-align:center}
  .fluva{padding-bottom:96px}
  .floating{display:block;position:fixed;left:50%;bottom:16px;transform:translateX(-50%);background:var(--pink);color:#fff;padding:14px 32px;border-radius:999px;font-weight:800;box-shadow:0 10px 30px rgba(255,20,147,.45);z-index:30;white-space:nowrap}
}

/* ================= DISEÑO APP CON PESTAÑAS ================= */
:root{--tab-h:72px;--cyan:#12b8e6;--green:#22b45a;--yellow2:#ffc928;--script:'Pacifico',cursive}
body{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}
.view{animation:viewIn .35s ease}
@keyframes viewIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.view-head{height:64px}
.view-head h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.view .section:first-of-type{padding-top:28px}

/* Barra superior */
.appbar{position:fixed;top:0;left:0;right:0;z-index:50;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;padding-top:env(safe-area-inset-top);transition:background .25s,box-shadow .25s}
body:not([data-view=inicio]) .appbar{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 16px rgba(29,42,58,.08)}
.ab-btn{width:44px;height:44px;border:0;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ab-btn svg{width:26px;height:26px}
body:not([data-view=inicio]) .ab-btn{background:var(--pink-l);color:var(--pink)}
.ab-btn.wa{background:#22b45a;color:#fff}
body:not([data-view=inicio]) .ab-btn.wa{background:#22b45a;color:#fff}
.ab-logo img{height:48px;width:auto}
body[data-view=inicio] .ab-logo{visibility:hidden}

/* Menú lateral */
.scrim{position:fixed;inset:0;background:rgba(20,26,36,.5);z-index:60}
.drawer{position:fixed;top:0;bottom:0;left:0;width:min(300px,84vw);background:#fff;z-index:61;padding:18px 14px;display:flex;flex-direction:column;gap:4px;transform:translateX(-105%);transition:transform .3s ease;box-shadow:12px 0 40px rgba(0,0,0,.15);overflow:auto}
.drawer.open{transform:none}
.dr-logo{width:200px;margin:4px auto 14px}
.drawer a{display:flex;align-items:center;gap:14px;padding:13px 12px;border-radius:14px;font-weight:800;font-size:16px}
.drawer a:hover{background:var(--pink-l);color:var(--pink)}
.drawer svg{width:24px;height:24px;color:var(--pink);flex:none}
.dr-ico{width:24px;text-align:center}

/* Portada tipo app */
.hero2{position:relative;margin:0;line-height:0}
.hero-img{width:100%;height:auto;max-height:none;object-fit:cover;object-position:50% 55%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,60,90,.45) 0%,rgba(0,0,0,0) 26%,rgba(0,0,0,0) 70%,rgba(255,255,255,.0) 100%);pointer-events:none}
.tagline{position:absolute;left:0;right:0;top:clamp(70px,12vw,120px);text-align:center;margin:0;line-height:1.05;font-weight:400;pointer-events:none}
.tagline .t1{display:block;font-family:var(--script);color:#fff;font-size:clamp(28px,7.6vw,54px);text-shadow:0 3px 10px rgba(0,0,0,.35);transform:rotate(-5deg)}
.tagline .t2{display:inline-block;font-family:var(--script);color:#fff;font-size:clamp(26px,7vw,50px);background:var(--pink);padding:2px 18px 8px;margin-top:4px;border-radius:10px 4px 12px 6px;transform:rotate(-5deg);box-shadow:0 6px 18px rgba(255,20,147,.35)}
.flower{position:absolute;font-size:clamp(48px,12vw,96px);line-height:1;bottom:clamp(40px,10vw,90px);filter:drop-shadow(0 6px 10px rgba(0,0,0,.25));pointer-events:none}
.flower.f1{left:-10px;transform:rotate(-15deg)}
.flower.f2{right:-6px;transform:rotate(12deg)}
.tiles{position:absolute;left:12px;right:12px;bottom:0;transform:translateY(46%);display:grid;grid-template-columns:repeat(4,1fr);gap:10px;line-height:1.2;z-index:2;max-width:1000px;margin:0 auto}
.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 6px 14px;border-radius:22px;border:3px solid #fff;color:#fff;text-align:center;box-shadow:0 12px 26px rgba(0,0,0,.18);overflow:hidden;transition:transform .15s}
.tile:active{transform:scale(.97)}
.tile:hover{transform:translateY(-3px)}
.tile::after{content:'';position:absolute;right:-18px;bottom:-22px;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.14)}
.tile .ti{width:clamp(34px,9vw,52px);height:clamp(34px,9vw,52px)}
.tile b{font-family:var(--head);font-weight:600;font-size:clamp(11px,3.1vw,20px);white-space:nowrap;letter-spacing:-.2px}
.tile .go{width:26px;height:26px;border-radius:50%;background:#fff;display:grid;place-items:center}
.tile .go svg{width:16px;height:16px}
.home-body{padding:clamp(84px,22vw,130px) 14px 24px;max-width:1040px;margin:0 auto}

/* Carrusel */
.promo{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:22px}
.promo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.promo-track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;min-height:clamp(150px,40vw,260px);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:center;padding:18px 22px 30px;color:#fff}
.slide .s1{font-family:var(--head);font-weight:700;font-size:clamp(26px,7vw,44px);line-height:1}
.slide .s2{font-family:var(--script);color:var(--yellow2);font-size:clamp(22px,6vw,38px);line-height:1.2;margin-bottom:10px}
.smore{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;background:var(--pink);padding:7px 16px;border-radius:999px;font-weight:800;font-size:15px}
.smore svg{width:16px;height:16px}
.promo-next{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;display:grid;place-items:center}
.promo-next svg{width:26px;height:26px}
.dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px}
.dots button{width:8px;height:8px;border-radius:999px;border:0;background:rgba(255,255,255,.55);padding:0;transition:width .2s}
.dots button.on{width:22px;background:var(--pink)}
.h-home{font-size:clamp(20px,5.2vw,28px);color:#102a43;margin:6px 2px 12px}

/* Tira de instalaciones */
.strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 14px;margin:0 -14px 14px;padding-inline:14px;scrollbar-width:none}
.strip::-webkit-scrollbar{display:none}
.scard{position:relative;flex:0 0 clamp(150px,42vw,220px);height:clamp(150px,40vw,200px);border:0;padding:0;border-radius:18px;overflow:hidden;scroll-snap-align:start;background:#cdeef3;box-shadow:0 8px 20px rgba(29,42,58,.12)}
.scard img{width:100%;height:100%;object-fit:cover}
.spill{position:absolute;left:8px;right:8px;bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center;gap:6px;background:#fff;border-radius:999px;padding:7px 8px;font-weight:800;font-size:13px;line-height:1.1;color:var(--ink)}
.spill svg{width:18px;height:18px;color:var(--teal);flex:none}
.homecal{margin-bottom:8px}

/* Barra de pestañas */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:45;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;display:grid;grid-template-columns:repeat(5,1fr);border-radius:22px 22px 0 0;box-shadow:0 -6px 24px rgba(29,42,58,.12)}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:700;color:#5d6b7a}
.tabbar svg{width:26px;height:26px}
.tabbar a.on{color:var(--pink)}
.tabbar a.on svg{transform:translateY(-1px)}
body[data-view=admin] .tabbar{display:none}
body[data-view=admin]{padding-bottom:0}
.fluva{padding-bottom:18px!important}
.floating{display:none!important}

@media (min-width:1000px){
  body{padding-bottom:0}
  .tabbar{top:10px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);height:48px;padding:0 8px;border-radius:999px;display:flex;gap:4px;box-shadow:0 8px 24px rgba(29,42,58,.16);z-index:55}
  .tabbar a{flex-direction:row;gap:8px;padding:0 16px;font-size:14px;border-radius:999px}
  .tabbar a.on{background:var(--pink-l)}
  .tabbar svg{width:20px;height:20px}
  .hero-img{max-height:80vh;height:80vh;object-position:50% 46%}
  .tiles{left:50%;right:auto;width:min(1000px,94vw);transform:translate(-50%,46%)}
  .home-body{padding-top:120px}
  .flower{bottom:110px}
}
@media (max-width:600px){
  .tile{padding:12px 4px 10px;border-radius:18px;gap:6px}
  .tile::after{width:56px;height:56px}
}

/* ===== Barra superior rosada en pestañas internas ===== */
.ab-back,.ab-title{display:none}
.flip{transform:rotate(180deg)}
body:not([data-view=inicio]) .appbar{background:linear-gradient(90deg,#ff1493,#ff3fa6);box-shadow:0 4px 18px rgba(255,20,147,.25);backdrop-filter:none}
body:not([data-view=inicio]) .ab-back{display:grid;background:transparent;color:#fff}
body:not([data-view=inicio]) #burger,body:not([data-view=inicio]) .ab-logo{display:none}
body:not([data-view=inicio]) .ab-title{display:block;position:absolute;left:60px;right:60px;text-align:center;font-family:var(--head);font-weight:700;font-size:24px;color:#fff;pointer-events:none}
body:not([data-view=inicio]) .ab-btn.wa{background:rgba(255,255,255,.2)}
body:not([data-view=inicio]) .ab-btn.wa svg{color:#fff}

/* ===== Reservas por pasos ===== */
#reservas .view-head{height:64px}
.rz-banner{position:relative;height:clamp(190px,52vw,320px);overflow:hidden}
.rz-banner img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.rz-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,0) 60%)}
.rz-tag{position:absolute;left:16px;bottom:44px;z-index:1;margin:0;font-family:var(--script);color:#fff;line-height:1.05;transform:rotate(-6deg);text-shadow:0 3px 10px rgba(0,0,0,.4)}
.rz-tag span{display:block;font-size:clamp(22px,6.4vw,40px)}
.rz-tag span+span{display:inline-block;background:var(--pink);padding:0 12px 6px;border-radius:8px;text-shadow:none;margin-top:2px}
.rz-tag b{color:var(--yellow2);font-size:30px;margin-left:4px}
.rz{position:relative;margin-top:-28px;background:#fff;border-radius:28px 28px 0 0;padding:16px 14px 28px;max-width:900px;margin-inline:auto}
.stepper{list-style:none;margin:0 0 16px;padding:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:#fff;border-radius:20px;box-shadow:0 8px 24px rgba(29,42,58,.1)}
.stepper li{display:flex;align-items:center;gap:6px;padding:6px 4px;border-radius:14px;min-width:0;position:relative}
.stepper li:not(:last-child)::after{content:'›';position:absolute;right:-6px;color:#aab4bf;font-weight:800}
.stepper i{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:14px;background:#8f99a5;color:#fff}
.stepper span{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.stepper b{font-size:13px;font-family:var(--head);font-weight:600}
.stepper small{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stepper li.on{background:var(--pink-l)}
.stepper li.on i{background:var(--pink)}
.stepper li.on b,.stepper li.on small{color:var(--pink)}
.stepper li.done i{background:var(--green);font-size:0}
.stepper li.done i::before{content:'✓';font-size:15px}
.rz-card{background:#fff;border-radius:22px;padding:16px;box-shadow:0 8px 26px rgba(29,42,58,.09);margin-bottom:18px}
.rz-calhead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #eef1f4;flex-wrap:wrap}
.rz-calhead h2,.rz-sechead h2{display:flex;align-items:center;gap:10px;font-size:19px;margin:0;color:#102a43}
.rz-calhead h2 svg,.rz-sechead h2 svg{width:26px;height:26px;color:#102a43;flex:none}
.rz-sechead h2 small{font-family:var(--body);font-weight:600;font-size:14px;color:var(--muted)}
.rz-month{display:flex;align-items:center;gap:6px}
.rz-month strong{font-family:var(--head);font-weight:600;font-size:17px;min-width:120px;text-align:center}
.rz-month button{border:0;background:transparent;width:32px;height:32px;display:grid;place-items:center;color:#102a43}
.rz-month button:disabled{opacity:.25}
.rz-month svg{width:22px;height:22px}
.rz-calgrid{display:grid;grid-template-columns:1fr;gap:12px}
.rz-cal{gap:4px}
.rz-cal button{aspect-ratio:auto;height:38px;background:transparent!important;color:#1d2a3a;font-weight:700;box-shadow:none!important;border-radius:10px;text-decoration:none!important}
.rz-cal button.available{color:#1d2a3a}
.rz-cal button:disabled{color:#c3cad2}
.rz-cal button.booked{color:#c3cad2;background:#f3f5f7!important}
.rz-cal button.today{outline:2px solid var(--teal-l)}
.rz-cal button.selected{background:var(--pink)!important;color:#fff;transform:none;box-shadow:0 6px 14px rgba(255,20,147,.35)!important}
.rz-side{display:flex;flex-direction:column;gap:12px}
.rz-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;font-weight:600}
.lg{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:-1px}
.lg.ok{background:var(--green)}.lg.sel{background:var(--pink)}.lg.no{background:#c3cad2}
.rz-note{display:flex;gap:10px;margin:0;background:var(--pink-l);border-radius:14px;padding:12px;font-size:13px;font-weight:600;line-height:1.4}
.rz-note svg{width:24px;height:24px;color:var(--pink);flex:none}
.rz-chosen{margin:8px 0 0;font-size:14.5px;color:var(--pink-d)}
.rz-chosen:empty{display:none}
.rz-sec{margin-bottom:18px}
.rz-sechead{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px}
.rz-sechead .ico{font-size:24px}
.rz-link{border:0;background:none;color:var(--pink);font-weight:800;font-size:14px;display:flex;align-items:center;gap:2px}
.rz-link svg{width:18px;height:18px}
.acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px}
.act{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 6px;border:2px solid #eef1f4;border-radius:18px;background:#fff;text-align:center;box-shadow:0 4px 14px rgba(29,42,58,.06);transition:border-color .15s,background .15s}
.act .aemo{font-size:32px;line-height:1}
.act .aico{width:36px;height:36px}
.act b{font-family:var(--head);font-weight:600;font-size:15px;color:#102a43}
.act small{font-size:12px;color:var(--muted);line-height:1.3}
.act.on{border-color:var(--pink);background:#fff3f9}
.chips-n{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.chips-n button{height:52px;border:2px solid #eef1f4;border-radius:14px;background:#fff;font-weight:800;font-size:18px;box-shadow:0 4px 12px rgba(29,42,58,.05)}
.chips-n button.on{background:var(--pink);border-color:var(--pink);color:#fff}
.rz-more{display:block;margin-top:10px;font-weight:800;font-size:14px}
.rz-more input{width:100%;margin-top:6px;padding:13px 14px;border:1.5px solid #e1e6ee;border-radius:14px}
.rz-text{width:100%;padding:14px;border:0;background:#f1f4f7;border-radius:16px;resize:vertical}
.rz-next{height:58px;font-size:20px;font-family:var(--head);font-weight:600;margin-top:6px}
.rz-next svg{width:22px;height:22px}
.rz-sum{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;margin:0;font-size:15px}
.rz-sum dt{font-weight:800;color:var(--muted)}
.rz-sum dd{margin:0;font-weight:700}
.rz-h2{font-size:19px;margin:0 0 4px}
.center-t{text-align:center}
#rzStepB .policies{margin:0 0 16px}
@media (min-width:420px){ .rz-calgrid{grid-template-columns:1.7fr 1fr} .rz-legend{flex-direction:column} }
@media (max-width:380px){ .stepper small{display:none} .chips-n{grid-template-columns:repeat(3,1fr)} }
@media (max-width:560px){
  .stepper{padding:8px 4px}
  .stepper li{flex-direction:column;gap:4px;text-align:center;padding:6px 2px}
  .stepper li:not(:last-child)::after{top:12px;right:-5px}
  .stepper span{align-items:center}
  .stepper small{display:none}
  .stepper b{font-size:12.5px}
  .rz-calhead h2,.rz-sechead h2{font-size:17px}
}
.rz-tag{top:18px;bottom:auto}

/* Selector de fecha */
.dpbtn{margin-top:6px}
.abrow .dpbtn{margin-top:0;padding:12px 10px;font-size:14px}
.dp .calendar button{aspect-ratio:auto;height:42px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #e8edf2}
.dp .calendar button.booked{background:#ffe0e6;color:#c0304c;text-decoration:none}
.dp .calendar button.selected{background:var(--pink);color:#fff;box-shadow:none}
.dp .calendar button:disabled{background:#f1f3f6;color:#c3cad2;box-shadow:none}
.dp-leg{margin:10px 0 4px}
.dp .cal-head{margin-bottom:10px}

.recent{margin:4px 0 8px}
.recent-list{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:thin}
.rchip{flex:0 0 auto;min-width:170px;max-width:220px;text-align:left;border:2px solid var(--pink-l);background:#fff7fb;border-radius:16px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.rchip:hover{border-color:var(--pink)}
.rchip b{font-size:14.5px}
.rchip small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===== Íconos ilustrados ===== */
.tile img.ti{width:clamp(46px,13vw,76px);height:auto;border-radius:14px;box-shadow:0 4px 10px rgba(0,0,0,.18);background:#fff}
.tbi{width:30px;height:auto;border-radius:8px;filter:saturate(.55) opacity(.8);transition:filter .2s,transform .2s}
.tabbar a.on .tbi{filter:none;transform:translateY(-2px) scale(1.08)}
.dri{width:34px;height:auto;border-radius:9px;flex:none}
.hico{width:34px;height:auto;border-radius:9px;flex:none}
.mapico{width:96px;height:auto;border-radius:18px;box-shadow:0 6px 16px rgba(0,0,0,.15)}
.fac .ico{width:58px;height:58px;padding:0;overflow:hidden;background:#fff}
.fac .ico img{width:100%;height:100%;object-fit:cover}
.spill img{width:22px;height:22px;object-fit:cover;border-radius:6px;flex:none}
.ftico{display:inline-block;width:40px;height:auto;border-radius:10px;vertical-align:middle;margin-right:8px}
.act .aimg{width:58px;height:auto;border-radius:14px;margin-bottom:4px}
.himg{width:54px;height:auto;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.15)}
@media (min-width:1000px){ .tbi{width:24px} }

/* Portada con imagen propia (logo y frase incluidos) */
.tagline.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero-shade{background:linear-gradient(180deg,rgba(0,40,70,.28) 0%,rgba(0,0,0,0) 14%)}
@media (min-width:1000px){ .hero-img{height:82vh;max-height:82vh;object-position:50% 28%} }
@media (min-width:1000px){
  .hero2{padding-top:68px;background:linear-gradient(90deg,#ff1493,#ff3fa6)}
  .hero-img{height:calc(86vh - 68px);max-height:calc(86vh - 68px);object-position:50% 0}
  .hero-shade{display:none}
}


/* =====================================================================
   REDISEÑO UI · tropical minimalista (rama rediseno-ui)
   ===================================================================== */
html,body{overflow-x:clip}
:root{--r2:20px;--sh2:0 10px 28px rgba(16,42,67,.09);--sh3:0 4px 14px rgba(16,42,67,.07);--navy:#102a43}
.t-blue{--tb:#e3f1ff;--tc:#1f7ed6}.t-green{--tb:#e2f6e8;--tc:#239a4f}.t-coral{--tb:#ffe7e3;--tc:#e8503f}.t-peach{--tb:#fff0dd;--tc:#e07a12}
.t-mint{--tb:#ddf6f0;--tc:#119c83}.t-pink{--tb:#ffe4f1;--tc:#e3177f}.t-lav{--tb:#efe7ff;--tc:#8247e0}.t-teal{--tb:#dcf4f6;--tc:#0b8794}
.t-lime{--tb:#eaf6dc;--tc:#4f9e1f}.t-sky{--tb:#e1f0ff;--tc:#1872cc}.t-yellow{--tb:#fff5d1;--tc:#c98a00}
.mi,.hmi,.ami,.smi,.dmi,.bigmi{display:inline-grid;place-items:center;flex:none;background:var(--tb,#eef2f5);color:var(--tc,#33475b)}
.mi{width:46px;height:46px;border-radius:15px}.mi svg{width:26px;height:26px}
.hmi{width:38px;height:38px;border-radius:12px;margin-right:2px}.hmi svg{width:22px;height:22px}
.ami{width:54px;height:54px;border-radius:17px;margin-bottom:4px}.ami svg{width:30px;height:30px}
.smi{width:26px;height:26px;border-radius:8px}.smi svg{width:16px;height:16px}
.dmi{width:38px;height:38px;border-radius:12px}.dmi svg{width:22px;height:22px}
.bigmi{width:60px;height:60px;border-radius:18px}.bigmi svg{width:34px;height:34px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid #0bbcd4;outline-offset:3px}

/* Botones */
.btn2{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 20px;border-radius:999px;font-weight:800;font-size:16px;border:0;transition:transform .15s,box-shadow .15s}
.btn2 svg{width:20px;height:20px}.btn2 .chev{width:18px;height:18px;margin-left:2px}
.btn2:active{transform:scale(.98)}
.btn2.primary{background:linear-gradient(90deg,#ff1493,#ff4fae);color:#fff;box-shadow:0 10px 22px rgba(255,20,147,.32)}
.btn2.ghost{background:#fff;color:var(--pink);box-shadow:inset 0 0 0 2px #ffc2e0}
.btn2.wa{background:#1fae5b;color:#fff;box-shadow:0 10px 22px rgba(31,174,91,.28)}
.btn2.full{width:100%}
.chip-btn{display:inline-flex;align-items:center;border:0;background:var(--pink);color:#fff;font-weight:800;font-size:13px;padding:8px 14px;border-radius:999px}
.lnk{border:0;background:none;color:var(--pink);font-weight:800;font-size:13px;padding:8px 2px}

/* Portada */
.hero3{position:relative}
.hero3-media{position:relative;line-height:0;overflow:hidden}
.hero3 .hero-img{width:100%;height:auto;display:block}
.hero3 .hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,30,55,.32),rgba(0,0,0,0) 16%,rgba(0,0,0,0) 78%,rgba(0,0,0,.14));pointer-events:none}
.leaf{position:absolute;pointer-events:none;filter:drop-shadow(0 6px 10px rgba(0,60,30,.25))}
.lf1{width:clamp(70px,20vw,150px);height:clamp(70px,20vw,150px);left:-18px;bottom:-14px;color:#2e9e5b;transform:rotate(18deg);opacity:.95}
.lf2{width:clamp(66px,18vw,140px);height:clamp(66px,18vw,140px);right:-16px;bottom:-10px;color:#3fb26a;transform:scaleX(-1) rotate(-6deg);opacity:.9}
.lf3{width:clamp(36px,10vw,70px);height:clamp(36px,10vw,70px);left:clamp(40px,13vw,110px);bottom:-8px;color:#7cc95a;transform:rotate(-30deg);opacity:.9}
.cta-card{position:relative;z-index:2;margin:-26px 14px 0;background:#fff;border-radius:24px;box-shadow:var(--sh2);padding:16px;display:grid;gap:12px}
.cta-txt b{display:block;font-family:var(--head);font-size:20px;color:var(--navy)}
.cta-txt span{font-size:14px;color:var(--muted)}
.cta-btns{display:grid;grid-template-columns:1fr;gap:10px}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 14px 0}
.quick a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;background:#fff;border-radius:18px;box-shadow:var(--sh3);text-align:center}
.quick b{font-size:12px;font-weight:800;color:var(--navy);line-height:1.15}
.home-body{padding:20px 14px 24px!important;max-width:1100px;margin:0 auto}
.sec-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 2px 12px}
.sec-title h2{font-size:clamp(19px,5vw,26px);margin:0;color:var(--navy)}
.sec-title a{display:flex;align-items:center;gap:2px;font-weight:800;font-size:14px;color:var(--pink);white-space:nowrap}
.sec-title a svg{width:16px;height:16px}
.card2{background:#fff;border-radius:var(--r2);box-shadow:var(--sh2);padding:16px}

/* Carrusel */
.promo2{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--sh2);background:#1d2a3a}
.promo2 .promo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.promo2 .promo-track::-webkit-scrollbar{display:none}
.slide2{position:relative;flex:0 0 100%;scroll-snap-align:start;aspect-ratio:16/9;display:block;color:#fff;line-height:1.1}
.slide2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sgrad{position:absolute;inset:0;background:linear-gradient(15deg,rgba(12,8,28,.78) 0%,rgba(12,8,28,.35) 38%,rgba(12,8,28,0) 65%)}
.scap{position:absolute;left:16px;bottom:30px;right:30%;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.scap .s1{font-family:var(--head);font-weight:700;font-size:clamp(22px,6vw,40px)}
.scap .s2{font-family:var(--script);color:#ffd84d;font-size:clamp(18px,5vw,32px);line-height:1.25;margin-bottom:8px}
.scap .smore{display:inline-flex;align-items:center;gap:2px;background:var(--pink);padding:6px 14px;border-radius:999px;font-weight:800;font-size:13px}
.scap .smore svg{width:15px;height:15px}
.pctl{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:var(--navy);display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.pctl svg{width:22px;height:22px}.pctl.prev{left:10px}.pctl.next{right:10px}
.promo2 .dots{bottom:10px}
.promo2 .dots button{width:9px;height:9px}
.promo2 .dots button.on{width:24px}
.promo-next{display:none}

/* Tira instalaciones */
.scard{flex:0 0 clamp(150px,42vw,230px);height:auto;aspect-ratio:4/5}
.spill{gap:6px;padding:6px 10px 6px 6px;justify-content:flex-start}

/* Páginas */
.page{max-width:1120px;margin:0 auto;padding:18px 14px 28px}
.page-intro{margin:6px 2px 16px}
.page-intro h2{font-size:clamp(26px,7vw,40px);margin:8px 0 4px;color:var(--navy)}
.page-intro p{color:var(--muted);margin:0}
.pill2{display:inline-block;background:var(--tb);color:var(--tc);font-weight:800;font-size:12px;letter-spacing:.4px;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.fgrid,.egrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fcard,.ecard{background:#fff;border-radius:var(--r2);box-shadow:var(--sh3);overflow:hidden;display:flex;flex-direction:column}
.fphoto,.ephoto{display:block;border:0;padding:0;aspect-ratio:4/3;width:100%;background:linear-gradient(110deg,#eef2f5 30%,#f7f9fb 50%,#eef2f5 70%);background-size:200% 100%;animation:shim 1.4s infinite linear;overflow:hidden;position:relative}
.fphoto img,.ephoto img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.fcard:hover .fphoto img,.ecard:hover .ephoto img{transform:scale(1.04)}
@keyframes shim{to{background-position:-200% 0}}
.fbody,.ebody{padding:12px;display:flex;flex-direction:column;gap:6px;flex:1}
.fhead{display:flex;align-items:center;gap:8px}
.fhead .mi{width:34px;height:34px;border-radius:11px}.fhead .mi svg{width:20px;height:20px}
.fcard h3,.ecard h3{font-size:15.5px;margin:0;color:var(--navy)}
.fcard p,.ecard p{font-size:13px;color:var(--muted);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.factions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:6px}
.ebody .mi{width:38px;height:38px;border-radius:12px;margin-top:-30px;border:3px solid #fff;box-shadow:var(--sh3)}
.ebody .mi svg{width:22px;height:22px}
.gal-sec{margin-top:8px}
.has-err{position:relative}
.has-err::after{content:'Imagen no disponible';position:absolute;inset:0;display:grid;place-items:center;background:#eef2f5;color:#7b8794;font-size:12px;font-weight:700}
img.img-err{opacity:0}

/* Eventos: servicios en píldoras */
.svc{border:0;padding:0;margin:12px 0}
.svc legend{font-size:13.5px;font-weight:800;margin-bottom:8px}
.pills-sel{display:flex;flex-wrap:wrap;gap:8px}
.psel{position:relative;margin:0!important}
.psel input{position:absolute;opacity:0;width:1px;height:1px}
.psel span{display:inline-block;padding:9px 14px;border-radius:999px;background:#f1f4f7;font-weight:700;font-size:13.5px;border:2px solid transparent;cursor:pointer;transition:background .15s}
.psel input:checked+span{background:#ffe4f1;color:var(--pink-d);border-color:var(--pink)}
.psel input:focus-visible+span{outline:3px solid #0bbcd4;outline-offset:2px}
#eventos .rz-banner img{object-position:50% 40%}

/* Contacto */
.cgrid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}
.ccard{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;box-shadow:var(--sh3);padding:12px 14px;color:var(--ink)}
.ccard .ctx{display:flex;flex-direction:column;min-width:0;flex:1}
.ccard small{font-size:12px;color:var(--muted);font-weight:700}
.ccard b{font-size:15px;overflow:hidden;text-overflow:ellipsis}
.ccard .chev{width:18px;height:18px;color:#b0bac5;flex:none}
.mapcard{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.mapcard>div{flex:1;min-width:180px}
.mapcard h3{margin:0 0 4px;font-size:18px}
.mapcard p{margin:0}
.vis-sec{margin-top:10px}
.vis-sec .wall{margin:12px 0}

/* Reservas: íconos de actividad */
.act{padding:14px 6px 12px}

/* Navegación */
.tbs{width:26px;height:26px;color:#8a97a6;transition:color .2s,transform .2s}
.tabbar a{position:relative}
.tabbar a.on .tbs{color:var(--pink);transform:translateY(-1px)}
.tabbar a.on::before{content:'';position:absolute;top:8px;width:46px;height:34px;border-radius:12px;background:#ffe4f1;z-index:-1}
.tabbar a.on span{color:var(--pink)}
.drawer a{gap:12px}

@media (min-width:600px){
  .cta-card{grid-template-columns:1fr auto;align-items:center;margin:-34px auto 0;max-width:900px;padding:18px 20px}
  .cta-btns{grid-template-columns:auto auto}
  .quick{max-width:900px;margin:16px auto 0;gap:14px}
  .quick b{font-size:14px}
  .cgrid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:760px){
  .fgrid,.egrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .slide2{aspect-ratio:21/8}
}
@media (min-width:1100px){
  .fgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1000px){
  .hero3-media{padding-top:68px;background:linear-gradient(90deg,#ff1493,#ff3fa6)}
  .hero3 .hero-img{height:calc(80vh - 68px);object-fit:cover;object-position:50% 0}
  .hero3 .hero-shade{display:none}
  .tabbar a.on::before{display:none}
  .tbs{width:20px;height:20px}
}
@media (max-width:360px){ .quick b{font-size:11px} .quick .mi{width:40px;height:40px} }

.ebody .mi{position:relative;z-index:1}
.lnk,.chip-btn{white-space:nowrap}
.pctl{top:auto;bottom:12px;transform:none;width:36px;height:36px}
.pctl.prev{left:auto;right:54px}.pctl.next{right:12px}
.promo2 .dots{left:16px;right:auto;bottom:16px;justify-content:flex-start;display:none}
.scap{bottom:18px;right:110px}
@media (min-width:760px){ .promo2 .dots{display:flex;left:0;right:0;justify-content:center} }
.lf1{bottom:14px}.lf2{bottom:18px}.lf3{bottom:22px}
@media (min-width:1000px){.lf1{bottom:40px}.lf2{bottom:44px}.lf3{bottom:48px}}


/* ===== Contacto · mural ===== */
.page{padding-bottom:12px}
.vis-sec{margin-top:18px}
.vis-head{display:flex;align-items:center;gap:12px;margin:0 2px 12px}
.vis-head h2{font-size:clamp(20px,5.4vw,26px);margin:0;color:var(--navy)}
.vis-head p{margin:0;color:var(--muted);font-size:14px}
.mwall{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:14px}
.mem{background:#fff;border-radius:20px;box-shadow:var(--sh3);overflow:hidden;display:flex;flex-direction:column}
.mem-ph{width:100%;aspect-ratio:16/10;object-fit:cover}
.mem-b{position:relative;padding:14px 16px 14px}
.mem-q{position:absolute;top:-4px;left:12px;font-family:Georgia,serif;font-size:56px;line-height:1;color:#ffc2e0}
.mem-b p{margin:12px 0 12px;font-size:15px;line-height:1.5;color:var(--ink)}
.mem-who{display:flex;align-items:center;gap:10px}
.av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--tb);color:var(--tc)}
.mem-who b{font-size:14px;flex:1}
.heart{color:var(--pink)}
.mem-empty{display:flex;align-items:center;gap:12px;background:linear-gradient(120deg,#fff0f7,#e6fafc);border-radius:20px;padding:14px}
.mem-empty>div{flex:1;display:flex;flex-direction:column}
.mem-empty b{font-family:var(--head);font-size:17px;color:var(--navy)}
.mem-empty span{font-size:13.5px;color:var(--muted)}
.memform{background:#fff;border-radius:22px;box-shadow:var(--sh2);padding:16px;border-top:5px solid var(--pink)}
.mf-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.mf-head h3{margin:0;font-size:19px;color:var(--navy)}
.mf-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;color:var(--teal-d);background:var(--teal-l);padding:5px 10px;border-radius:999px}
.mf-badge svg{width:14px;height:14px}
.memform label{display:block;font-size:13.5px;font-weight:800;margin:12px 0;position:relative}
.memform input:not([type=checkbox]),.memform textarea{width:100%;margin-top:6px;padding:13px 14px;border:0;background:#f3f6f9;border-radius:14px;font-size:16px;font-weight:600}
.memform input:focus,.memform textarea:focus{outline:2px solid var(--teal);background:#fff}
.count{position:absolute;right:10px;bottom:8px;font-size:11px;color:#9aa5b1;font-weight:700}
.consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:600!important;font-size:13px!important;color:var(--muted)}
.consent input{width:20px;height:20px;accent-color:var(--pink);flex:none;margin-top:1px}
@media (min-width:700px){ .mwall{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1000px){ .mwall{grid-template-columns:repeat(3,1fr)} .memform{max-width:640px} }

/* ===== Administración · comprobante ===== */
.admin{padding:14px 12px 30px!important}
#adminContent{padding:14px!important;border-radius:22px;box-shadow:var(--sh2)}
.tabs{gap:6px;overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:4px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{white-space:nowrap;border-radius:999px!important;padding:9px 14px!important;box-shadow:var(--sh3)}
.tabs button.active{background:var(--pink)!important}
.rc-head{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.rc-head h3{margin:0;font-size:20px}
.rc-head p{margin:0;font-size:13px}
.rform{display:grid;gap:12px}
.rform label{margin:8px 0!important}
.rform input:not([type=checkbox]),.rform select,.rform textarea,.rform .dpbtn{font-size:16px!important;border:0!important;background:#f3f6f9!important;border-radius:14px!important;min-height:48px}
.rform input:focus,.rform select:focus,.rform textarea:focus{outline:2px solid var(--teal);background:#fff!important}
.rc-blk{background:#fff;border:1.5px solid #eef1f5;border-radius:18px;padding:12px 14px}
.rc-blk h4{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-family:var(--head);font-size:16px;color:var(--navy)}
.blk-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.blk-h h4{margin:0}
.rc-blk .row2{gap:10px}
.extras{display:flex!important;flex-wrap:wrap;gap:8px}
.xrow{display:flex!important;align-items:center;gap:8px;background:#f3f6f9;border-radius:999px;padding:4px 4px 4px 14px;margin:0!important;font-size:13.5px}
.xrow input{width:76px!important;min-height:36px!important;padding:6px 10px!important;margin:0!important;background:#fff!important;border-radius:999px!important;text-align:center}
.switch{display:flex!important;align-items:center;gap:10px;font-weight:700!important;cursor:pointer}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.sw{width:46px;height:28px;border-radius:999px;background:#d5dde6;position:relative;transition:background .2s;flex:none}
.sw::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .2s}
.switch input:checked+.sw{background:var(--green)}
.switch input:checked+.sw::after{transform:translateX(18px)}
.switch input:focus-visible+.sw{outline:3px solid #0bbcd4;outline-offset:2px}
.money{position:relative;display:block;margin-top:6px}
.money i{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-style:normal;font-weight:800;color:#8a97a6;pointer-events:none}
.money input{margin-top:0!important;padding-left:28px!important;width:100%}
.autoval{color:#13804a!important;font-weight:800!important}
.abonos{display:grid;gap:10px}
.abcard{border-radius:16px;background:#f8fafc;border:1.5px solid #eef1f5;padding:10px 12px}
.ab-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.ab-n{font-weight:800;font-size:13px;color:var(--teal-d)}
.ab-del{width:36px;height:36px;border:0;border-radius:12px;background:#ffe3e6;color:#c0304c;display:grid;place-items:center}
.ab-del svg{width:18px;height:18px}
.ab-f{display:block;font-size:12.5px!important;font-weight:800;color:var(--muted);margin:6px 0!important}
.abcard input:not([type=checkbox]),.abcard select,.abcard .dpbtn{background:#fff!important}
.ab-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ab-empty{margin:4px 0 8px}
.totals{margin-top:12px;background:linear-gradient(120deg,#fff0f7,#eefbfc);border-radius:16px;padding:12px 14px}
.tot-row{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:14.5px}
.tot-row b{font-family:var(--head);font-size:17px}
.tot-row.ok b{color:#13804a}
.tot-row.due{border-top:1px dashed #f3b6d5;margin-top:4px;padding-top:8px}
.tot-row.due span{font-weight:800}
.tot-row.due b{color:var(--pink);font-size:21px}
.bar{height:8px;border-radius:999px;background:#fff;overflow:hidden;margin-top:8px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#1fae5b,#3fd277);border-radius:999px;transition:width .3s}
.planed{border:1.5px solid #eef1f5!important;border-radius:18px!important;padding:0!important;background:#fff;overflow:hidden}
.planed summary{display:flex;align-items:center;gap:10px;padding:14px;list-style:none;cursor:pointer;font-weight:800}
.planed summary::-webkit-details-marker{display:none}
.planed summary span{flex:1}
.planed summary .chev{width:18px;height:18px;color:#9aa5b1;transform:rotate(90deg);transition:transform .2s}
.planed[open] summary .chev{transform:rotate(-90deg)}
.planed[open] summary{border-bottom:1.5px solid #eef1f5}
.planed #rPlanes{padding:6px 14px 14px}
.prow{grid-template-columns:1fr 1fr 1fr auto!important;background:#f8fafc;border-radius:14px;padding:8px}
.prow input,.prow select{font-size:16px!important;min-height:44px}
.recent-list .rchip{border-radius:16px;box-shadow:var(--sh3);border-width:0;border-left:4px solid var(--pink)}
.rout{background:#fff;border-radius:20px;box-shadow:var(--sh2);padding:14px;margin-top:16px}
.rout-h{margin:0 0 10px;font-family:var(--head);color:var(--navy)}
.rout img{width:100%;max-width:420px;border-radius:14px}
.rout-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px auto 0;max-width:420px}
@media (max-width:420px){
  .rc-blk .row2{grid-template-columns:1fr!important}
  .ab-row{grid-template-columns:1fr}
  .prow{grid-template-columns:1fr 1fr auto!important}
  .prow input[data-f=nombre]{grid-column:1/-1}
}

/* ===== Historias que quedan (v2) ===== */
.pk{color:var(--pink)}
.vis-hero{position:relative;text-align:center;padding:22px 14px 8px;margin:0 -14px;background:linear-gradient(180deg,#fff0f7,#fff);overflow:hidden}
.vis-hero h2{font-size:clamp(28px,8vw,40px);margin:10px 0 6px;color:var(--navy)}
.vis-hero p{margin:0 auto;max-width:420px;color:var(--muted);font-size:15px}
.vleaf{position:absolute;top:-10px;width:90px;height:90px;color:#3fa864;opacity:.85}
.vleaf.l{left:-24px;transform:rotate(30deg)}.vleaf.r{right:-22px;transform:scaleX(-1) rotate(20deg);color:#58b874}
.share-card{display:grid;grid-template-columns:110px 1fr;gap:12px 14px;align-items:center;background:linear-gradient(135deg,#ffe4f1,#fff4f9);border-radius:22px;padding:14px;margin:14px 0 6px;box-shadow:var(--sh3)}
.share-ph{position:relative;transform:rotate(-6deg)}
.share-ph img{width:100%;aspect-ratio:1;object-fit:cover;border:5px solid #fff;border-radius:8px;box-shadow:0 8px 18px rgba(0,0,0,.15)}
.share-ph .cam{position:absolute;right:-8px;bottom:-10px;width:40px;height:40px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;box-shadow:0 6px 14px rgba(255,20,147,.4)}
.share-ph .cam svg{width:22px;height:22px}
.share-tx b{display:block;font-family:var(--head);font-size:19px;color:var(--navy);line-height:1.15}
.share-tx span{font-size:13.5px;color:var(--muted)}
.share-card .btn2{grid-column:1/-1}
.sec-title h2{display:flex;align-items:center;gap:8px}
.mfil{flex-wrap:nowrap;overflow-x:auto;margin:-2px -14px 12px;padding:2px 14px 4px;scrollbar-width:none}
.mfil::-webkit-scrollbar{display:none}
.mfil button{white-space:nowrap}
.mwall{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.mem{border-radius:18px}
.mem-open{display:block;position:relative;width:100%;border:0;padding:0;background:#eef2f5;aspect-ratio:4/3;overflow:hidden}
.mem-ph{width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:cover}
.mem-more{position:absolute;right:8px;top:8px;background:rgba(16,42,67,.72);color:#fff;font-size:12px;font-weight:800;padding:3px 8px;border-radius:999px}
.mem-noph{display:grid;place-items:center;width:100%;height:100%;background:var(--tb);color:var(--tc)}
.mem-noph svg{width:42px;height:42px;opacity:.7}
.mem-b{padding:10px 12px 10px}
.mem-who{display:flex;align-items:center;gap:8px}
.mem-who>span:last-child{display:flex;flex-direction:column;min-width:0}
.mem-who b{font-size:13.5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mem-who small{font-size:11.5px;color:var(--muted)}
.av{width:30px;height:30px;font-size:13px}
.mem-b p{font-size:13px!important;margin:8px 0!important;line-height:1.45!important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.likes{display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:4px 2px;color:var(--muted);font-weight:800}
.likes svg{width:20px;height:20px;color:#ffb3d6;transition:transform .2s,color .2s}
.likes.on svg{color:var(--pink);transform:scale(1.12)}
.mem-empty{grid-column:1/-1}
.mem-skel{height:180px;border-radius:18px;background:linear-gradient(110deg,#eef2f5 30%,#f7f9fb 50%,#eef2f5 70%);background-size:200% 100%;animation:shim 1.4s infinite linear}
.mem-err{grid-column:1/-1;background:#fff3f3;color:#b4233d;border-radius:14px;padding:12px;font-weight:700}
/* formulario */
.memform{margin-top:16px;border-top:0!important;padding:16px!important}
.mf-head h3{display:flex;align-items:center;gap:8px}
.mf-modo{background:var(--yellow-l);border-radius:12px;padding:8px 12px;font-size:12.5px;font-weight:700;color:#8a6400;margin:8px 0}
.ifield{display:block;font-size:13.5px;font-weight:800;margin:12px 0;position:relative}
.iw{display:flex;align-items:center;gap:8px;margin-top:6px;background:#f3f6f9;border-radius:14px;padding:0 0 0 12px}
.iw.ta{align-items:flex-start;padding-top:12px}
.iw>svg{width:22px;height:22px;color:#8a97a6;flex:none}
.iw input,.iw textarea{margin:0!important;background:transparent!important;padding-left:4px!important}
.iw:focus-within{outline:2px solid var(--teal);background:#fff}
.iw input:focus,.iw textarea:focus{outline:0!important}
.memform select,.memform .dpbtn{width:100%;margin-top:6px;min-height:48px;padding:12px 14px;border:0;background:#f3f6f9;border-radius:14px;font-size:16px;font-weight:600}
.memform .row2{gap:10px}
.count{position:static!important;display:block;text-align:right;margin-top:4px}
.count.warn{color:var(--pink)}
.ph-hint{display:flex;align-items:center;gap:6px;margin:4px 0 8px!important}
.ph-hint svg{width:18px;height:18px}
.ph-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.ph-grid.busy{opacity:.6;pointer-events:none}
.ph-it,.ph-add,.ph-slot{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden}
.ph-it img{width:100%;height:100%;object-fit:cover}
.ph-x{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:#fff;color:var(--pink);font-weight:800;font-size:12px;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.ph-r{position:absolute;bottom:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(16,42,67,.7);color:#fff;display:grid;place-items:center}
.ph-r svg{width:14px;height:14px}
.ph-add{border:2px dashed #ff8cc4;background:#fff5fa;color:var(--pink);font-weight:800;font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.ph-add span{font-size:20px;line-height:1}
.ph-slot{background:#f1f4f7;display:grid;place-items:center;color:#c3cad2}
.ph-slot svg{width:22px;height:22px}
.ph-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.ph-btns .btn2{min-height:44px;font-size:14px;padding:0 10px}
.ph-btns .btn2:disabled{opacity:.45}
.consents{display:grid;gap:4px;margin:6px 0 10px}
.consent{margin:6px 0!important}
.minors{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13.5px;font-weight:700;margin:6px 0;padding:10px 12px;background:#f8fafc;border-radius:12px}
.minors label{display:flex;align-items:center;gap:6px;font-weight:700;margin:0}
.minors input{accent-color:var(--pink);width:18px;height:18px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.up-prog{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;background:#fff5fa;border-radius:14px;font-weight:700}
.ring{--p:0;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--pink) calc(var(--p)*1%),#ffe1f1 0);flex:none;transition:background .2s}
.ring b{width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:11px}
.mem-ok{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px;background:#e6f8ec;border-radius:16px}
.mem-ok b{display:block;color:#13804a}
.mem-ok span{font-size:13px;color:#3f6b4f}
.okc{width:42px;height:42px;border-radius:50%;background:#1fae5b;color:#fff;display:grid;place-items:center;flex:none}
.okc svg{width:24px;height:24px}
/* visor */
.memv{width:min(520px,96vw)}
.mv-ph{position:relative;background:#0e1b2a;aspect-ratio:4/3}
.mv-ph img{width:100%;height:100%;object-fit:contain}
.memv.nophoto .mv-ph{display:none}
.mv-n{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px}
.mv-ph .pctl{top:50%;bottom:auto;transform:translateY(-50%)}
.mv-ph .pctl.prev{left:10px;right:auto}.mv-ph .pctl.next{right:10px}
.mv-text{font-size:15px;line-height:1.55;margin:10px 0}
.mv-thumbs{display:flex;gap:8px;overflow-x:auto;margin-bottom:10px}
.mv-thumbs button{flex:0 0 64px;height:64px;border:3px solid transparent;border-radius:12px;padding:0;overflow:hidden}
.mv-thumbs button.on{border-color:var(--pink)}
.mv-thumbs img{width:100%;height:100%;object-fit:cover}
.mv-foot{display:flex;align-items:center;justify-content:space-between}
.mv-foot .likes svg{color:var(--pink)}
.love{display:inline-flex;align-items:center;gap:6px;border:0;background:#ffe4f1;color:var(--pink);font-weight:800;padding:10px 16px;border-radius:999px}
.love svg{width:18px;height:18px}
.love.on{background:var(--pink);color:#fff}
/* inicio destacados */
.mstrip .scard{flex-basis:clamp(130px,36vw,190px)}
.hrt{width:14px;height:14px;color:var(--pink);flex:none}
/* admin moderación */
.tbadge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--pink);color:#fff;font-size:11px;margin-left:4px}
.tabs button.active .tbadge{background:#fff;color:var(--pink)}
.madm{display:grid;gap:12px}
.madm-c{border:1.5px solid #eef1f5;border-radius:18px;overflow:hidden;background:#fff}
.madm-ph{display:flex;gap:6px;overflow-x:auto;padding:8px;background:#f8fafc}
.madm-ph button{flex:0 0 84px;height:84px;border:0;padding:0;border-radius:12px;overflow:hidden}
.madm-ph img{width:100%;height:100%;object-fit:cover}
.madm-b{padding:10px 12px 12px}
.madm-b p{margin:8px 0;font-size:14px}
.madm-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.madm-act{display:flex;flex-wrap:wrap;gap:6px}
.madm-act .mini{margin:0}
@media (min-width:700px){ .mwall{grid-template-columns:repeat(3,minmax(0,1fr))!important} .share-card{grid-template-columns:140px 1fr auto} .share-card .btn2{grid-column:auto;width:auto} .madm{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1000px){ .mwall{grid-template-columns:repeat(4,minmax(0,1fr))!important} .memform{max-width:720px;margin-inline:auto} }
@media (max-width:360px){ .mwall{grid-template-columns:1fr!important} .ph-grid{grid-template-columns:repeat(3,1fr)} }

.toast{border-radius:16px!important;max-width:min(92vw,420px);line-height:1.4;padding:12px 18px}
.minors>span{flex-basis:100%}
.sw{background:#d5dde6!important}.switch input:checked+.sw{background:var(--green)!important}

/* Pestaña central Recuerdos */
.tabbar{overflow:visible}
.tab-c{position:relative}
.tab-c .tc-b{width:60px;height:60px;margin-top:-30px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(145deg,#ff4fae,#ff1493);border:4px solid #fff;box-shadow:0 10px 24px rgba(255,20,147,.45);transition:transform .2s}
.tab-c .tc-b svg{width:28px;height:28px}
.tab-c.on .tc-b{transform:translateY(-3px) scale(1.06);animation:beat 1.6s ease-in-out 1}
.tab-c span:last-child{color:var(--pink);font-weight:800}
.tabbar a.tab-c.on::before{display:none}
@keyframes beat{0%,100%{transform:translateY(-3px) scale(1.06)}40%{transform:translateY(-3px) scale(1.16)}}
@media (prefers-reduced-motion:reduce){.tab-c.on .tc-b{animation:none}}
@media (min-width:1000px){
  .tab-c .tc-b{width:30px;height:30px;margin:0;border-width:0;box-shadow:0 4px 10px rgba(255,20,147,.35)}
  .tab-c .tc-b svg{width:16px;height:16px}
  .tabbar a.tab-c{background:#ffe4f1}
}
.mem-link{display:flex;align-items:center;gap:12px;margin-top:14px;background:linear-gradient(120deg,#fff0f7,#fff)}
.mem-link>span:nth-child(2){flex:1;display:flex;flex-direction:column}
.mem-link b{font-family:var(--head);font-size:17px;color:var(--navy)}
.mem-link small{color:var(--muted);font-size:13px}
.mem-link .chev{width:18px;height:18px;color:var(--pink)}
#recuerdos .vis-sec{margin-top:0}
.tabbar .tab-c .tc-b svg{color:#fff!important;transform:none!important}

/* ===== Footer v2 ===== */
.sfoot{position:relative;margin-top:28px;background:linear-gradient(180deg,#fff 0%,#FFE4F0 100%);border-radius:28px 28px 0 0;overflow:hidden;color:#1D2B3D;padding:0}
.sf-in{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:26px 16px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.sf-logo{width:min(230px,60vw);height:auto}
.sf-lema{margin:-6px 0 0;font-family:var(--script);font-size:clamp(20px,5.4vw,26px);color:#FF1493;line-height:1.2}
.sf-loc{display:inline-flex;align-items:center;gap:8px;background:#fff;padding:10px 16px;border-radius:999px;font-weight:800;font-size:14.5px;box-shadow:0 6px 18px rgba(29,43,61,.08);transition:transform .15s}
.sf-loc svg{width:20px;height:20px;color:#FF1493;flex:none}
.sf-loc:hover,.fbtn:hover,.sic:hover{transform:translateY(-2px)}
.fbtns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-top:4px}
.fbtn{display:flex;align-items:center;gap:8px;padding:10px;border-radius:18px;text-align:left;box-shadow:0 6px 16px rgba(29,43,61,.06);transition:transform .15s;min-width:0}
.fbtn>span:last-child{display:flex;flex-direction:column;min-width:0}
.fbtn b{font-size:14px;line-height:1.15}
.fbtn small{font-size:11.5px;color:#5d6b7a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;color:#fff}
.fic svg{width:22px;height:22px}
.fbtn.wa{background:#e8f8ee}.fbtn.wa .fic{background:#1fae5b}
.fbtn.ml{background:#ffe9f4}.fbtn.ml .fic{background:#FF1493}
.fbtn.mp{background:#e6f0ff}.fbtn.mp .fic{background:#1f6fe0}
.fic svg [opacity]{opacity:.35}
.sf-redes{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:4px}
.sf-rt{display:flex;align-items:center;gap:10px;width:100%;font-weight:800;font-size:15px;justify-content:center}
.sf-rt::before,.sf-rt::after{content:'';flex:1;max-width:70px;height:1.5px;background:#1D2B3D;opacity:.25}
.sf-ri{display:flex;gap:12px}
.sic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 6px 14px rgba(0,0,0,.15);transition:transform .15s}
.sic svg{width:24px;height:24px}
.sic svg [opacity]{opacity:0}
.sic.ig{background:radial-gradient(circle at 30% 110%,#ffd84d 0%,#ff7a3d 25%,#ff1493 55%,#8a3ffc 90%)}
.sic.fb{background:#1877f2}.sic.tt{background:#111}
.sf-dudas{display:inline-flex;align-items:center;gap:8px;background:#fff;padding:9px 16px;border-radius:999px;font-weight:700;font-size:13.5px;box-shadow:0 4px 12px rgba(29,43,61,.06)}
.sf-dudas svg{width:16px;height:16px;color:#FF1493;flex:none}
.sf-fluva{position:relative;background:#1D2B3D;color:#cfd8e3;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 16px 16px;margin-top:22px}
.sf-wave{position:absolute;left:0;right:0;top:-38px;width:100%;height:40px}
.sf-fluva>span{font-size:11.5px;letter-spacing:3px;text-transform:uppercase;font-weight:700;position:relative;z-index:1}
.sf-fl{height:46px;width:auto;position:relative;z-index:1}
.fleaf{position:absolute;pointer-events:none;width:clamp(70px,20vw,130px);height:auto;filter:drop-shadow(0 6px 10px rgba(0,60,30,.18))}
.fleaf.a{left:-28px;top:-14px;transform:rotate(20deg)}
.fleaf.b{right:-30px;top:30px;transform:rotate(-25deg) scaleX(-1)}
.fleaf.c{right:-14px;bottom:-24px;width:clamp(64px,16vw,110px);transform:rotate(-12deg);opacity:.95}
body[data-view=admin] .sfoot{display:none}
.tabbar{padding-bottom:env(safe-area-inset-bottom)!important}
body{padding-bottom:calc(var(--tab-h) + 10px + env(safe-area-inset-bottom))!important}
@media (max-width:420px){
  .fbtns{grid-template-columns:1fr 1fr}
  .fbtn.mp{grid-column:1/-1;justify-content:center}
  .fbtn{padding:9px}
}
@media (max-width:340px){ .fbtns{grid-template-columns:1fr} }
@media (min-width:1000px){ body{padding-bottom:0!important} .sf-in{padding-top:34px} .fleaf{width:150px} }
footer.sfoot{display:block;padding:0;background:linear-gradient(180deg,#fff 0%,#FFE4F0 100%);color:#1D2B3D;font-size:15px;justify-content:initial;text-align:initial;gap:0}
footer.sfoot b{color:inherit}
footer.sfoot img{height:auto}
footer.sfoot .sf-logo{width:min(230px,60vw)}
footer.sfoot .sf-fl{height:46px;width:auto}
footer.sfoot .fleaf{width:clamp(70px,20vw,130px)}
footer.sfoot .fleaf.c{width:clamp(64px,16vw,110px)}
footer.sfoot .sf-in{text-align:center}
.sf-dudas{font-size:12.5px;padding:9px 14px;text-align:center}
@media (min-width:1000px){ footer.sfoot .fleaf{width:150px} footer.sfoot .fleaf.c{width:120px} footer.sfoot .sf-fl{height:52px} }

.sbstat{font-size:13px;font-weight:800;padding:8px 12px;border-radius:12px;margin:0 0 6px}
.sbstat.ok{background:#e6f8ec;color:#13804a}.sbstat.bad{background:#fff0f0;color:#b4233d}.sbstat.wait{background:#f1f4f7;color:#5d6b7a}

.bk-actions{margin:10px 0 6px}
.bkrow b{font-size:14px}
.bklog{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #eef1f5;font-size:13.5px}
.bklog small{display:block;color:var(--muted);font-size:11.5px}
.bkdot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex:none;background:#1fae5b}
.bkdot.UPDATE{background:#1f6fe0}.bkdot.DELETE{background:#e5484d}
.warning.ok{background:#e6f8ec;color:#13563a}.warning.bad{background:#fff0f0;color:#8f1d33}

/* =====================================================================
   PANEL DE ADMINISTRACIÓN (móvil)
   ===================================================================== */
:root{--af:#FF0D8D;--at:#08C6D7;--an:#102633;--ag:#17C99B;--abg:#F7F8FB;--atx:#1D2B3B}
body[data-view=admin]{background:var(--abg)}
body[data-view=admin] .appbar{display:none}
body[data-view=admin] .admin{padding:0!important;background:var(--abg);min-height:100vh}
body[data-view=admin] .admin-login{margin:24px auto}
.adm{padding-bottom:calc(84px + env(safe-area-inset-bottom));color:var(--atx)}
.adm-head{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 14px 34px;background:linear-gradient(120deg,#FF0D8D,#ff3fa6 70%,#ff5bb4);color:#fff}
.adm-leaf{position:absolute;right:-26px;top:-24px;width:120px;opacity:.55;transform:rotate(-30deg);pointer-events:none}
.adm-logo{width:clamp(96px,30vw,150px);height:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18));position:relative}
.adm-tt{flex:1;min-width:0;position:relative}
.adm-tt h2{margin:0;font-size:clamp(22px,6.4vw,30px);color:#fff;line-height:1.05}
.adm-tt p{margin:2px 0 0;font-size:13.5px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-msg{position:relative;width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.25);display:grid;place-items:center;color:#fff;flex:none}
.adm-msg svg{width:26px;height:26px}
.adm-body{position:relative;margin-top:-20px;background:var(--abg);border-radius:24px 24px 0 0;padding:14px 12px 10px;max-width:980px;margin-inline:auto}
.adm-warn{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.4;padding:9px 12px;border-radius:14px;margin-bottom:12px}
.adm-warn.ok{background:#e7f8f1;color:#0f5c45}.adm-warn.bad{background:#fff6dc;color:#7a5a00}
.dotl{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none;background:currentColor}
.adm-warn.ok .dotl{background:var(--ag)}
#adminContent{background:none!important;box-shadow:none!important;padding:0!important;border-radius:0}
.adm-card{background:#fff;border-radius:20px;box-shadow:0 6px 20px rgba(16,38,51,.06);padding:14px;margin-bottom:12px}
.ac-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 2px 10px}
.ac-h h3{margin:0;font-size:19px;color:var(--af)}
.pg-t{font-size:22px!important;color:var(--an)!important}
.ac-empty{text-align:center;padding:12px 0;margin:0}
/* Indicadores */
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.kpi{border:0;text-align:left;border-radius:20px;padding:12px;display:flex;flex-direction:column;gap:0;min-height:118px;box-shadow:0 6px 18px rgba(16,38,51,.05);transition:transform .15s}
.kpi:active{transform:scale(.98)}
.kpi.skel{background:linear-gradient(110deg,#eef2f5 30%,#f7f9fb 50%,#eef2f5 70%);background-size:200% 100%;animation:shim 1.4s infinite linear}
.k-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.k-go{font-size:22px;font-weight:800;opacity:.6}
.kpi b{font-family:var(--head);font-size:32px;line-height:1.05;color:var(--an)}
.k-l{font-weight:800;font-size:14px;color:var(--an)}
.kpi small{font-size:11.5px;color:#5d6b7a;line-height:1.25}
.k-pk{background:#fff0f7}.k-pk .k-go{color:var(--af)}
.k-gr{background:#e9fbf4}.k-gr .k-go{color:var(--ag)}
.k-bl{background:#e9f8fb}.k-bl .k-go{color:var(--at)}
.k-yl{background:#fff8e1}.k-yl .k-go{color:#f2a100}
.ai{display:inline-block;width:30px;height:30px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.kpi .ai{width:32px;height:32px}
.k-pk .ai{color:var(--af)}.k-gr .ai{color:var(--ag)}.k-bl .ai{color:#1e8fd6}.k-yl .ai{color:#f2a100}
/* Accesos rápidos */
.tiles2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px}
.tile2{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:800;font-size:12.5px;line-height:1.15;color:var(--an);text-align:center}
.tw{position:relative;width:100%;max-width:84px;aspect-ratio:1.2;border-radius:18px;overflow:hidden;box-shadow:0 6px 14px rgba(16,38,51,.12);transition:transform .15s}
.tw img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
.tile2:active .tw{transform:scale(.95)}
.nbadge{position:absolute;top:4px;right:4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#fff;color:var(--af);font-size:11.5px;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.2)}
/* Tarjetas de solicitud */
.rqs{display:grid;gap:10px}
.rq{display:flex;gap:10px;padding:10px;border-radius:18px;background:#fff;border:1.5px solid #eef1f5}
.rq-ph{width:72px;height:72px;border-radius:14px;object-fit:cover;flex:none}
.rq-b{flex:1;min-width:0}
.rq-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
.rq-top b{font-size:15px;line-height:1.2;color:var(--an)}
.st{display:inline-block;font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:999px;white-space:nowrap}
.st.pk{background:#ffe4f1;color:#d10a74}.st.gr{background:#e3f8ef;color:#0f8a63}.st.bl{background:#e3f1ff;color:#1a6cc4}.st.gy{background:#eef1f5;color:#5d6b7a}
.rq-m{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:12.5px;color:#5d6b7a}
.rq-m svg{width:15px;height:15px;flex:none}
.rq-c{margin:2px 0 8px;font-size:13px;font-weight:700;color:var(--atx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rq-act{display:flex;flex-wrap:wrap;gap:6px}
.ra{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:999px;padding:7px 11px;font-weight:800;font-size:12.5px;min-height:34px}
.ra svg{width:15px;height:15px}
.ra.ok{background:#e3f8ef;color:#0f8a63}.ra.no{background:#ffe8ec;color:#c0304c}.ra.bl{background:#eef1f5;color:#33475b}.ra.wa{background:#e3f1ff;color:#1a6cc4}
.ra.more{background:#f3f6f9;color:#5d6b7a;font-size:18px;padding:4px 12px;margin-left:auto}
.segs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.segs button{border:0;background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px;color:#5d6b7a;box-shadow:0 2px 8px rgba(16,38,51,.06);display:inline-flex;gap:6px;align-items:center}
.segs button b{background:#eef1f5;border-radius:999px;padding:0 7px;font-size:11.5px}
.segs button[aria-pressed=true]{background:var(--af);color:#fff}
.segs button[aria-pressed=true] b{background:rgba(255,255,255,.25)}
/* Fechas */
.fchips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.fchip{position:relative;border:0;background:#fff0f7;border-radius:16px;padding:10px 4px 8px;display:flex;flex-direction:column;align-items:center;line-height:1.1;color:var(--af)}
.fchip b{font-family:var(--head);font-size:22px}
.fchip span{font-size:11px;font-weight:800}
.fchip small{font-size:10.5px;opacity:.8}
.fchip i{position:absolute;top:4px;right:6px;font-style:normal;font-size:11px}
.fchip.add{background:#fff;border:2px dashed #c9d2dc;color:#7b8794;font-weight:800;font-size:12px;justify-content:center}
.fchip.add span{font-size:20px}
/* Calendario admin */
.adcal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ad{position:relative;aspect-ratio:1;border:0;border-radius:12px;font-weight:800;font-size:14px;background:#e9fbf4;color:#0f8a63}
.ad.blk{background:#eef1f5;color:#5d6b7a}
.ad.pend{background:#fff0f7;color:#d10a74;box-shadow:inset 0 0 0 2px #ff9ccc}
.ad.conf{background:var(--af);color:#fff}
.ad.past{opacity:.45}
.ad.today{outline:2px solid var(--at);outline-offset:1px}
.ad i{position:absolute;right:4px;top:4px;width:7px;height:7px;border-radius:50%;background:#ff9ccc}
.adleg{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 4px;font-size:12px;font-weight:700;color:#5d6b7a}
.adleg i{display:inline-block;width:11px;height:11px;border-radius:4px;margin-right:5px;vertical-align:-1px}
.adleg .free{background:#bfeedd}.adleg .blk{background:#d5dbe2}.adleg .pend{background:#ffc2e0}.adleg .conf{background:var(--af)}
.adm-sheet h3{margin:0 0 6px;color:var(--an)}
.dd-box{display:flex;flex-direction:column;gap:4px;background:#f7f8fb;border-radius:14px;padding:10px 12px;margin:12px 0}
.dd-box span{font-size:13.5px;color:#5d6b7a}
.dd-box .ra{align-self:flex-start;margin-top:4px}
.dd-h{margin:12px 0 8px;font-size:15px;color:var(--an)}
.dd-mot{display:block;font-size:13px;font-weight:800;margin:14px 0 10px}
.dd-mot input{width:100%;margin-top:6px;padding:12px 14px;border:0;background:#f3f6f9;border-radius:14px;font-size:16px}
#admDay .btn2{margin-top:8px}
/* Más */
.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 8px;margin:10px 0 16px}
.more-grid button,.more-grid a{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:800;font-size:12.5px;color:var(--an);text-align:center}
.more-grid img{width:64px;height:64px;border-radius:18px;box-shadow:0 6px 14px rgba(16,38,51,.12)}
/* Config */
.cfg-row,.cfg-t>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eef1f5;font-size:13.5px}
.cfg-row:last-child,.cfg-t>div:last-child{border-bottom:0}
.cfg-row span,.cfg-t span{color:#5d6b7a}
.cfg-row b,.cfg-t b{text-align:right}
.okc2{color:#0f8a63}.bad2{color:#a26a00}
.cfg-acts{display:grid;gap:8px}
/* Barra inferior admin */
.adm-nav{position:fixed;left:0;right:0;bottom:0;z-index:46;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -6px 24px rgba(16,38,51,.1);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
.adm-nav button{position:relative;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:11.5px;font-weight:700;color:#7d8ba0}
.adm-nav .ai{width:26px;height:26px;color:#7d8ba0;transition:color .2s,transform .2s}
.adm-nav button.on{color:var(--af)}
.adm-nav button.on .ai{color:var(--af);transform:translateY(-1px)}
.adm-nav button.on::after{content:'';position:absolute;bottom:-2px;width:34px;height:3px;border-radius:3px;background:var(--af)}
.adm-nav .nbadge{top:0;right:calc(50% - 26px);background:var(--af);color:#fff}
/* Comprobante y demás vistas dentro del panel */
.adm-view .rc-head,.adm-view .rform>.rc-blk{background:#fff}
.v-receipt,.v-memories,.v-backup,.v-pending,.v-photos{background:#fff!important;border-radius:20px!important;padding:14px!important;box-shadow:0 6px 20px rgba(16,38,51,.06)!important}
@media (min-width:700px){
  .kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tiles2{grid-template-columns:repeat(8,minmax(0,1fr))}
  .rqs{grid-template-columns:1fr 1fr}
  .adm-head{padding-left:max(14px,calc(50% - 480px));padding-right:max(14px,calc(50% - 480px))}
}
@media (min-width:1000px){
  .adm-nav{left:50%;right:auto;transform:translateX(-50%);width:min(620px,96vw);bottom:12px;border-radius:22px;padding-bottom:6px}
}
@media (max-width:360px){ .tiles2{grid-template-columns:repeat(4,1fr);gap:10px 4px} .tile2{font-size:11px} .fchips{grid-template-columns:repeat(3,1fr)} .rq-ph{width:56px;height:56px} }

.ai2{width:28px;height:28px;flex:none;color:currentColor}
.kpi .ai2{width:30px;height:30px}
.k-pk .ai2{color:var(--af)}.k-gr .ai2{color:var(--ag)}.k-bl .ai2{color:#1e8fd6}.k-yl .ai2{color:#f2a100}
.adm-nav .ai2{width:26px;height:26px;color:#7d8ba0;transition:color .2s,transform .2s}
.adm-nav button.on .ai2{color:var(--af);transform:translateY(-1px)}
.segs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.segs button{flex-direction:column;gap:2px;padding:7px 2px;border-radius:14px;font-size:11px;line-height:1.1}
.segs button b{font-size:13px;padding:0 8px}
@media (max-width:340px){.segs button{font-size:10px}}

/* Pagos */
.pg-card{cursor:pointer}
.pg-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.pg-sum>div{background:#f7f8fb;border-radius:14px;padding:10px;min-width:0}
.pg-sum small{display:block;font-size:11.5px;color:#5d6b7a;font-weight:700;line-height:1.2}
.pg-sum b{display:block;font-family:var(--head);font-size:clamp(15px,4.4vw,20px);color:var(--an);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-sum .ok{background:#e9fbf4}.pg-sum .ok b{color:#0f8a63}
.pg-sum .due{background:#fff0f7}.pg-sum .due b{color:var(--af)}
.pg-sum.big b{font-size:clamp(16px,5vw,24px)}
.pgl{display:grid;gap:10px}
.pgi{display:flex;gap:10px;align-items:stretch;text-align:left;border:0;background:#fff;border-radius:18px;padding:10px;box-shadow:0 4px 14px rgba(16,38,51,.05);width:100%}
.pgi-d{flex:none;width:58px;border-radius:14px;background:#fff0f7;color:var(--af);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.pgi-d b{font-family:var(--head);font-size:22px}.pgi-d span{font-size:11px;font-weight:800}.pgi-d small{font-size:10px;opacity:.8}
.pgi.done .pgi-d{background:#e9fbf4;color:#0f8a63}
.pgi-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.pgi-b>b{font-size:14.5px;color:var(--an);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pgi-b>small{font-size:12px;color:#5d6b7a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar.sm{height:6px;margin:2px 0;background:#eef1f5}
.pgi-n{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:11.5px;color:#5d6b7a}
.pgi-n b{color:var(--an)}.pgi-n .ok b{color:#0f8a63}.pgi-n .due b{color:var(--af)}
.pg-form{gap:8px}
.pg-form label{margin:6px 0!important}
.sheet,.adm-sheet{max-height:92vh;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.adm-sheet .v-close{position:sticky;top:10px;float:right;margin:10px 10px -54px 0}
@media (max-width:480px){
  .pg-sum{grid-template-columns:1fr;gap:6px}
  .pg-sum>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px}
  .pg-sum small{font-size:13px}
  .pg-sum b,.pg-sum.big b{font-size:19px;overflow:visible}
}
@media (max-width:360px){.adm-nav button{font-size:9.5px;letter-spacing:-.2px}.adm-nav .ai,.adm-nav .ai2{width:23px;height:23px}}
