@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;600;800&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;background-color:#000;color:#fff}body{margin:0;padding:0;font-family:Arial,sans-serif;background-color:#f9f9f9}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px;animation:fadeIn .2s ease-out}.confirm-modal{background:linear-gradient(145deg,#1a1a2e,#16213e);border-radius:16px;padding:32px;max-width:420px;width:100%;text-align:center;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-modal-icon{font-size:48px;margin-bottom:16px}.confirm-modal h3{color:#fff;font-size:1.5rem;margin:0 0 16px;font-weight:600}.confirm-modal p{color:#b8b8d1;font-size:1rem;margin:0 0 8px;line-height:1.5}.confirm-modal .confirm-question,.confirm-modal .confirm-warning{color:#fbbf24;font-weight:500;margin-top:16px}.confirm-modal-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.confirm-modal-actions button{padding:12px 24px;border-radius:8px;border:none;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px}.confirm-modal-actions .btn-cancel{background-color:#374151;color:#fff;border:1px solid #4b5563}.confirm-modal-actions .btn-cancel:hover{background-color:#4b5563}.confirm-modal-actions .btn-confirm{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.confirm-modal-actions .btn-confirm:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.confirm-modal-actions .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef44444d}.confirm-modal-actions .btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 6px 16px #ef444466}@media (max-width: 480px){.confirm-modal{padding:24px;margin:16px}.confirm-modal-actions{flex-direction:column-reverse}.confirm-modal-actions button{width:100%}}.layout-container{display:flex;flex-direction:column;min-height:100vh;background-color:#000;color:#fff;font-family:Arial,sans-serif}.navbar{padding:20px 40px;display:flex;justify-content:space-between;align-items:center;background-color:#000;position:sticky;top:0;z-index:1000}.logo{font-family:Montserrat,Arial,sans-serif;font-size:24px;font-weight:800;color:#00bfff}.navbar button{margin-left:10px;background-color:transparent;color:#fff;border:1px solid #00bfff;padding:10px 20px;cursor:pointer;border-radius:4px;transition:.3s}.navbar button:hover{background-color:#00bfff;color:#000}.profile-btn{display:flex;align-items:center;gap:8px;background:transparent;border:none;cursor:pointer;padding:0;color:#fff}.avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #00bfff;transition:border-color .2s}.avatar:hover{border-color:#09c}.usuario-nombre{font-weight:700}.layout-main{flex:1;display:flex;flex-direction:column;padding-top:20px}.footer{background-color:#000;color:#fff;text-align:center;padding:30px 20px;border-top:1px solid #00bfff}.footer-top,.footer-social,.footer-bottom{margin-bottom:15px}.nav-left{display:flex;gap:12px;align-items:center}.home-container{display:flex;flex-direction:column;align-items:center;background-color:#000;color:#fff;min-height:100%}.main-content{background:linear-gradient(to bottom,#000,#111);padding:20px;display:flex;flex-direction:column;align-items:center}.text-content{text-align:center;margin-top:20px}.text-content h1{font-size:36px;color:#00bfff}.text-content p{font-size:18px;color:#ccc}.hero-image{width:auto;height:auto;max-width:600px;max-height:400px;border-radius:12px;display:block;margin:0 auto}.login-container{background-color:#000;min-height:100vh;display:flex;justify-content:center;align-items:center;color:#fff;padding:20px}.login-box{background-color:#111;padding:40px;border-radius:12px;width:100%;max-width:400px;box-shadow:0 0 10px #00bfff55}.login-title{text-align:center;color:#00bfff;margin-bottom:20px}.login-form{display:flex;flex-direction:column}.login-form label{margin-top:12px;margin-bottom:4px;font-size:14px}.login-form input{padding:10px;border:none;border-radius:6px;background-color:#222;color:#fff;outline:none;width:100%}.login-form input:focus{border:1px solid #00bfff}.login-form p{margin-top:15px;font-size:14px;text-align:center}.login-form a{color:#00bfff;text-decoration:none}.login-form a:hover{text-decoration:underline}.login-form a.home-link{display:block;text-align:center;margin-top:10px;color:#00bfff;font-weight:700}.login-form a.home-link:hover{text-decoration:underline}.forgot-password-link{color:#667eea;font-style:italic}.forgot-password-link:hover{color:#764ba2;text-decoration:underline}.admin-link{color:#f55;font-weight:700;text-decoration:underline}.admin-link:hover{color:#c44}.register-container{background-color:#000;min-height:100vh;display:flex;justify-content:center;align-items:center;color:#fff;padding:20px}.register-box{background-color:#111;padding:40px;border-radius:12px;width:100%;max-width:400px;box-shadow:0 0 10px #00bfff55}.title{text-align:center;color:#00bfff;margin-bottom:20px}button[type=submit]{margin-top:20px;background-color:#00bfff;color:#000;font-weight:700;border:none;padding:12px;border-radius:6px;cursor:pointer;transition:.3s}button[type=submit]:hover{background-color:#00a5dd}.redirect{margin-top:15px;font-size:14px;text-align:center}.redirect a{color:#00bfff;text-decoration:none}.redirect a:hover{text-decoration:underline}.form a.home-link{display:block;text-align:center;margin-top:10px;color:#00bfff;font-weight:700}.form a.home-link:hover{text-decoration:underline}.perfil-container{max-width:900px;margin:40px auto;padding:20px;font-family:Arial,sans-serif;background-color:#1e1e1e;color:#fff;border-radius:12px}.perfil-title{text-align:center;color:#00bfff;margin-bottom:30px;font-size:2rem;font-weight:700}.perfil-card{display:flex;flex-wrap:wrap;background-color:#2c2c2c;border-radius:12px;box-shadow:0 4px 12px #00000080;padding:20px;transition:transform .2s,box-shadow .2s}.perfil-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0009}.perfil-left{flex:1;min-width:250px;text-align:center;margin-bottom:20px}.perfil-left img,.perfil-left svg,.perfil-preview{width:150px;height:150px;border-radius:50%;object-fit:cover;margin-bottom:15px;border:3px solid #00bfff}.perfil-left input[type=file]{display:block;margin:10px auto;color:#fff;cursor:pointer}.perfil-nombre{font-size:1.6rem;font-weight:700;color:#fff;margin-top:5px}.perfil-right{flex:2;min-width:300px}.perfil-form{display:flex;flex-direction:column;gap:10px}.perfil-form label{margin-top:6px;margin-bottom:4px;font-weight:700;color:#ccc}.perfil-form input{padding:10px 12px;border:1px solid #555;border-radius:6px;font-size:1rem;background-color:#3a3a3a;color:#fff;transition:border .2s,background-color .2s,box-shadow .2s;width:100%}.perfil-form input:focus{outline:none;border-color:#00bfff;box-shadow:0 0 0 3px #00bfff26}.perfil-form input:disabled{background-color:#2c2c2c;color:#888}.perfil-form button{margin-top:6px;padding:10px 15px;background-color:#00bfff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:background-color .2s,transform .2s,box-shadow .2s;width:100%}.perfil-form button:hover{background-color:#09c;transform:translateY(-2px)}.perfil-form button:active{transform:translateY(0)}.perfil-form button:disabled{opacity:.6;cursor:not-allowed}.perfil-form .btn-cancel{background-color:#555}.perfil-form .btn-cancel:hover{background-color:#666}.perfil-form .btn-danger{background-color:#f55}.perfil-form .btn-danger:hover{background-color:#c44}.perfil-preview{margin-top:10px;width:150px;height:150px;border-radius:50%;object-fit:cover;border:2px dashed #00bfff;display:block;margin-left:auto;margin-right:auto;transition:border-color .2s,transform .2s}.perfil-preview:hover{border-color:#09c;transform:scale(1.02)}.perfil-error{color:#f77;font-size:.9rem;text-align:center;margin-top:5px}.perfil-success{color:#0fc;font-size:.9rem;text-align:center;margin-top:5px}@media (max-width: 768px){.perfil-card{flex-direction:column;align-items:center}.perfil-right{width:100%;margin-top:20px}}.actividades-page{background:var(--negro);min-height:100vh;color:var(--blanco)}.actividades-grid{width:100%;max-width:1200px;margin:0 auto;padding:1rem;display:grid;gap:2rem}.card{background:#0d0d0d;border:1px solid #1f1f1f;border-radius:18px;padding:1rem;box-shadow:0 8px 24px #00000059}.card-img{width:100%;height:220px;object-fit:cover;border-radius:18px;display:block}.card-title{font-weight:800;margin-top:.9rem;font-size:1.15rem;text-align:center}.card-desc{margin-top:.5rem;font-size:.92rem;color:#e9e9e9;opacity:.95;text-align:center}.meta{margin-top:.75rem;display:flex;justify-content:center}.btn-pill{border:2px solid var(--celeste);color:var(--blanco);background:transparent;border-radius:9999px;padding:.6rem 1.4rem;cursor:pointer;transition:all .2s ease;font-weight:600}.placeholder{background:radial-gradient(circle at 30% 20%,#0f172a,#0b0b0b 60%);color:#94a3b8;display:grid;place-items:center}@media (min-width: 640px){.actividades-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.actividades-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.conocenos-container{display:flex;flex-direction:column;gap:3rem;padding:2rem;background-color:#111;color:#fff}.hero{display:flex;flex-wrap:wrap;align-items:center;gap:2rem}.hero__images img{width:100%;max-width:500px;border-radius:16px;object-fit:cover;box-shadow:0 4px 12px #0009}.hero__text{flex:1}.hero__text h1{color:#1e90ff;font-size:2rem;font-weight:700;margin-bottom:1rem}.hero__text p{font-size:1rem;line-height:1.6;color:#ccc}.trainers-section{text-align:center;display:flex;flex-direction:column;align-items:center}.trainers-section h2{font-size:1.8rem;margin-bottom:2rem;color:#1e90ff}.trainers-carousel{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;width:100%;max-width:900px;margin:0 auto}.trainer-photo{width:100%;height:75%;background-size:cover;background-position:center}.trainer-card{width:260px;height:340px;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #0006;background-size:cover;background-position:center;display:flex;align-items:flex-end;transition:transform .3s,box-shadow .3s;cursor:pointer;position:relative}.trainer-card:hover{transform:translateY(-12px) scale(1.04);box-shadow:0 8px 24px #1e90ff66}.trainer-info{width:100%;background:#101820b3;color:#fff;padding:18px 12px 12px;text-align:center;border-bottom-left-radius:16px;border-bottom-right-radius:16px;position:relative;z-index:2}.trainer-info h3{margin:0 0 6px;font-size:1.15rem;color:#1e90ff}.trainer-activity{font-size:1rem;color:#fff}.trainer-phrase{font-size:.95rem;color:#e0e0e0;margin-top:8px}.trainer-rating{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.trainer-rating-text{opacity:.9;font-size:14px}.btn-valorar{margin-top:10px;padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.6);background:#00000059;color:#fff;cursor:pointer;width:fit-content}.btn-valorar:hover{background:#0000008c}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:9999}.modal-content{width:min(520px,100%);background:#fff;border-radius:16px;padding:18px;color:#111}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.modal-header h3{margin:0}.modal-close{border:none;background:transparent;cursor:pointer;font-size:18px}.modal-stars{margin-top:12px}.modal-hint{display:block;font-size:13px;opacity:.7;margin-top:6px}.modal-textarea{margin-top:12px}.modal-textarea label{font-size:13px;opacity:.8}.modal-textarea textarea{width:100%;margin-top:6px;padding:10px;border-radius:12px;border:1px solid #ddd;resize:vertical;font-family:inherit}.modal-error{margin-top:10px;color:#dc143c;font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.btn-cancelar{padding:10px 14px;border-radius:12px;border:1px solid #ddd;background:#fff;cursor:pointer}.btn-enviar{padding:10px 14px;border-radius:12px;border:none;background:#111;color:#fff;cursor:pointer}.btn-enviar:disabled{background:#bbb;cursor:not-allowed}.planes-page{background:var(--negro);min-height:100vh;color:var(--blanco)}.contratos-info{max-width:800px;margin:0 auto 2rem;padding:0 1rem}.info-card{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;font-weight:500;border-left:4px solid}.info-card.success{background:#22c55e1a;border-color:#22c55e;color:#86efac}.info-card.warning{background:#fbbf241a;border-color:#fbbf24;color:#fde047}.info-card.danger{background:#ef44441a;border-color:#ef4444;color:#fca5a5}.info-icon{font-size:1.2rem;flex-shrink:0}.hero-title{font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--blanco);font-size:clamp(2.25rem,6vw,3rem);line-height:1;text-align:center;text-shadow:0 6px 24px rgba(0,0,0,.6)}.planes-grid{width:100%;max-width:1200px;margin:0 auto;padding:1rem;display:grid;gap:2rem}.plan-card{background:#0d0d0d;border:1px solid #1f1f1f;border-radius:18px;padding:1.5rem;box-shadow:0 8px 24px #00000059;display:flex;flex-direction:column;height:fit-content}.plan-name{font-weight:800;font-size:1.5rem}.plan-desc{margin-top:.5rem;color:#e9e9e9;flex-grow:1}.plan-price{margin-top:1rem;font-weight:900;font-size:1.8rem}.plan-meta{margin-top:.25rem;opacity:.9}.cta{margin-top:auto;border:2px solid var(--celeste);color:var(--blanco);background:transparent;border-radius:9999px;padding:.6rem 1.4rem;cursor:pointer;transition:all .2s ease;font-weight:700}.cta:hover{background:var(--celeste);color:#000;transform:translateY(-1px)}.cta.disabled{border-color:#666;color:#999;cursor:not-allowed;background:#1a1a1a}.cta.disabled:hover{background:#1a1a1a;color:#999;transform:none}@media (min-width: 768px){.planes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.planes-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal{background:linear-gradient(145deg,#1a1a1a,#0d0d0d);border:1px solid #333;border-radius:16px;padding:2rem;max-width:420px;width:100%;text-align:center;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-modal-icon{font-size:3rem;margin-bottom:1rem}.confirm-modal h3{color:var(--blanco);font-size:1.5rem;font-weight:700;margin:0 0 1rem}.confirm-modal p{color:#ccc;font-size:1rem;line-height:1.5;margin:0 0 .5rem}.confirm-modal .confirm-question{color:var(--celeste);font-weight:600;margin-top:1rem}.confirm-modal-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:center}.confirm-modal-actions button{padding:.75rem 1.5rem;border-radius:9999px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;min-width:120px}.btn-cancel{background:transparent;border:2px solid #666;color:#ccc}.btn-cancel:hover{border-color:#999;color:#fff}.btn-confirm{background:var(--celeste);border:2px solid var(--celeste);color:#000}.btn-confirm:hover{background:#00d4ff;border-color:#00d4ff;transform:translateY(-2px);box-shadow:0 4px 15px #00bfff66}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow:hidden;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.modal-header h2{margin:0;color:#111827;font-size:1.5rem;font-weight:600}.close-button{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.close-button:hover{color:#374151;background-color:#f3f4f6}.close-button:disabled{opacity:.5;cursor:not-allowed}.modal-body{padding:0 24px;max-height:60vh;overflow-y:auto}.contrato-info{margin-bottom:32px}.contrato-info h3{margin:0 0 16px;color:#111827;font-size:1.25rem;font-weight:600}.info-grid{display:grid;gap:12px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.info-item label{font-weight:500;color:#374151;margin:0}.info-item span{color:#111827;font-weight:500;text-align:right}.precio-destacado{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-color:#d97706;color:#fff}.precio-destacado label,.precio-destacado span{color:#fff;font-weight:600}.metodo-pago-section{margin-bottom:24px}.metodo-pago-section h3{margin:0 0 16px;color:#111827;font-size:1.1rem;font-weight:600}.metodos-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:#64748b}.spinner-small{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#635bff;border-radius:50%;animation:spin 1s linear infinite}.metodo-pago-selector{display:flex;flex-direction:column;gap:12px}.metodo-option{padding:16px;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease;background-color:#fff}.metodo-option:hover{border-color:#c7c4ff;background-color:#fafafa}.metodo-option.selected{border-color:#635bff;background-color:#f8f7ff}.metodo-option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.metodo-nombre{font-weight:600;color:#111827;font-size:15px}.metodo-check{color:#635bff;font-weight:700;font-size:16px}.metodo-descripcion{font-size:13px;color:#6b7280}.stripe-info{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:16px}.stripe-badge{display:flex;align-items:center;gap:10px;margin-bottom:12px}.stripe-badge span{font-weight:600;color:#1e293b;font-size:14px}.stripe-info p{margin:0;color:#64748b;font-size:14px;line-height:1.5}.transferencia-info{margin-bottom:16px}.datos-bancarios{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px;margin-bottom:16px}.datos-bancarios h4{margin:0 0 12px;color:#166534;font-size:14px;font-weight:600}.datos-bancarios-grid{display:grid;gap:8px}.dato-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #dcfce7}.dato-item:last-child{border-bottom:none}.dato-item label{font-weight:500;color:#374151;font-size:13px}.dato-item span{color:#111827;font-size:13px;font-family:monospace}.dato-copiable{background-color:#fff;padding:4px 8px;border-radius:4px;border:1px solid #d1fae5}.comprobante-input{display:flex;flex-direction:column;gap:6px}.comprobante-input label{font-weight:500;color:#374151;font-size:14px}.comprobante-input input{padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s}.comprobante-input input:focus{outline:none;border-color:#635bff;box-shadow:0 0 0 3px #635bff1a}.comprobante-input input:disabled{background-color:#f9fafb;cursor:not-allowed}.comprobante-input small{color:#6b7280;font-size:12px}.efectivo-info{margin-bottom:16px}.instrucciones-efectivo{background-color:#fefce8;border:1px solid #fef08a;border-radius:8px;padding:16px}.instrucciones-efectivo h4{margin:0 0 12px;color:#854d0e;font-size:14px;font-weight:600}.instrucciones-efectivo p{margin:0 0 12px;color:#713f12;font-size:14px;line-height:1.5}.nota-efectivo{background-color:#fef9c3;padding:12px;border-radius:6px;font-size:13px;color:#854d0e}.nota-efectivo strong{color:#713f12}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:16px;border-radius:8px;margin:16px 0}.error-message p{margin:0 0 12px;font-size:14px}.btn-retry{background-color:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-retry:hover:not(:disabled){background-color:#b91c1c}.btn-retry:disabled{opacity:.5;cursor:not-allowed}.redirecting-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center}.redirecting-state h3{margin:20px 0 8px;color:#1e293b;font-size:1.25rem;font-weight:600}.redirecting-state p{margin:0;color:#64748b;font-size:14px}.spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#635bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #e5e7eb;margin-top:24px}.btn-primary,.btn-secondary{padding:12px 24px;border-radius:8px;border:none;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;min-width:120px;display:flex;align-items:center;justify-content:center}.btn-primary{background:linear-gradient(135deg,#635bff,#5046e5);color:#fff;box-shadow:0 4px 12px #635bff4d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#5046e5,#4338ca);box-shadow:0 6px 16px #635bff66;transform:translateY(-1px)}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.btn-secondary:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}@media (max-width: 640px){.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.info-item{flex-direction:column;align-items:flex-start;gap:4px}.info-item span{text-align:left}.modal-footer{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}.redirecting-state{padding:40px 20px}}.mis-contratos-page{min-height:100vh;background:var(--negro);color:var(--blanco)}.hero{text-align:center;padding:80px 20px 60px;background:transparent}.hero-title{font-size:3rem;font-weight:800;color:var(--blanco);text-shadow:2px 2px 4px rgba(0,0,0,.3);margin:0;letter-spacing:2px}.contratos-container{max-width:1200px;margin:0 auto;padding:0 20px 80px}.loading,.error-message{text-align:center;padding:40px 20px;color:#fff;font-size:1.2rem}.error-message{background-color:#ef4444e6;border-radius:8px;margin:20px}.no-contratos{text-align:center;background:#ffffff0d;border-radius:16px;padding:60px 40px;box-shadow:0 20px 60px #0000004d;margin:40px auto;max-width:500px;border:1px solid rgba(0,191,255,.2)}.no-contratos h3{color:var(--blanco);font-size:1.5rem;margin-bottom:16px}.no-contratos p{color:#ffffffb3;margin-bottom:32px;line-height:1.6}.contratos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:40px}.contrato-card{background:#ffffff0d;border-radius:12px;padding:18px;box-shadow:0 8px 25px #0000004d;transition:all .3s ease;border:1px solid rgba(0,191,255,.2)}.contrato-card:hover{transform:translateY(-3px);box-shadow:0 15px 40px #0006;border-color:var(--celeste)}.contrato-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid rgba(255,255,255,.1)}.membresia-nombre{color:var(--blanco);font-size:1.1rem;font-weight:600;margin:0 12px 0 0;flex:1}.estado-badge{padding:4px 10px;border-radius:16px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.estado-pagado{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.estado-pendiente{background-color:#fef3c7;color:#92400e;border:1px solid #fed7aa}.estado-cancelado{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.estado-vencido{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.contrato-details{margin-bottom:18px}.detail-item{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.detail-item:last-child{border-bottom:none}.detail-item label{font-weight:500;color:#ffffffb3;margin:0;min-width:100px;font-size:.9rem}.detail-item span{color:var(--blanco);font-weight:500;text-align:right;flex:1;margin-left:12px;font-size:.9rem}.detail-item .precio{color:#059669;font-weight:700;font-size:1.1rem}.contrato-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-primary,.btn-danger{padding:10px 16px;border-radius:6px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;flex:1;min-width:100px;text-decoration:none;text-align:center;display:inline-flex;align-items:center;justify-content:center}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef44444d}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 16px #ef444466;transform:translateY(-1px)}.btn-primary:disabled,.btn-danger:disabled{background:#9ca3af;cursor:not-allowed;box-shadow:none;transform:none}@media (max-width: 768px){.hero-title{font-size:2rem}.contratos-grid{grid-template-columns:1fr;gap:16px}.contrato-card{padding:16px}.contrato-header{flex-direction:column;gap:12px;align-items:flex-start}.membresia-nombre{margin-right:0}.detail-item{flex-direction:column;align-items:flex-start;gap:4px}.detail-item span{text-align:left;margin-left:0}.contrato-actions{flex-direction:column}.btn-primary,.btn-danger{width:100%}.no-contratos{margin:20px;padding:40px 20px}}.navigation-actions{display:flex;justify-content:center;gap:2rem;margin-top:3rem;margin-bottom:4rem;flex-wrap:wrap}.cambiar-container{background-color:#000;min-height:100vh;display:flex;justify-content:center;align-items:center;color:#fff;padding:20px}.cambiar-box{background-color:#111;padding:40px;border-radius:12px;width:100%;max-width:400px;box-shadow:0 0 10px #00bfff55}.form input{padding:10px;border:none;border-radius:6px;background-color:#222;color:#fff;outline:none;width:100%;transition:border .3s}button[type=submit],.btn-return{margin-top:20px;background-color:#00bfff;color:#000;font-weight:700;border:none;padding:12px;border-radius:6px;cursor:pointer;transition:background-color .3s;width:100%}button[type=submit]:hover,.btn-return:hover{background-color:#00a5dd}.eliminar-container{background-color:#000;min-height:100vh;display:flex;justify-content:center;align-items:center;color:#fff;padding:20px}.eliminar-box{background-color:#111;padding:40px;border-radius:12px;width:100%;max-width:400px;box-shadow:0 0 10px #00bfff55}.title{text-align:center;color:#00bfff;margin-bottom:20px;font-size:22px;font-weight:700}.form{display:flex;flex-direction:column}.form label{margin-top:12px;margin-bottom:4px;font-size:14px}.form input{padding:10px;border:none;border-radius:6px;background-color:#222;color:#fff;outline:none;width:100%}.form input:focus{border:1px solid #00bfff}.toggle-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;color:#00bfff;border:none;cursor:pointer;font-size:13px;font-weight:700;padding:2px 6px;transition:color .3s}.toggle-btn:hover{color:#00a5dd}.btn-danger{margin-top:20px;background-color:#ff4d4d;color:#000;font-weight:700;border:none;padding:12px;border-radius:6px;cursor:pointer;transition:background-color .3s;width:100%}.btn-danger:hover{background-color:#e63939}.btn-cancel{margin-top:10px;background-color:#00bfff;color:#000;font-weight:700;border:none;padding:12px;border-radius:6px;cursor:pointer;transition:background-color .3s;width:100%}.btn-cancel:hover{background-color:#00a5dd}.btn-sin-cupo{background:#bdbdbd;border:2px solid #bdbdbd;color:#555;border-radius:9999px;padding:.5rem 1.1rem;font-weight:600;opacity:1;cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:1rem;display:inline-block}:root{--celeste: #00bfff;--negro: #0a0a0a;--blanco: #ffffff;--rojo: #f44336}.clases-page{background:var(--negro);min-height:100vh;color:var(--blanco);padding-bottom:3rem}.hero{display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem 1rem}.hero-button-section{display:flex;justify-content:center;margin-bottom:2rem}.hero-title{font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--blanco);font-size:clamp(2.25rem,6vw,6rem);line-height:.9;text-align:center;text-shadow:0 6px 24px rgba(0,0,0,.6)}.subhead{max-width:1200px;margin:.5rem auto 1rem;padding:0 1rem;color:#cfeffd}.filtros-container{max-width:1200px;margin:1rem auto 2rem;padding:0 1rem;display:flex;justify-content:center}.filtros-row{background:#0d0d0d;border:1px solid #1f1f1f;border-radius:12px;padding:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:end;justify-content:center;width:100%;max-width:800px}.filtro-grupo{display:flex;flex-direction:column;gap:.5rem;min-width:180px}.filtro-grupo label{color:var(--celeste);font-weight:600;font-size:.9rem}.filtro-grupo input,.filtro-grupo select{background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:.6rem .8rem;color:var(--blanco);font-size:.95rem;transition:border-color .2s ease}.filtro-grupo input:focus,.filtro-grupo select:focus{outline:none;border-color:var(--celeste)}.filtros-botones{display:flex;gap:.8rem;align-items:center;justify-content:center;margin-top:auto;flex:1 0 100%}.btn-filtrar{background:var(--celeste);border:1px solid var(--celeste);color:#000;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease}.btn-filtrar:hover{background:#09c;border-color:#09c;transform:translateY(-1px)}.btn-limpiar{background:transparent;border:1px solid #666;color:var(--blanco);padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.btn-limpiar:hover{background:#333;border-color:#888}@media (max-width: 768px){.filtros-row{flex-direction:column;align-items:stretch}.filtro-grupo{min-width:unset}.filtros-botones{justify-content:center;margin-top:.5rem}}.clases-grid{width:100%;max-width:1200px;margin:0 auto;padding:1rem;display:grid;gap:2rem;grid-template-columns:1fr}.card{background:#0d0d0d;border:1px solid #1f1f1f;border-radius:18px;padding:0;box-shadow:0 8px 24px #00000059;overflow:hidden;display:flex;flex-direction:column}.class-card{display:flex;flex-direction:column}.class-body{padding:1rem;display:flex;flex-direction:column;gap:.6rem}.class-title{font-weight:800;margin:0;font-size:1.1rem}.class-sub{margin:0;color:#cbd5e1;font-size:.95rem}.class-desc{margin:.25rem 0 0;color:#e9e9e9;opacity:.9;font-size:.95rem}.class-meta{margin-top:.75rem;display:flex;justify-content:space-between;align-items:center}.meta-left{display:flex;flex-direction:column;gap:.25rem}.meta-item{font-size:.92rem;color:#d1eaff}.btn-pill{border:2px solid var(--celeste);color:var(--blanco);background:transparent;border-radius:9999px;padding:.5rem 1.1rem;cursor:pointer;transition:all .2s ease;font-weight:600}.btn-pill:hover{background:var(--celeste);color:#000;transform:translateY(-1px)}.muted{color:#94a3b8;text-align:center}.btn-cancelar-reserva{background:transparent!important;border:2px solid var(--rojo)!important;color:var(--rojo)!important;padding:.7rem 1.2rem!important;border-radius:25px!important;font-weight:600!important;cursor:pointer!important;transition:all .2s ease!important;font-size:.85rem!important}.btn-cancelar-reserva:hover{background:var(--rojo)!important;color:#fff!important;transform:translateY(-1px)!important}.btn-no-disponible{background:transparent!important;border:2px solid #666!important;color:#999!important;padding:.7rem 1.2rem!important;border-radius:25px!important;font-weight:600!important;cursor:not-allowed!important;font-size:.85rem!important;opacity:.7!important}.navigation-section{display:flex;justify-content:center;margin:2rem 0}.btn-navigation{background:var(--celeste);color:#000;border:none;padding:1rem 3rem;border-radius:25px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;min-width:250px}.btn-navigation:hover{background:#09c;transform:translateY(-2px);box-shadow:0 8px 20px #00bfff4d}@media (max-width: 768px){.filtros-row{flex-direction:column;align-items:center;text-align:center}.filtro-grupo{width:100%;max-width:300px;align-items:center}.filtros-botones{justify-content:center;width:100%}}@media (min-width: 640px){.clases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.clases-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.class-card{flex-direction:column}}.admin-login-container{background-color:#000;min-height:100vh;display:flex;justify-content:center;align-items:center;color:#fff;padding:20px}.admin-login-box{background-color:#111;padding:40px;border-radius:12px;width:100%;max-width:400px}.admin-login-title{text-align:center;color:#00bfff;margin-bottom:20px}.admin-login-form{display:flex;flex-direction:column}.admin-login-form label{display:block;color:#ccc;margin-bottom:6px;font-weight:700;text-align:left}.admin-login-form input{width:100%;padding:10px 12px;margin-bottom:12px;border-radius:6px;border:1px solid #555;background-color:#3a3a3a;color:#fff;font-size:1rem}.admin-login-form input:focus{outline:none;border-color:#00bfff;box-shadow:0 0 0 3px #00bfff26}.input-group{position:relative;display:flex}.toggle-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;color:#00bfff;border:none;cursor:pointer;font-size:13px}.admin-login-form button[type=submit]{margin-top:20px;background-color:#00bfff;color:#000;font-weight:700;border:none;padding:12px;border-radius:6px;cursor:pointer;transition:.3s}.admin-login-form button[type=submit]:hover{background-color:#00a5dd}.admin-login-form a{color:#00bfff;text-decoration:none;display:block;text-align:center;margin-top:15px}.admin-login-form a:hover{text-decoration:underline;color:#00a5dd}.olvide-contrasena-container{background-color:#000;min-height:100vh;display:flex;justify-content:center;align-items:center;color:#fff;padding:20px}.olvide-contrasena-box{background-color:#111;padding:40px;border-radius:12px;width:100%;max-width:400px;box-shadow:0 0 10px #00bfff55}.subtitle{text-align:center;color:#fff;margin-bottom:30px;font-size:14px}.restablecer-container{background-color:#000;min-height:100vh;display:flex;justify-content:center;align-items:center;color:#fff;padding:20px}.restablecer-box{background-color:#111;padding:40px;border-radius:12px;width:100%;max-width:400px;box-shadow:0 0 10px #00bfff55}.title{text-align:center;color:#00bfff;margin-bottom:10px;font-size:24px}.email-info{text-align:center;color:#fff;margin-bottom:20px;font-size:14px}.email-info strong{color:#00bfff}.subtitle{text-align:center;color:#fff;margin-bottom:25px;font-size:14px}.form{display:flex;flex-direction:column;gap:20px}label{font-weight:600;color:#fff;margin-bottom:-15px}input{padding:12px;border:none;border-radius:6px;background-color:#222;color:#fff;outline:none;font-size:16px;transition:border .3s}input:focus{border:1px solid #00bfff}input:disabled{background-color:#333;cursor:not-allowed}.codigo-input{text-align:center;font-size:24px;letter-spacing:5px;font-weight:700}.input-group{position:relative;display:flex;align-items:center}.input-group input{flex:1;padding-right:100px}.toggle-btn{position:absolute;right:10px;background:none;border:none;color:#00bfff;cursor:pointer;font-weight:600;padding:5px 10px}.toggle-btn:hover{text-decoration:underline}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:5px;font-size:14px;text-align:center}.success-message{background-color:#efe;color:#3c3;padding:12px;border-radius:5px;font-size:14px;text-align:center}.btn-primary{padding:12px;background-color:#00bfff;color:#000;font-weight:700;border:none;border-radius:6px;cursor:pointer;transition:.3s;font-size:16px}.btn-primary:hover:not(:disabled){background-color:#00a5dd}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:12px;background:transparent;color:#00bfff;border:2px solid #00bfff;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#00bfff;color:#000}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}body,html{background-color:#000;margin:0;padding:0;height:100%;font-family:Arial,sans-serif}.admin-menu-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:auto;margin:100px auto;padding:25px 20px;background-color:#1e1e1e;color:#fff;border-radius:12px;text-align:center;width:90%;max-width:400px}.admin-menu-title{font-size:1.6rem;color:#00bfff;margin-bottom:25px;font-weight:700}.admin-menu-buttons{display:flex;flex-direction:column;gap:12px;align-items:center;width:100%}.admin-menu-buttons button{width:100%;padding:10px 15px;font-size:1rem;border-radius:8px;border:none;cursor:pointer;background-color:#00bfff;color:#fff;transition:background-color .2s,transform .2s}.admin-menu-buttons button:hover{background-color:#09c;transform:translateY(-2px)}.admin-menu-buttons button:active{transform:translateY(0)}.admin-menu-buttons .btn-danger{background-color:#f55}.admin-menu-buttons .btn-danger:hover{background-color:#c44}@media (max-width: 768px){.admin-menu-container{margin:50px auto;padding:20px 15px}.admin-menu-buttons button{font-size:.95rem;padding:10px}}.usuarios-container{max-width:1200px;margin:40px auto;padding:20px;background-color:#1e1e1e;color:#fff;border-radius:12px;font-family:Arial,sans-serif}.usuarios-title{text-align:center;color:#00bfff;margin-bottom:20px;font-size:2rem}.usuarios-filtro{display:flex;align-items:center;gap:15px;margin-bottom:25px}.usuarios-filtro label{font-weight:700;color:#ccc}.usuarios-filtro select{padding:8px 12px;border-radius:6px;border:1px solid #555;background-color:#2c2c2c;color:#fff;font-size:1rem;cursor:pointer}.usuarios-filtro select:focus{outline:none;border-color:#00bfff}.usuarios-table{width:100%;border-collapse:collapse}.usuarios-table th,.usuarios-table td{padding:10px 8px;border:1px solid #444;text-align:left;font-size:.9rem;white-space:nowrap}.usuarios-table th{background-color:#2c2c2c;color:#00bfff}.usuarios-table tr:nth-child(2n){background-color:#262626}.usuarios-table tr:hover{background-color:#333}.volver-admin{margin-top:20px;text-align:center}.volver-admin a{color:#00bfff;text-decoration:none;font-weight:700;font-size:14px}.reservas-por-clase1-container{max-width:1200px;margin:40px auto;padding:20px;background-color:#1e1e1e;color:#fff;border-radius:12px;font-family:Arial,sans-serif}.reservas-title{text-align:center;color:#00bfff;margin-bottom:30px;font-size:2rem}.filtros-container{background-color:#2c2c2c;padding:20px;border-radius:8px;margin-bottom:30px;display:flex;gap:20px;align-items:end;flex-wrap:wrap}.filtro-grupo{display:flex;flex-direction:column;gap:8px}.filtro-grupo label{font-weight:700;color:#ccc;font-size:.9rem}.filtro-grupo input,.filtro-grupo select{padding:8px 12px;border-radius:6px;border:1px solid #555;background-color:#1e1e1e;color:#fff;font-size:1rem;min-width:150px}.filtro-grupo input:focus,.filtro-grupo select:focus{outline:none;border-color:#00bfff}.filtros-botones{display:flex;gap:10px;align-items:end}.btn-filtrar,.btn-limpiar{padding:10px 20px;border:none;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .3s}.btn-filtrar{background-color:#00bfff;color:#fff}.btn-filtrar:hover{background-color:#00a5dd}.btn-limpiar{background-color:#666;color:#fff}.btn-limpiar:hover{background-color:#555}.clases-container h2{color:#00bfff;margin-bottom:20px;font-size:1.5rem}.clases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.clase-card{background-color:#2c2c2c;border-radius:8px;padding:20px;border:1px solid #444;transition:transform .2s,border-color .2s}.clase-card:hover{transform:translateY(-2px);border-color:#00bfff}.clase-header h3{color:#00bfff;margin-bottom:15px;font-size:1.3rem;border-bottom:2px solid #444;padding-bottom:8px}.btn-ver-reservas{background-color:#17a2b8;color:#fff;padding:10px 15px;border:none;border-radius:6px;cursor:pointer;font-weight:700;margin-top:15px;width:100%;transition:background-color .3s;font-size:1rem}.btn-ver-reservas:hover{background-color:#138496}.no-clases{text-align:center;color:#999;font-size:1.2rem;padding:40px;font-style:italic}.volver-admin{margin-top:30px;text-align:center}@media (max-width: 768px){.reservas-por-clase1-container{margin:20px;padding:15px}.reservas-title{font-size:1.5rem}.filtros-container{flex-direction:column;align-items:stretch}.filtros-botones{justify-content:center}.clases-grid{grid-template-columns:1fr}}.reservas-por-clase2-container{max-width:1400px;margin:40px auto;padding:20px;background-color:#1e1e1e;color:#fff;border-radius:12px;font-family:Arial,sans-serif}.loading{text-align:center;color:#00bfff;font-size:1.5rem;padding:50px}.reservas-header{margin-bottom:30px}.reservas-title{text-align:center;color:#00bfff;margin-bottom:20px;font-size:2rem}.clase-info{background-color:#2c2c2c;padding:20px;border-radius:8px;border:1px solid #444;text-align:center}.clase-info h2{color:#00bfff;margin-bottom:15px;font-size:1.5rem}.clase-info p{margin-bottom:8px;color:#ccc;line-height:1.4}.clase-info strong{color:#fff}.navegacion-botones{margin-bottom:20px;display:flex;gap:15px}.btn-volver-clases{background-color:#6c757d;color:#fff;padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background-color .3s;font-size:1rem}.btn-volver-clases:hover{background-color:#5a6268}.tabla-container{overflow-x:auto;margin-bottom:30px}.reservas-table{width:100%;border-collapse:collapse;background-color:#2c2c2c;border-radius:8px;overflow:hidden}.reservas-table th{background-color:#1e1e1e;color:#00bfff;padding:15px 12px;text-align:left;font-weight:700;border-bottom:2px solid #444}.reservas-table td{padding:12px;border-bottom:1px solid #444;color:#ccc}.reservas-table tr:nth-child(2n){background-color:#262626}.reservas-table tr:hover{background-color:#333}.reservas-table tr:last-child td{border-bottom:none}.estado{padding:4px 12px;border-radius:15px;font-weight:700;text-transform:uppercase;font-size:.8rem;display:inline-block;background-color:#444;color:#fff;border:1px solid #666}.no-reservas{background-color:#2c2c2c;padding:40px;border-radius:8px;text-align:center;border:1px solid #444}.no-reservas p{color:#999;font-size:1.2rem;font-style:italic;margin:0}.volver-admin{margin-top:30px;text-align:center;padding-top:20px;border-top:2px solid #444}.volver-admin a{color:#00bfff;text-decoration:none;font-weight:700;font-size:1.1rem}.volver-admin a:hover{text-decoration:underline;color:#00a5dd}@media (max-width: 1200px){.reservas-por-clase2-container{margin:20px;padding:15px}}@media (max-width: 768px){.reservas-title{font-size:1.5rem}.clase-info h2{font-size:1.2rem}.reservas-table{font-size:.85rem}.reservas-table th,.reservas-table td{padding:8px 6px}.navegacion-botones{flex-direction:column}}@media (max-width: 480px){.reservas-table th,.reservas-table td{padding:6px 4px;font-size:.8rem}.estado{font-size:.7rem;padding:2px 8px}}:root{--celeste: #00bfff;--negro: #0a0a0a;--blanco: #ffffff}.reservar-clase-page{min-height:50vh;display:flex;align-items:center;justify-content:center;background:var(--negro);color:var(--blanco);padding:1rem}.reservar-card{background:#0d0d0d;border:1px solid #1f1f1f;border-radius:18px;box-shadow:0 8px 24px #00000059;padding:2rem 2.5rem;max-width:420px;width:100%;text-align:center}.reservar-info{margin:1rem 0;font-size:1.1rem;color:#e9e9e9}.reservar-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.btn-confirmar{border:2px solid var(--celeste);color:var(--blanco);background:transparent;border-radius:9999px;padding:.7rem 2rem;font-size:1rem;cursor:pointer;font-weight:600;transition:all .2s ease}.btn-confirmar:hover:not(:disabled){background:var(--celeste);color:#000;transform:translateY(-1px)}.btn-confirmar:disabled{border-color:#444;color:#777;background:#1a1a1a;cursor:not-allowed}.btn-cancelar{border:2px solid #c62828;color:#fdd;background:transparent;border-radius:9999px;padding:.7rem 2rem;font-size:1rem;cursor:pointer;font-weight:600;transition:all .2s ease}.btn-cancelar:hover:not(:disabled){background:#c62828;color:#fff;transform:translateY(-1px)}.btn-cancelar:disabled{border-color:#444;color:#777;background:#1a1a1a;cursor:not-allowed}.error{color:#ff6b6b;margin:.5rem 0;font-weight:600}.success{color:var(--celeste);margin:.5rem 0;font-weight:600}:root{--celeste: #00bfff;--negro: #0a0a0a;--blanco: #ffffff;--gris-claro: #f5f5f5;--gris-medio: #666;--verde: #4caf50;--amarillo: #ff9800;--rojo: #f44336}.mis-reservas-page{min-height:100vh;background:var(--negro)!important;color:var(--blanco)!important;padding:1rem}.mis-reservas-page,.mis-reservas-page *{color:var(--blanco)!important}.mis-reservas-page .info-item{color:#e0e0e0!important}.mis-reservas-page .info-item strong{color:var(--blanco)!important}.hero{text-align:center;padding:2rem 0;margin-bottom:2rem}.hero h1{font-size:3rem;font-weight:900;margin-bottom:.5rem;background:linear-gradient(135deg,var(--celeste),#87ceeb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero p{font-size:1.2rem;color:#ccc}.loading{text-align:center;padding:3rem;font-size:1.2rem;color:var(--celeste)}.error-message{background:#f443361a;border:1px solid #f44336;color:#ff6b6b;padding:1rem;border-radius:12px;margin-bottom:2rem;text-align:center}.error-message button{margin-left:1rem;padding:.5rem 1rem;background:var(--rojo);color:#fff;border:none;border-radius:6px;cursor:pointer}.success-message{background:#4caf501a;border:1px solid var(--verde);color:var(--verde)!important;padding:1rem;border-radius:12px;margin-bottom:2rem;text-align:center;font-weight:600}.auth-required{text-align:center;padding:3rem}.auth-required h2{margin-bottom:1rem;color:var(--celeste)}.empty-state{text-align:center;padding:4rem 2rem;background:#111;border-radius:18px;margin:2rem auto;max-width:500px}.empty-state h3{color:var(--celeste);margin-bottom:1rem;font-size:1.8rem}.empty-state p{color:#ccc;margin-bottom:2rem;font-size:1.1rem}.reservas-container{max-width:1200px;margin:0 auto}.reservas-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:3rem;flex-wrap:wrap}.stat{text-align:center;background:#111;padding:1.5rem 2rem;border-radius:15px;border:1px solid #333;min-width:120px}.stat-number{display:block;font-size:2.5rem;font-weight:900;color:var(--celeste);margin-bottom:.5rem}.stat-label{color:#ccc;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}.reservas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2rem;margin-bottom:3rem}.reserva-card{background:#111!important;border:1px solid #333!important;border-radius:18px!important;padding:1.5rem!important;box-shadow:0 8px 24px #0000004d!important;transition:transform .2s ease,box-shadow .2s ease!important;color:var(--blanco)!important}.reserva-card *{color:inherit!important}.reserva-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px #00bfff1a}.reserva-pendiente{border-left:4px solid var(--amarillo)}.reserva-cerrada{border-left:4px solid var(--verde);opacity:.8}.reserva-cancelada{border-left:4px solid var(--rojo);opacity:.7}.reserva-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background:#00bfff1a;border-radius:12px;border:1px solid rgba(0,191,255,.3)}.reserva-header h3{color:var(--celeste)!important;font-size:1.5rem!important;font-weight:700!important;margin:0!important;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.estado-container{display:flex;align-items:center;justify-content:flex-end}.estado{padding:.4rem 1rem!important;border-radius:20px!important;font-size:.85rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.5px!important;display:inline-block!important;min-width:80px!important;text-align:center!important;white-space:nowrap!important;box-shadow:0 2px 4px #0003!important}.estado-pendiente{background:#ff98004d!important;color:#ff9800!important;border:2px solid #ff9800!important;font-weight:700!important}.estado-cerrada{background:#4caf504d!important;color:#4caf50!important;border:2px solid #4caf50!important;font-weight:700!important}.estado-cancelada{background:#f443364d!important;color:#f44336!important;border:2px solid #f44336!important;font-weight:700!important}.reserva-info{margin-bottom:1.5rem}.info-item{margin-bottom:.8rem;color:#e0e0e0!important;font-size:.95rem;line-height:1.4;background:#ffffff0d;padding:.5rem;border-radius:6px;border-left:3px solid var(--celeste)}.info-item strong{color:var(--blanco)!important;font-weight:600;display:inline-block;margin-right:.5rem}.status-description{font-style:italic;background:#00bfff1a;padding:.5rem;border-radius:8px;margin-top:.5rem;color:var(--blanco)!important;border:1px solid rgba(0,191,255,.3)}.reserva-actions{text-align:center;padding:1rem 0;border-top:1px solid #333;margin-top:1rem}.reserva-actions span{color:inherit!important;font-size:.9rem}.btn-cancelar{background:transparent;border:2px solid var(--rojo);color:var(--rojo);padding:.7rem 1.5rem;border-radius:25px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.btn-cancelar:hover:not(:disabled){background:var(--rojo);color:#fff;transform:translateY(-1px)}.btn-cancelar:disabled{opacity:.6;cursor:not-allowed;transform:none}.texto-cancelada{color:var(--rojo)!important;font-style:italic;font-weight:600;background:#f443361a;padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(244,67,54,.3);display:inline-block;margin-top:.5rem}.texto-realizada{color:var(--verde)!important;font-style:italic;font-weight:600;background:#4caf501a;padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(76,175,80,.3);display:inline-block;margin-top:.5rem}.texto-no-cancelable{color:var(--amarillo)!important;font-style:italic;font-weight:600;font-size:.9rem;text-align:center;padding:.5rem 1rem;background:#ff98001a;border-radius:8px;border:1px solid rgba(255,152,0,.3);display:inline-block;margin-top:.5rem}.navigation-actions{display:flex;justify-content:center;gap:1rem;margin-top:3rem;flex-wrap:wrap}.btn-primary{background:var(--celeste);color:var(--negro);border:none;padding:1rem 2rem;border-radius:25px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-primary:hover{background:#09c;transform:translateY(-2px);box-shadow:0 8px 20px #00bfff4d}.btn-secondary{background:transparent;border:2px solid var(--celeste);color:var(--celeste);padding:1rem 2rem;border-radius:25px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1rem}.btn-secondary:hover{background:var(--celeste);color:var(--negro);transform:translateY(-2px)}.reserva-card h3{color:var(--celeste)!important}.reserva-card .info-item{color:#e0e0e0!important}.reserva-card .info-item strong{color:var(--blanco)!important}.reserva-header h3{color:var(--celeste)!important}.estado{color:inherit!important}@media (max-width: 768px){.reservas-grid{grid-template-columns:1fr;gap:1.5rem}.hero h1{font-size:2.5rem}.reserva-header{flex-direction:column;align-items:flex-start;gap:.8rem}.reservas-stats{gap:1rem}.stat{padding:1rem 1.5rem;min-width:100px}.stat-number{font-size:2rem}.reserva-actions span{font-size:.85rem!important}}
