:root{--st-electric-blue: #0077ff;--st-neon-lilac: #b266ff;--st-fuchsia: #ff4fd8;--st-lime: #52ffb8;--st-night: #0a0f2c;--st-smoke: #d9d9d9;--st-coral: #ff3366;--st-white: #ffffff;--st-gradient: linear-gradient(90deg, var(--st-electric-blue), var(--st-neon-lilac), var(--st-fuchsia));--radius-lg: 22px;--radius-md: 16px;--shadow-neon: 0 0 0 1px rgba(255, 255, 255, .06), 0 18px 60px rgba(0, 0, 0, .55);--glow: 0 0 18px rgba(178, 102, 255, .38), 0 0 26px rgba(0, 119, 255, .22);--font-title: Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--font-body: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--font-number: "Space Grotesk", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--ease-out-soft: cubic-bezier(.22, 1, .36, 1);--ease-in-out-soft: cubic-bezier(.45, 0, .55, 1)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);color:#ffffffeb;background:radial-gradient(1200px 600px at 50% -10%,rgba(0,119,255,.22),transparent 55%),radial-gradient(900px 460px at 70% 10%,rgba(255,79,216,.14),transparent 58%),radial-gradient(900px 460px at 15% 20%,rgba(178,102,255,.16),transparent 60%),var(--st-night);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}@media(prefers-reduced-motion:no-preference){*{scroll-behavior:smooth}}.appShell{min-height:100vh;display:flex;flex-direction:column}.navWrap{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a0f2c9e;border-bottom:1px solid rgba(217,217,217,.08)}.nav{max-width:1180px;margin:0 auto;padding:14px 18px;display:flex;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:10px;min-width:160px}.brandMark{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#ffffff0f;box-shadow:var(--glow);color:#ffffffeb;transition:transform .3s var(--ease-out-soft),box-shadow .3s ease;animation:st-scale-in .5s var(--ease-out-soft) both}.brandMark:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 0 24px #b266ff80,0 0 32px #0077ff4d}.brandMark img{transition:transform .3s var(--ease-out-soft)}.brandMark:hover img{transform:scale(1.1)}.brandMark,.btn,.navLink,.featureCard,.card,.profileButton,.menuItem{will-change:transform}.brandText{font-family:var(--font-title);font-weight:800;font-size:22px;letter-spacing:.2px;background:var(--st-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.navLinks{display:flex;align-items:center;justify-content:center;gap:22px;flex:1}.navLink{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;letter-spacing:.2px;color:#ffffffd9;padding:10px 12px;border-radius:12px;position:relative;transition:background .2s var(--ease-out-soft),color .2s ease,transform .2s var(--ease-out-soft);animation:st-fade-in .4s var(--ease-out-soft) both}.navLink:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--st-gradient);transform:translate(-50%);transition:width .3s var(--ease-out-soft)}.navLink.active{background:#ffffff14;color:#fffffff5}.navLink.active:after{width:80%}.navLink:hover{background:#ffffff0f;color:#fffffff2}.navLink:hover:after{width:60%}.navIcon{display:inline-flex;color:#fffc}.navActions{display:flex;align-items:center;justify-content:flex-end;min-width:160px}.profileWrap{position:relative;display:flex;align-items:center}.profileButton{border:1px solid rgba(217,217,217,.14);background:#0a0f2c38;color:#ffffffeb;border-radius:16px;padding:8px 10px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;box-shadow:0 14px 30px #00000059;transition:transform .14s var(--ease-out-soft),background .14s ease,border-color .14s ease}.profileButton:hover{background:#ffffff0f;border-color:#ff4fd838}.profileButton:active{transform:scale(.98)}.avatar{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-weight:900;letter-spacing:.3px;background:#ffffff0f;box-shadow:var(--glow)}.profileMeta{display:grid;gap:2px;min-width:0;text-align:left}.profileName{font-weight:900;font-size:13px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.profileEmail{font-size:12px;color:#ffffffb8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.chev{display:inline-flex;color:#ffffffbf}.menu{position:absolute;right:0;top:calc(100% + 10px);width:280px;border-radius:18px;background:#0a0f2cd1;border:1px solid rgba(217,217,217,.14);box-shadow:var(--shadow-neon);overflow:hidden;animation:st-pop .18s var(--ease-out-soft) both}.menuHeader{padding:14px 14px 12px;border-bottom:1px solid rgba(217,217,217,.1)}.menuTitle{font-family:var(--font-title);font-weight:900;letter-spacing:.2px}.menuSub{color:#ffffffb8;font-size:13px;margin-top:2px}.menuItems{display:grid;padding:8px;gap:6px}.menuItem{width:100%;border:1px solid rgba(217,217,217,.12);background:#ffffff0a;color:#ffffffeb;border-radius:14px;padding:10px 12px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:800;letter-spacing:.2px;transition:transform .14s var(--ease-out-soft),background .14s ease,border-color .14s ease}.menuItem:hover{background:#ffffff12;border-color:#b266ff38;transform:translateY(-1px)}.menuItem.danger{border-color:#ff336647;background:#ff336614}.menuItem.danger:hover{border-color:#ff33666b;background:#ff33661f}.page{max-width:1180px;margin:0 auto;padding:26px 18px 56px;flex:1;width:100%}.heroWrap{padding:28px 0 26px}.heroCard{position:relative;border-radius:26px;background:radial-gradient(800px 420px at 20% 20%,rgba(0,119,255,.75),transparent 60%),radial-gradient(700px 420px at 80% 25%,rgba(255,79,216,.5),transparent 58%),radial-gradient(680px 420px at 65% 70%,rgba(178,102,255,.6),transparent 55%),#ffffff0a;border:1px solid rgba(217,217,217,.14);box-shadow:var(--shadow-neon);overflow:hidden}.heroGlow{position:absolute;inset:-3px;background:var(--st-gradient);opacity:.16;filter:blur(26px);transform:translateZ(0)}.heroInner{position:relative;padding:66px 38px;text-align:center}.heroTitle{margin:0 0 16px;font-family:var(--font-title);font-weight:800;font-size:56px;line-height:1.05;letter-spacing:.3px;color:#fffffff5;text-shadow:0 8px 28px rgba(0,0,0,.35)}.heroSubtitle{margin:0 auto 28px;max-width:760px;font-size:16px;line-height:1.65;color:#ffffffc7}.heroActions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;position:relative;overflow:hidden;transition:transform .2s var(--ease-out-soft),box-shadow .2s ease,background .2s ease,opacity .2s ease;animation:st-fade-up .4s var(--ease-out-soft) both}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .4s var(--ease-out-soft),height .4s var(--ease-out-soft)}.btn:active:after{width:300px;height:300px}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none;background:#ffffff1a!important;color:#fff9!important;box-shadow:none!important}.btnIcon{display:inline-flex}.btnPrimary{background:var(--st-gradient);color:var(--st-white);box-shadow:0 14px 30px #b266ff38,0 10px 22px #0077ff26}.btnPrimary:hover{box-shadow:0 18px 44px #ff4fd82e,0 14px 30px #b266ff3d}.btnGhost{background:#0a0f2c33;color:#ffffffe6;border:1px solid rgba(217,217,217,.18);box-shadow:0 14px 30px #00000059}.btnGhost:hover{background:#ffffff0f}.btnSmall{padding:10px 14px;font-size:12px}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:18px}.featureCard{border-radius:var(--radius-lg);background:#ffffff0a;border:1px solid rgba(217,217,217,.12);box-shadow:0 18px 55px #00000080;padding:22px 20px;min-height:150px;position:relative;overflow:hidden;transition:transform .3s var(--ease-out-soft),border-color .3s ease,box-shadow .3s ease}.featureCard:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(178,102,255,.1),transparent 70%);opacity:0;transition:opacity .3s ease}.featureCard:hover{transform:scale(1.02);border-color:#ff4fd859;box-shadow:0 26px 75px #0000008c,0 0 40px #b266ff33}.featureCard:hover:before{opacity:1}.featureIcon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#ffffff0f;box-shadow:var(--glow);color:#ffffffeb;margin-bottom:14px}.featureTitle{margin:0 0 8px;font-family:var(--font-title);font-size:18px;font-weight:800;letter-spacing:.2px}.featureDesc{margin:0;color:#ffffffbd;line-height:1.6;font-size:14px}.pageHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:6px 0 18px}.pageTitle{margin:0 0 6px;font-family:var(--font-title);font-weight:800;letter-spacing:.2px}.pageSubtitle{margin:0;color:#ffffffb8;line-height:1.6}.muted{color:#ffffffb3}.panel .form+.muted{margin-top:20px;text-align:center}.alert{margin:14px 0;padding:12px 14px;border-radius:14px;border:1px solid rgba(217,217,217,.12);background:#ffffff0a}.alertError{border-color:#ff336659;background:#ff33661f}.alertOk{border-color:#52ffb840;background:#52ffb81a}.centerWrap{display:flex;justify-content:center;padding:28px 0 40px}.panel{width:100%;max-width:720px;border-radius:var(--radius-lg);background:#ffffff0a;border:1px solid rgba(217,217,217,.12);box-shadow:0 18px 55px #00000080;padding:28px 24px}.panel .form{margin-top:20px}.modalOverlay{position:fixed;inset:0;z-index:60;background:#0000008c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:18px}.modal{width:min(640px,100%);border-radius:22px;background:#0a0f2ce0;border:1px solid rgba(217,217,217,.14);box-shadow:var(--shadow-neon);overflow:hidden;animation:st-pop .18s var(--ease-out-soft) both}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid rgba(217,217,217,.1)}.modalTitle{font-family:var(--font-title);font-weight:900;letter-spacing:.2px}.modalSub{margin-top:4px;font-size:13px;color:#ffffffb8}.modalBody{padding:16px}.modalInstalacion{max-width:600px;width:min(90vw,600px)}.instalacionDetailGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px}.instalacionDetailSection{display:flex;flex-direction:column;gap:12px}.detailSectionTitle{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#ffffffb3;margin:0}.detailText{font-size:15px;line-height:1.6;color:#ffffffe6;margin:0;display:flex;align-items:flex-start;gap:8px}.detailIcon{font-size:18px;flex-shrink:0;margin-top:2px;color:#b266ffe6}.detailPrice{display:flex;flex-direction:column;gap:4px}.detailPriceValue{font-size:32px;font-weight:900;font-family:var(--font-number);color:#52ffb8f2;line-height:1.2;letter-spacing:-.5px}.detailPriceUnit{font-size:13px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.detailBadge{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#b266ff26;border:1px solid rgba(178,102,255,.3);border-radius:12px;font-size:14px;font-weight:700;color:#fffffff2;width:fit-content}.detailBadgeIcon{font-size:20px;color:#fffffff2}.instalacionDetailFooter{display:flex;justify-content:flex-end;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);margin-top:8px}@media(max-width:640px){.instalacionDetailGrid{grid-template-columns:1fr;gap:20px}.detailPriceValue{font-size:28px}}.iconBtn{border:1px solid rgba(217,217,217,.14);background:#ffffff0a;color:#ffffffe6;border-radius:12px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;transition:transform .14s var(--ease-out-soft),background .14s ease}.iconBtn:hover{background:#ffffff12}.paySummary{border-radius:18px;background:#ffffff0a;border:1px solid rgba(217,217,217,.12);padding:12px 14px;margin-bottom:12px}.payLine{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.payHint{margin-top:6px;font-size:13px;color:#ffffffad}.savedCardsList{display:flex;flex-direction:column;gap:8px;margin-top:8px}.savedCardItem{display:flex;align-items:center;gap:8px;position:relative}.savedCardBtn{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(217,217,217,.14);background:#ffffff0a;border-radius:12px;cursor:pointer;transition:all .2s var(--ease-out-soft);text-align:left;flex:1}.savedCardDelete{width:32px;height:32px;border:1px solid rgba(244,67,54,.3);background:#f443361a;color:#ef9a9af2;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;transition:all .2s var(--ease-out-soft);flex-shrink:0}.savedCardDelete:hover{background:#f4433633;border-color:#f4433680;transform:scale(1.05)}.savedCardDelete:disabled{opacity:.5;cursor:not-allowed}.savedCardDelete:disabled:hover{transform:none}.savedCardBtn:hover{background:#ffffff14;border-color:#b266ff4d;transform:translateY(-1px)}.savedCardBtn:disabled{opacity:.5;cursor:not-allowed}.savedCardBtn:disabled:hover{transform:none;background:#ffffff0a;border-color:#d9d9d924}.savedCardInfo{display:flex;flex-direction:column;gap:4px;flex:1}.savedCardName{font-weight:800;font-size:14px;color:#fffffff2}.savedCardNumber{font-size:12px;color:#ffffffb3;font-weight:700;letter-spacing:.5px}.savedCardExp{font-size:12px;color:#fff9;font-weight:700}.checkboxLabel{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#ffffffd9;-webkit-user-select:none;user-select:none}.checkboxLabel input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:rgba(178,102,255,.8);border-radius:4px}.checkboxLabel:has(input:disabled){opacity:.5;cursor:not-allowed}.modalActions{display:flex;gap:12px;justify-content:flex-end;padding-top:4px}.payProcessing{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:12px 0 6px}.payProcessingTitle{font-weight:900}.spinner{width:34px;height:34px;border-radius:999px;border:3px solid rgba(255,255,255,.18);border-top-color:#ff4fd8bf;animation:st-spin .9s linear infinite}.progress{grid-column:1 / -1;height:10px;border-radius:999px;background:#ffffff14;overflow:hidden;border:1px solid rgba(217,217,217,.1)}.progressBar{height:100%;width:40%;background:var(--st-gradient);animation:st-progress 1.4s var(--ease-in-out-soft) infinite}.form{display:flex;flex-direction:column;gap:18px;margin-top:16px}.formActions{margin-top:8px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.btnLarge{width:100%;padding:16px 24px;font-size:15px;font-weight:900;letter-spacing:.4px}.field{display:flex;flex-direction:column;gap:6px}.fieldRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.labelRow{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.label{font-weight:800;letter-spacing:.3px;text-transform:uppercase;font-size:12px;color:#fffc}.input{padding:12px 14px;border-radius:14px;border:1px solid rgba(217,217,217,.14);background:#0a0f2c59;color:#ffffffeb;outline:none;width:100%}.input:focus{border-color:#b266ff66;box-shadow:var(--glow)}.inputReadonly{cursor:not-allowed;opacity:.7;background:#0a0f2c40!important}.inputReadonly:focus{border-color:#d9d9d924;box-shadow:none}.fieldHint{font-size:11px;color:#ffffff80;margin-top:4px;font-style:italic}.inputWrap{position:relative;display:flex;align-items:center}.inputWrap .input{padding-right:44px}.inputToggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:0;padding:8px;cursor:pointer;color:#ffffffb3;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:color .2s ease,background .2s ease}.inputToggle:hover{color:#ffffffe6;background:#ffffff0f}.inputToggle:active{transform:translateY(-50%) scale(.95)}.dayPills{display:flex;gap:8px;flex-wrap:wrap;padding-top:8px;margin-bottom:4px}.pill{border:1px solid rgba(217,217,217,.14);background:#ffffff0a;color:#ffffffe6;border-radius:10px;padding:10px 16px;cursor:pointer;font-weight:900;font-size:13px;letter-spacing:.3px;transition:all .2s var(--ease-out-soft);position:relative;overflow:hidden}.pill:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#b266ff1a,#ff4fd81a);opacity:0;transition:opacity .2s ease}.pill:hover{background:#ffffff14;border-color:#b266ff40;transform:translateY(-1px)}.pill:hover:before{opacity:1}.pillActive{border-color:#b266ff80;background:#b266ff1f;box-shadow:0 0 0 2px #b266ff26,var(--glow)}.pillActive:before{opacity:1}.slotGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding-top:12px}@media(min-width:768px){.slotGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}.slotBtn{border:1px solid rgba(217,217,217,.12);background:#ffffff0a;color:#ffffffeb;border-radius:12px;padding:14px 16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:900;transition:all .2s var(--ease-out-soft);position:relative;overflow:hidden}.slotBtn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#b266ff14,#ff4fd814);opacity:0;transition:opacity .2s ease}.slotBtn:hover:before{opacity:1}.slotBtn:hover{background:#ffffff14;border-color:#b266ff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.slotBusy{opacity:.5;cursor:not-allowed}.slotBusy:hover{transform:none;background:#ffffff0a;border-color:#d9d9d91f;box-shadow:none}.slotBusy:before{display:none}.slotSelected{border-color:#ff4fd880;background:#ff4fd81a;box-shadow:0 0 0 2px #ff4fd826,0 4px 16px #ff4fd833}.slotSelected:before{opacity:1}.slotTime{font-size:14px;font-weight:900;letter-spacing:.3px;position:relative;z-index:1}.slotTag{font-size:10px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;padding:4px 8px;border-radius:6px;position:relative;z-index:1}.slotTagFree{background:#4caf5033;color:#81c784f2;border:1px solid rgba(76,175,80,.3)}.slotTagBusy{background:#f4433633;color:#ef9a9af2;border:1px solid rgba(244,67,54,.3)}.reservaSummary{background:#ffffff08;border:1px solid rgba(217,217,217,.1);border-radius:12px;padding:16px 18px;margin-top:8px;display:flex;flex-direction:column;gap:10px}.reservaSummaryRow{display:flex;justify-content:space-between;align-items:center;font-size:14px}.reservaSummaryTotal{padding-top:10px;border-top:1px solid rgba(255,255,255,.08);font-weight:900;font-size:16px;color:#fffffff2}.reservaSummaryValue{font-weight:900;color:#fffffff2}.reservaSummaryError{margin-top:4px;padding:10px 12px;background:#f4433626;border:1px solid rgba(244,67,54,.3);border-radius:8px;color:#ef9a9af2;font-size:12px;font-weight:700}.toolbar{display:grid;grid-template-columns:1fr 260px;gap:14px;margin:12px 0 18px}.toolbar3{grid-template-columns:1fr 200px 200px 200px}.gridCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:10px;align-items:stretch}.card{border-radius:var(--radius-lg);background:#ffffff0a;border:1px solid rgba(217,217,217,.12);box-shadow:0 18px 55px #00000080;padding:20px;height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:transform .3s var(--ease-out-soft),border-color .3s ease,box-shadow .3s ease}.card:hover{transform:scale(1.01);border-color:#ff4fd840;box-shadow:0 24px 70px #0009,0 0 30px #b266ff26}.card:hover:before{transform:translate(100%);border-color:#ff4fd838;box-shadow:0 26px 75px #0000008c}:focus-visible{outline:2px solid rgba(178,102,255,.55);outline-offset:2px}@keyframes st-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes st-fade-in{0%{opacity:0}to{opacity:1}}@keyframes st-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes st-slide-in-right{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes st-slide-in-left{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes st-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes st-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes st-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes st-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes st-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes st-glow{0%,to{box-shadow:0 0 20px #b266ff4d}50%{box-shadow:0 0 30px #b266ff80,0 0 40px #0077ff4d}}@keyframes st-ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes st-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes st-progress{0%{transform:translate(-120%)}to{transform:translate(240%)}}@keyframes st-text-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.appShell{animation:st-fade-in .3s var(--ease-out-soft)}.navWrap{animation:st-slide-in-right .4s var(--ease-out-soft) both}.heroCard{animation:st-scale-in .6s var(--ease-out-soft) both}.heroTitle{animation:st-text-reveal .5s var(--ease-out-soft) .1s both}.heroSubtitle{animation:st-text-reveal .5s var(--ease-out-soft) .2s both}.heroActions{animation:st-fade-up .5s var(--ease-out-soft) .3s both}.panel{animation:st-fade-up .45s var(--ease-out-soft) both}.featureCard{animation:st-fade-up .5s var(--ease-out-soft) both;animation-delay:calc(var(--stagger, 0) * 80ms)}.featureIcon{animation:st-float 3s var(--ease-in-out-soft) infinite;animation-delay:calc(var(--stagger, 0) * .2s)}.card{animation:st-fade-up .45s var(--ease-out-soft) both;animation-delay:calc(var(--stagger, 0) * 60ms);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.03),transparent);transform:translate(-100%);transition:transform .6s var(--ease-out-soft)}.card:hover:before{transform:translate(100%)}.cardTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:12px;letter-spacing:.3px;text-transform:uppercase;padding:8px 10px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(217,217,217,.12)}.price{display:flex;align-items:baseline;gap:6px}.priceNumber{font-family:var(--font-number);font-weight:800;font-size:18px}.priceUnit{font-size:12px;color:#ffffffb8}.cardTitle{margin:0 0 8px;font-family:var(--font-title);font-weight:800;letter-spacing:.2px;flex-shrink:0}.cardDesc{margin:0 0 12px;color:#ffffffbd;line-height:1.6;flex:1 1 auto;min-height:48px}.cardMeta{color:#ffffffb3;font-size:13px;margin-top:auto;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.cardActions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:16px;margin-top:12px;flex-shrink:0}.cardActions .btn{min-height:44px;height:44px;display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box}.chip{display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:12px;letter-spacing:.3px;text-transform:uppercase;padding:8px 10px;border-radius:999px;border:1px solid rgba(217,217,217,.12);background:#ffffff0d;color:#ffffffd9}.chip-abierto{border-color:#52ffb840;background:#52ffb81a}.chip-cerrado{border-color:#ff336647;background:#ff33661a}.chip-finalizado{border-color:#d9d9d92e;background:#d9d9d912}@media(max-width:980px){.heroTitle{font-size:46px}.features,.gridCards,.toolbar,.toolbar3{grid-template-columns:1fr}.navLinks{display:none}.brand,.navActions{min-width:auto}}@media(max-width:520px){.heroInner{padding:54px 18px}.heroTitle{font-size:40px}.fieldRow{grid-template-columns:1fr}.slotGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}.adminPage{padding:0}.adminLoading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;min-height:400px}.adminSpinner{width:48px;height:48px;border-radius:50%;border:4px solid rgba(178,102,255,.2);border-top-color:#b266ffcc;animation:st-spin .8s linear infinite}.adminHeader{margin-bottom:32px}.adminTitle{font-size:36px;font-weight:900;letter-spacing:-.5px;margin:0 0 8px;background:linear-gradient(135deg,#fffffffa,#ffffffd9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.adminSubtitle{font-size:16px;color:#fff9;margin:0;font-weight:500}.adminMetrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.metricCard{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:24px;display:flex;align-items:flex-start;gap:16px;transition:all .3s var(--ease-out-soft);position:relative;overflow:hidden}.metricCard:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#b266ff1a,#ff4fd80d);opacity:0;transition:opacity .3s ease}.metricCard:hover{transform:translateY(-4px);border-color:#b266ff4d;box-shadow:0 12px 40px #0006,0 0 0 1px #b266ff1a}.metricCard:hover:before{opacity:1}.metricCardPrimary{border-color:#b266ff33}.metricCardSuccess{border-color:#52ffb833}.metricCardSuccess:before{background:linear-gradient(135deg,#52ffb81a,#52ffb80d)}.metricCardAccent{border-color:#07f3}.metricCardAccent:before{background:linear-gradient(135deg,#0077ff1a,#0077ff0d)}.metricCardSecondary{border-color:#ff4fd833}.metricIcon{font-size:32px;line-height:1;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));display:flex;align-items:center;justify-content:center;color:#ffffffe6}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.metricContent{flex:1;min-width:0}.metricLabel{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3;margin-bottom:8px}.metricValue{font-size:32px;font-weight:900;font-family:var(--font-number);color:#fffffffa;line-height:1.2;margin-bottom:6px;letter-spacing:-.5px}.metricChange{font-size:12px;font-weight:600;color:#ffffff80}.adminCharts{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.adminChartCard{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px;box-shadow:0 8px 32px #0000004d;transition:all .3s var(--ease-out-soft)}.adminChartCard:hover{border-color:#b266ff40;box-shadow:0 12px 48px #0006}.chartHeader{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;gap:16px}.chartTitle{font-size:20px;font-weight:900;margin:0;color:#fffffff2;letter-spacing:-.3px}.chartSubtitle{font-size:13px;color:#ffffff80;font-weight:600}.adminTableCard{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px;box-shadow:0 8px 32px #0000004d;overflow:hidden}.tableHeader{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;gap:16px}.tableTitle{font-size:20px;font-weight:900;margin:0;color:#fffffff2;letter-spacing:-.3px}.tableSubtitle{font-size:13px;color:#ffffff80;font-weight:600}.tableWrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.adminTable{width:100%;border-collapse:collapse;font-size:14px}.adminTable thead{background:#ffffff08}.adminTable th{padding:14px 16px;text-align:left;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#ffffffb3;border-bottom:2px solid rgba(255,255,255,.1);white-space:nowrap}.adminTable th.textRight{text-align:right}.adminTable tbody tr{border-bottom:1px solid rgba(255,255,255,.06);transition:all .2s ease}.adminTable tbody tr:hover{background:#ffffff08}.adminTable td{padding:16px;color:#ffffffe6;vertical-align:middle}.tableId{font-weight:800;color:#b266ffe6;font-family:var(--font-number)}.tableInstalacion{font-weight:700;color:#fffffff2;margin-bottom:4px}.tableTipo{font-size:12px;color:#ffffff80;text-transform:capitalize}.tableUsuario{font-weight:700;color:#fffffff2;margin-bottom:4px}.tableEmail{font-size:12px;color:#ffffff80}.tableDate{font-weight:600;color:#ffffffd9;white-space:nowrap}.tableTime{font-weight:600;color:#ffffffd9;font-family:var(--font-number);white-space:nowrap}.tablePrice{font-weight:800;color:#52ffb8f2;font-family:var(--font-number);font-size:15px}.textRight{text-align:right}.statusBadge{display:inline-block;padding:6px 12px;border-radius:8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.statusConfirmada{background:#52ffb826;color:#81c784f2;border:1px solid rgba(82,255,184,.3)}.statusPendiente{background:#ffa50026;color:#ffb74df2;border:1px solid rgba(255,165,0,.3)}.statusCancelada{background:#f4433626;color:#ef9a9af2;border:1px solid rgba(244,67,54,.3)}.tableEmpty{text-align:center;padding:48px 16px;color:#ffffff80;font-size:14px}@media(max-width:768px){.adminMetrics{grid-template-columns:1fr}.adminTitle{font-size:28px}.chartHeader,.tableHeader{flex-direction:column;align-items:flex-start}.adminTable{font-size:12px}.adminTable th,.adminTable td{padding:12px 10px}}.footer{margin-top:80px;background:#0a0f2c99;border-top:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(178,102,255,.5),rgba(255,79,216,.5),transparent)}.footerContent{max-width:1280px;margin:0 auto;padding:60px 24px 40px;display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:48px}.footerSection{display:flex;flex-direction:column}.footerBrand{display:flex;flex-direction:column;gap:16px}.footerLogo{display:flex;align-items:center;gap:12px;text-decoration:none;transition:transform .2s var(--ease-out-soft)}.footerLogo:hover{transform:translateY(-2px)}.footerBrandText{font-size:24px;font-weight:900;font-family:var(--font-title);background:var(--st-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footerDescription{font-size:14px;line-height:1.6;color:#ffffffb3;margin:0;max-width:320px}.footerTitle{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#fffffff2;margin:0 0 20px}.footerNav{display:flex;flex-direction:column;gap:12px}.footerLink{font-size:14px;color:#ffffffb3;text-decoration:none;transition:all .2s var(--ease-out-soft);display:inline-flex;align-items:center;gap:8px}.footerLink:hover{color:#fffffff2;transform:translate(4px)}.footerContact{display:flex;flex-direction:column;gap:12px}.footerSocial{display:flex;gap:12px;margin-top:8px}.footerSocialLink{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;text-decoration:none;transition:all .2s var(--ease-out-soft)}.footerSocialLink:hover{background:#b266ff26;border-color:#b266ff4d;color:#fffffff2;transform:translateY(-2px);box-shadow:0 4px 12px #b266ff33}.footerBottom{border-top:1px solid rgba(255,255,255,.08);background:#0003}.footerBottomContent{max-width:1280px;margin:0 auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.footerCopyright{font-size:13px;color:#ffffff80;margin:0}.footerLegal{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.footerLegalLink{font-size:13px;color:#ffffff80;text-decoration:none;transition:color .2s ease}.footerLegalLink:hover{color:#fffc}.footerSeparator{color:#ffffff4d;font-size:13px}@media(max-width:1024px){.footerContent{grid-template-columns:repeat(2,1fr);gap:40px}}@media(max-width:640px){.footerContent{grid-template-columns:1fr;gap:32px;padding:48px 20px 32px}.footerBottomContent{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.footerLegal{flex-direction:column;align-items:flex-start;gap:8px}.footerSeparator{display:none}}
