#root,html{width:100%}#root{max-width:100%;overflow-x:hidden}:root{--pm-color-primary:#22c55e;--pm-color-primary-dark:#16a34a;--pm-color-secondary:#6366f1;--pm-color-secondary-dark:#4f46e5;--pm-gradient-start:#667eea;--pm-gradient-end:#764ba2;--pm-color-card:#fff;--pm-color-success:#16a34a;--pm-color-warning:#f59e0b;--pm-color-error:#ef4444;--pm-color-highlight:#d97706;--pm-radius-card:20px;--pm-radius-button:16px;--pm-shadow-card:0 8px 28px #0f172a1a}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;max-width:100%;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body,html{height:auto;min-height:100vh;overflow:auto}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app,body{background:linear-gradient(135deg,#667eea,#764ba2)}.app{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.container{background:#f5f5f5;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:600px;padding:40px;width:100%}h1{font-size:32px;margin-bottom:10px;text-align:center}h1,h2{color:#1a1a1a}h2{font-size:24px;margin-bottom:20px}h3{color:#1a1a1a;margin-bottom:15px}.subtitle{color:#666;font-size:16px;margin-bottom:30px;text-align:center}.locations{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr;margin-bottom:20px}.location-card{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;padding:20px;transition:all .3s ease}.location-card:hover{border-color:#d32f2f;box-shadow:0 5px 15px #d32f2f33;transform:translateY(-2px)}.location-card h3{color:#1a1a1a;margin-bottom:8px}.location-card p{color:#666;font-size:14px}.location-details{background:#fff;border-radius:8px;padding:20px}.location-header{margin-bottom:20px}.location-photos{gap:10px;margin-bottom:15px}.location-photo,.location-photos{align-items:center;display:flex;justify-content:center}.location-photo{background:#f0f0f0;border-radius:8px;font-size:48px;height:80px;width:80px}.location-header h2{color:#1a1a1a;margin-bottom:10px;text-align:center}.details-info{background:#f9f9f9;border-left:4px solid #d32f2f;border-radius:4px;margin-bottom:20px;padding:15px}.details-info p{color:#333;font-size:14px;line-height:1.6;margin-bottom:10px}.details-info p:last-child{margin-bottom:0}.details-info strong{color:#1a1a1a}.location-map{border-radius:8px;margin:20px 0;overflow:hidden}.location-map h3{color:#1a1a1a;font-size:16px;margin-bottom:10px}.location-map iframe{border-radius:8px}.location-name{color:#666;text-align:center}.date-input,.location-name{font-size:16px;margin-bottom:20px}.date-input{background:#fff;border:2px solid #ddd;border-radius:6px;color:#1a1a1a;padding:12px;width:100%}.date-input:focus{border-color:#d32f2f;box-shadow:0 0 0 3px #d32f2f1a;outline:none}.input-field{background:#fff;border:2px solid #ddd;border-radius:6px;color:#1a1a1a;font-size:14px;margin-bottom:12px;padding:12px;width:100%}.input-field:focus{border-color:#d32f2f;box-shadow:0 0 0 3px #d32f2f1a;outline:none}.input-field::placeholder{color:#999}.slots{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.slot-card{background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;padding:15px;text-align:center;transition:all .3s ease}.slot-card:hover{background:#fff5f5;border-color:#d32f2f;transform:translateY(-2px)}.slot-time{color:#1a1a1a;font-weight:700;margin-bottom:5px}.slot-court{color:#666;font-size:14px}.booking-summary{background:#f9f9f9;border-left:4px solid #d32f2f;border-radius:4px;margin-bottom:20px;padding:15px}.booking-summary p{color:#333;font-size:14px;margin-bottom:8px}.booking-summary p:last-child{margin-bottom:0}.back-btn,.booking-summary strong{color:#1a1a1a}.back-btn{background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:20px;padding:10px 20px;transition:all .3s ease}.back-btn:hover{background:#f5f5f5;border-color:#d32f2f;color:#d32f2f}.next-btn{background:linear-gradient(135deg,#d32f2f,#b71c1c);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:15px;padding:14px;transition:all .3s ease;width:100%}.next-btn:hover{box-shadow:0 8px 20px #d32f2f4d;transform:translateY(-2px)}.next-btn:active{transform:translateY(0)}.confirm-btn{background:linear-gradient(135deg,#d32f2f,#b71c1c);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:20px;padding:14px;transition:all .3s ease;width:100%}.confirm-btn:hover{box-shadow:0 8px 20px #d32f2f4d;transform:translateY(-2px)}.confirm-btn:active{transform:translateY(0)}.confirm-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}@media (max-width:600px){.container{padding:20px}h1{font-size:24px}h2{font-size:20px}.slots{grid-template-columns:1fr}.location-photos{flex-wrap:wrap}}.reserva-container{box-sizing:border-box;font-family:Arial,sans-serif;margin:16px auto;max-width:min(600px,100%);overflow-x:hidden;padding:20px;width:100%}.reserva-container.reserva-sede-seleccion{background:linear-gradient(135deg,#667eea,#764ba2);box-sizing:border-box;margin:0;max-width:100%;min-height:100vh;overflow-x:hidden;padding:0 calc(20px + env(safe-area-inset-right, 0px)) 0 calc(20px + env(safe-area-inset-left, 0px));position:relative;width:100%}.reserva-sede-seleccion .reserva-sede-inner{box-sizing:border-box;margin:0 auto;max-width:min(480px,100%);min-width:0;padding:8px 0 24px;width:100%}.reserva-sede-seleccion form{box-sizing:border-box;max-width:100%;min-width:0;width:100%}.reserva-sede-seleccion .reserva-sede-native-select{appearance:none;-webkit-appearance:none;background-color:#ffffffeb;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;background-size:14px;border:none;border-radius:50px;box-shadow:0 2px 14px #0f172a1f;box-sizing:border-box;color:#1e293b;display:block;font-family:inherit;font-size:15px;font-weight:600;margin:0 0 18px;max-width:100%;min-height:52px;padding:14px 48px 14px 22px;width:100%}.reserva-sede-seleccion .reserva-sede-native-select:disabled{cursor:not-allowed;opacity:.55}.reserva-sede-seleccion .reserva-sede-logo{background:#0000;border-radius:16px;display:block;filter:drop-shadow(0 4px 14px rgba(0,0,0,.2));height:auto;margin:0 auto 18px;max-width:90px;object-fit:contain;width:90px}.reserva-sede-seleccion .reserva-sede-title{box-sizing:border-box;color:#fff;font-size:clamp(1.15rem,4.5vw,1.45rem);font-weight:800;max-width:100%;overflow-wrap:break-word;text-align:center;text-shadow:0 2px 12px #00000040}.reserva-sede-seleccion .reserva-field-label{box-sizing:border-box;color:#ffffffd1;font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:8px;margin-top:4px;max-width:100%;overflow-wrap:break-word;text-transform:uppercase}.reserva-sede-seleccion .reserva-field-label:first-of-type{margin-top:0}.reserva-sede-seleccion .reserva-pill-wrap{-webkit-overflow-scrolling:touch;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;max-height:200px;max-width:100%;min-width:0;overflow-x:hidden;overflow-y:auto}.reserva-sede-seleccion .reserva-pill-wrap--sedes{max-height:240px}.reserva-sede-seleccion .reserva-pill{background:#ffffff24;border:2px solid #ffffff61;border-radius:999px;box-sizing:border-box;color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;line-height:1.25;max-width:100%;min-width:0;overflow:hidden;padding:10px 16px;text-overflow:ellipsis;transition:background .15s ease,border-color .15s ease,color .15s ease}@media (hover:hover){.reserva-sede-seleccion .reserva-pill:hover{background:#ffffff3d;transform:translateY(-1px)}}.reserva-sede-seleccion .reserva-pill.is-active{background:#fffffff2;border-color:#fff;box-shadow:0 4px 14px #00000026;color:#5b21b6}.reserva-sede-seleccion .error-message{margin-top:12px}.reserva-sede-seleccion .reserva-pais-unico{background:#ffffff1f;border:1px solid #ffffff38;border-radius:12px;box-sizing:border-box;color:#fffffff2;font-size:15px;font-weight:700;margin-bottom:18px;max-width:100%;overflow-wrap:anywhere;padding:10px 14px}.reserva-sede-seleccion .reserva-pais-badge-row{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;max-width:100%;min-width:0}.reserva-sede-seleccion .reserva-pill.is-static{cursor:default;overflow:visible;overflow-wrap:anywhere;pointer-events:none;text-overflow:clip;white-space:normal}.reserva-sede-seleccion .reserva-pill-clear{align-items:center;background:#ffffff1f;border:2px solid #ffffff73;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:22px;font-weight:700;height:36px;justify-content:center;line-height:1;padding:0;transition:background .15s ease,transform .12s ease;width:36px}@media (hover:hover){.reserva-sede-seleccion .reserva-pill-clear:hover{background:#ffffff38;transform:scale(1.05)}}.reserva-sede-seleccion .reserva-search-wrap{box-sizing:border-box;margin-bottom:18px;max-width:100%;min-width:0;position:relative;width:100%}.reserva-sede-seleccion .reserva-search-input-inner{align-items:center;background:#fff3;border:2px solid #ffffff59;border-radius:999px;box-sizing:border-box;display:flex;gap:10px;max-width:100%;min-width:0;padding:10px 16px;width:100%}.reserva-sede-seleccion .reserva-search-ico{flex-shrink:0;font-size:16px;line-height:1;opacity:.9}.reserva-sede-seleccion .reserva-search-input{background:#0000;border:none;color:#fff;flex:1 1;font-family:inherit;font-size:15px;font-weight:600;min-width:0;outline:none}.reserva-sede-seleccion .reserva-search-input::placeholder{color:#ffffff8c;font-weight:500}.reserva-sede-seleccion .reserva-search-dropdown{-webkit-overflow-scrolling:touch;background:#fffffffa;border:1px solid #0f172a14;border-radius:14px;box-shadow:0 10px 32px #00000038;box-sizing:border-box;left:0;max-height:13.75rem;max-width:100%;min-width:0;overflow-x:hidden;overflow-y:auto;position:absolute;right:0;top:calc(100% + 6px);z-index:20}.reserva-sede-seleccion .reserva-search-option{background:#0000;border:none;border-bottom:1px solid #0f172a0f;color:#1e293b;cursor:pointer;display:block;font-family:inherit;font-size:14px;font-weight:600;padding:12px 16px;text-align:left;width:100%}.reserva-sede-seleccion .reserva-search-option:last-child{border-bottom:none}.reserva-sede-seleccion .reserva-search-option:hover{background:#7c3aed14}.reserva-sede-seleccion .reserva-search-empty{color:#64748b;font-size:13px;padding:14px 16px;text-align:center}.reserva-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffd9;border-radius:16px;box-shadow:0 8px 30px #00000026;padding:30px}.reserva-card h1{color:#d32f2f;margin-bottom:30px;text-align:center}.form-group label{display:block;font-weight:700}.reserva-horario-bloque{margin-bottom:24px;margin-top:8px}.reserva-horario-bloque label{margin-bottom:10px;text-align:center}.reserva-horarios-wrap{grid-gap:.5rem;box-sizing:border-box;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-left:auto;margin-right:auto;max-width:28rem;width:100%}.reserva-horario-btn{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 2px #0f172a0f;box-sizing:border-box;color:#1e293b;cursor:pointer;font-size:.875rem;font-weight:600;min-width:0;padding:.625rem .75rem;text-align:left;transition:border-color .15s ease,background .15s ease,color .15s ease;width:100%}.reserva-horario-btn:hover{background:#f0fdf4;border-color:#22c55e}@media (min-width:640px){.reserva-horario-btn{font-size:15px}}.reserva-horario-btnActive{outline:2px solid #16a34a;outline-offset:2px}.reserva-horario-btnActive,.reserva-horario-btnActive:hover{background:#16a34a;border-color:#16a34a;color:#fff}.reserva-horario-linea{display:block}.reserva-horario-meta{color:#64748b;display:block;font-size:.75rem;font-weight:400;margin-top:2px}.reserva-horario-btnActive .reserva-horario-meta{color:#dcfce7}.reserva-select-horario{margin-top:4px}.reserva-canchas-bloque{margin-top:20px}.reserva-canchas-botones{display:flex;flex-direction:column;gap:14px}.form-group input,.form-group select{background:#fff;border-radius:10px;box-sizing:border-box;padding:14px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.phone-field{display:flex;gap:8px}.phone-field select{border-radius:10px;flex-shrink:0;padding:12px 6px;width:110px}.phone-field input{border-radius:10px;flex:1 1}.phone-preview{color:#888;display:block;font-size:12px;margin-top:6px}.precio-display{color:#d32f2f;font-size:18px;font-weight:700;margin:0}button{border-radius:10px;transition:all .2s ease}button[type=submit]{background:linear-gradient(135deg,#7c3aed,#5b21b6);border:none;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:20px;padding:14px;width:100%}button[type=submit]:hover:not(:disabled){box-shadow:0 6px 15px #0003;transform:translateY(-1px)}button[type=submit]:disabled{background:#ccc;cursor:not-allowed}.success-message{background:#4caf50}.error-message,.success-message{border-radius:10px;color:#fff;margin-top:20px;padding:15px;text-align:center}.error-message{background:#f44336}input[type=date]{cursor:pointer}.form-group input[type=date],input.reserva-input-fecha{-webkit-tap-highlight-color:transparent;font-size:16px;min-height:48px}.reserva-fecha-hoy .reserva-input-fecha{border-color:#16a34a;box-shadow:0 0 0 2px #16a34a38}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(.5);opacity:.7}.reserva-sede-seleccion .reserva-sede-hero{margin-bottom:18px;padding-top:0;text-align:center}.reserva-sede-seleccion .reserva-sede-hero-logo{border-radius:12px;display:block;filter:drop-shadow(0 4px 16px rgba(0,0,0,.22));height:110px;margin:0 auto;max-width:none;object-fit:contain;padding-top:20px;width:auto}.reserva-sede-seleccion .reserva-sede-hero-title{color:#fff;font-size:clamp(1.35rem,5vw,1.75rem);font-weight:900;letter-spacing:-.02em;line-height:1.15;margin:14px 0 0;text-shadow:0 2px 14px #00000047}.reserva-sede-seleccion .reserva-sede-hero-sub{color:#ffffffe0;font-size:clamp(.85rem,3.2vw,.95rem);font-weight:500;line-height:1.35;margin:8px 0 0}.reserva-sede-seleccion .reserva-sede-pais-question{color:#fff;display:block;font-size:15px;font-weight:700;margin:0 0 10px;text-align:center}.reserva-sede-seleccion .reserva-sede-pais-pill-shell{box-sizing:border-box;margin:0 auto 22px;max-width:480px;position:relative;width:100%}.reserva-sede-seleccion .reserva-sede-pais-pill-icon{font-size:18px;left:18px;line-height:1;opacity:.92;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:2}.reserva-sede-seleccion .reserva-sede-pais-pill-select,.reserva-sede-seleccion .reserva-sede-pais-pill-static{background:#fffffff2;border:none;border-radius:999px;box-shadow:0 4px 18px #0f172a24;box-sizing:border-box;color:#1e293b;display:block;font-family:inherit;font-size:15px;font-weight:700;margin:0;min-height:52px;padding:14px 20px 14px 48px;width:100%}.reserva-sede-seleccion .reserva-sede-pais-pill-static{padding-left:48px;text-align:center}.reserva-sede-seleccion .reserva-sede-pais-pill-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;background-size:14px;cursor:pointer}.reserva-sede-seleccion .reserva-sede-cards-root{min-width:0;width:100%}.reserva-sede-seleccion .reserva-sede-cards-list{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}.reserva-sede-seleccion .reserva-sede-card{align-items:stretch;animation:reservaSedeCardIn .48s cubic-bezier(.22,1,.36,1) forwards;animation-delay:0ms;animation-delay:var(--reserva-stagger,0ms);background:#fffffffa;border:1px solid #ffffff80;border-radius:16px;box-shadow:0 8px 28px #0f172a1f;box-sizing:border-box;display:flex;flex-direction:row;gap:14px;min-width:0;opacity:0;padding:14px;transform:translateY(22px);width:100%}@keyframes reservaSedeCardIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.reserva-sede-seleccion .reserva-sede-card{animation:none;opacity:1;transform:none}.reserva-sede-seleccion .reserva-sede-card-btn{transition:none}.reserva-sede-seleccion .reserva-sede-card-btn:hover{transform:none}}.reserva-sede-seleccion .reserva-sede-card-photo-wrap{background:linear-gradient(145deg,#e0e7ff,#ede9fe);border-radius:14px;flex-shrink:0;min-height:96px;overflow:hidden;width:96px}.reserva-sede-seleccion .reserva-sede-card-photo{display:block;height:100%;min-height:96px;object-fit:cover;width:100%}.reserva-sede-seleccion .reserva-sede-card-photo-placeholder{align-items:center;background:linear-gradient(145deg,#c7d2fe,#ddd6fe);display:flex;font-size:36px;justify-content:center;min-height:96px;width:100%}.reserva-sede-seleccion .reserva-sede-card-body{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0;text-align:left}.reserva-sede-seleccion .reserva-sede-card-name{color:#0f172a;font-size:1.05rem;font-weight:800;line-height:1.25;margin:0}.reserva-sede-seleccion .reserva-sede-card-loc{color:#475569;font-size:13px;font-weight:600;line-height:1.35;margin:0}.reserva-sede-seleccion .reserva-sede-card-flag{margin-right:4px}.reserva-sede-seleccion .reserva-sede-card-hours{color:#64748b;font-size:12px;font-weight:600;margin:2px 0 0}.reserva-sede-seleccion .reserva-sede-card-price{color:#334155;font-size:13px;margin:4px 0 0}.reserva-sede-seleccion .reserva-sede-card-price strong{color:#5b21b6;font-weight:800}.reserva-sede-seleccion .reserva-sede-card-btn{background:linear-gradient(135deg,#7c3aed,#5b21b6);border:none;border-radius:10px;box-shadow:0 4px 14px #5b21b659;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:800;margin-top:10px;max-width:220px;padding:10px 16px;transition:transform .15s ease,box-shadow .15s ease;width:100%}@media (hover:hover){.reserva-sede-seleccion .reserva-sede-card-btn:hover{box-shadow:0 6px 18px #5b21b66b;transform:translateY(-1px)}}.reserva-sede-seleccion .reserva-sede-empty-pais{background:#ffffff1f;border:1px solid #ffffff38;border-radius:14px;color:#fffffff2;font-size:16px;font-weight:700;line-height:1.45;margin:12px 0 0;padding:22px 16px;text-align:center}.reserva-sede-seleccion .reserva-sede-alert{margin-bottom:8px;margin-top:12px}.ReservaCalendarioMes_wrap__6NCN5{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 2px #0f172a0f;margin-left:auto;margin-right:auto;max-width:28rem;padding:.75rem;width:100%}.ReservaCalendarioMes_navRow__v\+kVR{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.75rem}.ReservaCalendarioMes_navBtn__bVuFu{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#334155;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:2.25rem;justify-content:center;line-height:1;transition:background .15s ease;width:2.25rem}.ReservaCalendarioMes_navBtn__bVuFu:hover:not(:disabled){background:#f8fafc}.ReservaCalendarioMes_navBtn__bVuFu:disabled{cursor:not-allowed;opacity:.4}.ReservaCalendarioMes_title__gzQnC{color:#1e293b;flex:1 1;font-size:.875rem;font-weight:700;min-width:0;text-align:center;text-transform:capitalize}@media (min-width:640px){.ReservaCalendarioMes_title__gzQnC{font-size:1rem}}.ReservaCalendarioMes_weekHeader__fmgBd{grid-gap:.25rem;color:#64748b;display:grid;font-size:11px;font-weight:600;gap:.25rem;grid-template-columns:repeat(7,1fr);letter-spacing:.05em;text-align:center;text-transform:uppercase}@media (min-width:640px){.ReservaCalendarioMes_weekHeader__fmgBd{font-size:.75rem}}.ReservaCalendarioMes_weekHeaderCell__bCQvh{padding:.25rem 0}.ReservaCalendarioMes_grid__pKO\+B{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr);margin-top:.25rem}.ReservaCalendarioMes_cellEmpty__pN2TK{aspect-ratio:1;min-height:2.25rem}@media (min-width:640px){.ReservaCalendarioMes_cellEmpty__pN2TK{min-height:2.5rem}}.ReservaCalendarioMes_dayBtn__hn95m{aspect-ratio:1;border-radius:.5rem;font-size:.875rem;font-weight:600;min-height:2.25rem;padding:0;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}@media (min-width:640px){.ReservaCalendarioMes_dayBtn__hn95m{font-size:1rem;min-height:2.5rem}}.ReservaCalendarioMes_dayPast__vxzy-{background:#f1f5f9;border:1px solid #0000;color:#94a3b8;cursor:not-allowed}.ReservaCalendarioMes_dayAvailable__xCoCX{background:#fff;border:1px solid #e2e8f0;color:#1e293b;cursor:pointer}.ReservaCalendarioMes_dayAvailable__xCoCX:hover:not(:disabled){background:#f0fdf4;border-color:#22c55e}.ReservaCalendarioMes_dayToday__CLxBL{background:#fff;border:2px solid #16a34a;color:#0f172a;cursor:pointer}.ReservaCalendarioMes_dayTodayPast__mKAJ0{background:#f1f5f9;border:1px solid #e2e8f0;color:#94a3b8;cursor:not-allowed;text-decoration:line-through}.ReservaCalendarioMes_daySelected__0Ubx\+{background:#16a34a;border:2px solid #16a34a;box-shadow:0 4px 6px -1px #0000001f;color:#fff;cursor:pointer;outline:2px solid #16a34a;outline-offset:2px}.reactEasyCrop_Container{align-items:center;bottom:0;cursor:move;display:flex;justify-content:center;left:0;overflow:hidden;position:absolute;right:0;top:0;touch-action:none;-webkit-user-select:none;user-select:none}.reactEasyCrop_Image,.reactEasyCrop_Video{will-change:transform}.reactEasyCrop_Contain{bottom:0;left:0;margin:auto;max-height:100%;max-width:100%;position:absolute;right:0;top:0}.reactEasyCrop_Cover_Horizontal{height:auto;width:100%}.reactEasyCrop_Cover_Vertical{height:100%;width:auto}.reactEasyCrop_CropArea{border:1px solid #ffffff80;box-shadow:0 0 0 9999em;box-sizing:border-box;color:#00000080;left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%)}.reactEasyCrop_CropAreaRound{border-radius:50%}.reactEasyCrop_CropAreaGrid:before{border:1px solid #ffffff80;border-bottom:0;border-top:0;bottom:0;box-sizing:border-box;content:" ";left:33.33%;position:absolute;right:33.33%;top:0}.reactEasyCrop_CropAreaGrid:after{border:1px solid #ffffff80;border-left:0;border-right:0;bottom:33.33%;box-sizing:border-box;content:" ";left:0;position:absolute;right:0;top:33.33%}.admin-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);color:#333;min-height:100vh;padding:40px}.admin-dashboard h1{color:#fff;font-size:2.5rem;margin-bottom:40px;text-align:center}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:30px;text-align:center}.card h2{color:#666;font-size:1.2rem;margin-bottom:20px}.amount{color:#667eea;font-size:2.5rem;font-weight:700;margin:0}.currency{color:#999;font-size:.9rem;margin-top:5px}.ingresos-por-moneda{display:flex;flex-direction:column;gap:10px;margin-top:10px}.ingreso-fila{align-items:center;background:#f5f5ff;border-left:4px solid #667eea;border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px}.ingreso-codigo{color:#999;font-size:.85rem;font-weight:700;letter-spacing:.05em}.ingreso-valor{font-size:1.4rem}.count,.ingreso-valor{color:#667eea;font-weight:700}.count{font-size:3rem;margin:0}.section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px;padding:30px}.section h2{border-bottom:2px solid #667eea;color:#333;margin-top:0;padding-bottom:15px}.canchas-table,.reservas-table{border-collapse:collapse;margin-top:20px;width:100%}.canchas-table th,.reservas-table th{background:#f5f5f5;border-bottom:2px solid #667eea;border-right:1px solid #00000012;color:#333;font-weight:600;padding:10px 12px;text-align:left}.canchas-table th:last-child,.reservas-table th:last-child{border-right:none}.canchas-table td,.reservas-table td{border-bottom:1px solid #eee;border-right:1px solid #0000000d;padding:10px 12px}.canchas-table td:last-child,.reservas-table td:last-child{border-right:none}.reservas-table-wrap{overflow-x:auto;width:100%}.status{border-radius:20px;font-size:.85rem;font-weight:600;padding:4px 12px}.status.confirmed{background:#d4edda;color:#155724}.btn-edit{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px}.btn-edit:hover{background:#5568d3}@media (max-width:768px){.admin-dashboard{padding:20px}.dashboard-grid{grid-template-columns:1fr}.canchas-table,.reservas-table{font-size:.9rem}}.admin-mi-sede-form{box-sizing:border-box;max-width:100%;overflow-x:hidden}@media (max-width:560px){.admin-mi-sede-form .admin-mi-sede-field-row{align-items:stretch!important;flex-direction:column!important}.admin-mi-sede-form .admin-mi-sede-field-row>label{max-width:100%;padding-top:0!important;width:100%!important}.admin-mi-sede-form .admin-mi-sede-field-row>div{max-width:100%;min-width:0;width:100%}.admin-mi-sede-form input,.admin-mi-sede-form select,.admin-mi-sede-form textarea{box-sizing:border-box!important;max-width:100%!important;width:100%!important}.admin-mi-sede-form .admin-mi-sede-precio-base{align-items:stretch!important}.admin-mi-sede-form .admin-franja-horas{flex-direction:column!important}.admin-mi-sede-form .admin-franja-horas>div{max-width:100%;width:100%}}.torneo-crear-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;padding:20px}.torneo-crear-card{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000001a;max-width:600px;padding:40px;width:100%}.torneo-crear-card h1{color:#333;font-size:28px;margin-bottom:30px;text-align:center}.form-group{display:flex;flex-direction:column;margin-bottom:20px}.form-group label{color:#333;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:5px;font-size:14px;padding:12px;transition:border-color .3s}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group.checkbox{align-items:center;flex-direction:row;margin-bottom:20px}.form-group.checkbox input{height:20px;margin-right:10px;width:20px}.form-group.checkbox label{font-weight:500;margin:0}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.error-message{background:#fee;border-left:4px solid #c33;color:#c33}.error-message,.success-message{border-radius:5px;margin-bottom:15px;padding:12px}.success-message{background:#efe;border-left:4px solid #3c3;color:#3c3}.btn-submit{background:#d32f2f;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:10px;padding:14px;transition:background .3s;width:100%}.btn-submit:hover:not(:disabled){background:#b71c1c}.btn-submit:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.torneo-vista-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.btn-atras{background:#fff;border:none;border-radius:8px;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:20px;padding:10px 20px;transition:all .3s ease}.btn-atras:hover{background:#f0f0f0;transform:translateX(-5px)}.torneo-header{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;margin-bottom:30px;padding:30px;text-align:center}.torneo-header h1{color:#333;font-size:32px;margin:0 0 10px}.torneo-header p{color:#666;font-size:14px;margin:0}.torneo-acciones{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}.btn-agregar-jugadores{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-agregar-jugadores:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.btn-iniciar-torneo{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-iniciar-torneo:hover:not(:disabled){box-shadow:0 6px 16px #f59e0b66;transform:translateY(-2px)}.btn-iniciar-torneo:disabled{cursor:not-allowed;opacity:.6}.torneo-vista-container .torneo-admin-bar-violeta .torneo-iniciar-aviso{color:#fff59d;font-weight:700;line-height:1.4;margin:8px auto 0;max-width:420px;text-align:center;text-shadow:0 1px 3px #00000073}.torneo-vista-container .torneo-admin-bar-violeta .torneo-acciones--sobre-violeta{align-items:center;flex-direction:column}.torneo-vista-container .torneo-admin-bar-violeta .btn-iniciar-torneo--sobre-violeta{background:linear-gradient(180deg,#fffef5,#fff59d 45%,#fde047);border:2px solid #ffffffbf;box-shadow:0 8px 24px #00000047;color:#1e293b;font-weight:800}.torneo-vista-container .torneo-admin-bar-violeta .btn-iniciar-torneo--sobre-violeta:hover:not(:disabled){box-shadow:0 10px 28px #00000052;transform:translateY(-2px)}.btn-finalizar-torneo{background:linear-gradient(135deg,#7c3aed,#4c1d95);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-finalizar-torneo:hover:not(:disabled){box-shadow:0 6px 16px #7c3aed80;transform:translateY(-2px)}.btn-finalizar-torneo:disabled{cursor:not-allowed;opacity:.6}.tabla-grupos-scroll-outer{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.tabla-grupos-stats{background:#fff;border-collapse:collapse;font-size:12px;min-width:580px;width:100%}.tabla-grupos-col-equipo{box-shadow:4px 0 10px -6px #0f172a40;left:0;padding:8px 6px;position:sticky;text-align:left;z-index:2}.tabla-grupos-th-equipo{background:#f8fafc;color:#475569;font-weight:800;z-index:3}.tabla-grupos-col-stat{color:#334155;font-weight:600;padding:8px 6px;text-align:center;white-space:nowrap}.tabla-grupos-stats thead tr{background:#f8fafc}.tabla-grupos-stats thead .tabla-grupos-col-stat{color:#475569;font-weight:800}.grupos-container{gap:30px}.grupo-section,.grupos-container{display:flex;flex-direction:column}.grupo-section{gap:0}.grupo-header{background:linear-gradient(135deg,#3b2f6e,#5b21b6);border-radius:12px 12px 0 0;color:#fff;font-size:15px;font-weight:800;letter-spacing:.04em;padding:10px 20px;text-transform:uppercase}.grupo-header-knockout{background:linear-gradient(135deg,#dc2626,#9b1c1c)}.grupo-section .contenedor-dos-columnas{border-radius:0 0 16px 16px;margin-bottom:0;overflow:hidden}.grupo-section .partidos-box,.grupo-section .tabla-posiciones-box{border-radius:0}.contenedor-dos-columnas{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 1fr;margin-bottom:30px}@media (max-width:1024px){.contenedor-dos-columnas{grid-template-columns:1fr}}.partidos-box,.tabla-posiciones-box{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;padding:25px}.partidos-box h2,.tabla-posiciones-box h2{border-bottom:3px solid #667eea;color:#333;font-size:20px;margin:0 0 20px;padding-bottom:12px}.tabla-posiciones{border-collapse:collapse;font-size:13px;width:100%}.tabla-posiciones thead{background:#f5f5f5}.tabla-posiciones th{border-bottom:2px solid #ddd;color:#333;font-weight:700;padding:12px 8px;text-align:center}.tabla-posiciones td:first-child,.tabla-posiciones th:first-child{text-align:center;width:35px}.tabla-posiciones td{border-bottom:1px solid #eee;color:#555;padding:12px 8px;text-align:center}.tabla-posiciones tr:hover{background:#f9f9f9}.tabla-posiciones .equipo-nombre{color:#667eea;cursor:pointer;font-weight:600;text-align:left;transition:color .2s}.tabla-posiciones .equipo-nombre:hover{color:#764ba2}.tabla-posiciones .equipo-nombre{vertical-align:top}.jugadores-nombres{color:#999;display:block;font-size:11px;font-weight:400;letter-spacing:.01em;margin-top:3px}.tabla-posiciones .pts{background:#f0e6ff;border-radius:4px;color:#764ba2;font-weight:700}.tabla-posiciones .positivo{color:#27ae60;font-weight:600}.tabla-posiciones .negativo{color:#e74c3c;font-weight:600}.sin-partidos{color:#999;font-size:14px;padding:30px;text-align:center}.lista-partidos{display:flex;flex-direction:column;gap:12px}.partido-item{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border:2px solid #ddd;border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;padding:15px;transition:all .3s ease}.partido-item:hover{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 20px #667eea4d;transform:translateY(-3px)}.partido-item:hover .partido-content{color:#fff}.partido-item:hover .jugadores-nombres{color:#ffffffbf}.partido-item:hover .estado{color:#fff}.partido-content{align-items:center;color:#333;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:12px;transition:color .3s}.equipo-a,.equipo-b{color:inherit;display:flex;flex-direction:column}.vs{color:#999;font-weight:400}.estado,.vs{font-size:12px}.estado{border-radius:20px;font-weight:600;padding:6px 12px;transition:color .3s}.estado.pendiente{background:#fff3cd;color:#856404}.estado.finalizado{background:#d4edda;color:#155724}.modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{animation:slideIn .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:30px;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{color:#333;font-size:22px;margin:0 0 10px}.modal-content>p{color:#666;font-size:14px;font-weight:600;margin:0 0 20px}.modal-jugadores{color:#999;font-size:13px;font-weight:400}.form-sets{gap:15px;margin-bottom:25px}.form-sets,.input-group{display:flex;flex-direction:column}.input-group{gap:6px}.input-group label{color:#333;font-size:13px;font-weight:600}.input-group input{border:2px solid #ddd;border-radius:8px;font-size:14px;font-weight:600;letter-spacing:1px;padding:12px;text-align:center;transition:border-color .3s}.input-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.modal-buttons{display:flex;gap:12px;justify-content:flex-end}.btn-cancelar,.btn-guardar{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-guardar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-guardar:hover{box-shadow:0 8px 20px #667eea4d;transform:translateY(-2px)}.btn-cancelar{background:#f0f0f0;color:#333}.btn-cancelar:hover{background:#e0e0e0}.error,.loading{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;color:#333;font-size:16px;padding:40px;text-align:center}.error{border-left:4px solid #e74c3c;color:#e74c3c}.loading{border-left:4px solid #667eea;color:#667eea}.finalizado-header{margin-bottom:40px;text-align:center}.finalizado-trophy{animation:trophyPulse 2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(245,158,11,.5));font-size:64px;line-height:1;margin-bottom:12px}@keyframes trophyPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.finalizado-titulo{color:#fff;font-size:32px;font-weight:800;margin:0 0 8px;text-shadow:0 2px 8px #0000004d}.finalizado-nombre{color:#fffffff2;font-size:18px;font-weight:600;margin:0 0 4px}.finalizado-info{color:#ffffffa6;font-size:13px;margin:0}.podium-wrapper{align-items:flex-end;display:flex;gap:10px;justify-content:center;margin-bottom:28px;padding:0 4px}.podium-slot{align-items:center;display:flex;flex:1 1;flex-direction:column;max-width:210px;min-width:0}.podium-slot--first{flex:1.12 1;max-width:230px}.podium-slot--second,.podium-slot--third{max-width:200px}@media (max-width:768px){.podium-wrapper{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:4px;justify-content:center;overflow-x:auto;padding:0 6px;scrollbar-width:thin}.podium-slot,.podium-slot--first,.podium-slot--second,.podium-slot--third{flex:0 0 30%;max-width:108px;min-width:78px}.podium-card{border-radius:12px;padding:10px 6px 8px}.podium-team-name{font-size:12px}.podium-points{font-size:15px}.podium-medal{font-size:36px}.podium-pedestal--1{height:100px}.podium-pedestal--2{height:76px}.podium-pedestal--3{height:58px}}.podium-card{background:#fffffff7;border-radius:16px;box-shadow:0 8px 24px #0000002e;box-sizing:border-box;margin-bottom:8px;padding:14px 12px 12px;text-align:center;width:100%}.podium-team-name{color:#1e1b4b;font-size:15px;font-weight:700;margin-bottom:4px}.podium-team-link{background:#0000;border:none;color:#2563eb;cursor:pointer;font-size:inherit;font-weight:inherit;margin:0;padding:0;text-decoration:underline}.podium-team-name--sin-definir{color:#94a3b8;font-weight:600}.podium-player-avatars{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;margin-bottom:8px}.podium-player-avatar-wrap{align-items:center;background:#e2e8f0;border:2px solid #fff;border-radius:999px;box-sizing:border-box;display:inline-flex;height:32px;justify-content:center;margin-left:-12px;overflow:hidden;position:relative;width:32px}.podium-player-avatar-wrap:first-child{margin-left:0}.podium-player-avatar{height:100%;object-fit:cover;width:100%}.podium-player-avatar-fallback{align-items:center;background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff;display:inline-flex;font-size:12px;font-weight:800;height:100%;justify-content:center;width:100%}.podium-players{color:#6b7280;font-size:11px;line-height:1.4;margin-bottom:8px}.podium-points{color:#3b2f6e;font-size:20px;font-weight:800}.podium-points span{color:#9ca3af;font-size:12px;font-weight:500;margin-left:2px}.podium-pedestal{align-items:center;border-radius:10px 10px 0 0;box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;width:100%}.podium-medal{filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));font-size:48px;line-height:1;-webkit-user-select:none;user-select:none}.podium-pedestal--1{background:linear-gradient(165deg,#ffe566,gold 35%,#daa520 70%,#8b6914);box-shadow:0 -4px 22px #ffd70073;height:120px}.podium-pedestal--2{background:linear-gradient(165deg,#f5f5f5,#d8d8d8 40%,silver 75%,#6b6b6b);box-shadow:0 -4px 16px #c0c0c073;height:90px}.podium-pedestal--3{background:linear-gradient(165deg,#e8a060,#cd7f32 45%,#8b5a2b 85%,#5c3d1e);box-shadow:0 -4px 14px #8b5a2b66;height:70px}.clasificacion-resto{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;margin:0 auto;max-width:600px;padding:24px}.clasificacion-resto h3{color:#fff9;font-size:14px;font-weight:600;letter-spacing:.08em;margin:0 0 16px;text-transform:uppercase}.clasificacion-item{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:14px;padding:10px 0}.clasificacion-item:last-child{border-bottom:none}.clasificacion-pos{align-items:center;background:#ffffff26;border-radius:50%;color:#fffc;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:28px;justify-content:center;width:28px}.clasificacion-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.clasificacion-nombre{color:#fffffff2;font-size:14px;font-weight:600}.clasificacion-players{color:#ffffff80;font-size:11px}.clasificacion-pts{color:#ffffffb3;font-size:14px;font-weight:700;white-space:nowrap}@keyframes torneo-confetti-fall{0%{opacity:1;transform:translateZ(0) rotate(0deg)}to{opacity:.92;transform:translate3d(0,115vh,0) rotate(2turn);transform:translate3d(var(--confetti-drift,0),115vh,0) rotate(var(--confetti-rot,2turn))}}.torneo-confetti-root{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:9999}.torneo-confetti-bit{animation-fill-mode:forwards;animation-name:torneo-confetti-fall;animation-timing-function:linear;border-radius:2px;pointer-events:none;position:absolute;top:-4px;will-change:transform}.clasificacion-final-box{background:#fffffff5;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 14px #0000000f;margin-left:auto;margin-right:auto;margin-top:8px;max-width:640px;padding:14px 16px}.clasificacion-final-titulo{color:#0f172a;font-size:14px;font-weight:800;letter-spacing:.02em;margin:0 0 12px}.clasificacion-final-lista{display:flex;flex-direction:column;gap:6px}.clasificacion-final-fila{align-items:center;color:#334155;display:flex;font-size:12px;gap:8px;line-height:1.35;min-width:0}.clasificacion-final-pos{color:#64748b;flex-shrink:0;font-weight:800;text-align:center;width:22px}.clasificacion-final-equipo{color:#0f172a;flex-shrink:0;font-weight:700;max-width:38%}.clasificacion-final-equipo,.clasificacion-final-jug{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clasificacion-final-jug{color:#64748b;flex:1 1;font-weight:600;min-width:0}.clasificacion-final-pts{color:#15803d;flex-shrink:0;font-weight:800;white-space:nowrap}.clasificacion-final-mute{color:#94a3b8!important;font-weight:600}@keyframes pm-acceso-autofill{0%{opacity:1}to{opacity:1}}input.acceso-cuenta-input:-webkit-autofill,input.acceso-cuenta-input:-webkit-autofill:active,input.acceso-cuenta-input:-webkit-autofill:focus,input.acceso-cuenta-input:-webkit-autofill:hover{animation-duration:1ms;animation-name:pm-acceso-autofill}
/*# sourceMappingURL=main.91d2669b.css.map*/