@charset "UTF-8";.top-bar{height:44px;width:100%;padding:0;display:grid;grid-template-columns:2fr 3fr 5fr 2fr;gap:12px;align-items:center;background:var(--bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:sticky;top:0;z-index:100}.top-bar .logo{width:120px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--text-primary);text-decoration:none;cursor:pointer}.top-bar .logo img{height:100%;margin-right:8px}.top-bar .time{font-weight:600;font-size:17px;color:var(--text-primary)}.top-bar .user-section{display:flex;justify-content:flex-end;gap:5px}.top-bar .user-section button{padding:0;border:none;height:28px}.top-bar .indicators{display:flex;gap:12px;align-items:center;width:100%}.top-bar .indicators .indicator{width:28px;height:16px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:600;color:var(--accent-primary)}.top-bar .indicators .indicator:hover{transform:scale(1.1);box-shadow:0 4px 12px var(--shadow-color);background:var(--bg-sidebar)}.top-bar .indicators .indicator.active{background:var(--accent-gradient);color:var(--bg-primary);box-shadow:0 4px 15px var(--shadow-color)}.top-bar .theme-toggle{width:28px;height:28px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .3s ease}.top-bar .theme-toggle:hover{background:var(--accent-gradient);color:var(--bg-primary)}.sidebar{width:80px;background:var(--bg-sidebar);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:20px 0;gap:8px;position:sticky;top:44px;height:calc(100vh - 44px)}.nav-item{width:60px;height:60px;margin:0 auto;background:var(--bg-card);border:2px solid var(--border-color);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;text-align:center;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden;color:var(--accent-primary)}.nav-item:hover{background:var(--bg-sidebar);transform:scale(1.05);box-shadow:0 8px 20px var(--shadow-color)}.nav-item.active{background:var(--accent-gradient);color:var(--bg-primary);box-shadow:0 8px 25px var(--shadow-color)}.hot-selector{width:60px;margin:15px auto;background:var(--bg-card);border:2px solid var(--border-color);border-radius:16px;position:relative;overflow:hidden}.hot-selector select{width:100%;height:60px;background:transparent;border:none;color:var(--accent-primary);font-size:12px;font-weight:600;text-align:center;text-align-last:center;cursor:pointer;padding:0 8px;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.hot-selector:before{content:"▼";position:absolute;bottom:4px;right:4px;font-size:8px;color:var(--accent-primary);pointer-events:none;z-index:1}.hot-selector:hover{background:var(--bg-sidebar);transform:scale(1.05);box-shadow:0 8px 20px var(--shadow-color)}.hot-selector:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--shadow-color)}.hot-selector select option{background:var(--bg-secondary);color:var(--text-primary);padding:8px}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@media (max-width: 360px){.sidebar{width:70px}.nav-item{width:50px;height:50px;font-size:10px}.hot-selector{width:50px}.hot-selector select{height:50px;font-size:10px}}.calendar-content{flex:1;padding:0;background:radial-gradient(circle at 30% 20%,var(--bg-sidebar),transparent 50%),radial-gradient(circle at 70% 80%,var(--bg-card),transparent 50%);width:100%}.calendar-content .calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;padding:0 10px}.calendar-content .calendar-header .calendar-title{font-size:clamp(20px,4.5vw,24px);font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;min-width:150px}.calendar-content .calendar-header .month-nav{width:40px;height:40px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;color:var(--accent-primary);font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.calendar-content .calendar-header .month-nav:hover{background:var(--accent-gradient);color:var(--bg-primary);transform:scale(1.1);box-shadow:0 4px 12px var(--shadow-color)}.calendar-content .calendar-container{background:var(--bg-card);border-radius:20px;padding:20px;margin-bottom:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);width:100%}.calendar-content .calendar-container .calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:15px}.calendar-content .calendar-container .calendar-weekdays .weekday{text-align:center;font-size:12px;font-weight:600;color:var(--text-secondary);padding:8px 0;text-transform:uppercase;letter-spacing:.5px}.calendar-content .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;width:100%}.calendar-content .calendar-grid .calendar-day{aspect-ratio:1;background:transparent;border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;color:var(--text-primary);position:relative;padding:2px;gap:1px}.calendar-content .calendar-grid .calendar-day .day-number{line-height:1}.calendar-content .calendar-grid .calendar-day .day-count{font-size:10px;font-weight:700;color:var(--accent-primary);line-height:1}.calendar-content .calendar-grid .calendar-day:hover{background:var(--bg-sidebar);transform:scale(1.05);border-color:var(--accent-primary)}.calendar-content .calendar-grid .calendar-day.selected{background:var(--accent-gradient);color:var(--bg-primary);border:2px solid var(--accent-selected);box-shadow:0 0 0 3px var(--shadow-color),0 4px 12px var(--shadow-color);transform:scale(1.05);font-weight:700;z-index:1}.calendar-content .calendar-grid .calendar-day.selected .day-count{color:var(--bg-primary)}.calendar-content .calendar-grid .calendar-day.selected:hover{transform:scale(1.08);box-shadow:0 0 0 4px var(--shadow-color),0 6px 16px var(--shadow-color)}.calendar-content .calendar-grid .calendar-day.today{background:linear-gradient(135deg,#4facfe,#00f2fe);color:var(--bg-primary);font-weight:700;box-shadow:0 2px 8px #4facfe66}.calendar-content .calendar-grid .calendar-day.today .day-count{color:var(--bg-primary)}.calendar-content .calendar-grid .calendar-day.today.selected{background:var(--accent-gradient);border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--shadow-color),0 4px 12px var(--shadow-color)}.calendar-content .calendar-grid .calendar-day.other-month{opacity:.3;color:var(--text-secondary)}.calendar-content .calendar-grid .calendar-day.has-event{border-color:var(--accent-primary)}.calendar-content .calendar-grid .calendar-day.has-event .day-count{color:var(--accent-primary)}.calendar-content .calendar-grid .calendar-day.has-event-full{border-color:var(--accent-alert)}.calendar-content .calendar-grid .calendar-day.has-event-full .day-count{color:var(--accent-alert)}.calendar-content .selected-date-info{background:var(--bg-card);border-radius:16px;padding:20px;margin-bottom:20px;border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-color);min-height:80px}.calendar-content .selected-date-info .selected-date{font-size:18px;font-weight:600;color:var(--accent-primary);margin-bottom:10px}.calendar-content .selected-date-info .date-events{font-size:14px;color:var(--text-secondary);line-height:1.5;white-space:pre-line;min-height:20px}.calendar-content .selected-date-info .date-events:empty:before{content:"Selecciona una fecha para ver sus eventos";opacity:.7;font-style:italic}.calendar-content .quick-actions{display:flex;gap:10px;justify-content:center}.calendar-content .quick-actions .quick-btn{display:flex;align-items:center;justify-content:space-between;gap:6px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;padding:5px;color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative}.calendar-content .quick-actions .quick-btn:hover,.calendar-content .quick-actions .quick-btn.active{background:var(--accent-gradient);color:var(--bg-primary);border-color:var(--accent-primary);transform:translateY(-2px)}.calendar-content .quick-actions .quick-btn .pendientes-badge{background:var(--accent-free);color:#fff;font-size:11px;font-weight:700;line-height:1;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0006;pointer-events:none;margin-left:4px;margin-top:0}.calendar-content .quick-actions .quick-btn .pendientes-badge.con{background:var(--accent-alert)}.calendar-content .vista-viewport{overflow:hidden;width:100%}.calendar-content .vista-track{display:flex;width:200%;transition:transform .3s ease;transform:translate(0)}.calendar-content .vista-track.show-pendientes{transform:translate(-50%)}.calendar-content .vista-panel{width:50%;flex-shrink:0}.calendar-content .pendientes-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:0 10px}.calendar-content .pendientes-back{background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;color:var(--accent-primary);font-size:14px;font-weight:600;cursor:pointer;padding:6px 12px;display:flex;align-items:center;gap:6px;transition:all .3s ease}.calendar-content .pendientes-back:hover{background:var(--accent-gradient);color:var(--bg-primary);transform:translateY(-2px)}.calendar-content .pendientes-title{font-size:clamp(18px,4vw,22px);font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.calendar-content .pendientes-loading,.calendar-content .pendientes-empty{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px}.calendar-content .pendientes-lista{display:flex;flex-direction:column;gap:12px;padding:0 4px}.calendar-content .pendiente-card{position:relative;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:14px;transition:all .2s ease;display:grid;grid-template-columns:11fr 1fr;gap:12px;justify-content:space-between}.calendar-content .pendiente-card .pendiente-cuerpo-datos{display:flex;flex-direction:column;justify-content:space-between;gap:8px}.calendar-content .pendiente-card .pendiente-cuerpo-datos .pendiente-huesped{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.calendar-content .pendiente-card .pendiente-cuerpo-datos .pendiente-detalle{display:grid;grid-template-columns:6fr 5fr 1fr;direction:row;justify-content:space-between;gap:2px;font-size:13px;color:var(--text-secondary)}.calendar-content .pendiente-card .pendiente-cuerpo-datos .pendiente-detalle .pendiente-precio{margin-right:35px;display:flex;align-items:center}.calendar-content .pendiente-card .pendiente-cuerpo-datos .pendiente-detalle .pendiente-precio input.pendiente-precio-input{font-size:12px;color:var(--text-primary);background:var(--bg-secondary, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .15));border-radius:4px;padding:0 8px;flex:1;margin-top:10px;min-width:0;height:25px}.calendar-content .pendiente-card .pendiente-cuerpo-datos input.pendiente-nota{font-size:12px;color:var(--text-primary);background:var(--bg-secondary, rgba(255, 255, 255, .05));border:1px solid var(--border-color, rgba(255, 255, 255, .15));border-radius:4px;padding:10px 8px;flex:1;margin-top:20px;min-width:0;height:25px}.calendar-content .pendiente-card .pendiente-cuerpo-datos input.pendiente-nota::placeholder{color:var(--text-secondary);opacity:.5}.calendar-content .pendiente-card .pendiente-cuerpo-datos input.pendiente-nota:focus{outline:none;border-color:var(--accent-color, #b08968)}.calendar-content .pendiente-card .pendiente-actions{display:grid;grid-template-columns:1fr;gap:18px;align-items:center;justify-content:space-between;margin-top:8px;height:10px}.calendar-content .pendiente-card .pendiente-actions button{align-items:center;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;padding:0 8px;border-radius:4px;height:25px;margin-top:5px;display:flex;align-items:center!important;transition:opacity .2s,color .2s}.calendar-content .pendiente-card .pendiente-actions button.pendiente-delete{background:var(--bg--delete)}.calendar-content .pendiente-card .pendiente-actions button.pendiente-delete:hover{opacity:1;color:#8b0000}.calendar-content .pendiente-card .pendiente-actions button.boton-confirmar{transition:all .25s ease}.calendar-content .pendiente-card .pendiente-actions button.boton-confirmar:hover{background:#4caf5026;transform:scale(1.05)}.calendar-content .pendiente-card .pendiente-actions button.boton-confirmar.activo{background:var(--accent-free, #4caf50);border:2px solid orange;transform:scale(1.1);box-shadow:0 0 6px #ffa50080}.calendar-content .pendiente-card .pendiente-actions button.boton-enlace.inactivo{background:none;cursor:auto;transform:scale(1.1)}.calendar-content .pendiente-card:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px var(--shadow-color)}.calendar-content .pendiente-card .pendiente-hora{position:absolute;top:-11px;left:12px;font-size:11px;color:var(--text-secondary);background:var(--bg-primary);padding:2px 6px;border-radius:8px;border:1px solid var(--border-color)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.modal-reserva{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:24px;width:100%;max-width:400px;max-height:85vh;overflow-y:auto;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0006}.modal-reserva .modal-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .2s ease}.modal-reserva .modal-close:hover{color:var(--accent-alert);background:var(--bg-sidebar)}.modal-reserva .modal-title{font-size:20px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px}.modal-reserva .modal-error{background:#dc354526;border:1px solid rgba(220,53,69,.3);color:#ff6b7a;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:12px}.modal-form{display:flex;flex-direction:column;gap:12px}.modal-form .form-group{display:flex;flex-direction:column;gap:4px}.modal-form .form-group label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.modal-form .form-group input,.modal-form .form-group select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;color:var(--text-primary);font-size:14px;transition:border-color .2s ease}.modal-form .form-group input:focus,.modal-form .form-group select:focus{outline:none;border-color:var(--accent-primary)}.modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-form .form-row.form-row-checkin{grid-template-columns:1fr auto auto;align-items:end}.modal-form .checkout-display{display:flex;align-items:center;height:40px;padding:0 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;opacity:.8;white-space:nowrap}.modal-form .stepper{display:flex;align-items:center;gap:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;height:40px}.modal-form .stepper .stepper-btn{background:none;border:none;color:var(--text-primary);font-size:18px;font-weight:600;cursor:pointer;width:36px;height:100%;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.modal-form .stepper .stepper-btn:hover{background:var(--border-color)}.modal-form .stepper .stepper-btn:active{background:var(--accent-primary);color:var(--bg-primary)}.modal-form .stepper .stepper-value{flex:1;text-align:center;font-size:15px;font-weight:600;color:var(--text-primary);min-width:28px}.btn-primary{background:var(--accent-gradient);border:none;border-radius:12px;color:var(--bg-primary);font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;width:100%;margin-top:4px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-banner{display:flex;align-items:center;gap:10px;background:#6366f11f;border:1px solid rgba(99,102,241,.25);color:var(--text-secondary);padding:12px 16px;border-radius:10px;font-size:13px;margin-top:12px;animation:pulse-loading 1.5s ease-in-out infinite}@keyframes pulse-loading{0%,to{opacity:1}50%{opacity:.6}}.btn-volver{background:transparent;border:none;color:var(--accent-primary);font-size:13px;font-weight:600;cursor:pointer;padding:4px 0;margin-bottom:8px}.btn-volver:hover{text-decoration:underline}.info-busqueda{font-size:13px;color:var(--text-secondary);background:var(--bg-sidebar);padding:8px 12px;border-radius:8px;margin-bottom:12px}.disponibilidad-lista{display:flex;flex-direction:column;gap:10px}.opcion-habitacion{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:14px}.opcion-habitacion .habitacion-nombre{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.opcion-habitacion .habitacion-plazas{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.opcion-habitacion .habitacion-monto{display:flex;align-items:center;gap:8px;margin-bottom:10px}.opcion-habitacion .habitacion-monto label{font-size:13px;font-weight:600;color:var(--text-secondary)}.opcion-habitacion .habitacion-monto input{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:6px 10px;color:var(--text-primary);font-size:14px;width:120px;transition:border-color .2s}.opcion-habitacion .habitacion-monto input:focus{outline:none;border-color:var(--accent-primary)}.opcion-habitacion .habitacion-monto input.input-error{border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c33}.opcion-habitacion .habitacion-monto .monto-alerta{font-size:12px;color:#e74c3c;font-weight:500;white-space:nowrap}.opcion-habitacion .habitacion-acciones{display:flex;gap:8px}.opcion-habitacion .habitacion-acciones .btn-copiar,.opcion-habitacion .habitacion-acciones .btn-tomar{flex:1;padding:0 5px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.opcion-habitacion .habitacion-acciones .btn-copiar{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)}.opcion-habitacion .habitacion-acciones .btn-copiar:hover{border-color:var(--accent-primary)}.opcion-habitacion .habitacion-acciones .btn-tomar{background:var(--accent-gradient);color:var(--bg-primary)}.opcion-habitacion .habitacion-acciones .btn-tomar:hover{transform:translateY(-1px);box-shadow:0 2px 8px var(--shadow-color)}.opcion-habitacion .habitacion-acciones .btn-tomar:disabled{opacity:.6;cursor:not-allowed;transform:none}.sin-disponibilidad{text-align:center;color:var(--text-secondary);font-size:14px;padding:20px;font-style:italic}.reserva-confirmada{text-align:center}.reserva-confirmada .resumen-reserva{text-align:left;padding-left:60px}.reserva-confirmada .resumen-reserva .resumen-item{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reserva-confirmada .resumen-reserva .resumen-item .resumen-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.reserva-confirmada .resumen-reserva .resumen-item .resumen-valor{font-size:14px;color:var(--text-primary);text-align:left}.reserva-confirmada .confirmada-icon{width:50px;height:50px;background:linear-gradient(135deg,#28a745,#20c997);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;margin:0 auto 12px}.reserva-confirmada p{font-size:14px;color:var(--text-primary);margin-bottom:8px}.reserva-confirmada .codigo-reserva{font-size:16px;color:var(--accent-primary)}.reserva-confirmada .enlace-section{margin:16px 0;text-align:left}.reserva-confirmada .enlace-section label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;display:block;margin-bottom:6px}.reserva-confirmada .enlace-box{display:flex;gap:8px;align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;padding:8px 12px}.reserva-confirmada .enlace-box .enlace-texto{font-size:12px;color:var(--text-secondary);word-break:break-all;flex:1}.reserva-confirmada .enlace-box .btn-copiar-enlace{background:var(--accent-gradient);border:none;border-radius:8px;padding:0 12px;color:var(--bg-primary);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;margin:auto;width:100%}.reserva-confirmada .enlace-box .btn-copiar-enlace:hover{transform:translateY(-1px)}.datepicker{position:relative}.datepicker .datepicker-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:4px}.datepicker .datepicker-input{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;padding:0 12px;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:border-color .2s ease}.datepicker .datepicker-input:hover,.datepicker .datepicker-input:focus{outline:none;border-color:var(--accent-primary)}.datepicker .datepicker-dropdown{position:fixed;top:30px;width:90%;left:20px;z-index:300;margin-bottom:4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:2px;box-shadow:0 8px 24px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.datepicker .datepicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.datepicker .datepicker-header .dp-nav{width:30px;height:30px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--accent-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.datepicker .datepicker-header .dp-nav:hover{background:var(--accent-gradient);color:var(--bg-primary);border-color:transparent}.datepicker .datepicker-header .dp-mes-ano{font-size:14px;font-weight:700;color:var(--text-primary)}.datepicker .datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}.datepicker .datepicker-weekdays .dp-weekday{text-align:center;font-size:11px;font-weight:600;color:var(--text-secondary);padding:4px 0;text-transform:uppercase}.datepicker .datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0px}.datepicker .datepicker-grid .dp-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;border-radius:8px;border:none;background:transparent;color:var(--text-primary);cursor:pointer;transition:all .15s ease;padding:0}.datepicker .datepicker-grid .dp-day:hover:not(.dp-disabled):not(.dp-empty){background:var(--bg-sidebar);transform:scale(1.1)}.datepicker .datepicker-grid .dp-day.dp-today{background:linear-gradient(135deg,#4facfe,#00f2fe);color:var(--bg-primary);font-weight:700}.datepicker .datepicker-grid .dp-day.dp-selected{background:var(--accent-gradient);color:var(--bg-primary);font-weight:700;box-shadow:0 2px 8px var(--shadow-color)}.datepicker .datepicker-grid .dp-day.dp-in-range{background:#d18b4740;border-radius:4px;color:var(--text-primary)}.datepicker .datepicker-grid .dp-day.dp-range-start{background:var(--accent-gradient);color:var(--bg-primary);font-weight:700;border-radius:8px 4px 4px 8px}.datepicker .datepicker-grid .dp-day.dp-range-end{background:var(--accent-gradient);color:var(--bg-primary);font-weight:700;border-radius:4px 8px 8px 4px}.datepicker .datepicker-grid .dp-day.dp-disabled{opacity:.25;cursor:not-allowed}.datepicker .datepicker-grid .dp-day.dp-empty{cursor:default}@media (max-width: 430px){.main-content{padding:20px 15px}}.login-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary, #1a1612);padding:1rem;font-size:16px}.login-card{background:var(--bg-secondary, #2d251f);border:1px solid var(--border-color, rgba(209, 139, 71, .3));border-radius:12px;padding:2.5rem 2rem;width:100%;max-width:380px;box-shadow:0 8px 32px #0000004d}.login-title{text-align:center;color:var(--accent-primary, #d18b47);font-size:1.6rem;margin-bottom:.25rem}.login-subtitle{text-align:center;color:var(--text-secondary, rgba(245, 241, 235, .7));font-size:1.1rem;margin-bottom:2rem}.login-field{margin-bottom:1.25rem}.login-field label{display:block;color:var(--text-secondary);font-size:1.1rem;margin-bottom:.35rem}.login-field input{width:100%;padding:.6rem .75rem;background:var(--bg-primary, #1a1612);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:1em;outline:none;transition:border-color .2s}.login-field input:focus{border-color:var(--accent-primary)}.login-error{color:var(--accent-alert, red);font-size:.85rem;margin-bottom:1rem;text-align:center}.login-btn{width:100%;background:var(--accent-gradient, linear-gradient(135deg, #d18b47, #f4a261));color:#fff;border:none;border-radius:6px;font-size:1.3em;font-weight:600;cursor:pointer;transition:opacity .2s}.login-btn:hover:not(:disabled){opacity:.9}.login-btn:disabled{opacity:.6;cursor:not-allowed}.selector-hoteles{display:flex;flex-direction:column;width:100%;margin:0;padding:10px 0;position:sticky;top:44px;z-index:99;background:var(--bg-primary)}.selector-hoteles select{width:100%;height:40px;background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid var(--border-color);border-radius:16px;color:var(--text-primary);font-size:16px;font-weight:600;padding:0 20px;cursor:pointer;outline:none;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selector-hoteles select:hover{background:var(--bg-sidebar);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow-color)}.selector-hoteles select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--shadow-color);background:var(--bg-secondary)}.selector-hoteles select:active{background:var(--accent-gradient);color:var(--bg-primary);transform:translateY(0)}.selector-hoteles:after{content:"▼";position:absolute;right:20px;top:35%;transform:translateY(-50%);font-size:14px;color:var(--accent-primary);pointer-events:none;transition:all .3s ease}.selector-hoteles:hover:after{color:var(--accent-secondary);transform:translateY(-50%) rotate(180deg)}.selector-hoteles select:focus+:after{transform:translateY(-50%) rotate(180deg)}.selector-hoteles select option{background:var(--bg-secondary);color:var(--text-primary);padding:12px 20px;font-weight:500;border-radius:8px;margin:2px 0;transition:all .2s ease}.selector-hoteles select option:hover{background:var(--bg-sidebar);color:var(--accent-primary)}.selector-hoteles select option:checked{background:var(--accent-gradient);color:var(--bg-primary);font-weight:600}.selector-hoteles select{background:linear-gradient(135deg,var(--bg-card),rgba(245,230,211,.1));border:1px solid var(--border-color);box-shadow:0 4px 16px var(--shadow-color),inset 0 1px #ffffff1a}.selector-hoteles.loading{animation:pulse-selector 2s ease-in-out infinite}@keyframes pulse-selector{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@media (max-width: 430px){.selector-hoteles{margin:15px}.selector-hoteles select{height:50px;font-size:14px;padding:0 16px}.selector-hoteles:after{right:16px;font-size:12px}}@media (max-width: 360px){.selector-hoteles{margin:10px}.selector-hoteles select{height:46px;font-size:13px;padding:0 14px}.selector-hoteles:after{right:14px;font-size:10px}}.huesped-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background .3s ease,color .3s ease;color:var(--text-primary);background:radial-gradient(circle at 30% 20%,var(--bg-sidebar),transparent 50%),radial-gradient(circle at 70% 80%,var(--bg-card),transparent 50%),var(--bg-primary)}.huesped-page[data-theme=dark]{--bg-primary: #1a1612;--bg-secondary: #2d251f;--bg-card: rgba(45, 37, 31, .8);--bg-sidebar: rgba(209, 139, 71, .1);--text-primary: #f5f1eb;--text-secondary: rgba(245, 241, 235, .7);--accent-primary: #d18b47;--accent-secondary: #f4a261;--accent-gradient: linear-gradient(135deg, #d18b47, #f4a261);--border-color: rgba(209, 139, 71, .3);--shadow-color: rgba(209, 139, 71, .2)}.huesped-page[data-theme=light]{--bg-primary: #fdf8f3;--bg-secondary: #f5e6d3;--bg-card: rgba(245, 230, 211, .8);--bg-sidebar: rgba(181, 101, 29, .1);--text-primary: #2d1810;--text-secondary: rgba(45, 24, 16, .7);--accent-primary: #b5651d;--accent-secondary: #d18b47;--accent-gradient: linear-gradient(135deg, #b5651d, #d18b47);--border-color: rgba(181, 101, 29, .3);--shadow-color: rgba(181, 101, 29, .2)}.huesped-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:28px;width:100%;max-width:480px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000004d;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.huesped-card .huesped-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.huesped-card .huesped-title{font-size:22px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:0}.huesped-card .theme-toggle{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:50%;width:38px;height:38px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.huesped-card .theme-toggle:hover{border-color:var(--accent-primary);transform:scale(1.1);box-shadow:0 2px 8px var(--shadow-color)}.reserva-resumen{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:16px;margin-bottom:20px;transition:background .3s ease,border-color .3s ease}.reserva-resumen .resumen-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-primary);margin-bottom:12px}.reserva-resumen .resumen-header span{font-size:11px;color:var(--text-secondary);margin-left:8px}.reserva-resumen .resumen-grid{display:flex;flex-direction:column;gap:8px}.reserva-resumen .resumen-doble{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (max-width: 400px){.reserva-resumen .resumen-doble{grid-template-columns:1fr}}.reserva-resumen .resumen-item{display:flex;justify-content:space-between;align-items:center;font-size:13px}.reserva-resumen .resumen-item .resumen-label{color:var(--text-secondary)}.reserva-resumen .resumen-item .resumen-valor{color:var(--text-primary);font-weight:600;text-align:right}.reserva-resumen .resumen-item.resumen-monto{margin-top:4px;padding-top:10px;border-top:1px solid var(--border-color)}.reserva-resumen .resumen-item.resumen-monto .resumen-valor{color:var(--text-primary);font-size:16px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.huesped-form{display:flex;flex-direction:column;gap:14px}.huesped-form .form-group{display:flex;flex-direction:column;gap:4px}.huesped-form .form-group label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.huesped-form .form-group input,.huesped-form .form-group select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;padding:11px 14px;color:var(--text-primary);font-size:15px;margin-bottom:-7px;transition:border-color .2s ease,background .3s ease,color .3s ease}.huesped-form .form-group input:focus,.huesped-form .form-group select:focus{outline:none;border-color:var(--accent-primary)}.huesped-form .form-group input::placeholder,.huesped-form .form-group select::placeholder{color:var(--text-secondary);opacity:.5}.huesped-form .form-group select{cursor:pointer}.huesped-form .form-group .field-error{font-size:11px;color:#ff6b7a;margin-top:2px}.huesped-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 400px){.huesped-form .form-row{grid-template-columns:1fr}}.form-error-msg{background:#dc354526;border:1px solid rgba(220,53,69,.3);color:#ff6b7a;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:12px}.btn-enviar{background:var(--accent-gradient);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s ease;width:100%;margin-top:6px;letter-spacing:.3px}.btn-enviar:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.btn-enviar:disabled{opacity:.6;cursor:not-allowed;transform:none}.huesped-loading{text-align:center;padding:40px 0}.huesped-loading .spinner{width:36px;height:36px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}.huesped-loading p{color:var(--text-secondary);font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}.huesped-error{text-align:center;padding:40px 0}.huesped-error .error-icon{width:50px;height:50px;background:#dc354533;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#ff6b7a;margin:0 auto 12px}.huesped-error p{color:var(--text-secondary);font-size:14px}.huesped-exito{text-align:center;padding:30px 0}.huesped-exito .exito-icon{width:60px;height:60px;background:linear-gradient(135deg,#28a745,#20c997);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;margin:0 auto 16px}.huesped-exito h2{font-size:18px;color:var(--text-primary);margin-bottom:8px}.huesped-exito p{font-size:14px;color:var(--text-secondary);line-height:1.5}.container{width:100%;max-width:430px;min-height:100vh;margin:0 auto;background:var(--bg-primary);position:relative;display:flex;flex-direction:column;transition:all .3s ease}.container .main-wrapper{display:flex;flex-direction:column;width:100%;flex:1;min-height:calc(100vh - 44px)}@media (max-width: 430px){.container{max-width:100%}}@media (min-width: 431px){.container{border-radius:0;box-shadow:0 0 40px var(--shadow-color)}}button.sin-estilos{background:none;border:none;color:var(--text-primary);cursor:pointer}button.sin-estilos.power-off{font-size:1.2em;background:#8b0000;color:#fff;border-radius:50%;padding:0 .3em;justify-content:center;align-items:center;display:flex}
