:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-principal: #f2b6d0;--color-secundario: #a3d9ff;--color-texto: #222;--color-boton: #f2b6d0;--color-boton-hover: #f7a5c0;--color-boton-atras: #2ecc71;--color-boton-atras-hover: #27ae60;--color-boton-gris: #c6c2f2;--color-boton-gris-hover: #574be1;--radio: 8px;--fuente: "Arial", sans-serif}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#f7a5c0;border-radius:10px}::-webkit-scrollbar-thumb{background-color:#a3d9ff;border-radius:10px;border:3px solid #f7a5c0}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.app{background:linear-gradient(to bottom,#a3d9ff,#f2b6d0);padding-bottom:20px}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@media (min-width: 1000px){h2{font-size:3rem}p{font-size:1.7rem}}#root{text-align:center;width:100vw;color:#000}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.app{background:linear-gradient(to bottom,#a3d9ff,#e9d3dc);min-height:100vh;display:flex;flex-direction:column;justify-content:center;font-family:Arial,sans-serif}.header{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#000;margin-top:20px;width:98vw}.logo{width:120px;height:120px;border-radius:50%}h2{margin:5px 0;font-family:Arial,sans-serif}.header-spacing{display:none}.header nav{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;padding:10px 0}.header nav a{text-decoration:none;font-size:16px;color:#222;font-weight:800;transition:.3s}.header nav a:hover{color:#007bff}.header nav .btn-logout{background:#d9534f;color:#fff;border:none;padding:6px 12px;border-radius:8px;cursor:pointer}.header nav .btn-logout:hover{background:#b52f2b}@media (min-width: 1000px){.header{flex-direction:row;gap:20px;margin:0 auto}}.enlace-boton{text-decoration:none;display:inline-block}.botones{display:flex;flex-direction:row;justify-content:center;gap:15px;margin-top:20px}.botones button{background-color:#a5d8ff;color:green}.botones button:hover{background-color:#74c0fc}.botones-servicios{display:flex;flex-direction:row;justify-content:center;gap:15px;margin-top:20px}.botones-servicios .btn-atras{width:100%;border-radius:40px}.btn-general{background-color:green;color:#fff;font-weight:700;border:none;border-radius:25px;padding:10px 25px;font-size:1rem;cursor:pointer;width:160px;margin-top:15px;box-shadow:0 2px 4px #0003;transition:all .3s ease}.btn-general:hover{background-color:var(--color-boton-hover);transform:scale(1.05)}.btn-atras{background-color:var(--color-boton-atras);color:#fff}.btn-atras:hover{background-color:var(--color-boton-atras-hover)}.btn-recuperacion{background-color:var(--color-boton-gris);color:#d12e2e}.btn-recuperacion:hover{background-color:var(--color-boton-gris-hover);color:#fff}.btn-iniciar{background-color:#0014ff}.btn-confirmada{background:#3498db;color:#fff;margin-top:0;margin-left:10px}.btn-finalizada{background:#2ecc71;color:#fff;margin-top:0;margin-left:10px}.btn-pendiente{background:#f1c40f;color:#fff;margin-top:0;margin-left:10px}.btn-cancelada{background:#e74c3c;color:#fff;margin-top:0;margin-left:10px}.home-container{width:95%;max-width:1100px;margin:auto;padding:25px 0;text-align:center;color:--var(--color-texto)}.hero{padding:40px 20px;background:linear-gradient(to bottom right,--var(--color-secundario),#d8e9ff);border-radius:15px;margin-bottom:40px}.hero h1{font-size:2rem;margin-bottom:15px;color:--var(--color-texto)}.hero p{font-size:1.1rem;margin-bottom:25px;color:--var(--color-texto)}.hero-buttons{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.cards-servicios h2{margin-bottom:20px;color:--var(--color-texto)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:25px 0}.card{background:#fff;padding:18px;border-radius:12px;box-shadow:0 4px 8px #0000001a;transition:transform .2s}.card:hover{transform:translateY(-3px)}.acciones-grid{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:20px}.subtitulo{margin-top:40px;font-size:1.4rem;color:#333}.productos{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:15px}.producto{margin:0 auto 20px;width:90%}.producto img{width:100px;height:auto;margin-top:8px}.producto p{font-size:1rem;color:#000;margin:5px}.productos h2{color:#002b7f;font-weight:800}@media (min-width: 1000px){.productos{width:98%}.producto{width:100%}.producto{margin:0 auto;text-align:center}.producto p{font-size:1.7rem}.producto img{width:200px;height:200px}}.pagina-servicios{display:flex;flex-direction:column;align-items:center;font-family:Arial,sans-serif;padding-bottom:30px}@media (min-width: 1000px){.pagina-servicios{width:98vw}.pagina-servicios h2{color:#002b7f;font-weight:800}}.lista-servicios{display:flex;flex-direction:column;align-items:center;margin:15px;color:#000;text-align:center}.servicio{width:90%;margin-bottom:15px}.servicio p{font-size:1rem;line-height:1.4}.icono{font-size:1.2rem;margin-right:4px}.pregunta{margin-top:10px;font-weight:500;color:#000}@media (min-width: 1000px){.lista-servicios{width:95%}.servicio{width:100%;margin:0 auto;text-align:center}.servicio p{font-size:1.7rem}.icono{font-size:2.5rem;margin-right:8px}.pregunta{font-size:1.7rem}}.pagina-registro{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:Arial,sans-serif;padding:20px 0}.logo-registro{width:120px;height:120px;border-radius:50%;margin-bottom:15px}@media (min-width: 1000px){.pagina-registro{width:98vw}}.formulario-base{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px 0;max-width:400px;width:90%;margin:0 auto}.formulario-base h2{text-align:center;color:#002b7f;font-weight:800;margin-bottom:20px}@media (min-width: 1000px){.formulario-base{max-width:900px}.formulario-base h2{font-size:3rem}}.campo{display:flex;flex-direction:column;width:85%;margin:10px auto}.campo label{margin-bottom:6px;font-weight:600;color:#000}.campo input,.campo select{width:100%;padding:10px;border-radius:var(--radio);border:1px solid #aaa;font-size:1rem;outline:none;transition:.2s;background-color:#fff}.campo input:focus,.campo select:focus{border-color:var(--color-principal);box-shadow:0 0 5px #f2b6d080}.campo select{width:100%}.contenedor-password{position:relative;width:100%}.btn-ojito{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;font-size:1.1rem;color:#444;width:5px;padding:0}.btn-ojito:hover{color:#000}.btn-ojito:focus{outline:none}@media (min-width: 1000px){.campo{width:300px}}.pagina-sesion-usuario{width:98vw;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:Arial,sans-serif}.botones-login{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:15px}.botones-login>.btn-iniciar{background-color:#0014ff;color:#fff;font-weight:700;border:none;border-radius:40px;padding:10px 20px;cursor:pointer}.btn-iniciar:hover{background-color:#0010b8}.btn-atras{background-color:#2ecc71;color:#fff;border:none;border-radius:8px;padding:10px 20px;width:100%;cursor:pointer}.btn-atras:hover{background-color:#27ae60}.enlace-recuperar{margin-top:10px}.texto-recuperar{color:#0028ff;text-decoration:none;font-size:.95rem}.texto-recuperar:hover{text-decoration:underline}.footer{color:#000;display:flex;flex-direction:column;align-items:center;font-family:Arial,sans-serif;width:99vw}.formulario-cambiar-contraseña{display:flex;flex-direction:column;justify-content:center;align-items:center;padding-bottom:30px;width:98vw;padding-left:30px;padding-right:30px;margin-top:20px;gap:10px}label{color:#000;font-weight:500;margin-bottom:4px}input{padding:8px;border-radius:5px;border:1px solid #aaa;font-size:1rem}button{background-color:#007bff;color:#fff;border:none;border-radius:40px;padding:10px 20px;cursor:pointer;font-weight:700}.perfil-container{display:flex;flex-direction:column;align-items:center;background:linear-gradient(to bottom right,#a3d9ff,#f2b6d0);padding:25px 20px;border-radius:20px;width:95%;max-width:380px;margin:40px auto;box-shadow:0 4px 12px #00000026;font-family:Arial,sans-serif}@media (min-width: 768px){.perfil-container{max-width:500px;padding:40px}}.perfil-titulo{color:#222;margin-bottom:15px;font-size:1.5rem;font-weight:700;text-align:center}.perfil-imagen-contenedor{width:140px;height:140px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 0 8px #0003;margin-bottom:15px}.perfil-imagen{width:100%;height:100%;object-fit:cover}.perfil-botones{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.input-file{display:none}.input-file-label{background-color:#007bff;color:#fff;padding:10px 25px;border-radius:30px;cursor:pointer;font-weight:500;transition:background .3s ease}.input-file-label:hover{background-color:#0056b3}.perfil-info{display:flex;flex-direction:column;width:100%;gap:10px}.perfil-info label{align-self:start;font-weight:600;font-size:.9rem;margin-top:5px}.perfil-info input{padding:10px;border-radius:8px;border:1px solid #aaa;font-size:1rem;outline:none;width:100%}.perfil-info input:focus{border-color:#f2b6d0;box-shadow:0 0 5px #f2b6d080}.perfil-acciones{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:25px;width:100%}@media (min-width: 600px){.perfil-acciones{flex-direction:row;justify-content:center}}.reserva-contenedor{background:linear-gradient(to bottom right,#a3d9ff,#f2b6d0);padding:25px;border-radius:16px;width:95%;max-width:420px;margin:30px auto;box-shadow:0 4px 8px #00000026;display:flex;flex-direction:column;align-items:center}.reserva-titulo{color:#222;font-size:1.4rem;margin-bottom:20px;text-align:center}.formulario-reserva,.calendario-disponibilidad{display:flex;flex-direction:column;gap:12px;width:100%;margin-bottom:20px}label{font-weight:600;color:#000}select,input[type=date]{padding:10px;border-radius:8px;border:1px solid #aaa;font-size:1rem;outline:none}select:focus,input:focus{border-color:#f2b6d0;box-shadow:0 0 5px #f2b6d080}.btn-confirmar{background-color:#f2b6d0;color:red;border:none;border-radius:25px;padding:12px 25px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-confirmar:hover{background-color:#f7a5c0;transform:scale(1.05)}.resumen-reserva{text-align:center;padding:20px;background-color:#fff;border-radius:15px;box-shadow:0 4px 8px #0000001a}.resumen-reserva h3{color:#27ae60;margin-bottom:10px}.misreservas-contenedor{background:linear-gradient(to bottom right,#a3d9ff,#f2b6d0);padding:20px;border-radius:16px;width:95%;max-width:450px;margin:30px auto;box-shadow:0 4px 10px #00000026}.misreservas-titulo{text-align:center;color:#222;font-size:1.5rem;font-weight:700;margin-bottom:20px}.lista-reservas{display:flex;flex-direction:column;gap:15px}.card-reserva{background-color:#fff;border-radius:12px;padding:15px;box-shadow:0 2px 5px #0000001a;display:flex;flex-direction:column;gap:8px}.card-reserva h4{color:#c00;font-size:1.1rem;margin-bottom:4px}.estado-reserva{font-weight:700}.mensaje-vacio{text-align:center;color:#333;font-size:1rem;margin-top:20px}@media (min-width: 768px){.misreservas-contenedor{max-width:600px}}.confirmacion-contenedor{background:linear-gradient(to bottom right,#a3d9ff,#f2b6d0);padding:25px;border-radius:20px;width:95%;max-width:420px;margin:40px auto;box-shadow:0 4px 12px #00000026;text-align:center;display:flex;flex-direction:column;align-items:center}.confirmacion-titulo{color:#222;font-size:1.6rem;font-weight:700;margin-bottom:20px}.card-confirmacion{background-color:#fff;border-radius:15px;padding:20px;box-shadow:0 4px 10px #0000001a;text-align:center;width:100%}.icono-exito{font-size:2.5rem;color:#2ecc71;margin-bottom:10px}.card-confirmacion h3{color:#2ecc71;margin-bottom:10px}.card-confirmacion p{margin:4px 0;font-size:1rem}.mensaje-final{margin-top:15px;color:#444;font-style:italic}.confirmacion-botones{display:flex;flex-direction:column;gap:12px;margin-top:20px;width:100%}.btn-volver,.btn-misreservas{padding:12px 20px;border-radius:30px;border:none;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-volver{background-color:#007bff;color:#fff}.btn-volver:hover{background-color:#0056b3}.btn-misreservas{background-color:#f2b6d0;color:#900}.btn-misreservas:hover{background-color:#f7a5c0}@media (min-width: 768px){.confirmacion-contenedor{max-width:500px;padding:40px}.confirmacion-botones{flex-direction:row;justify-content:center}}.inventario-contenedor{background:linear-gradient(to bottom right,#a3d9ff,#f2b6d0);padding:25px;border-radius:16px;width:95%;max-width:650px;margin:40px auto;box-shadow:0 4px 10px #00000026}.inventario-titulo{text-align:center;color:#222;font-size:1.5rem;font-weight:700;margin-bottom:20px}.formulario-equipo{display:flex;flex-direction:column;gap:10px;margin-bottom:25px}input,select{padding:10px;border-radius:8px;border:1px solid #aaa;outline:none;font-size:1rem}input:focus,select:focus{border-color:#f2b6d0;box-shadow:0 0 5px #f2b6d080}.btn-agregar{background-color:#007bff;color:#fff;border:none;border-radius:25px;padding:10px 20px;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-agregar:hover{background-color:#0056b3}.tabla-inventario table{width:100%;border-collapse:collapse;text-align:left;background-color:#fff;border-radius:10px;overflow:hidden}.estado{padding:4px 8px;border-radius:8px;font-weight:700;font-size:.9rem}.estado.disponible{background-color:#d4edda;color:#155724}.estado.en-mantenimiento{background-color:#fff3cd;color:#856404}.estado.dañado{background-color:#f8d7da;color:#721c24}.btn-eliminar{background:transparent;border:none;font-size:1.3rem;cursor:pointer}.mensaje-vacio{text-align:center;color:#333;margin-top:15px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;display:flex;justify-content:center;align-items:center}.modal-eliminar{background:#fff;padding:25px;border-radius:15px;width:90%;max-width:320px;text-align:center}.modal-botones{display:flex;justify-content:space-around;margin-top:15px}.btn-confirmar{background-color:#e74c3c;color:#fff;border:none;border-radius:20px;padding:8px 16px;cursor:pointer}.btn-cancelar{background-color:#ccc;border:none;border-radius:20px;padding:8px 16px;cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-editar{background:linear-gradient(to bottom right,#a3d9ff,#f2b6d0);padding:25px 30px;border-radius:16px;width:90%;max-width:400px;box-shadow:0 6px 20px #00000040;text-align:center}.modal-editar h4{margin-bottom:20px;font-size:1.4rem;font-weight:700;color:#222}.formulario-modal{display:flex;flex-direction:column;gap:15px}.formulario-modal input,.formulario-modal select{padding:10px;border-radius:8px;border:1px solid #aaa;font-size:1rem;outline:none;transition:all .3s ease}.formulario-modal input:focus,.formulario-modal select:focus{border-color:#f2b6d0;box-shadow:0 0 6px #f2b6d080}.modal-botones{display:flex;justify-content:space-between;margin-top:20px;gap:10px}.btn-confirmar{background-color:#28a745;color:#fff;border:none;border-radius:25px;padding:10px 20px;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-confirmar:hover{background-color:#218838}.btn-cancelar{background-color:#dc3545;color:#fff;border:none;border-radius:25px;padding:10px 20px;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-cancelar:hover{background-color:#c82333}@media (min-width: 768px){.inventario-contenedor{max-width:750px;padding:40px}.modal-editar{padding:30px 40px}}.gestionusuarios-contenedor{background:linear-gradient(to bottom right,#a3d9ff,#f2b6d0);padding:25px;border-radius:16px;width:95%;max-width:700px;margin:40px auto;box-shadow:0 4px 10px #00000026}.gestionusuarios-titulo{text-align:center;color:#222;font-size:1.5rem;font-weight:700;margin-bottom:20px}.tabla-usuarios table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:10px;overflow:hidden}th,td{padding:10px;border-bottom:1px solid #ddd}th{background-color:#f2b6d0;color:#000}.estado.activo{color:#28a745;font-weight:700}.estado.inactivo{color:#e74c3c;font-weight:700}.btn-editar,.btn-eliminar{background:transparent;border:none;font-size:1.2rem;cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;justify-content:center;align-items:center}.modal-editarrol,.modal-desactivar{background:#fff;padding:25px;border-radius:15px;width:90%;max-width:320px;text-align:center}.modal-editarrol select{width:100%;padding:8px;margin:10px 0;border-radius:8px;border:1px solid #aaa}.modal-botones{display:flex;justify-content:space-around;margin-top:10px}.btn-confirmar{background-color:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:20px;cursor:pointer}.btn-cancelar{background-color:#ccc;border:none;padding:8px 16px;border-radius:20px;cursor:pointer}@media (min-width: 768px){.gestionusuarios-contenedor{max-width:850px;padding:40px}}.contacto-contenedor{background:linear-gradient(to bottom right,#a3d9ff,#f2b6d0);padding:25px;border-radius:20px;width:95%;max-width:600px;margin:40px auto;box-shadow:0 4px 10px #00000026;text-align:center}.contacto-titulo{color:#222;font-size:1.6rem;font-weight:700;margin-bottom:10px}.contacto-descripcion{color:#333;margin-bottom:20px;font-size:1rem}.formulario-contacto{display:flex;flex-direction:column;gap:12px;background-color:#fff;padding:20px;border-radius:15px;box-shadow:0 4px 8px #0000001a}.formulario-contacto input,.formulario-contacto textarea{padding:10px;border-radius:8px;border:1px solid #aaa;outline:none;font-size:1rem}.formulario-contacto input:focus,.formulario-contacto textarea:focus{border-color:#f2b6d0;box-shadow:0 0 4px #f2b6d080}.btn-enviar{background-color:#007bff;color:#fff;border:none;border-radius:25px;padding:10px 20px;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-enviar:hover{background-color:#0056b3}.contacto-ubicacion{margin-top:30px}.contacto-ubicacion h3{color:#111;margin-bottom:10px}.mapa-ubicacion iframe{width:100%;height:250px;border:none;border-radius:10px}@media (min-width: 768px){.contacto-contenedor{max-width:750px;padding:40px}.mapa-ubicacion iframe{height:300px}}.dashboard-contenedor{background:linear-gradient(to bottom right,#a3d9ff,#f2b6d0);padding:25px;border-radius:20px;width:95%;max-width:1000px;margin:40px auto;box-shadow:0 4px 10px #00000026;text-align:center}.dashboard-titulo{font-size:1.8rem;font-weight:700;color:#222;margin-bottom:10px}.dashboard-descripcion{color:#333;margin-bottom:25px;font-size:1rem}.metricas-grid{display:grid;grid-template-columns:1fr;gap:15px;margin-bottom:30px}.tarjeta-metrica{display:flex;align-items:center;background-color:#fff;border-radius:15px;padding:15px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.tarjeta-metrica:hover{transform:translateY(-4px);box-shadow:0 4px 10px #0003}.tarjeta-metrica-icono{font-size:2rem;margin-right:15px}.tarjeta-metrica-info{text-align:left}.tarjeta-metrica-titulo{font-size:.95rem;color:#444}.tarjeta-metrica-valor{font-size:1.5rem;font-weight:700;color:#111}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:20px}.tarjeta-accion{background:#fff;padding:20px;border-radius:15px;box-shadow:0 3px 6px #0000001a;cursor:pointer;transition:all .3s ease;text-align:center}.tarjeta-accion:hover{transform:translateY(-4px);box-shadow:0 5px 12px #0003}.tarjeta-icono{font-size:2.2rem;margin-bottom:10px}.tarjeta-accion h3{font-size:1.2rem;margin-bottom:8px;color:#111}.tarjeta-accion p{font-size:.95rem;color:#555}@media (min-width: 600px){.metricas-grid,.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.metricas-grid{grid-template-columns:repeat(4,1fr)}.dashboard-grid{grid-template-columns:repeat(3,1fr)}}
