@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.app-container{display:flex;min-height:100vh;flex-direction:row;background-color:#f8fafc}.navbar{width:80px;height:100vh;background:#fff;color:#1f2937;display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);position:fixed;left:0;top:0;z-index:1000;box-shadow:4px 0 20px #0000000d;border-right:1px solid #e5e7eb;overflow:hidden}.navbar:hover{width:260px}.navbar-header{height:80px;min-height:80px;display:flex;align-items:center;justify-content:center;padding:0;border-bottom:1px solid #f1f5f9;transition:all .3s ease;overflow:hidden;width:100%}.navbar:hover .navbar-header{justify-content:flex-start;padding:0 1.5rem}.navbar-brand{width:100%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.navbar:hover .navbar-brand{justify-content:flex-start}.logo-container{display:flex;align-items:center;justify-content:center;width:100%;gap:0;transition:all .3s ease}.navbar:hover .logo-container{justify-content:flex-start;gap:1rem}.logo-image-container{width:42px;height:42px;min-width:42px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:10px;padding:4px;margin:0 auto;transition:all .3s ease}.navbar:not(:hover) .logo-image-container{transform:translate(5px)}.navbar:hover .logo-image-container{transform:translate(0)}.logo-icon{width:100%;height:100%;object-fit:contain}.logo-text{width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:all .3s ease;margin:0}.navbar:hover .logo-text{width:auto;opacity:1}.logo-text h2{font-size:1.1rem;font-weight:800;color:#0f172a;margin:0;line-height:1.1}.navbar-subtitle{font-size:.75rem;color:#64748b;font-weight:500}.user-section{padding:1.5rem 0;display:flex;align-items:center;justify-content:center;gap:0;border-bottom:1px solid #f1f5f9;transition:all .3s ease;cursor:pointer;width:100%}.navbar:hover .user-section{padding:1.5rem;justify-content:flex-start;gap:1rem;background-color:#f8fafc}.user-avatar{width:42px;height:42px;min-width:42px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem;overflow:hidden;border:2px solid #fff;box-shadow:0 2px 5px #0000001a;margin:0 auto}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-info{width:0;opacity:0;overflow:hidden;transition:all .2s ease;display:flex;flex-direction:column;white-space:nowrap;margin:0}.navbar:hover .user-info{width:auto;opacity:1}.user-name{font-size:.9rem;font-weight:600;color:#334155}.user-role{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.navbar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:1rem 0;display:flex;flex-direction:column;gap:.5rem;align-items:center;width:100%}.navbar:hover .navbar-nav{align-items:stretch;padding:1rem .8rem}.navbar-nav::-webkit-scrollbar{width:4px}.navbar-nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.navbar-nav::-webkit-scrollbar-track{background:transparent}.nav-item{display:flex;align-items:center;justify-content:center;padding:0;width:48px;height:48px;border-radius:12px;background:transparent;border:none;color:#64748b;cursor:pointer;transition:all .2s ease;position:relative;gap:0;margin:0 auto}.navbar:hover .nav-item{justify-content:flex-start;width:100%;padding:.8rem 1rem;gap:1rem;margin:0}.nav-item:hover{background:#f1f5f9;color:#1e293b}.nav-item-active{background:#eff6ff!important;color:#3b82f6!important;font-weight:600}.nav-icon{font-size:1.3rem;display:flex;align-items:center;justify-content:center;min-width:24px}.nav-text{width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:.95rem;transition:all .2s}.navbar:hover .nav-text{width:auto;opacity:1}.navbar-footer{padding:1rem 0;border-top:1px solid #f1f5f9;background:#fff;margin-top:auto;display:flex;justify-content:center;width:100%}.navbar:hover .navbar-footer{padding:1rem;justify-content:flex-start}.logout-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-radius:12px;background:transparent;border:1px solid transparent;color:#ef4444;cursor:pointer;transition:all .2s;gap:0;margin:0 auto}.navbar:hover .logout-btn{width:100%;justify-content:flex-start;padding:.8rem 1rem;gap:1rem;background:#fef2f2;border-color:#fee2e2;margin:0}.logout-icon{font-size:1.3rem;display:flex;align-items:center;justify-content:center;min-width:24px}.logout-text{width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:.95rem;font-weight:600;transition:all .2s}.navbar:hover .logout-text{width:auto;opacity:1}.navbar:not(:hover) .nav-item:hover:after,.navbar:not(:hover) .logout-btn:hover:after,.navbar:not(:hover) .user-section:hover:after{content:attr(title);position:absolute;left:70px;background:#1e293b;color:#fff;padding:.5rem .8rem;border-radius:6px;font-size:.8rem;white-space:nowrap;z-index:2000;box-shadow:0 4px 6px -1px #0000001a;pointer-events:none;opacity:0;animation:fadeIn .2s forwards .1s}@keyframes fadeIn{to{opacity:1}}.main-content{flex:1;margin-left:80px;transition:margin-left .3s cubic-bezier(.4,0,.2,1);width:calc(100% - 80px);overflow-x:hidden}@media (max-width: 768px){.navbar{width:100%;height:60px;flex-direction:row;align-items:center;padding:0 1rem;bottom:0;top:auto;border-top:1px solid #e5e7eb;border-right:none;justify-content:space-between}.navbar:hover{width:100%;height:60px}.navbar-header,.user-section,.navbar-footer{display:none}.navbar-nav{flex-direction:row;padding:0;width:100%;justify-content:space-around;overflow:visible;gap:0}.nav-item{width:auto;height:auto;padding:.5rem}.nav-icon{font-size:1.5rem}.nav-text{display:none}.main-content{margin-left:0;margin-bottom:60px;width:100%}}.modal-overlay{position:fixed;inset:0;background-color:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.modal-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px -10px #0000004d;display:flex;flex-direction:column;max-height:90vh;width:100%;position:relative;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-size-sm{max-width:400px}.modal-size-md{max-width:600px}.modal-size-lg{max-width:800px!important}.modal-size-xl{max-width:1100px}.modal-size-xxl{max-width:95vw!important;width:1600px!important}.modal-container .modal-header{padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#667eead9,#764ba2cc);color:#fff!important}.modal-title-wrapper{display:flex;align-items:center;gap:12px}.modal-title-text{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.01em}.modal-icon-header{display:flex;align-items:center;justify-content:center;font-size:1.4rem}.modal-header .modal-close-btn{color:#fff!important;background-color:#fff3}.modal-header .modal-close-btn:hover{background-color:#ffffff59}.modal-close-btn{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:all .2s;width:36px;height:36px}.modal-close-btn:hover{transform:rotate(90deg)}.modal-body{padding:2rem;overflow-y:auto;color:#4b5563;line-height:1.6;font-size:1rem}.modal-message-text{margin:0}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-footer{padding:1.25rem 1.5rem;border-top:1px solid #f1f5f9;background-color:#f8fafc;display:flex;justify-content:flex-end;gap:12px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.btn{padding:.7rem 1.4rem;border-radius:8px;font-weight:600;cursor:pointer;border:none;font-size:.95rem;transition:all .2s;min-width:140px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#667eead9,#764ba2cc);color:#fff}.btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-primary:disabled{background:#a5b4fc;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.btn-secondary:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.profile-container{max-width:800px;margin:2rem auto;padding:0 1rem;width:100%;flex:1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.profile-title{text-align:center;margin-bottom:2rem;color:#111827;font-size:1.875rem;font-weight:700}.profile-card{background:#fff;border-radius:16px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;overflow:visible;border:1px solid #f3f4f6}.profile-header{background:linear-gradient(135deg,#3b82f6,#2563eb);padding:3rem 1.5rem;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;border-top-left-radius:16px;border-top-right-radius:16px}.profile-avatar-wrapper{position:relative;width:120px;height:120px;margin-bottom:1rem}.profile-avatar-large{width:100%;height:100%;background:#fff;color:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;border:4px solid rgba(255,255,255,.3);overflow:hidden;box-shadow:0 4px 6px #0000001a;position:relative}.avatar-overlay{position:absolute;bottom:0;right:0;background-color:#fff;color:#3b82f6;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 4px #0003;transition:all .2s ease;border:2px solid #e5e7eb;z-index:10}.avatar-overlay:hover{background-color:#f3f4f6;transform:scale(1.1)}.profile-image-real{width:100%;height:100%;object-fit:cover}.profile-header h2{margin:.5rem 0;font-size:1.5rem;font-weight:600}.badge-role{background:#fff3;padding:.375rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);margin-bottom:1rem}.btn-editar-perfil{background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.5rem 1.2rem;border-radius:20px;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .2s;margin-top:.5rem}.btn-editar-perfil:hover{background:#ffffff4d}.profile-details{padding:2rem}.detail-item{display:flex;align-items:flex-start;padding:1.25rem 0;border-bottom:1px solid #f3f4f6;transition:background-color .2s}.detail-item:last-child{border-bottom:none}.detail-icon{margin-right:1.25rem;color:#9ca3af;width:24px;height:24px;margin-top:2px;flex-shrink:0}.detail-content label{display:block;font-size:.875rem;color:#6b7280;margin-bottom:.25rem;font-weight:500;text-transform:uppercase}.detail-content p{font-size:1.125rem;color:#1f2937;font-weight:500;margin:0}.form-editar-perfil{display:flex;flex-direction:column;gap:1rem}.form-label{font-size:.9rem;color:#374151;margin-bottom:.25rem;font-weight:500}.form-input{padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem}.form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.form-help{font-size:.8rem;color:#6b7280;margin-top:.25rem}.error-message{color:#dc2626;background-color:#fee2e2;padding:.75rem;border-radius:.375rem;font-size:.9rem}.spinner-foto{font-size:.8rem;color:#3b82f6}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#fff;padding:20px}.floating-circles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.circle{position:absolute;border-radius:50%;background:radial-gradient(circle,#667eea66,#667eea40,#667eea1a);border:2px solid rgba(102,126,234,.5);animation:floatCircle 25s infinite ease-in-out;box-shadow:0 10px 30px #667eea40,inset 0 0 30px #fff3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.circle:nth-child(1){width:200px;height:200px;top:10%;left:5%;animation-delay:0s;animation-duration:30s}.circle:nth-child(2){width:140px;height:140px;top:70%;left:80%;animation-delay:5s;animation-duration:25s}.circle:nth-child(3){width:250px;height:250px;top:40%;left:85%;animation-delay:10s;animation-duration:35s}.circle:nth-child(4){width:110px;height:110px;top:80%;left:15%;animation-delay:15s;animation-duration:20s}.circle:nth-child(5){width:170px;height:170px;top:20%;left:60%;animation-delay:7s;animation-duration:28s}.circle:nth-child(6){width:220px;height:220px;top:60%;left:40%;animation-delay:12s;animation-duration:32s}@keyframes floatCircle{0%{transform:translate(0) rotate(0) scale(1);opacity:.8}25%{transform:translate(120px,80px) rotate(90deg) scale(1.1);opacity:1}50%{transform:translate(60px,150px) rotate(180deg) scale(.9);opacity:.9}75%{transform:translate(-80px,100px) rotate(270deg) scale(1.05);opacity:.95}to{transform:translate(0) rotate(360deg) scale(1);opacity:.8}}.circle:nth-child(1),.circle:nth-child(3),.circle:nth-child(6){animation:floatCircle 25s infinite ease-in-out,circlePulse 8s infinite ease-in-out}@keyframes circlePulse{0%,to{box-shadow:0 10px 30px #667eea40,inset 0 0 30px #fff3}50%{box-shadow:0 15px 40px #667eea66,inset 0 0 40px #ffffff4d}}.login-layout{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:1000px;min-height:500px;background:#fff;border-radius:20px;box-shadow:0 8px 30px #0000001f,0 0 0 1px #0000000d;overflow:hidden;position:relative;z-index:2}.logo-section{background:linear-gradient(135deg,#667eead9,#764ba2cc);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;position:relative;padding:2rem;border-right:1px solid rgba(255,255,255,.2)}.logo-section:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23ffffff' fill-opacity='0.1' fill-rule='evenodd'/%3E%3C/svg%3E");opacity:.3}.logo-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;z-index:2;width:100%}.logo-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border:1.5px solid rgba(255,255,255,.4);border-radius:50%;animation:pulse 4s ease-out infinite}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:1}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.logo-image{width:280px;height:auto;position:relative;z-index:4;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2)) drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:all .3s ease}.logo-image:hover{filter:drop-shadow(0 6px 12px rgba(0,0,0,.25)) drop-shadow(0 3px 6px rgba(0,0,0,.15))}.form-section{display:flex;align-items:center;justify-content:center;padding:3rem 2rem;background:#fff;position:relative}.form-section:before{content:"";position:absolute;top:20px;bottom:20px;left:0;width:1px;background:linear-gradient(to bottom,transparent,#e2e8f0,transparent)}.login-card{width:100%;max-width:320px}.welcome-section{margin-bottom:.5rem;text-align:center}.welcome-section h2{font-size:1.5rem;color:#2d3748;margin:0;font-weight:600}.login-form{width:100%}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;color:#4a5568;font-weight:500;font-size:.9rem}.form-input{width:100%;padding:.9rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:all .2s ease;background:#fafafa}.form-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-input::placeholder{color:#a0aec0}.divider{margin:2rem 0}.divider-line{display:block;height:1px;background:#e2e8f0}.login-btn{width:100%;padding:.9rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem}.login-btn:hover:not(:disabled){background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.register-section{font-size:.9rem;color:#718096;text-align:center}.register-link{color:#667eea;text-decoration:none;font-weight:500;transition:color .2s ease}.register-link:hover{color:#5a67d8;text-decoration:underline}.error-message{background:#fff5f5;color:#c53030;padding:.75rem;border-radius:6px;margin-bottom:1.5rem;border:1px solid #fed7d7;font-size:.85rem;text-align:center}@media (max-width: 768px){.login-layout{grid-template-columns:1fr;min-height:auto;max-width:400px}.logo-section{padding:2rem;min-height:200px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.logo-image{width:200px}.form-section{padding:2rem 1.5rem}.form-section:before{display:none}.circle{width:120px!important;height:120px!important}.circle:nth-child(3){width:150px!important;height:150px!important}}@media (max-width: 480px){.login-wrapper{padding:10px}.login-layout{border-radius:15px}.logo-section{padding:1.5rem}.logo-image{width:160px}.form-section{padding:1.5rem}.welcome-section h2{font-size:1.3rem}.circle{width:80px!important;height:80px!important}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;margin-right:8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}.login-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}:root{--color-purple-1:#674EC5;--color-purple-2:#684CBB;--color-blue-deep:#304C96;--color-blue-vibrant:#5159BB;--color-blue-medium:#357DD0;--color-blue-bright:#2791DF;--color-gradiente-start:var(--color-purple-1);--color-gradiente-end:var(--color-blue-bright);--color-acento-principal:var(--color-blue-vibrant);--color-acento-secundario:var(--color-blue-deep);--color-fondo:#f9fafb;--color-superficie:#ffffff;--color-texto-principal:#1f2937;--color-texto-secundario:#4b5563;--color-borde:#e5e7eb}body{background-color:var(--color-fondo);color:var(--color-texto-principal);font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.inicio-container{display:flex;min-height:100vh;background-color:var(--color-fondo);position:relative;overflow:hidden}.inicio-content{flex:1;min-height:100vh;background:transparent;padding-left:80px;padding-right:80px;position:relative;z-index:1}.hero-section{padding:4rem 3rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:3rem;background:linear-gradient(135deg,var(--color-gradiente-start),var(--color-gradiente-end));color:#fff;border-radius:0 0 32px 32px;margin:0 2rem;box-shadow:0 20px 40px -10px #674ec54d;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);animation:shine 8s infinite linear}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.hero-text-content{flex:1;position:relative;z-index:2}.hero-badge{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.hero-icon-wrapper{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3)}.hero-badge-text{background:#ffffffe6;color:var(--color-gradiente-start);padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.hero-greeting{font-size:2.8rem;font-weight:700;margin:0 0 .5rem;color:#fffffff2;animation:fadeInUp .8s ease-out}.hero-username{font-size:3.2rem;font-weight:800;margin:0 0 .5rem;color:#fff;background:linear-gradient(135deg,#fff,#e0f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp .8s ease-out .2s both}.hero-role{font-size:1.4rem;margin:0;color:#ffffffe6;font-weight:500;animation:fadeInUp .8s ease-out .4s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-stats-container{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;position:relative;z-index:2}.hero-stat-card{background:#ffffff26;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:1.8rem;display:flex;align-items:center;gap:1.2rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);animation:fadeInUp .8s ease-out both;position:relative;overflow:hidden}.hero-stat-card: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 .6s ease}.hero-stat-card:hover:before{left:100%}.hero-stat-card:hover{transform:translateY(-8px) scale(1.02);background:#ffffff40;box-shadow:0 15px 35px #0003}.stat-icon-hero{font-size:2rem;background:#fff3;width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.hero-stat-card:hover .stat-icon-hero{transform:scale(1.1) rotate(5deg)}.stat-content{flex:1}.stat-number{font-size:1.8rem;font-weight:800;color:#fff;line-height:1;margin-bottom:.2rem}.stat-label{font-size:.9rem;color:#fffc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.3rem}.stat-trend{font-size:.8rem;color:#86efac;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;padding:3rem;max-width:1800px;margin:0 auto}.dashboard-card{background:var(--color-superficie);border-radius:20px;padding:2.5rem;border:1px solid var(--color-borde);box-shadow:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000a;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;animation:fadeInUp .6s ease-out both}.dashboard-card:nth-child(1){animation-delay:.1s}.dashboard-card:nth-child(2){animation-delay:.2s}.dashboard-card:nth-child(3){animation-delay:.3s}.dashboard-card:nth-child(4){animation-delay:.4s}.dashboard-card:nth-child(5){animation-delay:.5s}.dashboard-card:nth-child(6){animation-delay:.6s}.dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,var(--color-gradiente-start),var(--color-gradiente-end));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.dashboard-card:hover{transform:translateY(-8px);box-shadow:0 25px 50px -12px #00000026}.dashboard-card:hover:before{transform:scaleX(1)}.card-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-borde)}.icon-wrapper{color:#fff;width:55px;height:55px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;box-shadow:0 8px 25px -5px #0000004d;transition:all .3s ease}.dashboard-card:hover .icon-wrapper{transform:scale(1.1) rotate(5deg)}.card-header h3{color:var(--color-texto-principal);margin:0;font-size:1.5rem;font-weight:600}.profile-info{display:flex;flex-direction:column;gap:1.2rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--color-borde);transition:all .3s ease}.info-item:hover{background:#f8fafc;border-radius:8px;padding:.8rem}.info-item:last-child{border-bottom:none}.info-label{color:var(--color-texto-secundario);font-weight:500;font-size:.95rem}.info-value{color:var(--color-texto-principal);font-weight:600}.role-tag{background:var(--color-acento-secundario);color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.metricas-grid{display:flex;flex-direction:column;gap:1.5rem}.metrica-item{padding:1.2rem;background:#f8fafc;border-radius:12px;border:1px solid var(--color-borde)}.metrica-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.metrica-valor{font-size:1.8rem;font-weight:800;color:var(--color-texto-principal)}.metrica-label{font-size:.9rem;color:var(--color-texto-secundario);font-weight:600}.metrica-descripcion{font-size:.85rem;color:var(--color-texto-secundario);margin-bottom:.8rem}.progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-gradiente-start),var(--color-gradiente-end));transition:width 1s ease-in-out}.recomendacion-card .card-body{position:relative}.recomendacion-card .card-body:before{content:'"';font-size:8rem;font-weight:800;color:#eef2ff;position:absolute;top:-2rem;left:-1rem;line-height:1;z-index:0}.recomendacion-texto{color:var(--color-texto-secundario);font-size:1.1rem;line-height:1.7;font-weight:500;position:relative;z-index:1;font-style:italic}.actions-grid{display:grid;grid-template-columns:1fr;gap:1rem}.action-button{display:flex;align-items:center;gap:1rem;background:var(--color-fondo);color:var(--color-texto-principal);border:1px solid var(--color-borde);padding:1.2rem 1.5rem;border-radius:12px;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .3s ease;text-align:left;position:relative;overflow:hidden}.action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--accent-color,var(--color-acento-principal)),transparent);transition:left .6s ease;opacity:.1}.action-button:hover:before{left:100%}.action-button:hover{background:var(--accent-color,var(--color-acento-principal));color:#fff;transform:translateY(-3px) scale(1.02);box-shadow:0 10px 25px -5px var(--accent-color,var(--color-acento-principal));border-color:transparent}.action-icon{font-size:1.2rem;transition:transform .3s ease}.action-button:hover .action-icon{transform:scale(1.2)}.actividades-list{display:flex;flex-direction:column;gap:1rem}.actividad-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8fafc;border-radius:10px;border:1px solid var(--color-borde);transition:all .3s ease}.actividad-item:hover{background:#f1f5f9;transform:translate(5px)}.actividad-content{flex:1}.actividad-accion{font-weight:600;color:var(--color-texto-principal);margin-bottom:.2rem}.actividad-usuario{font-size:.85rem;color:var(--color-texto-secundario)}.actividad-hora{font-size:.8rem;color:var(--color-texto-secundario)}.capabilities-description{color:var(--color-texto-secundario);margin-bottom:1.5rem;line-height:1.6;font-size:.95rem}.capabilities-list{list-style:none;padding:0;margin:0}.capability-item{display:flex;align-items:center;gap:1rem;padding:.8rem 0;color:var(--color-texto-secundario);border-bottom:1px solid var(--color-borde);font-size:.9rem;transition:all .3s ease}.capability-item:hover{color:var(--color-texto-principal);padding-left:.5rem}.capability-item:last-child{border-bottom:none}.check-icon{color:#10b981;font-weight:700;font-size:1.1rem}@media (max-width:1200px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:768px){.inicio-content{margin-left:0}.hero-section{margin:0;border-radius:0;flex-direction:column;padding:2rem 1.5rem;gap:2rem}.hero-stats-container{grid-template-columns:1fr;width:100%}.hero-greeting{font-size:2.2rem}.hero-username{font-size:2.5rem}.dashboard-grid{padding:1.5rem;gap:1.5rem;grid-template-columns:1fr}.actions-grid{grid-template-columns:1fr}}.not-found-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:#f3f4f6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden}.not-found-card{background:#ffffffd9;padding:3rem 2rem;border-radius:24px;box-shadow:0 20px 40px -10px #0000001a;text-align:center;max-width:480px;width:90%;position:relative;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}.animation-container{position:relative;height:120px;width:120px;margin:0 auto 2rem;display:flex;justify-content:center;align-items:center}.door-frame{font-size:6rem;color:#3b82f6;position:relative;z-index:2}.floating-search{position:absolute;bottom:0;right:-10px;font-size:3rem;color:#f59e0b;background:#fff;border-radius:50%;padding:10px;box-shadow:0 10px 15px -3px #0000001a;animation:float 3s ease-in-out infinite}.shadow{position:absolute;bottom:10px;left:50%;transform:translate(-50%);width:80px;height:10px;background:#0000001a;border-radius:50%;filter:blur(4px);animation:shadow-pulse 3s ease-in-out infinite}.error-title{font-size:3rem;font-weight:900;color:#1e293b;margin:0;letter-spacing:-1px;line-height:1}.error-content h3{color:#334155;font-size:1.25rem;margin-top:1rem;font-weight:600}.error-content p{color:#64748b;margin-top:.5rem;margin-bottom:2.5rem;line-height:1.6}.btn-rescue{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:1rem 2rem;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.8rem;box-shadow:0 10px 20px -5px #2563eb4d}.btn-rescue:hover{transform:translateY(-3px);box-shadow:0 15px 25px -5px #2563eb66}.btn-rescue svg{transition:transform .2s}.btn-rescue:hover svg{transform:translate(4px)}.bg-circle{position:absolute;border-radius:50%;z-index:1}.circle-1{width:300px;height:300px;background:linear-gradient(135deg,#e0f2fe,#bfdbfe);top:-50px;right:-50px;opacity:.6}.circle-2{width:200px;height:200px;background:linear-gradient(135deg,#fef3c7,#fde68a);bottom:-20px;left:-20px;opacity:.6}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes shadow-pulse{0%,to{transform:translate(-50%) scale(1);opacity:.3}50%{transform:translate(-50%) scale(.8);opacity:.1}}.unauthorized-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden}.unauthorized-card{background:#ffffffe6;padding:3rem 2rem;border-radius:24px;box-shadow:0 20px 50px -12px #00000026;text-align:center;max-width:500px;width:90%;position:relative;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6)}.bouncer-animation{position:relative;height:120px;width:120px;margin:0 auto 2rem;display:flex;justify-content:center;align-items:flex-end}.bouncer-icon{font-size:7rem;background:linear-gradient(135deg,#1e293b 20%,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 10px 10px rgba(59,130,246,.3));z-index:2}.stop-icon{position:absolute;top:20px;right:-15px;font-size:3.5rem;color:#ef4444;background:#fff;border-radius:50%;padding:8px;box-shadow:0 4px 15px #ef44444d;z-index:3;animation:denyAccess 1.5s infinite ease-in-out;display:flex;align-items:center;justify-content:center;border:3px solid #fff}.disco-lights{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:160px;height:160px;background:radial-gradient(circle,rgba(59,130,246,.25) 0%,rgba(139,92,246,.1) 60%,transparent 100%);border-radius:50%;z-index:1;animation:glowPulse 3s infinite alternate}.error-title{font-size:2rem;font-weight:800;color:#1e293b;margin:0;letter-spacing:-.5px}.error-subtitle{color:#ef4444;font-weight:700;font-size:1.1rem;margin-top:.5rem;text-transform:uppercase;letter-spacing:1px}.error-content{margin:2rem 0;color:#64748b;line-height:1.6}.role-info{margin-top:1rem;font-size:.9rem}.role-badge{background:#eff6ff;color:#2563eb;padding:4px 12px;border-radius:20px;font-weight:700;border:1px solid #dbeafe}.error-actions{display:flex;gap:1rem;justify-content:center}.btn-back,.btn-home{display:flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;font-size:.95rem;transition:all .2s ease;border:none}.btn-back{background:#fff;color:#64748b;border:1px solid #e2e8f0}.btn-back:hover{background:#f8fafc;color:#0f172a;transform:translateY(-2px)}.btn-home{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 12px #3b82f64d}.btn-home:hover{transform:translateY(-2px);box-shadow:0 8px 16px #3b82f666}.bg-shape{position:absolute;border-radius:50%;filter:blur(60px);z-index:1}.shape-1{width:300px;height:300px;background:#bfdbfe;top:-100px;left:-50px;opacity:.4}.shape-2{width:250px;height:250px;background:#ddd6fe;bottom:-50px;right:-50px;opacity:.4}@keyframes denyAccess{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-5px) rotate(-15deg)}75%{transform:translate(5px) rotate(15deg)}}@keyframes glowPulse{0%{opacity:.6;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-card{background-color:#fff;padding:20px;border-radius:12px;width:350px;max-width:90%;animation:fadeIn .3s ease}.modal-card h3{margin-top:0;text-align:center}.modal-card select{width:100%;height:120px;margin:15px 0;border-radius:6px;border:1px solid #ccc;padding:5px}.modal-buttons{display:flex;justify-content:space-between}.modal-buttons button{padding:6px 12px;border-radius:6px;border:none;cursor:pointer;display:flex;align-items:center;gap:5px}.modal-buttons button:first-child{background-color:#dc3545;color:#fff}.modal-buttons button:first-child:hover{background-color:#b02a37}.modal-buttons button:last-child{background-color:#198754;color:#fff}.modal-buttons button:last-child:hover{background-color:#146c43}.title-icon{position:absolute;top:40px;right:50px;font-size:28px;width:70px;color:#8b5cf6}.modal-user-overlay{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;padding:40px 0;z-index:9999}.modal-user-container{background:#fff;width:480px;max-width:92%;border-radius:16px;padding:22px 26px;margin-top:40px;animation:slideUp .25s ease-out;box-shadow:0 8px 30px #00000040;position:relative}.modal-user-header{background:#3b82f6;padding:14px 18px;border-radius:12px;margin:-22px -26px 15px;color:#fff;display:flex;justify-content:space-between;align-items:center}.modal-user-header h2{font-size:1.2rem;display:flex;align-items:center;gap:8px}.modal-user-close{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer}.modal-user-form label{font-weight:600;margin-top:10px}.modal-user-form input,.modal-user-form select{width:100%;padding:10px;border-radius:8px;margin-top:4px;border:1px solid #ccc}.roles-list-azul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding-left:0}.roles-list-azul li{background:#3b82f6;color:#fff;border-radius:8px;padding:5px 10px;display:flex;gap:8px;align-items:center}.btn-eliminar-rol-azul{background:#ffffff40;border:none;padding:3px 6px;border-radius:6px;cursor:pointer;color:#fff}.modal-user-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn-cancelar{background:#e5e7eb;padding:10px 16px;border-radius:8px;border:none;font-weight:600}.btn-guardar-modificar{background:#3b82f6;color:#fff;padding:10px 20px;border-radius:8px;border:none;font-weight:600}.modal-user-feedback{position:absolute;bottom:-55px;left:50%;transform:translate(-50%);color:#fff;padding:12px 20px;border-radius:10px;margin-top:10px}.modal-user-feedback.success{background:#16a34a}.modal-user-feedback.error{background:#dc2626}.alerta-normal{width:100%;padding:12px 16px;border-radius:8px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;font-weight:600}.alerta-normal button{background:none;border:none;font-size:18px;cursor:pointer;color:inherit;opacity:.6}.alerta-normal button:hover{opacity:1}.modal-eliminar-usuario-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000008c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-eliminar-usuario-container{background:#fff;width:420px;border-radius:16px;box-shadow:0 10px 25px #00000040;padding:24px;position:relative;animation:fadeIn .25s ease-in-out}.modal-eliminar-usuario-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:20px;color:#666;cursor:pointer;transition:color .2s}.modal-eliminar-usuario-close:hover{color:#e53935}.modal-eliminar-usuario-header{text-align:center;margin-top:10px}.modal-eliminar-usuario-header h2{font-size:1.4rem;margin:5px 0;color:#333}.modal-eliminar-usuario-header p{color:#666;font-size:.95rem}.modal-eliminar-usuario-info{background:#f8f9fa;padding:12px 16px;border-radius:8px;margin:18px 0}.info-eliminar-usuario-item{margin-bottom:6px;font-size:.95rem}.info-eliminar-usuario-item strong{color:#333}.modal-eliminar-usuario-warning{display:flex;align-items:center;background:#fff3cd;color:#856404;padding:10px 14px;border-radius:8px;font-size:.9rem;margin-bottom:18px}.modal-eliminar-usuario-warning .icon{margin-right:8px;font-size:18px}.modal-eliminar-usuario-actions{display:flex;justify-content:space-between;gap:10px}.btn-eliminar-usuario-cancelar,.btn-eliminar-usuario-confirmar{flex:1;padding:10px 0;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:.95rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.btn-eliminar-usuario-cancelar{background-color:#e0e0e0;color:#333}.btn-eliminar-usuario-cancelar:hover{background-color:#d5d5d5}.btn-eliminar-usuario-confirmar{background-color:#e53935;color:#fff}.btn-eliminar-usuario-confirmar:hover{background-color:#c62828}.usuarios-container{padding:20px;background-color:#fdfdfd;border-radius:12px;box-shadow:0 4px 20px #00000014;font-family:Segoe UI,sans-serif}.usuarios-container h1{font-size:1.6rem;color:#1f2937;margin-bottom:20px;font-weight:600}.usuarios-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:20px;gap:10px}.usuarios-btn-crear{background-color:#734bd1;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s ease}.usuarios-btn-crear:hover{background-color:#0b5ed7}.usuarios-search-bar{display:flex;align-items:center;border:1px solid #ced4da;border-radius:6px;padding:5px 10px;background-color:#fff;gap:6px}.usuarios-search-bar input{border:none;outline:none;font-size:.9rem;width:200px}.usuarios-tabla{width:100%;border-collapse:collapse;font-size:.9rem}.usuarios-tabla th,.usuarios-tabla td{text-align:left;padding:10px 12px;border-bottom:1px solid #e9ecef}.usuarios-tabla thead th{background-color:#f8f9fa;font-weight:600;color:#495057;text-transform:uppercase;font-size:.85rem}.usuarios-tabla tbody tr:hover{background-color:#f1f3f5;transform:translateY(-1px);transition:all .2s ease}.usuarios-btn-accion{border:none;padding:5px 8px;border-radius:4px;cursor:pointer;font-size:.85rem;margin-right:5px;transition:all .2s ease}.usuarios-btn-modificar{background-color:#fff455;color:#fff}.usuarios-btn-modificar:hover{background-color:#dfd333}.usuarios-btn-eliminar{background-color:#dc3545;color:#fff}.usuarios-btn-eliminar:hover{background-color:#bb2d3b}.usuarios-btn-roles{background-color:#734bd1;color:#fff}.usuarios-btn-roles:hover{background-color:#5736a3}.usuarios-rol-tag{display:inline-block;padding:2px 6px;background-color:#2b28cc;border-radius:4px;margin-right:3px;font-size:.8rem;color:#fdfdfd}.usuarios-rol-tag-ninguno{color:#adb5bd}.usuarios-no-results{text-align:center;padding:12px;color:#6c757d}@media (max-width: 768px){.usuarios-header{flex-direction:column;align-items:stretch}.usuarios-search-bar input{width:100%}}.usuarios-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:999}.usuarios-modal{background:#fff;border-radius:16px;padding:30px;width:400px;max-width:90%;box-shadow:0 5px 25px #0000004d;animation:fadeIn .3s ease-in-out}.usuarios-modal h2{margin-top:0;color:#333;text-align:center}.usuarios-detalle p{margin:8px 0;color:#444}.usuarios-btn-cerrar-modal{display:block;margin:20px auto 0;background-color:#3498db;color:#fff;border:none;padding:10px 18px;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.usuarios-btn-cerrar-modal:hover{background-color:#217dbb}.input-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236a5acd' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}.crear-cliente-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:10px}.modal-icon{font-size:1.3rem}.btn-close{background:#fff3;border:none;color:#fff;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-close:hover{background:red;transform:rotate(90deg)}.modal-form{padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.form-group label{font-weight:600;color:#374151;margin-bottom:8px;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .3s ease;background-color:#fff}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.error-message{color:#dc2626;font-size:.8rem;margin-top:6px;display:flex;align-items:center;gap:5px;font-weight:500}.error-message svg{font-size:.7rem}.btn{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;font-size:.95rem}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb;transform:translateY(-2px);box-shadow:0 6px 12px #3b82f64d}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4b5563}@media (max-width: 768px){.crear-cliente-modal{width:95%;margin:10px}.form-grid{grid-template-columns:1fr;gap:15px}.modal-header,.modal-form{padding:20px}.modal-actions{flex-direction:column-reverse}.btn{width:100%;justify-content:center}}@media (max-width: 480px){.modal-overlay{padding:10px}.modal-header h2{font-size:1.3rem}.form-group input,.form-group select,.form-group textarea{padding:10px}}.crear-cliente-modal::-webkit-scrollbar{width:6px}.crear-cliente-modal::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.crear-cliente-modal::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.crear-cliente-modal::-webkit-scrollbar-thumb:hover{background:#94a3b8}.input-hint{font-size:.75rem;color:#6b7280;margin-top:4px;font-style:italic}.modal-content.modificar-cliente-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:800px;max-height:90vh;overflow-y:auto}.modal-form{padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:500;margin-bottom:8px;color:#333;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:12px;border:1px solid #ddd;border-radius:6px;font-size:.95rem;transition:all .2s ease;background-color:#fff;color:#333}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.form-group input:disabled,.form-group select:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545;box-shadow:0 0 0 2px #dc35451a}.error-message{color:#dc3545;font-size:.8rem;margin-top:6px;display:flex;align-items:center;gap:4px}.input-hint{color:#6c757d;font-size:.75rem;margin-top:4px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background:#6c757d;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3;border-color:#0056b3}@media (max-width: 768px){.modal-content.modificar-cliente-modal{width:95%;margin:20px}.form-grid{grid-template-columns:1fr;gap:12px}.modal-header{padding:16px 20px}.modal-header h2{font-size:1.3rem}.modal-form{padding:20px}.modal-actions{flex-direction:column-reverse}.btn{min-width:auto;width:100%}}@media (max-width: 480px){.modal-header{padding:12px 16px}.modal-form{padding:16px}.form-grid{gap:10px}}.modal-content.detalles-cliente-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:900px;max-height:90vh;overflow-y:auto}.modal-icon{font-size:1.3rem;color:#666}.modal-body{padding:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:#007bff}.loading-spinner{width:40px;height:40px;border:3px solid #f8f9fa;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center;color:#dc3545}.error-icon{font-size:3rem;margin-bottom:16px}.error-container h3{margin:0 0 8px;color:#dc3545}.error-container p{margin:0 0 20px;color:#666}.detalles-content{padding:24px}.cliente-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e0e0e0}.cliente-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}.cliente-info-basica h3{margin:0 0 8px;font-size:1.5rem;color:#333}.cliente-meta{display:flex;gap:12px;flex-wrap:wrap}.estado-badge,.tipo-badge{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.estado-badge.activo{background:#d4edda;color:#155724}.estado-badge.inactivo{background:#f8d7da;color:#721c24}.tipo-badge{background:#e2e3e5;color:#383d41}.detalles-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.detalles-columna h4{margin:0 0 16px;font-size:1.1rem;color:#333;padding-bottom:8px;border-bottom:2px solid #007bff}.info-item{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start}.info-item.full-width{grid-column:1 / -1}.info-icon{color:#007bff;font-size:1.1rem;margin-top:2px;min-width:20px}.info-content{flex:1}.info-content label{display:block;font-weight:600;font-size:.85rem;color:#666;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.info-content p{margin:0;color:#333;font-size:.95rem;line-height:1.4;word-break:break-word}.btn{padding:10px 20px;border:1px solid;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px}.btn-secondary{background:#fff;color:#6c757d;border-color:#6c757d}.btn-secondary:hover{background:#6c757d;color:#fff}.btn-primary{background:#007bff;color:#fff;border-color:#007bff}.btn-primary:hover{background:#0056b3;border-color:#0056b3}@media (max-width: 768px){.modal-content.detalles-cliente-modal{width:95%;margin:20px}.detalles-grid{grid-template-columns:1fr;gap:20px}.cliente-header{flex-direction:column;text-align:center}.cliente-meta{justify-content:center}.modal-header{padding:16px 20px}.modal-header h2{font-size:1.3rem}.detalles-content{padding:20px}.modal-actions{padding:16px 20px}}@media (max-width: 480px){.modal-header{padding:12px 16px}.detalles-content{padding:16px}.info-item{flex-direction:column;gap:8px}.info-icon{align-self:flex-start}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content.eliminar-cliente-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0;background:#fff;border-radius:8px 8px 0 0}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333;display:flex;align-items:center;gap:10px}.modal-icon{font-size:1.3rem;color:#dc3545}.btn-close{background:none;border:none;color:#666;font-size:1.2rem;cursor:pointer;padding:8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-close:hover{background:#f5f5f5;color:#333}.modal-body{padding:24px}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;margin-bottom:16px;color:#721c24}.error-icon{font-size:1.1rem;flex-shrink:0}.error-message p{margin:0;font-size:.9rem}.confirmacion-content{text-align:center}.warning-icon{width:80px;height:80px;margin:0 auto 20px;background:#fff3cd;border:3px solid #ffc107;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#856404;font-size:2rem}.confirmacion-texto h3{margin:0 0 12px;color:#333;font-size:1.3rem;font-weight:600}.confirmacion-texto p{margin:0 0 24px;color:#666;line-height:1.5;font-size:.95rem}.cliente-info{display:flex;align-items:center;gap:16px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;text-align:left}.cliente-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#6c757d,#495057);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;flex-shrink:0}.cliente-details{flex:1}.cliente-details h4{margin:0 0 8px;color:#333;font-size:1.1rem;font-weight:600}.cliente-meta{display:flex;flex-direction:column;gap:4px}.cliente-documento,.cliente-email,.cliente-telefono{font-size:.85rem;color:#666}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e0e0e0}.btn{padding:12px 24px;border:1px solid;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;min-width:140px;justify-content:center}.btn-cancelar{background:#fff;color:#6c757d;border-color:#6c757d}.btn-cancelar:hover:not(:disabled){background:#6c757d;color:#fff}.btn-eliminar{background:#dc3545;color:#fff;border-color:#dc3545}.btn-eliminar:hover:not(:disabled){background:#c82333;border-color:#bd2130}@media (max-width: 768px){.modal-content.eliminar-cliente-modal{width:95%;margin:20px}.modal-header{padding:16px 20px}.modal-header h2{font-size:1.3rem}.modal-body{padding:20px}.modal-actions{flex-direction:column-reverse;padding:16px 20px}.btn{min-width:auto;width:100%}.cliente-info{flex-direction:column;text-align:center}.cliente-meta{align-items:center}}@media (max-width: 480px){.modal-header{padding:12px 16px}.modal-body{padding:16px}.warning-icon{width:60px;height:60px;font-size:1.5rem}.confirmacion-texto h3{font-size:1.1rem}}.lista-clientes-container{padding:80px;background-color:#f8fafc;border-radius:12px;box-shadow:0 4px 20px #00000014;transition:all .3s ease}.lista-clientes-container h1{color:#1f2937;margin-bottom:25px;font-size:1.8rem;font-weight:700;border-bottom:1px solid #e5e7eb;padding-bottom:15px}.clientes-header{margin-bottom:25px}.clientes-crear,.clientes-busqueda,.info-clientes{margin-bottom:20px}.clientes-header h1{color:#1f2937;margin-bottom:8px;font-size:1.8rem;font-weight:700;display:flex;align-items:center;gap:10px}.clientes-header p{color:#6b7280;margin:0;font-size:1rem}.clientes-crear .btn-primary{background-color:#2563eb;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.clientes-busqueda .search-bar{max-width:400px;width:100%}@media (max-width: 768px){.clientes-crear .btn-primary{width:100%;justify-content:center}.clientes-busqueda .search-bar{max-width:100%}}.titulo-icono{color:#3b82f6}.btn-primary{background-color:#2563eb;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.search-bar{display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:8px;padding:0 12px;width:100%;max-width:400px;background-color:#fff;box-shadow:0 2px 6px #0000000d}.tabla-clientes{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:.95rem}.tabla-clientes th,.tabla-clientes td{padding:12px 15px;text-align:left}.tabla-clientes thead th{background-color:#0656f5;color:#fff;font-weight:600;text-transform:uppercase;font-size:.8rem;border-radius:1px}.tabla-clientes tbody tr{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.tabla-clientes tbody tr:hover{background-color:#eff6ff;transform:translateY(-2px)}.tipo-persona-tag{padding:4px 8px;border-radius:8px;font-size:.75rem;font-weight:600;display:inline-block;text-transform:uppercase;letter-spacing:.5px;background-color:#f3f4f6;color:#374151;border:1px solid #e5e7eb}@media (max-width: 992px){.acciones-header{flex-direction:column;align-items:stretch;gap:12px}.btn-primary,.search-bar{width:100%}.tabla-clientes th,.tabla-clientes td{padding:10px;font-size:.85rem}}@media (max-width: 576px){.lista-clientes-container{padding:15px}.tabla-clientes thead{display:none}.tabla-clientes tbody tr{display:flex;flex-direction:column;padding:12px 15px;margin-bottom:12px;box-shadow:0 2px 8px #00000014}.tabla-clientes tbody td{display:flex;justify-content:space-between;padding:8px 0;font-size:.85rem;border-bottom:1px solid #f0f2f5}.tabla-clientes tbody td:before{content:attr(data-label);font-weight:600;color:#374151}.btn-accion{font-size:.85rem;padding:5px 8px;margin-left:0}}@media (max-width: 400px){.btn-primary{padding:8px 10px;font-size:.85rem}.tabla-clientes tbody td{flex-direction:column;gap:4px}}.lista-clientes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.nombre-cliente{color:#1f2937;font-weight:600}.email-cliente{color:#3b82f6;font-weight:500}.telefono-cliente,.documento-cliente,.rfc-cliente{color:#6b7280}.representante-cliente{font-size:.8rem;color:#6b7280;margin-top:4px}.cargando{text-align:center;padding:40px;color:#6b7280;font-size:1.1rem}.loading-spinner{width:20px;height:20px;border:2px solid #f3f4f6;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-right:10px}.info-clientes{margin-bottom:20px}.contador-clientes{display:inline-flex;align-items:center;gap:8px;background:#e0f2fe;padding:8px 16px;border-radius:20px;font-size:.9rem}.contador-clientes .numero{background:#0ea5e9;color:#fff;padding:4px 10px;border-radius:12px;font-weight:600;font-size:.8rem}.contador-clientes .texto{color:#0369a1;font-weight:500}.contador-total{color:#6b7280;font-size:.9rem;margin-top:8px}.btn-secondary{background-color:#6b7280;color:#fff;margin-top:10px}.btn-secondary:hover{background-color:#4b5563}.titulo-icono{color:#3b82f6;margin-right:10px}.search-icon{color:#9ca3af;margin-right:8px}.btn-icon{font-size:.9rem}.error-icon{font-size:3rem;margin-bottom:1rem;display:block;color:#dc2626}.no-data-icon{font-size:2rem;margin-bottom:1rem;display:block;color:#6b7280}.loading-spinner{animation:spin 1s linear infinite;margin-right:10px;color:#3b82f6}.accion-icon{font-size:1rem}@media (max-width: 576px){.accion-icon{font-size:.85rem}.error-icon{font-size:2rem}.no-data-icon{font-size:1.5rem}}.pisos-wrapper{margin-top:15px;font-family:Poppins,sans-serif}.pisos-header{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);padding:14px 18px;color:#fff;border-radius:12px;margin-bottom:18px;box-shadow:0 4px 12px #0000001f}.pisos-header h2{margin:0;font-size:1.2rem;font-weight:600}.pisos-btn-add{background:#fff;color:#3b82f6;border:none;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:.2s}.pisos-btn-add:hover{background:#e0f2ff}.pisos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.pisos-card{padding:18px;background:#fff;border-radius:14px;box-shadow:0 6px 18px #00000014;transition:transform .2s,box-shadow .2s}.pisos-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #00000026}.pisos-icon{font-size:30px;background:#e0f2ff;color:#3b82f6;width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;cursor:pointer;transition:background .2s}.pisos-icon:hover{background:#bae6fd}.pisos-info h3{margin:0 0 6px;font-size:1.05rem;font-weight:600}.pisos-info p{font-size:14px;margin:2px 0;color:#444}.pisos-descripcion{font-size:13px;color:#666}.pisos-activo{color:green;font-weight:600}.pisos-inactivo{color:red;font-weight:600}.pisos-actions{display:flex;justify-content:space-between;margin-top:12px}.pisos-btn-editar,.pisos-btn-eliminar{border:none;padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:.2s}.pisos-btn-editar{background:#eff6ff;color:#3b82f6}.pisos-btn-editar:hover{background:#dbeafe}.pisos-btn-eliminar{background:#ffe8e8;color:#d00000}.pisos-btn-eliminar:hover{background:#fcc}.modal-piso-overlay{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:50px 0;overflow-y:auto;z-index:9999}.modal-piso-container{background:#fff;width:480px;max-width:95%;max-height:90vh;border-radius:18px;padding:24px;margin-top:40px;box-shadow:0 10px 30px #00000040;position:relative;overflow-y:auto;animation:modal-slide-up .3s ease-out}.modal-piso-header{background:linear-gradient(135deg,#3b82f6,#60a5fa);padding:12px 16px;border-radius:12px;margin:-24px -24px 16px;color:#fff;display:flex;justify-content:space-between;align-items:center}.modal-piso-header h2{font-size:1.25rem}.modal-piso-btn-cerrar{background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;transition:color .2s}.modal-piso-btn-cerrar:hover{color:#d1d5db}.modal-piso-form label{font-weight:600;margin-top:12px;display:flex;flex-direction:column}.modal-piso-form input,.modal-piso-form select{width:100%;padding:10px;margin-top:6px;border-radius:10px;border:1px solid #ccc;font-size:.95rem;transition:border .2s,box-shadow .2s}.modal-piso-form input:focus,.modal-piso-form select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 6px #3b82f666}.modal-piso-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.modal-piso-btn-cancelar{background:#f3f4f6;padding:10px 18px;border-radius:10px;border:none;font-weight:600;cursor:pointer;transition:background .2s}.modal-piso-btn-cancelar:hover{background:#e5e7eb}.modal-piso-btn-guardar{background:#3b82f6;color:#fff;padding:10px 22px;border-radius:10px;border:none;font-weight:600;cursor:pointer;transition:background .2s}.modal-piso-btn-guardar:hover{background:#2563eb}.modal-confirm-delete-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:15000;animation:fadeIn .3s ease}.modal-confirm-delete-container{background:#fff;border-radius:16px;padding:30px 25px;width:90%;max-width:400px;text-align:center;box-shadow:0 12px 28px #00000040;animation:scaleIn .3s ease}.modal-confirm-delete-icon{font-size:50px;color:#ef4444;margin-bottom:15px}.modal-confirm-delete-container h3{margin:0 0 10px;font-size:1.5rem;color:#111}.modal-confirm-delete-container p{font-size:1rem;color:#555;margin-bottom:25px}.modal-confirm-delete-buttons{display:flex;justify-content:center;gap:15px}.modal-confirm-delete-btn{padding:10px 18px;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:.3s}.modal-confirm-delete-btn.confirm{background:#ef4444;color:#fff}.modal-confirm-delete-btn.confirm:hover{background:#dc2626}.modal-confirm-delete-btn.cancel{background:#f3f4f6;color:#111}.modal-confirm-delete-btn.cancel:hover{background:#e5e7eb}.modal-lista-habitaciones-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:flex-start;padding:50px 0;overflow-y:auto;z-index:10000}.modal-habitacion-area-overlay,.modal-confirm-dialog-area-overlay,.modal-galeria-habitacion-area-overlay{z-index:11000}.modal-lista-habitaciones-area{margin-top:15px;font-family:Poppins,sans-serif;width:95%;max-width:1200px;margin-left:auto;margin-right:auto}.modal-lista-habitaciones-area-header{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);padding:14px 18px;color:#fff;border-radius:12px;margin-bottom:18px;box-shadow:0 4px 12px #0000001f}.modal-lista-habitaciones-area-header h2{margin:0;font-size:1.25rem;font-weight:600}.modal-lista-habitaciones-area-btn-nuevo{background:#fff;color:#3b82f6;border:none;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:.2s}.modal-lista-habitaciones-area-btn-nuevo:hover{background:#e0f2ff}.modal-lista-habitaciones-area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.modal-lista-habitaciones-area-card{padding:18px;background:#fff;border-radius:14px;box-shadow:0 6px 18px #00000014;transition:transform .2s,box-shadow .2s}.modal-lista-habitaciones-area-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #00000026}.modal-lista-habitaciones-area-card h3{margin:0 0 6px;font-size:1.05rem;font-weight:600}.modal-lista-habitaciones-area-card p{font-size:14px;margin:2px 0;color:#444}.modal-lista-habitaciones-area-card-actions{display:flex;justify-content:space-between;margin-top:12px;flex-wrap:wrap;gap:6px}.modal-lista-habitaciones-area-btn-galeria,.modal-lista-habitaciones-area-btn-editar,.modal-lista-habitaciones-area-btn-eliminar{border:none;padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:.2s}.modal-lista-habitaciones-area-btn-galeria{background:#eff6ff;color:#3b82f6}.modal-lista-habitaciones-area-btn-galeria:hover{background:#dbeafe}.modal-lista-habitaciones-area-btn-editar{background:#f0fdf4;color:#16a34a}.modal-lista-habitaciones-area-btn-editar:hover{background:#dcfce7}.modal-lista-habitaciones-area-btn-eliminar{background:#ffe8e8;color:#d00000}.modal-lista-habitaciones-area-btn-eliminar:hover{background:#fcc}.modal-lista-habitaciones-area-no-data,.modal-lista-habitaciones-area-loading,.modal-lista-habitaciones-area-error{text-align:center;color:#666;font-style:italic;margin:20px 0}.modal-galeria-habitacion-area-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000bf;display:flex;justify-content:center;align-items:flex-start;padding:60px 20px;overflow-y:auto;z-index:1000}.modal-galeria-habitacion-area-content{background-color:#fff;border-radius:16px;width:90%;max-width:900px;padding:30px 25px;position:relative;display:flex;flex-direction:column;gap:20px;box-shadow:0 12px 28px #00000040}.modal-galeria-habitacion-area-header{display:flex;justify-content:space-between;align-items:center}.modal-galeria-habitacion-area-header h3{margin:0;font-size:1.6rem;font-weight:600;color:#333}.modal-galeria-habitacion-area-btn-cerrar{background:#f3f4f6;border:none;font-size:1.5rem;cursor:pointer;color:#111;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.2s}.modal-galeria-habitacion-area-btn-cerrar:hover{background:#e5e7eb;color:#000}.modal-galeria-habitacion-area-lightbox{position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:15px;border-radius:12px;background:#f9fafb;padding:15px}.modal-galeria-habitacion-area-img{max-width:100%;max-height:450px;border-radius:10px;object-fit:contain;box-shadow:0 4px 14px #00000026}.modal-galeria-habitacion-area-arrow{position:absolute;top:50%;transform:translateY(-50%);background-color:#ffffffd9;border:none;border-radius:50%;width:45px;height:45px;font-size:1.4rem;cursor:pointer;display:flex;justify-content:center;align-items:center;color:#333;transition:.2s}.modal-galeria-habitacion-area-arrow:hover{background-color:#fff}.modal-galeria-habitacion-area-arrow.left{left:-55px}.modal-galeria-habitacion-area-arrow.right{right:-55px}.modal-galeria-habitacion-area-thumbs{display:flex;gap:10px;overflow-x:auto;padding-bottom:5px}.modal-galeria-habitacion-area-thumb-wrapper{position:relative}.modal-galeria-habitacion-area-thumb{width:90px;height:70px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:transform .2s,border .2s}.modal-galeria-habitacion-area-thumb:hover{transform:scale(1.05)}.modal-galeria-habitacion-area-thumb.active{border:2px solid #3b82f6}.modal-galeria-habitacion-area-thumb-btn-delete{position:absolute;top:-6px;right:-6px;background-color:#ef4444;border:none;border-radius:50%;color:#fff;width:22px;height:22px;font-size:.8rem;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:.2s}.modal-galeria-habitacion-area-thumb-btn-delete:hover{background-color:#dc2626}.modal-galeria-habitacion-area-upload{display:flex;justify-content:center;margin-top:15px}.modal-galeria-habitacion-area-upload input[type=file]{cursor:pointer;padding:12px 25px;border-radius:12px;border:2px solid #3b82f6;background-color:#d1d9e4;color:#1e3a8a;font-weight:600;font-size:.95rem;transition:.3s}.modal-galeria-habitacion-area-upload input[type=file]:hover{background-color:#aab8ca;border-color:#2563eb;transform:scale(1.05)}.modal-galeria-habitacion-area-no-data{text-align:center;color:#555;font-style:italic;padding:20px 0;font-size:1rem}.modal-confirm-dialog-area-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:12000;padding:20px}.modal-confirm-dialog-area-content{background-color:#fff;border-radius:16px;padding:30px 25px;width:90%;max-width:400px;text-align:center;box-shadow:0 12px 28px #00000040;display:flex;flex-direction:column;gap:20px;animation:modalFadeIn .25s ease-out}.modal-confirm-dialog-area-content p{margin:0;font-size:1.1rem;color:#1f2937;font-weight:500}.modal-confirm-dialog-area-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.modal-confirm-dialog-area-btn-confirm,.modal-confirm-dialog-area-btn-cancel{padding:10px 20px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:.3s;border:none}.modal-confirm-dialog-area-btn-confirm{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff}.modal-confirm-dialog-area-btn-confirm:hover{background:linear-gradient(135deg,#2563eb,#3b82f6);transform:scale(1.05)}.modal-confirm-dialog-area-btn-cancel{background-color:#f3f4f6;color:#374151}.modal-confirm-dialog-area-btn-cancel:hover{background-color:#e5e7eb;transform:scale(1.05)}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-habitacion-area-overlay{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:50px 0;overflow-y:auto;z-index:9999}.modal-habitacion-area-content{background:#fff;width:480px;max-width:95%;max-height:90vh;border-radius:18px;padding:24px;margin-top:40px;box-shadow:0 10px 30px #00000040;overflow-y:auto;position:relative;animation:modal-slide-up .3s ease-out}.modal-habitacion-area-header{background:linear-gradient(135deg,#3b82f6,#60a5fa);padding:12px 16px;border-radius:12px;margin:-24px -24px 16px;color:#fff;display:flex;justify-content:space-between;align-items:center}.modal-habitacion-area-header h2{font-size:1.25rem}.modal-habitacion-area-btn-cerrar{background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;transition:color .2s}.modal-habitacion-area-btn-cerrar:hover{color:#d1d5db}.modal-habitacion-area-form label{font-weight:600;margin-top:12px;display:flex;flex-direction:column}.modal-habitacion-area-form input,.modal-habitacion-area-form select,.modal-habitacion-area-form textarea{width:100%;padding:10px;margin-top:6px;border-radius:10px;border:1px solid #ccc;font-size:.95rem;transition:border .2s,box-shadow .2s}.modal-habitacion-area-form input:focus,.modal-habitacion-area-form select:focus,.modal-habitacion-area-form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 6px #3b82f666}.modal-habitacion-area-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.btn-guardar{background:#3b82f6;color:#fff;padding:10px 22px;border-radius:10px;border:none;font-weight:600;cursor:pointer;transition:background .2s}.btn-guardar:hover{background:#2563eb}.btn-cancelar{background:#f3f4f6;padding:10px 18px;border-radius:10px;border:none;font-weight:600;cursor:pointer;transition:background .2s}.btn-cancelar:hover{background:#e5e7eb}@keyframes modal-slide-up{0%{transform:translateY(20px);opacity:.8}to{transform:translateY(0);opacity:1}}.modal-confirm-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:20000;animation:fadeIn .3s ease}.modal-confirm-container{background:#fff;border-radius:16px;padding:30px 25px;width:90%;max-width:400px;text-align:center;box-shadow:0 12px 28px #00000040;animation:scaleIn .3s ease}.modal-confirm-icon{font-size:50px;color:#ef4444;margin-bottom:15px}.modal-confirm-message{font-size:1.1rem;color:#111;margin-bottom:25px}.modal-confirm-buttons{display:flex;justify-content:center;gap:15px}.modal-confirm-btn{padding:10px 20px;border-radius:8px;font-weight:600;border:none;cursor:pointer;transition:.3s}.modal-confirm-btn.confirm{background:#ef4444;color:#fff}.modal-confirm-btn.confirm:hover{background:#dc2626}.modal-confirm-btn.cancel{background:#f3f4f6;color:#111}.modal-confirm-btn.cancel:hover{background:#e5e7eb}@keyframes scaleIn{0%{transform:scale(.8)}to{transform:scale(1)}}.alert-window-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.alert-window{background:#fff;padding:22px;border-radius:15px;width:330px;text-align:center;box-shadow:0 4px 15px #00000047;animation:showAlert .3s ease-out}.alert-success{border-left:6px solid #28a745}.alert-error{border-left:6px solid #d9534f}.alert-window p{font-size:17px;margin-bottom:20px}.alert-window button{background:#08f;color:#fff;border:none;padding:8px 18px;border-radius:10px;cursor:pointer}.alert-window button:hover{background:#006fd1}@keyframes showAlert{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.modal-galeria-hotel-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-galeria-hotel{background-color:#fff;border-radius:12px;padding:20px;width:90%;max-width:900px;max-height:90%;overflow-y:auto;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;gap:20px}.modal-galeria-hotel-title{text-align:center;font-size:1.8rem;font-weight:700}.modal-galeria-hotel-section{display:flex;flex-direction:column;gap:10px}.modal-galeria-hotel-buttons{display:flex;gap:10px;flex-wrap:wrap}.modal-galeria-hotel-btn-blue,.modal-galeria-hotel-btn-red{cursor:pointer;padding:8px 16px;border-radius:8px;font-weight:500;border:none;color:#fff;transition:background .3s}.modal-galeria-hotel-btn-blue{background-color:#007bff}.modal-galeria-hotel-btn-blue:hover{background-color:#0056b3}.modal-galeria-hotel-btn-red{background-color:#dc3545}.modal-galeria-hotel-btn-red:hover{background-color:#a71d2a}.modal-galeria-hotel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px}.modal-galeria-hotel-item{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000001a}.modal-galeria-hotel-item img{width:100%;height:180px;object-fit:cover;display:block}.modal-galeria-hotel-delete-img{position:absolute;top:6px;right:6px;background-color:#dc3545cc;border:none;color:#fff;font-weight:700;border-radius:50%;width:28px;height:28px;cursor:pointer}.modal-galeria-hotel-delete-img:hover{background-color:#dc3545}.modal-galeria-hotel-close{align-self:center;margin-top:10px;padding:10px 20px;background-color:#6c757d;border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer}.modal-galeria-hotel-close:hover{background-color:#495057}.modal-galeria-hotel-loading,.modal-galeria-hotel-empty{text-align:center;color:#6c757d;font-size:1rem}.modal-editar-hotel-overlay{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;padding:40px 0;z-index:9999}.modal-editar-hotel-container{background:#fff;width:500px;max-width:92%;max-height:90vh;border-radius:16px;padding:22px 26px;margin-top:40px;animation:modal-editar-hotel-slideUp .25s ease-out;box-shadow:0 8px 30px #00000040;position:relative;overflow-y:auto}.modal-editar-hotel-header{background:#3b82f6;padding:14px 18px;border-radius:12px;margin:-22px -26px 15px;color:#fff;display:flex;justify-content:space-between;align-items:center}.modal-editar-hotel-header h2{font-size:1.2rem;display:flex;align-items:center;gap:8px}.modal-editar-hotel-btn-cerrar{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer}.modal-editar-hotel-form label{font-weight:600;margin-top:10px;display:flex;flex-direction:column}.modal-editar-hotel-form input,.modal-editar-hotel-form select{width:100%;padding:10px;border-radius:8px;margin-top:4px;border:1px solid #ccc;font-size:.95rem}.modal-editar-hotel-preview-foto{margin-top:6px;text-align:center}.modal-editar-hotel-preview-foto img{max-width:150px;max-height:120px;border-radius:8px;object-fit:cover;border:1px solid #ccc}.modal-editar-hotel-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-editar-hotel-btn-cancelar{background:#e5e7eb;padding:10px 16px;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:background .2s ease}.modal-editar-hotel-btn-cancelar:hover{background:#d1d5db}.modal-editar-hotel-btn-guardar{background:#3b82f6;color:#fff;padding:10px 20px;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:background .2s ease}.modal-editar-hotel-btn-guardar:hover{background:#2563eb}.modal-editar-hotel-error{color:#b91c1c;background:#fee2e2;padding:10px;border-radius:8px;margin-bottom:10px;font-weight:600}@keyframes modal-editar-hotel-slideUp{0%{transform:translateY(20px);opacity:.8}to{transform:translateY(0);opacity:1}}.hotel-card-lista-container{padding:30px;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014}.hotel-card-lista-container h1{color:#343a40;margin-bottom:25px;font-size:1.8rem;border-bottom:1px solid #f0f2f5;padding-bottom:15px}.hotel-card-lista-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;flex-wrap:wrap;gap:15px}.hotel-card-lista-btn-crear{background-color:#734bd1;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .3s ease,transform .1s ease;display:flex;align-items:center;gap:8px}.hotel-card-lista-btn-crear:hover{background-color:#492d8a;transform:translateY(-1px)}.hotel-card-lista-search-bar{display:flex;align-items:center;border:1px solid #ced4da;border-radius:6px;padding:0 10px;width:100%;max-width:350px;background-color:#ece9f7}.hotel-card-lista-search-bar i{color:#6c757d;margin-right:10px}.hotel-card-lista-search-bar input{flex-grow:1;padding:10px 0;border:none;outline:none;background:none;font-size:1rem;color:#343a40}.hotel-card-lista-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;margin-top:20px}.hotel-card-lista-unique{background-color:#fff;border-radius:16px;box-shadow:0 6px 20px #0000000d;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.hotel-card-lista-unique:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001f}.hotel-card-lista-img{width:100%;height:200px;overflow:hidden;background-color:#e0e0e0;display:flex;justify-content:center;align-items:center}.hotel-card-lista-img img{width:100%;height:100%;object-fit:cover;display:block}.hotel-card-lista-info{padding:20px;flex-grow:1}.hotel-card-lista-info h2{font-size:1.25rem;color:#343a40;margin-bottom:10px;line-height:1.3}.hotel-card-lista-info p{font-size:.875rem;color:#6c757d;margin-bottom:8px;display:flex;align-items:flex-start}.hotel-card-lista-info p i{margin-right:8px;color:#a8a8a8;font-size:.85rem;margin-top:3px}.hotel-card-lista-info .estrellas i{color:gold;margin-right:2px}.hotel-card-lista-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px;padding:15px 20px;border-top:1px solid #f0f2f5;background-color:#fcfcfc}.hotel-card-lista-btn-modificar{background-color:#facc15;color:#fff;border:none;padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:6px;transition:all .3s ease}.hotel-card-lista-btn-modificar:hover{background-color:#fde047;transform:translateY(-2px)}.hotel-card-lista-btn-eliminar{background-color:#ef4444;color:#fff;border:none;padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:6px;transition:all .3s ease}.hotel-card-lista-btn-eliminar:hover{background-color:#f87171;transform:translateY(-2px)}.hotel-card-lista-btn-detalles{background-color:#10b981;color:#fff;border:none;padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:6px;transition:all .3s ease}.hotel-card-lista-btn-detalles:hover{background-color:#34d399;transform:translateY(-2px)}.modal-hotel-card-lista-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:flex-start;padding:50px 0;overflow-y:auto;z-index:10000}.modal-hotel-card-lista-content{background:#fff;border-radius:14px;width:95%;max-width:1100px;padding:20px;box-shadow:0 6px 18px #0000001f;animation:fadeIn .2s ease-in-out;position:relative}.modal-hotel-card-lista-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;padding-bottom:10px;margin-bottom:16px}.modal-hotel-card-lista-header h2{font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.modal-hotel-card-lista-btn-cerrar{background:#ef4444;color:#fff;border:none;font-size:1.2rem;font-weight:700;padding:6px 12px;border-radius:8px;cursor:pointer;transition:.2s}.modal-hotel-card-lista-btn-cerrar:hover{background:#dc2626}.modal-hotel-card-lista-container{margin-top:12px}@media (max-width: 768px){.hotel-card-lista-header{flex-direction:column;align-items:stretch}.hotel-card-lista-search-bar{max-width:100%}}.modal-pisos-principal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-pisos-principal-container{background:#fff;border-radius:12px;max-width:900px;width:90%;max-height:90%;overflow-y:auto;box-shadow:0 4px 20px #0000004d;padding:20px;display:flex;flex-direction:column}.modal-pisos-principal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-pisos-principal-btn-cerrar{background:transparent;border:none;font-size:24px;cursor:pointer}.modal-pisos-principal-body{flex:1;overflow-y:auto}.modal-pisos-principal-footer{display:flex;justify-content:flex-end;margin-top:15px}.modal-pisos-principal-btn-cerrar-footer{padding:8px 16px;border-radius:6px;border:none;background-color:#1e90ff;color:#fff;cursor:pointer}.btn-galeria{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:#00a699;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-galeria:hover{background-color:#00867a;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-galeria:active{transform:translateY(0);box-shadow:0 2px 6px #0003}.btn-galeria svg{font-size:16px}.hotel-alerta-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1200}.hotel-alerta-contenido{background-color:#fff;padding:25px 20px;border-radius:12px;width:400px;max-width:90%;box-shadow:0 6px 20px #00000040;text-align:center;animation:hotel-alerta-fadeIn .3s ease}.hotel-alerta-contenido h3{margin-bottom:10px;font-size:1.3rem;color:#333}.hotel-alerta-contenido p{margin-bottom:20px;color:#555}.hotel-alerta-botones{display:flex;justify-content:center;gap:12px}.hotel-alerta-cancelar{background-color:#ccc;color:#333;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;transition:background .2s ease}.hotel-alerta-cancelar:hover{background-color:#999}.hotel-alerta-confirmar{background-color:#dc3545;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;transition:background .2s ease}.hotel-alerta-confirmar:hover{background-color:#b52a39}@keyframes hotel-alerta-fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.form-hotel-wrapper{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background:linear-gradient(135deg,#fff 0% 100%);padding:20px;margin-top:0}.form-card{background:#fff;border-radius:20px;padding:0;width:100%;max-width:1100px;box-shadow:0 15px 25px #00000026;overflow:hidden;animation:fadeIn .5s ease;margin-top:0}.form-head{background:linear-gradient(90deg,#6a5acd,#836fff);color:#fff;padding:25px;text-align:center;font-size:1.8rem;font-weight:700;letter-spacing:1px;border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:inset 0 -4px 8px #0000001a;margin-top:0}.btn-submit{background-color:#6a5acd;color:#fff;border:none;padding:10px 62px;border-radius:8px;font-size:15px;font-weight:600;margin-right:100px;cursor:pointer;transition:all .3s ease}.btn-submit:hover{background-color:#7642b9;transform:translateY(-2px)}.btn-cancelar{background-color:#e5e7eb;color:#374151;border:none;padding:10px 22px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-aceptar{background-color:#2563eb;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-aceptar:hover{background-color:#1d4ed8;transform:scale(1.05)}.detalles-hotel-container{max-width:1000px;margin:2rem auto;padding:1rem;font-family:Arial,sans-serif;color:#333}.detalles-hotel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.detalles-hotel-title{font-size:2rem;font-weight:700;color:#1e293b}.detalles-hotel-btn-back{display:flex;align-items:center;gap:.5rem;background-color:#3b82f6;color:#fff;padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.detalles-hotel-btn-back:hover{background-color:#2563eb}.detalles-hotel-card{display:flex;flex-wrap:wrap;gap:1.5rem;background-color:#f8fafc;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden;padding:1rem}.detalles-hotel-image{flex:1 1 300px;min-width:250px;max-width:400px;height:250px;overflow:hidden;border-radius:12px}.detalles-hotel-image img{width:100%;height:100%;object-fit:cover;border-radius:12px;transition:transform .3s ease}.detalles-hotel-image img:hover{transform:scale(1.05)}.detalles-hotel-info{flex:2 1 500px;display:flex;flex-direction:column;justify-content:center}.detalles-hotel-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detalles-hotel-info-item{display:flex;align-items:center;gap:.75rem;background-color:#fff;padding:.75rem 1rem;border-radius:8px;box-shadow:0 2px 6px #0000000d;transition:box-shadow .2s ease}.detalles-hotel-info-item:hover{box-shadow:0 4px 12px #0000001a}.detalles-hotel-info-icon{font-size:1.5rem;color:#3b82f6}.detalles-hotel-info-item label{font-weight:600;display:block;font-size:.9rem;color:#64748b}.detalles-hotel-info-item span{font-size:1rem;color:#1e293b}.detalles-hotel-stars{color:#facc15;font-size:1.1rem}.detalles-hotel-loading-container,.detalles-hotel-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:5rem;color:#64748b}.detalles-hotel-loading-spinner{border:6px solid #f3f3f3;border-top:6px solid #3b82f6;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:1rem}.detalles-hotel-error-icon{font-size:3rem;color:#ef4444;margin-bottom:1rem}.detalles-hotel-btn-primary{background-color:#3b82f6;color:#fff;padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:.5rem;margin-top:1rem}.detalles-hotel-btn-primary:hover{background-color:#2563eb}@media (max-width: 768px){.detalles-hotel-card{flex-direction:column;align-items:center}.detalles-hotel-info-grid{grid-template-columns:1fr}}.habitacion-admin-container{background-color:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 20px #00000014;margin:30px auto;max-width:1200px;width:95%;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#344767}.habitacion-admin-container h1{color:#343a40;margin-bottom:25px;font-size:1.8rem;border-bottom:1px solid #f0f2f5;padding-bottom:15px;display:block;font-weight:600}.habitaciones-loading{text-align:center;padding:50px;font-size:1.2em;color:#6c757d}.habitaciones-no-results{grid-column:1 / -1;color:#7f1d1d;background-color:#fef2f2;border-radius:8px;border:1px solid #fca5a5;padding:20px;text-align:center;font-size:1em;font-weight:500}.habitacion-admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px;flex-wrap:wrap}.habitacion-admin-btn-crear{background-color:#734bd1;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1em;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 4px 10px #734bd14d}.habitacion-admin-btn-crear:hover{background-color:#492d8a;box-shadow:0 6px 15px #734bd166;transform:translateY(-1px)}.habitacion-admin-search-bar{display:flex;align-items:center;padding:0 15px;border:1px solid #ced4da;border-radius:6px;background-color:#ece9f7;box-shadow:0 2px 8px #0000000d;width:350px;max-width:100%}.habitacion-admin-search-bar svg{color:#6c757d;margin-right:10px;font-size:1.1em}.habitacion-admin-search-bar input{border:none;outline:none;flex-grow:1;font-size:1em;color:#495057;padding:10px 0;background:none}.habitacion-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px}.card-tipo-habitacion{background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 18px #00000014;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.card-tipo-habitacion:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001f}.card-tipo-habitacion-img{height:180px;overflow:hidden;background-color:#f8f9fa;display:flex;align-items:center;justify-content:center}.card-tipo-habitacion-img img{width:100%;height:100%;object-fit:cover}.sin-foto{color:#adb5bd;font-style:italic;text-align:center;padding:20px}.card-tipo-habitacion-info{padding:18px;flex-grow:1}.card-tipo-habitacion-info h2{font-size:1.4em;color:#007bff;margin-top:0;margin-bottom:8px;font-weight:600}.card-tipo-habitacion-info p{margin:6px 0;font-size:1em;color:#495057}.card-tipo-habitacion-info p strong{font-weight:700;color:#343a40}.card-tipo-habitacion-actions{display:flex;justify-content:space-around;padding:12px 15px;background-color:#f8f9fa;border-top:1px solid #e9ecef}.card-tipo-habitacion-actions button{background:none;border:none;cursor:pointer;font-size:1em;padding:10px;border-radius:50%;transition:all .3s ease;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0000001a}.card-tipo-habitacion-actions button:hover{transform:scale(1.15);box-shadow:0 4px 10px #00000040}.card-tipo-habitacion-actions .btn-modificar{background-color:#ffc107}.card-tipo-habitacion-actions .btn-modificar:hover{background-color:#e0a800}.card-tipo-habitacion-actions .btn-caracteristicas{background-color:#17a2b8}.card-tipo-habitacion-actions .btn-caracteristicas:hover{background-color:#138496}.card-tipo-habitacion-actions .btn-detalles{background-color:#007bff}.card-tipo-habitacion-actions .btn-detalles:hover{background-color:#0056b3}.card-tipo-habitacion-actions .btn-imagenes{background-color:#6f42c1}.card-tipo-habitacion-actions .btn-imagenes:hover{background-color:#5a3598}.card-tipo-habitacion-actions .btn-eliminar{background-color:#dc3545}.card-tipo-habitacion-actions .btn-eliminar:hover{background-color:#c82333}.modal-tipo-habitacion-overlay{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;padding:40px 0;z-index:9999}.modal-tipo-habitacion-container{background:#fff;width:520px;max-width:95%;border-radius:16px;padding:22px 26px;margin-top:40px;animation:slideUp .25s ease-out;box-shadow:0 8px 30px #00000040;position:relative;color:#495057}.modal-tipo-habitacion-large{width:90%;max-width:1000px}.modal-tipo-habitacion-header{background:linear-gradient(135deg,#3b82f6,#60a5fa);padding:14px 18px;border-radius:12px;margin:-22px -26px 20px;color:#fff;display:flex;justify-content:space-between;align-items:center}.modal-tipo-habitacion-header h2{font-size:1.3rem;margin:0;display:flex;align-items:center;gap:8px}.modal-tipo-habitacion-header-red{background:#dc2626}.modal-tipo-habitacion-close{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer;transition:opacity .2s}.modal-tipo-habitacion-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:25px;padding-top:15px;border-top:1px solid #e5e7eb}.btn-tipo-habitacion-guardar,.btn-tipo-habitacion-confirm-delete,.btn-cancelar-modal-th{padding:10px 20px;border-radius:8px;border:none;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;transition:background .2s,transform .1s}.btn-tipo-habitacion-guardar{background:#3b82f6;color:#fff}.btn-tipo-habitacion-guardar:hover{background:#2563eb;transform:translateY(-1px)}.btn-tipo-habitacion-confirm-delete{background:#dc2626;color:#fff}.btn-tipo-habitacion-confirm-delete:hover{background:#b91c1c;transform:translateY(-1px)}.btn-cancelar-modal-th{background:#e5e7eb;color:#495057}.btn-cancelar-modal-th:hover{background:#d1d5db}.caracteristicas-tipo-habitacion-container{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:10px}.caracteristicas-tipo-habitacion-actuales,.caracteristicas-tipo-habitacion-nuevas{padding:15px;border-radius:8px;background-color:#f7f9fc;border:1px solid #e0e7ff}.caracteristicas-tipo-habitacion-container h4{color:#1a1a1a;border-bottom:2px solid #3b82f6;padding-bottom:8px;margin-top:0;margin-bottom:15px;font-size:1.2em;font-weight:600;display:flex;align-items:center;gap:8px}.caracteristicas-lista{list-style:none;padding-left:0;display:flex;flex-wrap:wrap;gap:8px;max-height:250px;overflow-y:auto}.caracteristica-item-th{background:#3b82f6;color:#fff;border-radius:8px;padding:6px 10px;display:flex;align-items:center;gap:8px;font-size:.95em}.btn-eliminar-car{background:#ffffff40;border:none;padding:4px 7px;border-radius:6px;cursor:pointer;color:#fff;font-size:.8em;transition:background .2s}.checkbox-list{max-height:300px;overflow-y:auto;padding:5px}.checkbox-list label{display:flex;align-items:center;margin-bottom:8px;padding:10px 12px;border-radius:6px;transition:background-color .2s;border:1px solid #e9ecef;background-color:#fff;cursor:pointer}.checkbox-list label:hover{background-color:#e9f2ff;border:1px solid #b3d4ff}.checkbox-list input[type=checkbox]{margin-right:15px;transform:scale(1.3);accent-color:#059669}@media (max-width: 768px){.habitacion-admin-header{flex-direction:column;align-items:stretch}.habitacion-admin-btn-crear{width:100%;justify-content:center}.habitacion-admin-search-bar{max-width:100%}.caracteristicas-tipo-habitacion-container{grid-template-columns:1fr}.modal-tipo-habitacion-large{padding-top:80px;max-width:90%}}.modal-modificar-habitacion-overlay{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;padding:40px 0;z-index:9999}.modal-modificar-habitacion-container{background:#fff;width:520px;max-width:95%;border-radius:16px;padding:22px 26px;margin-top:40px;animation:slideUp .25s ease-out;box-shadow:0 8px 30px #00000040;position:relative}.modal-modificar-habitacion-header{background:#3b82f6;padding:14px 18px;border-radius:12px;margin:-22px -26px 15px;color:#fff;display:flex;justify-content:space-between;align-items:center}.modal-modificar-habitacion-header h2{font-size:1.2rem}.modal-modificar-habitacion-close{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer}.modal-modificar-habitacion-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.input-group-habitacion label{font-weight:600;margin-top:10px}.input-group-habitacion input,.input-group-habitacion select{width:100%;padding:10px;border-radius:8px;margin-top:4px;border:1px solid #ccc}.caracteristicas-habitacion-lista{list-style:none;padding-left:0;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.caracteristica-habitacion-item{background:#3b82f6;color:#fff;border-radius:8px;padding:5px 10px;display:flex;align-items:center;gap:6px}.btn-eliminar-carac-habitacion{background:#ffffff40;border:none;padding:3px 6px;border-radius:6px;cursor:pointer;color:#fff}.nueva-caracteristica-habitacion{display:flex;gap:10px;align-items:center;margin-top:8px}.btn-agregar-carac-habitacion{background:#3b82f6;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:4px}.modal-modificar-habitacion-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn-guardar-habitacion{background:#3b82f6;color:#fff;padding:10px 20px;border-radius:8px;border:none;font-weight:600;display:flex;align-items:center;gap:6px}.btn-cancelar-habitacion{background:#e5e7eb;padding:10px 16px;border-radius:8px;border:none;font-weight:600;display:flex;align-items:center;gap:6px}.alerta-habitacion{width:100%;padding:12px 16px;border-radius:8px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;font-weight:600}.alerta-exito{background:#d1fae5;border-left:6px solid #059669;color:#065f46}.alerta-error{background:#fee2e2;border-left:6px solid #dc2626;color:#7f1d1d}.alerta-habitacion button{background:none;border:none;font-size:18px;cursor:pointer;color:inherit;opacity:.6}.alerta-habitacion button:hover{opacity:1}.galeria-imagenes-tipo-habitacion{background:#fff;width:100%;max-width:900px;border-radius:16px;padding:20px;margin:10px auto;box-shadow:0 8px 30px #00000040;position:relative;color:#495057;overflow-y:auto;max-height:80vh}.galeria-imagenes-tipo-habitacion header{background:linear-gradient(135deg,#6f42c1,#a361f7);padding:14px 18px;border-radius:12px;margin:-22px -26px 20px;color:#fff;display:flex;justify-content:space-between;align-items:center;position:sticky;top:-22px;z-index:5}.galeria-imagenes-tipo-habitacion header h3{font-size:1.4rem;margin:0;font-weight:600}.galeria-imagenes-tipo-habitacion .cerrar-btn{background:#fff3;border:none;color:#fff;font-size:1.1rem;line-height:1;cursor:pointer;transition:background .2s,transform .2s;padding:8px 12px;border-radius:8px}.galeria-imagenes-tipo-habitacion .cerrar-btn:hover{background:#ffffff59;transform:rotate(3deg)}.galeria-imagenes-tipo-habitacion h4{font-size:1.25em;color:#3b82f6;margin-top:25px;margin-bottom:15px;border-bottom:1px solid #f0f2f5;padding-bottom:8px;font-weight:600}.galeria-imagenes-tipo-habitacion hr{border:none;border-top:1px solid #e9ecef;margin:30px 0}.perfil-img-section{display:flex;flex-direction:column;align-items:center;text-align:center}.perfil-img-wrapper{position:relative;width:150px;height:150px;border-radius:50%;overflow:hidden;margin-bottom:20px;box-shadow:0 4px 15px #0000001a;border:3px solid #6f42c1}.perfil-img-wrapper img{width:100%;height:100%;object-fit:cover}.perfil-img-wrapper .ver-foto-btn{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;color:#fff;border:none;opacity:0;transition:opacity .3s;font-size:1.5em;cursor:pointer;display:flex;align-items:center;justify-content:center}.perfil-img-wrapper:hover .ver-foto-btn{opacity:1}.sin-foto{font-style:italic;color:#90a4ae;margin-bottom:20px;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#f0f2f5}.botones-foto-perfil{display:flex;gap:15px}.btn-subir{background-color:#28a745;color:#fff;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px #28a74533}.btn-subir:hover{background-color:#1e7e34}.btn-subir input[type=file]{display:none}.btn-subir:disabled{opacity:.6;cursor:not-allowed}.btn-restaurar{background-color:#ffc107;color:#343a40;border:none;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px #ffc10733}.btn-restaurar:hover{background-color:#e0a800}.btn-restaurar:disabled{opacity:.6;cursor:not-allowed}.galeria-section{padding-top:10px}.galeria-section .btn-subir{margin-bottom:25px;display:inline-flex}.galeria-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.galeria-item{position:relative;height:150px;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000001a;transition:transform .3s ease}.galeria-item:hover{transform:scale(1.03)}.galeria-overlay{position:absolute;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;gap:10px;opacity:0;transition:opacity .3s}.galeria-item:hover .galeria-overlay{opacity:1}.galeria-overlay button{background:#fff3;border:1px solid white;color:#fff;padding:10px;border-radius:50%;font-size:1.1em;cursor:pointer;transition:background .2s}.galeria-overlay button:hover{background:#fff6}.vista-grande-overlay{position:fixed;inset:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:10000;cursor:zoom-out;padding:20px}.vista-grande-overlay img{max-width:95%;max-height:95%;border-radius:10px;object-fit:contain}.modal-msg{position:absolute;top:0;left:50%;transform:translate(-50%,-100%);width:90%;padding:12px 16px;border-radius:8px;font-weight:600;text-align:center;opacity:0;transition:all .3s ease-out;z-index:10;box-shadow:0 4px 15px #0000001a;display:flex;align-items:center;justify-content:center;gap:10px}.spinner-icon{animation:spin 1s linear infinite}.modal-msg.exito{background:#d1fae5;border:1px solid #059669;color:#065f46;transform:translate(-50%,15px);opacity:1}.modal-msg.error{background:#fee2e2;border:1px solid #dc2626;color:#7f1d1d;transform:translate(-50%,15px);opacity:1}@media (max-width: 600px){.galeria-imagenes-tipo-habitacion{padding:15px}.galeria-imagenes-tipo-habitacion header{padding:10px 15px;margin:-15px -15px 15px}.botones-foto-perfil{flex-direction:column;gap:10px;width:100%}.btn-subir,.btn-restaurar{width:100%;justify-content:center}.galeria-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}}.registro-page{background-color:#f5f6fa;min-height:100vh;padding:30px 50px;display:flex;justify-content:center}.registro-form-container{background-color:#fff;width:100%;max-width:1200px;border-radius:12px;padding:40px;box-shadow:0 8px 30px #00000014;display:flex;flex-direction:column;gap:25px}.registro-header{display:flex;align-items:center;gap:12px}.registro-icon{color:#6a5acd;font-size:2rem}.registro-header h2{font-size:2rem;font-weight:700;color:#333}.registro-subtitulo{font-size:1.1rem;color:#666;margin-bottom:20px}.formulario{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%}.formulario .input-icon input{width:100%;padding:12px 15px;border-radius:8px;border:1px solid #ddd;font-size:1rem;transition:border-color .3s}.formulario .input-icon input:focus{border-color:#6a5acd;outline:none}.btn-primary,.formulario button[type=submit]{grid-column:1 / -1;width:100%;padding:14px 20px;border-radius:10px;background-color:#6a5acd;color:#fff;font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:background-color .3s,transform .2s}.btn-primary:hover,.formulario button[type=submit]:hover{background-color:#5849b8;transform:translateY(-2px)}@media (max-width: 1024px){.formulario{grid-template-columns:1fr}}.form-habitacion-wrapper{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background:linear-gradient(135deg,#fff 0% 100%);padding:20px;margin-top:0}.form-habitacion-card{background:#fff;border-radius:20px;padding:0;width:100%;max-width:700px;box-shadow:0 15px 25px #00000026;overflow:hidden;animation:fadeIn .5s ease}.form-habitacion-head{background:linear-gradient(90deg,#6a5acd,#836fff);color:#fff;padding:20px;text-align:center;font-size:1.6rem;font-weight:700;border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:inset 0 -4px 8px #0000001a}.form-habitacion-content{padding:30px 40px}.input-group{display:flex;flex-direction:column;margin-bottom:20px}.input-group label{display:flex;align-items:center;font-weight:600;color:#4b5563;margin-bottom:6px;font-size:15px;gap:8px}.input-group input,.input-group select{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#111827;background-color:#f9fafb;transition:all .2s ease}.input-group input:focus,.input-group select:focus{border-color:#6a5acd;box-shadow:0 0 0 2px #6a5acd33;outline:none}.form-buttons{display:flex;justify-content:space-between;margin-top:25px}.btn-submit{background-color:#6a5acd;color:#fff;border:none;padding:10px 50px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-submit:hover{background-color:#7a62d6;transform:translateY(-2px)}.btn-cancelar{background-color:#e5e7eb;color:#374151;border:none;padding:10px 30px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancelar:hover{background-color:#d1d5db;transform:translateY(-2px)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-box{background-color:#fff;padding:25px 35px;border-radius:12px;box-shadow:0 5px 20px #00000026;text-align:center;max-width:400px;width:90%;animation:popIn .3s ease}.modal-box p{font-size:16px;color:#111827;margin-bottom:20px}.btn-aceptar{background-color:#6a5acd;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-aceptar:hover{background-color:#7b6ce0;transform:scale(1.05)}.registrar-habitacion-container{max-width:760px;margin:30px auto;background:#fff;border-radius:14px;box-shadow:0 10px 30px #0f172a0f;padding:22px;display:flex;flex-direction:column;gap:18px}.registrar-habitacion-container h2{margin:0;font-size:1.5rem;color:#1f2937;border-bottom:1px solid #f0f2f5;padding-bottom:12px}.registrar-habitacion-container form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;align-items:start}.registrar-habitacion-container label{font-size:.9rem;color:#374151;margin-bottom:6px;display:block}.registrar-habitacion-container input[type=text],.registrar-habitacion-container input[type=number],.registrar-habitacion-container textarea,.registrar-habitacion-container select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #e6e9ee;background:#fff;font-size:.95rem;color:#111827;outline:none;transition:box-shadow .15s ease,border-color .15s ease,transform .06s ease;box-shadow:inset 0 -1px #00000003}.registrar-habitacion-container input:focus,.registrar-habitacion-container textarea:focus,.registrar-habitacion-container select:focus{border-color:#8b5cf6;box-shadow:0 6px 18px #8b5cf614;transform:translateY(-1px)}.registrar-habitacion-container textarea{min-height:100px;resize:vertical;grid-column:1 / -1;padding-top:10px}.registrar-habitacion-container select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,transparent 50%),linear-gradient(to right,#fff,#fff);background-position:calc(100% - 18px) calc(1em + 2px),calc(100% - 13px) calc(1em + 2px),100% 0;background-size:8px 8px,8px 8px,1px 1px;background-repeat:no-repeat;padding-right:36px}.registrar-habitacion-container button[type=submit]{grid-column:1 / -1;justify-self:start;margin-top:6px;background-color:#6a5acd;color:#fff;border:none;padding:10px 28px;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;transition:transform .12s ease,background-color .18s ease,box-shadow .12s ease;box-shadow:0 6px 18px #6a5acd1f;display:inline-flex;align-items:center;gap:10px}.registrar-habitacion-container button[disabled]{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.registrar-habitacion-container button[type=submit]:hover:not([disabled]){background-color:#7642b9;transform:translateY(-2px);box-shadow:0 10px 30px #7642b91f}.registrar-habitacion-container .help{grid-column:1 / -1;font-size:.85rem;color:#6b7280}@media (max-width: 720px){.registrar-habitacion-container{padding:18px}.registrar-habitacion-container form{grid-template-columns:1fr}.registrar-habitacion-container textarea{min-height:120px}.registrar-habitacion-container h2{font-size:1.35rem}}.caracteristicas-editar-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.caracteristicas-editar-card{background:#fff;border-radius:12px;width:450px;max-width:90%;padding:20px;box-shadow:0 6px 20px #00000040;animation:caracteristicas-editar-fadeIn .3s ease;font-family:Segoe UI,sans-serif}.caracteristicas-editar-card h3{margin-bottom:15px;color:#333}.caracteristicas-editar-input-group{margin-bottom:15px;display:flex;flex-direction:column}.caracteristicas-editar-input-group label{margin-bottom:5px;font-weight:500}.caracteristicas-editar-input-group input,.caracteristicas-editar-input-group textarea{border:1px solid #ccc;border-radius:6px;padding:8px 10px;font-size:.9rem;outline:none}.caracteristicas-editar-input-group input:focus,.caracteristicas-editar-input-group textarea:focus{border-color:#734bd1}.caracteristicas-editar-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.caracteristicas-editar-btn-cancelar{background-color:#ccc;color:#333;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:6px}.caracteristicas-editar-btn-cancelar:hover{background-color:#999}.caracteristicas-editar-btn-guardar{background-color:#734bd1;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:6px}.caracteristicas-editar-btn-guardar:hover{background-color:#572bbf}.caracteristicas-editar-feedback-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1100}.caracteristicas-editar-feedback-box{background:#fff;padding:20px;border-radius:10px;width:350px;max-width:90%;text-align:center;animation:caracteristicas-editar-fadeIn .3s ease}.caracteristicas-editar-feedback-box.success{border-left:6px solid #28a745}.caracteristicas-editar-feedback-box.error{border-left:6px solid #dc3545}.caracteristicas-editar-feedback-icon{font-size:2rem;margin-bottom:10px}.caracteristicas-editar-feedback-message{margin-bottom:15px}.caracteristicas-editar-feedback-btn{background-color:#734bd1;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer}.caracteristicas-editar-feedback-btn:hover{background-color:#572bbf}@keyframes caracteristicas-editar-fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.caracteristicas-editar-error{color:#d9534f;font-size:13px;margin-top:5px}.caracteristicas-detalles-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.caracteristicas-detalles-container{background:#fff;border-radius:12px;width:400px;max-width:90%;padding:20px;box-shadow:0 6px 20px #00000040;animation:caracteristicas-detalles-fadeIn .3s ease}.caracteristicas-detalles-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #eee;margin-bottom:15px}.caracteristicas-detalles-header h2{font-size:1.2rem;color:#333}.caracteristicas-detalles-close{background:transparent;border:none;font-size:1.2rem;cursor:pointer}.caracteristicas-detalles-content p{color:#444;margin-bottom:10px}.caracteristicas-detalles-footer{display:flex;justify-content:flex-end;margin-top:20px}.caracteristicas-detalles-btn-cerrar{background-color:#734bd1;color:#fff;padding:8px 16px;border-radius:6px;border:none;cursor:pointer;transition:background .2s ease}.caracteristicas-detalles-btn-cerrar:hover{background-color:#572bbf}@keyframes caracteristicas-detalles-fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lista-caracteristicas-container{padding:20px;background-color:#fdfdfd;border-radius:12px;box-shadow:0 4px 20px #00000014;font-family:Segoe UI,sans-serif}.lista-caracteristicas-container h1{font-size:1.6rem;color:#1f2937;margin-bottom:20px;font-weight:600}.lista-caracteristicas-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:20px;gap:10px}.lista-caracteristicas-btn-crear{background-color:#734bd1;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s ease}.lista-caracteristicas-btn-crear:hover{background-color:#0b5ed7}.lista-caracteristicas-search-bar{display:flex;align-items:center;border:1px solid #ced4da;border-radius:6px;padding:5px 10px;background-color:#fff;gap:6px}.lista-caracteristicas-search-bar input{border:none;outline:none;font-size:.9rem;width:200px}.lista-caracteristicas-tabla{width:100%;border-collapse:collapse;font-size:.9rem}.lista-caracteristicas-tabla th,.lista-caracteristicas-tabla td{text-align:left;padding:10px 12px;border-bottom:1px solid #e9ecef}.lista-caracteristicas-tabla thead th{background-color:#f8f9fa;font-weight:600;color:#495057;text-transform:uppercase;font-size:.85rem}.lista-caracteristicas-tabla tbody tr:hover{background-color:#f1f3f5;transform:translateY(-1px);transition:all .2s ease}.lista-caracteristicas-btn-accion{border:none;padding:5px 8px;border-radius:4px;cursor:pointer;font-size:.85rem;margin-right:5px;transition:all .2s ease}.lista-caracteristicas-btn-modificar{background-color:#fff455;color:#fff}.lista-caracteristicas-btn-modificar:hover{background-color:#dfd333}.lista-caracteristicas-btn-eliminar{background-color:#dc3545;color:#fff}.lista-caracteristicas-btn-eliminar:hover{background-color:#bb2d3b}.lista-caracteristicas-btn-ver{background-color:#16249e;color:#fff}.lista-caracteristicas-btn-ver:hover{background-color:#020949;color:#fff}.lista-caracteristicas-no-results{text-align:center;padding:12px;color:#6c757d}@media (max-width: 768px){.lista-caracteristicas-header{flex-direction:column;align-items:stretch}.lista-caracteristicas-search-bar input{width:100%}}.modal-lista-caracteristicas-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-lista-caracteristicas-container{background:#fff;border-radius:12px;width:400px;max-width:90%;padding:20px;box-shadow:0 6px 20px #00000040;animation:fadeIn .3s ease}.modal-lista-caracteristicas-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #eee;margin-bottom:15px}.modal-lista-caracteristicas-header h2{font-size:1.2rem;color:#333}.modal-lista-caracteristicas-close{background:transparent;border:none;font-size:1.2rem;cursor:pointer}.modal-lista-caracteristicas-content p{color:#444}.modal-lista-caracteristicas-footer{display:flex;justify-content:flex-end;margin-top:20px;gap:10px}.modal-lista-caracteristicas-btn-cerrar{background-color:#ccc;color:#333;padding:8px 16px;border-radius:6px;border:none;cursor:pointer}.modal-lista-caracteristicas-btn-cerrar:hover{background-color:#999}.modal-lista-caracteristicas-btn-eliminar{background-color:#f44336;color:#fff;padding:8px 16px;border-radius:6px;border:none;cursor:pointer}.modal-lista-caracteristicas-btn-eliminar:hover{background-color:#d32f2f}.modal-lista-caracteristicas-feedback-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1100}.modal-lista-caracteristicas-feedback-box{background:#fff;padding:20px;border-radius:12px;width:300px;text-align:center;box-shadow:0 6px 20px #00000040}.modal-lista-caracteristicas-feedback-box.success{border-top:4px solid #28a745}.modal-lista-caracteristicas-feedback-box.error{border-top:4px solid #dc3545}.modal-lista-caracteristicas-feedback-icon{font-size:2rem;margin-bottom:10px}.modal-lista-caracteristicas-feedback-message{margin-bottom:15px}.modal-lista-caracteristicas-feedback-btn{padding:8px 16px;border-radius:6px;border:none;background-color:#734bd1;color:#fff;cursor:pointer}.modal-lista-caracteristicas-feedback-btn:hover{background-color:#5a34a1}.input-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236a5acd' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}.input-error{color:#d9534f;font-size:13px;margin-top:5px}.modal-feedback-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-feedback-box{background:#fff;border-radius:16px;padding:2rem;text-align:center;width:90%;max-width:350px;box-shadow:0 8px 24px #0003;animation:popIn .3s ease-in-out}.modal-feedback-box.success{border-top:6px solid #4caf50}.modal-feedback-box.error{border-top:6px solid #f44336}.modal-feedback-icon{font-size:3rem;margin-bottom:1rem;color:inherit}.modal-feedback-box.success .modal-feedback-icon{color:#4caf50}.modal-feedback-box.error .modal-feedback-icon{color:#f44336}.modal-feedback-message{font-size:1rem;color:#333;margin-bottom:1.5rem}.modal-feedback-btn{background-color:#007bff;color:#fff;border:none;padding:8px 18px;border-radius:8px;cursor:pointer;font-weight:700;transition:background .2s}.modal-feedback-btn:hover{background-color:#0056b3}.per-container{padding:20px;background-color:#fdfdfd;border-radius:12px;box-shadow:0 4px 20px #00000014;font-family:Segoe UI,sans-serif}.per-container h1{font-size:1.6rem;color:#1f2937;margin-bottom:20px;font-weight:600}.per-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:20px;gap:10px}.per-btn-crear{background-color:#734bd1;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s ease}.per-btn-crear:hover{background-color:#0b5ed7}.per-search-bar{display:flex;align-items:center;border:1px solid #ced4da;border-radius:6px;padding:5px 10px;background-color:#fff;gap:6px}.per-search-bar input{border:none;outline:none;font-size:.9rem;width:200px}.per-tabla{width:100%;border-collapse:collapse;font-size:.9rem}.per-tabla th,.per-tabla td{text-align:left;padding:10px 12px;border-bottom:1px solid #e9ecef}.per-tabla thead th{background-color:#f8f9fa;font-weight:600;color:#495057;text-transform:uppercase;font-size:.85rem}.per-tabla tbody tr:hover{background-color:#f1f3f5;transform:translateY(-1px);transition:all .2s ease}.per-btn-accion{border:none;padding:5px 8px;border-radius:4px;cursor:pointer;font-size:.85rem;margin-right:5px;transition:all .2s ease}.per-btn-ver{background-color:#16249e;color:#fff}.per-btn-ver:hover{background-color:#020949}.per-btn-modificar{background-color:#fff455;color:#fff}.per-btn-modificar:hover{background-color:#dfd333}.per-btn-eliminar{background-color:#dc3545;color:#fff}.per-btn-eliminar:hover{background-color:#bb2d3b}.per-no-results{text-align:center;padding:12px;color:#6c757d}.per-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.per-modal-container{background:#fff;border-radius:12px;width:400px;max-width:90%;padding:20px;box-shadow:0 6px 20px #00000040;animation:per-fadeIn .3s ease}.per-modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #eee;margin-bottom:15px}.per-modal-header h2{font-size:1.2rem;color:#333}.per-modal-close{background:transparent;border:none;font-size:1.2rem;cursor:pointer}.per-modal-content p{color:#444}.per-modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.per-modal-btn-cerrar{background-color:#ccc;color:#333;padding:8px 16px;border-radius:6px;border:none;cursor:pointer}.per-modal-btn-cerrar:hover{background-color:#999}.per-modal-btn-eliminar{background-color:#f44336;color:#fff;padding:8px 16px;border-radius:6px;border:none;cursor:pointer}.per-modal-btn-eliminar:hover{background-color:#d32f2f}.per-modal-feedback-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1100}.per-modal-feedback-box{background:#fff;border-radius:12px;padding:20px;width:350px;text-align:center;box-shadow:0 6px 20px #00000040}.per-modal-feedback-box.success{border-top:4px solid #198754}.per-modal-feedback-box.error{border-top:4px solid #dc3545}.per-modal-feedback-icon{font-size:2rem;margin-bottom:10px;color:inherit}.per-modal-feedback-message{margin-bottom:15px;font-size:.95rem;color:#333}.per-modal-feedback-btn{padding:8px 16px;border:none;border-radius:6px;background:#734bd1;color:#fff;cursor:pointer}.per-modal-feedback-btn:hover{background:#572bbf}@keyframes per-fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.form-usuario-wrapper{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#6a5acd,#836fff);padding:40px 20px}.form-card{background:#fff;border-radius:20px;padding:0;width:100%;max-width:1100px;box-shadow:0 15px 25px #00000026;overflow:hidden;animation:fadeIn .5s ease}.form-head{background:linear-gradient(90deg,#6a5acd,#836fff);color:#fff;padding:25px;text-align:center;font-size:1.8rem;font-weight:700;letter-spacing:1px;border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:inset 0 -4px 8px #0000001a}.form-content{padding:40px 50px}.form-subtitle{text-align:center;color:#666;margin-bottom:30px;font-size:1rem}.form-usuario{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 25px}.input-group{display:flex;flex-direction:column}.input-group label{font-weight:600;color:#333;margin-bottom:6px}.input-group input,.input-group select{padding:12px 14px;border-radius:12px;border:1px solid #ccc;font-size:.95rem;color:#000;background-color:#fff;transition:all .3s ease;width:100%}.input-group input:focus,.input-group select:focus{border-color:#6a5acd;box-shadow:0 0 8px #6a5acd33;outline:none}.input-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236a5acd' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}.input-group select option{color:#000;background-color:#fff}.roles-seleccionados{grid-column:span 3;background:#f7f5ff;color:#4b3fa3;border-left:4px solid #6a5acd;padding:12px 14px;border-radius:8px;font-size:.9rem;margin-top:5px}.form-buttons{grid-column:span 3;display:flex;justify-content:flex-end;gap:15px;margin-top:25px}.btn-guardar,.btn-cancelar{padding:12px 20px;border-radius:12px;font-weight:600;font-size:1rem;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.btn-guardar{background:linear-gradient(90deg,#6a5acd,#836fff);color:#fff}.btn-guardar:hover{transform:translateY(-2px);box-shadow:0 8px 18px #6a5acd66}.btn-cancelar{background-color:#f1f1f1;color:#333;border:1px solid #ddd}.btn-cancelar:hover{background-color:#e4e4e4;transform:translateY(-2px)}@media (max-width: 1024px){.form-usuario{grid-template-columns:repeat(2,1fr)}.roles-seleccionados,.form-buttons{grid-column:span 2}}@media (max-width: 700px){.form-content{padding:25px 20px}.form-usuario{grid-template-columns:1fr}.roles-seleccionados,.form-buttons{grid-column:span 1}.form-buttons{flex-direction:column;align-items:stretch}.btn-guardar,.btn-cancelar{width:100%}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .3s ease-in-out}.modal-box{background:#fff;border-radius:16px;padding:2rem;text-align:center;width:90%;max-width:400px;box-shadow:0 8px 24px #0003;animation:popIn .3s ease-in-out}.modal-success{border-top:6px solid #4caf50}.modal-error{border-top:6px solid #f44336}.modal-icon{font-size:3rem;margin-bottom:1rem}.modal-success .modal-icon{color:#4caf50}.modal-error .modal-icon{color:#f44336}.modal-message{font-size:1.1rem;color:#333;margin-bottom:1.5rem}.modal-btn{background-color:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:700;transition:background .2s}.modal-btn:hover{background-color:#0056b3}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-contenido{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 30px #0000004d;animation:modalAppear .3s ease-out}.modal-cerrar{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.2rem;color:#6b7280;cursor:pointer;padding:5px;border-radius:50%;transition:all .3s ease}.modal-cerrar:hover{background-color:#f3f4f6;color:#374151}.modal-header{padding:25px 25px 0;border-bottom:1px solid #e5e7eb;margin-bottom:20px}.modal-header h2{color:#1f2937;margin-bottom:5px;font-size:1.5rem;font-weight:700}.modal-header p{color:#6b7280;margin-bottom:20px}@media (max-width: 768px){.modal-contenido{margin:10px;max-width:none}.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.btn{justify-content:center}}.crear-empleado-modal .modal-contenido{max-width:700px}.form-group input{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.btn-crear{background-color:#10b981;color:#fff}.btn-crear:hover:not(:disabled){background-color:#059669;transform:translateY(-1px)}@media (max-width: 768px){.crear-empleado-modal .modal-contenido{margin:10px;max-width:none}.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.btn{justify-content:center}}#puesto_id{background-color:#f0f8ff;border:2px solid #007bff;border-radius:8px;padding:10px;font-size:15px;color:#036;transition:all .3s ease;width:100%}#puesto_id:hover{background-color:#e6f0ff;border-color:#0056b3;cursor:pointer}#puesto_id:focus{outline:none;box-shadow:0 0 6px #007bff;border-color:#004aad}#puesto_id:disabled{background-color:#f9f9f9;color:#aaa;border-color:#ccc;cursor:not-allowed}.confirmar-eliminar-modal .modal-contenido{max-width:500px}.confirmar-header p{color:#6b7280;font-size:1rem}.empleado-info{background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin:0 25px 20px}.info-item{margin-bottom:8px;font-size:.95rem}.info-item strong{color:#374151}.advertencia{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:15px;margin:0 25px 20px;display:flex;align-items:flex-start;gap:10px;color:#dc2626;font-size:.9rem}.advertencia-icon{flex-shrink:0;margin-top:2px}.btn-eliminar-confirmar:hover{background-color:#b91c1c;transform:translateY(-1px)}.btn-cancelar:hover{background-color:#4b5563;transform:translateY(-1px)}@media (max-width: 768px){.confirmar-eliminar-modal .modal-contenido{margin:10px;max-width:none}.modal-actions{flex-direction:column}.btn{justify-content:center}}@media (max-width: 480px){.modal-overlay{padding:10px}.confirmar-header,.empleado-info,.advertencia{padding:15px;margin-left:15px;margin-right:15px}}.detalles-empleado-modal .modal-contenido{max-width:700px;max-height:85vh;overflow-y:auto}.detalles-contenido{padding:0 25px}.detalles-seccion{margin-bottom:25px;padding:20px;background:#f8fafc;border-radius:12px;border:1px solid #e5e7eb}.seccion-titulo{display:flex;align-items:center;gap:10px;color:#374151;font-size:1.1rem;font-weight:600;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e5e7eb}.seccion-icono{color:#3b82f6;font-size:1rem}.detalles-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detalle-item{display:flex;flex-direction:column;gap:5px}.detalle-item.full-width{grid-column:1 / -1}.detalle-item label{font-weight:600;color:#6b7280;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.detalle-valor{color:#1f2937;font-size:1rem;margin:0;display:flex;align-items:center;gap:8px}.detalle-valor.destacado{font-size:1.1rem;font-weight:600;color:#1f2937}.detalle-valor.codigo{font-family:Courier New,monospace;background:#f3f4f6;padding:6px 10px;border-radius:6px;border:1px solid #e5e7eb;font-weight:500}.valor-icono{color:#6b7280;font-size:.9rem;flex-shrink:0}.detalle-extra{color:#6b7280;font-size:.8rem;font-style:italic}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:20px;border-radius:8px;margin:20px 25px;text-align:center}.modal-actions{display:flex;justify-content:center;padding:20px 25px;border-top:1px solid #e5e7eb;margin-top:10px}.btn-cerrar{background-color:#6b7280;color:#fff}.btn-cerrar:hover{background-color:#4b5563;transform:translateY(-1px)}@media (max-width: 768px){.detalles-empleado-modal .modal-contenido{margin:10px;max-width:none}.detalles-grid{grid-template-columns:1fr}.detalles-seccion{padding:15px}.modal-header{padding:20px 20px 0}.detalles-contenido{padding:0 20px}}@media (max-width: 480px){.modal-overlay{padding:10px}.modal-header,.detalles-contenido{padding:15px}.seccion-titulo{font-size:1rem}.detalle-valor{font-size:.9rem}}.modal-asignar-container{display:flex;flex-direction:column;gap:1rem}.search-box-container{margin-bottom:.5rem}.input-group{display:flex;align-items:center;background:#f3f4f6;padding:.5rem 1rem;border-radius:8px;border:1px solid #e5e7eb}.search-icon{color:#9ca3af;margin-right:.5rem}.search-input{border:none;background:transparent;width:100%;outline:none;font-size:.95rem;color:#374151}.users-list-wrapper{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.users-select-table{width:100%;border-collapse:collapse;font-size:.9rem}.users-select-table th{background:#f9fafb;padding:.75rem;text-align:left;font-weight:600;color:#4b5563;position:sticky;top:0;z-index:1;border-bottom:1px solid #e5e7eb}.users-select-table td{padding:.75rem;border-bottom:1px solid #f3f4f6;cursor:pointer}.users-select-table tr:hover{background-color:#f3f4f6}.users-select-table tr.selected-row{background-color:#eff6ff;border-left:3px solid #3b82f6}.text-center{text-align:center}.rol-badge{background:#e0e7ff;color:#4338ca;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.sin-rol{color:#9ca3af;font-style:italic;font-size:.8rem}.cargando-texto,.no-results{padding:2rem;text-align:center;color:#6b7280}.error-message{background-color:#fee2e2;color:#b91c1c;padding:.75rem;border-radius:6px;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.success-message{background-color:#dcfce7;color:#15803d;padding:.75rem;border-radius:6px;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.lista-empleados-container{padding:80px;background-color:#f8fafc;border-radius:12px;box-shadow:0 4px 20px #00000014;transition:all .3s ease}.lista-empleados-container h1{color:#1f2937;margin-bottom:25px;font-size:1.8rem;font-weight:700;border-bottom:1px solid #e5e7eb;padding-bottom:15px}.acciones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;flex-wrap:wrap;gap:15px}.search-bar i{color:#6b7280;margin-right:8px}.tabla-empleados{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:.95rem}.tabla-empleados th,.tabla-empleados td{padding:12px 15px;text-align:left}.tabla-empleados thead th{background-color:#f3f4f6;color:#374151;font-weight:600;text-transform:uppercase;font-size:.8rem;border-radius:8px}.tabla-empleados tbody tr{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.tabla-empleados tbody tr:hover{background-color:#eff6ff;transform:translateY(-2px)}.btn-accion{border:none;background:none;cursor:pointer;font-size:1rem;padding:6px 10px;margin-left:5px;border-radius:6px;transition:all .2s ease}.puesto-tag{background-color:#10b981;color:#fff;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500}.no-results{text-align:center;padding:30px;color:#6b7280;font-size:1rem}@media (max-width: 992px){.acciones-header{flex-direction:column;align-items:stretch;gap:12px}.btn-primary,.search-bar{width:100%}.tabla-empleados th,.tabla-empleados td{padding:10px;font-size:.85rem}}@media (max-width: 576px){.lista-empleados-container{padding:15px}.tabla-empleados thead{display:none}.tabla-empleados tbody tr{display:flex;flex-direction:column;padding:12px 15px;margin-bottom:12px;box-shadow:0 2px 8px #00000014}.tabla-empleados tbody td{display:flex;justify-content:space-between;padding:8px 0;font-size:.85rem;border-bottom:1px solid #f0f2f5}.tabla-empleados tbody td:before{content:attr(data-label);font-weight:600;color:#374151}.btn-accion{font-size:.85rem;padding:5px 8px;margin-left:0}}@media (max-width: 400px){.btn-primary{padding:8px 10px;font-size:.85rem}.tabla-empleados tbody td{flex-direction:column;gap:4px}}.btn-asignar{color:#8b5cf6}.btn-asignar:hover{background-color:#8b5cf61a}.puesto-tag{background-color:#8b5cf6;color:#fff;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500;display:inline-block}.puesto-tag-ninguno{color:#6b7280;font-style:italic;font-size:.85rem}@media (max-width: 768px){.acciones-td{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.btn-accion{margin:2px;padding:6px 8px}}@media (max-width: 576px){.acciones-td{flex-direction:column;align-items:center}.btn-accion{margin:2px 0;width:100%;justify-content:center}}.lista-empleados-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.btn-back{background-color:#f44336;color:#fff;border:none;padding:8px 14px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.9rem;transition:background-color .2s}.btn-back:hover{background-color:#d32f2f}.tabla-hoteles{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:.95rem}.tabla-hoteles th,.tabla-hoteles td{padding:12px 15px;text-align:left}.tabla-hoteles thead th{background-color:#0656f5;color:#fff;font-weight:600;text-transform:uppercase;font-size:.8rem;border-radius:1px}.tabla-hoteles tbody tr{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.tabla-hoteles tbody tr:hover{background-color:#eff6ff;transform:translateY(-2px)}.crear-puesto-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.crear-puesto-form-grid .full-width{grid-column:1 / -1}@media (max-width: 600px){.crear-puesto-form-grid{grid-template-columns:1fr}}.detalles-contenido{padding:0 1.5rem 1.5rem}.cargando-modal{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#6b7280}.cargando-modal .loader-icon{font-size:2rem;color:#3b82f6;animation:spin 1s linear infinite;margin-bottom:.5rem}.detalles-seccion{margin-bottom:25px;padding:15px;border:1px solid #e5e7eb;border-radius:12px;background-color:#f9fafb}.seccion-titulo{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:600;color:#1f2937;margin-bottom:15px;border-bottom:1px dashed #d1d5db;padding-bottom:8px}.seccion-icono{color:#3b82f6}.detalles-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detalles-grid .full-width{grid-column:1 / -1}.detalle-item{padding:0}.detalle-item label{display:block;font-weight:500;color:#6b7280;font-size:.85rem;margin-bottom:4px}.detalle-valor{font-size:1rem;font-weight:400;color:#1f2937;margin:0}.detalle-valor.destacado{font-weight:600;font-size:1.1rem}.detalle-valor.codigo{font-family:monospace;background-color:#e5e7eb;padding:3px 8px;border-radius:4px;display:inline-block}.descripcion-detalle{white-space:pre-wrap}.sin-dato{color:#9ca3af;font-style:italic}.estado-container{display:flex;align-items:center;gap:8px}.estado-tag{font-size:.9rem;font-weight:600;padding:4px 10px;border-radius:6px}.estado-tag.activo{background-color:#d1fae5;color:#059669}.estado-tag.inactivo{background-color:#fee2e2;color:#dc2626}.estado-tag.desconocido{background-color:#fef3c7;color:#d97706}.estatus-icono{font-size:1.1rem}@media (max-width: 600px){.detalles-grid{grid-template-columns:1fr}}.modificar-puesto-modal .modal-contenido{max-width:600px}.modal-header{text-align:center;padding:25px 25px 0;margin-bottom:10px}.header-icon{font-size:2.5rem;color:#3b82f6;margin-bottom:15px}.modal-header h2{color:#1f2937;margin-bottom:8px;font-size:1.5rem;font-weight:700}.modal-header p{color:#6b7280;font-size:1rem;margin-bottom:0}.formulario-modal{padding:0 25px 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}.full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:8px;color:#374151;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.hint{color:#6b7280;font-size:.75rem;margin-top:4px}.cargando-modal{text-align:center;padding:40px;color:#6b7280}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:8px;font-size:.9rem}.success-message{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:12px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:8px;font-size:.9rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e5e7eb}.btn-actualizar{background-color:#3b82f6;color:#fff}.btn-actualizar:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px)}.btn-cancelar:hover:not(:disabled){background-color:#4b5563;transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}@media (max-width: 768px){.modificar-puesto-modal .modal-contenido{margin:10px;max-width:none}.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.btn{justify-content:center}}@media (max-width: 480px){.modal-overlay{padding:10px}.modal-header,.formulario-modal{padding:15px}}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.confirmar-eliminar-modal .modal-contenido{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:500px;width:100%;animation:modalAppear .3s ease-out}@keyframes modalAppear{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirmar-header{text-align:center;padding:20px 25px 0;margin-bottom:20px}.warning-icon{font-size:3rem;color:#dc2626;margin-bottom:15px}.confirmar-header h2{color:#dc2626;margin-bottom:10px;font-size:1.5rem;font-weight:700}.confirmar-header p{color:#6b7280;font-size:1rem;line-height:1.5}.puesto-info{background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin:0 25px 20px}.info-item{margin-bottom:12px;font-size:.95rem;display:flex;align-items:center;gap:8px}.info-item:last-child{margin-bottom:0}.info-item strong{color:#374151;min-width:100px}.estado-tag{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.estado-tag.activo{background-color:#d1fae5;color:#065f46}.estado-tag.inactivo{background-color:#fee2e2;color:#991b1b}.advertencia{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:15px;margin:0 25px 20px;display:flex;align-items:flex-start;gap:10px;color:#dc2626;font-size:.9rem;line-height:1.4}.advertencia-icon{flex-shrink:0;margin-top:2px;font-size:1.1rem}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 25px;border-top:1px solid #e5e7eb}.btn{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;font-size:.9rem}.btn-eliminar-confirmar{background-color:#dc2626;color:#fff}.btn-eliminar-confirmar:hover{background-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 8px #dc26264d}.btn-cancelar{background-color:#6b7280;color:#fff}.btn-cancelar:hover{background-color:#4b5563;transform:translateY(-1px);box-shadow:0 4px 8px #6b72804d}@media (max-width: 768px){.confirmar-eliminar-modal .modal-contenido{margin:10px;max-width:none}.modal-actions{flex-direction:column}.btn{justify-content:center;width:100%}.info-item{flex-direction:column;align-items:flex-start;gap:4px}.info-item strong{min-width:auto}}@media (max-width: 480px){.modal-overlay{padding:10px}.confirmar-header,.puesto-info,.advertencia{padding:15px;margin-left:15px;margin-right:15px}.confirmar-header h2{font-size:1.3rem}.warning-icon{font-size:2.5rem}}.lista-puestos-container{padding:80px;background-color:#f8fafc;border-radius:12px;box-shadow:0 4px 20px #00000014}.titulo-icono{margin-right:10px;color:#3b82f6}.lista-puestos-container h1{color:#1f2937;margin-bottom:25px;font-size:1.8rem;font-weight:700;border-bottom:1px solid #e5e7eb;padding-bottom:15px;display:flex;align-items:center}.acciones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.info-puestos{margin-bottom:20px}.contador-puestos{display:inline-flex;align-items:center;gap:8px;background:#e0f2fe;padding:8px 16px;border-radius:20px;font-size:.9rem}.contador-puestos .numero{background:#0ea5e9;color:#fff;padding:4px 10px;border-radius:12px;font-weight:600;font-size:.8rem}.contador-puestos .texto{color:#0369a1;font-weight:500}.btn-primary{background-color:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-primary:hover{background-color:#2563eb;transform:translateY(-2px);box-shadow:0 6px 12px #3b82f64d}.search-bar{display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:8px;padding:0 12px;width:100%;max-width:350px;background-color:#fff;box-shadow:0 2px 6px #0000000d}.search-bar input{flex-grow:1;padding:10px 0;border:none;outline:none;background:none;font-size:.95rem;color:#1f2937}.tabla-responsive{overflow-x:auto}.tabla-puestos{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:.95rem}.tabla-puestos th,.tabla-puestos td{padding:12px 15px;text-align:left}.tabla-puestos thead th{background-color:#f3f4f6;color:#374151;font-weight:600;text-transform:uppercase;font-size:.8rem;border-radius:8px}.tabla-puestos tbody tr{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.tabla-puestos tbody tr:hover{background-color:#eff6ff;transform:translateY(-2px)}.id-cell{width:80px}.id-badge{background:#f3f4f6;color:#6b7280;padding:4px 8px;border-radius:6px;font-size:.8rem;font-weight:600;font-family:Courier New,monospace}.nombre-puesto{color:#1f2937;font-size:1rem}.descripcion-cell{max-width:300px;color:#6b7280;line-height:1.4}.estado-tag{padding:6px 12px;border-radius:12px;font-size:.75rem;font-weight:600;display:inline-block;text-transform:uppercase;letter-spacing:.5px}.estado-tag.activo{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.estado-tag.inactivo{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca}.estado-tag.desconocido{background-color:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.acciones-td{white-space:nowrap;width:140px}.btn-accion{border:none;background:none;cursor:pointer;font-size:1rem;padding:8px 10px;margin-left:5px;border-radius:6px;transition:all .2s ease}.btn-detalles{color:#10b981}.btn-detalles:hover{background-color:#10b9811a}.btn-modificar{color:#3b82f6}.btn-modificar:hover{background-color:#3b82f61a}.btn-eliminar{color:#dc2626}.btn-eliminar:hover{background-color:#dc35451a}.no-results{text-align:center;padding:40px;color:#6b7280;font-size:1rem}.cargando{text-align:center;padding:40px;color:#6b7280}.error-message{text-align:center;padding:40px;color:#dc2626;background-color:#fef2f2;border-radius:8px;border:1px solid #fecaca}.error-message button{margin-top:15px}@media (max-width: 768px){.acciones-header{flex-direction:column;align-items:stretch;gap:12px}.btn-primary,.search-bar{width:100%}.tabla-puestos th,.tabla-puestos td{padding:10px;font-size:.85rem}.descripcion-cell{max-width:200px}.acciones-td{width:120px}}@media (max-width: 576px){.lista-puestos-container{padding:15px}.acciones-td{display:flex;flex-direction:column;gap:5px;width:auto}.btn-accion{margin:2px 0}.descripcion-cell{max-width:150px}}.crear-modulo-form{display:flex;flex-direction:column;gap:1rem}.crear-modulo-icon-selector-container{position:relative}.crear-modulo-icon-selector-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;cursor:pointer;transition:all .2s}.crear-modulo-icon-selector-btn:hover{border-color:#3b82f6;background:#fff}.crear-modulo-icon-preview-large{display:flex;align-items:center;gap:.8rem}.crear-modulo-preview-icon-large{font-size:1.5rem;color:#3b82f6;display:flex;align-items:center}.crear-modulo-icon-name-large{font-weight:600;color:#374151}.crear-modulo-icon-selector-text{font-size:.8rem;color:#6b7280;background:#e5e7eb;padding:2px 8px;border-radius:12px}.crear-modulo-icon-selector-modal{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;z-index:50;margin-top:.5rem;display:flex;flex-direction:column;max-height:400px}.crear-modulo-icon-selector-header{padding:.8rem;border-bottom:1px solid #e5e7eb;background:#f8fafc;border-radius:8px 8px 0 0}.crear-modulo-icon-selector-header h3{margin:0 0 .5rem;font-size:.95rem;color:#1f2937}.crear-modulo-icon-filters{display:flex;gap:.5rem;align-items:center}.crear-modulo-icon-selector-content{padding:.8rem;overflow-y:auto;flex:1}.icon-option{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;border:1px solid transparent;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;position:relative}.library-badge{position:absolute;top:2px;right:2px;color:#fff;font-size:.55rem;padding:1px 3px;border-radius:3px;font-weight:700;text-transform:uppercase}.modificar-modulo-form{display:flex;flex-direction:column;gap:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:span 2}label{font-weight:600;font-size:.9rem;color:#374151}.form-input{padding:.6rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem}.form-input.textarea{resize:vertical}.modificar-modulo-loading{text-align:center;padding:3rem;color:#6b7280}.modificar-modulo-spinner{border:3px solid #f3f3f3;border-top:3px solid #3b82f6;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}.modificar-modulo-icon-selector-container{position:relative}.modificar-modulo-icon-selector-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;cursor:pointer;transition:all .2s}.modificar-modulo-icon-selector-btn:hover{border-color:#3b82f6;background:#fff}.modificar-modulo-icon-preview-large{display:flex;align-items:center;gap:.8rem}.modificar-modulo-preview-icon-large{font-size:1.5rem;color:#3b82f6;display:flex;align-items:center}.modificar-modulo-icon-name-large{font-weight:600;color:#374151}.modificar-modulo-icon-selector-text{font-size:.8rem;color:#6b7280;background:#e5e7eb;padding:2px 8px;border-radius:12px}.modificar-modulo-icon-selector-modal{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;z-index:50;margin-top:.5rem;display:flex;flex-direction:column;max-height:400px}.modificar-modulo-icon-selector-header{padding:.8rem;border-bottom:1px solid #e5e7eb;background:#f8fafc;border-radius:8px 8px 0 0}.modificar-modulo-icon-selector-header h3{margin:0 0 .5rem;font-size:.95rem;color:#1f2937}.modificar-modulo-icon-filters{display:flex;gap:.5rem;align-items:center}.input-group{display:flex;align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .6rem;flex:1}.search-input{border:none;outline:none;width:100%;margin-left:.5rem;font-size:.9rem}.category-select{padding:.4rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;max-width:120px}.btn-icon-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1rem;padding:.4rem}.modificar-modulo-icon-selector-content{padding:.8rem;overflow-y:auto;flex:1}.category-title{font-size:.85rem;color:#6b7280;margin:1rem 0 .5rem;border-bottom:1px solid #f1f5f9;padding-bottom:.2rem}.category-title:first-child{margin-top:0}.count{font-weight:400;font-size:.8rem;margin-left:.3rem}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem}.icon-option{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;border:1px solid transparent;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s}.icon-option:hover{background:#f3f4f6;border-color:#d1d5db}.icon-option.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.icon-display{font-size:1.5rem;margin-bottom:.3rem}.icon-name{font-size:.7rem;color:#4b5563;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}.no-icons-found{text-align:center;padding:2rem;color:#9ca3af}.error-message{background:#fee2e2;color:#b91c1c;padding:.7rem;border-radius:6px;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.eliminar-modulo-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:eliminarModuloOverlayFadeIn .3s ease-out}@keyframes eliminarModuloOverlayFadeIn{0%{opacity:0}to{opacity:1}}.eliminar-modulo-modal-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;animation:eliminarModuloSlideIn .3s ease-out;overflow:hidden}@keyframes eliminarModuloSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.eliminar-modulo-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#fc8181,#f56565);color:#fff}.eliminar-modulo-modal-title{display:flex;align-items:center;gap:12px;margin:0}.eliminar-modulo-modal-title h2{margin:0;font-size:1.4rem;font-weight:600}.eliminar-modulo-modal-title-icon{font-size:1.2rem}.eliminar-modulo-modal-close-btn{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:1rem}.eliminar-modulo-modal-close-btn:hover:not(:disabled){background:#ffffff4d;transform:rotate(90deg)}.eliminar-modulo-modal-close-btn:disabled{opacity:.6;cursor:not-allowed}.eliminar-modulo-modal-content{flex:1;overflow-y:auto;padding:24px}.eliminar-modulo-warning{display:flex;align-items:flex-start;gap:16px;padding:20px;background:#fed7d7;border:1px solid #feb2b2;border-radius:8px;margin-bottom:24px}.eliminar-modulo-warning-icon{color:#c53030;font-size:1.5rem;margin-top:2px;flex-shrink:0}.eliminar-modulo-warning-content{flex:1}.eliminar-modulo-warning-title{color:#c53030;margin:0 0 8px;font-size:1.1rem}.eliminar-modulo-warning-description{color:#744210;margin:0;line-height:1.5;font-size:.95rem}.eliminar-modulo-info{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-bottom:24px}.eliminar-modulo-info-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;color:#2d3748;font-size:1.1rem}.eliminar-modulo-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.eliminar-modulo-info-item{display:flex;flex-direction:column;gap:4px}.eliminar-modulo-info-item.full-width{grid-column:1 / -1}.eliminar-modulo-info-label{display:flex;align-items:center;gap:6px;font-weight:600;color:#4a5568;font-size:.875rem}.eliminar-modulo-info-value{color:#2d3748;font-size:.95rem}.eliminar-modulo-info-icon{color:#f56565;margin-right:6px;font-size:1rem}.eliminar-modulo-info-status{padding:4px 8px;border-radius:4px;font-size:.875rem;font-weight:600;text-align:center}.eliminar-modulo-info-status.active{background:#c6f6d5;color:#276749}.eliminar-modulo-info-status.inactive{background:#fed7d7;color:#c53030}.eliminar-modulo-info-roles{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.eliminar-modulo-role-badge{background:#f56565;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.eliminar-modulo-error{background:#fed7d7;border:1px solid #feb2b2;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:8px;font-weight:500}.eliminar-modulo-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid #e2e8f0}.eliminar-modulo-btn-danger,.eliminar-modulo-btn-secondary{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.eliminar-modulo-btn-danger{background:linear-gradient(135deg,#fc8181,#f56565);color:#fff}.eliminar-modulo-btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f5656566}.eliminar-modulo-btn-danger:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.eliminar-modulo-btn-secondary{background:#718096;color:#fff}.eliminar-modulo-btn-secondary:hover:not(:disabled){background:#4a5568}.eliminar-modulo-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.eliminar-modulo-btn-icon{font-size:.9rem}.eliminar-modulo-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.eliminar-modulo-modal-container{width:95%;max-width:95%}.eliminar-modulo-modal-header{padding:16px 20px}.eliminar-modulo-modal-content{padding:20px}.eliminar-modulo-info-grid{grid-template-columns:1fr}.eliminar-modulo-actions{flex-direction:column}.eliminar-modulo-modal-title h2{font-size:1.2rem}.eliminar-modulo-warning{flex-direction:column;text-align:center}}.asignar-modulos-content{display:flex;flex-direction:column;gap:1rem;height:100%}.status-info{display:flex;align-items:center;gap:.5rem;background-color:#f0f9ff;color:#0369a1;padding:.75rem;border-radius:8px;font-size:.9rem;border:1px solid #bae6fd}.error-message{background-color:#fee2e2;color:#b91c1c;padding:.75rem;border-radius:8px;display:flex;align-items:center;gap:.5rem}.success-message{background-color:#dcfce7;color:#15803d;padding:.75rem;border-radius:8px;display:flex;align-items:center;gap:.5rem}.btn-retry{margin-left:auto;background:#fff;border:1px solid #b91c1c;color:#b91c1c;padding:2px 8px;border-radius:4px;cursor:pointer}.search-container{margin-bottom:.5rem}.input-group{display:flex;align-items:center;background:#f3f4f6;padding:.75rem 1rem;border-radius:8px;border:1px solid #e5e7eb}.input-group input{border:none;background:transparent;width:100%;margin-left:.5rem;outline:none;font-size:1rem}.table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow:auto;max-height:500px;position:relative}.asignar-table{width:100%;border-collapse:collapse;min-width:800px}.asignar-table th{background:#f9fafb;padding:1rem;text-align:left;position:sticky;top:0;z-index:10;border-bottom:2px solid #e5e7eb}.col-modulo{min-width:250px;left:0;background:#f9fafb;z-index:11}.col-rol{text-align:center;min-width:120px}.rol-header{display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;color:#374151}.rol-desc{font-size:.75rem;font-weight:400;color:#6b7280;margin-top:.25rem}.asignar-table td{padding:.75rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}.asignar-table tr:hover{background-color:#f8fafc}.row-modified{background-color:#fff7ed}.row-modified:hover{background-color:#ffedd5}.row-modified td{border-bottom-color:#fed7aa}.cell-info{position:sticky;left:0;background:inherit;z-index:5;box-shadow:2px 0 5px -2px #0000001a}.mod-info{display:flex;gap:.75rem;align-items:flex-start}.mod-icon{font-size:1.2rem;color:#6b7280;margin-top:3px}.mod-text{display:flex;flex-direction:column}.mod-path{font-size:.75rem;background:#f1f5f9;padding:2px 6px;border-radius:4px;color:#64748b;margin-top:4px;font-family:monospace}.badge-modified{background:#f97316;color:#fff;font-size:.65rem;padding:1px 6px;border-radius:10px;margin-left:.5rem;vertical-align:middle}.cell-check{text-align:center}.checkbox-wrapper{position:relative;display:inline-block;width:24px;height:24px;cursor:pointer}.checkbox-wrapper input{opacity:0;width:0;height:0}.checkbox-custom{position:absolute;top:0;left:0;height:24px;width:24px;background-color:#fff;border:2px solid #d1d5db;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#fff;font-size:14px}.checkbox-wrapper input:checked~.checkbox-custom{background-color:#3b82f6;border-color:#3b82f6}.checkbox-wrapper input:hover~.checkbox-custom{border-color:#3b82f6}.summary-footer{text-align:right;font-size:.9rem;color:#6b7280;padding-top:.5rem}.text-modified{color:#ea580c}.empty-state,.loading-container{text-align:center;padding:3rem;color:#9ca3af}.empty-state svg{font-size:3rem;margin-bottom:1rem;opacity:.5}.spinner{border:3px solid #f3f3f3;border-top:3px solid #3b82f6;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}.spinner-small{border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;width:14px;height:14px;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle;margin-right:5px}.lista-modulos-container{padding:20px;max-width:1400px;margin:0 auto}.lista-modulos-content{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.lista-modulos-header{display:flex;justify-content:space-between;align-items:center;padding:30px 40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px 16px 0 0}.lista-modulos-title{display:flex;align-items:center;gap:16px;font-size:2.2rem;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.1)}.lista-modulos-title-icon{font-size:2rem;opacity:.9}.lista-modulos-btn-primary{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:14px 28px;border-radius:12px;font-weight:700;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 15px #48bb784d;position:relative;overflow:hidden}.lista-modulos-btn-primary: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 ease}.lista-modulos-btn-primary:hover:before{left:100%}.lista-modulos-btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #48bb7866}.lista-modulos-btn-primary:active{transform:translateY(-1px);box-shadow:0 4px 15px #48bb784d}.lista-modulos-toolbar{padding:20px 40px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.lista-modulos-actions{display:flex;gap:16px;align-items:center}.lista-modulos-btn-refresh{background:#fff;color:#4a5568;border:2px solid #e2e8f0;padding:10px 20px;border-radius:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.lista-modulos-btn-refresh:hover{background:#f7fafc;border-color:#cbd5e0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.lista-modulos-btn-refresh:disabled{opacity:.6;cursor:not-allowed;transform:none}.lista-modulos-btn-assign-all{background:linear-gradient(135deg,#ed8936,#dd6b20);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 15px #ed89364d;position:relative;overflow:hidden}.lista-modulos-btn-assign-all: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 ease}.lista-modulos-btn-assign-all:hover:before{left:100%}.lista-modulos-btn-assign-all:hover{transform:translateY(-3px);box-shadow:0 8px 25px #ed893666;background:linear-gradient(135deg,#ed8936,#c05621)}.lista-modulos-btn-assign-all:active{transform:translateY(-1px);box-shadow:0 4px 15px #ed89364d}.lista-modulos-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#718096}.lista-modulos-loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.lista-modulos-error{background:#fed7d7;border:1px solid #feb2b2;color:#c53030;padding:16px 20px;border-radius:10px;margin:20px 40px;display:flex;align-items:center;gap:12px;font-weight:600}.lista-modulos-table-container{padding:0}.lista-modulos-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:#718096}.lista-modulos-empty-icon{font-size:4rem;color:#cbd5e0;margin-bottom:20px;opacity:.6}.lista-modulos-empty-title{font-size:1.5rem;color:#4a5568;margin:0 0 12px;font-weight:600}.lista-modulos-empty-description{font-size:1.1rem;margin:0 0 30px;max-width:400px;line-height:1.5}.lista-modulos-table{width:100%;border-collapse:collapse;background:#fff}.lista-modulos-table th{background:#f7fafc;padding:20px 16px;text-align:left;font-weight:700;color:#2d3748;border-bottom:2px solid #e2e8f0;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.lista-modulos-table td{padding:20px 16px;border-bottom:1px solid #e2e8f0;vertical-align:top}.lista-modulos-table tr:hover{background:#f8fafc}.lista-modulos-icon-cell{display:flex;align-items:center;gap:12px}.lista-modulos-icon{color:#667eea;font-size:1.4rem;width:24px;text-align:center}.lista-modulos-icon-name{color:#718096;font-size:.9rem;text-transform:capitalize}.lista-modulos-route{background:#edf2f7;padding:4px 8px;border-radius:4px;font-family:Monaco,Consolas,monospace;font-size:.85rem;color:#4a5568}.lista-modulos-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;margin:2px}.lista-modulos-badge-active{background:#c6f6d5;color:#276749}.lista-modulos-badge-inactive{background:#fed7d7;color:#c53030}.lista-modulos-badge-role{background:#bee3f8;color:#2c5aa0;margin:2px 4px 2px 0}.text-muted{color:#a0aec0;font-style:italic}.lista-modulos-actions-group{display:flex;gap:8px;justify-content:center}.lista-modulos-btn-action{background:#fff;border:2px solid #e2e8f0;padding:10px;border-radius:10px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:#718096}.lista-modulos-btn-action:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.lista-modulos-btn-edit{border-color:#f6e05e;color:#d69e2e}.lista-modulos-btn-edit:hover{background:#fefcbf;border-color:#ecc94b}.lista-modulos-btn-delete{border-color:#fc8181;color:#e53e3e}.lista-modulos-btn-delete:hover{background:#fed7d7;border-color:#f56565}.lista-modulos-btn-assign{border-color:#9ae6b4;color:#38a169}.lista-modulos-btn-assign:hover{background:#f0fff4;border-color:#68d391}@media (max-width: 1024px){.lista-modulos-container{padding:15px}.lista-modulos-header{padding:25px 30px;flex-direction:column;gap:20px;text-align:center}.lista-modulos-title{font-size:1.8rem}.lista-modulos-toolbar{padding:15px 30px;flex-direction:column;gap:15px}.lista-modulos-actions{flex-wrap:wrap;justify-content:center}}@media (max-width: 768px){.lista-modulos-header{padding:20px}.lista-modulos-title{font-size:1.5rem;flex-direction:column;gap:8px}.lista-modulos-btn-primary,.lista-modulos-btn-assign-all{width:100%;justify-content:center}.lista-modulos-table-container{overflow-x:auto}.lista-modulos-table{min-width:800px}.lista-modulos-actions-group{flex-direction:column}}@media (max-width: 480px){.lista-modulos-container{padding:10px}.lista-modulos-header{padding:15px}.lista-modulos-toolbar{padding:10px 15px}.lista-modulos-btn-primary,.lista-modulos-btn-assign-all,.lista-modulos-btn-refresh{padding:12px 16px;font-size:.9rem}.lista-modulos-empty{padding:40px 15px}.lista-modulos-empty-icon{font-size:3rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lista-modulos-content{animation:fadeInUp .5s ease-out}.lista-modulos-btn-primary,.lista-modulos-btn-assign-all{position:relative;overflow:hidden}.lista-modulos-btn-primary:after,.lista-modulos-btn-assign-all:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(45deg);animation:shine 3s infinite}@keyframes shine{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.lista-modulos-filters{display:flex;gap:2rem;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:1rem;flex-wrap:wrap}.lista-modulos-filter-group{display:flex;align-items:center;gap:.5rem}.lista-modulos-filter-group label{font-weight:600;color:#495057;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.lista-modulos-filter-select{padding:.5rem;border:1px solid #ced4da;border-radius:4px;background:#fff;min-width:150px}.lista-modulos-filter-info{color:#6c757d;font-size:.9rem;margin-left:auto}.lista-modulos-header-info{flex:1}.lista-modulos-stats{display:flex;gap:1rem;margin-top:.5rem}.lista-modulos-stat{display:flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.lista-modulos-stat.active{background:#d1fae5;color:#065f46}.lista-modulos-stat.inactive{background:#fee2e2;color:#991b1b}.lista-modulos-stat.total{background:#dbeafe;color:#1e40af}.lista-modulos-row-inactive{background-color:#f8f9fa!important;opacity:.7}.lista-modulos-inactive-label{display:inline-flex;align-items:center;gap:.25rem;background:#fee2e2;color:#991b1b;padding:.125rem .5rem;border-radius:12px;font-size:.7rem;margin-left:.5rem;font-weight:500}.lista-modulos-badge-role-inactive{opacity:.6;background:#f3f4f6!important;color:#6b7280!important}.lista-modulos-roles-container{display:flex;flex-direction:column;gap:.25rem}.lista-modulos-empty-actions{display:flex;gap:1rem;margin-top:1rem}.lista-modulos-btn-secondary{background:#6b7280;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:500;transition:background .2s}.lista-modulos-btn-secondary:hover{background:#4b5563}@media (max-width: 768px){.lista-modulos-filters{flex-direction:column;align-items:stretch;gap:1rem}.lista-modulos-filter-info{margin-left:0;text-align:center}.lista-modulos-stats{flex-wrap:wrap;justify-content:center}.lista-modulos-empty-actions{flex-direction:column}}.mantenimiento-container{padding:2rem;font-family:Inter,sans-serif;background-color:#f8fafc;min-height:100vh}.main-title{font-size:2.25rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem}.hotel-selector-bar{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#fff;border-radius:12px;box-shadow:0 4px 10px #0000000d;margin-bottom:1.5rem}.hotel-selector-bar label{font-weight:500;color:#374151}.hotel-selector-bar select{flex-grow:1;padding:.75rem;border:1px solid #e5e7eb;border-radius:8px;background-color:#fff;font-size:1rem;font-weight:500}.filter-bar{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background-color:#fff;border-radius:12px;box-shadow:0 4px 10px #0000000d;margin-bottom:2rem;align-items:center}.search-bar{flex:2 1 300px;display:flex;align-items:center;gap:.5rem;background-color:#f3f4f6;padding:.75rem 1rem;border-radius:8px}.search-bar input{border:none;background:none;outline:none;width:100%;font-size:.9rem}.search-bar input:disabled{background-color:#e5e7eb;cursor:not-allowed}.search-bar svg{color:#6b7280}.filters{flex:1 1 200px;display:flex;align-items:center}.filters select{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:8px;background-color:#fff;font-size:.9rem}.filters select:disabled{background-color:#e5e7eb;cursor:not-allowed}.btn-crear{flex-shrink:0;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;padding:.75rem 1.25rem;font-weight:500;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background-color .2s}.btn-crear:hover{background-color:#2563eb}.btn-crear:disabled{background-color:#9ca3af;cursor:not-allowed}.content-area{padding:1rem}.loader,.no-results{text-align:center;padding:4rem;color:#6b7280;font-size:1.1rem}.no-results svg{margin-bottom:1rem;color:#9ca3af}.list-summary{margin-bottom:1rem;color:#4b5563;font-size:.9rem}.mantenimiento-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.mantenimiento-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #00000012;border:1px solid #e5e7eb;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.mantenimiento-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000001a}.card-header{display:flex;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid #f3f4f6;font-size:.8rem}.card-empleado{font-weight:600;color:#1f2937}.card-fecha{color:#6b7280}.card-body{padding:1.25rem;flex-grow:1}.card-body p{margin:0;color:#374151;line-height:1.5}.card-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background-color:#f9fafb;border-top:1px solid #f3f4f6;border-radius:0 0 12px 12px}.card-hotel{font-size:.8rem;font-weight:500;color:#3b82f6}.card-actions button{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;font-size:1.1rem;transition:color .2s}.card-actions button:hover{color:#3b82f6}.card-actions button.btn-delete:hover{color:#dc2626}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-container{background:#fff;border-radius:12px;padding:0;width:90%;max-width:600px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideIn .2s ease-out;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.modal-close-btn{background:none;border:none;font-size:1.5rem;color:#9ca3af;cursor:pointer}.modal-body{padding:1.5rem;overflow-y:auto}.modal-message{color:#4b5563;font-size:1rem;line-height:1.5;margin:0 0 1rem}.modal-message-warning{font-size:.9rem;color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;padding:.75rem;border-radius:8px;display:flex;align-items:center;gap:.5rem}.modal-footer{padding:1.5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb;display:flex;gap:.75rem;justify-content:flex-end;border-radius:0 0 12px 12px}.modal-btn{padding:.625rem 1.25rem;border:none;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.modal-btn-cancel{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.modal-btn-cancel:hover:not(:disabled){background:#e5e7eb}.modal-btn-confirm{background:#dc2626;color:#fff}.modal-btn-confirm:hover:not(:disabled){background:#b91c1c}.modal-footer button[type=submit].modal-btn-confirm{background:#3b82f6}.modal-footer button[type=submit].modal-btn-confirm:hover:not(:disabled){background:#2563eb}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem;font-size:.9rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-family:Inter,sans-serif}.form-group textarea{min-height:100px;resize:vertical}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background-color:#f3f4f6;cursor:not-allowed}.text-danger{color:#b91c1c;font-size:.9rem}.modal-detalle .modal-container{  max-width: 1000px}.galeria-seccion{margin-top:2rem;border-top:1px solid #e5e7eb;padding-top:1.5rem}.galeria-seccion h5{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.galeria-columnas{display:flex;gap:1.5rem}.galeria-columna{flex:1}.galeria-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.galeria-header strong{font-size:1rem}.btn-subir-foto{background-color:#f3f4f6;color:#3b82f6;border:1px solid #e5e7eb;border-radius:6px;padding:.3rem .6rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;font-size:.8rem;transition:all .2s}.btn-subir-foto:hover{background-color:#e5e7eb}.btn-subir-foto input[type=file]{display:none}.btn-subir-foto.disabled{opacity:.5;cursor:not-allowed}.loader-icon-small{animation:spin 1s linear infinite}.galeria-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;min-height:100px;background:#f9fafb;padding:.5rem;border-radius:8px}.galeria-item{display:block;border-radius:6px;overflow:hidden;border:1px solid #e5e7eb}.galeria-item img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1 / 1}.galeria-vacia{font-size:.9rem;color:#6b7280;padding:1rem}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.wizard-body-container{padding:1rem;min-height:400px;display:flex;flex-direction:column;align-items:center}.step3-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.step3-header h3{margin:0}.bulk-actions{display:flex;gap:1rem}.btn-link{background:none;border:none;color:#3b82f6;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.3rem;font-size:.9rem}.btn-link:hover{text-decoration:underline}.btn-link.danger{color:#ef4444}.grid-selector.compact{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.8rem}.grid-selector.compact .grid-card{padding:.8rem;font-size:.9rem}.grid-selector.compact .card-icon{font-size:1.5rem;margin-bottom:.3rem}.resumen-habitaciones{margin-top:1.5rem;width:100%;background:#f8fafc;padding:1rem;border-radius:8px;border:1px solid #e2e8f0}.resumen-habitaciones small{display:block;color:#64748b;margin-bottom:.5rem;font-weight:600}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem;max-height:80px;overflow-y:auto}.tag-habitacion{background:#fff;border:1px solid #cbd5e1;padding:2px 8px;border-radius:12px;font-size:.8rem;color:#334155;font-weight:500}.wizard-step{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;text-align:center}.step-fade-in{animation:fadeIn .3s ease-out}.step-header-icon{font-size:3rem;color:#3b82f6;margin-bottom:1rem;background:#eff6ff;width:70px;height:70px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid #dbeafe}.step-desc{color:#64748b;margin-bottom:1.5rem;font-size:.95rem}.hotel-card-preview{display:flex;align-items:center;gap:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.5rem;margin-top:1rem;box-shadow:0 4px 6px -1px #0000000d;max-width:450px;width:100%}.hotel-img-container{width:100px;height:100px;border-radius:12px;overflow:hidden;flex-shrink:0}.hotel-img-container img{width:100%;height:100%;object-fit:cover}.hotel-info-preview{text-align:left}.hotel-info-preview h4{margin:0 0 .5rem;font-size:1.2rem;color:#1e293b}.badge-hotel{display:inline-block;background:#dbeafe;color:#1e40af;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600;margin-top:.5rem}.grid-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;width:100%;max-height:350px;overflow-y:auto;padding:4px}.grid-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.grid-card:hover{border-color:#93c5fd;transform:translateY(-3px);box-shadow:0 4px 6px #0000000d}.grid-card.selected{border-color:#3b82f6;background-color:#eff6ff;box-shadow:0 0 0 2px #3b82f633}.card-icon{font-size:2rem;color:#64748b;margin-bottom:.5rem}.grid-card.selected .card-icon{color:#3b82f6}.card-title{font-weight:600;color:#334155;display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-subtitle{color:#94a3b8;font-size:.8rem}.check-mark{position:absolute;top:-8px;right:-8px;background:#3b82f6;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.8rem;box-shadow:0 2px 4px #0000001a}.wizard-form{width:100%;max-width:600px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{margin-bottom:1rem;text-align:left}.form-group label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;color:#475569;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.7rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;transition:border .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;outline:none}.wizard-footer{display:flex;flex-direction:column;width:100%;gap:1rem}.wizard-progress{display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.dot{width:30px;height:30px;background:#e2e8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:#64748b;font-size:.9rem;transition:all .3s}.dot.active{background:#3b82f6;color:#fff}.dot.current{box-shadow:0 0 0 3px #3b82f64d}.line{width:50px;height:4px;background:#e2e8f0;margin:0 5px;border-radius:2px}.line.active{background:#3b82f6}.wizard-buttons{display:flex;justify-content:space-between;width:100%}.wizard-spinner{border:4px solid #f3f3f3;border-top:4px solid #3b82f6;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:2rem auto}.spinner-small{border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;width:16px;height:16px;animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty-msg{color:#94a3b8;font-style:italic;grid-column:span 3;text-align:center;padding:2rem}.detalles-limpieza-container{display:flex;flex-direction:column;gap:1rem;min-height:400px}.detalles-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;height:100%}@media (max-width: 768px){.detalles-grid{grid-template-columns:1fr}}.section-title{font-size:1.1rem;color:#1e293b;border-bottom:2px solid #e2e8f0;padding-bottom:.5rem;margin-bottom:1rem;font-weight:700}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-bottom:1px solid #f1f5f9}.info-label{color:#64748b;display:flex;align-items:center;gap:.5rem;font-weight:500}.info-value{font-weight:600;color:#334155}.info-value.highlight{background:#e0f2fe;color:#0284c7;padding:2px 8px;border-radius:6px}.info-block{margin-top:1.5rem}.info-text-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;margin-top:.5rem;font-size:.95rem;color:#475569;line-height:1.5}.info-text-box.warning{background:#fffbeb;border-color:#fef3c7;color:#b45309}.assign-column{display:flex;flex-direction:column}.search-box-simple{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background:#fff;border:2px solid #e2e8f0;border-radius:10px;margin-bottom:1rem}.search-box-simple input{border:none;outline:none;width:100%;font-size:.95rem}.search-box-simple:focus-within{border-color:#3b82f6}.empleados-list-scroll{flex:1;overflow-y:auto;max-height:350px;border:1px solid #e2e8f0;border-radius:10px;padding:.5rem;background:#fff}.empleado-item{display:flex;align-items:center;gap:1rem;padding:.8rem;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent;margin-bottom:.25rem}.empleado-item:hover{background-color:#f8fafc}.empleado-item.selected{background-color:#eff6ff;border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.emp-avatar{width:40px;height:40px;background:#e0e7ff;color:#4338ca;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.emp-avatar.none{background:#f1f5f9;color:#94a3b8;font-weight:700}.emp-info{flex:1;display:flex;flex-direction:column}.emp-name{font-weight:600;color:#1e293b}.emp-puesto{font-size:.8rem;color:#64748b}.check-icon{color:#3b82f6}.status-notice{font-size:.9rem;color:#64748b;background:#f1f5f9;padding:1rem;border-radius:8px;margin-bottom:1.5rem;line-height:1.5}.read-only-box{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:10px;border:1px solid #e2e8f0}.read-only-box.success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.read-only-box.warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.ro-avatar{width:45px;height:45px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 2px 4px #0000000d}.ro-info{flex:1;display:flex;flex-direction:column}.ro-icon{font-size:1.2rem}.spinner-container{text-align:center;padding:2rem}.galeria-section{margin-top:2rem;border-top:2px solid #f1f5f9;padding-top:1.5rem}.galeria-tabs{display:flex;gap:1rem;margin-bottom:1.5rem}.galeria-tab{padding:.6rem 1.2rem;border-radius:20px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-weight:600;color:#64748b;transition:all .2s}.galeria-tab.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6;box-shadow:0 2px 4px #3b82f626}.galeria-container{min-height:150px}.galeria-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.galeria-item{border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;aspect-ratio:1;cursor:pointer;transition:transform .2s}.galeria-item:hover{transform:scale(1.05);box-shadow:0 4px 6px #0000001a}.galeria-item img{width:100%;height:100%;object-fit:cover}.empty-galeria{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:#f8fafc;border-radius:10px;border:2px dashed #e2e8f0;color:#94a3b8}.empty-galeria svg{font-size:2rem;margin-bottom:.5rem;opacity:.5}.empty-galeria p{font-size:.9rem}.reporte-form{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem}.reporte-info{background-color:#eff6ff;border:1px solid #dbeafe;color:#1e40af;padding:1rem;border-radius:8px;font-size:.95rem;line-height:1.5}.date-range-group{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.date-input-wrapper{display:flex;flex-direction:column;gap:.3rem}.date-input-wrapper span{font-size:.85rem;color:#64748b;font-weight:500}.date-input-wrapper input{padding:.7rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;color:#334155}.radio-group-reporte{display:flex;gap:.5rem;background:#f8fafc;padding:.5rem;border-radius:10px;border:1px solid #e2e8f0}.radio-option{flex:1;text-align:center;padding:.6rem;cursor:pointer;border-radius:8px;font-size:.9rem;font-weight:500;color:#64748b;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.radio-option input{display:none}.radio-option:hover{background:#e2e8f0}.radio-option.selected{background:#fff;color:#3b82f6;font-weight:700;box-shadow:0 2px 4px #0000000d;border:1px solid #e2e8f0}.form-select-reporte{width:100%;padding:.7rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;color:#334155;background-color:#fff}.radio-option.disabled{opacity:.5;cursor:not-allowed;background-color:#f1f5f9;color:#94a3b8;pointer-events:none}.info-text-disabled{display:block;margin-top:.5rem;color:#94a3b8;font-size:.8rem;font-style:italic}.gestion-limpiezas-container{padding:2rem;background-color:#f8fafc;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-seleccionar{width:100%;padding:.8rem;background:#eff6ff;color:#2563eb;border:1px solid #dbeafe;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.hotel-card:hover .btn-seleccionar{background:#3b82f6;color:#fff;border-color:#3b82f6}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;border-radius:24px;box-shadow:0 20px 40px -10px #764ba266;color:#fff;position:relative;overflow:hidden}.dashboard-header:before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:#ffffff1a;border-radius:50%}.dashboard-header:after{content:"";position:absolute;bottom:-30px;left:100px;width:100px;height:100px;background:#ffffff0d;border-radius:50%}.hotel-context h2{margin:0;color:#fff;font-size:1.8rem;font-weight:800;letter-spacing:-.5px}.hotel-context .subtitle{color:#ffffffd9;font-size:1rem;font-weight:500;margin-top:.25rem;display:block}.btn-action{display:flex;align-items:center;gap:.6rem;padding:.8rem 1.5rem;border-radius:12px;border:none;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #0000001a}.btn-action.primary{background:#fff;color:#667eea}.btn-action.primary:hover{background:#f8fafc;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0003}.btn-action.secondary{background:#0003;color:#fff;border:1px solid rgba(255,255,255,.1)}.btn-action.secondary:hover{background:#0000004d}.status-tab-limpiezas-container{display:flex;gap:1rem;margin-bottom:2rem;overflow-x:auto;padding:4px}.status-tab-limpieza{flex:1;padding:1.2rem;background:#fff;border:none;border-radius:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.8rem;font-weight:600;font-size:1rem;color:#64748b;box-shadow:0 4px 6px -1px #0000000d;border-bottom:4px solid transparent;transition:all .2s;min-width:160px}.status-tab-limpieza:hover{transform:translateY(-2px);color:#334155}.status-tab-limpieza.active{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a}.status-tab-limpieza.status-1.active{border-color:#f97316;color:#ea580c;background:#fff7ed}.status-tab-limpieza.status-2.active{border-color:#3b82f6;color:#2563eb;background:#eff6ff}.status-tab-limpieza.status-3.active{border-color:#10b981;color:#059669;background:#ecfdf5}.status-tab-limpieza.status-4.active{border-color:#ef4444;color:#dc2626;background:#fef2f2}.count{background:#0000000f;padding:2px 10px;border-radius:20px;font-size:.85rem;font-weight:700}.status-tab-limpieza.active .count{background:#fff9}.dashboard-filters{margin-bottom:1.5rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-box{display:flex;align-items:center;background:#fff;padding:.8rem 1rem;border-radius:16px;border:1px solid #e2e8f0;max-width:400px;color:#64748b;box-shadow:0 2px 4px #00000005;transition:all .2s;flex:1}.search-box:focus-within{border-color:#818cf8;box-shadow:0 0 0 3px #818cf833;color:#4f46e5}.search-box input{border:none;outline:none;width:100%;margin-left:1rem;font-size:1rem;color:#334155}.limpiezas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.limpieza-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s;border:1px solid #f1f5f9;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.limpieza-card:hover{transform:translateY(-4px)}.limpieza-card.border-1{border-top:10px solid #f97316;box-shadow:0 10px 15px -3px #f97316,0 4px 6px -2px #f973160d}.limpieza-card.border-1:hover{box-shadow:0 20px 25px -5px #f97316,0 10px 10px -5px #f973160a;border-color:#fdba74}.limpieza-card.border-2{border-top:4px solid #3b82f6;box-shadow:0 10px 15px -3px #3b82f6,0 4px 6px -2px #3b82f60d}.limpieza-card.border-2:hover{box-shadow:0 20px 25px -5px #3b82f6,0 10px 10px -5px #3b82f60a;border-color:#93c5fd}.limpieza-card.border-3{border-top:4px solid #10b981;box-shadow:0 10px 15px -3px #10b981,0 4px 6px -2px #10b9810d}.limpieza-card.border-3:hover{box-shadow:0 20px 25px -5px #10b981,0 10px 10px -5px #10b9810a;border-color:#6ee7b7}.limpieza-card.border-4{border-top:4px solid #ef4444;box-shadow:0 10px 15px -3px #ef444426,0 4px 6px -2px #ef44440d}.limpieza-card.border-4:hover{box-shadow:0 20px 25px -5px #ef444433,0 10px 10px -5px #ef44440a;border-color:#fca5a5}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.room-name{background:#f8fafc;padding:6px 12px;border-radius:8px;font-weight:700;color:#334155;border:1px solid #e2e8f0}.date-text{color:#64748b;display:flex;align-items:center;gap:6px;font-weight:500;background:#fff;border:1px solid #e2e8f0;padding:4px 10px;border-radius:20px}.card-main{flex:1}.type-title{margin:0 0 .5rem;font-size:1.15rem;color:#0f172a;font-weight:700}.btn-filter-tab{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid #e2e8f0;padding:1rem 1.5rem;border-radius:16px;cursor:pointer;font-weight:600;color:#64748b;transition:all .2s;box-shadow:0 2px 4px #00000005;white-space:nowrap;font-size:.9rem}.btn-filter-tab:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.btn-filter-tab.active{background:#fff7ed;border-color:#f97316;color:#c2410c;box-shadow:0 4px 6px -1px #f9731633}.btn-filter-tab svg{font-size:1.1rem}.description{margin:0;font-size:.95rem;color:#64748b;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-bottom{margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center}.employee-badge{font-size:.9rem;color:#475569;font-weight:500;display:flex;align-items:center;gap:.5rem}.card-actions{display:flex;gap:.5rem}.btn-icon-action{width:36px;height:36px;border-radius:10px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:1rem}.btn-icon-action.assign{background-color:#eff6ff;color:#3b82f6;border:1px solid #dbeafe}.btn-icon-action.assign:hover{background-color:#3b82f6;color:#fff;transform:translateY(-2px);box-shadow:0 4px 6px -1px #3b82f633}.btn-details{background:#fff;border:1px solid #e2e8f0;padding:.5rem 1.2rem;border-radius:10px;color:#0f172a;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s}.btn-details:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000000d}.unassigned-badge{color:#f59e0b;font-weight:700;font-size:.85rem;background:#fffbeb;padding:4px 10px;border-radius:6px;border:1px solid #fcd34d}.btn-toggle-filter{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid #e2e8f0;padding:.8rem 1.2rem;border-radius:12px;cursor:pointer;font-weight:600;color:#64748b;transition:all .2s;box-shadow:0 2px 4px #00000005;white-space:nowrap;font-size:.9rem}.btn-toggle-filter:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.btn-toggle-filter.active{background:#fff7ed;border-color:#f97316;color:#c2410c;box-shadow:0 4px 6px -1px #f9731633}.toggle-icon{font-size:1.2rem}.toggle-icon.on{color:#f97316}.toggle-icon.off{color:#9ca3af}.empty-dashboard{grid-column:1 / -1;text-align:center;padding:5rem;color:#94a3b8;background:#fff;border-radius:20px;border:2px dashed #e2e8f0}.empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.4;color:#cbd5e1}.detalles-incidencia-container{display:flex;flex-direction:column;gap:1.5rem;min-height:350px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.incidencia-summary-header{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;padding:1.5rem;border-radius:12px;border:1px solid #e2e8f0}.summary-title{margin:0 0 .5rem;font-size:1.4rem;color:#1e293b}.summary-meta{display:flex;gap:.8rem;align-items:center}.meta-date{color:#64748b;font-size:.9rem;display:flex;align-items:center;gap:5px}.ubicacion-box{text-align:right}.ubicacion-box small{display:block;color:#94a3b8;text-transform:uppercase;font-size:.75rem;font-weight:700}.ubicacion-box strong{font-size:1.1rem;color:#334155;display:flex;align-items:center;justify-content:flex-end;gap:5px}.badge-estatus{padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-estatus.pendiente{background:#fff7ed;color:#ea580c;border:1px solid #fdba74}.badge-estatus.proceso{background:#eff6ff;color:#2563eb;border:1px solid #93c5fd}.badge-estatus.resuelta{background:#ecfdf5;color:#059669;border:1px solid #6ee7b7}.badge-estatus.cancelada{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.badge-estatus.default{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.badge-prioridad{padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase}.badge-prioridad.alta{background:#fee2e2;color:#dc2626}.badge-prioridad.media{background:#ffedd5;color:#c2410c}.badge-prioridad.baja{background:#ecfccb;color:#3f6212}.badge-prioridad.normal{background:#f1f5f9;color:#475569}.detalles-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 768px){.detalles-grid{grid-template-columns:1fr}.incidencia-summary-header{flex-direction:column;align-items:flex-start;gap:1rem}.ubicacion-box{text-align:left}.ubicacion-box strong{justify-content:flex-start}}.section-title{font-size:1rem;color:#64748b;border-bottom:2px solid #f1f5f9;padding-bottom:.5rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;font-weight:600}.info-text-box{background:#fff;border:1px solid #e2e8f0;padding:1rem;border-radius:8px;color:#334155;line-height:1.6;min-height:80px;font-size:.95rem}.info-row{display:flex;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid #f8fafc}.mt-4{margin-top:1rem}.info-label{color:#64748b;font-weight:500;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.info-value{font-weight:600;color:#0f172a;font-size:.95rem}.galeria-column{background:#fcfcfc;border-radius:12px;padding:1rem;border:1px solid #f1f5f9}.galeria-grid-incidencia{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.8rem}.galeria-item{border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;aspect-ratio:1;cursor:pointer;position:relative;transition:all .2s}.galeria-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.overlay-zoom{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .2s}.galeria-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.galeria-item:hover img{transform:scale(1.05)}.galeria-item:hover .overlay-zoom{opacity:1}.empty-galeria{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:10px;color:#94a3b8;text-align:center}.empty-galeria svg{font-size:2.5rem;margin-bottom:.5rem;opacity:.5}.reporte-mantenimiento-container{background:#fff7ed;padding:2rem;border-radius:12px;border:1px solid #ffedd5}.reporte-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.reporte-icon{font-size:2.5rem;color:#ea580c;background:#fff;padding:12px;border-radius:50%;box-shadow:0 4px 6px #ea580c1a}.reporte-header h3{margin:0 0 .2rem;color:#9a3412;font-size:1.25rem}.reporte-header p{margin:0;color:#c2410c;font-size:.95rem}.form-reporte{display:flex;flex-direction:column;gap:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#431407;font-size:.9rem}.select-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:#9a3412;z-index:1}.form-group select,.form-group textarea{width:100%;padding:.8rem;border:1px solid #fed7aa;border-radius:8px;font-size:1rem;outline:none;background:#fff;transition:all .2s}.form-group select{padding-left:2.5rem}.form-group textarea:focus,.form-group select:focus{border-color:#ea580c;box-shadow:0 0 0 3px #ea580c26}.sub-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:11000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s}.sub-modal-card{background:#fff;padding:2rem;border-radius:16px;width:90%;max-width:420px;text-align:center;box-shadow:0 20px 50px #0000004d;animation:popIn .3s cubic-bezier(.175,.885,.32,1.275)}.sub-modal-icon{font-size:3rem;color:#ef4444;margin-bottom:1rem;background:#fef2f2;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-left:auto;margin-right:auto}.sub-modal-card h3{color:#1f2937;margin-bottom:.5rem}.sub-modal-card p{color:#6b7280;font-size:.95rem;line-height:1.5}.sub-modal-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.lightbox-overlay{position:fixed;inset:0;background:#000000f2;z-index:12000;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:fadeIn .2s}.lightbox-content{position:relative;max-width:90%;max-height:90%}.lightbox-content img{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 0 30px #00000080;cursor:default}.lightbox-close{position:absolute;top:-50px;right:-10px;background:#ffffff1a;border:none;color:#fff;font-size:1.5rem;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.lightbox-close:hover{background:#ffffff4d}.modal-actions.space-between{justify-content:space-between;width:100%}.right-actions{display:flex;gap:1rem}.btn-danger-outline{background:transparent;border:1px solid #fca5a5;color:#ef4444;padding:.6rem 1.2rem;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.btn-danger-outline:hover{background:#fef2f2;border-color:#ef4444}.spinner-container{display:flex;justify-content:center;padding:2rem}@keyframes popIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.fade-in{animation:fadeIn .3s ease-out}.gestion-incidencias-container{padding:2rem;background-color:#f8fafc;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.page-header{margin-bottom:2.5rem}.page-header h1{display:flex;align-items:center;gap:.75rem;color:#1e293b;margin-bottom:.5rem;font-size:1.8rem;font-weight:800}.page-header p{color:#64748b;font-size:1.05rem}.hoteles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.hotel-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 15px -3px #0000000d;transition:all .3s ease;border:1px solid #f1f5f9;cursor:pointer;position:relative}.hotel-card:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-color:#e2e8f0}.hotel-card-img{height:200px;position:relative;overflow:hidden}.hotel-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.hotel-card:hover .hotel-card-img img{transform:scale(1.05)}.hotel-stars{position:absolute;top:15px;right:15px;background:#fffffff2;color:#f59e0b;padding:6px 12px;border-radius:30px;font-size:.9rem;font-weight:700;box-shadow:0 4px 6px #0000001a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hotel-card-body{padding:1.75rem}.hotel-card-body h3{margin:0 0 .75rem;color:#0f172a;font-size:1.25rem;font-weight:700}.hotel-card-body p{color:#64748b;font-size:.95rem;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.6rem;line-height:1.5}.hotel-card-body p svg{margin-top:3px;color:#94a3b8}.btn-seleccionar{width:100%;padding:.8rem;background:#fff1f2;color:#e11d48;border:1px solid #fecdd3;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.hotel-card:hover .btn-seleccionar{background:#e11d48;color:#fff;border-color:#e11d48}.dashboard-header-incidencias{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;background:linear-gradient(135deg,#eca816ea,#f98f16);padding:2rem;border-radius:24px;box-shadow:0 20px 40px -10px #f9731666;color:#fff;position:relative;overflow:hidden}.dashboard-header-incidencias:before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:#ffffff1a;border-radius:50%}.header-left{display:flex;align-items:center;gap:2rem;position:relative;z-index:2}.btn-back{display:flex;align-items:center;gap:.6rem;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;font-weight:600;font-size:.95rem;padding:.75rem 1.25rem;border-radius:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .2s ease}.btn-back:hover{background:#ffffff59;transform:translate(-4px)}.header-right{display:flex;gap:1rem;position:relative;z-index:2}.subtitle{color:#ffffffe6;display:block;margin-top:.2rem}.btn-action{padding:.8rem 1.2rem;border-radius:10px;font-weight:600;cursor:pointer;display:flex;gap:.5rem;align-items:center}.btn-action.secondary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.btn-action.secondary:hover{background:#ffffff4d}.status-tabs-container{display:flex;gap:1rem;margin-bottom:2rem;overflow-x:auto;padding:4px}.status-tab{flex:1;padding:1rem;background:#fff;border:none;border-radius:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;color:#64748b;box-shadow:0 4px 6px -1px #0000000d;border-bottom:4px solid transparent;transition:all .2s;min-width:140px}.status-tab:hover{transform:translateY(-2px)}.status-tab.active{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a}.tab-todos.active{border-color:#64748b;color:#1e293b;background-color:#f8fafc}.status-tab.status-1.active{border-color:#f97316;color:#c2410c;background:#fff7ed}.border-1{border-top:4px solid #f97316;box-shadow:0 4px 6px #f973161a}.text-estatus-1{color:#f97316;font-weight:700}.status-tab.status-2.active{border-color:#3b82f6;color:#1d4ed8;background:#eff6ff}.border-2{border-top:4px solid #3b82f6;box-shadow:0 4px 6px #3b82f61a}.text-estatus-2{color:#3b82f6;font-weight:700}.status-tab.status-3.active{border-color:#10b981;color:#047857;background:#ecfdf5}.border-3{border-top:4px solid #10b981;box-shadow:0 4px 6px #10b9811a}.text-estatus-3{color:#10b981;font-weight:700}.status-tab.status-0.active{border-color:#ef4444;color:#b91c1c;background:#fef2f2}.border-0{border-top:4px solid #ef4444;box-shadow:0 4px 6px #ef44441a}.text-estatus-0{color:#ef4444;font-weight:700}.count{background:#0000000f;padding:2px 8px;border-radius:12px;font-size:.8rem}.dashboard-filters{margin-bottom:2rem}.search-box{display:flex;align-items:center;background:#fff;padding:1rem 1.5rem;border-radius:16px;border:1px solid #e2e8f0;max-width:500px;width:100%;color:#64748b}.search-box input{border:none;outline:none;width:100%;margin-left:1rem;font-size:1rem}.incidencias-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.incidencia-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s;border:1px solid #f1f5f9;box-shadow:0 4px 6px -1px #0000000d}.incidencia-card:hover{transform:translateY(-4px);box-shadow:0 12px 20px -5px #0000001a}.incidencia-header{display:flex;justify-content:space-between;font-size:.85rem}.room-tag{background:#f1f5f9;padding:4px 8px;border-radius:6px;font-weight:700;color:#334155;display:flex;align-items:center;gap:5px}.date-tag{color:#64748b;display:flex;align-items:center;gap:5px}.incidencia-title{margin:0 0 .5rem;font-size:1.1rem;color:#0f172a}.incidencia-desc{font-size:.9rem;color:#64748b;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.incidencia-footer{margin-top:auto;padding-top:1rem;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:flex-end}.reporter-info{display:flex;flex-direction:column;font-size:.85rem}.reporter-info small{color:#94a3b8}.reporter-info span{font-weight:600}.priority-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase}.priority-badge.alta{background:#fee2e2;color:#dc2626}.priority-badge.media{background:#ffedd5;color:#c2410c}.priority-badge.baja{background:#ecfccb;color:#3f6212}.priority-badge.normal{background:#f1f5f9;color:#475569}.btn-details{background:#fff;border:1px solid #e2e8f0;padding:.5rem 1rem;border-radius:8px;color:#64748b;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s;display:flex;align-items:center;gap:5px}.btn-details:hover{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}.loading-text,.empty-dashboard{text-align:center;padding:4rem;color:#94a3b8;grid-column:1/-1}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.icon-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.booking-wrapper{padding:20px;display:flex;flex-direction:column;gap:25px;background:#f5f7fa}.card{background:#fff;border-radius:14px;padding:25px;box-shadow:0 6px 14px #00000014}.panel-title{font-size:22px;display:flex;align-items:center;gap:8px;margin-bottom:20px;color:#0d3b66}.form-grid{display:grid;grid-template-columns:1fr .8fr .7fr;gap:25px}.form-block label{font-weight:600;color:#333;margin-top:10px}.form-block select,.form-block input{width:100%;padding:10px;border-radius:8px;margin-top:6px;border:1px solid #cbd5e1}.noches-display{margin-top:10px;font-weight:700;color:#555}.hoteles-grid{margin-top:12px;display:flex;flex-direction:column;gap:12px}.hotel-item{display:flex;background:#f7f9fc;padding:10px;border-radius:12px;gap:10px;cursor:pointer;transition:.25s;border:2px solid transparent}.hotel-item:hover{background:#eef3ff;border-color:#1e90ff}.hotel-item.active{background:#d7e8ff;border-color:#1e90ff}.hotel-item img{width:70px;height:70px;border-radius:10px;object-fit:cover}.hotel-detalle-panel{background:#f8fbff;padding:15px;border-radius:12px;text-align:center;border:1px solid #e1eaff}.detalle-box img{width:160px;height:120px;border-radius:12px;object-fit:cover}.detalle-box h4{margin-top:10px;font-size:18px}.detalle-placeholder{color:#aaa;padding:40px 0}.btn-buscar{margin-top:15px;width:100%;padding:12px;background:#0d6efd;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer}.btn-buscar:disabled{background:#7ca9ff}.habitaciones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.hab-card{padding:18px;border-radius:14px;background:#fff;box-shadow:0 5px 12px #00000012;display:flex;flex-direction:column;gap:10px}.hab-header{display:flex;justify-content:space-between;font-weight:700}.precio-tag{background:#e3f1ff;padding:5px 10px;border-radius:10px;color:#0d6efd}.hab-desc{font-size:15px;color:#555}.mini-galeria{display:flex;gap:8px}.mini-galeria img{width:70px;height:60px;border-radius:8px;object-fit:cover}.hab-actions{display:flex;justify-content:space-between;margin-top:10px}.btn-sec{padding:8px 12px;background:#f1f1f1;border-radius:8px}.btn-main{padding:8px 12px;background:#0d6efd;color:#fff;border-radius:8px}.booking-modal-bg{position:fixed;top:0;left:0;width:100%;height:100%;background:#14141473;display:flex;justify-content:center;align-items:center}.booking-modal-box{width:600px;background:#fff;border-radius:12px;padding:0;overflow:hidden}.modal-header{background:#0d6efd;color:#fff;padding:12px 18px;display:flex;justify-content:space-between}.modal-close{background:transparent;border:none;color:#fff;font-size:22px}.modal-body{padding:20px}.galeria-full img{width:100%;margin-bottom:10px;border-radius:12px}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#f0f0f099;display:flex;justify-content:center;align-items:center;font-size:22px;font-weight:700}.stepper{display:flex;justify-content:center;align-items:center;margin:25px auto;gap:40px}.step{display:flex;flex-direction:column;align-items:center;color:#b5b5b5;font-size:14px;transition:.3s ease}.step span{width:38px;height:38px;border-radius:50%;border:3px solid #b5b5b5;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:15px;margin-bottom:6px;background:#fff;transition:.3s ease}.step.active{color:var(--primary-dark, #1C6ED6)}.step.active span{border-color:var(--primary-dark, #1C6ED6);background:var(--primary-dark, #1C6ED6);color:#fff;transform:scale(1.08)}.stepper:before{content:"";position:absolute;width:60%;height:3px;background:#e0e0e0;z-index:-1;margin-top:-15px;left:50%;transform:translate(-50%)}.modal-confirmar-reserva-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:999}.modal-confirmar-reserva-content{background:#fff;border-radius:12px;padding:25px 30px;max-width:500px;width:90%;text-align:center;box-shadow:0 10px 25px #0003;animation:fadeIn .3s ease;position:relative}.modal-confirmar-reserva-close{position:absolute;top:15px;right:20px;font-size:1.5rem;border:none;background:none;cursor:pointer}.modal-confirmar-reserva-imagenes{display:flex;justify-content:center;gap:15px;margin-bottom:15px}.modal-confirmar-reserva-img-container img{width:80px;height:80px;object-fit:cover;border-radius:8px}.modal-confirmar-reserva-detalles p{margin:6px 0}.modal-confirmar-reserva-total{font-size:1.2rem;font-weight:700;margin-top:10px}.modal-confirmar-reserva-btn{margin-top:15px;padding:10px 20px;background:#1e90ff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:.2s}.modal-confirmar-reserva-btn:hover{background:#1c6ed6}.modal-codigo-reserva-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-codigo-reserva-content{background:#fff;border-radius:12px;padding:25px 30px;max-width:450px;width:90%;text-align:center;box-shadow:0 10px 25px #0003;animation:fadeIn .3s ease}.modal-codigo-reserva-codigo{font-size:2rem;font-weight:700;color:#1e90ff;margin:10px 0}.modal-codigo-reserva-detalle p{margin:5px 0;font-size:.95rem;color:#333}.modal-codigo-reserva-btn{margin-top:15px;padding:10px 20px;background:#1e90ff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:.2s}.modal-codigo-reserva-btn:hover{background:#1c6ed6}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.mcr-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000}.mcr-overlay{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.mcr-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;padding:30px;width:90%;max-width:950px;animation:fadeInScale .3s cubic-bezier(.25,.46,.45,.94) forwards;display:flex;flex-direction:column;gap:20px;max-height:90vh;overflow-y:auto}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mcr-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #f0f0f0;padding-bottom:15px}.mcr-header h2{margin:0;font-size:1.8em;color:#34495e;font-weight:700}.mcr-close{background:none;border:none;font-size:2em;color:#95a5a6;cursor:pointer;padding:5px 10px;line-height:1;transition:color .2s}.mcr-close:hover{color:#e74c3c}.mcr-form{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;align-items:center;padding:15px;background:#ecf0f1;border-radius:8px;box-shadow:inset 0 1px 3px #0000000d}.mcr-form select,.mcr-form input{padding:12px;border:1px solid #bdc3c7;border-radius:6px;font-size:1em;color:#34495e;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box}.mcr-form input[readonly]{background-color:#f7f9fb;cursor:not-allowed;color:#7f8c8d}.mcr-form select:focus,.mcr-form input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db33;outline:none}.mcr-save{grid-column:span 1;background-color:#01b43d;color:#fff;border:none;padding:12px;border-radius:6px;font-size:1em;font-weight:700;cursor:pointer;transition:background-color .2s,transform .1s;height:100%}.mcr-save:hover{background-color:#01b43d}.mcr-save:active{transform:scale(.98)}.mcr-table{width:100%;border-collapse:collapse;margin-top:20px;font-size:.95em;overflow:hidden;box-shadow:0 4px 12px #0000000d;border-radius:8px}.mcr-table thead tr{background-color:#001dc4;color:#fff;text-align:left}.mcr-table th{padding:15px;font-weight:600;border:none}.mcr-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.mcr-table tbody tr:hover{background-color:#f8f9fa}.mcr-table td{padding:15px;color:#34495e;vertical-align:middle}.mcr-table td:last-child{text-align:center;width:120px}.mcr-table tfoot tr{background-color:#ecf0f1;font-size:1.1em;border-top:2px solid #bdc3c7}.mcr-table tfoot td{padding:15px;color:#2c3e50}.mcr-table tfoot td:last-child{color:#050505;font-size:1.2em;font-weight:700}.mcr-action{background:none;border:none;cursor:pointer;margin:0 5px;font-size:1.2em;padding:5px;line-height:1;transition:color .2s,transform .1s}.mcr-action.edit{color:#f1c40f}.mcr-action.edit:hover{color:#e67e22;transform:scale(1.1)}.mcr-action.delete{color:#e74c3c}.mcr-action.delete:hover{color:#c0392b;transform:scale(1.1)}@media (max-width: 768px){.mcr-container{padding:20px;width:95%}.mcr-form{grid-template-columns:1fr 1fr}.mcr-form select,.mcr-form input,.mcr-save{grid-column:span 1}.mcr-form input:nth-child(4),.mcr-save{grid-column:span 2}.mcr-table,.mcr-table thead,.mcr-table tbody,.mcr-table th,.mcr-table td,.mcr-table tr{display:block}.mcr-table thead tr{position:absolute;top:-9999px;left:-9999px}.mcr-table td{border:none;border-bottom:1px solid #f0f0f0;position:relative;padding-left:50%;text-align:right}.mcr-table td:before{content:attr(data-label);position:absolute;left:10px;width:45%;padding-right:10px;white-space:nowrap;text-align:left;font-weight:700;color:#7f8c8d}.mcr-table tfoot td{display:inline-block;width:100%;box-sizing:border-box;text-align:right!important}.mcr-table tfoot td:first-child{text-align:left!important;width:50%}.mcr-table tfoot td:last-child{text-align:right!important;width:50%}}.modal-checkin-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:999999}.modal-checkin-container{background:#fff;width:420px;max-height:85vh;padding:22px;border-radius:18px;box-shadow:0 4px 18px #00000040;overflow-y:auto;animation:fadeInModal .25s ease-out}.modal-checkin-title{font-size:22px;font-weight:700;color:#1e90ff;margin-bottom:10px;text-align:center}.modal-checkin-subtitle{font-size:17px;font-weight:600;margin-bottom:8px;color:#333}.modal-checkin-cargos-box{background:#f7faff;padding:14px;border-radius:12px;border:1px solid #dceaff;margin-bottom:16px}.modal-checkin-cargos-list{list-style:none;padding:0;margin:0}.modal-checkin-cargo-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #ececec;font-size:14px;color:#333}.modal-checkin-cargo-item:last-child{border-bottom:none}.modal-checkin-cargo-item strong{color:#1c6ed6}.modal-checkin-totales-box{background:#eef6ff;padding:14px;border-radius:12px;border:1px solid #cfe2ff;margin-bottom:18px}.modal-checkin-totales-box p{margin:4px 0;font-size:15px;color:#333}.modal-checkin-deuda{margin-top:8px;padding-top:8px;border-top:1px solid #bcd2f5;font-size:16px!important;font-weight:700!important;color:#e63946!important}.modal-checkin-input{width:100%;padding:10px;border-radius:10px;border:1px solid #d1d9e6;margin-bottom:20px;font-size:15px;transition:.2s}.modal-checkin-input:focus{border-color:#1e90ff;box-shadow:0 0 0 3px #1e90ff40;outline:none}.modal-checkin-msg{font-size:15px;color:#444;margin-bottom:10px;text-align:left}.modal-checkin-actions{display:flex;justify-content:space-between;gap:10px}.modal-checkin-btn-cancel{flex:1;padding:10px 0;background:#e6e6e6;border:none;border-radius:10px;font-size:15px;cursor:pointer;transition:.25s;font-weight:600}.modal-checkin-btn-cancel:hover{background:#d2d2d2}.modal-checkin-btn-confirm{flex:1;padding:10px 0;background:#1e90ff;border:none;color:#fff;border-radius:10px;font-size:15px;cursor:pointer;transition:.25s;font-weight:600}.modal-checkin-btn-confirm:hover{background:#1c6ed6}.modal-checkin-loading{text-align:center;color:#666;font-size:14px}.modal-checkout-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:999999}.modal-checkout-container{background:#fff;width:420px;max-height:85vh;padding:22px;border-radius:18px;box-shadow:0 4px 18px #00000040;overflow-y:auto;animation:fadeInModal .25s ease-out}@keyframes fadeInModal{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-checkout-title{font-size:22px;font-weight:700;color:#1e90ff;margin-bottom:10px;text-align:center}.modal-checkout-subtitle{font-size:17px;font-weight:600;margin-bottom:8px;color:#333}.modal-checkout-cargos-box{background:#f7faff;padding:14px;border-radius:12px;border:1px solid #dceaff;margin-bottom:16px}.modal-checkout-cargos-list{list-style:none;padding:0;margin:0}.modal-checkout-cargo-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #ececec;font-size:14px;color:#333}.modal-checkout-cargo-item:last-child{border-bottom:none}.modal-checkout-cargo-item strong{color:#1c6ed6}.modal-checkout-totales-box{background:#eef6ff;padding:14px;border-radius:12px;border:1px solid #cfe2ff;margin-bottom:18px}.modal-checkout-totales-box p{margin:4px 0;font-size:15px;color:#333}.modal-checkout-deuda{margin-top:8px;padding-top:8px;border-top:1px solid #bcd2f5;font-size:16px!important;font-weight:700!important;color:#e63946!important}.modal-checkout-input{width:100%;padding:10px;border-radius:10px;border:1px solid #d1d9e6;margin-bottom:20px;font-size:15px;transition:.2s}.modal-checkout-input:focus{border-color:#1e90ff;box-shadow:0 0 0 3px #1e90ff40;outline:none}.modal-checkout-msg{font-size:15px;color:#444;margin-bottom:10px;text-align:left}.modal-checkout-actions{display:flex;justify-content:space-between;gap:10px}.modal-checkout-btn-cancel{flex:1;padding:10px 0;background:#e6e6e6;border:none;border-radius:10px;font-size:15px;cursor:pointer;transition:.25s;font-weight:600}.modal-checkout-btn-cancel:hover{background:#d2d2d2}.modal-checkout-btn-confirm{flex:1;padding:10px 0;background:#1e90ff;border:none;color:#fff;border-radius:10px;font-size:15px;cursor:pointer;transition:.25s;font-weight:600}.modal-checkout-btn-confirm:hover{background:#1c6ed6}.modal-checkout-loading{text-align:center;color:#666;font-size:14px}.rol-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:999}.rol-modal{background:#fff;padding:25px;border-radius:12px;width:420px;max-width:95%;box-shadow:0 4px 12px #0003;animation:fadeIn .2s}.rol-modal h2{margin-bottom:15px;font-size:22px;font-weight:600}.rol-modal input,.rol-modal textarea,.rol-modal select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;margin-bottom:15px}.rol-modal-buttons{display:flex;justify-content:flex-end;gap:10px}.btn-guardar{background:#4caf50;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer}.btn-eliminar{background:#e53935;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer}.btn-cerrar{background:#777;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.error-text{color:#d9534f;font-size:13px;margin-top:4px}.roles-container{padding:20px;background-color:#fdfdfd;border-radius:12px;box-shadow:0 4px 20px #00000014;font-family:Segoe UI,sans-serif}.roles-container h1{font-size:1.6rem;color:#1f2937;margin-bottom:20px;font-weight:600}.roles-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:20px;gap:10px}.roles-btn-crear{background-color:#734bd1;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s ease}.roles-btn-crear:hover{background-color:#5736a3}.roles-search-bar{display:flex;align-items:center;border:1px solid #ced4da;border-radius:6px;padding:5px 10px;background-color:#fff;gap:6px}.roles-search-bar input{border:none;outline:none;font-size:.9rem;width:200px}.roles-tabla{width:100%;border-collapse:collapse;font-size:.9rem}.roles-tabla th,.roles-tabla td{text-align:left;padding:10px 12px;border-bottom:1px solid #e9ecef}.roles-tabla thead th{background-color:#f8f9fa;font-weight:600;color:#495057;text-transform:uppercase;font-size:.85rem}.roles-tabla tbody tr:hover{background-color:#f1f3f5;transform:translateY(-1px);transition:all .2s ease}.roles-tabla th:nth-child(4),.roles-tabla td:nth-child(4){width:200px}.roles-tabla td:nth-child(4){display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.roles-btn-accion{border:none;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.roles-btn-ver{background-color:#2b28cc;color:#fff}.roles-btn-ver:hover{background-color:#2b28cc}.roles-btn-modificar{background-color:#fff455;color:#333}.roles-btn-modificar:hover{background-color:#dfd333}.roles-btn-eliminar{background-color:#dc3545;color:#fff}.roles-btn-eliminar:hover{background-color:#bb2d3b}.roles-no-results{text-align:center;padding:12px;color:#6c757d}@media (max-width: 768px){.roles-header{flex-direction:column;align-items:stretch}.roles-search-bar input{width:100%}}.roles-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:999}.roles-modal{background:#fff;border-radius:16px;padding:30px;width:400px;max-width:90%;box-shadow:0 5px 25px #0000004d;animation:fadeInRoles .3s ease-in-out}.roles-modal h2{margin-top:0;color:#333;text-align:center}.roles-detalle p{margin:8px 0;color:#444}.roles-btn-cerrar-modal{display:block;margin:20px auto 0;background-color:#3498db;color:#fff;border:none;padding:10px 18px;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.roles-btn-cerrar-modal:hover{background-color:#217dbb}@keyframes fadeInRoles{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-rol-editar-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-rol-editar{background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #00000040;width:90%;max-width:500px;overflow:hidden;transform:scale(.95);animation:abrirModal .3s ease-out forwards}@keyframes abrirModal{to{transform:scale(1);opacity:1}}.modal-rol-editar h2{background-color:#3b82f6;color:#fff;padding:15px 20px;margin:0;font-size:1.5em;display:flex;align-items:center;border-top-left-radius:12px;border-top-right-radius:12px}.modal-rol-editar h2:before{content:" ";font-size:1.2em;margin-right:10px}.modal-rol-editar form{padding:20px}.modal-rol-editar label{display:block;margin-top:15px;margin-bottom:5px;font-weight:600;color:#333}.modal-rol-editar input[type=text],.modal-rol-editar textarea,.modal-rol-editar select{width:100%;padding:10px;margin-bottom:10px;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:1em;transition:border-color .2s}.modal-rol-editar input[type=text]:focus,.modal-rol-editar textarea:focus,.modal-rol-editar select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 5px #2a63a54d}.modal-rol-editar textarea{resize:vertical;min-height:80px}.modal-rol-editar-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.btn-rol-editar-guardar,.btn-rol-editar-cerrar{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background-color .2s,opacity .2s}.btn-rol-editar-guardar{background-color:#3b82f6;color:#fff}.btn-rol-editar-guardar:hover{background-color:#3b82f6}.btn-rol-editar-cerrar{background-color:#919191;color:#fff}.btn-rol-editar-cerrar:hover{background-color:#919191}.btn-rol-editar-guardar:disabled{background-color:#ccc;cursor:not-allowed}.modal-rol-crear-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-rol-crear{background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #00000040;width:90%;max-width:500px;overflow:hidden;opacity:0;transform:scale(.95);animation:abrirModalCrear .3s ease-out forwards}@keyframes abrirModalCrear{to{transform:scale(1);opacity:1}}.modal-rol-crear h2{background-color:#3b82f6;color:#fff;padding:15px 20px;margin:0;font-size:1.5em;display:flex;align-items:center;border-top-left-radius:12px;border-top-right-radius:12px}.modal-rol-crear h2:before{content:" ";font-size:1.2em;margin-right:10px}.modal-rol-crear form{padding:20px}.modal-rol-crear label{display:block;margin-top:15px;margin-bottom:5px;font-weight:600;color:#333}.modal-rol-crear input[type=text],.modal-rol-crear textarea{width:100%;padding:10px;margin-bottom:10px;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;font-size:1em;transition:border-color .2s}.modal-rol-crear input[type=text]:focus,.modal-rol-crear textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 5px #3b82f666}.modal-rol-crear textarea{resize:vertical;min-height:80px}.modal-rol-crear-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.btn-rol-crear-guardar,.btn-rol-crear-cerrar{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background-color .2s,opacity .2s}.btn-rol-crear-guardar{background-color:#3b82f6;color:#fff}.btn-rol-crear-guardar:hover{background-color:#2563eb}.btn-rol-crear-cerrar{background-color:#919191;color:#fff}.btn-rol-crear-cerrar:hover{background-color:#7d7d7d}.btn-rol-crear-guardar:disabled{background-color:#ccc;cursor:not-allowed}:root{--primary: #4530ff;--primary-dark: #2713db;--primary-light: #6ba6ff;--secondary: #00A699;--dark: #222222;--dark-medium: #484848;--dark-light: #717171;--light: #FFFFFF;--light-gray: #F7F7F7;--light-blue: #F0F8FF;--border: #DDDDDD;--border-light: #EBEBEB;--shadow: 0 2px 16px rgba(0, 0, 0, .08);--shadow-hover: 0 8px 28px rgba(0, 0, 0, .12);--shadow-section: 0 4px 20px rgba(0, 0, 0, .06);--radius: 16px;--radius-small: 8px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box;font-family:Circular,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif}body{background:linear-gradient(135deg,#f5f7fa,#e4edf5);color:var(--dark);line-height:1.6}.rc-container{max-width:1200px;margin:0 auto;padding:24px 20px 60px;display:flex;flex-direction:column;gap:30px}.rc-hero{text-align:center;padding:40px 20px;background:linear-gradient(135deg,var(--light) 0%,var(--light-blue) 100%);border-radius:var(--radius);box-shadow:var(--shadow-section);margin-bottom:20px}.rc-header{font-size:2.8rem;font-weight:800;margin-bottom:12px;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.rc-subtitle{font-size:1.2rem;color:var(--dark-light);margin-bottom:40px;font-weight:400}.rc-progress{display:flex;justify-content:center;align-items:center;max-width:500px;margin:0 auto;position:relative}.rc-progress:before{content:"";position:absolute;top:20px;left:25%;right:25%;height:3px;background:var(--border);z-index:1}.rc-progress-step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;flex:1}.rc-progress-step span{width:40px;height:40px;border-radius:50%;background:var(--light);border:3px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--dark-light);margin-bottom:8px;transition:var(--transition)}.rc-progress-step.current span{border-color:var(--primary);color:var(--primary);background:var(--light);box-shadow:0 0 0 4px #4530ff1a}.rc-progress-step.completed span{background:var(--primary);border-color:var(--primary);color:var(--light)}.rc-progress-step p{font-size:.9rem;font-weight:600;color:var(--dark-light)}.rc-progress-step.current p{color:var(--primary)}.rc-progress-step.completed p{color:var(--dark)}.rc-section-container{background:var(--light);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-section);border:1px solid var(--border-light);transition:var(--transition)}.rc-section-container:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.hotel-section{border-left:4px solid var(--primary)}.dates-section{border-left:4px solid var(--secondary)}.rooms-section{border-left:4px solid #00B4D8}.rc-section-header{display:flex;align-items:center;gap:20px;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid var(--light-gray)}.rc-section-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-light));display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #4530ff33}.rc-section-icon .rc-icon{width:28px;height:28px;color:var(--light)}.rc-section-title-content h2{font-size:1.8rem;font-weight:700;color:var(--dark);margin-bottom:4px}.rc-section-title-content p{color:var(--dark-light);font-size:1rem}.rc-grid-hoteles{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.hotel-card{height:100%;display:flex;flex-direction:column;border:2px solid transparent;transition:var(--transition);border-radius:var(--radius);overflow:hidden;background:var(--light);position:relative}.hotel-card:hover{border-color:var(--primary-light);transform:translateY(-4px);box-shadow:var(--shadow-hover)}.hotel-card.selected{border-color:var(--primary);box-shadow:0 8px 32px #4530ff26}.hotel-card-image-wrapper{position:relative;height:220px;overflow:hidden}.hotel-card-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.hotel-card:hover .hotel-card-image{transform:scale(1.05)}.hotel-card-badge{position:absolute;top:12px;left:12px;background:#fffffff2;color:var(--dark);padding:6px 12px;border-radius:20px;font-weight:600;font-size:.8rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border)}.hotel-card-details{padding:20px;flex-grow:1;display:flex;flex-direction:column;gap:12px}.hotel-card-details h4{font-size:1.3rem;font-weight:700;color:var(--dark);line-height:1.2}.rc-dates-container{max-width:500px}.rc-grid-fechas{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.rc-fecha-input{display:flex;flex-direction:column;gap:8px}.rc-fecha-input label{font-weight:600;color:var(--dark);font-size:.95rem}.rc-fecha-input input{padding:14px 16px;border:2px solid var(--border);border-radius:var(--radius-small);font-size:1rem;transition:var(--transition);background:var(--light);font-family:inherit}.rc-fecha-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4530ff1a}.rc-fecha-input input:disabled{background:var(--light-gray);color:var(--dark-light);cursor:not-allowed}.rc-dates-summary{padding:16px;background:var(--light-blue);border-radius:var(--radius-small);border-left:4px solid var(--secondary)}.rc-dates-summary p{color:var(--dark);font-weight:500;margin-bottom:4px}.rc-dates-summary p:last-child{margin-bottom:0}.rc-grid-habitaciones{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.habitacion-card{height:100%;display:flex;flex-direction:column;border:2px solid transparent;transition:var(--transition);position:relative;border-radius:var(--radius);overflow:hidden;background:var(--light)}.habitacion-card:hover{border-color:var(--border);transform:translateY(-4px);box-shadow:var(--shadow-hover)}.habitacion-card.selected{border-color:var(--primary);box-shadow:0 8px 32px #4530ff26}.habitacion-card-header{position:relative;height:180px;overflow:hidden}.habitacion-card-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.habitacion-card:hover .habitacion-card-image{transform:scale(1.05)}.habitacion-card-price{position:absolute;top:10px;right:10px;background:#000c;color:var(--light);padding:6px 12px;border-radius:16px;font-weight:700;font-size:.8rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.rc-galeria-controls{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#fffffff2;padding:6px 12px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.rc-galeria-btn{background:none;border:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);background:var(--light);border:1px solid var(--border)}.rc-galeria-btn:hover{background:var(--primary);border-color:var(--primary)}.rc-galeria-btn:hover .rc-icon{color:var(--light)}.rc-galeria-counter{font-size:.75rem;font-weight:600;color:var(--dark);min-width:40px;text-align:center}.habitacion-card-body{padding:16px;flex-grow:1;display:flex;flex-direction:column;gap:12px}.habitacion-card-info h4{font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:4px;line-height:1.2}.habitacion-clave{color:var(--dark-light);font-size:.85rem;font-style:italic}.caracteristicas-container{margin-top:6px}.caracteristicas-container h5{font-size:.9rem;font-weight:600;color:var(--dark);margin-bottom:6px}.rc-caracteristicas-list{list-style:none;display:flex;flex-direction:column;gap:4px}.rc-caracteristicas-list li{padding:6px 0;border-bottom:1px solid var(--border-light);font-size:.8rem;color:var(--dark-medium);line-height:1.3}.rc-caracteristicas-list li:last-child{border-bottom:none}.rc-caracteristicas-list strong{color:var(--dark);font-size:.8rem}.select-overlay{position:absolute;top:16px;left:16px;background:var(--primary);color:var(--light);padding:10px 18px;border-radius:20px;font-weight:700;font-size:.8rem;z-index:10;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px #4530ff4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.habitacion-card .select-overlay{top:12px;left:12px;padding:6px 12px;font-size:.7rem}.habitacion-card .select-overlay .rc-icon{width:12px;height:12px}.rc-confirmar-section{background:var(--light);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-section);border:2px solid var(--primary-light);display:flex;justify-content:space-between;align-items:center;gap:30px}.rc-resumen-rapido{flex:1}.rc-resumen-rapido h3{font-size:1.3rem;font-weight:700;color:var(--dark);margin-bottom:12px}.rc-resumen-details{display:flex;flex-direction:column;gap:6px}.rc-resumen-details p{color:var(--dark-medium);font-size:.95rem}.rc-total{font-size:1.2rem;font-weight:700;color:var(--primary);border-top:2px solid var(--border);padding-top:8px;margin-top:8px}.btn-confirmar{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--light);border:none;border-radius:12px;padding:18px 36px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:var(--transition);box-shadow:0 4px 16px #4530ff4d;display:flex;align-items:center;gap:10px;white-space:nowrap}.btn-confirmar:hover{transform:translateY(-3px);box-shadow:0 8px 24px #4530ff66;background:linear-gradient(135deg,var(--primary-dark),var(--primary))}.rc-icon{width:20px;height:20px;display:inline-block;vertical-align:middle}.rc-section-title .rc-icon{margin-right:8px;color:var(--primary)}.hotel-stars .rc-icon.star{width:18px;height:18px;color:gold;margin-right:2px}.hotel-stars .rc-icon.star:not(.filled){color:var(--border)}.hotel-address{display:flex;align-items:center;gap:8px;color:var(--dark-light);font-size:.9rem}.hotel-address .rc-icon{width:16px;height:16px;color:var(--dark-light)}.rc-galeria-btn .rc-icon.arrow{width:14px;height:14px}.rc-modal-title .rc-icon{margin-right:8px}.rc-modal-subtitle .rc-icon{margin-right:8px;color:var(--primary)}.btn-confirmar .rc-icon{width:18px;height:18px;margin-right:8px}.rc-loading{display:flex;flex-direction:column;align-items:center;padding:60px 20px;gap:20px}.rc-spinner{width:50px;height:50px;border:4px solid var(--border);border-left:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rc-loading p{color:var(--dark-light);font-size:1.1rem}.rc-empty-state{display:flex;flex-direction:column;align-items:center;padding:60px 20px;gap:20px;color:var(--dark-light);text-align:center}.rc-empty-state .rc-icon{width:64px;height:64px;color:var(--border)}.rc-empty-state p{font-size:1.1rem;max-width:300px}.rc-empty-btn{background:var(--light);border:2px solid var(--primary);color:var(--primary);padding:12px 24px;border-radius:var(--radius-small);font-weight:600;cursor:pointer;transition:var(--transition);margin-top:10px}.rc-empty-btn:hover{background:var(--primary);color:var(--light)}.rc-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.rc-modal{background:var(--light);border-radius:var(--radius);padding:40px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 24px 48px #0000004d;border:1px solid var(--border-light)}.rc-modal-close{position:absolute;top:20px;right:20px;background:var(--light-gray);border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.rc-modal-close:hover{background:var(--border)}.rc-modal-title{font-size:1.8rem;font-weight:700;color:var(--dark);margin-bottom:10px;display:flex;align-items:center;gap:10px}.rc-modal-title .rc-icon{color:var(--primary)}.rc-modal-content{margin:30px 0}.rc-modal-section{margin-bottom:30px}.rc-modal-section h3{font-size:1.2rem;font-weight:600;color:var(--dark);margin-bottom:16px;display:flex;align-items:center;gap:8px}.rc-modal-grid{display:flex;flex-direction:column;gap:12px}.rc-modal-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-light)}.rc-modal-row.highlight{background:var(--light-blue);margin:0 -20px;padding:12px 20px;border-radius:var(--radius-small);border-bottom:none;font-weight:700}.rc-modal-row:last-child{border-bottom:none}.rc-modal-list{list-style:none;display:flex;flex-direction:column;gap:8px}.rc-modal-list li{padding:10px 0;border-bottom:1px solid var(--border-light);color:var(--dark-medium)}.rc-modal-list li:last-child{border-bottom:none}.rc-modal-list li strong{color:var(--dark)}.modal-btn{width:100%;margin-top:20px;justify-content:center}@media (max-width: 1024px){.rc-grid-habitaciones{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}}@media (max-width: 768px){.rc-container{padding:16px 12px 40px;gap:20px}.rc-header{font-size:2rem}.rc-subtitle{font-size:1rem}.rc-progress{max-width:100%}.rc-progress:before{left:20%;right:20%}.rc-section-container{padding:24px 20px}.rc-section-header{flex-direction:column;text-align:center;gap:16px}.rc-grid-hoteles,.rc-grid-habitaciones{grid-template-columns:1fr}.rc-grid-fechas{grid-template-columns:1fr;gap:16px}.rc-confirmar-section{flex-direction:column;text-align:center;gap:20px}.rc-modal{padding:30px 20px}.rc-modal-title{font-size:1.5rem}.habitacion-card-header{height:200px}}@media (max-width: 480px){.rc-header{font-size:1.7rem}.rc-section-title-content h2{font-size:1.4rem}.btn-confirmar{width:100%;justify-content:center;padding:16px 24px;font-size:1rem}.rc-progress-step p{font-size:.8rem}.rc-grid-hoteles{grid-template-columns:1fr}.hotel-card-image-wrapper{height:200px}}.modal-detalles-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:flex-start;padding-top:60px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;animation:fadeIn .2s ease-in-out}.modal-detalles-container{background:#fff;border-radius:16px;width:480px;max-width:90%;padding:24px 28px;position:relative;box-shadow:0 8px 30px #00000040;animation:slideUp .3s ease-out;font-family:Inter,sans-serif}.modal-detalles-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1.5px solid #f1f1f1;padding-bottom:10px;margin-bottom:15px}.modal-detalles-header h2{font-size:1.3rem;color:#222;font-weight:600}.modal-detalles-close{background:none;border:none;font-size:1.3rem;color:#888;cursor:pointer;transition:color .2s ease-in-out}.modal-detalles-close:hover{color:#333}.modal-detalles-content p{margin:10px 0;font-size:.95rem;color:#333;line-height:1.5}.modal-detalles-content strong{color:#111827}.modal-detalles-buttons{display:flex;justify-content:flex-end;margin-top:25px}.modal-detalles-btn-cancelar{padding:10px 18px;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .25s ease-in-out;font-size:.95rem;background:#e5e7eb;color:#111827}.modal-detalles-btn-cancelar:hover{background:#d1d5db}@keyframes slideUp{0%{transform:translateY(20px);opacity:.8}to{transform:translateY(0);opacity:1}}.modal-eliminar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000008c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-eliminar-container{background:#fff;width:420px;border-radius:16px;box-shadow:0 10px 25px #00000040;padding:24px;position:relative;animation:fadeIn .25s ease-in-out}.modal-eliminar-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:20px;color:#666;cursor:pointer;transition:color .2s}.modal-eliminar-close:hover{color:#e53935}.modal-eliminar-header{text-align:center;margin-top:10px}.warning-icon{background-color:#fff3cd;color:#ff9800;font-size:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:70px;height:70px;margin-bottom:10px}.modal-eliminar-header h2{font-size:1.4rem;margin:5px 0;color:#333}.modal-eliminar-header p{color:#666;font-size:.95rem}.modal-eliminar-info{background:#f8f9fa;padding:12px 16px;border-radius:8px;margin:18px 0}.info-eliminar-item{margin-bottom:6px;font-size:.95rem}.info-eliminar-item strong{color:#333}.modal-eliminar-warning{display:flex;align-items:center;background:#fff3cd;color:#856404;padding:10px 14px;border-radius:8px;font-size:.9rem;margin-bottom:18px}.modal-eliminar-warning .icon{margin-right:8px;font-size:18px}.modal-eliminar-actions{display:flex;justify-content:space-between;gap:10px}.btn-eliminar-cancelar,.btn-eliminar-confirmar{flex:1;padding:10px 0;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:.95rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.btn-eliminar-cancelar{background-color:#e0e0e0;color:#333}.btn-eliminar-cancelar:hover{background-color:#d5d5d5}.btn-eliminar-confirmar{background-color:#e53935;color:#fff}.btn-eliminar-confirmar:hover{background-color:#c62828}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.reservas-container{padding:20px;background-color:#fdfdfd;border-radius:12px;box-shadow:0 4px 20px #00000014;font-family:Segoe UI,sans-serif}.reservas-container h1{font-size:1.6rem;color:#1f2937;margin-bottom:20px;font-weight:600}.filtro-hotel{margin-bottom:20px;display:flex;align-items:center;gap:10px;font-family:Arial,sans-serif;font-size:14px}.filtro-hotel label{font-weight:600;color:#333}.filtro-hotel select{padding:6px 10px;border:1px solid #ccc;border-radius:6px;background-color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease}.filtro-hotel select:hover{border-color:#888}.filtro-hotel select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 4px #4caf5066}.reservas-filtros{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.reservas-search-bar{display:flex;align-items:center;border:1px solid #ced4da;border-radius:6px;padding:5px 10px;background-color:#fff;gap:6px}.reservas-search-bar input{border:none;outline:none;font-size:.9rem;width:200px}.reservas-fechas{display:flex;align-items:center;gap:15px}.reservas-fechas label{display:flex;align-items:center;gap:5px;font-size:14px;color:#333}.reservas-fechas input[type=date]{padding:6px 10px;border:1px solid #ccc;border-radius:6px;background-color:#fff;font-size:14px;transition:all .2s ease-in-out}.reservas-fechas input[type=date]:hover{border-color:#888}.reservas-fechas input[type=date]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 4px #4caf5066}.reservas-btn-crear{background-color:#734bd1;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s ease}.reservas-btn-crear:hover{background-color:#0b5ed7}.reservas-tabla{width:100%;border-collapse:collapse;font-size:.9rem}.reservas-tabla th,.reservas-tabla td{text-align:left;padding:10px 12px;border-bottom:1px solid #e9ecef}.reservas-tabla thead th{background-color:#f8f9fa;font-weight:600;color:#495057;text-transform:uppercase;font-size:.85rem}.reservas-tabla tbody tr:hover{background-color:#f1f3f5;transform:translateY(-1px);transition:all .2s ease}.acciones-container{display:flex;gap:5px;flex-wrap:wrap}.reservas-btn-accion{border:none;padding:5px 8px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;font-size:.85rem}.reservas-btn-ver{background:#1e90ff;color:#fff}.reservas-btn-ver:hover{background:#1c6ed6}.reservas-btn-eliminar{background:#dc3545;color:#fff}.reservas-btn-eliminar:hover{background:#b02a37}.reservas-btn-cargos{background:#0d6efd;color:#fff}.reservas-btn-cargos:hover{background:#084298}.reservas-btn-checkin{background:#198754;color:#fff}.reservas-btn-checkin:hover{background:#146c43}.reservas-btn-checkout{background:#fd7e14;color:#fff}.reservas-btn-checkout:hover{background:#d66f0f}.reservas-btn-accion:disabled{background:#ccc;cursor:not-allowed}.estatus{padding:4px 8px;border-radius:6px;color:#fff;font-weight:500;font-size:.8rem}.estatus-activa{background:#198754}.estatus-cancelada{background:#dc3545}.estatus-finalizada{background:#6c757d}.estatus-en-curso{background:#0d6efd}.estatus-desconocido{background:#adb5bd}.reservas-no-results{text-align:center;padding:15px;color:#6c757d;font-style:italic}.dashboard-cards{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.dashboard-card{flex:1 1 200px;border-radius:12px;padding:15px;color:#fff;text-align:center;font-weight:700;box-shadow:0 4px 8px #0000001a}.dashboard-card.hoy{background-color:#007bff}.dashboard-card.activas{background-color:#28a745}.dashboard-card.canceladas{background-color:#dc3545}.dashboard-card.finalizadas{background-color:#36c}.dashboard-card.en-curso{background-color:#7533cc}.dashboard-card h3{margin-bottom:5px;font-size:1rem}.dashboard-card p{font-size:1.5rem;margin:0}body{margin:0;font-family:Poppins,sans-serif;background:#f5f7fa}.booking-container{width:100%;padding:20px;min-height:100vh}.loading{position:fixed;inset:0;background:#fffc;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;color:#4a81ff;z-index:3000}.booking-form-wrapper{max-width:1400px;margin:auto}.form-card{background:#fff;padding:30px;border-radius:20px;box-shadow:0 8px 30px #00000014;margin-bottom:30px}.form-card h2{margin:0 0 25px;padding-bottom:10px;border-bottom:2px solid #eee;color:#fff}.form-columns{display:grid;grid-template-columns:1fr 300px 300px;gap:25px}.form-block label,.fecha-block label{font-weight:600;display:block;margin:15px 0 5px;color:#555}.form-block select,.fecha-block input[type=date]{width:100%;padding:12px 15px;border-radius:12px;border:1px solid #ddd;background:#fcfcfc;font-size:16px}.hoteles-listado{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:5px}.hotel-card{display:flex;gap:15px;padding:15px;border-radius:12px;background:#fafafa;border:2px solid transparent;cursor:pointer;transition:.3s ease;box-shadow:0 2px 8px #0000000d}.hotel-card:hover{background:#eff5ff;box-shadow:0 4px 12px #0000001f}.hotel-card.selected{border-color:#4a81ff;background:#e7efff}.hotel-img img{width:80px;height:80px;border-radius:12px;object-fit:cover}.hotel-info h4{margin:0 0 5px;color:#222}.hotel-info p{margin:0;color:#555;font-size:14px}.hotel-panel{background:#fff;padding:20px;border-radius:20px;text-align:center;box-shadow:0 6px 20px #0000001a;border:1px solid #eee}.hotel-panel img{width:100%;height:180px;border-radius:12px;object-fit:cover}.hotel-panel.placeholder{background:#fff9d6;border:2px dashed #f0c800;padding:45px 20px;height:260px;font-weight:600;color:#8a7400}.noches{margin:12px 0;font-weight:700;font-size:16px;color:#4a81ff}.btn-buscar{width:100%;padding:14px;border-radius:12px;background:#4a81ff;color:#fff;border:none;cursor:pointer;font-weight:700;transition:.2s ease}.btn-buscar:hover:not(:disabled){background:#3467e8}.btn-buscar:disabled{background:#b7caff;cursor:not-allowed}.resultados{background:#fff;padding:30px;border-radius:20px;box-shadow:0 8px 30px #00000014}.grid-resultados{margin-top:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.hab-card{background:#fcfcfc;padding:20px;border-radius:20px;border:1px solid #eee;box-shadow:0 5px 15px #00000014;transition:.3s ease}.hab-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000026}.hab-header{display:flex;justify-content:space-between;align-items:center}.precio-noche{font-weight:700;color:#4caf50}.mini-galeria{display:flex;gap:8px;border-top:1px solid #eee;padding-top:10px;margin:15px 0}.mini-galeria img{width:80px;height:80px;border-radius:10px;object-fit:cover;border:1px solid #ddd}.hab-actions{display:flex;gap:12px}.hab-actions button{flex:1;padding:10px;border-radius:12px;border:none;font-weight:600;cursor:pointer}.btn-secundario{background:#eee}.btn-secundario:hover{background:#dcdcdc}.btn-principal{background:#4a81ff;color:#fff}.btn-principal:hover{background:#3467e8}.booking-modal{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease;z-index:4000}.booking-modal-content{width:90%;max-width:600px;background:#fff;padding:25px;border-radius:20px;animation:popup .25s ease;position:relative}.modal-btn-close{background:none;border:none;font-size:26px;cursor:pointer;color:#666;transition:.2s}.modal-btn-close:hover{color:#000}.modal-btn{padding:12px 20px;border-radius:12px;background:#4a81ff;color:#fff;border:none;cursor:pointer}.galeria-full img{width:100%;margin-bottom:15px;border-radius:15px}@keyframes popup{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.header-azul{background:#4a81ff;color:#fff;padding:14px 18px;border-radius:14px;display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;margin-bottom:25px}.header-azul .header-icon{font-size:26px;color:#fff}.modulo-reservas{background:#4a81ff;color:#fff;padding:14px 18px;border-radius:14px;display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;box-shadow:0 4px 15px #00000026;margin-bottom:25px}.modulo-reservas .header-icon{font-size:26px;color:#fff;vertical-align:middle}.mcr-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.mcr-content{background-color:#fff;border-radius:16px;width:450px;max-width:90%;max-height:90vh;padding:30px 25px;box-shadow:0 15px 35px #0000004d;animation:mcr-fadeInScale .3s ease forwards;position:relative;text-align:left;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow-y:auto}@keyframes mcr-fadeInScale{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.mcr-close{position:absolute;top:12px;right:16px;font-size:22px;border:none;background:none;cursor:pointer;color:#888;transition:.2s}.mcr-close:hover{color:#333}.mcr-content h2{margin-bottom:20px;font-size:22px;color:#333;text-align:center}.mcr-detalles p{font-size:16px;margin-bottom:10px;color:#555}.mcr-total{font-size:18px;font-weight:700;color:#1e88e5;margin:15px 0;text-align:right}.mcr-btn{width:100%;padding:12px 0;background:linear-gradient(90deg,#1e88e5,#42a5f5);color:#fff;font-size:16px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease}.mcr-btn:hover:not(:disabled){background:linear-gradient(90deg,#1565c0,#1e88e5)}.mcr-btn:disabled{background:#90caf9;cursor:not-allowed}.mcr-imagenes{display:flex;justify-content:space-around;margin-bottom:20px;gap:15px;flex-wrap:wrap}.mcr-img-container{flex:1;min-width:120px;text-align:center}.mcr-img-container img{width:100%;max-width:180px;border-radius:12px;box-shadow:0 5px 15px #0003;object-fit:cover}.stm-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:999;animation:stm-fadeIn .25s ease-out}.stm-modal-container{width:380px;background:#fff;padding:28px;border-radius:18px;box-shadow:0 10px 35px #00000026;animation:stm-scaleIn .25s ease-out;display:flex;flex-direction:column;gap:14px;text-align:center}.stm-modal-container h2{font-size:1.6rem;margin-bottom:5px;font-weight:700;color:#333}.stm-modal-container p{font-size:1rem;color:#666}.stm-modal-container select{width:100%;padding:10px;border-radius:12px;border:1px solid #ddd;background:#fafafa;font-size:1rem;transition:.2s}.stm-modal-container select:focus{border-color:#7e38ff;background:#fff;box-shadow:0 0 0 3px #ff385c33;outline:none}.stm-modal-buttons{display:flex;justify-content:space-between;gap:12px}.stm-btn-asignar,.stm-btn-cancelar{flex:1;padding:10px;font-size:1rem;border-radius:12px;font-weight:600;cursor:pointer;transition:.25s}.stm-btn-asignar{background:#7e38ff;color:#fff;border:none}.stm-btn-asignar:hover{background:#692bd6}.stm-btn-cancelar{background:#f2f2f2;border:1px solid #ddd;color:#555}.stm-btn-cancelar:hover{background:#e8e8e8}@keyframes stm-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes stm-scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.servicios-transporte-container{font-family:Inter,sans-serif;padding:30px;color:#222}.servicios-transporte-header{margin-bottom:25px;display:flex;align-items:center;gap:20px}.servicios-transporte-titulo,.servicios-transporte-subtitulo{font-size:1.9rem;font-weight:700;color:#222}.servicios-transporte-btn-back{background:transparent;border:none;color:#682df3;font-weight:600;font-size:1rem;cursor:pointer;transition:.3s}.servicios-transporte-btn-back:hover{text-decoration:underline}.servicios-transporte-hoteles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:25px}.servicios-transporte-hotel-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 15px #0000000f;cursor:pointer;transition:.25s ease;border:1px solid #e5e5e5}.servicios-transporte-hotel-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #00000014}.servicios-transporte-hotel-imagen-container{position:relative;height:180px;overflow:hidden}.servicios-transporte-hotel-imagen{width:100%;height:100%;object-fit:cover}.servicios-transporte-hotel-estrellas{position:absolute;bottom:10px;right:12px;background:#000000a6;color:#fff;padding:4px 10px;border-radius:20px;font-size:.85rem}.servicios-transporte-hotel-card-body{padding:18px}.servicios-transporte-hotel-nombre{font-weight:600;font-size:1.2rem}.servicios-transporte-hotel-direccion{font-size:.95rem;color:#717171}.servicios-transporte-hotel-contacto{margin-top:10px}.servicios-transporte-hotel-email,.servicios-transporte-hotel-telefono{font-size:.9rem;color:#717171}.servicios-transporte-tabs{display:flex;gap:15px;margin-bottom:25px}.servicios-transporte-tab{padding:10px 18px;border-radius:30px;background:#fff;border:1px solid #e5e5e5;font-size:.95rem;font-weight:500;cursor:pointer;transition:.25s}.servicios-transporte-tab:hover{background:#f7f7f7;color:#222}.servicios-transporte-tab-active{background:#7438ff;color:#fff;border-color:#7438ff}.servicios-transporte-header{margin-bottom:25px;display:flex;align-items:center;gap:20px;background:#5c8dff;padding:18px 25px;border-radius:12px;box-shadow:0 3px 12px #0000001a}.servicios-transporte-titulo,.servicios-transporte-subtitulo{font-size:1.9rem;font-weight:700;color:#fff}.servicios-transporte-btn-back{background:#ffffff40;border:none;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;padding:8px 14px;border-radius:8px;transition:.3s}.servicios-transporte-btn-back:hover{background:#ffffff59}.servicios-transporte-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:25px}.servicios-transporte-card{background:#fff;padding:20px;border-radius:14px;box-shadow:0 4px 16px #0000000f;border:1px solid #e5e5e5;transition:.2s}.servicios-transporte-card:hover{transform:translateY(-3px)}.servicios-transporte-card-header{display:flex;justify-content:space-between;margin-bottom:15px}.servicios-transporte-card-destino{font-size:1.25rem;font-weight:600}.servicios-transporte-card-estatus{padding:6px 12px;font-size:.8rem;border-radius:25px;font-weight:500}.servicios-transporte-estatus-1{background:#ffe8e8;color:#ff385c}.servicios-transporte-estatus-2{background:#fff3d4;color:#c77e00}.servicios-transporte-estatus-3{background:#e9ffe9;color:#128f00}.servicios-transporte-info-item{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.95rem}.servicios-transporte-info-label{font-weight:600;color:#444}.servicios-transporte-info-value{color:#717171}.servicios-transporte-card-acciones{display:flex;justify-content:space-between;margin-top:20px}.servicios-transporte-btn-asignar{background:#7438ff;color:#fff;border:none;padding:10px 16px;border-radius:10px;font-weight:600;cursor:pointer;transition:.25s}.servicios-transporte-btn-asignar:hover{background:#7438ff}.btn-disabled{background:#d3d3d3!important;cursor:not-allowed!important}.servicios-transporte-btn-eliminar{background:transparent;border:1px solid #d41d16;color:#d41d16;padding:10px 16px;border-radius:10px;font-weight:600;cursor:pointer;transition:.25s}.servicios-transporte-btn-eliminar:hover{background:#d41d16;color:#fff}.admin-page-container{padding:30px;background-color:#f4f6f9;min-height:100vh;width:100%;display:flex;justify-content:center}.admin-page-container>div{width:100%;max-width:1400px}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--navbar-width-expanded: 280px;--navbar-width-collapsed: 80px;--transition-smooth: cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}.app-container{display:flex;min-height:100vh}.navbar{width:var(--navbar-width-collapsed);height:100vh;background:#fff;position:fixed;left:0;top:0;z-index:1000;transition:width .3s var(--transition-smooth);box-shadow:4px 0 20px #0000001a;border-right:1px solid #e5e7eb;overflow:hidden}.navbar:hover{width:var(--navbar-width-expanded)}.main-content{margin-left:var(--navbar-width-collapsed);transition:margin-left .3s var(--transition-smooth);min-height:100vh;background:#f8fafc;width:calc(100vw - var(--navbar-width-collapsed));padding:0}.navbar:hover~.main-content{margin-left:var(--navbar-width-expanded);width:calc(100vw - var(--navbar-width-expanded))}.page-content,.inicio-content{width:100%;max-width:1400px;margin:0 auto}@media (max-width: 768px){.navbar{position:relative;width:100%!important;height:auto}.navbar:hover{width:100%!important}.main-content,.navbar:hover~.main-content{margin-left:0!important;width:100vw!important}.main-content>div{padding:1rem}}
