/* ENQUIETUD · panel de la dueña (usa las variables de styles.css) */
body.adm{min-height:100vh;font-size:16px;background:var(--bg2)}
body.adm>.aurora{position:fixed;opacity:.28}
[hidden]{display:none!important}
.awrap{max-width:1180px;margin:0 auto;padding:0 20px;position:relative;z-index:1}

/* acceso */
.login{min-height:100vh;display:grid;place-items:center;padding:20px;position:relative;z-index:1}
.lcard{width:min(400px,100%);background:var(--glass);border:1px solid var(--glass-b);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:30px;padding:40px 30px;text-align:center;box-shadow:var(--shadow);animation:stIn .8s var(--ease)}
.liso{width:70px;margin:0 auto 8px;animation:fl 6s ease-in-out infinite}.llogo{height:34px;margin:0 auto}
.lcard .field{text-align:left}.lcard .btn{margin-top:6px}

/* barra superior */
.atop{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.atop .awrap{display:flex;align-items:center;gap:14px;height:66px}
.atop .logo img{height:26px}.atop .hd-r{margin-left:auto}
.livepill{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--mu);padding:5px 12px;border-radius:999px;border:1px solid var(--line)}
.livepill i{width:8px;height:8px;border-radius:50%;background:#3fb27f;animation:ping 2s infinite}
.livepill.off i{background:var(--bad);animation:none}

.hello{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:30px 0 18px}
.hello h1{font-size:clamp(30px,4vw,42px);margin:0}.hello p{margin:4px 0 0}
.demo-b{font-size:13px;padding:8px 14px;border-radius:999px;background:color-mix(in srgb,var(--gold) 40%,transparent)}

/* indicadores */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kpi{position:relative;overflow:hidden;background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:20px 22px;animation:stIn .7s var(--ease) both}
.kpi:nth-child(2){animation-delay:.06s}.kpi:nth-child(3){animation-delay:.12s}.kpi:nth-child(4){animation-delay:.18s}
.kpi span{font-size:13px;color:var(--mu)}.kpi b{display:block;font-size:34px;font-weight:300;letter-spacing:-.02em;line-height:1.15;margin-top:4px}
.kpi small{font-size:13px;color:var(--mu)}
.kpi .meter{height:5px;border-radius:5px;background:var(--bg2);margin-top:10px;overflow:hidden}.kpi .meter i{display:block;height:100%;background:linear-gradient(90deg,var(--ac),var(--deep));border-radius:5px;transform-origin:left;animation:grow 1.2s var(--ease) both}
@keyframes grow{from{transform:scaleX(0)}}
.kpi.hl{background:var(--deep);color:#fff;border-color:var(--deep)}.kpi.hl span,.kpi.hl small{color:rgba(255,255,255,.75)}

/* pestañas */
.tabs{position:relative;display:flex;gap:4px;margin:26px 0 20px;padding:5px;border-radius:999px;background:var(--bg);border:1px solid var(--line);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.tabs button{position:relative;z-index:1;background:none;border:0;padding:9px 18px;border-radius:999px;cursor:pointer;font-size:15px;white-space:nowrap;transition:color .3s}
.tabs button.on{color:#fff}
.tabs em{font-style:normal;font-size:11px;background:var(--gold);color:#2E2E2E;border-radius:999px;padding:1px 7px;margin-left:4px;font-weight:500}
.tabs em:empty{display:none}
.tpill{position:absolute;top:5px;height:calc(100% - 10px);border-radius:999px;background:var(--deep);transition:left .45s var(--ease),width .45s var(--ease)}
.view{animation:stIn .5s var(--ease);padding:0 0 80px}

/* tarjetas genéricas */
.panel{background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:20px 22px;margin-bottom:14px}
.panel h3{margin:0 0 4px}.panel>p.mu{margin:0 0 14px;font-size:14px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.toolbar .grow{flex:1}
.search{flex:1;min-width:200px;padding:11px 16px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:inherit;font:inherit}
.search:focus{outline:0;border-color:var(--deep)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.fchip{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg);cursor:pointer;font-size:14px;transition:.3s}
.fchip.on{background:var(--deep);border-color:var(--deep);color:#fff}
.empty{text-align:center;color:var(--mu);padding:40px 10px}
.empty svg{width:56px;height:56px;margin:0 auto 10px;opacity:.5}

/* hoy */
.daynav{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.daynav b{font-weight:500;font-size:18px;min-width:220px;text-align:center}
.cls{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.ring{--p:0;width:74px;height:74px;border-radius:50%;background:conic-gradient(var(--deep) calc(var(--p)*1turn),var(--bg2) 0);display:grid;place-items:center;position:relative;transition:--p 1s}
.ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--bg)}
.ring span{position:relative;font-size:15px;font-weight:500;text-align:center;line-height:1.1}.ring small{display:block;font-size:11px;color:var(--mu);font-weight:300}
.cls h3 small{font-weight:300;color:var(--mu);font-size:15px;margin-left:6px}
.cls.cancel{opacity:.6}.cls.cancel h3{text-decoration:line-through}
.att{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.att li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--bg2);animation:stIn .4s var(--ease) both}
.att li.here{background:color-mix(in srgb,var(--ok) 14%,var(--bg2))}
.att .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att .nm small{color:var(--mu);margin-left:6px}
.tick{width:30px;height:30px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--ac);background:var(--bg);cursor:pointer;display:grid;place-items:center;transition:.3s var(--ease)}
.tick svg{width:16px;height:16px;opacity:0;transform:scale(.5);transition:.3s var(--ease)}
.tick.on{background:var(--ok);border-color:var(--ok);color:#fff}.tick.on svg{opacity:1;transform:none}
.mini{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--tx);text-decoration:none;cursor:pointer;flex:0 0 auto;transition:.3s}
.mini:hover{background:#25D366;border-color:#25D366;color:#fff}.mini svg{width:16px;height:16px}
.badge2{font-size:11px;padding:3px 9px;border-radius:999px;font-weight:500;white-space:nowrap}
.badge2.pending{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}
.badge2.confirmed{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}
.badge2.cancelled,.badge2.expired{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}

/* reservas */
.bk{display:grid;grid-template-columns:1fr auto;gap:10px 16px;align-items:start;animation:stIn .45s var(--ease) both}
.bk.new{box-shadow:0 0 0 2px var(--gold),var(--shadow)}
.bk .who{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bk .who b{font-weight:500;font-size:17px}
.bk .meta{font-size:14px;color:var(--mu)}
.bk ul{margin:8px 0 0;padding-left:18px;font-size:14px}
.bk .acts2{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.bk .price{font-size:22px;font-weight:300;text-align:right}
.rthumb{width:46px;height:46px;border-radius:10px;object-fit:cover;cursor:zoom-in;border:1px solid var(--line)}
.btn.xs{padding:7px 14px;font-size:13px}
.btn.ok{background:var(--ok);border-color:var(--ok)}
.btn.danger{background:transparent;color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent)}.btn.danger:hover{background:var(--bad);color:#fff}

/* agenda */
.agenda{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.aday{background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:14px;animation:stIn .5s var(--ease) both}
.aday.today{border-color:var(--deep);box-shadow:0 0 0 1px var(--deep)}
.aday h4{margin:0 0 10px;font-weight:500;display:flex;justify-content:space-between}
.aday h4 small{color:var(--mu);font-weight:300}
.ases{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--bg2);border-radius:14px;padding:9px 11px;margin-bottom:7px;cursor:pointer;transition:.3s var(--ease)}
.ases:hover{border-color:var(--deep);transform:translateY(-2px)}
.ases b{font-weight:500;font-size:14px}.ases small{display:block;font-size:12px;color:var(--mu)}
.ases .bar{height:4px;border-radius:4px;background:var(--line);margin-top:6px;overflow:hidden}.ases .bar i{display:block;height:100%;background:var(--deep)}
.ases.full .bar i{background:var(--gold)}.ases.cancel{opacity:.5;text-decoration:line-through}

/* clientes */
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th{text-align:left;font-weight:500;font-size:13px;color:var(--mu);padding:10px;border-bottom:1px solid var(--line)}
.tbl td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr{animation:stIn .4s var(--ease) both}
.tblw{overflow-x:auto}

/* ajustes */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sw{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-top:1px solid var(--line);cursor:pointer}
.sw:first-of-type{border-top:0}
.sw b{font-weight:500;display:block}.sw span{font-size:14px;color:var(--mu)}
.tg{position:relative;flex:0 0 auto;width:48px;height:28px;border-radius:999px;background:var(--line);transition:.3s;margin-top:2px}
.tg::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:.35s var(--ease)}
.sw input{display:none}.sw input:checked+.tg{background:var(--deep)}.sw input:checked+.tg::after{transform:translateX(20px)}
.inl{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}
.inl label{font-size:14px;flex:1;min-width:180px}.inl label span{display:block;color:var(--mu);font-size:13px}
.in{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:inherit;font:inherit;min-width:0}
.in:focus{outline:0;border-color:var(--deep)}
.in.n{width:84px}.in.t{width:110px}
.rowed{display:grid;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.rowed.pkr{grid-template-columns:.8fr 1.6fr 1.3fr .8fr auto auto}
.rowed.hr{grid-template-columns:1fr .8fr .8fr 1.6fr .6fr auto auto auto}.lbl.spc{display:flex;align-items:center;gap:6px;white-space:nowrap}
.rowed .in{width:100%}
.rowed.off{opacity:.55}
.lbl{font-size:12px;color:var(--mu);display:grid;gap:4px}
.help{font-size:13px;color:var(--mu);background:var(--bg2);border-radius:14px;padding:12px 14px;margin-top:10px}
.help ol{margin:6px 0 0;padding-left:18px}
.blk{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--line)}

.modal .card{text-align:left}.modal img.full{width:100%;border-radius:14px}

/* verificación de pagos */
.review-alert{display:flex;align-items:center;gap:14px;width:100%;margin-top:14px;padding:16px 20px;border-radius:20px;border:0;cursor:pointer;text-align:left;
  background:linear-gradient(110deg,var(--gold),color-mix(in srgb,var(--gold) 70%,#fff));color:#2E2E2E;box-shadow:0 14px 30px -14px rgba(176,130,42,.7);animation:stIn .6s var(--ease),glow 2.4s ease-in-out infinite;font-size:16px}
.review-alert.bad{background:linear-gradient(110deg,#c4573f,#e08a6f);color:#fff}
.review-alert .ri{font-size:28px;line-height:1}.review-alert b{font-weight:500;display:block;font-size:17px}.review-alert .go2{margin-left:auto;font-weight:500;white-space:nowrap;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.55)}
.review-alert.bad .go2{background:rgba(255,255,255,.2)}
@keyframes glow{50%{box-shadow:0 14px 40px -10px rgba(176,130,42,.95)}}
.badge2.review{background:var(--gold);color:#2E2E2E;animation:glow 2.4s infinite}
.badge2.verified{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}
.badge2.dup{background:var(--bad);color:#fff}
.bk.needs{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.bk.isdup{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad)}
#mcard.wide{max-width:880px}
.rv-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start}
.rv-img{background:var(--bg2);border-radius:16px;overflow:hidden;display:grid;place-items:center;min-height:260px;max-height:70vh}
.rv-img img{width:100%;max-height:70vh;object-fit:contain;cursor:zoom-in}
.rv-img img.zoom{object-fit:cover;transform:scale(1.8);cursor:zoom-out}
.expect{background:var(--bg2);border-radius:16px;padding:16px 18px;margin:10px 0}
.expect small{color:var(--mu);display:block;font-size:13px}.expect b{font-size:38px;font-weight:300;letter-spacing:-.02em}
.steps2{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px;font-size:14px}
.steps2 li{display:flex;gap:10px;align-items:flex-start}.steps2 li i{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--deep);color:#fff;font-style:normal;font-size:12px;display:grid;place-items:center}
.warn{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 40%,transparent);border-radius:14px;padding:12px 14px;font-size:14px;margin:10px 0}
.warn b{font-weight:500}
.decide{display:grid;gap:8px;margin-top:14px}.decide .btn{justify-content:center;width:100%}
.qpos{font-size:13px;color:var(--mu)}
@media (max-width:760px){.rv-grid{grid-template-columns:1fr}.review-alert .go2{display:none}}

@media (max-width:900px){
  .kpis{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}
  .rowed.hr{grid-template-columns:1fr 1fr 1fr}.rowed.hr .cn{grid-column:1/-1}
  .rowed.pkr{grid-template-columns:1fr 1fr 1fr}.rowed.pkr .cn{grid-column:1/-1}
  .bk{grid-template-columns:1fr}.bk .acts2{justify-content:flex-start}.bk .price{text-align:left}
  .livepill{display:none}.daynav b{min-width:0;flex:1}
}
@media (max-width:480px){.awrap{padding:0 14px}.kpi{padding:16px}.kpi b{font-size:26px}
  .tabs{width:100%;justify-content:space-between;gap:0}.tabs button{padding:9px 9px;font-size:14px}.tabs em{margin-left:2px}}

/* pases / mensualidades / llegadas */
[hidden]{display:none!important}
.wds{display:flex;gap:4px;flex-wrap:wrap}
.wds label{cursor:pointer}.wds input{position:absolute;opacity:0;pointer-events:none}
.wds span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);font-size:13px;transition:.25s}
.wds input:checked+span{background:var(--deep);border-color:var(--deep);color:#fff}
.wds input:focus-visible+span{outline:2px solid var(--deep);outline-offset:2px}
.bk .meta.strong{color:var(--tx);font-size:14px;margin-top:2px}
.addat{margin-top:8px}
.att.pick{max-height:52vh;overflow:auto;margin-top:12px}
.qrp{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.qrbox img{display:block;width:180px;height:180px;border-radius:14px;background:#fff;padding:10px}
@media (max-width:640px){.qrp{grid-template-columns:1fr}.qrbox{justify-self:center}}