:root{--theme-color:#333;--theme-color-font:#fff}body{font-family:Inter,sans-serif;font-optical-sizing:auto;font-style:normal;font-weight:400}body *{font-family:Inter,sans-serif}body input{font-size:1em}.alumno-list-bottom-sheet-overlay,.sheet-overlay{display:none;z-index:2000!important}.alumno-list-bottom-sheet-overlay.open,.sheet-overlay.open{display:block}.alumno-list-bottom-sheet,.bottom-sheet{z-index:2001!important}.modal-overlay{z-index:3002!important}.modal-content{z-index:3003!important}@media (min-width:768px){body .bottom-sheet{border-radius:12px;bottom:auto;box-shadow:0 24px 60px #0006;left:50%;max-height:85vh;max-width:calc(100vw - 220px);opacity:0;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);transition:opacity .15s ease;width:620px}body .bottom-sheet.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}body .alumno-list-bottom-sheet{border-radius:12px;bottom:auto;box-shadow:0 24px 60px #0006;left:50%;max-width:calc(100vw - 220px);position:fixed;right:auto;top:50%;transform:translate(-50%,-50%);width:580px}}.App{text-align:center}.App-header{background-color:#282c34;color:#fff;padding:20px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f4f4;margin:0}.app-container{display:flex;flex-direction:column;height:100vh}.content-area{flex-grow:1;margin-bottom:20px;overflow-y:auto;padding:60px 16px 140px}.content-area h2{border-bottom:1px solid #494949;font-size:1.2em;margin-top:1.6em;position:relative}.content-area h1{color:#3d3d3d;font-size:1.8em}.content-area tr:nth-child(2n){background-color:#f9f9f9}@media (min-width:768px){.content-area{margin-bottom:0;margin-left:200px;max-width:1100px;padding-bottom:40px;padding-left:32px;padding-right:32px}}.top-bar{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;height:60px;justify-content:space-between;left:0;padding:0 16px;position:fixed;right:0;top:0;z-index:1000}.loading-border{background-image:repeating-linear-gradient(-45deg,#999,#444 11px,#fff 0,#eee 20px);background-size:28px 28px;bottom:-4px;display:none;height:4px;left:0;position:absolute;width:100%}.loading-border.visible{animation:move-stripes .2s linear infinite;display:block}@keyframes move-stripes{0%{background-position:0 0}to{background-position:28px 0}}.top-bar-title{align-items:center;color:#333;display:flex;font-size:20px;font-weight:700;gap:3px}.top-bar-logo{flex-shrink:0;height:32px;object-fit:contain;width:auto}.top-bar-menu{position:relative}.top-bar-menu svg{cursor:pointer}.top-bar-user-foto{border:1px solid #e0e0e0;border-radius:7px;cursor:pointer;display:block;height:32px;object-fit:cover;width:32px}.config-button{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;margin-right:18px;padding:0}.config-button svg{height:28px;width:28px}.dropdown-menu{background-color:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 8px #0000001a;display:flex;flex-direction:column;position:absolute;right:0;top:40px;width:200px;z-index:1001}.dropdown-menu a,.dropdown-menu button{background:none;border:none;color:#333;cursor:pointer;font-size:1em;padding:12px 16px;text-align:left;text-decoration:none;width:100%}.dropdown-menu a:last-child,.dropdown-menu button:last-child{border-bottom:none}.dropdown-menu a:hover,.dropdown-menu button:hover{background-color:#f5f5f5}@media (min-width:768px){.top-bar{left:200px}}.bottom-nav{background-color:var(--theme-color);border-top:1px solid #0003;bottom:0;height:60px;justify-content:space-around;left:0;position:fixed;right:0;z-index:1000}.bottom-nav,.nav-item{align-items:center;display:flex}.nav-item{color:var(--theme-color-font);flex-direction:column;flex-grow:1;height:100%;justify-content:center;opacity:.65;text-decoration:none}.nav-item span{font-size:12px;margin-top:4px}.nav-item.active{opacity:1}@media (min-width:768px){.bottom-nav{align-items:stretch;border-right:1px solid #0003;border-top:none;bottom:0;flex-direction:column;height:100vh;left:0;overflow-y:auto;padding-top:70px;right:auto;top:0;width:200px}.bottom-nav,.nav-item{box-sizing:border-box;justify-content:flex-start}.nav-item{flex-direction:row;flex-grow:0;gap:12px;height:auto;padding:14px 20px}.nav-item span{font-size:14px;margin-top:0}.nav-item.active{background-color:#0003;opacity:1}.nav-item:hover{background-color:#0000001a}.nav-item.active:hover{background-color:#0003}}.alumno-foto-thumb{cursor:pointer;object-fit:cover}.alumno-foto-placeholder,.alumno-foto-thumb{border-radius:6px;flex-shrink:0;height:30px;margin-right:8px;vertical-align:middle;width:30px}.alumno-foto-placeholder{align-items:center;color:#fff;display:inline-flex;font-size:11px;font-weight:600;justify-content:center;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.alumno-foto-modal-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.alumno-foto-modal-inner{display:inline-block;position:relative}.alumno-foto-close{align-items:center;background:#fff;border:none;border-radius:50%;color:#333;cursor:pointer;display:flex;font-size:13px;height:28px;justify-content:center;line-height:1;padding:0;position:absolute;right:-12px;top:-12px;width:28px;z-index:1}.alumno-foto-full{border-radius:8px;display:block;max-height:75vh;max-width:80vw}.alumno-list-main{border-collapse:collapse;width:100%}.badge-prueba-list{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;display:inline-block;font-size:.7em;font-weight:600;letter-spacing:.04em;margin-right:5px;padding:1px 5px;text-transform:uppercase;vertical-align:middle}.alumno-list-main td,.alumno-list-main th{border:1px solid #ddd;padding:8px;text-align:left}.alumno-list-main th{background-color:#f2f2f2}.alumnos-activos-count{color:#888;font-size:12px;margin:8px 0 0}.todos-paginator{align-items:center;display:flex;gap:12px;margin-top:10px}.todos-paginator button{background:none;border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:16px;padding:4px 12px}.todos-paginator button:disabled{cursor:default;opacity:.3}.todos-paginator span{color:#555;font-size:14px}.alumno-list-ninguno{color:grey;font-size:.85em;margin:2px 0 12px}span.alumno-list-recuento{font-size:1.4em;font-weight:400}.alumno-list-main td:last-child:has(button){text-align:right;white-space:nowrap;width:1%}h1.alumnos-list-header{display:inline-block;position:relative;width:100%}.add-alumno-button{align-items:center;background:#4caf50;border:none;border-radius:20%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:30px;justify-content:center;position:absolute;right:0;top:4px;width:30px}.alumno-list-search-button{background:none;border:none;cursor:pointer;font-size:20px;margin-left:10px}h2.todos-title{display:inline-block;position:relative;width:100%}.search-button{background:#9d9d9d;border:none;border-radius:20%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:30px;justify-content:center;padding-top:7px;position:absolute;right:0;top:0;width:30px}.alumno-list-bottom-sheet-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.alumno-list-bottom-sheet{background:#fff;border-radius:10px 10px 0 0;bottom:0;box-shadow:0 -2px 10px #0000001a;box-sizing:border-box;left:0;margin:0 auto;max-width:600px;padding:20px;position:absolute;right:0;width:100%}.alumno-list-search-input-group{align-items:center;display:flex;margin-bottom:20px}.alumno-list-search-input-group label{margin-right:10px}.alumno-list-search-input-group input{border:1px solid #ccc;border-radius:4px;flex:1 1;padding:8px}.alumno-list-search-input-group button{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-left:10px;padding:12px}.alumno-list-search-results{width:100%}.calendar-container{box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - 140px);padding:0}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin:20px 0}.calendar-header h2{margin:0}.calendar-header .calendar-month-title{border-bottom:none;cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none}.calendar-header button{background:#fff;border:1px solid #ccc;cursor:pointer;padding:10px 15px}.calendar-header button:disabled{cursor:not-allowed;opacity:.5}.calendar-grid{grid-gap:1px;background-color:#ddd;border:1px solid #ccc;display:grid;flex-grow:1;gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(5,1fr)}.calendar-day,.day-name{background-color:#fff;display:flex;flex-direction:column;min-height:0;min-width:0;padding:0;position:relative;text-align:center}.day-name{background-color:#f4f4f4;font-size:.8em;justify-content:center;padding:5px}.calendar-day.empty{background-color:#f7f7f7}.day-number{color:#333;font-size:.8em;left:5px;position:absolute;top:5px}.day-number.holiday-text,.holiday-notice{color:#d32f2f;font-weight:700}.holiday-notice{margin-bottom:10px;padding:10px}.events-container{display:flex;flex-direction:column;gap:2px;margin-top:25px;overflow:hidden;padding:0 2px}.more-events{color:#555;font-size:.7em;margin-top:auto;padding-bottom:2px}.event{background-color:#a7f3d0;border-radius:4px;color:#065f46;font-size:.9em;overflow:hidden;padding:2px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.event.full{background-color:#fecaca;color:#991b1b}.event.passed{background-color:#c3c3c3!important;color:#fff}.bottom-sheet{display:flex;flex-direction:column;overflow:hidden}.sheet-header-left{align-items:center;display:flex;flex:0 0 80%}.sheet-header .sheet-title{flex:1 1 auto;font-size:18px;margin:0;text-align:center}.sheet-nav{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font-size:18px;justify-content:center;padding:6px}.sheet-nav.left{margin-right:8px}.sheet-nav.right{margin-left:8px}.sheet-header-right{align-items:center;display:flex;flex:0 0 20%;justify-content:flex-end}.sheet-close{border:none;font-size:16px}.sheet-close,.sheet-today{background:none;cursor:pointer}.sheet-today{align-items:center;border:1px solid #494949;border-radius:5px;display:inline-flex;justify-content:center;margin-left:21px;padding:2px 8px}.sheet-today-label{color:#494949;font-weight:600}.sheet-body{flex:1 1;gap:3px;overflow-y:auto;padding:16px}.sheet-time-separator{background-color:#5f5f5f;border-radius:1px;height:2px;margin:6px 0}.sheet-event{border:1px solid #e6efe6;border-radius:6px;cursor:pointer;overflow:hidden;padding:12px 56px 12px 10px;position:relative;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.sheet-event:active{opacity:.9}.sheet-event-left{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-event-right{align-items:center;display:flex;gap:8px;position:absolute;right:28px;top:50%;transform:translateY(-50%)}.sheet-event-count{color:#333;font-size:.95em;font-weight:600;white-space:nowrap}.sheet-event-espera{align-items:center;color:#c0392b;display:flex;font-size:.95em;gap:3px;white-space:nowrap}.no-events{color:#666;padding:10px}.sheet-footer{display:flex;justify-content:flex-end}.calendar-container .sheet-footer button.cancel-jornada{align-items:center;background:#fff;border:1px solid #c53030;border-radius:8px;color:#c53030;cursor:pointer;display:inline-flex;gap:8px;padding:10px 14px;width:auto}.cancel-journey:active{opacity:.9}.availability-dot{height:10px;position:absolute;right:10px;top:50%;transform:translateY(-50%);width:10px}.availability-dot.available{background:#10b981}.availability-dot.full{background:#ef4444}.calendar-day.holiday{background-color:#ffc8c880}.scheduling-notice{background-color:#656667;color:#fff;margin-bottom:10px;margin-top:10px;padding:10px;position:-webkit-sticky;position:sticky;text-align:center}.scheduling-close{background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:20px;position:absolute;right:10px;top:46%;transform:translateY(-50%)}.calendar-day.today .day-number{font-weight:700}.calendar-day.today{border:2px solid #313131}.calendar-container .modal-button{background:var(--theme-color);border:none;border-radius:8px;color:var(--theme-color-font);font-size:1em;padding:10px 14px}.cal-header-right{align-items:center;display:flex;gap:8px}.view-toggle{border:1px solid #ccc;border-radius:6px;display:flex;overflow:hidden}.view-toggle-btn{align-items:center;background:#fff;border:none;color:#666;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:8px 10px;transition:background .15s}.view-toggle-btn.active{background:var(--theme-color);color:var(--theme-color-font)}.view-toggle-btn:not(.active):hover{background:#f0f0f0}.cal-list-view{flex:1 1;gap:16px;overflow-y:auto;padding:4px 0 16px}.cal-list-day,.cal-list-view{display:flex;flex-direction:column}.cal-list-day{gap:4px}.cal-list-day.today{border-left:3px solid #313131;padding-left:8px}.cal-list-day-header{align-items:center;border-bottom:1px solid #e5e5e5;color:#111;display:flex;font-size:1em;font-weight:600;justify-content:space-between;margin-bottom:2px;padding:2px 0 6px;text-transform:capitalize}.cal-list-day-header.today{color:#111;font-weight:700}.cal-list-day-header.holiday{color:#d32f2f}.holiday-label{font-weight:400}.cal-list-event{background:#fff;border:1px solid #e6efe6;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:10px 12px;text-align:left;width:100%}.cal-list-event-title.passed{color:#aaa}.cal-list-event-check-icon{color:#aaa;font-size:.85em;margin-left:8px;vertical-align:middle}.cal-list-event:active{opacity:.85}.cal-list-event-main{align-items:center;display:flex;gap:8px;justify-content:space-between}.cal-list-event-title{color:#111;flex:1 1;font-size:1.2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-list-event-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.cal-list-event-cap{color:#333;font-size:1em;font-weight:600;white-space:nowrap}.cal-list-event .availability-dot{position:static;transform:none}.cal-list-event-alumnos{color:#111;display:flex;flex-direction:column;font-size:1.05em;gap:2px;margin-top:2px}.cal-list-event-alumnos.empty{color:#bbb;font-style:italic}.cal-list-alumno{align-items:center;color:#111;display:flex;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asistencia-icon{flex-shrink:0;font-size:.85em}.asistencia-icon.present{color:#10b981}.asistencia-icon.absent{color:#ef4444}.asistencia-icon.unrecorded{color:#bbb}@media (min-width:768px){.calendar-container{height:calc(100vh - 60px)}}.nueva-clase-sheet-btn{align-items:center;align-self:flex-end;background:none;border:1px solid #6c5ce7;border-radius:8px;color:#6c5ce7;cursor:pointer;display:inline-flex;font-size:.85rem;gap:6px;margin-left:auto;padding:7px 14px}.nueva-clase-sheet-btn:hover{background:#f3f0ff}.day-menu-wrap{display:inline-flex;outline:none;position:relative}.day-menu-trigger{background:none;border:none;border-radius:4px;color:#888;cursor:pointer;font-size:.85rem;line-height:1;padding:2px 6px}.day-menu-trigger:hover{background:#f0f0f0;color:#333}.day-menu-dropdown{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #0000001f;min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:200}.day-menu-dropdown button{align-items:center;background:none;border:none;color:#222;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 14px;text-align:left;width:100%}.day-menu-dropdown button:hover{background:#f5f5f5}.nueva-clase-modal{max-height:90vh;overflow-y:auto;text-align:left}.nueva-clase-title{font-size:1.1rem;margin:0 0 6px}.nueva-clase-desc{color:#888;font-size:.8rem;line-height:1.4;margin:0 0 16px;text-align:left}.nueva-clase-field{margin-bottom:14px;text-align:left}.nueva-clase-fecha-hora-row{align-items:flex-end;display:flex;gap:10px}.nueva-clase-fecha-wrap{flex:1 1}.nueva-clase-hora-wrap{flex-shrink:0}.nueva-clase-cupo-prof-row{align-items:flex-end;display:flex;gap:10px}.nueva-clase-prof-wrap{flex:1 1}.nueva-clase-cupo-wrap{flex-shrink:0;width:85px}.nueva-clase-label{color:#666;display:block;font-size:.8rem;margin-bottom:4px;text-align:left}.nueva-clase-input,.nueva-clase-select{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:.95rem;padding:8px 10px;width:100%}.nueva-clase-select.full{width:100%}.nueva-clase-checks{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto;padding:6px 0}.nueva-clase-check-label{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:8px;text-align:left}.clase-detail{max-width:1100px}.badge-prueba{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;display:inline-block;font-size:.52em;font-weight:600;letter-spacing:.04em;margin-right:6px;padding:1px 3px;text-transform:uppercase;vertical-align:middle}.stats-empty{color:#aaa;font-size:.9em;margin:0 0 24px}.opinion-stats{margin-bottom:24px}.stats-total{color:#888;font-size:.85em;margin:0 0 10px}.stats-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.stats-item{align-items:center;display:flex;gap:12px;justify-content:space-between}.stats-pregunta{color:#333;flex:1 1;font-size:.9em;line-height:1.3}.stats-score{align-items:center;display:flex;flex-shrink:0;gap:6px}.stats-media{color:#888;font-size:.85em;min-width:24px}.stars-display{display:inline-block;font-size:1.15em;letter-spacing:1px;line-height:1;position:relative}.stars-bg{color:#ddd;display:block;white-space:nowrap}.stars-fill{color:#f39c12;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap}.clase-detail h1{color:#333;font-size:1.2em;margin-bottom:20px}.clase-info-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.clase-privada-warning{background:#fff8e1;border:1px solid #ffc107;border-radius:6px;color:#6d4c00;font-size:.9em;line-height:1.4;margin:0 0 12px;padding:10px 14px}.clase-actividad-nombre{font-size:1.3em;margin-bottom:2px}.clase-info-sub{align-items:center;color:#555;display:flex;font-size:.88em;gap:6px}.clase-menu-container{flex-shrink:0;position:relative}.clase-menu-btn{background:none;border:none;border-radius:4px;color:#555;cursor:pointer;font-size:1.1em;padding:4px 6px}.clase-menu-btn:hover{background:#eee}.clase-menu-dropdown{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #0000001f;min-width:130px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.clase-menu-dropdown button{background:none;border:none;cursor:pointer;display:block;font-size:.95em;padding:10px 14px;text-align:left;width:100%}.clase-menu-dropdown button:hover{background:#f5f5f5}.clase-menu-dropdown button:last-child{color:#c0392b}.clase-info{background:#f9f9f9;border-radius:8px;padding:15px}.clase-info p{margin:2px 0}.clase-profesional{gap:8px;margin:8px 0}.clase-profesional .alumno-foto-placeholder,.clase-profesional .alumno-foto-thumb{height:32px;width:32px}.clase-profesional-nombre{color:#444;font-size:.9em}.clase-detail .profesional-list{display:flex;flex-direction:column;gap:4px}.clase-detail .profesional-item{align-items:center;border-radius:6px;color:#333;cursor:pointer;display:flex;flex-direction:row;font-size:.95em;gap:10px;padding:6px 8px}.clase-detail .profesional-item:hover{background:#f0f0f0}.clase-detail .profesional-item input[type=radio]{cursor:pointer;flex-shrink:0;margin:0}.clase-detail .profesional-item .alumno-foto-placeholder,.clase-detail .profesional-item .alumno-foto-thumb{border-radius:50%;flex-shrink:0;height:32px;margin-right:0;object-fit:cover;width:32px}.availability-dot{border-radius:50%;display:inline-block;height:12px;margin-left:8px;width:12px}.alumnos-table{border-collapse:collapse;width:100%}.alumnos-table td,.alumnos-table th{border:1px solid #ddd;padding:8px;text-align:left}.alumnos-table th{background-color:#f2f2f2;font-weight:700}.alumnos-table tr:nth-child(2n){background-color:#f9f9f9}.alumnos-table tr:hover{background-color:#f1f1f1}span.recuento{font-size:1.4em;font-weight:400}.bottom-sheet{transition:transform .2s ease-out}.sheet-header{justify-content:space-between}.sheet-header h3{font-size:18px}.sheet-body input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:12px}.sheet-footer button{border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:12px}.sheet-footer button:first-child{background-color:var(--theme-color);color:var(--theme-color-font)}.sheet-footer button:first-child:disabled{opacity:.4}.lugares-bloqueados-header{display:inline-block;position:relative;width:100%}.add-button{background:#9d9d9d;border:none;border-radius:20%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:30px;justify-content:center;position:absolute;right:0;top:0;width:30px}.add-button:hover{background:#0056b3}.cancel-button,.signup-button,.view-button{background:#e7e7e7;border:none;border-radius:20%;cursor:pointer;display:inline-block;font-size:14px;padding:11px 12px 8px;vertical-align:middle}.cancel-button{color:red}.view-button{color:#000}.signup-button{color:#006400}table.alumnos-table td:has(button){text-align:right}.sheet-body label{align-items:center;display:flex;flex-direction:row}.cancel-sheet p{margin:0 0 12px}div.sheet-footer.cancel-sheet button{background-color:#f92f2f;color:#fff}.alumnos-table td:last-child:has(button){text-align:right;white-space:nowrap;width:1%}.clase-detail .modal-button{background:var(--theme-color);border:none;border-radius:8px;color:var(--theme-color-font);font-size:1em;padding:10px 14px}.confirmados-header{display:inline-block;position:relative;width:100%}.asistencia-button{align-items:center;background:#555;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.72em;gap:5px;padding:5px 11px;position:absolute;right:0;top:50%;transform:translateY(-50%);white-space:nowrap}.asistencia-button.guardar{background:#2a7a2a}.asistencia-button:hover{opacity:.85}.asistencia-checkbox-cell{text-align:center!important;white-space:nowrap;width:1%}.asistencia-checkbox-cell input[type=checkbox]{accent-color:#2a7a2a;cursor:pointer;height:18px;width:18px}.inscribir-hint{color:#888;font-size:.82em;margin:-10px 0 8px}.clase-detail .edit-class span{width:65px}.edit-class-privada-label{align-items:center;cursor:pointer;display:flex;gap:8px;margin-bottom:8px}.edit-class-actividades{margin-bottom:8px}.edit-class-actividades-label{color:#666;display:block;font-size:.85em;margin-bottom:4px;width:auto!important}.clase-detail .edit-class select{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1em;margin-right:10px;padding:12px}.lista-espera-header{align-items:center;color:#333;display:flex}.waitlist-meta{vertical-align:middle}.waitlist-meta>div{display:flex;flex-direction:column;gap:2px}.waitlist-motivo{color:#555;font-size:.82em}.waitlist-fecha{color:#aaa;font-size:.78em}.waitlist-actions{text-align:right!important;vertical-align:middle;white-space:nowrap;width:1%}.waitlist-actions button+button{margin-left:2px}.waitlist-move-btn{background:#e7e7e7;border:none;border-radius:20%;color:#555;cursor:pointer;display:inline-block;font-size:13px;margin-left:2px;padding:11px 12px 8px;vertical-align:middle}.waitlist-move-btn:hover{background:#d0d0d0}.alumno-detail{max-width:1100px}.sin-email-warning{align-items:center;color:#b45309;display:inline-flex;font-size:.88em;gap:5px}.alumno-detail h1{align-items:center;color:#333;display:flex;margin-bottom:20px}.alumno-menu-container{flex-shrink:0;margin-left:auto;position:relative}.alumno-menu-btn{background:none;border:none;border-radius:4px;color:#555;cursor:pointer;font-size:16px;padding:6px 10px}.alumno-menu-btn:hover{background:#eee}.alumno-menu-dropdown{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #0000001f;min-width:186px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.alumno-menu-dropdown button{background:none;border:none;cursor:pointer;display:block;font-size:.95em;padding:10px 14px;text-align:left;width:100%}.alumno-menu-dropdown button:hover{background:#f5f5f5}.alumno-edit-form label{align-items:center;display:flex;flex-direction:row;gap:8px;margin-bottom:12px}.alumno-edit-form label>span{color:#555;flex-shrink:0;font-size:.9em;text-align:left;width:60px}.alumno-edit-form input:not([type=checkbox]){box-sizing:border-box;flex:1 1}.alumno-edit-bienvenida{gap:8px}.alumno-edit-bienvenida input[type=checkbox]{flex-shrink:0;width:auto}.alumno-edit-bienvenida span{text-align:left;width:auto!important}.alumno-info{background:#fdfdfd;border-radius:8px;margin-bottom:20px;padding:15px}.alumno-info p{margin:8px 0}.alumno-info a{color:#555;text-decoration:underline}.nombre-link{cursor:pointer}.nombre-link:hover{text-decoration:underline}.movimientos-table{border-collapse:collapse;margin-top:10px;width:100%}.movimientos-table td,.movimientos-table th{border:1px solid #ddd;padding:8px;text-align:left}.movimientos-table th{background-color:#f2f2f2}.debt-dot{border-radius:50%;display:inline-block;height:10px;margin-left:5px;width:10px}.clases-table{border-collapse:collapse;margin-top:10px;width:100%}.clases-table td,.clases-table th{border:1px solid #ddd;padding:8px;text-align:left}.clases-table th{background-color:#f2f2f2}.clases-table td:last-child:has(button),.pagos-table td:last-child:has(button),.pendientes-table td:last-child:has(button){text-align:right;white-space:nowrap;width:1%}.pagos-table{border-collapse:collapse;margin-top:10px;width:100%}.pagos-table td,.pagos-table th{border:1px solid #ddd;padding:8px;text-align:left}.pendientes-table{margin-top:10px}.pendientes-table td,.pendientes-table th{border:1px solid #ddd;padding:8px;text-align:left}.pendientes-table th{background-color:#f2f2f2}.pendiente-creada{color:#999;font-size:.78em;margin-top:2px}.cancel-status{font-size:.8em}.calendar-button{background:none;border:none;cursor:pointer;display:inline-block;font-size:14px;margin:0 5px;padding:8px 12px;vertical-align:middle}.view-more-button{align-items:center;background:#d9d9d9;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:inline-flex;margin-top:10px;padding:5px 10px}.alumno-detail .status{align-items:center;display:flex;gap:8px;margin-bottom:10px}.alumno-detail .activo{background:#079907;border-radius:4px;color:#fff;padding:2px 6px}.alumno-detail .inactivo{background:#e10b0b;border-radius:4px;color:#fff;padding:2px 6px}.alumno-detail .status-date{color:red;font-weight:400;margin-left:10px;position:relative}.alumno-detail .more-classes-count{margin-bottom:0}.suscripcion-table{border-collapse:collapse;margin-top:10px;width:100%}.suscripcion-table td{border:1px solid #ddd;padding:8px;text-align:left}.alumno-detail button.cancel-jornada{align-items:center;border:1px solid #ef2424;border-radius:8px;color:#ef2424;cursor:pointer;display:inline-flex;font-size:1em;gap:8px;margin-top:40px;padding:10px 14px;width:auto}.alumno-detail .sheet-body label{align-items:center}.alumno-detail button.delete-button{background-color:#f92f2f;color:#fff}.modal-button{background:#737373;border-radius:4px;display:block}.movimientos{margin:0 auto;max-width:800px}.movimientos h1{align-items:center;color:#333;display:flex;justify-content:space-between;margin-bottom:10px}.movimientos h2{color:#555}.movimientos h2,.movimientos p{margin-bottom:20px}.movimientos-full-table{border-collapse:collapse;font-size:80%;width:100%}.movimientos-full-table td,.movimientos-full-table th{border:1px solid #ddd;padding:8px;text-align:left}.movimientos-full-table th{background-color:#f2f2f2}.movimientos .title-add-button{align-items:center;background:#4caf50;border:none;border-radius:20%;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;height:30px;justify-content:center;padding:0;width:30px}.nuevo-movimiento{margin:0 auto;max-width:400px}.nuevo-movimiento h1{color:#333;margin-bottom:10px}.nuevo-movimiento h2{color:#555;margin-bottom:20px}.nuevo-movimiento form{display:flex;flex-direction:column}.radio-group{margin-bottom:15px}.radio-group label{display:block;margin-bottom:5px}.input-group{margin-bottom:15px;position:relative}.input-group span{left:10px;position:absolute;top:50%;transform:translateY(-50%)}.input-group input{box-sizing:border-box;font-size:1.5em;padding-left:25px;width:50%}.descripcion-input,.input-group input{border:1px solid #c3c3c3;border-radius:4px}.descripcion-input{height:3em;margin-bottom:15px;padding-left:8px;width:90%}.checkbox-group{align-items:center;display:flex;margin-bottom:50px}.question-icon{color:gray;margin-left:15px}button[type=submit]{background:#3d3d3d;font-size:1em;padding:10px 30px}.understand-button,button[type=submit]{border:none;border-radius:4px;color:#fff;cursor:pointer}.understand-button{background:#737373;display:block;padding:10px 20px}h1.actividades-header{display:inline-block;position:relative;width:100%}.actividades .title-add-button{align-items:center;background:#4caf50;border:none;border-radius:20%;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;height:30px;justify-content:center;padding:0;position:absolute;right:0;top:4px;width:30px}.actividades-full-table{border-collapse:collapse;width:100%}.actividades-full-table td,.actividades-full-table th{border:1px solid #ddd;padding:8px;text-align:left}.actividades-full-table th{background-color:#f2f2f2}.actividades-full-table td:last-child:has(button){text-align:right;white-space:nowrap;width:1%}.actividades h1{align-items:center;color:#333;display:flex;justify-content:space-between}.actividades .sheet-body button:disabled{opacity:.4}.actividades .sheet-body .button-group{display:flex;gap:5px;margin-top:15px}.actividades h2{align-items:center;display:flex;justify-content:space-between}.actividades .edit-button{background:#e7e7e7;border:none;border-radius:20%;cursor:pointer;font-size:14px;padding:11px 12px 8px;vertical-align:middle}.actividades .sheet-body label{align-items:center;display:flex;flex-direction:row;gap:5px;margin-bottom:8px}.actividades .sheet-body input,.actividades .sheet-body select{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1em;padding:9px;width:100%}.actividades .sheet-body form span{width:100px}.edit-body button[type=submit]{flex:2 1;width:65%}.edit-body button.delete-button{background:none;border:none;color:red;flex:1 1}.actividades .sheet-body .days-checkboxes{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;width:80%}.actividades .sheet-body .days-row{align-items:center;display:flex;flex-direction:row;gap:5px;margin-bottom:8px}.actividades .detail-button{margin-right:15px}.ocupacion-cell{color:#323232;font-size:.82em;white-space:nowrap}.ocupacion-icon{font-size:.9em;margin-right:4px;vertical-align:-1px}.participantes-subtitle{color:#555;font-size:.95em;font-weight:600;margin:16px 0 8px}.participantes-subtitle-cambios{margin-top:24px}.participantes-empty,.participantes-sin-cambios{color:#888;font-size:.9em;margin:4px 0}.participante-sale{color:#c0392b;text-decoration:line-through}.participante-incorpora{color:#27ae60}.clases-help-icon{color:gray;cursor:pointer;margin-left:6px;vertical-align:-1px}.clase-pasada td{color:#aaa}.clase-pasada .clase-check-icon{color:#aaa;font-size:.85em;margin-left:10px;vertical-align:middle}.participante-legend{font-size:.82em;margin-left:4px;opacity:.8}.inline-warning{color:orange;display:inline-block;margin-right:5px;position:relative;top:2px;width:auto!important}.profesional-selector{align-items:flex-start;display:flex;flex-direction:row;gap:5px;margin-bottom:8px}.profesional-selector>span{flex-shrink:0;padding-top:10px;width:100px}.profesional-list{display:flex;flex-direction:column;gap:4px}.profesional-item{border-radius:6px;color:#333;cursor:pointer;flex-direction:row;font-size:.95em;padding:6px 8px}.profesional-item:hover{background:#f0f0f0}.profesional-item input[type=radio]{cursor:pointer;flex-shrink:0;margin:0;width:auto}.actividades .sheet-body .profesional-item .alumno-foto-placeholder,.actividades .sheet-body .profesional-item .alumno-foto-thumb{border-radius:50%;flex-shrink:0;height:32px;margin-right:0;object-fit:cover;width:32px}.clases-alumno-page{padding:0 0 32px}.clases-alumno-page h2{color:#333;margin-top:24px}.vacaciones-screen{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 32px;text-align:center}.vacaciones-icon{font-size:3em}.vacaciones-screen h2{border:0;color:#333;font-size:1.4em;margin:0}.vacaciones-screen p{color:#666;font-size:.95em;margin:0}.clases-list{list-style:none;margin:0;padding:0}.clase-item{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:4px}.clase-info{display:flex;flex:1 1;flex-direction:column;gap:2px;margin-top:13px;min-width:0}.clase-actividad{font-size:.97em;font-weight:600}.clase-fecha{color:#666;font-size:.85em}.clase-profesional-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.clase-profesional{align-items:center;color:#888;display:flex;font-size:.82em;gap:6px;min-width:0}.clase-profesional .alumno-foto-placeholder,.clase-profesional .alumno-foto-thumb{border-radius:50%;flex-shrink:0;height:20px;margin-right:0;object-fit:cover;width:20px}.clase-ocupacion-inline{align-items:center;color:#888;display:inline-flex;flex-shrink:0;gap:3px}.btn-cambiar{background:var(--theme-color);border:none;border-radius:6px;color:var(--theme-color-font);cursor:pointer;flex-shrink:0;font-size:.82em;padding:7px 12px;white-space:nowrap}.btn-primary{margin-top:12px}.btn-secondary{border:1px solid #ccc;border-radius:6px;color:#333;margin-top:8px}.btn-danger,.btn-secondary{background:#fff;cursor:pointer;display:block;font-size:1em;padding:12px;width:100%}.btn-danger{border:1px solid #c0392b;border-radius:6px;color:#c0392b;margin-top:12px}.btn-back{background:none;border:none;color:#555;cursor:pointer;display:block;font-size:.9em;padding:0 0 12px}.options-body{padding:16px}.clase-titulo{font-size:1.05em;font-weight:600;margin:0 0 2px}.clase-subtitulo{color:#666;font-size:.88em;margin:0 0 6px}.aviso-fuera-de-ventana{background:#fff8e1;border-radius:6px;color:#7a5800;font-size:.9em;margin-bottom:4px;padding:10px 12px}.options-buttons{display:flex;flex-direction:column;gap:0}.instruccion{color:#555;font-size:.9em;margin:0 0 8px}.clase-actividad-nombre{color:#333;font-size:.92em;font-weight:600}.clases-list.disponibles .clase-info{margin-top:0}.clases-list.disponibles .clase-fecha{align-items:center;display:flex;justify-content:space-between}.clases-list.disponibles .clase-item{border-bottom:1px solid #eee;border-radius:6px;cursor:pointer;padding:10px 8px;transition:background .1s}.clases-list.disponibles .clase-item:hover{background:#f5f5f5}.clases-list.disponibles .clase-item.selected{background:#e8f0fe;border-color:#3d6fd4}.sheet-footer{background:#fff;border-top:1px solid #eee;flex-shrink:0;padding:12px 16px}.btn-opinar,.btn-usar{background:var(--theme-color);border:none;border-radius:6px;color:var(--theme-color-font);cursor:pointer;padding:7px 14px}.btn-opinar,.btn-usar,.opinado-badge{flex-shrink:0;font-size:.82em;white-space:nowrap}.opinado-badge{color:#27ae60;font-weight:500}.opinion-body{gap:0}.opinion-pregunta{margin-bottom:20px}.pregunta-texto{color:#333;font-size:.95em;line-height:1.4;margin:0 0 10px}.star-rating{display:flex;gap:6px}.star-btn{align-items:center;background:none;border:none;color:#ddd;cursor:pointer;display:flex;font-size:1.8em;line-height:1;padding:0;transition:color .1s}.star-btn.active,.star-btn:hover{color:#f39c12}.clase-ocupacion-inline.ocupacion-llena{color:#c0392b;font-weight:600}.lista-espera-badge{align-items:center;color:#c0392b;display:flex;flex-shrink:0;font-size:.75em;gap:4px;white-space:nowrap}.lista-espera-badge.ya-en-lista{color:#888}.clase-item.llena{border-left:3px solid #c0392b;padding-left:6px}.lista-espera-posicion{font-size:.8em}.btn-salir-lista,.lista-espera-posicion{align-items:center;color:#c0392b;display:flex}.btn-salir-lista{background:none;border:1px solid #c0392b;border-radius:6px;cursor:pointer;flex-shrink:0;font-size:.9em;padding:7px 10px}.espera-aviso{background:#fff8e1;border-radius:6px;color:#555;font-size:.95em;line-height:1.5;margin:8px 0 12px;padding:10px 12px}.espera-radio-label{align-items:flex-start;color:#444;cursor:pointer;display:flex;font-size:.9em;gap:8px;line-height:1.4;margin-bottom:10px}.espera-radio-label:last-of-type{margin-bottom:16px}.espera-radio-label input{accent-color:#333;flex-shrink:0;margin-top:2px}.clases-alumno-page .modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}.clases-alumno-page .modal-content{background:#fff;border-radius:12px;max-width:360px;padding:24px 20px 20px;position:relative;width:100%}.clases-alumno-page .modal-content p{color:#333;font-size:.97em;line-height:1.5;margin:0 0 20px}.clases-alumno-page .modal-content .close-button{background:none;border:none;color:#888;cursor:pointer;font-size:1em;padding:4px;position:absolute;right:12px;top:12px}.clases-alumno-page .modal-actions{display:flex;justify-content:flex-end}.clases-alumno-page .modal-button{background:var(--theme-color);border:none;border-radius:8px;color:var(--theme-color-font);cursor:pointer;font-size:.95em;padding:10px 18px}.pagos-alumno-page{padding:0 0 32px}.pagos-alumno-page h2{color:#333;margin-top:24px}.deuda-card{align-items:center;border-radius:10px;display:flex;flex-direction:column;gap:4px;margin-bottom:20px;padding:16px 20px}.deuda-card.con-deuda{background:#fff3f3;border:1px solid #e57373}.deuda-card.sin-deuda{background:#f0fff4;border:1px solid #66bb6a}.deuda-label{color:#555;font-size:.82em}.deuda-monto{color:#c0392b;font-size:2em;font-weight:700}.deuda-ok{color:#2e7d32;font-size:.97em;font-weight:600}.pago-pendiente-banner{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;color:#7a5800;font-size:.88em;margin-bottom:16px;padding:10px 14px;text-align:center}.link-btn{background:none;border:none;color:#3d6fd4;cursor:pointer;display:block;font-size:.92em;padding:0 0 20px;text-decoration:underline}.informar-section{border-top:1px solid #eee;margin-top:8px;padding-top:20px}.informar-texto{color:#555;font-size:.92em;margin:0 0 12px}.btn-informar{background:var(--theme-color);border:none;border-radius:6px;color:var(--theme-color-font);cursor:pointer;display:block;font-size:1em;padding:12px;width:100%}.pagos-sheet-body{padding:16px}.empty-msg{color:#888;font-size:.9em}.movimiento-row{align-items:flex-start;border-bottom:1px solid #eee;display:flex;gap:12px;justify-content:space-between;padding:12px 0}.movimiento-row:last-child{border-bottom:none}.mov-left{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.mov-fecha{color:#888;font-size:.78em}.mov-desc{color:#333;font-size:.9em}.mov-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.mov-valor{font-size:.95em;font-weight:600}.mov-valor.credit{color:#2e7d32}.mov-valor.debit{color:#c0392b}.mov-saldo{color:#888;font-size:.75em}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-field label{color:#333;font-size:.88em;font-weight:600}.form-field input[type=date],.form-field input[type=number],.form-field textarea{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:1em;padding:10px 12px;width:100%}.form-field input[type=file]{font-size:.9em}.form-field textarea{resize:vertical}.optional{color:#888;font-size:.9em;font-weight:400;margin-left:10px}.btn-primary{background:var(--theme-color);border:none;border-radius:6px;color:var(--theme-color-font);cursor:pointer;display:block;font-size:1em;margin-top:4px;padding:12px;width:100%}.btn-primary:disabled{cursor:default;opacity:.4}.login-container{align-items:center;background-color:#f4f4f4;display:flex;height:100vh;justify-content:center}.login-box{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:400px;padding:40px;text-align:center;width:100%}.login-logo{max-height:100px;max-width:200px;object-fit:contain;width:auto}.login-box h1{font-size:30px;margin-bottom:20px}.login-box h2{margin-bottom:10px}.login-box p{color:#666;margin-bottom:20px}.login-box input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1em;margin-bottom:15px;padding:12px;width:100%}.login-box button{background-color:var(--theme-color);border:none;border-radius:4px;color:var(--theme-color-font);cursor:pointer;font-size:1.1em;margin-bottom:10px;padding:12px;width:100%}.login-box button[type=button]{background-color:#ccc;color:#333}.login-box button:hover{background-color:#555}.login-box button[type=button]:hover{background-color:#aaa}.profile-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.login-box .profile-card{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;box-sizing:border-box;color:#333;cursor:pointer;display:flex;gap:12px;margin-bottom:0;padding:12px;text-align:left;width:100%}.login-box .profile-card:hover{background:#f0f0f0}.profile-card-logo{flex-shrink:0;height:36px;object-fit:contain;width:72px}.profile-card-logo-placeholder{background:#e0e0e0;border-radius:50%;flex-shrink:0;height:36px;width:36px}.profile-card-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.profile-card-nombre{font-size:.97em;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card-role{color:#888;font-size:.82em}.login-forgot-link{color:#888;display:block;font-size:.88em;margin-top:14px;text-decoration:none}.login-forgot-link:hover{color:#333;text-decoration:underline}.notification-container{display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;top:20px;z-index:2000}.notification{align-items:center;animation:slideIn .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #00000026;color:#fff;display:flex;justify-content:space-between;min-width:250px;padding:15px}.notification.error{background-color:#e53e3e}.notification.success{background-color:#38a169}.notification.info{background-color:#3182ce}.notification button{background:none;border:none;color:#fff;cursor:pointer;font-size:20px;line-height:1;margin-left:15px;opacity:.7}.notification button:hover{opacity:1}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.pago-card{border:1px solid #ddd;border-radius:12px;margin:16px 0;padding:12px}.pago-card h2{margin-top:.7em}.pago-actions{display:flex;gap:16px;margin-bottom:24px}.registrar-pago-header{align-items:center;display:flex;justify-content:space-between}.registrar-pago-header h2{border-bottom:none}.registrar-pago-header button.view-button{margin-top:13px}.comentarios,.pago-info{margin:10px 0}.comprobante-link{background:#f0f0f0;border:1px solid #ccc;border-radius:6px;color:#333;cursor:pointer;display:inline-block;font-size:.9em;padding:8px 14px}.comprobante-link:hover{background:#e0e0e0}.aprobar-button{background:#4caf50}.aprobar-button,.rechazar-button{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1em;padding:9px 18px}.rechazar-button{background:#d31212}.rp-modal-content{background:#fff;border-radius:8px;max-width:400px;padding:20px;position:relative;width:85%}.modal-button.danger{background:#d31212}.rp-notify-row{margin:12px 0 8px}.rp-notify-label{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:8px;text-align:left}.rp-notify-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:16px;width:16px}.rp-reject-desc{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;color:#333;font-family:inherit;font-size:14px;margin-bottom:4px;padding:8px 10px;resize:vertical;width:100%}.pendientes-admin{margin:0 auto;max-width:800px}.pendientes-admin h1,.pendientes-admin h2{color:#333;position:relative}.pendientes-table{border-collapse:collapse;margin-top:20px;width:100%}.pendientes-table td{border:1px solid #ddd;padding:8px}.pendientes-admin .pendiente-creada,.pendientes-admin .pendiente-vence{color:#999;font-size:.78em;margin-top:2px}.pendientes-table tr:nth-child(2n){background-color:#f2f2f2}.pendientes-table .agendar-button:has(+*){margin-right:15px}.pendientes-admin .add-pendiente-box{border:1px solid #a9a9a9;border-radius:2%;margin-top:30px;padding:10px}.pendientes-admin .add-pendiente-box h2{margin-top:.2em}.pendientes-admin .form-row{align-items:center;display:flex;gap:10px}.pendientes-admin .form-row label{min-width:100px;text-align:right}.pendientes-admin .form-row.actividades-row{align-items:flex-start}.pendientes-admin .cantidad-controls{align-items:center;display:flex;gap:5px}.pendientes-admin .cantidad-controls button{background:#dbdbdb;border:none;border-radius:20%;cursor:pointer;height:30px;width:30px}.pendientes-admin .cantidad-controls input{text-align:center;width:60px}.pendientes-admin .sheet-body form{display:flex;flex-direction:column;gap:10px}.pendientes-admin .sheet-body .button-group{display:flex;gap:5px;margin-top:15px}.pendientes-admin .sheet-body button[type=submit]{flex:2 1;width:65%}.pendientes-admin .sheet-body input[type=date]{margin-left:11px;width:100%}.pendientes-admin .sheet-body .delete-button{background:none;border:none;color:red;flex:1 1}.pendientes-admin .sheet-body .vence-label{padding-top:13px;text-align:right;width:120px}.pendientes-admin .sheet-body .actividades-row{align-items:flex-start;display:flex;gap:10px}.pendientes-admin .sheet-body .actividades-label{min-width:120px;padding-top:2px;text-align:right}.pendientes-admin .actividades-check-list{display:flex;flex-direction:column;gap:6px}.pendientes-admin .actividad-check-item{align-items:center;cursor:pointer;display:flex;font-size:.97em;gap:8px}.pendientes-admin .sheet-body button:disabled{opacity:.4}.suscripcion h1{margin-bottom:10px}.suscripcion h2{color:#666;margin-bottom:20px}.periodo-info{margin-bottom:30px}.periodo-info h3{margin-bottom:5px}.suscripcion-form label{display:block;margin-bottom:15px;position:relative}.suscripcion-form span{display:block;font-weight:700;margin-bottom:5px}.suscripcion-form select{border:1px solid #ccc;border-radius:4px;font-size:1em;padding:8px;width:100%}.suscripcion-form input[type=number]{border:1px solid #ccc;border-radius:4px;font-size:1.2em;padding:8px;width:44%}.selection-group{margin-bottom:15px}.checkbox-list{border:1px solid #ccc;border-radius:4px;max-height:200px;overflow-y:auto;padding:10px}.checkbox-list label{display:block;margin-bottom:5px}.checkbox-list input{margin-right:10px}.suscripcion-form button{background-color:var(--theme-color);border:none;border-radius:4px;color:var(--theme-color-font);cursor:pointer;font-size:1em;min-width:40%;padding:10px 20px}.suscripcion-form button:disabled{opacity:.4}.suscripcion-form .eurosymbol{color:#676767;font-weight:400;left:10px;position:absolute;top:37px}.suscripcion-form input.cuota{display:block;padding-left:31px;width:38%}.suscripcion-form span.modified-text{color:red;display:inline;font-weight:400;padding-left:8px}.suscripcion button.cancel-jornada{align-items:center;background:#0000;border:1px solid #ef2424;border-radius:8px;color:#ef2424;cursor:pointer;display:inline-flex;font-size:1em;gap:8px;padding:10px 14px;width:auto}.alumno-nuevo{width:100%}.wizard-bienvenida-check{align-items:center;cursor:pointer;display:flex;font-size:.95em;gap:8px;margin:16px 0 4px;text-align:left}.wizard-header{margin-bottom:20px}.wizard-header h1{margin-bottom:12px}.wizard-step-indicator{align-items:center;display:flex;margin-bottom:6px}.wizard-step-dot{align-items:center;background:#fff;border:2px solid #ddd;border-radius:50%;color:#aaa;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.wizard-step-dot.active{border-color:#4caf50;color:#4caf50}.wizard-step-dot.done{background:#4caf50;border-color:#4caf50;color:#fff}.wizard-step-line{background:#ddd;flex:1 1;height:2px;margin:0 3px}.wizard-step-line.done{background:#4caf50}.wizard-step-labels{color:#aaa;display:flex;font-size:11px;justify-content:space-between;padding:0 2px}.wizard-step-labels span.active{color:#4caf50;font-weight:700}.wizard-resumed-notice{background:#fffbe6;border:1px solid #ffe066;border-radius:6px;color:#666;font-size:.85em;margin-bottom:14px;padding:8px 12px}.link-button{background:none;border:none;color:#4caf50;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.wizard-step h2{margin-bottom:16px}.wizard-step h3{font-size:1em;margin:16px 0 8px}.wizard-form{gap:14px;margin-bottom:16px}.wizard-form,.wizard-form label{display:flex;flex-direction:column}.wizard-form label{gap:4px}.wizard-form label span{color:#555;font-size:.85em;font-weight:600}.wizard-form input[type=date],.wizard-form input[type=email],.wizard-form input[type=number],.wizard-form input[type=tel],.wizard-form input[type=text],.wizard-form select{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:16px;padding:8px 10px;width:100%}.required{color:#e53935}.wizard-row{align-items:center;display:flex;gap:6px}.wizard-row select{flex:1 1}.eurosymbol{flex-shrink:0;font-size:16px;font-weight:700}input.cuota{max-width:120px}.wizard-inline-label{align-items:center;display:flex;gap:10px;margin:12px 0}.wizard-inline-label span{color:#555;font-size:.9em;white-space:nowrap}.wizard-inline-label input{border:1px solid #ccc;border-radius:6px;font-size:15px;padding:6px 8px;width:80px}.wizard-inline-label input[type=date]{width:auto}.wizard-question{color:#333;font-size:.95em;font-weight:600;margin:14px 0 8px}.wizard-options{display:flex;gap:10px;margin-bottom:12px}.wizard-option{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;flex:1 1;font-size:15px;padding:12px 8px;text-align:center;transition:border-color .15s,background .15s}.wizard-option.selected{background:#f0fff0;border-color:#4caf50;color:#2e7d32;font-weight:700}.wizard-sub-section{background:#f9f9f9;border:1px solid #eee;border-radius:8px;margin:12px 0;padding:12px}.wizard-sublabel{color:#555;font-size:.85em;font-weight:600;margin-bottom:8px}.alumno-nuevo .checkbox-list{border:none;display:flex;flex-direction:column;gap:8px;margin-bottom:8px;max-height:none;overflow-y:visible;padding:0}.alumno-nuevo .checkbox-list label{align-items:center;cursor:pointer;display:flex;flex-direction:row;font-size:14px;gap:8px;margin-bottom:0}.alumno-nuevo .checkbox-list input[type=checkbox]{flex-shrink:0;margin-right:0}.wizard-clases-list{display:flex;flex-direction:column;gap:4px;margin:8px 0}.wizard-clase-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 10px}.wizard-clase-item.llena{opacity:.6}.wizard-clase-item.disabled{cursor:not-allowed;opacity:.5}.clase-nombre{flex:1 1;font-size:13px;font-weight:600}.clase-fecha{color:#555;font-size:13px}.clase-ocupacion{color:#999;font-size:12px;white-space:nowrap}.alumno-nuevo .selection-group{display:flex;flex-direction:column;gap:6px;margin-bottom:0}.alumno-nuevo .selection-group>span{color:#555;font-size:.85em;font-weight:600}.cuota-hint{color:#888;font-size:13px;white-space:nowrap}.cuota-sugerida{background:none;border:none;color:#4caf50;cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.cuota-sugerida:hover{color:#2e7d32}.wizard-empty{color:#999;font-size:.85em;font-style:italic}.wizard-error{background:#fff5f5;border:1px solid #ffcdd2;border-radius:6px;color:#e53935;font-size:.88em;margin:8px 0 0;padding:8px 10px}.wizard-nav{align-items:center;border-top:1px solid #eee;display:flex;gap:10px;justify-content:space-between;margin-top:24px;padding-top:16px}.wizard-continue,.wizard-create{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px}.wizard-continue:disabled{cursor:not-allowed;opacity:.6}.wizard-create{background:#2e7d32}.wizard-back{color:#555}.wizard-back,.wizard-discard{background:none;border:none;cursor:pointer;font-size:15px;padding:8px 0}.wizard-discard{color:#999}.wizard-summary-table{border-collapse:collapse;font-size:14px;margin-bottom:16px;width:100%}.wizard-summary-table td{border-bottom:1px solid #f0f0f0;padding:7px 8px;vertical-align:top}.wizard-summary-table td:first-child{color:#666;padding-right:12px;width:42%}.wizard-summary-table th.summary-section{background:#f5f5f5;border-bottom:1px solid #e0e0e0;color:#666;font-size:12px;letter-spacing:.05em;padding:8px 8px 4px;text-align:left;text-transform:uppercase}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-width:400px;padding:20px;position:relative;width:85%}.close-button{font-size:16px;position:absolute;right:10px;top:18px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.modal-button{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.modal-button.secondary{background:#f5f5f5;border:1px solid #ddd;color:#333}.centro-config{padding-bottom:32px}.centro-config h1{color:#333}.centro-config h2{color:#555;font-size:1em;margin:0 0 12px}.centro-config .config-section{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:16px}.centro-config label{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.centro-config label span{color:#333;font-size:.95em}.centro-config textarea{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:1em;line-height:1.4;max-width:420px;padding:9px;resize:vertical;width:100%}.centro-config .char-count{color:#aaa;font-size:.78em;margin-top:-4px;max-width:420px;text-align:right}.centro-config input[type=email],.centro-config input[type=tel]{max-width:320px}.centro-config input[type=email],.centro-config input[type=tel],.centro-config select{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1em;padding:9px;width:100%}.centro-config select{max-width:220px}.centro-config .config-hint{color:#888;font-size:.83em;margin:8px 0 0}.centro-config .config-hint+label,.centro-config label+label{margin-top:16px}.centro-config button[type=submit]{background-color:var(--theme-color);border:none;border-radius:4px;color:var(--theme-color-font);cursor:pointer;font-size:1em;padding:10px 20px}.centro-config button[type=submit]:disabled{cursor:default;opacity:.4}.profesionales-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.profesional-item,.profesional-item-info{align-items:center;display:flex;gap:10px}.profesional-item-info{flex:1 1;min-width:0}.profesional-item-clickable{cursor:pointer}.profesional-item-clickable:hover .profesional-nombre{color:#2a7a2a}.profesional-admin-tag{background:#e8f5e8;border:1px solid #b8ddb8;border-radius:4px;color:#2a7a2a;flex-shrink:0;font-size:.72em;font-weight:600;padding:2px 6px;white-space:nowrap}.access-label{color:#888;font-size:.8em;font-weight:600;letter-spacing:.06em;margin:16px 0 8px;text-transform:uppercase}.access-options,.prof-sheet-actions{display:flex;flex-direction:column;gap:8px}.prof-sheet-actions{margin-top:4px}.prof-reenviar-btn{background:#fff;border:1px solid #bbb;border-radius:4px;color:#555;cursor:pointer;font-size:.9em;padding:9px 14px;text-align:left;width:100%}.prof-reenviar-btn:hover{background:#f5f5f5}.prof-sheet-actions .profesional-remove-btn{font-size:.9em;margin-top:8px;padding:9px 14px;text-align:left;width:100%}.access-option-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;color:#444;cursor:pointer;display:flex;font-size:.95em;gap:12px;padding:11px 14px;text-align:left}.access-option-btn:before{background:#fff;border:2px solid #ccc;border-radius:50%;content:"";flex-shrink:0;height:18px;transition:border-color .15s,background .15s;width:18px}.access-option-btn.selected{background:#e8f5e8;border-color:#2a7a2a;color:#1a5a1a;font-weight:600}.access-option-btn.selected:before{background:radial-gradient(circle,#2a7a2a 45%,#fff 46%);border-color:#2a7a2a;border-width:2px}.access-option-btn:disabled{cursor:default;opacity:.6}.profesional-nombre{color:#333;flex:1 1;font-size:.97em;min-width:0}.profesional-remove-btn{background:#fff5f5;border:1px solid #e0a0a0;border-radius:4px;color:#c0392b;cursor:pointer;font-size:.85em;padding:6px 12px}.profesional-remove-btn:hover{background:#fce8e8}.profesional-nombre{display:flex;flex-direction:column;gap:1px}.profesional-nombre small{color:#aaa;font-size:.78em}.profesional-pendiente{color:#999;font-size:.9em;font-style:normal}.agregar-profesional-btn{background:#fff;border:1px dashed #bbb;border-radius:4px;color:#555;cursor:pointer;font-size:.9em;margin-top:12px;padding:8px 14px}.agregar-profesional-btn:hover{background:#f5f5f5}.confirm-delete{background:#c0392b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95em;font-weight:600;padding:9px 18px}.confirm-delete:hover{background:#a93226}.preguntas-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:12px 0;padding:0}.pregunta-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:10px;padding:8px 10px}.pregunta-item-texto{color:#333;flex:1 1;font-size:.93em;line-height:1.4}.pregunta-remove-btn{background:#fff5f5;border:1px solid #e0a0a0;border-radius:4px;color:#c0392b;cursor:pointer;flex-shrink:0;font-size:.82em;padding:5px 10px}.pregunta-remove-btn:hover:not(:disabled){background:#fce8e8}.pregunta-remove-btn:disabled{cursor:default;opacity:.4}.nueva-pregunta-row{align-items:stretch;display:flex;gap:8px}.nueva-pregunta-input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;flex:1 1;font-family:inherit;font-size:.93em;padding:9px}.nueva-pregunta-input:disabled{opacity:.5}.nueva-pregunta-btn{background:#fff;border:1px dashed #bbb;border-radius:4px;color:#555;cursor:pointer;flex-shrink:0;font-size:.9em;padding:9px 14px;white-space:nowrap}.nueva-pregunta-btn:hover:not(:disabled){background:#f5f5f5}.nueva-pregunta-btn:disabled{cursor:default;opacity:.4}.sheet-overlay{background:#00000080;height:100%;top:0;z-index:1000}.bottom-sheet,.sheet-overlay{left:0;position:fixed;width:100%}.bottom-sheet{background:#fff;border-radius:16px 16px 0 0;bottom:0;box-sizing:border-box;max-height:80vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s ease}.bottom-sheet.open{transform:translateY(0)}.sheet-header{align-items:center;border-bottom:1px solid #eee;display:flex;padding:16px}.sheet-header h3{flex:1 1;font-size:1em;margin:0;text-align:left}.close-button{align-items:center;background:none;border:none;color:#555;cursor:pointer;display:flex;font-size:1.1em;padding:4px}.sheet-body{gap:16px;padding:20px 16px 32px}.config-label-inline,.sheet-body{display:flex;flex-direction:column;text-align:left}.config-label-inline{align-items:flex-start;gap:6px;width:100%}.config-label-inline span{color:#555;font-size:.9em;text-align:left}.config-label-inline input{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:1em;padding:10px 12px;text-align:left;width:100%}.invite-send-btn{background:var(--theme-color);border:none;border-radius:6px;color:var(--theme-color-font);cursor:pointer;font-size:1em;padding:12px}.invite-send-btn:disabled{cursor:default;opacity:.4}.logo-upload-area{align-items:flex-start;display:flex;flex-direction:column;gap:12px}.logo-preview{background:#fff;border:1px solid #e0e0e0;border-radius:4px;max-height:64px;max-width:200px;object-fit:contain;padding:4px;width:auto}.logo-placeholder{align-items:center;border:1px dashed #ccc;border-radius:4px;color:#aaa;display:flex;font-size:.9em;height:64px;justify-content:center;width:160px}.logo-upload-btn{background:#fff;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;font-size:.95em;padding:8px 16px}.logo-upload-btn:disabled{cursor:default;opacity:.5}.config-section--agenda{border-color:#d0d0d0}.btn-abrir-agenda{background:var(--theme-color);border:none;border-radius:6px;color:var(--theme-color-font);cursor:pointer;font-size:.95em;font-weight:600;margin-top:4px;padding:10px 20px}.btn-abrir-agenda:hover{background:#444}.festivos-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:12px 0;padding:0}.festivo-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:10px;padding:7px 10px}.festivo-fecha{color:#333;flex:1 1;font-size:.92em}.festivo-dow{color:#888;font-size:.9em}.festivo-remove-btn{background:#fff5f5;border:1px solid #e0a0a0;border-radius:4px;color:#c0392b;cursor:pointer;flex-shrink:0;font-size:.82em;padding:5px 10px}.festivo-remove-btn:hover:not(:disabled){background:#fce8e8}.festivo-remove-btn:disabled{cursor:default;opacity:.4}.nueva-festivo-row{align-items:stretch;display:flex;gap:8px;margin-top:8px}.nueva-festivo-input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;flex:1 1;font-family:inherit;font-size:.93em;max-width:180px;padding:9px}.nueva-festivo-input:disabled{opacity:.5}.nueva-festivo-btn{background:#fff;border:1px dashed #bbb;border-radius:4px;color:#555;cursor:pointer;flex-shrink:0;font-size:.9em;padding:9px 14px;white-space:nowrap}.nueva-festivo-btn:hover:not(:disabled){background:#f5f5f5}.nueva-festivo-btn:disabled{cursor:default;opacity:.4}.widget-url-row{align-items:center;display:flex;gap:8px}.widget-url-input{background:#f5f5f5;border:1px solid #ccc;border-radius:4px;color:#444;flex:1 1;font-family:monospace;font-size:.85em;min-width:0;padding:8px 10px}.widget-url-copy-btn{background:#fff;border:1px solid #bbb;border-radius:4px;color:#555;cursor:pointer;flex-shrink:0;font-size:.9em;padding:8px 14px;white-space:nowrap}.widget-url-copy-btn:hover{background:#f5f5f5}.panel-propietario{padding-bottom:32px}.panel-propietario h1{color:#333}.panel-propietario h2{color:#555;font-size:1em;margin:0 0 12px}.panel-propietario .config-section{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:16px}.panel-propietario .config-hint{color:#888;font-size:.83em;margin:8px 0 0}.abrir-agenda{padding-bottom:40px}.abrir-agenda h1{color:#333;margin-bottom:6px}.abrir-agenda-desc{color:#777;font-size:.93em;line-height:1.5;margin:0 0 24px}.abrir-agenda-meses{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.mes-card{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;max-width:140px;min-width:90px;padding:14px 10px;transition:border-color .15s,background .15s}.mes-card:hover{background:#f9f9f9;border-color:#aaa}.mes-card--activo{background:#f0f0f0;border-color:#333}.mes-card-nombre{color:#222;font-size:1em;font-weight:600}.mes-card-anio{color:#888;font-size:.82em}.abrir-agenda-cargando{color:#aaa;font-size:.93em;padding:16px 0}.preview-ya-abierta{background:#fef3c7;border:1px solid #f0c040;border-radius:8px;padding:16px 20px}.preview-ya-abierta-titulo{color:#92400e;font-weight:700;margin:0 0 6px}.preview-ya-abierta-desc{color:#78350f;font-size:.93em;line-height:1.5;margin:0}.abrir-agenda-preview{display:flex;flex-direction:column;gap:20px}.abrir-agenda-preview h3{color:#555;font-size:.95em;font-weight:600;margin:0 0 10px}.preview-stats{display:flex;flex-wrap:wrap;gap:12px}.stat-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:80px;padding:14px 16px}.stat-numero{color:#222;font-size:1.5em;font-weight:700;line-height:1}.stat-label{color:#888;font-size:.8em}.preview-festivos{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:14px 16px}.preview-festivos ul{display:flex;flex-direction:column;gap:4px;margin:0;padding:0 0 0 16px}.preview-festivos li{color:#444;font-size:.93em;line-height:1.5}.festivo-recuperable{color:#1e7a46;font-size:.88em}.festivo-perdido{color:#888;font-size:.88em}.preview-horarios{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto;padding:14px 16px}.horarios-tabla{border-collapse:collapse;font-size:.9em;width:100%}.horarios-tabla th{border-bottom:1px solid #e0e0e0;color:#888;font-size:.82em;font-weight:600;padding:0 8px 8px 0;text-align:left}.horarios-tabla td{border-bottom:1px solid #f0f0f0;color:#333;padding:7px 8px 7px 0;vertical-align:middle}.horarios-tabla tr:last-child td{border-bottom:none}.festivos-nota{color:#b45309;font-size:.88em}.preview-cobros{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:14px 16px}.cobros-lista{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.cobro-item{align-items:center;border-bottom:1px solid #f0f0f0;color:#333;display:flex;font-size:.92em;justify-content:space-between;padding:5px 0}.cobro-item:last-child{border-bottom:none}.preview-suscripciones{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;padding:14px 16px}.suscripciones-lista{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.suscripcion-item{align-items:baseline;border-bottom:1px solid #fff3cd;display:flex;font-size:.9em;gap:12px;justify-content:space-between;padding:5px 0}.suscripcion-item:last-child{border-bottom:none}.suscripcion-nombre{flex-shrink:0;font-weight:500}.suscripcion-cambios{color:#666;font-size:.9em;text-align:right}.cobro-importe{color:#222;font-weight:600}.preview-accion{align-items:flex-start;display:flex;flex-direction:column;gap:8px;padding-top:4px}.btn-abrir{background-color:var(--theme-color);border:none;border-radius:6px;color:var(--theme-color-font);cursor:pointer;font-size:1em;font-weight:600;padding:12px 24px}.btn-abrir:disabled{cursor:default;opacity:.5}.preview-aviso{color:#aaa;font-size:.82em;margin:0}.preview-vacio{color:#888;font-size:.93em;line-height:1.6}.preview-vacio .config-hint{color:#aaa}.abrir-agenda-resultado{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:20px}.resultado-ok{color:#166534;font-size:1em;font-weight:700;margin:0}.resultado-lista{color:#166534;font-size:.93em;line-height:1.7;margin:0;padding:0 0 0 18px}.btn-secundario{align-self:flex-start;background:#fff;border:1px solid #ccc;border-radius:6px;color:#333;cursor:pointer;font-size:.93em;padding:9px 18px}.btn-secundario:hover{background:#f5f5f5}.confirm-overlay{align-items:center;background:#00000073;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:3000}.confirm-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;max-width:340px;padding:24px;width:100%}.confirm-title{color:#222;font-size:1em;font-weight:700;margin:0 0 8px}.confirm-body{color:#555;font-size:.95em;line-height:1.5;margin:0 0 12px}.confirm-warning{background:#fef3c7;border-radius:6px;color:#b45309;font-size:.9em;line-height:1.5;margin:0 0 16px;padding:8px 12px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-cancel{background:#fff;border:1px solid #ddd;border-radius:6px;color:#555;cursor:pointer;font-size:.95em;padding:9px 18px}.confirm-cancel:hover{background:#f5f5f5}.confirm-abrir{background:#333;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95em;font-weight:600;padding:9px 18px}.confirm-abrir:hover:not(:disabled){background:#444}.confirm-abrir:disabled{cursor:default;opacity:.5}.profesionales-list{padding:8px 8px 10px}.profesionales-header{margin-bottom:20px}.mes-selector-row{align-items:center;display:flex;gap:8px}.mes-label{color:#444;font-size:15px;font-weight:500;white-space:nowrap}.mes-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #ccc;border-radius:8px;cursor:pointer;font-size:15px;min-width:0;padding:8px 36px 8px 12px}.profesionales-empty{color:#888;margin-top:40px;text-align:center}.profesional-section{margin-bottom:32px}.profesional-title{align-items:center;border-bottom:1px solid #000;display:flex;font-size:17px;font-weight:600;gap:10px;margin-bottom:12px;padding-bottom:8px}.profesional-empty{color:#888;font-size:14px;margin:8px 0 12px}.profesional-clases-table{border-collapse:collapse;font-size:14px;margin-bottom:10px;width:100%}.profesional-clases-table td{border-bottom:1px solid #f0f0f0;padding:8px;vertical-align:middle}.clase-col-info{display:flex;flex-direction:column;gap:2px;width:100%}.clase-fecha-hora{color:#111;font-size:14px;font-weight:500}.clase-actividad{color:#666;font-size:13px}.clase-col-stats{color:#444;display:flex;flex-direction:column;font-size:13px;gap:2px;min-width:110px;white-space:nowrap}.clase-col-action{text-align:center;width:40px}.ver-clase-btn{align-items:center;background:none;border:none;color:#444;cursor:pointer;display:flex;font-size:16px;padding:4px 6px}.ver-clase-btn:hover{color:#000}.profesional-resumen{align-items:center;color:#444;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 0 4px}.resumen-separator{color:#aaa}.prof-ex-badge{background:#f0f0f0;border-radius:4px;color:#888;font-size:11px;font-weight:600;letter-spacing:.03em;margin-left:2px;padding:2px 6px}.clases-proximas-label{border-top:1px dashed #ddd;color:#888;font-size:12px;font-weight:600;letter-spacing:.05em;margin:14px 0 6px;padding-top:10px;text-transform:uppercase}.foto-cropper-overlay{align-items:center;background:#000000e0;display:flex;inset:0;justify-content:center;position:fixed;z-index:3000}.foto-cropper-modal{align-items:center;display:flex;flex-direction:column;gap:16px;max-width:360px;padding:16px;width:100%}.foto-cropper-hint{color:#ffffffb3;font-size:.8em;margin:0;text-align:center}.foto-cropper-viewport{background:#222;border-radius:10px;cursor:grab;flex-shrink:0;overflow:hidden;position:relative;touch-action:none}.foto-cropper-viewport:active{cursor:grabbing}.foto-cropper-actions{display:flex;gap:10px;width:100%}.foto-cropper-cancel{background:none;border:1px solid #ffffff59;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:1em;padding:12px}.foto-cropper-confirm{background:#fff;border:none;border-radius:8px;color:#222;cursor:pointer;flex:2 1;font-size:1em;font-weight:600;padding:12px}.foto-cropper-confirm:disabled{cursor:default;opacity:.4}.aths-box{background:#f0f7f0;border:1px solid #c8e0c8;border-radius:10px;margin-top:24px;padding:16px 20px;text-align:center}.aths-steps{color:#444;display:inline-block;font-size:.88rem;line-height:1.6;margin:6px 0 0;padding:0 0 0 20px;text-align:left}.aths-title{color:#2a7a2a;font-size:.95rem;font-weight:600;margin:0 0 6px}.aths-text{color:#444;font-size:.88rem;line-height:1.5;margin:0}.aths-hint{color:#666;font-size:.85rem;margin:0 0 12px}.aths-share-icon{background:#2a7a2a;border-radius:4px;color:#fff;display:inline-block;font-size:1rem;margin:0 2px;padding:1px 5px;vertical-align:middle}.aths-button{background:#2a7a2a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;width:100%}.aths-button:active{background:#1f5c1f}.completar-perfil-container{align-items:center;background-color:#f4f4f4;box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:24px}.completar-perfil-box{background:#fff;border-radius:8px;max-width:440px;padding:32px;width:100%}.cp-title{color:#222;font-size:1.3em;margin:0 0 6px}.cp-subtitle{color:#666;font-size:.95em;margin:0 0 24px}.cp-form{gap:14px}.cp-form,.cp-label{display:flex;flex-direction:column}.cp-label{gap:4px}.cp-label span{color:#555;font-size:.85em;font-weight:600}.cp-label input{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:16px;padding:10px 12px;width:100%}.cp-button{background:#222;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:4px;padding:12px}.cp-button:disabled{cursor:not-allowed;opacity:.6}.cp-msg{color:#888;font-size:1em}.cp-ok{color:#2a7a2a;font-size:1em;line-height:1.6;margin-bottom:16px}.cp-error{color:#c0392b;font-size:.9em;margin:0}.cp-login-link{background:#222;border-radius:4px;color:#fff;display:inline-block;font-size:.95em;padding:10px 20px;text-decoration:none}.cp-foto-section{align-items:center;display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.cp-foto-preview{align-items:center;background:#f4f4f4;border:2px dashed #ccc;border-radius:10px;cursor:pointer;display:flex;height:90px;justify-content:center;overflow:hidden;width:90px}.cp-foto-preview img{height:100%;object-fit:cover;width:100%}.cp-foto-placeholder{color:#ccc;font-size:32px;line-height:1}.cp-foto-btn{background:none;border:1px solid #ccc;border-radius:4px;color:#555;cursor:pointer;font-size:.85em;padding:6px 16px}.cp-documentos{background:#f8f8f8;border:1px solid #e0e0e0;border-radius:6px;display:flex;flex-direction:column;gap:10px;padding:14px}.cp-doc-check{color:#333;cursor:pointer;display:block;font-size:.9em;padding-left:26px;position:relative;text-align:left}.cp-doc-check input[type=checkbox]{accent-color:#222;cursor:pointer;height:18px;left:0;position:absolute;top:2px;width:18px}.cp-doc-link{background:none;border:none;color:#1a56a0;cursor:pointer;display:inline;font-family:inherit;font-size:inherit;padding:0;text-decoration:underline}.cp-doc-link:hover{color:#0d3c78}.cp-doc-overlay{align-items:center;background:#0000008c;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.cp-doc-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:560px;width:100%}.cp-doc-modal-title{border-bottom:1px solid #eee;color:#222;font-size:1.05em;margin:0;padding:20px 24px 12px;text-transform:capitalize}.cp-doc-modal-body{color:#444;flex:1 1;font-size:.88em;line-height:1.65;overflow-y:auto;padding:16px 24px;white-space:pre-wrap}.cp-doc-modal-body p{margin:0 0 8px}.cp-doc-modal .cp-button{margin:0 24px 20px}.centro-alumno-page{padding-bottom:32px}.centro-logo{display:block;margin-bottom:16px;max-height:80px;max-width:220px;object-fit:contain;width:auto}.centro-alumno-page h1{color:#333;margin:0 0 12px}.centro-descripcion{color:#555;line-height:1.5;margin-bottom:24px;white-space:pre-wrap}.centro-contacto{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;gap:12px;padding:16px}.centro-contacto,.contacto-item{display:flex;flex-direction:column}.contacto-item{gap:2px}.contacto-label{color:#999;font-size:.78em;letter-spacing:.04em;text-transform:uppercase}.contacto-item a{text-decoration:underline}.contacto-item a,.contacto-item span:not(.contacto-label){color:#333;font-size:.97em}.centro-actividades{margin-top:24px}.actividades-titulo{color:#999;font-size:.78em;font-weight:400;letter-spacing:.04em;margin:0 0 12px;text-transform:uppercase}.actividad-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:10px;padding:14px 16px}.actividad-nombre{color:#222;font-size:1em;font-weight:600;margin-bottom:6px}.actividad-descripcion{color:#666;font-size:.9em;line-height:1.4;margin:0 0 10px}.actividad-horarios{display:flex;flex-direction:column;gap:4px}.horario-dia-row{align-items:baseline;display:flex;font-size:.92em;gap:12px}.horario-dia{color:#777;flex-shrink:0;min-width:90px}.horario-horas{font-feature-settings:"tnum";color:#333;font-variant-numeric:tabular-nums}.centro-cancelacion{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-top:24px;padding:16px}.centro-cancelacion h2{color:#999;font-size:.78em;font-weight:400;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.centro-cancelacion p{color:#333;font-size:.97em;line-height:1.5;margin:0}.miperfil{margin:0 auto;max-width:480px;padding:24px 20px}.miperfil-foto-section{align-items:center;display:flex;flex-direction:column;gap:12px;margin-bottom:36px}.miperfil-foto{align-items:center;background:#f4f4f4;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;height:150px;justify-content:center;overflow:hidden;position:relative;width:150px}.miperfil-foto img{height:100%;object-fit:cover;width:100%}.miperfil-foto-placeholder{color:#ccc;font-size:52px;line-height:1}.miperfil-foto.uploading{cursor:default;opacity:.6}.miperfil-foto-overlay{align-items:center;color:#555;display:flex;font-size:24px;inset:0;justify-content:center;position:absolute}.miperfil-foto-btn{background:none;border:1px solid #ccc;border-radius:4px;color:#555;cursor:pointer;font-size:.9em;padding:8px 20px}.miperfil-foto-btn:disabled{cursor:default;opacity:.5}.miperfil-form{display:flex;flex-direction:column;margin-bottom:36px}.miperfil-form h2{border-bottom:1px solid #e0e0e0;color:#333;font-size:17px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.miperfil-form label{color:#888;font-size:.8em;margin-bottom:4px}.miperfil-form input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1em;margin-bottom:14px;padding:12px;width:100%}.miperfil-form input:focus{border-color:#999;outline:none}.miperfil-form button[type=submit]{background-color:var(--theme-color);border:none;border-radius:4px;color:var(--theme-color-font);cursor:pointer;font-size:1em;margin-top:4px;padding:12px}.miperfil-form button[type=submit]:hover{background-color:#555}.miperfil-form button[type=submit]:disabled{cursor:default;opacity:.6}.miperfil-msg{font-size:.9em;margin-top:10px;text-align:center}.miperfil-msg.ok{color:#2a7a2a}.miperfil-msg.error{color:#c0392b}.miperfil-email-actual{color:#333;font-size:1em;margin:0 0 12px}.miperfil-cambiar-btn{background:none;border:1px solid #ccc;border-radius:4px;color:#555;cursor:pointer;font-size:.9em;padding:8px 20px}.miperfil-email-actions{display:flex;gap:10px;margin-top:4px}.miperfil-email-actions button[type=submit]{background-color:var(--theme-color);border:none;border-radius:4px;color:var(--theme-color-font);cursor:pointer;flex:1 1;font-size:1em;padding:12px}.miperfil-version{color:#ccc;font-size:.75em;margin-top:32px;text-align:center}.miperfil-cancelar-btn{background:none;border:1px solid #ccc;border-radius:4px;color:#555;cursor:pointer;font-size:1em;padding:12px 16px}.verificar-email-container{align-items:center;background-color:#f4f4f4;box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:24px}.verificar-email-box{background:#fff;border-radius:8px;max-width:440px;padding:32px;text-align:center;width:100%}.verificar-msg{color:#888;font-size:1em}.verificar-ok{color:#2a7a2a;font-size:1em;line-height:1.6;margin-bottom:24px}.verificar-error{color:#c0392b;font-size:1em}.verificar-link{background-color:#222;border-radius:4px;color:#fff;display:inline-block;font-size:.95em;padding:12px 24px;text-decoration:none}.fp-container{align-items:center;background-color:#f4f4f4;box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:24px}.fp-box{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:440px;padding:32px;width:100%}.fp-title{color:#222;font-size:1.3em;margin:0 0 8px}.fp-subtitle{color:#666;font-size:.95em;line-height:1.5;margin:0 0 24px}.fp-form{gap:16px}.fp-form,.fp-label{display:flex;flex-direction:column}.fp-label{gap:4px}.fp-label span,.fp-label-text{color:#555;font-size:.85em;font-weight:600}.fp-label input{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:16px;padding:10px 12px;width:100%}.fp-captcha-group{display:flex;flex-direction:column;gap:8px}.fp-captcha-row{align-items:center;display:flex;gap:8px}.fp-captcha-img{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;display:block;-webkit-user-select:none;user-select:none}.fp-captcha-refresh{align-items:center;background:none;border:1px solid #ccc;border-radius:6px;color:#555;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;padding:0;width:36px}.fp-captcha-refresh:hover:not(:disabled){background:#f0f0f0}.fp-captcha-refresh:disabled{cursor:not-allowed;opacity:.4}.fp-captcha-input{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-family:Courier New,Courier,monospace;font-size:18px;letter-spacing:.15em;padding:10px 12px;text-transform:uppercase;width:100%}.fp-button{background:#222;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:4px;padding:12px}.fp-button:disabled{cursor:not-allowed;opacity:.6}.fp-error{color:#c0392b;font-size:.9em;margin:0}.fp-ok{color:#2a7a2a;font-size:1em;line-height:1.6;margin-bottom:20px}.fp-back-link,.fp-footer a{color:#555;font-size:.9em;text-decoration:none}.fp-back-link{background:#222;border-radius:4px;color:#fff;display:inline-block;font-size:.95em;padding:10px 20px;text-decoration:none}.fp-footer{margin-top:20px;text-align:center}.fp-footer a:hover{text-decoration:underline}*,:after,:before{box-sizing:border-box}.reserva-container{background:#fff;color:#222;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:600px;min-height:100vh;padding:24px 20px;width:100%}.reserva-titulo{color:#111;font-size:1.25rem;font-weight:600;margin:0 0 20px}.reserva-cargando,.reserva-sin-clases{color:#666;font-size:.95rem;margin:0}.reserva-clases-lista{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.reserva-clase-btn{align-items:flex-start;background:#fff;border:1.5px solid #ddd;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:14px 16px;text-align:left;transition:border-color .15s,background .15s;width:100%}.reserva-clase-btn:hover{background:#f8f8f8;border-color:#555}.reserva-clase-nombre{color:#111;font-size:1rem;font-weight:600}.reserva-clase-info{color:#666;font-size:.85rem}.reserva-back-btn{background:none;border:none;color:#555;cursor:pointer;font-size:.9rem;margin-bottom:16px;padding:0;text-decoration:underline}.reserva-back-btn:hover{color:#111}.reserva-clase-seleccionada{background:#f5f5f5;border-radius:6px;color:#555;font-size:.9rem;margin:-12px 0 20px;padding:8px 12px}.reserva-form{gap:16px}.reserva-form,.reserva-label{display:flex;flex-direction:column}.reserva-label{color:#333;font-size:.9rem;font-weight:500;gap:6px;text-align:left}.reserva-label input{background:#fff;border:1.5px solid #ccc;border-radius:8px;color:#111;font-family:inherit;font-size:1rem;padding:10px 12px;transition:border-color .15s}.reserva-label input:focus{border-color:#555;outline:none}.reserva-captcha-group{display:flex;flex-direction:column;gap:8px;text-align:left}.reserva-label-text{color:#333;font-size:.9rem;font-weight:500}.reserva-captcha-row{align-items:center;display:flex;gap:10px}.reserva-captcha-img{border:1px solid #ddd;border-radius:6px;height:54px;-webkit-user-select:none;user-select:none}.reserva-captcha-refresh{align-items:center;background:none;border:1px solid #ccc;border-radius:6px;color:#555;cursor:pointer;display:flex;font-size:1.1rem;height:36px;justify-content:center;transition:background .15s;width:36px}.reserva-captcha-refresh:hover{background:#f0f0f0}.reserva-captcha-input{background:#fff;border:1.5px solid #ccc;border-radius:8px;color:#111;font-family:inherit;font-size:1rem;letter-spacing:3px;padding:10px 12px;width:140px}.reserva-captcha-input:focus{border-color:#555;outline:none}.reserva-error{color:#c00;font-size:.9rem;margin:0}.reserva-submit-btn{background:#222;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:12px 24px;transition:background .15s}.reserva-submit-btn:hover:not(:disabled){background:#444}.reserva-submit-btn:disabled{cursor:not-allowed;opacity:.6}.reserva-done{padding:32px 0;text-align:center}.reserva-done-icon{color:#2a7;font-size:3rem;margin-bottom:16px}.reserva-done h2{color:#111;font-size:1.3rem;margin:0 0 12px}.reserva-done p{color:#444;font-size:.95rem;line-height:1.5;margin:0 0 10px}.reserva-done-aviso{color:#555;font-size:.9rem}.update-prompt-overlay{animation:update-prompt-slide-in .3s ease;bottom:80px;left:50%;max-width:420px;position:fixed;transform:translateX(-50%);width:calc(100% - 32px);z-index:4000}.update-prompt{background:#fff;border-left:4px solid #2a7a2a;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:20px}.update-prompt-title{color:#1a1a1a;font-size:15px;font-weight:600;margin:0 0 6px}.update-prompt-body{color:#555;font-size:14px;margin:0 0 16px}.update-prompt-actions{display:flex;gap:10px;justify-content:flex-end}.update-prompt-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 18px}.update-prompt-btn-later{background:#f0f0f0;color:#555}.update-prompt-btn-now{background:#2a7a2a;color:#fff}@keyframes update-prompt-slide-in{0%{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (min-width:768px){.update-prompt-overlay{bottom:32px}}
/*# sourceMappingURL=main.648afb36.css.map*/