*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#1a1a1a;line-height:1.6}:root{--primary-color: #1a1a1a;--secondary-color: #666666;--button-color: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--accent-color: #007AFF;--hover-color: #007bff2d;--success-color: #34C759;--warning-color: #FF9500;--danger-color: #FF3B30;--background-color: #ffffff;--card-background: #f8f9fa;--border-color: #e1e5e9;--shadow: 0 2px 10px rgba(0, 0, 0, .1);--border-radius: 12px;--border-radius-small: 8px}.container{max-width:100%;margin:0 auto;padding:0 16px}.header{background:var(--background-color);padding:20px 16px;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.header h1{font-size:28px;font-weight:700;color:var(--primary-color);margin-bottom:8px}.header .date{display:flex;align-items:center;gap:8px;color:var(--secondary-color);font-size:16px}.header .date svg{width:20px;height:20px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 16px}.stat-card{background:var(--card-background);border-radius:var(--border-radius);padding:20px;text-align:center;box-shadow:var(--shadow);border:1px solid var(--border-color)}.stat-card .number{font-size:32px;font-weight:700;color:var(--primary-color);margin-bottom:8px}.stat-card .label{font-size:14px;color:var(--secondary-color);font-weight:500}.stat-card .icon{margin-bottom:12px}.stat-card .status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px}.stat-card .status-dot.orange{background-color:var(--warning-color)}.stat-card .status-dot.green{background-color:var(--success-color)}.stat-card .status-dot.blue{background-color:var(--accent-color)}.turnos-section{padding:0 16px 20px}.turnos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.turnos-header h2{font-size:20px;font-weight:600;color:var(--primary-color);display:flex;align-items:center;gap:8px}.turnos-header .ver-mas{color:var(--accent-color);text-decoration:none;font-size:14px;font-weight:500}.turnos-list{display:flex;flex-direction:column;gap:12px}.turno-card{background:var(--card-background);border-radius:var(--border-radius);padding:16px;box-shadow:var(--shadow);border:1px solid var(--border-color)}.turno-card .turno-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.turno-card .hora{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--primary-color)}.turno-card .hora svg{width:18px;height:18px;color:var(--secondary-color)}.turno-card .cliente{display:flex;align-items:center;gap:8px;font-size:16px;color:var(--primary-color);margin-bottom:8px}.turno-card .cliente svg{width:16px;height:16px;color:var(--secondary-color)}.turno-card .telefono{font-size:14px;color:var(--secondary-color);margin-bottom:12px}.turno-card .whatsapp{background:var(--success-color);color:#fff;border:none;border-radius:var(--border-radius-small);padding:8px 12px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;margin-left:auto}.turno-card .whatsapp svg{width:16px;height:16px}*{transition:all .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-slide-in-right{animation:slideInRight .5s ease-out}.animate-slide-in-left{animation:slideInLeft .5s ease-out}.animate-scale-in{animation:scaleIn .4s ease-out}.animate-bounce-in{animation:bounceIn .6s ease-out}.header{animation:fadeInUp .8s ease-out}.stats-grid{animation:fadeInUp .8s ease-out .2s both}.stat-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 8px 25px #00000026}.stat-card:nth-child(1){animation:bounceIn .6s ease-out .3s both}.stat-card:nth-child(2){animation:bounceIn .6s ease-out .4s both}.stat-card:nth-child(3){animation:bounceIn .6s ease-out .5s both}.stat-card:nth-child(4){animation:bounceIn .6s ease-out .6s both}.turnos-section{animation:fadeInUp .8s ease-out .4s both}.turnos-header{animation:slideInRight .6s ease-out .5s both}.turno-card{transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeInUp .5s ease-out}.turno-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000026}.turno-card.expanded{animation:scaleIn .3s ease-out}.monthly-calendar-overlay{animation:fadeIn .3s ease-out}.monthly-calendar-container{animation:scaleIn .3s ease-out}.calendar-header{animation:slideInRight .4s ease-out}.month-navigation{animation:fadeInUp .4s ease-out .1s both}.calendar-legend{animation:fadeInUp .4s ease-out .2s both}.calendar-grid{animation:fadeInUp .4s ease-out .3s both}.calendar-day{transition:all .2s cubic-bezier(.4,0,.2,1)}.calendar-day:hover{transform:scale(1.1);box-shadow:0 4px 12px #0003}.calendar-day.today{animation:pulse 2s infinite}.day-details-modal{animation:fadeIn .3s ease-out}.day-details-content{animation:scaleIn .3s ease-out}.day-details-header{animation:slideInRight .4s ease-out}.turno-item-day{transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeInUp .4s ease-out}.turno-item-day:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.btn,button{transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:hover,button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn:active,button:active{transform:translateY(0)}.nav-button:hover,.close-button:hover{transform:scale(1.1);background:var(--card-background)}.turno-estado{transition:all .3s ease}.turno-estado:hover{transform:scale(1.05)}.whatsapp,.whatsapp-small{transition:all .3s cubic-bezier(.4,0,.2,1)}.whatsapp:hover,.whatsapp-small:hover{transform:scale(1.05);box-shadow:0 4px 12px #25d3664d}.loading-spinner{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.pulse{animation:pulse 2s infinite}.shake{animation:shake .5s ease-in-out}@keyframes success{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.success-animation{animation:success .5s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fade-out{animation:fadeOut .3s ease-out}html{scroll-behavior:smooth}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}a{transition:all .3s ease}a:hover{transform:translateY(-1px)}.fade-in-on-scroll{opacity:0;transform:translateY(30px);transition:all .6s ease-out}.fade-in-on-scroll.visible{opacity:1;transform:translateY(0)}.form-loading{position:relative;overflow:hidden}.form-loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:loading 1.5s infinite}.login-container{animation:fadeInUp .8s ease-out}.login-form{animation:scaleIn .6s ease-out .2s both}body>*:not(.login-container) input,body>*:not(.login-container) select,body>*:not(.login-container) textarea{transition:all .3s ease}body>*:not(.login-container) input:focus,body>*:not(.login-container) select:focus,body>*:not(.login-container) textarea:focus{transform:scale(1.02);box-shadow:0 0 0 3px #007aff1a}.error-container{animation:shake .5s ease-in-out}.retry-button{transition:all .3s cubic-bezier(.4,0,.2,1)}.retry-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.loading-container{animation:fadeIn .5s ease-out}.error-container svg{animation:bounceIn .6s ease-out}.ver-mas-button{transition:all .3s ease}.ver-mas-button:hover{transform:translateY(-1px);color:#0056b3}.no-turnos,.no-turnos-day{animation:fadeIn .6s ease-out}.turno-expandible{transition:all .3s cubic-bezier(.4,0,.2,1)}.turno-expandible.show{animation:fadeInUp .3s ease-out}.status-dot{animation:pulse 2s infinite}.header .date svg{animation:fadeIn .6s ease-out .3s both}.header h1{animation:slideInLeft .6s ease-out}.header .date span{animation:slideInRight .6s ease-out .2s both}.modal{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-content{background-color:#fff;padding:30px;border-radius:12px;text-align:center;max-width:400px;width:90%;box-shadow:0 4px 15px #0000004d;font-family:Arial,sans-serif}.modal-content p{margin-bottom:20px;font-size:16px}.modal-content button{margin:5px;padding:8px 16px;border-radius:6px;border:none;cursor:pointer;background-color:#007bff;color:#fff;font-weight:700}.modal-content button:hover{background-color:#0056b3}.modal-content input[type=text]{width:80%;padding:6px 10px;margin-bottom:15px;border-radius:6px;border:1px solid #ccc;font-size:14px}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#fff;padding:20px}.login-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;padding:40px;width:100%;max-width:400px;animation:fadeIn .5s ease-out;border:1px solid #e1e5e9}.login-card h2{color:#333;margin-bottom:30px;text-align:center;font-size:28px;font-weight:600}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500;font-size:14px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:#999;width:20px;height:20px;z-index:1}.eye-button{background:none;border:none;cursor:pointer;position:absolute;right:10px;color:#555}.eye-button:hover{color:#000}.form-group input{width:100%;padding:12px 12px 12px 40px;border:2px solid #e1e5e9;border-radius:10px;font-size:16px;transition:all .3s ease;background:#f8f9fa}.form-group input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f1f3f4;cursor:not-allowed}.login-button{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:15px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.secondary-button{width:100%;padding:12px;background:transparent;color:#667eea;border:2px solid #667eea;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.secondary-button:hover{background:#667eea;color:#fff}.error-message{background:#fee;color:#c53030;padding:12px;border-radius:8px;margin-bottom:20px;border:1px solid #feb2b2;font-size:14px;text-align:center}@media (max-width: 480px){.login-card{padding:30px 20px;margin:10px}.login-card h2{font-size:24px}.form-group input{font-size:16px}}.monthly-calendar-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .3s ease-out}.monthly-calendar-container{background:var(--background-color);border-radius:var(--border-radius);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026;animation:scaleIn .3s ease-out}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color);animation:slideInRight .4s ease-out}.calendar-title{display:flex;align-items:center;gap:12px}.calendar-title h2{font-size:20px;font-weight:600;color:var(--primary-color)}.close-button{background:none;border:none;color:var(--secondary-color);cursor:pointer;padding:8px;border-radius:var(--border-radius-small)}.close-button:hover{background:var(--card-background);transform:scale(1.1)}.month-navigation{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-color);animation:fadeInUp .4s ease-out .1s both}.nav-button{background:none;border:none;color:var(--accent-color);cursor:pointer;padding:8px;border-radius:var(--border-radius-small)}.nav-button:hover{background:var(--card-background);transform:scale(1.1)}.current-month{font-size:18px;font-weight:600;color:var(--primary-color);text-transform:capitalize}.calendar-legend{display:flex;justify-content:center;gap:20px;padding:16px 20px;border-bottom:1px solid var(--border-color);flex-wrap:wrap;animation:fadeInUp .4s ease-out .2s both}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--secondary-color)}.legend-color{width:16px;height:16px;border-radius:4px;border:1px solid var(--border-color)}.legend-color.sin-turnos-calendar{background:#f8f9fa}.legend-color.con-turnos-disponible-calendar{background:#e3f2fd;border-color:#2196f3}.legend-color.completo-calendar{background:#85e705}.legend-color.todo-dia-bloqueado-calendar{background:#d32f2f;border-color:#b71c1c}.calendar-grid{padding:20px;animation:fadeInUp .4s ease-out .3s both}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:16px}.weekday{text-align:center;font-size:14px;font-weight:600;color:var(--secondary-color);padding:8px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{aspect-ratio:1;border:1px solid var(--border-color);border-radius:var(--border-radius-small);background:var(--background-color);color:var(--primary-color);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;position:relative}.calendar-day:hover:not(:disabled){background:var(--primary-color);transform:scale(1.05);box-shadow:0 4px 12px #0003}.calendar-day.other-month{color:var(--border-color);background:#fafafa;cursor:not-allowed}.calendar-day.today{border-color:var(--accent-color);background:var(--accent-color)!important;color:#fff!important;font-weight:600;animation:pulse 2s infinite}.calendar-day.today:hover:not(:disabled){background:var(--accent-color);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #0003}.calendar-day.sin-turnos{background:#f8f9fa;border:1px solid #ddd;color:#212121}.calendar-day.con-turnos-disponible{background:#e3f2fd;border:1px solid #2196f3;color:#0d47a1;position:relative}.calendar-day.con-turnos-disponible:hover:not(:disabled){background:#90caf9;transform:scale(1.05);box-shadow:0 4px 12px #00000026}.calendar-day.completo{background:#85e705;border:1px solid #4caf50;color:#1b5e20;font-weight:600}.calendar-day.todo-dia-bloqueado{background:#d32f2f;color:#fff;border-color:#b71c1c;font-weight:600;position:relative}.calendar-day.bloqueo-parcial:after{content:"🔒";position:absolute;top:2px;right:2px;font-size:12px;line-height:1}.calendar-day.todo-dia-bloqueado:after{content:"🚫";position:absolute;top:2px;right:2px;font-size:12px;line-height:1}.loading-calendar{grid-column:1 / -1;text-align:center;padding:40px;color:var(--secondary-color)}.day-details-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px;animation:fadeIn .3s ease-out}.day-details-content{background:var(--background-color);border-radius:var(--border-radius);width:100%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px #00000026;animation:scaleIn .3s ease-out}.day-details-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color);animation:slideInRight .4s ease-out}.day-details-header h3{font-size:18px;font-weight:600;color:var(--primary-color)}.close-details{background:none;border:none;color:var(--secondary-color);cursor:pointer;padding:8px;border-radius:var(--border-radius-small)}.close-details:hover{background:var(--card-background);transform:scale(1.1)}.no-turnos-day{padding:40px 20px;text-align:center;color:var(--secondary-color);animation:fadeIn .6s ease-out}.turnos-list-day{padding:20px}.turno-item-day{background:var(--card-background);border-radius:var(--border-radius-small);padding:16px;margin-bottom:12px;border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeInUp .4s ease-out}.turno-time{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--primary-color);margin-bottom:8px}.turno-client{display:flex;align-items:center;gap:8px;color:var(--secondary-color);margin-bottom:8px}.turno-service{font-size:14px;color:var(--secondary-color);margin-bottom:12px}.turno-actions-calendar{display:flex!important;flex-direction:row;align-items:center;justify-content:center;gap:8px;flex-wrap:nowwrap}.turno-status{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.turno-status.pendiente{background:#fff3cd;color:#856404}.turno-status.confirmado{background:#d1ecf1;color:#0c5460}.turno-status.completado{background:#d4edda;color:#155724}.turno-status.cancelado{background:#f8d7da;color:#721c24}.whatsapp-small{background:#25d366;color:#fff;border:none;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.whatsapp-small:hover{background:#128c7e;box-shadow:0 4px 12px #25d3664d;transform:scale(1.05)}.cancel-button{background:#f44336;color:#fff;border:none;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.calendar-day{font-size:12px;min-height:40px}.calendar-day.completo:after{font-size:8px;top:1px;right:1px}.calendar-day.completo.todo-dia-bloqueado:after{font-size:10px}.calendar-day.completo.todo-dia-bloqueado{background:#f44336;color:#fff;border-color:#d32f2f;font-weight:600;box-shadow:0 2px 4px #f443364d}.calendar-day.todo-dia-bloqueado:hover{background:#d32f2f;transform:scale(1.02)}}@media (max-width: 480px){.calendar-day{font-size:11px;min-height:35px}.calendar-legend{gap:12px;padding:12px 16px;flex-direction:column;align-items:center}.legend-item{font-size:12px;min-width:120px;justify-content:center}.legend-color{width:14px;height:14px}}@media (min-width: 768px){.monthly-calendar-container{max-width:800px}.calendar-legend{justify-content:space-around}.calendar-day{font-size:16px}.day-details-content{max-width:600px}.turno-item-day{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:16px;align-items:center}.turno-actions{display:flex;flex-direction:row}}.bloqueo-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .3s ease-out}.bloqueo-modal-container{background:var(--background-color, #fff);border-radius:16px;width:100%;max-width:520px;box-shadow:0 20px 60px #00000026,0 8px 25px #0000001a;border:1px solid var(--border-color, #e1e5e9);overflow:hidden;animation:scaleIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bloqueo-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color, #e1e5e9);background:linear-gradient(135deg,var(--card-background, #f8f9fa) 0%,var(--background-color, #fff) 100%)}.bloqueo-modal-header .title{display:flex;align-items:center;gap:10px}.bloqueo-modal-header h2{margin:0;font-size:18px;color:var(--primary-color, #1a1a1a);font-weight:600}.bloqueo-modal-header .title svg{color:var(--accent-color, #007AFF)}.close-button{background:none;border:none;color:var(--secondary-color, #666);cursor:pointer;padding:8px;border-radius:var(--border-radius-small, 8px);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-button:hover{background:var(--border-color, #e1e5e9);color:var(--primary-color, #1a1a1a);transform:scale(1.1)}.bloqueo-form{padding:24px;background:var(--background-color, #fff)}.form-row{display:flex;gap:20px;align-items:flex-start;margin-bottom:24px}.form-group-bloqueo{flex:1;display:flex;flex-direction:column;gap:10px}.form-group-bloqueo.checkbox{flex:initial;margin-top:28px}.form-group-bloqueo label{font-size:14px;color:var(--secondary-color, #666);font-weight:500;margin-bottom:4px;display:flex;align-items:center;gap:8px}.form-group-bloqueo label svg{color:var(--accent-color, #007AFF);opacity:.8}.form-group-bloqueo input[type=date]{padding:12px 16px;border:2px solid var(--border-color, #e1e5e9);border-radius:12px;background:var(--card-background, #f8f9fa);color:var(--primary-color, #1a1a1a);font-size:14px;font-weight:500;transition:all .3s ease;cursor:pointer;position:relative}.form-group-bloqueo input[type=date]:hover{border-color:var(--accent-color, #007AFF);background:var(--background-color, #fff);transform:translateY(-2px);box-shadow:0 4px 12px #007aff1a}.form-group-bloqueo input[type=date]:focus{outline:none;border-color:var(--accent-color, #007AFF);background:var(--background-color, #fff);box-shadow:0 0 0 3px #007aff1a;transform:translateY(-2px)}.form-group-bloqueo select{padding:12px 40px 12px 16px;border:2px solid var(--border-color, #e1e5e9);border-radius:12px;background:var(--card-background, #f8f9fa);color:var(--primary-color, #1a1a1a);font-size:14px;font-weight:500;transition:all .3s ease;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.form-group-bloqueo select:hover{border-color:var(--accent-color, #007AFF);background:var(--background-color, #fff);transform:translateY(-2px);box-shadow:0 4px 12px #007aff1a}.form-group-bloqueo select:focus{outline:none;border-color:var(--accent-color, #007AFF);background:var(--background-color, #fff);box-shadow:0 0 0 3px #007aff1a;transform:translateY(-2px)}.form-group-bloqueo select option{background:var(--background-color, #fff);color:var(--primary-color, #1a1a1a);padding:8px}.form-group-bloqueo input[type=text]{padding:12px 16px;border:2px solid var(--border-color, #e1e5e9);border-radius:12px;background:var(--card-background, #f8f9fa);color:var(--primary-color, #1a1a1a);font-size:14px;transition:all .3s ease}.form-group-bloqueo input[type=text]:hover{border-color:var(--accent-color, #007AFF);background:var(--background-color, #fff);transform:translateY(-2px);box-shadow:0 4px 12px #007aff1a}.form-group-bloqueo input[type=text]:focus{outline:none;border-color:var(--accent-color, #007AFF);background:var(--background-color, #fff);box-shadow:0 0 0 3px #007aff1a;transform:translateY(-2px)}.form-group-bloqueo input[type=text]::placeholder{color:var(--secondary-color, #666);opacity:.7}.checkbox-label{display:flex;align-items:center;gap:12px;-webkit-user-select:none;user-select:none;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;color:var(--primary-color, #1a1a1a);font-weight:500}.checkbox-label:hover{background:var(--card-background, #f8f9fa);transform:translateY(-1px)}.checkbox-label svg{color:var(--accent-color, #007AFF);opacity:.8}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-color, #007AFF);cursor:pointer;transform:scale(1.1);border-radius:4px}.actions{display:flex;justify-content:flex-end;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid var(--border-color, #e1e5e9)}.primary-button{background:linear-gradient(135deg,var(--accent-color, #007AFF) 0%,#0056b3 100%);color:#fff;border:none;padding:14px 24px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:140px;position:relative;overflow:hidden}.primary-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.primary-button:hover:not(:disabled):before{left:100%}.primary-button:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004494);transform:translateY(-3px);box-shadow:0 8px 25px #007aff66}.primary-button:active:not(:disabled){transform:translateY(-1px)}.primary-button:disabled{background:var(--secondary-color, #666);cursor:not-allowed;transform:none;box-shadow:none}.secondary-button{background:transparent;color:var(--accent-color, #007AFF);border:2px solid var(--accent-color, #007AFF);padding:14px 24px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:120px;position:relative;overflow:hidden}.secondary-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--accent-color, #007AFF);transition:left .3s ease;z-index:-1}.secondary-button:hover:not(:disabled):before{left:0}.secondary-button:hover:not(:disabled){color:#fff;transform:translateY(-3px);box-shadow:0 8px 25px #007aff4d}.secondary-button:active:not(:disabled){transform:translateY(-1px)}.secondary-button:disabled{border-color:var(--secondary-color, #666);color:var(--secondary-color, #666);cursor:not-allowed;transform:none;box-shadow:none}.error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:var(--danger-color, #FF3B30);padding:16px 20px;border-radius:12px;border:2px solid #fecaca;font-size:14px;font-weight:500;margin-bottom:20px;animation:shake .5s ease-in-out;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #ef44441a;position:relative;overflow:hidden}.error-message:before{content:"⚠️";font-size:18px;animation:pulse 2s infinite}.error-message:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:loading 2s infinite}.info-message{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:var(--accent-color, #007AFF);padding:16px 20px;border-radius:12px;border:2px solid #bae6fd;font-size:14px;font-weight:500;margin-bottom:20px;text-align:center;animation:fadeIn .3s ease-out}.bloqueos-existentes{background:#f8f9fa;border:1px solid var(--border-color);border-radius:var(--border-radius-small);padding:16px;margin-bottom:20px;animation:fadeIn .3s ease-out}.bloqueos-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:600;color:var(--primary-color)}.bloqueo-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius-small);margin-bottom:8px;transition:all .2s}.bloqueo-item:last-child{margin-bottom:0}.bloqueo-item.todo-dia{background:#ffebee;border-color:#f44336}.bloqueo-item.parcial{background:#fff3e0;border-color:#ff9800}.bloqueo-info{display:flex;flex-direction:column;gap:4px}.bloqueo-todo-dia{color:#d32f2f;font-size:14px}.bloqueo-horario{color:#e65100;font-size:14px}.bloqueo-motivo{color:var(--secondary-color);font-size:12px;font-style:italic}.desbloquear-button{background:var(--accent-color);color:#fff;border:none;padding:8px 12px;border-radius:var(--border-radius-small);cursor:pointer;font-size:12px;display:flex;align-items:center;gap:6px;transition:all .2s;white-space:nowrap}.desbloquear-button:hover{background:var(--accent-color-hover);transform:scale(1.05)}.desbloquear-button:active:not(:disabled){transform:translateY(0)}.desbloquear-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.desbloquear-button svg{width:14px;height:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width: 480px){.bloqueo-modal-container{margin:0 16px;max-width:calc(100% - 32px)}.form-row{flex-direction:column;align-items:stretch;gap:16px}.actions{flex-direction:column;gap:12px}.primary-button,.secondary-button{width:100%;min-width:auto}.bloqueo-form{padding:16px}.bloqueo-item{flex-direction:column;align-items:stretch;gap:12px}.desbloquear-button{width:100%;min-width:auto;justify-content:center}.bloqueos-existentes{padding:12px}.bloqueo-item{padding:16px}.bloqueo-info{text-align:center}.bloqueo-todo-dia,.bloqueo-horario{font-size:16px;text-align:center}.info-message.warning{font-size:14px;padding:16px}}.form-group-bloqueo input[type=date]::-webkit-calendar-picker-indicator{background:transparent;color:transparent;cursor:pointer;height:auto;inset:0;position:absolute;width:auto}.form-group-bloqueo input[type=date]::-webkit-datetime-edit{color:var(--primary-color, #1a1a1a)}.form-group-bloqueo input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.form-group-bloqueo input[type=date]::-webkit-datetime-edit-text{color:var(--secondary-color, #666);padding:0 2px}.form-group-bloqueo input[type=date]::-webkit-datetime-edit-month-field,.form-group-bloqueo input[type=date]::-webkit-datetime-edit-day-field,.form-group-bloqueo input[type=date]::-webkit-datetime-edit-year-field{color:var(--primary-color, #1a1a1a);padding:0 2px}.form-group-bloqueo input[type=date]::-moz-calendar-picker-indicator{background:transparent;border:none;cursor:pointer;height:100%;position:absolute;right:0;top:0;width:100%}.primary-button:disabled{position:relative;overflow:hidden}.primary-button:disabled:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:loading 1.5s infinite}@keyframes loading{0%{left:-100%}to{left:100%}}.info-message.warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7;border-radius:var(--border-radius-small);padding:12px;margin-top:12px;font-size:13px;text-align:center;font-weight:500}.header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;padding:20px 0;border-bottom:2px solid var(--border-color, #e1e5e9);animation:fadeInUp .8s ease-out;position:relative}.title-bock{display:flex;flex-direction:column;align-items:flex-start}.header h1{margin:0;font-size:32px;font-weight:700;color:var(--primary-color, #667eea);animation:slideInLeft .6s ease-out}.header .date{display:flex;align-items:center;gap:8px;color:var(--secondary-color, #666);font-size:14px;animation:fadeIn .6s ease-out .3s both;margin-top:8px}.header-right{display:flex;align-items:center;gap:20px;animation:fadeIn .6s ease-out .4s both;position:absolute;top:20px;right:0}.user-info{display:flex;align-items:center;gap:8px}.user-name{font-size:14px;color:var(--secondary-color, #666);font-weight:500;padding:4px 8px;background:#667eea1a;border-radius:6px;border:1px solid rgba(102,126,234,.2)}.refresh-spinner{position:absolute;top:-4px;right:-4px;width:14px;height:14px;border:2px solid #ccc;border-top-color:#007bff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.header-right .notification-icon,.header-right .logout-icon{position:relative;cursor:pointer;transition:all .3s ease;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center}.header-right .notification-icon svg,.header-right .logout-icon svg{color:var(--secondary-color, #666);transition:all .3s ease}.header-right .notification-icon:hover,.header-right .logout-icon:hover{background:#667eea1a;transform:scale(1.1)}.header-right .notification-icon:hover svg,.header-right .logout-icon:hover svg{color:var(--primary-color, #667eea)}.header-right .notification-icon:active,.header-right .logout-icon:active{transform:scale(.95)}.notification-badge{position:absolute;top:4px;right:4px;background:#ff4757;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:30px;animation:fadeInUp .8s ease-out .2s both}.stat-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px #0000001a;border:1px solid #e1e5e9;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:all .3s ease}.stat-card .icon{margin-bottom:12px;display:flex;justify-content:center}.stat-card .number{font-size:32px;font-weight:700;color:var(--primary-color, #667eea);margin-bottom:8px}.stat-card .label{font-size:14px;color:var(--secondary-color, #666);font-weight:500}.status-dot{position:absolute;top:12px;right:12px;width:12px;height:12px;border-radius:50%;animation:pulse 2s infinite}.status-dot.orange{background:#ff9500}.status-dot.green{background:#34c759}.status-dot.blue{background:#007aff}.turnos-section{margin-bottom:30px;animation:fadeInUp .8s ease-out .4s both}.turnos-header{display:flex;flex-direction:column;align-items:flex-start;align-items:center;margin-bottom:20px;animation:slideInRight .6s ease-out .5s both}.turnos-header h2{width:100%;text-align:left;display:flex;align-items:center;gap:8px;margin:0;font-size:20px;color:var(--primary-color, #667eea)}.buttons-panel{background:#f8f9fa;color:var(--secondary-color, #666);padding:8px 16px;border-radius:20px;text-decoration:none;font-size:14px;border:1px solid #e1e5e9;transition:all .3s ease;margin:10px}.ver-mas:hover,.ver-mas-button:hover{background:#e9ecef;color:var(--primary-color, #667eea)}.ver-mas:active,.ver-mas-button:active{background:#dee2e6;transform:scale(.98)}.turnos-list{display:flex;flex-direction:column;gap:16px}.turno-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px #0000001a;border:1px solid #e1e5e9;transition:all .3s ease;cursor:pointer;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;animation:fadeInUp .5s ease-out}.turno-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.turno-card:active{transform:translateY(0);box-shadow:0 4px 12px #0000001a}.turno-card.expanded{transform:translateY(-2px);box-shadow:0 8px 25px #0003;animation:scaleIn .3s ease-out}.turno-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.turno-header .hora{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--primary-color, #667eea)}.turno-actions{display:flex;flex-direction:column;gap:5px}.turno-estado,.cancel-button{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize;transition:all .3s ease}.turno-estado.confirmado{background:#d4edda;color:#155724}.turno-estado.pendiente{background:#fff3cd;color:#856404}.turno-estado.cancelado{background:#f8d7da;color:#721c24}.turno-estado.completado{background:#d1ecf1;color:#0c5460}.cliente{display:flex;align-items:center;gap:8px;margin-bottom:0;font-size:16px;color:var(--secondary-color, #666)}.turno-expandible{max-height:0;opacity:0;overflow:hidden;transition:all .3s ease;margin-top:0}.turno-expandible.show{max-height:200px;opacity:1;margin-top:16px;animation:fadeInUp .3s ease-out}.turno-expandible .telefono{margin-bottom:16px;color:var(--secondary-color, #666);font-size:14px}.whatsapp{display:flex;align-items:center;gap:8px;background:#25d366;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;width:100%;justify-content:center;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.whatsapp:hover{background:#128c7e;transform:translateY(-1px);box-shadow:0 4px 12px #25d3664d}.whatsapp:active{transform:translateY(0);background:#128c7e}.no-turnos{text-align:center;padding:40px 20px;background:#fff;border-radius:12px;border:1px solid #e1e5e9;box-shadow:0 2px 8px #0000001a}.no-turnos p{color:var(--secondary-color, #666);font-size:16px;margin:0}@media (max-width: 768px){.header{flex-direction:column;gap:20px;align-items:flex-start;padding:15px 0;margin-bottom:20px}.header h1{font-size:28px}.header .date{font-size:13px;margin-top:6px}.header-right{gap:15px;margin-top:0;position:absolute;top:15px;right:0}.user-name{font-size:12px;padding:3px 6px}.header-right svg{padding:6px}.stats-grid{gap:12px;margin-bottom:25px}.stat-card{padding:16px}.stat-card .number{font-size:28px}.stat-card .label{font-size:13px}.turnos-header{margin-bottom:16px}.turnos-header h2{font-size:18px}.ver-mas,.ver-mas-button{padding:6px 12px;font-size:13px}.turnos-list{gap:14px}.turno-card{padding:16px}.turno-header .hora{font-size:16px}.cliente{font-size:15px}.turno-expandible.show{margin-top:14px}.turno-expandible .telefono{margin-bottom:14px;font-size:13px}.whatsapp{padding:10px 16px;font-size:13px}}@media (max-width: 480px){.header h1{font-size:24px}.header .date{font-size:12px;margin-top:5px}.header-right{gap:12px;top:15px}.user-name{font-size:11px;padding:2px 5px}.header-right svg{padding:5px}.stats-grid{gap:10px;margin-bottom:20px}.stat-card{padding:14px}.stat-card .number{font-size:24px}.stat-card .label{font-size:12px}.status-dot{width:10px;height:10px;top:10px;right:10px}.turnos-header h2{font-size:16px}.ver-mas,.ver-mas-button{padding:5px 10px;font-size:12px}.turnos-list{gap:12px}.turno-card{padding:14px}.turno-header .hora{font-size:15px}.cliente{font-size:14px}.turno-expandible.show{margin-top:12px}.turno-expandible .telefono{margin-bottom:12px;font-size:12px}.whatsapp{padding:8px 14px;font-size:12px}}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.loading{color:#fff;font-size:1.2rem;font-weight:500}.error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;padding:2rem}.error-message{font-size:1.2rem;margin-bottom:2rem;max-width:500px}.logout-button{background:#e74c3c;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.logout-button:hover{background:#c0392b}.notification-icon{position:relative;cursor:pointer}.notification-badge{position:absolute;top:-5px;right:-5px;background:red;color:#fff;font-size:12px;padding:2px 6px;border-radius:50%}.notifications-container{position:absolute;top:60px;left:50%;transform:translate(-50%);width:90vw;height:auto;max-height:95%;max-width:900px;margin:0 auto;background:#fff;box-shadow:0 4px 12px #0003;border-radius:12px;overflow-y:auto;z-index:1000;padding:16px 0;display:flex;flex-direction:column;align-items:center}.notification-card{display:flex;flex-direction:column;width:90%;padding:10px 15px;border:1px solid black;border-radius:10px;cursor:pointer;margin:5px auto;height:auto;text-align:left}.notification-card:hover{background:#f5f5f5}.no-notifications{padding:15px;text-align:center;color:#888}.close-btn{position:absolute;top:0;right:10px;font-size:24px;background:none;border:none;color:var(--secondary-color);cursor:pointer;padding:8px;border-radius:var(--border-radius-small)}.booking-overlay-agendar{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.booking-modal-agendar{background:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.booking-header-agendar{display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem 1.5rem;text-align:center;position:relative}.booking-icon-container-agendar{width:4rem;height:4rem;background-color:#000;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.booking-header-icon{width:2rem;height:2rem;color:#fff}.booking-header h2{font-size:1.75rem;font-weight:700;color:#000;margin:0}.close-btn-agendar{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:.375rem;transition:all .2s ease}.close-btn-agendar:hover{background-color:#f3f4f6;color:#374151}.progress-indicator-agendar{display:flex;align-items:center;justify-content:center;margin:2rem 0;gap:.5rem}.progress-step-agendar{width:3rem;height:3rem;border-radius:50%;background-color:#e5e7eb;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.progress-step.active-agendar{background-color:#000}.progress-icon-agendar{width:1.5rem;height:1.5rem;color:#fff}.progress-line-agendar{width:3rem;height:2px;background-color:#e5e7eb;transition:background-color .3s ease}.progress-line-agendar.active{background-color:#000}.step-content-agendar{padding:0 1.5rem 1.5rem}.step-panel-agendar h3{font-size:1.25rem;font-weight:600;color:#000;margin-bottom:1.5rem;text-align:center}.calendar-container-agendar{max-width:400px;margin:0 auto}.calendar-header-agendar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.month-nav-btn-agendar{background:none;border:none;font-size:1.5rem;color:#000;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:all .2s ease}.month-nav-btn-agendar:hover{background-color:#f3f4f6}.calendar-header-agendar h4{font-size:1.125rem;font-weight:600;color:#000;margin:0}.calendar-weekdays-agendar{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem}.calendar-weekdays-agendar span{text-align:center;font-size:.875rem;font-weight:600;color:#6b7280;padding:.5rem 0}.calendar-grid-agendar{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day-agendar{width:2.5rem;height:2.5rem;border:none;background:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.calendar-day-agendar.other-month-agendar{color:#d1d5db}.calendar-day-agendar.today-agendar{background-color:#d1fae5;color:#059669;font-weight:600;border:2px solid #059669}.calendar-day-agendar.selected-agendar{background-color:#059669;color:#fff;font-weight:600}.calendar-day-agendar.past-agendar{color:#d1d5db;cursor:not-allowed}.calendar-day-agedar:not(.past-agendar):not(.other-month-agendar):hover{background-color:#f0fdf4;color:#059669}.time-selector-agendar{max-width:400px;margin:0 auto}.loading-message-agendar,.error-message-agendar{text-align:center;padding:2rem;color:#6b7280;font-size:.875rem}.error-message-agendar{color:#dc2626}.time-period-agendar{margin-bottom:2rem}.time-period-agendar h4{font-size:1rem;font-weight:600;color:#000;margin-bottom:1rem;text-align:center}.time-buttons-agendar{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.time-btn-agendar{background-color:#f3f4f6;color:#374151;border:2px solid #e5e7eb;padding:.75rem 1.5rem;border-radius:.75rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:4rem}.time-btn-agendar:hover{background-color:#f0fdf4;border-color:#059669;color:#059669}.time-btn.selected-agendar{background-color:#059669;border-color:#059669;color:#fff;font-weight:600}.booking-form-agendar{max-width:400px;margin:0 auto}.booking-form-agendar input,.booking-form-agendar select{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;transition:all .2s ease;background-color:#fff;margin-bottom:1rem}.booking-form-agenda input:focus,.booking-form-agendar select:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.booking-form-agenda input::placeholder{color:#9ca3af}.booking-form-agendar select{cursor:pointer}.booking-form-agendar select option{padding:.5rem}.form-error-agendar{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:.75rem;margin-top:1rem;font-size:.875rem;text-align:center}.step-navigation-agendar{display:flex;justify-content:space-between;padding:1.5rem;gap:1rem}.step-navigation-agendar button{flex:1;padding:1rem 2rem;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background-color:#059669;color:#fff}.step-navigation-agendar button:hover:not(:disabled){background-color:#047857;transform:translateY(-2px);box-shadow:0 4px 12px #0596694d}.step-navigation-agendar button:disabled{background-color:#d1d5db;color:#6b7280;cursor:not-allowed;transform:none;box-shadow:none}.step-navigation-agendar button:active:not(:disabled){transform:translateY(0)}:root{--primary-color: #667eea;--secondary-color: #666;--border-color: #e1e5e9;--card-background: #f8f9fa;--background-color: #f5f5f5}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media (max-width: 768px){#root{padding:1rem}}@media (max-width: 480px){#root{padding:.5rem}}.App{min-height:100vh;background-color:var(--background-color)}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:18px;color:var(--secondary-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--card-background)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color, #667eea);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:var(--secondary-color, #666);font-size:16px;margin:0}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px;text-align:center;padding:20px}.error-container h3{color:#dc3545;margin:0;font-size:20px}.error-container p{color:var(--secondary-color, #666);margin:0;font-size:16px}.retry-button{background:var(--primary-color, #667eea);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}.retry-button:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}
