.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(61,220,132,.6);animation:pulse 1.6s infinite;vertical-align:middle;margin-right:4px}.live-dot.big{width:14px;height:14px}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.55)}70%{box-shadow:0 0 0 10px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}.row-between{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.scroll-x{overflow-x:auto}.box.nopad{padding:0}.tbl{width:100%;border-collapse:collapse;font-size:.92rem}.tbl th{text-align:left;color:var(--mute);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.live-card{position:relative;z-index:1;background:var(--card);border:1px solid var(--line2);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--sh)}.live-head{font:600 .9rem var(--ff-h);display:flex;align-items:center;gap:6px}.live-head .muted{margin-left:auto}.live-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.live-stats div{background:var(--bg);border-radius:14px;padding:16px;display:flex;flex-direction:column}.live-stats b{font:800 2.6rem/1 var(--ff-h);color:var(--acc)}.live-stats span{color:var(--mute);font-size:.86rem;margin-top:6px}.hum{display:grid;grid-template-columns:120px 1fr 44px;gap:10px;align-items:center;font-size:.9rem;padding:5px 0}.hum-bar{height:8px;background:var(--bg);border-radius:4px;overflow:hidden}.hum-bar i{display:block;height:100%;background:linear-gradient(90deg,#ff8a3d,#ff3d6e);border-radius:4px}.hum b{text-align:right;font-family:var(--ff-h)}.steps-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.step-n{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--acc);color:var(--acc-tx);font:800 1.1rem var(--ff-h);margin-bottom:14px}.floors{display:flex;flex-direction:column;gap:10px}.floor{display:grid;grid-template-columns:90px 1fr;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px}.floor-n{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line);padding-right:12px}.floor-n b{font:800 2.2rem/1 var(--ff-h);color:var(--acc)}.floor-n small{color:var(--mute)}.floor h3{margin:0 0 4px}.floor .chips{margin:6px 0 0}.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.plan{display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--c);border-radius:var(--r);padding:22px}.plan-tag{font:700 .8rem var(--ff-h);letter-spacing:.12em;text-transform:uppercase;color:var(--c)}.plan-price{font:800 1.8rem var(--ff-h)}.plan-price small{font-size:.9rem;color:var(--mute);font-weight:500}.plan-list{list-style:none;padding:0;margin:0 0 auto;display:grid;gap:6px;font-size:.92rem}.plan-list .no{color:#5c646d}.plan-list .si{color:#d7dde2}.schedule td{min-width:120px;vertical-align:top}.cls{display:block;font:600 .78rem var(--ff-h);padding:5px 8px;border-radius:7px;margin-bottom:4px;background:var(--bg)}.cls-hyrox{color:#ffd23d;background:rgba(255,210,61,.1)}.cls-crossfit{color:#ff6b3d;background:rgba(255,107,61,.1)}.cls-baile{color:#ff3d8b;background:rgba(255,61,139,.1)}.cls-funcional{color:var(--acc2);background:rgba(61,224,255,.1)}.tv-stats{display:flex;gap:18px;flex-wrap:wrap;font-size:.95rem;color:var(--mute)}.tv-stats b{font:800 1.5rem var(--ff-h);color:var(--tx);margin-right:4px}.floor-tabs{margin-top:0}.live-layout{display:grid;grid-template-columns:1fr 300px;gap:22px;align-items:start;padding-bottom:60px}.live-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:0}.live-floor{margin-bottom:28px}.live-floor-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.live-floor-head h2{font-size:1.3rem;margin:0}.zone-t{font:600 .78rem var(--ff-h);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:16px 0 8px}.mq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.mq{position:relative;border-radius:14px;padding:12px 12px 14px;border:1px solid var(--line);background:var(--card);min-height:118px;display:flex;flex-direction:column;gap:4px;transition:background .3s,border-color .3s}.mq.libre{border-color:rgba(61,220,132,.45);background:linear-gradient(160deg,rgba(61,220,132,.1),var(--card) 70%)}.mq.ocupada{border-color:rgba(255,93,93,.55);background:linear-gradient(160deg,rgba(255,93,93,.14),var(--card) 70%)}.mq.mantenimiento{opacity:.5;border-style:dashed}.mq-top{display:flex;justify-content:space-between;align-items:center}.mq-code{font:700 .72rem var(--ff-h);color:var(--mute);letter-spacing:.06em}.mq-sensor{color:var(--acc);font-size:.7rem}.mq-name{font-weight:700;font-size:.9rem;line-height:1.25}.mq-state{margin-top:auto;font:700 .85rem var(--ff-h)}.mq.libre .mq-state{color:var(--ok)}.mq-reps{display:flex;align-items:baseline;gap:6px;margin-top:auto}.mq-reps b{font:800 2rem/1 var(--ff-h);color:#ff7a7a}.mq-reps span{color:var(--mute);font-size:.8rem}.mq-meta{font-size:.75rem;color:var(--mute)}.mq-user{font:600 .75rem var(--ff-h);color:var(--acc)}.ranking{list-style:none;padding:0;margin:0;display:grid;gap:6px}.ranking li{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg);border-radius:10px}.ranking li b{margin-left:auto;font-family:var(--ff-h);color:var(--acc)}.rk{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--line2);font:800 .78rem var(--ff-h)}.ranking li:first-child .rk{background:var(--acc);color:var(--acc-tx)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem}.lg{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:4px;vertical-align:-1px}.lg.libre{background:var(--ok)}.lg.ocupada{background:var(--err)}.lg.mantenimiento{border:1px dashed var(--mute)}body.tv{padding:24px 32px;overflow:hidden}.tv-head{display:flex;align-items:center;gap:28px;margin-bottom:22px}.tv-head h1{margin:0;font-size:2.4rem}.tv-head .tv-stats{margin-left:auto;font-size:1.2rem}.tv-head .tv-stats b{font-size:2.2rem}.tv-clock{font:800 2.2rem var(--ff-h);color:var(--acc)}body.tv .live-layout{grid-template-columns:1fr 360px}body.tv .mq-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}body.tv .mq{min-height:150px}body.tv .mq-name{font-size:1.05rem}body.tv .mq-reps b{font-size:2.8rem}.member-card{position:relative;overflow:hidden;border-radius:22px;padding:26px;background:radial-gradient(90% 120% at 100% 0,color-mix(in srgb,var(--c) 30%,transparent),transparent 60%),var(--card);border:1px solid color-mix(in srgb,var(--c) 50%,var(--line));display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.member-card .plan-tag{font-size:.9rem}.member-card h2{margin:6px 0 4px}.member-dias{font:800 3rem/1 var(--ff-h);color:var(--c)}.member-dias small{font-size:1rem;color:var(--mute);font-weight:600}.qr-box{background:#fff;padding:12px;border-radius:14px;width:172px;height:172px;display:grid;place-items:center}.qr-box canvas,.qr-box img{width:148px!important;height:148px!important}.qr-code{font:700 .9rem var(--ff-h);letter-spacing:.12em;text-align:center;margin-top:8px;color:var(--mute)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:4px}.kpi span{color:var(--mute);font-size:.8rem;font-weight:600}.kpi b{font:800 1.45rem var(--ff-h)}.kpi small{color:var(--mute);font-size:.76rem}.kpi.acc b{color:var(--acc)}.grid-2c{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.bars{display:flex;align-items:flex-end;gap:4px;height:160px;padding-top:10px}.bar{flex:1;height:max(var(--h),3px);background:linear-gradient(to top,var(--acc),#8bea2a);border-radius:4px 4px 0 0}.bars-x{display:flex;justify-content:space-between;color:var(--mute);font-size:.75rem;margin-top:6px}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.slot{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border-radius:10px;border:1px solid var(--line2);background:var(--bg);font:600 .9rem var(--ff-h);color:var(--tx);cursor:pointer;width:100%}.slot small{font:500 .72rem var(--ff);color:var(--mute)}.slot:hover{border-color:var(--acc)}.slot.full,.slot:disabled{opacity:.35;cursor:not-allowed}.slot.mine{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent)}.day-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.day-tabs a{padding:8px 12px;border-radius:10px;border:1px solid var(--line2);font:600 .82rem var(--ff-h);text-align:center}.day-tabs a small{display:block;color:var(--mute);font-weight:500}.day-tabs a.on{background:var(--acc);color:var(--acc-tx);border-color:var(--acc)}.day-tabs a.on small{color:var(--acc-tx)}.class-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.class-row:last-child{border-bottom:0}.login-box{max-width:420px;margin:8vh auto 60px}@media (max-width:1080px){.plans{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:860px){.grid-2c,.live-layout{grid-template-columns:1fr}.live-side{position:static}.steps-3{grid-template-columns:1fr}.member-card{grid-template-columns:1fr;justify-items:start}}@media (max-width:560px){.plans{grid-template-columns:1fr}.mq-grid{grid-template-columns:repeat(2,1fr)}.floor{grid-template-columns:64px 1fr}}.qr-box svg{width:148px;height:148px;display:block}