.card-page{max-width:420px}.card-page .alta-head{position:relative;flex-wrap:wrap;gap:10px 14px}.app-logo{border-radius:50%;flex:none}.first-card-access>svg{color:#bd8e10}.first-card-access>small{color:var(--muted-foreground);font-size:12px}.first-card-access>small a{color:#6a8c0d;font-weight:750}.install-chip{align-items:center;gap:6px;margin-left:auto;color:#fdf6df;border:1px solid #3a3f31;border-radius:999px;padding:7px 13px;font-weight:700;cursor:pointer}.install-chip,.install-ios{display:flex;background:#171a15;font-size:12px}.install-ios{align-items:flex-start;gap:8px;width:100%;color:#f7f5ec;border-radius:12px;padding:10px 12px;line-height:1.4;margin-top:8px}.install-ios svg{flex:none;margin-top:1px;color:#f3c426}.install-ios button{margin-left:auto;background:transparent;border:0;color:#a9a495;cursor:pointer;flex:none}.tabbar{display:flex;gap:4px;background:var(--muted);border-radius:14px;padding:4px;margin-bottom:14px}.tabbar button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;position:relative;border:0;background:transparent;border-radius:11px;padding:10px 8px;font-size:13.5px;font-weight:700;color:var(--muted-foreground);cursor:pointer}.tabbar button.on{background:#fff;color:var(--foreground);box-shadow:0 2px 8px rgba(22,27,17,.08)}.tabbar button{min-width:0;font-size:12px;padding-inline:5px}.tabbar .dot{position:absolute;top:6px;right:calc(50% - 34px);width:7px;height:7px;border-radius:50%;background:#e05a4a}.attention-banner{width:100%;background:#fff3d7;color:#8c6010;border:0;padding:12px 14px;margin-top:12px;font-size:13px;font-weight:700;cursor:pointer;text-align:left}.attention-banner,.pulse-banner{display:flex;align-items:center;gap:8px;border-radius:12px}.pulse-banner{background:#eaf7d5;color:#3c6303;padding:10px 14px;margin-bottom:14px;font-size:14px;font-weight:600;animation:pulse-in .4s ease}@keyframes pulse-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.mcard{--gold:#f3c426;--gold-soft:rgba(243,196,38,.16);position:relative;overflow:hidden;border-radius:24px;padding:22px 22px 0;background:linear-gradient(155deg,#15170f,#0a0b08 60%,#050604);color:#f7f5ec;box-shadow:0 18px 40px -12px rgba(0,0,0,.5),0 0 0 1px rgba(243,196,38,.18)}.mcard-sheen{position:absolute;inset:-40% -20%;background:linear-gradient(115deg,transparent 30%,rgba(243,196,38,.14) 45%,transparent 60%);animation:sheen 5s ease-in-out infinite;pointer-events:none}@keyframes sheen{0%,to{transform:translateX(-15%) rotate(8deg)}50%{transform:translateX(15%) rotate(8deg)}}.mcard-top{justify-content:space-between;position:relative}.mcard-brand,.mcard-top{display:flex;align-items:center;gap:10px}.mcard-logo{border-radius:50%;border:2px solid var(--gold)}.mcard-brand b{display:block;font-size:13px;letter-spacing:.08em}.mcard-brand span{display:block;font-size:11px;color:#a9a495;letter-spacing:.06em}.mcard-live{display:flex;align-items:center;gap:6px;font-size:11px;color:#a9a495;text-transform:uppercase;letter-spacing:.08em}.mcard-live i{width:7px;height:7px;border-radius:50%;background:#6a6e5f}.mcard-live.on i{background:#7ee34c;box-shadow:0 0 0 0 rgba(126,227,76,.6);animation:live-dot 1.8s infinite}@keyframes live-dot{0%{box-shadow:0 0 0 0 rgba(126,227,76,.55)}70%{box-shadow:0 0 0 7px rgba(126,227,76,0)}to{box-shadow:0 0 0 0 rgba(126,227,76,0)}}.mcard-body{justify-content:space-between;margin-top:22px;position:relative}.mcard-body,.mcard-id{display:flex;align-items:center;gap:12px}.mcard-id{min-width:0}.mcard-avatar{flex:none;width:46px;height:46px;border-radius:14px;background:var(--gold-soft);color:var(--gold);display:grid;place-items:center;font-weight:800;font-size:15px;border:1px solid rgba(243,196,38,.3)}.mcard-id b{font-size:17px;letter-spacing:-.01em}.mcard-id b,.mcard-id span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcard-id span{font-size:12px;color:#b8b4a6;margin-top:2px}.mcard-badge{flex:none;font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.mcard-badge.Activo{background:rgba(126,227,76,.16);color:#8fe860}.mcard-badge.Por-vencer{background:rgba(255,196,75,.16);color:#ffc44b}.mcard-badge.Vencido{background:rgba(255,110,95,.16);color:#ff8a7d}.mcard-badge.Pendiente{background:rgba(255,255,255,.1);color:#cfcabc}.mcard-ring{position:relative;display:flex;flex-direction:column;align-items:center;margin:26px auto 6px;width:168px;height:168px}.mcard-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:6}.ring-value{fill:none;stroke:var(--gold);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.22,.9,.3,1)}.mcard-ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.mcard-ring-label strong{font-size:46px;line-height:1;font-weight:800}.mcard-ring-label span{font-size:11px;color:#b8b4a6;text-transform:uppercase;letter-spacing:.08em;margin-top:4px;text-align:center;max-width:100px}.mcard.status-Vencido .ring-value{stroke:#ff6e5f}.mcard.status-Por-vencer .ring-value{stroke:#ffc44b}.mcard-pending{display:flex;align-items:center;gap:10px;justify-content:center;text-align:center;background:rgba(255,255,255,.06);border-radius:14px;padding:18px;margin:22px 0 6px;color:#e7e3d5;font-size:14px}.mcard-tear{display:flex;justify-content:space-between;margin-top:24px;position:relative}.mcard-tear i{width:8px;height:8px;border-radius:50%;background:var(--background,#f2f4ee)}.mcard-tear:before{left:-22px}.mcard-tear:after,.mcard-tear:before{content:"";position:absolute;top:-9px;width:18px;height:18px;border-radius:50%;background:var(--background,#f2f4ee)}.mcard-tear:after{right:-22px}.mcard-stub{display:flex;gap:16px;align-items:center;padding:18px 0 22px}.mcard-qr{flex:none;background:#fdf6df;border-radius:14px;padding:8px;line-height:0}.mcard-qr canvas{display:block;border-radius:6px}.mcard-facts{display:flex;flex-direction:column;gap:6px;min-width:0}.mcard-facts div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.mcard-facts span{color:#a9a495}.mcard-facts b{color:#f7f5ec}.mcard-facts p{margin:6px 0 0;color:#8f8b7d}.mcard-facts p,.mcard-sync{display:flex;align-items:center;gap:6px;font-size:11px}.mcard-sync{justify-content:center;color:var(--muted-foreground);margin:10px 0 20px}.mcard-sync .spin{animation:spin 2.4s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media(prefers-color-scheme:dark){.mcard-tear i,.mcard-tear:after,.mcard-tear:before{background:#0c0e0a}}@media(max-width:420px){.mcard{border-radius:20px;padding:18px 18px 0}.mcard-ring{width:150px;height:150px}.mcard-ring-label strong{font-size:40px}}.routines-tab{display:flex;flex-direction:column;gap:12px}.routine-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px}.routine-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.routine-card-head span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);font-weight:700}.routine-card-head h3{margin:4px 0 0;font-size:17px}.routine-meta{margin:6px 0 12px;font-size:13px;color:var(--muted-foreground)}.routine-availability{flex:none;border-radius:999px;padding:5px 9px;font-size:10px!important;font-weight:800!important;white-space:nowrap;background:#eef1e8;color:#5f6759!important;letter-spacing:0!important;text-transform:none!important}.routine-availability.personal{background:#171a15;color:#c8ff35!important}.routine-availability.available{background:#eaf7d5;color:#4a7103!important}.routine-card .exercise-summary{display:grid;gap:1px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.routine-notes{margin:12px 0 0;font-size:12.5px;color:var(--muted-foreground);background:var(--muted);border-radius:10px;padding:10px 12px}.member-groups-tab{display:grid;gap:14px}.group-empty{text-align:center}.group-empty>svg{color:#789a1a}.group-empty h2{font-size:18px;margin:10px 0 5px}.group-empty p{color:var(--muted-foreground);font-size:13px;line-height:1.45}.group-empty button{margin-top:10px}.member-group-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:17px;overflow:hidden}.member-group-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding-bottom:14px}.member-group-card>header small{font-size:9px;color:#7b8177;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.member-group-card>header h2{font-size:20px;margin:3px 0 0}.member-group-card>header>span{background:#171a15;color:#c8ff35;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;white-space:nowrap}.member-group-coach{display:flex;align-items:center;gap:11px;padding:15px 0}.group-coach-avatar{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:#eef2e8;color:#5e7d15;font-weight:850;flex:none}.member-group-coach>span,.member-group-notice>span,.member-next-session>span{display:grid;gap:2px;min-width:0}.member-group-coach small,.member-group-notice small,.member-next-session small{font-size:9px;color:#858b81;font-weight:800;letter-spacing:.08em}.member-group-coach b{font-size:14px}.member-group-coach em,.member-next-session em{font-size:11px;color:#747a70;font-style:normal}.member-next-session{display:flex;align-items:center;gap:10px;background:#eef2e8;border-radius:8px;padding:12px}.member-next-session>svg{color:#6f9219;flex:none}.member-next-session b{font-size:13px}.member-group-notice{display:flex;align-items:flex-start;gap:10px;background:#fff3d9;color:#76520e;border-radius:8px;padding:12px;margin-top:10px}.member-group-notice svg{flex:none}.member-group-notice p{font-size:12px;line-height:1.45;margin:1px 0 0}.member-group-payments{margin-top:18px}.member-benefits h3,.member-group-payments h3{font-size:13px;margin:0 0 9px}.member-group-payments>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.member-group-payments article{border:1px solid var(--border);border-radius:8px;padding:10px;display:grid;gap:5px;align-content:start}.member-group-payments article>span{font-size:10px;color:#7c8278;text-transform:uppercase;font-weight:750}.member-group-payments article>b{font-size:16px}.member-group-payments article button{width:100%;margin-top:5px}.member-group-payments em{font-size:9.5px;font-style:normal;font-weight:750}.member-group-payments em.paid{color:#4a7103}.member-group-payments em.due{color:#a36300}.member-group-payments>p{font-size:10.5px;color:#7a8076;line-height:1.4;margin:8px 1px 0}.member-group-payments>small{display:block;color:#9a6a12;font-size:9.5px;margin-top:5px}.group-payment-success{display:flex;align-items:center;gap:8px;border:1px solid #cfe7a7;background:#f2f9e5;color:#456b0d;border-radius:8px;padding:11px 12px;font-size:12px;font-weight:700}.member-group-classes{display:grid;gap:0;margin:16px 0;border-top:1px solid var(--border);padding-top:13px}.member-group-classes h3{font-size:13px;margin:0 0 5px}.member-group-classes>div{display:flex;align-items:flex-start;gap:9px;padding:10px 0;border-bottom:1px solid var(--border)}.member-group-classes>div>svg{color:#6f9219;flex:none;margin-top:2px}.member-group-classes span{display:grid;gap:2px}.member-group-classes b{font-size:12.5px}.member-group-classes em,.member-group-classes small{font-size:10.5px;color:#747a70;font-style:normal}.empty-group-classes p{font-size:11px;color:#858b81;margin:7px 0}.group-routines-link{width:100%;margin-top:14px}.member-group-stats{display:grid;grid-template-columns:1fr 1fr;margin:16px 0;border-block:1px solid var(--border);padding:12px 0}.member-group-stats>div{display:grid;gap:2px}.member-group-stats>div+div{border-left:1px solid var(--border);padding-left:14px}.member-group-stats b{font-size:17px}.member-group-stats span{font-size:10px;color:#7b8177;text-transform:uppercase}.member-benefits{display:grid;gap:7px}.member-benefits p{display:flex;align-items:flex-start;gap:7px;margin:0;font-size:12px;color:#5e655a}.member-benefits svg{color:#6f9219;flex:none;margin-top:1px}.traffic-tab{display:grid;gap:12px}.traffic-loading{text-align:center}.traffic-loading svg{color:#789a1a}.traffic-loading p{margin-bottom:0}.traffic-card{--traffic:#67a11b;background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(20,24,17,.05)}.traffic-card.traffic-moderate{--traffic:#d59a17}.traffic-card.traffic-busy{--traffic:#dc6d26}.traffic-card.traffic-saturated{--traffic:#d7483e}.traffic-card header{display:flex;align-items:center;gap:11px}.traffic-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--traffic) 15%,white);color:var(--traffic);flex:none}.traffic-card header>div{min-width:0;flex:1}.traffic-card header small{display:block;font-size:9px;font-weight:800;color:#858b81;letter-spacing:.09em}.traffic-card header h2{margin:2px 0 0;font-size:21px}.traffic-live{display:flex;align-items:center;gap:5px;color:#687063;font-size:10px;font-weight:800;text-transform:uppercase;white-space:nowrap}.traffic-live i{width:7px;height:7px;border-radius:50%;background:var(--traffic);animation:live-dot 1.8s infinite}.traffic-count{display:flex;align-items:baseline;gap:9px;margin:28px 0 16px}.traffic-count strong{font-size:54px;line-height:.9;color:var(--traffic)}.traffic-count span{font-size:13px;color:var(--muted-foreground)}.traffic-meter{height:14px;border-radius:7px;background:#e7eae3;overflow:hidden;position:relative}.traffic-meter i{display:block;height:100%;min-width:3px;border-radius:inherit;background:var(--traffic);transition:width .5s ease}.traffic-scale{display:flex;justify-content:space-between;margin-top:6px;color:#858b81;font-size:9px}.traffic-message{font-size:14px;font-weight:750;margin:22px 0;color:#3b4038}.traffic-card footer{display:flex;align-items:flex-start;gap:7px;border-top:1px solid var(--border);padding-top:12px;color:#858b81;font-size:11px;line-height:1.45}.traffic-card footer svg{flex:none;margin-top:1px}.bottom-nav{display:none}.member-nutrition-tab{display:grid;gap:14px}.nutrition-loading{text-align:center}.nutrition-member-pay,.nutrition-member-plan,.nutrition-progress,.nutrition-waiting{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px}.nutrition-member-pay>header,.nutrition-member-plan>header{display:flex;align-items:center;gap:11px}.nutrition-member-pay>header div,.nutrition-member-plan>header>div{flex:1}.nutrition-member-pay small,.nutrition-member-plan header small{font-size:9px;font-weight:800;color:#78933e}.nutrition-member-pay h2,.nutrition-member-plan h2{font-size:20px;margin:2px 0}.nutrition-product-list{display:grid;gap:7px;margin:15px 0}.nutrition-product-list label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--border);border-radius:8px;padding:11px;cursor:pointer}.nutrition-product-list label.on{border-color:#8faa51;background:#f5faea}.nutrition-product-list span{display:grid}.nutrition-product-list small{font-size:10px;font-weight:400;color:var(--muted-foreground)}.nutrition-product-list strong{font-size:13px}.payment-demo-note{display:block;margin-top:8px;color:var(--muted-foreground)}.nutrition-waiting{text-align:center}.nutrition-waiting svg{color:#78a51b}.nutrition-waiting span{display:flex;align-items:center;justify-content:center;gap:6px;color:#66705f}.nutrition-professional{display:flex;align-items:center;gap:10px;margin:15px 0;padding:11px;background:#f5f7f2;border-radius:8px}.nutrition-professional>div{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#243018;color:#d2ef91;font-size:12px;font-weight:800}.nutrition-professional span{display:grid}.nutrition-professional small{font-size:8px;color:#82906f;font-weight:800}.nutrition-professional b{font-size:13px}.nutrition-professional em{font-size:10px;color:var(--muted-foreground);font-style:normal}.member-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.member-macros>div{display:grid;text-align:center;padding:11px 4px;background:#eef5df;border-radius:8px}.member-macros b{font-size:15px}.member-macros span{font-size:9px;color:#65754c}.hydration{display:flex;align-items:center;gap:7px;padding:10px;background:#eaf5f7;color:#34656d;border-radius:8px}.meal-plan{margin-top:18px}.meal-plan>div{padding:11px 0;border-top:1px solid var(--border)}.meal-plan span{font-size:10px;color:#718344;text-transform:uppercase;font-weight:800}.meal-plan p,.nutrition-note p{white-space:pre-line;font-size:13px;line-height:1.5;margin:4px 0}.nutrition-note{padding:12px;background:#f6f7f4;border-radius:8px;margin-top:8px}.meal-plan h3,.nutrition-note h3,.nutrition-progress h3{font-size:14px;margin:0 0 8px}.nutrition-progress>div{display:flex;gap:9px;padding:10px 0;border-top:1px solid var(--border)}.nutrition-progress>div span{display:grid}.nutrition-progress b{font-size:12px}.nutrition-progress small{font-size:10px;color:var(--muted-foreground)}@media(max-width:640px){.card-page{padding-bottom:86px}.card-page .tabbar{display:none}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding:8px 6px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(20,24,17,.08)}.bottom-nav button{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:transparent;color:#8a9084;padding:6px 2px;border-radius:12px;font-size:9px;font-weight:700;cursor:pointer}.bottom-nav button.on{color:var(--gold,#c99a1f);background:rgba(201,154,31,.1)}.bottom-nav .dot{position:absolute;top:4px;right:calc(50% - 26px);width:7px;height:7px;border-radius:50%;background:#e05a4a}}@media(max-width:380px){.card-page{padding-inline:10px}.mcard{padding-inline:14px}.mcard-body,.mcard-top{align-items:flex-start}.mcard-body{flex-wrap:wrap}.mcard-badge{margin-left:58px}.mcard-brand b{font-size:11px}.mcard-brand span,.mcard-live{font-size:9px}.mcard-stub{flex-direction:column;align-items:stretch}.mcard-qr{align-self:center}.mcard-qr canvas{width:148px!important;height:148px!important}.mcard-facts{width:100%}.install-chip{width:100%;justify-content:center;margin-left:0}.bottom-nav button{font-size:8px;padding-inline:0}.bottom-nav button svg{width:19px;height:19px}.member-macros{grid-template-columns:1fr 1fr}}