.sidebar{color:#fff;background:#101827;flex-direction:column;width:240px;padding:20px;display:flex}.sidebar-title{color:#fff;margin-bottom:40px;font-size:24px;font-weight:700}.sidebar-link{color:#fff;border-radius:10px;align-items:center;gap:12px;margin-bottom:10px;padding:14px;text-decoration:none;transition:all .25s;display:flex}.sidebar-link:hover{background:#1f2937}.sidebar-link.active{background:#36f}.sidebar-logout{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;margin-top:auto}.sidebar-logout:hover{background:#1f2937}.cambiar-password-pantalla{z-index:9999;background:#f5f7fb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cambiar-password-overlay{z-index:9999;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cambiar-password-form{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:35px;box-shadow:0 10px 25px #0000001f}.cambiar-password-form h2{color:#1f2937;margin-bottom:8px;font-size:1.5rem}.cambiar-password-form p{color:#6b7280;margin-bottom:24px;font-size:.95rem}.form-group input{border:1px solid #d1d5db;border-radius:10px;padding:12px 15px;font-size:1rem}.error-text{color:#dc2626;margin-bottom:12px;font-size:.85rem;display:block}@media (width<=480px){.cambiar-password-form{padding:25px}.form-buttons{flex-direction:column-reverse}.form-buttons button{width:100%}}.admin-layout{background:#f4f6fb;min-height:100vh;display:flex}.admin-content{flex-direction:column;flex:1;display:flex}.admin-main{flex:1;padding:30px}.login{background:#f5f7fb;width:100%;min-height:100vh;display:flex}.login-left{background-position:50%;background-size:cover;justify-content:center;align-items:center;width:40%;display:flex;position:relative}.overlay{color:#fff;text-align:center;background:#060a12b8;flex-direction:column;justify-content:center;align-items:center;padding:60px;display:flex;position:absolute;inset:0}.logo{width:200px;margin-bottom:20px}.overlay h1{margin-bottom:-10px;font-size:60px;font-weight:700}.overlay h1 span{color:#36f}.separator{background:#36f;width:350px;height:2px;margin:25px 0}.description{max-width:470px;margin-bottom:60px;font-size:30px;line-height:1.5}.features{width:100%;max-width:420px}.feature{align-items:center;gap:25px;margin-bottom:28px;font-size:22px;display:flex}.feature span{text-align:left}.login-right{justify-content:center;align-items:center;width:60%;padding:40px;display:flex}.card{background:#fff;border-radius:22px;width:520px;padding:45px;box-shadow:0 15px 40px #0000001a}.card-logo{width:100px;margin:auto auto 25px;display:block}.card h2{text-align:center;margin-bottom:8px;font-size:34px}.card p{text-align:center;color:#666;margin-bottom:35px}.card label{margin-bottom:8px;font-weight:600;display:block}.card input{border:1px solid #d9d9d9;border-radius:10px;width:100%;height:55px;margin-bottom:20px;padding:0 18px;font-size:16px}.card input:focus{border-color:#36f}.options{justify-content:space-between;align-items:center;margin-bottom:25px;font-size:15px;display:flex}.remember{align-items:center;gap:8px;display:flex!important}.remember input{width:18px;height:18px;margin:0}.options a{color:#36f}.card button{color:#fff;background:#36f;border-radius:10px;width:100%;height:55px;font-size:18px;font-weight:600;transition:all .25s}.card button:hover{background:#2958e5}.divider{color:#777;justify-content:center;align-items:center;margin:30px 0;display:flex}.divider:before,.divider:after{content:"";background:#ddd;flex:1;height:1px}.divider span{padding:0 20px}.social{gap:20px;display:flex}.social button{color:#333;background:#fff;border:1px solid #ddd}.social button:hover{background:#f5f5f5}@media (width<=1100px){.login-left{display:none}.login-right{width:100%}.card{width:100%;max-width:520px}}@media (width<=600px){.login-right{padding:20px}.card{padding:30px}.card h2{font-size:26px}}.dashboard{flex-direction:column;gap:30px;display:flex}.dashboard-header{justify-content:space-between;align-items:center;display:flex}.dashboard-header h1{margin-bottom:8px;font-size:32px}.dashboard-header p{color:#6b7280}.date-btn{color:#fff;cursor:pointer;background:#36f;border:none;border-radius:10px;padding:12px 20px;font-weight:600}.cards{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.dashboard-body{grid-template-columns:2fr 1fr;gap:20px;display:grid}.reservas,.agenda{background:#fff;border-radius:16px;padding:25px;box-shadow:0 8px 20px #0000000d}.placeholder{color:#94a3b8;border:2px dashed #d1d5db;border-radius:12px;justify-content:center;align-items:center;height:260px;margin-top:20px;display:flex}.dashboard-role{color:#36f;background:#eaf1ff;border-radius:30px;margin:10px 0;padding:6px 15px;font-size:14px;font-weight:600;display:inline-block}@media (width<=1200px){.cards{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:20px}.dashboard-body{grid-template-columns:1fr}}@media (width<=600px){.cards{grid-template-columns:1fr}.dashboard-header h1{font-size:26px}.date-btn{width:100%}}.accesos-rapidos{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.proxima-cita{color:#1e40af;background:#eff6ff;border-radius:12px;align-items:center;gap:10px;margin-bottom:20px;padding:14px 18px;font-weight:500;display:flex}.actividad-reciente{margin:0;padding:0;list-style:none}.actividad-reciente li{color:#374151;border-bottom:1px solid #eee;padding:10px 0;font-size:14px}.actividad-reciente li:last-child{border-bottom:none}.dashboard-card{background:#fff;border-radius:18px;flex-direction:column;justify-content:space-between;padding:25px;transition:all .25s;display:flex;box-shadow:0 5px 15px #00000014}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #0000001f}.dashboard-card h3{color:#6b7280;margin-bottom:18px;font-size:16px;font-weight:600}.dashboard-card span{color:#36f;font-size:42px;font-weight:700;line-height:1}.dashboard-card-icono{margin-right:8px}.reservas-table{border-collapse:collapse;width:100%}.reservas-table th{color:#fff;text-align:left;background:#36f;padding:15px}.reservas-table td{color:#4b5563;border-bottom:1px solid #eee;padding:15px}.reservas-table tbody tr{transition:background .2s}.reservas-table tbody tr:hover{background:#f8fafc}.reservas-table td:last-child{font-weight:600}@media (width<=768px){.reservas-table{display:block;overflow-x:auto}}.clientes{flex-direction:column;gap:25px;display:flex}.clientes-header{justify-content:space-between;align-items:center;display:flex}.clientes-header h1{margin-bottom:6px}.clientes-header p{color:#6b7280}.btn-primary:hover{opacity:.9}.clientes-toolbar{justify-content:flex-end;display:flex}.search-input{border:1px solid #ddd;border-radius:10px;outline:none;width:320px;padding:12px}table{border-collapse:collapse;width:100%}th{color:#fff;text-align:left;background:#36f;padding:15px}td{border-bottom:1px solid #eee;padding:15px}.btn-action{color:#36f;cursor:pointer;background:#eef4ff;border:none;border-radius:8px;padding:8px 14px}@media (width<=768px){.clientes-header{flex-direction:column;align-items:flex-start;gap:12px}.clientes-header .btn-primary,.search-input{width:100%}}.tabla-container{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 5px 15px #00000014}.tabla-scroll{overflow-x:auto}table{border-collapse:collapse;table-layout:fixed;width:100%}th{color:#fff;text-align:left;vertical-align:middle;background:#36f;padding:15px}td{vertical-align:middle;border-bottom:1px solid #eee;padding:15px}tr:hover{background:#f7f8fc}.acciones{justify-content:center;gap:10px;display:flex}.btn-edit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;display:flex}.btn-delete{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;display:flex}.btn-edit:hover{background:#1d4ed8}.btn-delete:hover{background:#b91c1c}th:last-child,td:last-child{text-align:center;width:130px}.acciones{justify-content:center;align-items:center;gap:8px;display:flex}.tabla-paginacion{color:#475569;border-top:1px solid #eee;justify-content:center;align-items:center;gap:16px;padding:14px;font-size:14px;display:flex}.tabla-paginacion button{cursor:pointer;color:#1e293b;background:#f1f5f9;border:none;border-radius:8px;padding:7px 14px;font-weight:500}.tabla-paginacion button:hover:not(:disabled){background:#e2e8f0}.tabla-paginacion button:disabled{opacity:.5;cursor:not-allowed}.btn-edit:disabled,.btn-delete:disabled{opacity:.4;cursor:not-allowed}.cliente-form-container{background:#f5f7fb;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.cliente-form{background:#fff;border-radius:16px;width:100%;max-width:550px;padding:35px;box-shadow:0 10px 25px #00000014}.cliente-form h2{color:#1f2937;margin-bottom:8px;font-size:1.8rem}.cliente-form p{color:#6b7280;margin-bottom:30px}.form-group input{border:1px solid #d1d5db;border-radius:10px;padding:12px 15px;font-size:1rem;transition:all .2s}.form-group input:focus{border-color:#36f;outline:none;box-shadow:0 0 0 3px #3366ff26}@media (width<=768px){.cliente-form{padding:25px}.form-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.error-text{color:#dc2626;margin-top:6px;font-size:.85rem;font-weight:500}.form-group input.error{border-color:#dc2626}.confirm-modal-overlay{z-index:10000;background:#0f172a73;justify-content:center;align-items:center;animation:.15s confirmFadeIn;display:flex;position:fixed;inset:0}.confirm-modal{background:#fff;border-radius:14px;width:100%;max-width:380px;padding:28px;box-shadow:0 20px 45px #0003}.confirm-modal h3{color:#1e293b;margin:0 0 10px;font-size:19px}.confirm-modal-mensaje{color:#475569;margin:0 0 22px;font-size:15px;line-height:1.5}.password-temporal-box{letter-spacing:1px;color:#1e293b;text-align:center;background:#f1f5f9;border-radius:8px;margin-top:12px;padding:12px 16px;font-family:Courier New,monospace;font-size:18px;font-weight:700}.confirm-modal-buttons{justify-content:flex-end;gap:10px;display:flex}.confirm-modal-buttons .btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;padding:10px 18px;font-weight:600}.confirm-modal-buttons .btn-danger:hover{background:#b91c1c}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@media (width<=480px){.confirm-modal{padding:20px}.confirm-modal-buttons{flex-direction:column-reverse}.confirm-modal-buttons button{width:100%}}.barberos{flex-direction:column;gap:25px;display:flex}.barberos-header{justify-content:space-between;align-items:center;display:flex}.barberos-header h1{margin-bottom:6px}.barberos-header p{color:#6b7280}.barberos-toolbar{justify-content:space-between;align-items:center;display:flex}@media (width<=768px){.barberos-header{flex-direction:column;align-items:flex-start;gap:12px}.barberos-header .btn-primary,.search-input{width:100%}}.barbero-form-container{background:#f5f7fb;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.barbero-form{background:#fff;border-radius:16px;width:100%;max-width:550px;padding:35px;box-shadow:0 10px 25px #00000014}.barbero-form h2{color:#1f2937;margin-bottom:8px;font-size:1.8rem}.barbero-form p{color:#6b7280;margin-bottom:30px}@media (width<=768px){.barbero-form{padding:25px}.form-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.servicios{flex-direction:column;gap:25px;display:flex}.servicios-header{justify-content:space-between;align-items:center;display:flex}.servicios-header h1{margin-bottom:6px}.servicios-header p{color:#6b7280}.servicios-toolbar{justify-content:space-between;align-items:center;display:flex}@media (width<=768px){.servicios-header{flex-direction:column;align-items:flex-start;gap:12px}.servicios-header .btn-primary,.search-input{width:100%}}.servicio-form-container{background:#f5f7fb;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.servicio-form{background:#fff;border-radius:16px;width:100%;max-width:550px;padding:35px;box-shadow:0 10px 25px #00000014}.servicio-form h2{color:#1f2937;margin-bottom:8px;font-size:1.8rem}.servicio-form p{color:#6b7280;margin-bottom:30px}@media (width<=768px){.servicio-form{padding:25px}.form-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.horarios{flex-direction:column;gap:25px;display:flex}.horarios-header{justify-content:space-between;align-items:center;display:flex}.horarios-header h1{margin-bottom:6px}.horarios-header p{color:#6b7280}.horarios-toolbar{justify-content:space-between;align-items:center;display:flex}@media (width<=768px){.horarios-header{flex-direction:column;align-items:flex-start;gap:12px}}.horario-form-container{background:#f5f7fb;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.horario-form{background:#fff;border-radius:16px;width:100%;max-width:650px;padding:35px;box-shadow:0 10px 25px #00000014}.horario-form h2{color:#1f2937;margin-bottom:8px;font-size:1.8rem}.horario-form p{color:#6b7280;margin-bottom:20px}.error-text{color:#dc2626;margin-top:6px;font-size:.85rem;display:block}.btn-primary:disabled{opacity:.5;cursor:not-allowed}table th,table td{text-align:left;border-bottom:1px solid #eee;padding:10px}table th{color:#374151;background:#f9fafb}@media (width<=768px){.horario-form{padding:25px}.form-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.reservas-page{flex-direction:column;gap:25px;display:flex}.reservas-header{justify-content:space-between;align-items:center;display:flex}.reservas-header h1{margin-bottom:6px}.reservas-header p{color:#6b7280}.reservas-toolbar{justify-content:space-between;align-items:center;display:flex}.search-input{border:1px solid #d1d5db;border-radius:10px;outline:none;width:320px;padding:12px;font-size:15px}.search-input:focus{border-color:#36f}@media (width<=768px){.reservas-header{flex-direction:column;align-items:flex-start;gap:12px}.reservas-header .btn-primary,.search-input{width:100%}}.reserva-form-container{background:#f5f7fb;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.reserva-form{background:#fff;border-radius:16px;width:100%;max-width:550px;padding:35px;box-shadow:0 10px 25px #00000014}.reserva-form h2{color:#1f2937;margin-bottom:8px;font-size:1.8rem}.reserva-form p{color:#6b7280;margin-bottom:30px}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:10px;padding:12px 15px;font-family:inherit;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#36f;outline:none;box-shadow:0 0 0 3px #3366ff26}.form-group textarea{resize:vertical;min-height:90px}@media (width<=768px){.reserva-form{padding:25px}.form-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.agenda-page{flex-direction:column;gap:30px;display:flex}.agenda-header{justify-content:space-between;align-items:center;display:flex}.agenda-header h1{color:#1f2937;margin-bottom:8px;font-size:2rem}.agenda-header p{color:#6b7280;font-size:1rem}.agenda-container{grid-template-columns:2fr 1fr;align-items:start;gap:30px;display:grid}.agenda-list{flex-direction:column;gap:22px;display:flex}.agenda-list h2,.proximas-citas h2{color:#1f2937;margin-bottom:5px;font-size:1.35rem}.agenda-card{background:#fff;border-left:6px solid #36f;border-radius:16px;padding:22px;transition:all .25s;box-shadow:0 8px 20px #00000012}.agenda-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0000001f}.hora-badge{color:#36f;background:#eef4ff;border-radius:10px;margin-bottom:18px;padding:8px 16px;font-size:.95rem;font-weight:700;display:inline-block}.agenda-info{flex-direction:column;gap:16px;display:flex}.info-item{flex-direction:column;display:flex}.info-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:.82rem;font-weight:600}.info-value{color:#1f2937;font-size:1rem;font-weight:600}.proximas-citas{background:#fff;border-radius:16px;padding:25px;box-shadow:0 8px 20px #00000012}.proximas-citas h2{margin-bottom:20px}.proxima-cita{background:#f8fafc;border-radius:12px;align-items:center;gap:15px;margin-bottom:15px;padding:15px;transition:all .2s;display:flex}.proxima-cita:last-child{margin-bottom:0}.proxima-cita:hover{background:#eef4ff}.proxima-hora{text-align:center;color:#fff;background:#36f;border-radius:10px;min-width:75px;padding:8px 10px;font-size:.9rem;font-weight:700}.proxima-info{flex-direction:column;display:flex}.proxima-info strong{color:#1f2937;margin-bottom:4px}.proxima-info span{color:#6b7280;font-size:.9rem}@media (width<=900px){.agenda-container{grid-template-columns:1fr}}@media (width<=600px){.agenda-card{padding:18px}.proxima-cita{flex-direction:column;align-items:flex-start}.proxima-hora{min-width:auto}}.estado-pendiente{color:#92400e;background:#fef3c7}.usuarios{flex-direction:column;gap:25px;display:flex}.usuarios-header{justify-content:space-between;align-items:center;display:flex}.usuarios-header h1{margin-bottom:6px}.usuarios-header p{color:#6b7280}.usuarios-nota{color:#6b7280;font-size:14px}.btn-primary{color:#fff;cursor:pointer;background:#36f;border:none;border-radius:10px;padding:12px 20px;font-weight:600}.btn-secondary{color:#374151;cursor:pointer;background:#e5e7eb;border:none;border-radius:8px;padding:8px 14px;font-weight:600}.estado-badge{border-radius:20px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.estado-en-proceso{color:#166534;background:#dcfce7}.estado-finalizada{color:#374151;background:#e5e7eb}@media (width<=768px){.usuarios-header{flex-direction:column;align-items:flex-start;gap:12px}.usuarios-header .btn-primary{width:100%}}.usuario-form-container{background:#f5f7fb;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.usuario-form{background:#fff;border-radius:16px;width:100%;max-width:550px;padding:35px;box-shadow:0 10px 25px #00000014}.usuario-form h2{color:#1f2937;margin-bottom:8px;font-size:1.8rem}.usuario-form p{color:#6b7280;margin-bottom:30px}.form-group{flex-direction:column;margin-bottom:20px;display:flex}.form-group label{color:#374151;margin-bottom:8px;font-weight:600}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:10px;padding:12px 15px;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:#36f;outline:none;box-shadow:0 0 0 3px #3366ff26}.form-buttons{justify-content:flex-end;gap:12px;margin-top:10px;display:flex}.error-text{color:#dc2626;margin-top:6px;font-size:.85rem}.btn-primary{color:#fff;cursor:pointer;background:#36f;border:none;border-radius:10px;padding:12px 24px;font-weight:600;transition:all .2s}.btn-primary:hover{background:#2954d4}.btn-secondary{color:#374151;cursor:pointer;background:#e5e7eb;border:none;border-radius:10px;padding:12px 24px;font-weight:600;transition:all .2s}.btn-secondary:hover{background:#d1d5db}@media (width<=768px){.usuario-form{padding:25px}.form-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#36f;--sidebar:#111827;--background:#f5f7fb;--card:#fff;--success:#d9f7e8;--danger:#ffd7d7;--warning:#ffe8b6;--text:#1e293b;--gray:#64748b;--border:#e5e7eb}body{background:var(--background);color:var(--text);font-family:Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}input,select{outline:none;font-family:inherit}img{max-width:100%}
