.admin-loading-screen{min-height:100vh;background:var(--hero-gradient);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.loading-container{background:var(--color-white);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-xl);text-align:center;min-width:300px}.loading-spinner{width:40px;height:40px;border:4px solid var(--bg-secondary);border-top:4px solid var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-md) auto}.loading-container p{color:var(--text-secondary);margin:0;font-size:1rem;font-weight:500}.access-denied-screen{min-height:100vh;background:var(--hero-gradient);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.access-denied-content{background:var(--color-white);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-xl);text-align:center;max-width:400px;width:100%}.access-denied-icon{font-size:4rem;margin-bottom:var(--spacing-lg);color:var(--color-error)}.access-denied-content h2{color:var(--text-primary);margin-bottom:var(--spacing-md);font-weight:600}.access-denied-content p{color:var(--text-secondary);margin-bottom:var(--spacing-sm);line-height:1.5}.access-denied-content p strong{color:var(--text-primary);font-weight:600}.btn-back{background:var(--accent-gradient);color:var(--color-white);border:none;border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;margin-top:var(--spacing-lg)}.btn-back:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}@media (max-width: 480px){.loading-container,.access-denied-content{margin:var(--spacing-md);padding:var(--spacing-lg)}.access-denied-icon{font-size:3rem}.access-denied-content h2{font-size:1.25rem}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--hero-gradient),url(https://images.unsplash.com/photo-1488646953014-85cb44e25828?auto=format&fit=crop&w=1920&q=80) center/cover no-repeat;background-blend-mode:overlay;font-family:var(--font-primary);padding:2rem 1rem}.login-background{background:#1e4d5bf2;padding:2rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-heavy);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.login-form{background:var(--cloud-white);padding:3rem;border-radius:var(--radius-lg);max-width:450px;width:100%;box-shadow:var(--shadow-medium)}.login-form h2{text-align:center;margin-bottom:2rem;color:var(--charcoal);font-size:2rem;font-weight:700;font-family:var(--font-heading)}.logo-container{width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:600;font-size:1rem}.form-group input{width:100%;padding:1rem 1.25rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-primary);transition:all .3s ease;box-sizing:border-box;background:var(--bg-card);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--accent-teal);box-shadow:0 0 0 3px #16a0851a;transform:translateY(-1px)}.form-group input:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.7}button[type=submit]{width:100%;padding:1rem 2rem;background:var(--sunset-gradient);color:var(--cloud-white);border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:700;font-family:var(--font-primary);cursor:pointer;transition:all .3s ease;margin-top:1rem;box-shadow:var(--shadow-light)}button[type=submit]:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-medium);filter:brightness(1.05)}button[type=submit]:disabled{background:var(--stone-gray);cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.error{background-color:#fed7d7;color:#c53030;padding:12px;border-radius:6px;margin-top:15px;border:1px solid #fc8181;font-size:.9rem;text-align:center;font-weight:600}.success{background-color:#c6f6d5;color:#2f855a;padding:12px;border-radius:6px;margin-top:15px;border:1px solid #68d391;font-size:.9rem;text-align:center;font-weight:600}@media (max-width: 600px){.login-container{padding:1rem}.login-background{padding:1.5rem}.login-form{padding:2rem;max-width:100%}.login-form h2{font-size:1.5rem}}@media (max-width: 450px){.login-form{padding:1.5rem}.login-form h2{font-size:1.4rem}.form-group input{padding:.875rem 1rem}button[type=submit]{padding:.875rem 1.5rem;font-size:1rem}}.form-links{text-align:center;margin-top:1.5rem}.form-links a{color:var(--accent-teal);text-decoration:none;font-weight:600;transition:color .3s ease}.form-links a:hover{color:var(--warm-gold)}.welcome-message{text-align:center;margin-bottom:2rem;padding:1rem;background:linear-gradient(135deg,#16a0851a,#1e4d5b1a);border-radius:var(--radius-md);border-left:4px solid var(--accent-teal)}.welcome-message h3{color:var(--accent-teal);font-weight:600;margin:0 0 .5rem}.welcome-message p{color:var(--text-secondary);margin:0;font-size:.95rem}.admin-login-container{min-height:100vh;background:var(--hero-gradient);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);position:relative;overflow:hidden}.admin-login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url(https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=1920&q=80) center/cover no-repeat;opacity:.1;z-index:1}.admin-login-background{position:relative;z-index:2;width:100%;max-width:450px}.admin-login-form{background:var(--cloud-white);padding:var(--spacing-xxl) var(--spacing-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-heavy);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.admin-logo-container{text-align:center;margin-bottom:var(--spacing-xl)}.admin-icon{font-size:3rem;margin-bottom:var(--spacing-md);display:block}.admin-logo-container h1{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:var(--primary-blue);margin-bottom:var(--spacing-xs)}.admin-logo-container p{color:var(--stone-gray);font-size:.95rem;font-weight:500}.admin-form{width:100%}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--charcoal);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.form-group input{width:100%;padding:var(--spacing-md);border:2px solid #e1e8ed;border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-primary);transition:all .3s ease;background:var(--paper-cream)}.form-group input:focus{outline:none;border-color:var(--accent-teal);box-shadow:0 0 0 3px #16a0851a;background:var(--cloud-white)}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.7}.admin-login-btn{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--sunset-gradient);color:var(--cloud-white);border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:700;font-family:var(--font-primary);cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-medium);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.admin-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-heavy)}.admin-login-btn:active{transform:translateY(0)}.admin-login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-spinner{width:18px;height:18px;border:2px solid transparent;border-top:2px solid var(--cloud-white);border-radius:50%;animation:spin 1s linear infinite}.error-message{background:linear-gradient(135deg,#ff6b6b,#ff5252);color:var(--cloud-white);padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-xs);font-weight:500;margin-top:var(--spacing-md);box-shadow:var(--shadow-light)}.admin-footer{text-align:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid #e1e8ed}.admin-footer p{color:var(--primary-blue);font-weight:600;margin-bottom:var(--spacing-xs)}.admin-footer small{color:var(--stone-gray);font-size:.85rem}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg);color:var(--cloud-white)}.spinner{width:50px;height:50px;border:3px solid rgba(255,255,255,.3);border-top:3px solid var(--warm-gold);border-radius:50%;animation:spin 1s linear infinite}.loading-spinner p{font-size:1.1rem;font-weight:500}@media (max-width: 768px){.admin-login-form{padding:var(--spacing-xl) var(--spacing-lg)}.admin-logo-container h1{font-size:1.6rem}.admin-icon{font-size:2.5rem}}@media (max-width: 480px){.admin-login-container{padding:var(--spacing-sm)}.admin-login-form{padding:var(--spacing-lg) var(--spacing-md)}.admin-logo-container h1{font-size:1.4rem}}.sidebar{width:280px;background:var(--cloud-white);border-right:1px solid #e1e8ed;display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:200;transition:all .3s ease;box-shadow:var(--shadow-medium)}.sidebar.collapsed{width:80px}.sidebar-header h2{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;margin:0;color:var(--warm-gold);letter-spacing:.5px}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-nav li{margin:.5rem 0}.sidebar-link{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);color:var(--charcoal);text-decoration:none;font-size:1.05rem;transition:all .3s ease;text-align:left;position:relative;font-weight:500;border:none;background:none;width:100%;cursor:pointer}.sidebar-link:hover{background:var(--paper-cream);color:var(--primary-blue)}.sidebar-link.active{background:linear-gradient(90deg,var(--accent-teal),var(--primary-blue));color:var(--cloud-white)}.sidebar-link.active:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:4px;height:100%;background:var(--warm-gold)}.icon{font-size:1.3rem;min-width:24px;text-align:center;margin-right:var(--spacing-md)}.sidebar.collapsed .sidebar-link{justify-content:center;padding:var(--spacing-md)}.sidebar.collapsed .icon{margin-right:0}.sidebar.collapsed .sidebar-header h2,.sidebar.collapsed .nav-text{display:none}.sidebar-footer{padding:var(--spacing-lg);border-top:1px solid #e1e8ed}.logout-btn{display:flex;align-items:center;width:100%;padding:var(--spacing-md) var(--spacing-lg);background:#e74c3c;color:var(--cloud-white);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1.05rem;font-weight:600;transition:all .3s ease}.logout-btn:hover{background:#c0392b;transform:translateY(-2px)}.logout-btn .icon{margin-right:var(--spacing-sm);font-size:1.2rem}.sidebar.collapsed .logout-btn{justify-content:center;padding:var(--spacing-md)}.sidebar.collapsed .logout-btn .icon{margin-right:0}.sidebar.collapsed .logout-btn span:not(.icon){display:none}.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:199;display:none}.menu-toggle{position:fixed;top:1.2rem;left:1.2rem;background:var(--cloud-white);color:var(--primary-blue);border:2px solid var(--primary-blue);border-radius:50%;width:50px;height:50px;font-size:1.5rem;box-shadow:var(--shadow-medium);z-index:300;display:none;cursor:pointer;transition:all .3s ease}.menu-toggle:hover{background:var(--primary-blue);color:var(--cloud-white)}@media (max-width: 1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.menu-toggle{display:flex;align-items:center;justify-content:center}.overlay.show{display:block}}@media (max-width: 768px){.sidebar{width:100vw;max-width:320px}.menu-toggle{top:1rem;left:1rem;width:45px;height:45px;font-size:1.3rem}}*{box-sizing:border-box}.principal{width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md);background:var(--bg-primary);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}@media (max-width: 768px){.principal{padding:var(--spacing-md) var(--spacing-sm)}}.overview-loading{display:flex;justify-content:center;align-items:center;min-height:60vh}.loading-spinner{text-align:center;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:4px solid var(--border-light);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-md)}.overview-error{display:flex;justify-content:center;align-items:center;min-height:60vh}.error-content{text-align:center;max-width:400px;padding:var(--spacing-xl);background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.error-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.error-content h3{color:var(--error-color);margin-bottom:var(--spacing-sm)}.error-content p{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.retry-btn{background:var(--primary-gradient);color:var(--text-white);border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:var(--transition-normal)}.retry-btn:hover{box-shadow:var(--shadow-lg)}.overview-header{text-align:center;margin-bottom:var(--spacing-3xl);padding:var(--spacing-3xl) var(--spacing-xl);background:var(--primary-gradient);border-radius:var(--radius-2xl);color:var(--text-white);position:relative;overflow:hidden}.overview-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(255,255,255,.1) 0%,transparent 50%);animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.overview-header h2{font-size:2.75rem;font-weight:800;margin:0 0 var(--spacing-sm) 0;position:relative;z-index:1;letter-spacing:-.025em}.overview-header p{font-size:1.2rem;opacity:.9;margin:0;position:relative;z-index:1;font-weight:300}@media (max-width: 768px){.overview-header{padding:var(--spacing-2xl) var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.overview-header h2{font-size:2.25rem}.overview-header p{font-size:1.1rem}}.principal-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl)}@media (max-width: 768px){.principal-cards-grid{grid-template-columns:1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}}.summary-card{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--spacing-xl);border:1px solid var(--border-color);transition:var(--transition-normal);position:relative;overflow:hidden;cursor:pointer}.summary-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary-gradient);transition:var(--transition-normal)}.summary-card:hover{box-shadow:var(--shadow-xl)}.summary-card:hover:before{width:100%;opacity:.05}.summary-card h4{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-md) 0;display:flex;align-items:center;gap:var(--spacing-sm)}.summary-card p{color:var(--text-secondary);margin:var(--spacing-xs) 0;font-size:1rem;line-height:1.5}.summary-card .metric-value{font-size:2rem;font-weight:800;color:var(--primary-color);margin:var(--spacing-sm) 0}.add-viaje-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3xl);gap:var(--spacing-lg)}@media (max-width: 768px){.add-viaje-section{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}}.filtros-viaje{flex:1}.add-viaje-btn{background:var(--primary-gradient);color:var(--text-white);border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:var(--transition-normal);display:flex;align-items:center;gap:var(--spacing-sm);white-space:nowrap;box-shadow:var(--shadow-md)}.add-viaje-btn:hover{box-shadow:var(--shadow-lg)}.add-viaje-btn:active{transform:translateY(0)}.add-viaje-btn span{font-size:1.2rem}@media (max-width: 768px){.add-viaje-btn{justify-content:center;padding:var(--spacing-lg)}}.empty-state{display:flex;justify-content:center;align-items:center;min-height:400px;margin:var(--spacing-3xl) 0}.empty-content{text-align:center;max-width:500px;padding:var(--spacing-3xl) var(--spacing-xl);background:var(--bg-card);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg)}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-xl);opacity:.6}.empty-content h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.empty-content p{color:var(--text-secondary);margin-bottom:var(--spacing-xl);line-height:1.6}.viaje-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl)}@media (max-width: 768px){.viaje-list{grid-template-columns:1fr;gap:var(--spacing-lg)}}.mobile-only{display:none}.desktop-only{display:block}@media (max-width: 768px){.mobile-only{display:block}.desktop-only{display:none}}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.add-viaje-btn:focus,.retry-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-contrast: high){.summary-card{border:2px solid var(--text-primary)}.overview-header{background:var(--text-primary)}}.gestor-gastos-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay);display:flex;justify-content:center;align-items:flex-start;z-index:99999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out;padding:1rem;overflow-y:auto}.gestor-gastos{background:var(--bg-card);border-radius:var(--radius-xl);width:100%;max-width:1400px;min-height:85vh;max-height:95vh;margin:auto;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideInUp .4s ease-out;position:relative}@media (max-width: 768px){.gestor-gastos-overlay{padding:.5rem;align-items:flex-start}.gestor-gastos{max-width:100%;min-height:95vh;max-height:100vh;border-radius:12px;margin:0}}@media (max-width: 480px){.gestor-gastos{border-radius:8px;min-height:100vh;max-height:100vh}.gestor-gastos-overlay{padding:0}}.gestor-header{background:var(--primary-gradient);color:var(--text-white);padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg) var(--spacing-xl);position:relative;flex-shrink:0}@media (max-width: 768px){.gestor-header{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md) var(--spacing-md)}}.gestor-header h2{font-size:2rem;margin:0 0 .5rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}@media (max-width: 768px){.gestor-header h2{font-size:1.5rem;margin-right:3rem}}.viaje-nombre{opacity:.9;font-size:1.1rem;margin:0;font-weight:400}@media (max-width: 768px){.viaje-nombre{font-size:1rem}}.close-btn{position:absolute;top:1.5rem;right:1.5rem;background:#ffffff26;border:2px solid rgba(255,255,255,.2);color:#fff;font-size:1.5rem;width:48px;height:48px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-weight:700;z-index:10}@media (max-width: 768px){.close-btn{top:1rem;right:1rem;width:40px;height:40px;font-size:1.2rem}}.close-btn:hover{background:#ffffff40;border-color:#fff6;transform:rotate(90deg) scale(1.05)}.resumen-gastos{padding:2rem 2rem 1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;flex-shrink:0}@media (max-width: 768px){.resumen-gastos{padding:1.5rem 1rem 1rem}}.resumen-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0}@media (max-width: 768px){.resumen-card{padding:1.5rem}}.resumen-card h3{color:#1e293b;font-size:1.25rem;margin:0 0 1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.resumen-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem}@media (max-width: 768px){.resumen-items{grid-template-columns:1fr;gap:1rem}}.resumen-item{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#fafafa,#f4f4f5);border-radius:8px;border:1px solid #e4e4e7;transition:all .2s ease}@media (max-width: 768px){.resumen-item{padding:1.25rem 1.5rem}}.resumen-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.resumen-item .label{color:#64748b;font-weight:500;font-size:.95rem}.resumen-item .amount{font-weight:700;font-size:1.2rem}.amount.total{color:#1d4ed8}.amount.spent{color:#ea580c}.amount.available{color:#059669}.progress-container{margin-top:1rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.9rem;color:#64748b;font-weight:500}.progress-bar{height:10px;background:#e2e8f0;border-radius:6px;overflow:hidden;position:relative}.progress{height:100%;background:linear-gradient(90deg,#06b6d4,#0891b2);transition:width .5s ease;border-radius:6px;position:relative}.progress:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.2) 50%,transparent 60%);animation:shimmer 2s infinite}.gastos-actions{padding:2rem 2rem 1.5rem;border-bottom:1px solid #e2e8f0;background:#fff;flex-shrink:0}@media (max-width: 768px){.gastos-actions{padding:1.5rem 1rem 1rem}}.add-gasto-btn{background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;padding:1rem 2.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;box-shadow:0 4px 6px -1px #0000001a;display:inline-flex;align-items:center;gap:.75rem}@media (max-width: 768px){.add-gasto-btn{padding:.875rem 2rem;font-size:.95rem;width:100%;justify-content:center}}.add-gasto-btn:hover{background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-2px);box-shadow:0 10px 25px -5px #0003}.add-gasto-btn:active{transform:translateY(0)}.gastos-content{flex:1;overflow-y:auto;padding:2.5rem 2rem;background:#fafafa;min-height:0;scroll-behavior:smooth}@media (max-width: 768px){.gastos-content{padding:1.5rem 1rem}}.gastos-content::-webkit-scrollbar{width:12px}.gastos-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:6px;margin:4px}.gastos-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#cbd5e1,#94a3b8);border-radius:6px;border:2px solid #f1f5f9}.gastos-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#94a3b8,#64748b)}.gastos-content{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.loading,.error-message{text-align:center;padding:4rem 2rem;color:#64748b;font-size:1.1rem}@media (max-width: 768px){.loading,.error-message{padding:3rem 1rem;font-size:1rem}}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin:1.5rem 0;box-shadow:0 4px 6px -1px #dc26261a}.no-gastos{text-align:center;padding:4rem 2rem;color:#64748b;background:#fff;border-radius:12px;border:1px solid #e2e8f0;margin:2rem 0}@media (max-width: 768px){.no-gastos{padding:3rem 1rem;margin:1rem 0}}.no-gastos h3{color:#475569;margin-bottom:1rem;font-size:1.5rem}@media (max-width: 768px){.no-gastos h3{font-size:1.25rem}}.empty-gastos{text-align:center;padding:3rem;color:#64748b}.empty-icon{font-size:4rem;margin-bottom:1.5rem;display:block;opacity:.6}.empty-gastos h3{color:#374151;margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.empty-gastos p{color:#6b7280;margin:0;font-size:1.1rem}.gastos-list{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:2rem}@media (max-width: 1024px){.gastos-list{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}}@media (max-width: 768px){.gastos-list{grid-template-columns:1fr;gap:1.25rem}}@media (max-width: 480px){.gastos-list{gap:1rem}}.gasto-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 12px #00000014;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}@media (max-width: 768px){.gasto-card{padding:1.5rem}}.gasto-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#06b6d4,#0891b2)}.gasto-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-3px);border-color:#cbd5e1}.gasto-info{flex:1}.gasto-main{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1.5rem}@media (max-width: 768px){.gasto-main{flex-direction:column;gap:1rem;align-items:stretch}}.gasto-main h4{color:#1e293b;margin:0;font-size:1.3rem;font-weight:600;line-height:1.4;flex:1}@media (max-width: 768px){.gasto-main h4{font-size:1.2rem}}.gasto-categoria{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;padding:.5rem 1rem;border-radius:25px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;box-shadow:0 3px 6px #06b6d44d}@media (max-width: 768px){.gasto-categoria{align-self:flex-start;font-size:.8rem;padding:.375rem .875rem}}.gasto-descripcion{color:#64748b;margin:0 0 1.5rem;font-size:1rem;line-height:1.6;min-height:1.6rem}.gasto-meta{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid #f1f5f9;margin-bottom:1.5rem}@media (max-width: 768px){.gasto-meta{flex-direction:column;align-items:flex-start;gap:.75rem}}.fecha{color:#64748b;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.monto{color:#1e293b;font-weight:700;font-size:1.3rem}.gasto-actions{display:flex;gap:.5rem;justify-content:flex-end}.edit-btn,.delete-btn{background:transparent;border:2px solid transparent;font-size:1.3rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.edit-btn:hover{background:#fef3c7;border-color:#f59e0b;transform:scale(1.1)}.delete-btn:hover{background:#fee2e2;border-color:#ef4444;transform:scale(1.1)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;justify-content:center;align-items:flex-start;z-index:100000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem;overflow-y:auto}.modal{background:#fff;border-radius:16px;padding:2rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;margin:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal h3{color:#1e293b;margin:0 0 1.5rem;font-size:1.5rem;font-weight:700;text-align:center;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.form-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem 1.25rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#fafafa;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 4px #06b6d41a;background:#fff;transform:translateY(-1px)}.form-group textarea{resize:vertical;min-height:100px;line-height:1.6}@media (max-width: 768px){.form-row{grid-template-columns:1fr;gap:1rem}}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:2px solid #f1f5f9}@media (max-width: 768px){.modal-actions{flex-direction:column-reverse;gap:.75rem}}.save-btn,.cancel-btn{padding:1rem 2rem;border-radius:10px;font-weight:600;font-size:1rem;border:2px solid transparent;cursor:pointer;transition:all .3s ease;min-width:120px}@media (max-width: 768px){.save-btn,.cancel-btn{width:100%;padding:1.125rem 2rem}}.save-btn{background:linear-gradient(135deg,#059669,#047857);color:#fff;box-shadow:0 4px 6px -1px #0596694d}.save-btn:hover{background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-2px);box-shadow:0 8px 25px -5px #05966966}.cancel-btn{background:#f8fafc;color:#64748b;border-color:#e2e8f0}.cancel-btn:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:4rem 2rem}.loading-spinner .spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top:4px solid #06b6d4;border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:#64748b;font-size:1.1rem;font-weight:500}.error-state{background:linear-gradient(135deg,#fef2f2,#fce8e6);border:2px solid #fecaca;border-radius:16px;padding:2rem;margin:2rem 0;text-align:center}.error-icon{font-size:3rem;color:#dc2626;margin-bottom:1rem;display:block}.error-title{color:#991b1b;font-size:1.25rem;font-weight:600;margin:0 0 .75rem}.error-description{color:#7f1d1d;margin:0;line-height:1.6}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s ease;box-sizing:border-box;background:#fafafa}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#06b6d4;background:#fff;box-shadow:0 0 0 3px #06b6d41a}.form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #f1f5f9}.save-btn,.cancel-btn{padding:.875rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-size:1rem;min-width:120px}.save-btn{background:linear-gradient(135deg,#059669,#047857);color:#fff;box-shadow:0 4px 6px -1px #0000001a}.save-btn:hover{background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-2px);box-shadow:0 8px 15px -3px #0003}.cancel-btn{background:#f8fafc;color:#64748b;border:2px solid #e2e8f0}.cancel-btn:hover{background:#e2e8f0;color:#475569;border-color:#cbd5e1}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1024px){.gestor-gastos{max-width:95%;margin:.5rem auto}.gastos-list{grid-template-columns:1fr}.resumen-items{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (max-width: 768px){.gestor-gastos-overlay{padding:.5rem;align-items:flex-start}.gestor-gastos{width:100%;min-height:90vh;max-height:95vh;margin:.5rem 0}.gestor-header{padding:1.5rem}.gestor-header h2{font-size:1.6rem;margin-right:3rem}.close-btn{width:40px;height:40px;top:1rem;right:1rem}.resumen-gastos,.gastos-actions,.gastos-content{padding:1rem 1.5rem}.resumen-items{grid-template-columns:1fr;gap:.75rem}.resumen-item{padding:.875rem 1rem}.gastos-list{gap:1rem}.gasto-card{padding:1.25rem}.gasto-main{flex-direction:column;gap:.75rem;align-items:flex-start}.gasto-categoria{align-self:flex-start}.form-row{grid-template-columns:1fr;gap:1rem}.modal{padding:1.5rem;margin:.5rem;max-height:85vh}.modal-actions{flex-direction:column;gap:.75rem}.save-btn,.cancel-btn{width:100%;justify-content:center}}@media (max-width: 480px){.gestor-gastos-overlay{padding:.25rem}.gestor-header{padding:1rem}@keyframes fadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(60px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.gestor-gastos:focus-within{outline:3px solid #06b6d4;outline-offset:2px}@media (hover: hover){.gasto-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-3px);border-color:#cbd5e1}.add-gasto-btn:hover{background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-2px);box-shadow:0 10px 25px -5px #0003}}@media print{.gestor-gastos-overlay{position:static;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.gestor-gastos{box-shadow:none;border:1px solid #ccc;max-height:none;overflow:visible}.close-btn,.add-gasto-btn,.gasto-actions{display:none!important}.gastos-content{overflow:visible;padding:1rem}}@media (prefers-contrast: high){.gasto-card,.resumen-item{border:2px solid #000}.progress-bar{border:1px solid #000}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.gestor-gastos-overlay,.gestor-gastos{animation:none}}.gestor-gastos-overlay{padding:0}.gestor-gastos{border-radius:0;min-height:100vh;max-height:100vh}.gestor-header{padding:1rem;border-radius:0}.gestor-header h2{font-size:1.4rem;line-height:1.3}.viaje-nombre{font-size:.9rem}.close-btn{width:36px;height:36px;font-size:1.1rem;top:.75rem;right:.75rem}.resumen-gastos,.gastos-actions,.gastos-content,.resumen-card{padding:1rem}.resumen-item{padding:.75rem;font-size:.9rem}.gastos-list{gap:.75rem}.gasto-card{padding:1rem;border-radius:12px}.gasto-categoria{font-size:.75rem;padding:.25rem .75rem}.gasto-descripcion{font-size:.9rem}.monto{font-size:1.2rem}.modal{padding:1rem;margin:0;border-radius:0;max-height:100vh;width:100%}.form-group input,.form-group select,.form-group textarea{padding:.875rem 1rem;font-size:.95rem}.viaje-nombre{font-size:1rem}.resumen-gastos,.gastos-actions,.gastos-content{padding:.75rem 1rem}.resumen-card{padding:1rem}.resumen-card h3{font-size:1.1rem}.resumen-item{padding:.75rem;flex-direction:column;gap:.5rem;text-align:center}.resumen-item .amount{font-size:1.4rem}.add-gasto-btn{width:100%;justify-content:center;padding:1rem}.gasto-card{padding:1rem}.gasto-main h4{font-size:1.1rem}.gasto-meta{flex-direction:column;gap:.5rem;align-items:flex-start}.monto{font-size:1.4rem;color:#059669}.gasto-actions{justify-content:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #f1f5f9}.modal{padding:1rem;border-radius:12px}.modal h3{font-size:1.3rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;font-size:16px}}@media (prefers-contrast: high){.gasto-card{border:2px solid #374151}.gasto-categoria{background:#1f2937;border:1px solid #374151}.resumen-item{border:2px solid #d1d5db}}@media (prefers-reduced-motion: reduce){.gestor-gastos,.modal,.gasto-card,.add-gasto-btn,.edit-btn,.delete-btn{animation:none;transition:none}.progress:after{animation:none}}@media (prefers-color-scheme: dark){.gestor-gastos{background:#1f2937;color:#f9fafb}.resumen-gastos{background:#374151}.resumen-card,.gasto-card{background:#374151;border-color:#4b5563;color:#f9fafb}.gastos-content{background:#1f2937}.modal{background:#374151;color:#f9fafb}.form-group input,.form-group select,.form-group textarea{background:#4b5563;border-color:#6b7280;color:#f9fafb}}.viaje-card{background:var(--bg-card, #ffffff);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));padding:var(--spacing-xl, 32px);border:1px solid var(--border-color, #e2e8f0);transition:var(--transition-normal, .3s ease);position:relative;overflow:hidden;height:100%;display:flex;flex-direction:column}.viaje-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary-gradient, linear-gradient(135deg, #667eea 0%, #764ba2 100%));transition:var(--transition-normal, .3s ease)}.viaje-card:hover{box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1))}.viaje-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg, 24px);gap:var(--spacing-md, 16px)}.viaje-card-title{flex:1}.viaje-card h3{font-size:1.5rem;font-weight:700;color:var(--text-primary, #2d3748);margin:0 0 var(--spacing-xs, 4px) 0;line-height:1.3;word-wrap:break-word}.viaje-card-status{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border-radius:var(--radius-sm, 6px);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.viaje-card-status.activo{background:#48bb781a;color:var(--success-color, #48bb78)}.viaje-card-status.proximo{background:#ed89361a;color:var(--warning-color, #ed8936)}.viaje-card-status.completado{background:#7180961a;color:var(--text-secondary, #718096)}.viaje-card-content{flex:1;margin-bottom:var(--spacing-lg, 24px)}.viaje-card-dates{display:flex;align-items:center;gap:var(--spacing-xs, 4px);color:var(--text-secondary, #718096);font-size:.9rem;margin-bottom:var(--spacing-md, 16px)}.viaje-card-dates .icon{font-size:1rem}.viaje-card-budget{background:#667eea0d;padding:var(--spacing-md, 16px);border-radius:var(--radius-md, 8px);margin-bottom:var(--spacing-lg, 24px)}.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm, 8px)}.budget-label{font-size:.9rem;color:var(--text-secondary, #718096);font-weight:500}.budget-amount{font-weight:700;color:var(--text-primary, #2d3748)}.budget-spent{color:var(--primary-color, #667eea)}.budget-total{color:var(--text-secondary, #718096)}.viaje-progress{margin-top:var(--spacing-sm, 8px)}.progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs, 4px);font-size:.8rem;color:var(--text-secondary, #718096)}.progress-bar{width:100%;height:8px;background:var(--border-light, #edf2f7);border-radius:4px;overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--primary-gradient, linear-gradient(90deg, #667eea 0%, #764ba2 100%));border-radius:4px;transition:width .5s ease;position:relative}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-over-budget{background:var(--error-color, #f56565)}.viaje-card-actions{display:flex;gap:var(--spacing-sm, 8px);flex-wrap:wrap;margin-top:auto}.action-btn{flex:1;min-width:120px;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border:none;border-radius:var(--radius-md, 8px);font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--transition-normal, .3s ease);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs, 4px);text-decoration:none;text-align:center}.action-btn:focus{outline:2px solid var(--primary-color, #667eea);outline-offset:2px}.action-btn.primary{background:var(--primary-gradient, linear-gradient(135deg, #667eea 0%, #764ba2 100%));color:var(--text-white, #ffffff)}.action-btn.primary:hover{box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1))}.action-btn.secondary{background:var(--bg-card, #ffffff);color:var(--text-secondary, #718096);border:1px solid var(--border-color, #e2e8f0)}.action-btn.secondary:hover{background:var(--bg-primary, #f7fafc);color:var(--text-primary, #2d3748);border-color:var(--primary-color, #667eea)}.action-btn.success{background:#48bb781a;color:var(--success-color, #48bb78);border:1px solid rgba(72,187,120,.3)}.action-btn.success:hover{background:#48bb7833;color:#38a169;border-color:#38a169;box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1))}.action-btn.danger{background:#f565651a;color:var(--error-color, #f56565);border:1px solid rgba(245,101,101,.3)}.action-btn.danger:hover{background:#f5656533;border-color:var(--error-color, #f56565)}.viaje-card.loading{opacity:.7;pointer-events:none}.viaje-card.loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center}.viaje-card.loading .viaje-card-budget{position:relative}.viaje-card.loading .viaje-card-budget:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay, rgba(0, 0, 0, .5));display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md, 16px)}.confirm-modal{background:var(--bg-card, #ffffff);border-radius:var(--radius-xl, 16px);padding:var(--spacing-xl, 32px);max-width:400px;width:100%;box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1));animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-modal h3{font-size:1.25rem;font-weight:700;color:var(--text-primary, #2d3748);margin:0 0 var(--spacing-md, 16px) 0}.confirm-modal p{color:var(--text-secondary, #718096);margin:0 0 var(--spacing-sm, 8px) 0;line-height:1.5}.warning-text{color:var(--error-color, #f56565);font-weight:600;font-size:.9rem}.modal-actions{display:flex;gap:var(--spacing-sm, 8px);margin-top:var(--spacing-lg, 24px)}.btn-cancel,.btn-confirm-delete{flex:1;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border:none;border-radius:var(--radius-md, 8px);font-weight:600;cursor:pointer;transition:var(--transition-normal, .3s ease)}.btn-cancel{background:var(--bg-primary, #f7fafc);color:var(--text-secondary, #718096);border:1px solid var(--border-color, #e2e8f0)}.btn-cancel:hover{background:var(--border-light, #edf2f7);color:var(--text-primary, #2d3748)}.btn-confirm-delete{background:var(--error-color, #f56565);color:var(--text-white, #ffffff)}.btn-confirm-delete:hover{background:#e53e3e}@media (max-width: 480px){.confirm-modal{padding:var(--spacing-lg, 24px);margin:var(--spacing-md, 16px)}.modal-actions{flex-direction:column}}.fade-in-up{animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (hover: none) and (pointer: coarse){.viaje-card:hover,.action-btn:hover,.viaje-card:active{transform:none}}@media (prefers-contrast: high){.viaje-card{border:2px solid var(--text-primary, #2d3748)}.action-btn.primary,.progress-fill{background:var(--text-primary, #2d3748)}}@media (prefers-reduced-motion: reduce){.viaje-card,.action-btn,.progress-fill{transition:none}.viaje-card:hover{transform:none}.progress-fill:after{animation:none}}.filtros{width:100%;margin-bottom:var(--spacing-lg, 24px)}.search-container{position:relative;max-width:400px;width:100%}.search-input-wrapper{position:relative;display:flex;align-items:center;background:var(--bg-card, #ffffff);border:2px solid var(--border-color, #e2e8f0);border-radius:var(--radius-lg, 12px);padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);transition:var(--transition-normal, .3s ease);box-shadow:var(--shadow-sm, 0 1px 3px 0 rgba(0, 0, 0, .1))}.search-input-wrapper:focus-within{border-color:var(--primary-color, #667eea);box-shadow:0 0 0 3px #667eea1a}.search-icon{color:var(--text-light, #a0aec0);margin-right:var(--spacing-sm, 8px);font-size:1.1rem;flex-shrink:0}.filtros-search-input{flex:1;border:none;outline:none;background:transparent;font-size:1rem;color:var(--text-primary, #2d3748);font-family:inherit;padding:var(--spacing-sm, 8px) 0}.filtros-search-input::placeholder{color:var(--text-light, #a0aec0);font-weight:400}.clear-search-btn{background:none;border:none;color:var(--text-light, #a0aec0);cursor:pointer;padding:var(--spacing-xs, 4px);border-radius:var(--radius-sm, 6px);transition:var(--transition-fast, .15s ease);font-size:1rem;line-height:1;margin-left:var(--spacing-sm, 8px);flex-shrink:0;opacity:0;visibility:hidden;transform:scale(.8)}.search-input-wrapper:focus-within .clear-search-btn,.filtros-search-input:not(:placeholder-shown)+.clear-search-btn{opacity:1;visibility:visible;transform:scale(1)}.clear-search-btn:hover{color:var(--error-color, #f56565);background:#f565651a}.clear-search-btn:active{transform:scale(.9)}@media (max-width: 768px){.search-container{max-width:100%}.filtros-search-input{font-size:16px}.search-input-wrapper{padding:var(--spacing-md, 16px)}}@media (max-width: 480px){.filtros-search-input::placeholder{font-size:.9rem}}.filtros-search-input:focus{outline:none}.clear-search-btn:focus{outline:2px solid var(--primary-color, #667eea);outline-offset:2px}@media (prefers-contrast: high){.search-input-wrapper{border:2px solid var(--text-primary, #2d3748)}.search-input-wrapper:focus-within{border-color:var(--text-primary, #2d3748)}}.search-input-wrapper{animation:slideInLeft .3s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.filtros.loading .search-input-wrapper{opacity:.7;pointer-events:none}.filtros.loading .search-input-wrapper:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:searchLoading 1.5s infinite}@keyframes searchLoading{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-color-scheme: dark){.search-input-wrapper{background:#2d3748;border-color:#4a5568}.filtros-search-input{color:#e2e8f0}.filtros-search-input::placeholder{color:#a0aec0}.search-icon{color:#a0aec0}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1e293b73;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.modal.modern-modal{background:#fff;border-radius:18px;box-shadow:0 8px 32px #1e293b2e;max-width:480px;width:100%;padding:32px 24px 24px;position:relative;animation:modalIn .25s cubic-bezier(.4,2,.6,1) both}@keyframes modalIn{0%{opacity:0;transform:translateY(40px) scale(.98)}to{opacity:1;transform:none}}.close-btn{position:absolute;top:18px;right:18px;background:none;border:none;font-size:1.7rem;color:#64748b;cursor:pointer;transition:color .2s}.close-btn:hover{color:#1e293b}.modal-title{font-size:1.45rem;font-weight:700;color:#1e293b;margin-bottom:18px;text-align:center}.modern-form{display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:7px}.form-group label{font-size:1rem;font-weight:500;color:#334155}.form-group input,.form-group textarea{font-size:1rem;padding:10px 12px;border-radius:8px;border:1.5px solid #e2e8f0;background:#f8fafc;color:#1e293b;transition:border .2s,box-shadow .2s;outline:none}.form-group input:focus,.form-group textarea:focus{border:1.5px solid #6366f1;background:#fff;box-shadow:0 0 0 2px #6366f133}.form-group textarea{resize:vertical;min-height:60px;max-height:180px}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1 1 0}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.save-btn{background:linear-gradient(90deg,#6366f1,#3b82f6);color:#fff;border:none;border-radius:8px;padding:10px 22px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #6366f11a;transition:background .2s,box-shadow .2s}.save-btn:hover{background:linear-gradient(90deg,#4f46e5,#2563eb);box-shadow:0 4px 16px #6366f122}.cancel-btn{background:#f1f5f9;color:#64748b;border:none;border-radius:8px;padding:10px 18px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s}.cancel-btn:hover{background:#e2e8f0;color:#1e293b}@media (max-width: 600px){.modal.modern-modal{padding:18px 6px 16px;max-width:98vw}.modal-title{font-size:1.1rem}.form-row{flex-direction:column;gap:0}}.geographic-section,.form-group .geographic-selector{padding:0;background:none;border:none;margin:0}.geo-selector-ui{width:100%;display:flex;flex-direction:column;gap:14px;background:none;border:none;box-shadow:none;padding:0}.geo-row{width:100%;margin:0;padding:0}.geo-country-option,.geo-city-option{display:flex;align-items:center;gap:10px;font-size:.97rem;padding:6px 0}.geo-flag{font-size:1.2rem;flex-shrink:0}.geo-country-name{font-weight:500;color:#2d3748;margin-right:6px}.geo-country-details{color:#64748b;font-size:.85em;margin-left:auto}.geo-city-name{font-weight:500;color:#2d3748}.geo-capital{background:#fbbf24;color:#fff;font-size:.7em;border-radius:4px;padding:2px 6px;margin-left:8px}.geo-city-details{color:#64748b;font-size:.85em;margin-left:auto;display:flex;gap:8px}.geo-selector-ui .MuiOutlinedInput-root{background:#f8fafc!important;border-radius:7px!important;font-size:.97rem!important}.geo-selector-ui .MuiOutlinedInput-root:hover{background-color:#f1f5f9!important;border-color:#cbd5e0!important}.geo-selector-ui .MuiOutlinedInput-root.Mui-focused{background:#fff!important;border-color:#6366f1!important;box-shadow:0 0 0 2px #6366f133!important}.geo-selector-ui .MuiInputLabel-root{color:#64748b!important;font-size:.97rem!important}.geo-selector-ui .MuiInputLabel-root.Mui-focused{color:#6366f1!important}.geo-selector-ui .MuiAutocomplete-paper{border-radius:7px!important;border:1px solid #e2e8f0!important;box-shadow:0 8px 25px #00000014!important;max-height:240px!important}.geo-selector-ui .MuiAutocomplete-option{font-size:.97rem!important;padding:10px 16px!important}.geo-selector-ui .MuiAutocomplete-option:last-child{border-bottom:none}.geo-selector-ui .MuiAutocomplete-option:hover{background-color:#f8fafc!important}.geo-selector-ui .MuiAutocomplete-option.Mui-focused{background-color:#ebf8ff!important}.geo-selector-ui .MuiAutocomplete-option[aria-selected=true]{background:#e6fffa!important;color:#2d3748!important}.geo-selector-ui .MuiChip-root{background:#e6fffa!important;color:#2d3748!important;font-size:.85rem!important;height:26px!important;margin:2px!important}.geo-selector-ui .MuiChip-deleteIcon{color:#64748b!important;font-size:1.1rem!important}.geo-selector-ui .MuiChip-deleteIcon:hover{color:#e53e3e!important}.geo-selector-ui .MuiAutocomplete-endAdornment{top:2px;right:6px}.geo-selector-ui .MuiAutocomplete-popupIndicator{padding:2px;margin-right:2px;color:#b0b4ba;font-size:1.2em;transition:none}.geo-selector-ui .MuiAutocomplete-popupIndicator:hover,.geo-selector-ui .MuiAutocomplete-popupIndicator:active,.geo-selector-ui .MuiAutocomplete-popupIndicator.Mui-focused{background:none!important;color:#6366f1!important;box-shadow:none!important}.geo-selector-ui .MuiAutocomplete-clearIndicator{color:#b0b4ba;font-size:1.1em;padding:2px}.geo-selector-ui .MuiAutocomplete-clearIndicator:hover{color:#e53e3e}.geo-selector-ui .MuiAutocomplete-popupIndicator{display:none!important}@media (max-width: 600px){.geo-selector-ui{gap:10px}.geo-country-option,.geo-city-option{font-size:.92rem;gap:7px}.geo-flag{font-size:1rem}}:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--success-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--warning-gradient: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);--primary-color: #667eea;--primary-dark: #5a67d8;--secondary-color: #764ba2;--accent-color: #f093fb;--success-color: #48bb78;--warning-color: #ed8936;--error-color: #f56565;--text-primary: #2d3748;--text-secondary: #718096;--text-light: #a0aec0;--text-white: #ffffff;--bg-primary: #f7fafc;--bg-card: #ffffff;--bg-overlay: rgba(0, 0, 0, .5);--border-color: #e2e8f0;--border-light: #edf2f7;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}@keyframes slideInUp{0%{transform:translateY(50px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.itinerario-container{background:var(--bg-primary);min-height:100vh;width:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.main-content{width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-xl)}.main-content h2{font-size:2.5rem;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;margin-bottom:var(--spacing-xl);letter-spacing:-.02em}.add-activity-btn{background:var(--primary-gradient);color:var(--text-white);padding:var(--spacing-md) var(--spacing-xl);font-size:1.1rem;font-weight:600;border:none;border-radius:var(--radius-xl);cursor:pointer;transition:var(--transition-normal);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--spacing-sm);margin:0 auto var(--spacing-xl) auto;position:relative;overflow:hidden}.add-activity-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:var(--transition-slow)}.add-activity-btn:hover:before{left:100%}.add-activity-btn:after{content:"✨";font-size:1.2rem;margin-right:var(--spacing-xs)}.add-activity-btn:hover{box-shadow:var(--shadow-xl)}.add-activity-btn:active{box-shadow:var(--shadow-md)}.activities-list{list-style-type:none;padding:0;display:grid;gap:var(--spacing-lg)}.activity-item{background:var(--bg-card);padding:var(--spacing-lg);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border-light);transition:var(--transition-normal);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.activity-item:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.activity-item:hover{box-shadow:var(--shadow-xl);border-color:var(--primary-color)}.activity-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.activity-title{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3}.activity-details{color:var(--text-secondary);font-size:1rem;line-height:1.5}.activity-time{font-weight:600;color:var(--text-primary);background:linear-gradient(135deg,var(--success-color),var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.activity-trip{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:var(--text-white);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);font-size:.9rem;font-weight:600;display:inline-block;margin-top:var(--spacing-xs);box-shadow:var(--shadow-sm)}.activity-actions{display:flex;gap:var(--spacing-sm);align-items:center}.activity-actions button{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-lg);cursor:pointer;font-weight:600;transition:var(--transition-normal);display:flex;align-items:center;gap:var(--spacing-xs);position:relative;overflow:hidden}.activity-actions .edit-btn{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:var(--text-white);box-shadow:var(--shadow-sm)}.activity-actions .edit-btn:before{content:"✏️";font-size:1rem}.activity-actions .edit-btn:hover{box-shadow:var(--shadow-lg)}.activity-actions .delete-btn{background:linear-gradient(135deg,var(--error-color),#e53e3e);color:var(--text-white);box-shadow:var(--shadow-sm)}.activity-actions .delete-btn:before{content:"🗑️";font-size:1rem}.activity-actions .delete-btn:hover{box-shadow:var(--shadow-lg)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay);display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out}.modal{background:var(--bg-card);padding:var(--spacing-xl);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);width:90%;max-width:600px;margin:0 auto;border:1px solid var(--border-light);position:relative;animation:slideInUp .4s ease-out;max-height:90vh;overflow-y:auto}.modal:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--primary-gradient);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.modal h3{font-size:1.8rem;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-xl);text-align:center;line-height:1.3}.modal input,.modal textarea,.modal select{width:100%;padding:var(--spacing-md);margin:var(--spacing-sm) 0 var(--spacing-md) 0;border:2px solid var(--border-color);border-radius:var(--radius-lg);font-size:1rem;font-family:inherit;transition:var(--transition-normal);background:var(--bg-card);box-sizing:border-box;color:var(--text-primary)}.modal input:focus,.modal textarea:focus,.modal select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.modal textarea{resize:vertical;min-height:100px;font-family:inherit}.modal select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--spacing-md) center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:var(--spacing-2xl)}.form-grid{display:grid;gap:var(--spacing-md);grid-template-columns:1fr}.form-grid-2{grid-template-columns:1fr 1fr}.form-label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:.9rem}.modal button{background:var(--primary-gradient);color:var(--text-white);border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg);cursor:pointer;font-weight:600;transition:var(--transition-normal);box-shadow:var(--shadow-md);margin-top:var(--spacing-lg);position:relative;overflow:hidden}.modal button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.modal button:hover{box-shadow:var(--shadow-lg)}.modal button:hover:before{left:100%}.modal .button-group{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light)}.modal .cancel-btn{background:var(--bg-primary);color:var(--text-secondary);border:2px solid var(--border-color)}.modal .cancel-btn:hover{background:var(--border-light);color:var(--text-primary);border-color:var(--text-light)}.empty-activities{text-align:center;padding:var(--spacing-3xl);color:var(--text-secondary)}.empty-activities .empty-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.7;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-activities h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}.empty-activities p{color:var(--text-secondary);font-size:1rem;margin:0}@media (max-width: 768px){.main-content{padding:var(--spacing-lg)}.main-content h2{font-size:2rem}.activity-item{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.activity-actions{justify-content:center;border-top:1px solid var(--border-light);padding-top:var(--spacing-md)}.modal{padding:var(--spacing-lg)}.modal .button-group{flex-direction:column}}@media (max-width: 480px){.main-content h2{font-size:1.75rem}.add-activity-btn{width:100%;justify-content:center}.activity-actions{flex-direction:column;gap:var(--spacing-xs)}.activity-actions button{width:100%;justify-content:center}.modal input,.modal textarea,.modal select{font-size:16px}}.add-activity-btn:focus,.modal button:focus,.activity-actions button:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-contrast: high){.modal,.modal input,.modal textarea,.modal select{border:2px solid var(--text-primary)}}@media (prefers-reduced-motion: reduce){.modal,.add-activity-btn,.activity-item,.modal input,.modal textarea,.modal select{animation:none;transition:none}.add-activity-btn:hover,.activity-item:hover,.modal input:focus,.modal textarea:focus,.modal select:focus{transform:none}}.document-manager{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.document-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e1e5e9}.document-manager-header h2{color:#2c3e50;margin:0;font-size:1.8rem;font-weight:600}.add-document-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.add-document-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.upload-form-container{background:#f8f9fa;border-radius:12px;padding:25px;margin-bottom:30px;border:1px solid #e9ecef}.document-form h3{color:#495057;margin:0 0 20px;font-size:1.3rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;color:#495057;margin-bottom:8px;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:12px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:border-color .3s ease,box-shadow .3s ease}.documents-list{margin-top:20px}.empty-state p:first-child{font-size:18px;font-weight:500;margin-bottom:8px}.empty-state p:last-child{font-size:14px;opacity:.8}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.document-card{background:#fff;border-radius:12px;padding:20px;border:2px solid #e9ecef;transition:all .3s ease;position:relative;overflow:hidden}.document-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a;border-color:#667eea}.document-card.expired{border-color:#dc3545;background:linear-gradient(135deg,#fff,#fff5f5)}.document-card.expiring-soon{border-color:#ffc107;background:linear-gradient(135deg,#fff,#fffbf0)}.document-card-header{display:flex;align-items:flex-start;margin-bottom:15px}.document-icon{font-size:24px;margin-right:12px;flex-shrink:0}.document-info{flex:1;min-width:0}.document-info h4{color:#2c3e50;margin:0 0 4px;font-size:16px;font-weight:600;line-height:1.3}.document-number{color:#6c757d;font-size:14px;margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.delete-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;font-size:16px;opacity:.6;transition:all .3s ease;flex-shrink:0}.delete-btn:hover{background:#f8d7da;opacity:1}.document-details{space-y:8px}.detail-item{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;font-size:14px}.detail-item.notes{flex-direction:column;align-items:flex-start}.detail-item .label{font-weight:500;color:#495057;min-width:80px}.detail-item .value{color:#6c757d;text-align:right;flex:1}.detail-item.notes .value{text-align:left;margin-top:4px;font-style:italic;background:#f8f9fa;padding:8px;border-radius:6px;width:100%;box-sizing:border-box}.expired-text{color:#dc3545!important;font-weight:600}.expiring-text{color:#856404!important;font-weight:600}.status-warning{background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;text-align:center;margin-top:15px;border:1px solid #ffeaa7}.document-card.expired .status-warning{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border-color:#f5c6cb}.help-text{color:#6c757d;font-size:12px;margin-top:4px;display:block;line-height:1.4}.document-actions{display:flex;gap:8px;align-items:center}.view-btn{background:#28a745;color:#fff;border:none;padding:6px 8px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.view-btn:hover{background:#218838;transform:scale(1.05)}.document-link{color:#007bff;text-decoration:none;font-weight:500;transition:color .2s ease}.document-link:hover{color:#0056b3;text-decoration:underline}.detail-item.url .value{font-size:14px}@media (max-width: 768px){.document-manager{padding:15px}.document-manager-header{flex-direction:column;align-items:stretch;gap:15px}.document-manager-header h2{text-align:center;font-size:1.5rem}.add-document-btn{width:100%;justify-self:stretch}.form-row,.documents-grid{grid-template-columns:1fr;gap:15px}.form-actions{flex-direction:column}.save-btn,.cancel-btn{width:100%}.detail-item{flex-direction:column;align-items:flex-start}.detail-item .value{text-align:left;margin-top:2px}}.document-card{animation:slideInUp .3s ease-out}.checklist-manager{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.checklist-manager-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px;padding-bottom:20px;border-bottom:2px solid #e1e5e9;flex-wrap:wrap;gap:16px}.header-content{flex:1}.header-content h2{color:#2c3e50;margin:0 0 10px;font-size:1.8rem;font-weight:600}.progress-info{display:flex;align-items:center;gap:15px}.progress-text{font-size:14px;color:#6c757d;font-weight:500;min-width:120px}.progress-bar{flex:1;max-width:200px;height:8px;background-color:#e9ecef;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#28a745,#20c997);transition:width .3s ease;border-radius:4px}.add-checklist-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.add-checklist-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.create-form-container{background:#f8f9fa;border-radius:12px;padding:25px;margin-bottom:30px;border:1px solid #e9ecef}.checklist-form h3{color:#495057;margin:0 0 20px;font-size:1.3rem;font-weight:600}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:500;color:#495057;margin-bottom:8px;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:25px}.save-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #28a74566}.save-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{background:#5a6268;transform:translateY(-2px)}.checklists-container{margin-bottom:30px}.loading{text-align:center;padding:40px;color:#6c757d;font-size:16px}.empty-state{text-align:center;padding:60px 20px;color:#6c757d}.empty-icon{font-size:4rem;margin-bottom:20px}.empty-state h3{font-size:1.5rem;font-weight:600;margin-bottom:10px;color:#495057}.empty-state p{font-size:16px;margin-bottom:25px;opacity:.8}.empty-create-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 28px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}.empty-create-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.checklists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.checklist-card{background:#fff;border-radius:12px;padding:20px;border:2px solid #e9ecef;transition:all .3s ease;position:relative;overflow:hidden}.checklist-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a;border-color:#667eea}.checklist-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.checklist-info{display:flex;align-items:flex-start;flex:1;min-width:0}.checklist-icon{font-size:24px;margin-right:12px;flex-shrink:0}.checklist-title{flex:1;min-width:0}.checklist-title h4{color:#2c3e50;margin:0 0 4px;font-size:16px;font-weight:600;line-height:1.3}.template-name{color:#6c757d;font-size:12px;margin:0;font-style:italic}.checklist-actions{display:flex;gap:8px;flex-shrink:0}.checklist-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.checklist-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.checklist-title{display:flex;align-items:center;gap:8px;margin-bottom:8px}.checklist-title h4{color:#2c3e50;margin:0;font-size:16px;font-weight:600;line-height:1.3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checklist-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.priority-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;color:#fff;text-transform:capitalize}.date-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;background-color:#f8f9fa;color:#495057;border:1px solid #e9ecef}.date-badge.overdue{background-color:#f8d7da;color:#721c24;border-color:#f5c6cb}.checklist-actions{display:flex;gap:8px;flex-shrink:0;align-items:flex-start}.complete-btn{background:none;border:2px solid #dee2e6;cursor:pointer;padding:6px;border-radius:6px;font-size:16px;transition:all .3s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.complete-btn:hover{border-color:#28a745;background:#f8fff9}.complete-btn.completed{border-color:#28a745;background:#28a745;color:#fff}.delete-btn{background:none;border:2px solid #dee2e6;cursor:pointer;padding:6px;border-radius:6px;font-size:14px;opacity:.6;transition:all .3s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.delete-btn:hover{background:#f8d7da;border-color:#dc3545;opacity:1}.checklist-description{margin:12px 0;padding:12px;background-color:#f8f9fa;border-radius:8px;border-left:4px solid #e9ecef}.checklist-description p{margin:0;color:#6c757d;font-size:14px;line-height:1.4}.completion-info{margin-top:12px;padding:8px 12px;background-color:#d4edda;border-radius:8px;border-left:4px solid #28a745}.completion-info small{color:#155724;font-size:12px;font-weight:500}.overdue-warning{margin-top:12px;padding:8px 12px;background-color:#f8d7da;border-radius:8px;border-left:4px solid #e74c3c;color:#721c24;font-size:13px;font-weight:500}.checklist-card.completed .checklist-title h4{text-decoration:line-through;color:#6c757d}.checklist-card.overdue{background:linear-gradient(135deg,#fff5f5,#ffe6e6);border-color:#e74c3c;border-left:4px solid #e74c3c}.checklist-card.overdue .checklist-title h4{color:#721c24}.checklist-content{margin-bottom:15px}.checklist-description{color:#6c757d;font-size:14px;margin-bottom:15px;font-style:italic;background:#f8f9fa;padding:10px;border-radius:6px;border-left:3px solid #667eea}.template-items{margin-bottom:15px}.template-items h5{color:#495057;font-size:13px;font-weight:600;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.template-items ul{margin:0;padding-left:16px;color:#6c757d;font-size:13px}.template-items li{margin-bottom:4px;line-height:1.4}.more-items{font-style:italic;color:#868e96!important}.checklist-meta{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#868e96;border-top:1px solid #e9ecef;padding-top:12px}.meta-item{display:flex;justify-content:space-between;align-items:center}.meta-item .label{font-weight:500}.meta-item .value{font-family:Monaco,Menlo,Ubuntu Mono,monospace}.completed-date{color:#28a745!important;font-weight:600}.completion-badge{position:absolute;top:0;right:0;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;padding:4px 12px;font-size:11px;font-weight:600;border-radius:0 12px 0 8px;text-transform:uppercase;letter-spacing:.5px}.checklist-summary{background:#fff;border-radius:12px;padding:25px;border:2px solid #e9ecef;margin-top:20px}.checklist-summary h3{color:#2c3e50;margin:0 0 20px;font-size:1.3rem;font-weight:600;text-align:center}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat-item{text-align:center;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.stat-number{display:block;font-size:2rem;font-weight:700;color:#495057;margin-bottom:8px}.stat-number.completed{color:#28a745}.stat-number.pending{color:#ffc107}.stat-label{font-size:14px;color:#6c757d;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.checklist-manager{padding:15px}.checklist-manager-header{flex-direction:column;align-items:stretch;gap:15px}.progress-info{flex-direction:column;align-items:stretch;gap:10px}.progress-bar{max-width:none}.add-checklist-btn{width:100%}.checklists-grid{grid-template-columns:1fr;gap:15px}.form-actions{flex-direction:column}.save-btn,.cancel-btn{width:100%}.summary-stats{grid-template-columns:1fr;gap:15px}.checklist-meta{font-size:11px}.meta-item{flex-direction:column;align-items:flex-start;gap:2px}}.checklist-card{animation:slideInUp .3s ease-out}@keyframes pulse{0%{box-shadow:0 0 #28a74566}70%{box-shadow:0 0 0 10px #28a74500}to{box-shadow:0 0 #28a74500}}.progress-fill{animation:pulse 2s infinite}.view-controls{display:flex;gap:8px;background-color:#f8f9fa;border-radius:8px;padding:4px;border:1px solid #e9ecef}.view-btn{background:none;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#6c757d;transition:all .2s ease;display:flex;align-items:center;gap:4px}.view-btn:hover{background-color:#e9ecef;color:#495057}.view-btn.active{background-color:#0d6efd;color:#fff;box-shadow:0 2px 4px #0d6efd33}.checklists-simple{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.checklist-list{display:flex;flex-direction:column}.checklist-item{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #f1f3f4;transition:all .2s ease;background:#fff}.checklist-item:hover{background-color:#f8f9fa}.checklist-item:last-child{border-bottom:none}.checklist-item.completed{background-color:#f8fff8;opacity:.8}.checklist-item.overdue{background-color:#fff5f5;border-left:4px solid #e74c3c}.item-checkbox{margin-right:16px;flex-shrink:0}.toggle-btn{background:none;border:2px solid #ddd;border-radius:50%;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease}.toggle-btn:hover{border-color:#0d6efd;background-color:#f8f9ff}.toggle-btn.completed{border-color:#28a745;background-color:#d4edda}.item-content{flex:1;min-width:0}.item-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}.category-icon{font-size:16px;flex-shrink:0}.title-text{font-size:16px;font-weight:500;color:#2c3e50;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-text.completed{text-decoration:line-through;color:#6c757d}.item-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.checklists-detailed .checklists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:32px;padding:16px 8px;perspective:1000px}.checklists-detailed .checklists-grid:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,rgba(102,126,234,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(118,75,162,.03) 0%,transparent 50%);pointer-events:none}.checklist-card{background:#fff;border-radius:16px;padding:0;border:2px solid #e9ecef;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #00000014}.checklist-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f;border-color:#667eea}.checklist-card.completed{background:linear-gradient(135deg,#f8fff9,#e8f5e8);border-color:#28a745}.checklist-card.overdue{border-color:#e74c3c;background:linear-gradient(135deg,#fff5f5,#ffe6e6)}.status-badge{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.5px;z-index:10;text-shadow:0 1px 2px rgba(0,0,0,.1)}.status-badge.overdue-badge{background:linear-gradient(45deg,#e74c3c,#c0392b);color:#fff;animation:pulse-urgent 2s infinite}.status-badge.completed-badge{background:linear-gradient(45deg,#28a745,#20c997);color:#fff}@keyframes pulse-urgent{0%,to{transform:scale(1);box-shadow:0 0 #0006}50%{transform:scale(1.05);box-shadow:0 0 0 8px #0000}}.card-header{padding:20px 20px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.title-section{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}.category-icon-large{font-size:24px;flex-shrink:0;padding:8px;background:#667eea1a;border-radius:12px;display:flex;align-items:center;justify-content:center}.title-content{flex:1;min-width:0}.card-title{margin:0 0 4px;font-size:18px;font-weight:600;color:#2c3e50;line-height:1.3;word-wrap:break-word}.card-title.completed-title{text-decoration:line-through;color:#6c757d}.category-name{font-size:12px;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.card-actions{display:flex;gap:8px;flex-shrink:0}.toggle-button,.delete-button{background:none;border:2px solid #e9ecef;border-radius:12px;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease}.toggle-button:hover{border-color:#28a745;background-color:#f8fff8}.toggle-button.completed{border-color:#28a745;background:linear-gradient(135deg,#d4edda,#c3e6cb)}.delete-button:hover{border-color:#e74c3c;background-color:#fff5f5;transform:scale(1.05)}.card-description{padding:0 20px 16px}.card-description p{margin:0;color:#6c757d;font-size:14px;line-height:1.5;background:#f8f9fa;padding:12px;border-radius:8px;border-left:4px solid #667eea}.card-footer{padding:16px 20px 20px;border-top:1px solid #f1f3f4;background:#f8f9fa80}.metadata{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.priority-container{flex-shrink:0}.priority-badge{padding:6px 12px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.priority-critica{background:linear-gradient(45deg,#e74c3c,#c0392b)!important;box-shadow:0 2px 8px #e74c3c4d}.priority-alta{background:linear-gradient(45deg,#f39c12,#e67e22)!important;box-shadow:0 2px 8px #f39c124d}.priority-media{background:linear-gradient(45deg,#3498db,#2980b9)!important;box-shadow:0 2px 8px #3498db4d}.priority-baja{background:linear-gradient(45deg,#95a5a6,#7f8c8d)!important;box-shadow:0 2px 8px #95a5a64d}.date-container{display:flex;align-items:center;gap:6px;background:#fff;padding:6px 10px;border-radius:12px;border:1px solid #e9ecef}.date-container.overdue-date{background:#fff5f5;border-color:#e74c3c;color:#e74c3c}.date-icon{font-size:14px}.date-text{font-size:13px;color:#6c757d;display:flex;align-items:center;gap:4px}.date-text.overdue{color:#e74c3c;font-weight:500}.completed-text{font-size:12px;color:#28a745;background-color:#d4edda;padding:2px 8px;border-radius:12px}.item-actions{margin-left:16px;flex-shrink:0}.delete-btn-simple{background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;color:#6c757d;font-size:14px;transition:all .2s ease}.delete-btn-simple:hover{background-color:#fff5f5;color:#e74c3c}.checklist-card-clean{background:#fff;border:2px solid #e1e5e9;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000d;transition:all .3s ease;display:flex;flex-direction:column;min-height:180px}.checklist-card-clean:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a;border-color:#667eea}.checklist-card-clean.completed{border-color:#28a745}.checklist-card-clean.overdue{border-color:#e74c3c}.card-header-clean{padding:20px 20px 16px;display:flex;flex-direction:column;gap:12px;background:transparent;position:relative}.status-row{display:flex;justify-content:flex-end;margin-bottom:8px}.status-badge-clean{background:#28a745;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:4px;box-shadow:0 2px 4px #28a74533}.status-badge-clean .check-icon:before{content:"✓";font-size:14px}.title-row{display:flex;align-items:flex-start;gap:12px}.category-icon-clean{width:40px;height:40px;background:#f0f2f5;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#6c757d;flex-shrink:0}.title-content-clean{flex:1;min-width:0}.card-title-clean{margin:0 0 4px;font-size:18px;font-weight:600;color:#2c3e50;line-height:1.3}.card-title-clean.completed{text-decoration:line-through;color:#6c757d}.category-text-clean{font-size:12px;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.actions-row{display:flex;gap:8px;flex-shrink:0;margin-left:auto}.action-button-clean{width:36px;height:36px;border:2px solid #e9ecef;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:#6c757d;transition:all .2s ease}.action-button-clean:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.action-button-clean.complete-btn{border-color:#28a745;color:#28a745}.action-button-clean.complete-btn.completed{background:#28a745;color:#fff}.action-button-clean.delete-btn:hover{border-color:#e74c3c;color:#e74c3c}.card-body-clean{flex:1;padding:0 20px 20px;display:flex;flex-direction:column;gap:16px}.card-description-clean{background:#f8f9fa;padding:12px;border-radius:8px;border-left:4px solid #667eea;font-size:14px;color:#6c757d;line-height:1.5;margin:0}.card-footer-clean{margin-top:auto;display:flex;flex-direction:column;gap:12px}.metadata-clean{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.priority-badge-clean{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;color:#fff;letter-spacing:.5px}.priority-badge-clean.media{background:#3498db}.priority-badge-clean.alta{background:#f39c12}.priority-badge-clean.critica{background:#e74c3c}.priority-badge-clean.baja{background:#95a5a6}.date-info-clean{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e9ecef;padding:4px 8px;border-radius:8px;font-size:12px;color:#6c757d}.date-info-clean.overdue{background:#fff5f5;border-color:#e74c3c;color:#e74c3c}.completion-info-clean{display:flex;align-items:center;gap:6px;background:#d4edda;border:1px solid #28a745;padding:6px 10px;border-radius:12px;font-size:12px;color:#155724;font-weight:500}@media (max-width: 768px){.card-header-clean{padding:16px 16px 12px}.title-row{flex-direction:column;gap:8px}.actions-row{margin-left:0;align-self:flex-end}.card-body-clean{padding:0 16px 16px}.metadata-clean{flex-direction:column;align-items:flex-start;gap:8px}}.template-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #e1e5e9;border-radius:12px;padding:20px;margin-bottom:25px;position:relative}.template-section h4{color:#495057;margin:0 0 8px;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:8px}.template-info{color:#6c757d;font-size:14px;margin:0 0 16px;line-height:1.4}.template-group{flex:2}.template-select{background:#fff;border:2px solid #dee2e6;border-radius:8px;padding:12px;font-size:14px;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.template-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.template-actions{display:flex;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #dee2e6}.template-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px}.template-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.template-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.template-cancel-btn{background:#6c757d;color:#fff;border:none;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.template-cancel-btn:hover{background:#5a6268;transform:translateY(-1px)}.divider{display:flex;align-items:center;margin:20px 0;text-align:center}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#dee2e6}.divider span{padding:0 16px;color:#6c757d;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}@media (max-width: 768px){.template-section{padding:16px}.template-actions{flex-direction:column}.template-btn,.template-cancel-btn{width:100%;justify-content:center}}.paises-viaje-manager{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-light);border:1px solid var(--border-light);max-width:100%}.paises-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--border-light)}.header-icon{font-size:3rem;background:linear-gradient(135deg,var(--accent-teal),var(--secondary-blue));border-radius:50%;width:70px;height:70px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-medium)}.header-content h3{font-size:1.8rem;font-weight:700;color:var(--charcoal);margin:0 0 .5rem;background:linear-gradient(135deg,var(--primary-blue) 0%,var(--accent-teal) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-content p{color:var(--text-secondary);margin:0 0 .5rem;font-size:1rem;line-height:1.5}.paises-counter{background:linear-gradient(135deg,var(--warm-gold),var(--sunset-orange));color:#fff;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;display:inline-block;box-shadow:var(--shadow-light);animation:slideInUp .3s ease-out}.loading-state{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-xl);background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.loading-spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top:2px solid var(--accent-teal);border-radius:50%;animation:spin 1s linear infinite}.loading-state span{color:var(--text-secondary);font-weight:500}.error-state{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#e53e3e1a;border:1px solid var(--error-color);border-radius:var(--radius-md);color:var(--error-color);margin-bottom:var(--spacing-lg)}.success-state{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#38a1691a;border:1px solid var(--success-color);border-radius:var(--radius-md);color:var(--success-color);margin-bottom:var(--spacing-lg);animation:slideInDown .3s ease-out}.success-icon{font-size:1.2rem}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;padding:var(--spacing-xxl);background:var(--bg-secondary);border-radius:var(--radius-lg);border:2px dashed var(--border-color);margin-bottom:var(--spacing-xl)}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.6}.empty-state h4{color:var(--charcoal);font-size:1.4rem;font-weight:600;margin:0 0 var(--spacing-sm) 0}.empty-state p{color:var(--text-secondary);margin:0;font-size:1rem}.paises-list{margin-bottom:var(--spacing-xl)}.paises-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.pais-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-md);transition:all .3s ease;box-shadow:var(--shadow-light)}.pais-card:hover{border-color:var(--accent-teal);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.pais-info{display:flex;align-items:center;gap:var(--spacing-md)}.pais-flag{font-size:2rem;background:linear-gradient(135deg,var(--warm-gold),var(--sunset-orange));border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-light)}.pais-details h4{font-size:1.1rem;font-weight:600;color:var(--charcoal);margin:0 0 .25rem}.pais-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pais-id,.pais-codigo{font-size:.85rem;color:var(--text-light);font-weight:500}.remove-btn{background:var(--error-color);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:700}.remove-btn:hover{background:#c53030;transform:scale(1.1)}.remove-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.remove-icon{line-height:1}.add-pais-section{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:2px solid var(--border-light)}.section-header{margin-bottom:var(--spacing-lg)}.section-header h4{font-size:1.3rem;font-weight:600;color:var(--charcoal);margin:0 0 .5rem;display:flex;align-items:center;gap:var(--spacing-sm)}.section-header p{color:var(--text-secondary);margin:0;font-size:.95rem}.selector-container{margin-bottom:var(--spacing-lg);background:var(--bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--border-light)}.selector-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.selector-label label{font-weight:600;color:var(--charcoal);font-size:1rem}.available-count{font-size:.85rem;color:var(--text-light);background:var(--bg-secondary);padding:.25rem .75rem;border-radius:var(--radius-sm);font-weight:500}.selected-preview{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:#16a0851a;border:1px solid var(--accent-teal);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--spacing-sm);color:var(--accent-teal);font-weight:500;animation:slideInUp .3s ease-out}.preview-icon{font-size:1.1rem}.add-btn{background:linear-gradient(135deg,var(--accent-teal),var(--secondary-blue));color:#fff;border:none;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-xl);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);transition:all .3s ease;box-shadow:var(--shadow-light);min-height:44px;width:100%;justify-content:center}.add-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-medium);filter:brightness(1.05)}.add-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;filter:none}.btn-icon{font-size:1.1rem}@media (max-width: 768px){.paises-viaje-manager{padding:var(--spacing-lg)}.paises-header{flex-direction:column;text-align:center;gap:var(--spacing-sm)}.header-icon{width:60px;height:60px;font-size:2.5rem}.header-content h3{font-size:1.5rem}.paises-grid{grid-template-columns:1fr}.pais-card{padding:var(--spacing-sm) var(--spacing-md)}.add-pais-section{padding:var(--spacing-lg)}}@media (max-width: 480px){.paises-viaje-manager{padding:var(--spacing-md)}.empty-state{padding:var(--spacing-xl)}.empty-icon{font-size:3rem}.pais-info{gap:var(--spacing-sm)}.pais-flag{width:40px;height:40px;font-size:1.5rem}.pais-details h4{font-size:1rem}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pais-card{animation:slideInUp .3s ease-out}.remove-btn:focus,.add-btn:focus{outline:2px solid var(--border-focus);outline-offset:2px}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.pais-card.newly-added{animation:successPulse .6s ease-in-out;border-color:var(--success-color)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.confirm-modal{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-heavy);max-width:400px;width:90%;max-height:90vh;overflow-y:auto;animation:slideInScale .3s ease-out}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-light)}.modal-header h4{margin:0;font-size:1.3rem;font-weight:600;color:var(--charcoal);display:flex;align-items:center;gap:var(--spacing-sm)}.modal-body{padding:var(--spacing-lg)}.modal-body p{margin:0 0 var(--spacing-sm) 0;color:var(--text-primary);line-height:1.5}.warning-text{color:var(--error-color)!important;font-size:.9rem;font-style:italic}.modal-actions{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-light);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.cancel-btn,.confirm-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .3s ease;border:none;min-height:44px}.cancel-btn{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.cancel-btn:hover{background:var(--border-light)}.confirm-btn{background:var(--error-color);color:#fff}.confirm-btn:hover:not(:disabled){background:#c53030;transform:translateY(-1px)}.confirm-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInScale{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.travel-manager{max-width:1400px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f8f9fa;min-height:100vh}.travel-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px 0;flex-wrap:wrap;gap:15px}.travel-manager-header h1{color:#2c3e50;margin:0;font-size:2.2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.current-trip{display:flex;align-items:center;gap:8px;background:#fff;padding:10px 16px;border-radius:20px;border:2px solid #e9ecef;font-weight:500;color:#495057;box-shadow:0 2px 8px #0000001a}.trip-indicator{font-size:16px}.travel-manager-nav{display:flex;background:#fff;border-radius:12px;padding:6px;margin-bottom:30px;box-shadow:0 4px 20px #0000001a;border:1px solid #e9ecef}.nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;background:none;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;color:#6c757d;font-weight:500;position:relative}.nav-tab:hover{background:#f8f9fa;color:#495057;transform:translateY(-2px)}.nav-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.tab-icon{font-size:20px}.tab-label{font-size:12px;font-weight:600;text-align:center}.travel-manager-content{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 20px #0000001a;border:1px solid #e9ecef;min-height:600px}.content-header{margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e9ecef}.content-header h2{color:#2c3e50;margin:0 0 8px;font-size:1.8rem;font-weight:600}.content-header p{color:#6c757d;margin:0;font-size:16px}.overview-header{margin-bottom:30px}.viaje-info h3{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:15px 0 8px}.viaje-description{color:#6c757d;font-size:16px;margin-bottom:20px;font-style:italic}.viaje-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-top:20px}.detail-item{display:flex;align-items:center;gap:8px;padding:12px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.detail-item .icon{font-size:16px}.detail-item .label{font-weight:500;color:#495057;min-width:100px}.detail-item .value{color:#2c3e50;font-weight:600}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.overview-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:25px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.overview-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026;border-color:#667eea}.overview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.overview-card:hover:before{transform:scaleX(1)}.card-icon{font-size:2.5rem;margin-bottom:15px}.overview-card h4{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 10px}.overview-card p{color:#6c757d;margin:0 0 15px;line-height:1.5}.card-action{color:#667eea;font-weight:500;font-size:14px}.quick-stats{margin-top:30px}.quick-stats h3{color:#2c3e50;font-size:1.4rem;font-weight:600;margin:0 0 20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.stat-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:20px;border-radius:12px;text-align:center;border:1px solid #dee2e6}.stat-number{font-size:2rem;font-weight:700;color:#667eea;display:block;margin-bottom:8px}.stat-label{color:#6c757d;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.travel-manager.loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.loading-spinner{text-align:center}.spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}.loading-spinner p{color:#6c757d;font-size:16px;margin:0}.header-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.trip-selector{display:flex;align-items:center;gap:10px}.trip-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:500;color:#495057;cursor:pointer;transition:all .3s ease;min-width:200px}.trip-select:hover{border-color:#667eea}.trip-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}@media (max-width: 1024px){.travel-manager{padding:15px}.travel-manager-header h1{font-size:1.8rem}.overview-grid,.viaje-details{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.travel-manager{padding:10px}.travel-manager-header{flex-direction:column;align-items:stretch;gap:15px}.travel-manager-header h1{font-size:1.6rem;text-align:center}.current-trip{justify-content:center}.travel-manager-nav{flex-direction:row;overflow-x:auto;padding:4px}.nav-tab{min-width:80px;padding:12px 8px}.tab-label{font-size:11px}.travel-manager-content{padding:20px}.content-header h2{font-size:1.5rem}.stats-grid{grid-template-columns:1fr}.overview-card{padding:20px}.card-icon{font-size:2rem}.header-controls{width:100%;justify-content:space-between}.trip-select{min-width:150px}}@media (max-width: 480px){.travel-manager-nav{flex-direction:column}.nav-tab{flex-direction:row;justify-content:flex-start;padding:12px 16px;min-width:auto}.tab-icon{font-size:18px}.tab-label{font-size:14px}.detail-item{flex-direction:column;align-items:flex-start;gap:4px}.detail-item .label{min-width:auto}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.travel-manager-content>div{animation:fadeInUp .3s ease-out}.viaje-selector-content{text-align:center;padding:40px 20px}.selector-header{margin-bottom:40px}.selector-header h2{color:#2c3e50;font-size:2.2rem;font-weight:700;margin:0 0 16px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.selector-header p{color:#6c757d;font-size:1.1rem;max-width:600px;margin:0 auto}.no-viajes{background:#fff;padding:60px 40px;border-radius:16px;box-shadow:0 4px 20px #0000001a;max-width:500px;margin:0 auto}.no-viajes .empty-icon{font-size:4rem;margin-bottom:20px;opacity:.6}.no-viajes h3{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0 0 12px}.no-viajes p{color:#6c757d;margin:0;line-height:1.6}.viajes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;max-width:1200px;margin:0 auto}.viaje-selector-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:24px;cursor:pointer;transition:all .3s ease;border:2px solid transparent;text-align:left}.viaje-selector-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000026;border-color:#667eea}.viaje-selector-card .card-header{margin-bottom:16px}.viaje-selector-card h4{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 8px;line-height:1.3}.viaje-dates{color:#6c757d;font-size:.9rem;font-weight:500}.viaje-selector-card .viaje-description{color:#6c757d;margin-bottom:20px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.viaje-selector-card .card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #e9ecef}.viaje-selector-card .budget{color:#28a745;font-weight:600;font-size:1rem}.select-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease;font-size:.9rem}.select-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}@media (max-width: 768px){.viajes-grid{grid-template-columns:1fr;gap:16px}.viaje-selector-card{padding:20px}.selector-header h2{font-size:1.8rem}.no-viajes{padding:40px 24px}}.dashboard-container{display:flex;min-height:100vh;background:var(--paper-cream);font-family:var(--font-primary)}.dashboard-content{flex:1;margin-left:280px;transition:margin-left .3s ease;background:var(--paper-cream);min-height:100vh}.dashboard-content.collapsed{margin-left:80px}.dashboard-header{background:var(--cloud-white);padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid #e1e8ed;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-light);position:sticky;top:0;z-index:100}.dashboard-main{padding:var(--spacing-xl);max-width:1200px;margin:0 auto}@media (max-width: 1024px){.dashboard-content,.dashboard-content.collapsed{margin-left:0}.dashboard-main{padding:var(--spacing-lg)}}@media (max-width: 768px){.dashboard-header,.dashboard-main{padding:var(--spacing-md)}.page-title{font-size:1.5rem}}.admin-sidebar{width:280px;background:var(--cloud-white);border-right:1px solid #e1e8ed;display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:200;transition:all .3s ease;box-shadow:var(--shadow-medium)}.admin-sidebar.collapsed{width:80px}.sidebar-header{padding:var(--spacing-xl) var(--spacing-lg);border-bottom:1px solid #e1e8ed;background:var(--primary-blue);color:var(--cloud-white)}.logo-container{display:flex;align-items:center;gap:var(--spacing-md)}.logo-icon{font-size:2rem;min-width:40px;text-align:center}.logo-text h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;margin:0;color:var(--warm-gold)}.logo-text p{font-size:.85rem;margin:0;opacity:.8}.sidebar-nav{flex:1;padding:var(--spacing-lg) 0;overflow-y:auto}.nav-item{width:100%;background:none;border:none;padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;transition:all .3s ease;text-align:left;position:relative;color:var(--charcoal)}.nav-item:hover{background:var(--paper-cream);color:var(--primary-blue)}.nav-item.active{background:linear-gradient(90deg,var(--accent-teal),var(--primary-blue));color:var(--cloud-white)}.nav-item.active .nav-indicator{position:absolute;right:0;top:50%;transform:translateY(-50%);width:4px;height:100%;background:var(--warm-gold)}.nav-icon{font-size:1.3rem;min-width:24px;text-align:center}.nav-content{flex:1;display:flex;flex-direction:column;gap:2px}.nav-label{font-weight:600;font-size:.95rem}.nav-description{font-size:.8rem;opacity:.7}.sidebar-footer{padding:var(--spacing-lg);border-top:1px solid #e1e8ed;background:var(--paper-cream)}.user-info{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background:var(--cloud-white);border-radius:var(--radius-md);border:1px solid #e1e8ed}.user-avatar{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--sunset-gradient);border-radius:50%;color:var(--cloud-white);font-weight:600}.user-details{flex:1;min-width:0}.user-name{font-weight:600;font-size:.9rem;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:var(--stone-gray);text-transform:uppercase;letter-spacing:.5px}.logout-btn{width:100%;background:linear-gradient(135deg,#ff6b6b,#ff5252);color:var(--cloud-white);border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-weight:600;transition:all .3s ease;font-family:var(--font-primary)}.logout-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-medium)}.logout-icon{font-size:1.1rem}.admin-sidebar.collapsed .sidebar-header{padding:var(--spacing-lg) var(--spacing-sm)}.admin-sidebar.collapsed .logo-text{display:none}.admin-sidebar.collapsed .nav-item{padding:var(--spacing-md) var(--spacing-sm);justify-content:center}.admin-sidebar.collapsed .nav-content,.admin-sidebar.collapsed .user-details{display:none}.admin-sidebar.collapsed .user-info{justify-content:center}.admin-sidebar.collapsed .logout-btn span:not(.logout-icon){display:none}@media (max-width: 1024px){.admin-sidebar{transform:translate(-100%);z-index:1000}.admin-sidebar.mobile-open{transform:translate(0)}.admin-sidebar.collapsed{transform:translate(-100%)}}@media (max-width: 768px){.admin-sidebar{width:100%;max-width:320px}.sidebar-header{padding:var(--spacing-lg) var(--spacing-md)}.nav-item,.sidebar-footer{padding:var(--spacing-md)}}.admin-overview{width:100%;max-width:1200px;margin:0 auto}.overview-header{margin-bottom:var(--spacing-xl);text-align:center}.overview-header h2{font-family:var(--font-heading);font-size:2.2rem;font-weight:700;color:var(--primary-blue);margin-bottom:var(--spacing-xs)}.overview-header p{color:var(--stone-gray);font-size:1.1rem}.overview-loading,.overview-error{display:flex;align-items:center;justify-content:center;min-height:400px}.loading-spinner,.error-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);text-align:center}.error-icon{font-size:3rem}.error-content h3{color:var(--primary-blue);margin:0}.retry-btn{background:var(--sunset-gradient);color:var(--cloud-white);border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .3s ease}.retry-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xxl)}.stat-card{background:var(--cloud-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-light);border:1px solid #e1e8ed;display:flex;align-items:flex-start;gap:var(--spacing-lg);transition:all .3s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent-teal)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}.users-card:before{background:var(--accent-teal)}.purchases-card:before{background:var(--warm-gold)}.admins-card:before{background:var(--sunset-orange)}.system-card:before{background:var(--forest-green)}.stat-icon{font-size:2.5rem;min-width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--paper-cream);border-radius:var(--radius-md);border:2px solid #e1e8ed}.stat-content{flex:1}.stat-content h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--charcoal);margin:0 0 var(--spacing-xs) 0}.stat-number{font-size:2.5rem;font-weight:800;color:var(--primary-blue);margin-bottom:var(--spacing-sm);font-family:var(--font-heading)}.system-status{font-size:2rem}.stat-details{display:flex;flex-direction:column;gap:4px}.stat-detail{font-size:.9rem;color:var(--stone-gray);font-weight:500}.overview-actions{margin-bottom:var(--spacing-xxl)}.overview-actions h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--primary-blue);margin-bottom:var(--spacing-lg)}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.action-btn{background:var(--cloud-white);border:2px solid #e1e8ed;border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;transition:all .3s ease;text-align:left}.action-btn:hover{border-color:var(--accent-teal);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.btn-icon{font-size:2rem;min-width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--paper-cream);border-radius:var(--radius-md)}.btn-content{flex:1;display:flex;flex-direction:column;gap:4px}.btn-title{font-weight:600;color:var(--charcoal);font-size:1.05rem}.btn-description{color:var(--stone-gray);font-size:.9rem}.recent-activity h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--primary-blue);margin-bottom:var(--spacing-lg)}.activity-list{background:var(--cloud-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-light);border:1px solid #e1e8ed;overflow:hidden}.activity-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid #f0f0f0}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:var(--paper-cream)}.activity-icon{font-size:1.5rem;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--paper-cream);border-radius:50%}.activity-content{flex:1}.activity-description{margin:0 0 4px;color:var(--charcoal);font-weight:500}.activity-time{font-size:.85rem;color:var(--stone-gray)}.no-activity{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xxl);text-align:center}.no-activity-icon{font-size:3rem;opacity:.5}.no-activity p{color:var(--stone-gray);margin:0}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.stat-card{padding:var(--spacing-lg)}.stat-icon{font-size:2rem;min-width:50px;height:50px}.stat-number{font-size:2rem}.overview-header h2{font-size:1.8rem}.action-buttons{grid-template-columns:1fr;gap:var(--spacing-md)}.action-btn,.activity-item{padding:var(--spacing-md)}}.user-management{width:100%;max-width:1400px;margin:0 auto}.user-management-loading{display:flex;align-items:center;justify-content:center;min-height:400px}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);text-align:center}.spinner{width:40px;height:40px;border:3px solid #e1e8ed;border-top:3px solid var(--accent-teal);border-radius:50%;animation:spin 1s linear infinite}.management-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg)}.header-left h2{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--primary-blue);margin:0 0 var(--spacing-xs) 0}.header-left p{color:var(--stone-gray);font-size:1.1rem;margin:0}.header-actions{display:flex;gap:var(--spacing-md);flex-shrink:0}.btn-primary,.btn-danger{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .3s ease;font-family:var(--font-primary)}.btn-primary{background:var(--sunset-gradient);color:var(--cloud-white)}.btn-danger{background:linear-gradient(135deg,#ff6b6b,#ff5252);color:var(--cloud-white)}.btn-primary:hover,.btn-danger:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}.user-filters{background:var(--cloud-white);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-light);border:1px solid #e1e8ed;margin-bottom:var(--spacing-lg);display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:200px}.filter-group label{font-weight:600;color:var(--charcoal);font-size:.9rem}.filter-group input,.filter-group select{padding:var(--spacing-sm) var(--spacing-md);border:2px solid #e1e8ed;border-radius:var(--radius-md);font-family:var(--font-primary);transition:all .3s ease}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--accent-teal);box-shadow:0 0 0 3px #16a0851a}.bulk-actions{background:var(--accent-teal);color:var(--cloud-white);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);box-shadow:var(--shadow-light)}.bulk-buttons{display:flex;gap:var(--spacing-sm)}.bulk-buttons button{background:var(--cloud-white);color:var(--accent-teal);border:none;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.bulk-buttons button:hover{background:var(--paper-cream);transform:translateY(-1px)}.users-table-container{background:var(--cloud-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-light);border:1px solid #e1e8ed;overflow:hidden;margin-bottom:var(--spacing-lg)}.users-table{width:100%;border-collapse:collapse;font-family:var(--font-primary)}.users-table th{background:var(--paper-cream);padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:700;color:var(--charcoal);border-bottom:2px solid #e1e8ed;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.users-table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid #f0f0f0;vertical-align:middle}.users-table tr:hover{background:var(--paper-cream)}.users-table tr.selected{background:#16a0851a}.user-info{display:flex;align-items:center;gap:var(--spacing-md)}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--sunset-gradient);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--cloud-white);font-weight:600}.user-details{display:flex;flex-direction:column;gap:2px}.username{font-weight:600;color:var(--charcoal)}.user-id{font-size:.8rem;color:var(--stone-gray)}.role-badge,.status-badge{padding:4px 8px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.super-admin{background:linear-gradient(135deg,#ff9500,#ff6b00);color:var(--cloud-white)}.role-badge.admin{background:var(--accent-teal);color:var(--cloud-white)}.role-badge.usuario-compra{background:var(--stone-gray);color:var(--cloud-white)}.status-badge.activo{background:var(--forest-green);color:var(--cloud-white)}.status-badge.inactivo{background:var(--stone-gray);color:var(--cloud-white)}.status-badge.expirado{background:#ff6b6b;color:var(--cloud-white)}.user-actions{display:flex;gap:var(--spacing-xs)}.action-btn{width:32px;height:32px;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .3s ease}.extend-btn{background:var(--warm-gold);color:var(--cloud-white)}.activate-btn{background:var(--forest-green);color:var(--cloud-white)}.deactivate-btn{background:#ff6b6b;color:var(--cloud-white)}.action-btn:hover{transform:scale(1.1);box-shadow:var(--shadow-light)}.no-users{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xxl);text-align:center}.no-users-icon{font-size:3rem;opacity:.5}.no-users p{color:var(--stone-gray);margin:0}.error-message{background:linear-gradient(135deg,#ff6b6b,#ff5252);color:var(--cloud-white);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-xs);font-weight:500;box-shadow:var(--shadow-light)}.error-icon{font-size:1.2rem}@media (max-width: 1024px){.management-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-end}.user-filters{flex-direction:column;gap:var(--spacing-md)}.filter-group{min-width:auto}}@media (max-width: 768px){.users-table-container{overflow-x:auto}.users-table{min-width:800px}.bulk-actions{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.bulk-buttons{justify-content:center}.header-actions{flex-direction:column;gap:var(--spacing-sm)}}@media (max-width: 480px){.user-management{margin:0 -var(--spacing-md)}.users-table th,.users-table td{padding:var(--spacing-sm)}.user-info{gap:var(--spacing-sm)}.user-avatar{width:32px;height:32px;font-size:1rem}}.admin-management{padding:var(--spacing-lg);background:var(--cloud-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-subtle);margin:var(--spacing-md)}.admin-management h2{color:var(--primary-blue);margin-bottom:var(--spacing-lg);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm)}.admin-management h2 .icon{color:var(--warm-gold);font-size:1.25rem}.super-admin-notice{background:linear-gradient(135deg,var(--warm-gold),#f59e0b);color:var(--color-white);padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500}.super-admin-notice .icon{font-size:1.5rem}.access-denied{text-align:center;padding:var(--spacing-xl);background:var(--color-white);border-radius:var(--border-radius-md);border:1px solid var(--color-border)}.access-denied .icon{font-size:4rem;color:var(--color-error);margin-bottom:var(--spacing-md)}.access-denied h3{color:var(--text-primary);margin-bottom:var(--spacing-sm)}.access-denied p{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.create-admin-form{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.create-admin-form h3{color:var(--primary-blue);margin-bottom:var(--spacing-md);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm)}.create-admin-form h3 .icon{color:var(--accent-teal);font-size:1.1rem}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.admin-form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.admin-form-group label{font-weight:500;color:var(--text-secondary);font-size:.875rem}.admin-form-group input,.admin-form-group select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:1rem;transition:border-color .2s ease}.admin-form-group input:focus,.admin-form-group select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.admin-form-group.error input,.admin-form-group.error select{border-color:var(--color-error)}.admin-form-group .error-text{color:var(--color-error);font-size:.8rem;margin-top:var(--spacing-xs)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.btn-create{background:var(--accent-gradient);color:var(--color-white);border:none;border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-sm)}.btn-create:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-create:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-cancel{background:transparent;color:var(--text-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-lg);font-weight:500;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.admin-list{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);overflow:hidden}.admin-list h3{color:var(--primary-blue);margin:0;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border-bottom:1px solid var(--color-border);font-weight:600;display:flex;align-items:center;justify-content:space-between}.admin-count{background:var(--warm-gold);color:var(--color-white);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full);font-size:.75rem;font-weight:600}.admin-table{width:100%;border-collapse:collapse}.admin-table th{background:var(--bg-secondary);padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--color-border);font-size:.875rem}.admin-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);color:var(--text-primary)}.admin-table tr:hover{background:var(--bg-hover)}.admin-card{display:flex;align-items:center;gap:var(--spacing-sm)}.admin-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:var(--color-white);font-weight:600;font-size:1.1rem}.admin-info h4{margin:0;font-weight:600;color:var(--text-primary)}.admin-info p{margin:0;font-size:.875rem;color:var(--text-secondary)}.role-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.super_admin{background:linear-gradient(135deg,var(--warm-gold),#f59e0b);color:var(--color-white)}.role-badge.admin{background:var(--primary-blue);color:var(--color-white)}.status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#f3f4f6;color:#6b7280}.action-buttons{display:flex;gap:var(--spacing-xs);align-items:center}.action-btn{padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-xs)}.action-btn.edit{background:var(--accent-teal);color:var(--color-white)}.action-btn.edit:hover{background:#0f766e;transform:translateY(-1px)}.action-btn.delete{background:var(--color-error);color:var(--color-white)}.action-btn.delete:hover{background:#dc2626;transform:translateY(-1px)}.action-btn.toggle{background:var(--color-warning);color:var(--color-white)}.action-btn.toggle:hover{background:#d97706;transform:translateY(-1px)}.empty-admins{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-admins .icon{font-size:3rem;color:var(--color-border);margin-bottom:var(--spacing-md)}.empty-admins h3{color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.loading-spinner{width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.loading-overlay{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl);color:var(--text-secondary);gap:var(--spacing-sm)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal-content{background:var(--color-white);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);max-width:400px;width:100%;box-shadow:var(--shadow-xl)}.modal-content h3{color:var(--text-primary);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.modal-content .icon{color:var(--color-warning);font-size:1.5rem}.modal-content p{color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.5}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.modal-btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.modal-btn.confirm{background:var(--color-error);color:var(--color-white)}.modal-btn.confirm:hover{background:#dc2626}.modal-btn.cancel{background:var(--bg-secondary);color:var(--text-secondary)}.modal-btn.cancel:hover{background:var(--bg-hover)}@media (max-width: 768px){.admin-management{padding:var(--spacing-md);margin:var(--spacing-sm)}.admin-form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.admin-table{font-size:.875rem}.admin-table th,.admin-table td{padding:var(--spacing-sm)}.admin-table .hide-mobile{display:none}.action-buttons{flex-direction:column;gap:var(--spacing-xs)}.action-btn{width:100%;justify-content:center}}@media (max-width: 480px){.admin-table th,.admin-table td{padding:var(--spacing-xs)}.admin-card{flex-direction:column;text-align:center}.modal-content{margin:var(--spacing-md)}.modal-actions{flex-direction:column}}.admin-management{animation:fadeIn .3s ease-out}.modal-content{animation:fadeInScale .3s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.system-settings{padding:var(--spacing-lg);background:var(--cloud-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-subtle);margin:var(--spacing-md)}.settings-header{margin-bottom:var(--spacing-xl)}.settings-header h2{color:var(--primary-blue);margin-bottom:var(--spacing-sm);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm)}.settings-header h2 .icon{color:var(--warm-gold);font-size:1.25rem}.settings-header p{color:var(--text-secondary);margin:0;font-size:1rem}.settings-container{display:grid;grid-template-columns:250px 1fr;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.settings-tabs{display:flex;flex-direction:column;gap:var(--spacing-xs)}.settings-content{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-xl);min-height:500px}.settings-section h3{color:var(--primary-blue);margin-bottom:var(--spacing-lg);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--bg-secondary)}.settings-section h3 .icon{color:var(--warm-gold);font-size:1.1rem}.settings-grid{display:grid;gap:var(--spacing-lg)}.setting-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.setting-group label{font-weight:600;color:var(--text-primary);font-size:.95rem}.setting-group input,.setting-group select,.setting-group textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:1rem;transition:border-color .2s ease;font-family:inherit}.setting-group input:focus,.setting-group select:focus,.setting-group textarea:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.setting-group textarea{resize:vertical;min-height:80px}.setting-description{color:var(--text-secondary);font-size:.875rem;margin:0;line-height:1.4}.checkbox-group{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--border-radius-sm);border:1px solid var(--color-border)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.checkbox-label input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--border-radius-xs);background:var(--color-white);cursor:pointer;position:relative;transition:all .2s ease;margin:0;flex-shrink:0}.settings-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--border-radius-md);border:1px solid var(--color-border)}.btn-reset{background:transparent;color:var(--text-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-lg);font-weight:500;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-reset:hover{background:var(--bg-hover);border-color:var(--text-secondary);color:var(--text-primary)}.btn-reset:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 1024px){.settings-container{grid-template-columns:200px 1fr;gap:var(--spacing-lg)}}@media (max-width: 768px){.system-settings{padding:var(--spacing-md);margin:var(--spacing-sm)}.settings-container{grid-template-columns:1fr;gap:var(--spacing-md)}.settings-tabs{flex-direction:row;overflow-x:auto;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.tab-button{white-space:nowrap;flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md)}.settings-content{padding:var(--spacing-md)}.settings-actions{flex-direction:column;padding:var(--spacing-md)}.settings-actions button{width:100%;justify-content:center}}@media (max-width: 480px){.settings-header h2{font-size:1.25rem}.tab-button{font-size:.875rem;padding:var(--spacing-xs) var(--spacing-sm)}.settings-section h3{font-size:1rem}.checkbox-group{padding:var(--spacing-sm)}}.system-settings{animation:fadeIn .3s ease-out}.settings-content{animation:fadeIn .2s ease-out}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;background-size:16px;padding-right:var(--spacing-xl);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}@media (prefers-contrast: high){.settings-tabs{border:2px solid var(--text-primary)}.tab-button,.settings-content{border-width:2px}}.admin-profile{padding:var(--spacing-lg);background:var(--cloud-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-subtle);margin:var(--spacing-md)}.profile-header{margin-bottom:var(--spacing-xl)}.profile-header h2{color:var(--primary-blue);margin-bottom:var(--spacing-sm);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm)}.profile-header h2 .icon{color:var(--warm-gold);font-size:1.25rem}.profile-header p{color:var(--text-secondary);margin:0;font-size:1rem}.profile-container{display:grid;grid-template-columns:250px 1fr;gap:var(--spacing-xl)}.profile-tabs{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tab-button{background:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);text-align:left;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-sm);font-size:.95rem;font-weight:500;color:var(--text-secondary)}.tab-button:hover{background:var(--bg-hover);border-color:var(--primary-blue);color:var(--text-primary)}.tab-button.active{background:var(--accent-gradient);border-color:transparent;color:var(--color-white);box-shadow:var(--shadow-md)}.tab-button .tab-icon{font-size:1.1rem}.profile-content{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-xl);min-height:600px}.avatar-section{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--bg-secondary)}.avatar-container{position:relative}.avatar-image{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid var(--warm-gold)}.avatar-placeholder{width:100px;height:100px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:var(--color-white);font-size:2.5rem;font-weight:600;border:4px solid var(--warm-gold)}.avatar-upload{position:absolute;bottom:0;right:0;width:32px;height:32px;background:var(--primary-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;border:2px solid var(--color-white)}.avatar-upload:hover{background:var(--warm-gold);transform:scale(1.1)}.upload-icon{color:var(--color-white);font-size:1rem}.avatar-info h3{color:var(--text-primary);margin:0 0 var(--spacing-xs) 0;font-weight:600;font-size:1.5rem}.role-badge{background:var(--warm-gold);color:var(--color-white);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:600;color:var(--text-primary);font-size:.95rem}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:1rem;transition:border-color .2s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:100px}.profile-section h3,.security-section h3,.preferences-section h3{color:var(--primary-blue);margin-bottom:var(--spacing-lg);font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--bg-secondary)}.profile-section h3 .icon,.security-section h3 .icon,.preferences-section h3 .icon{color:var(--warm-gold);font-size:1.1rem}.password-requirements{background:var(--bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.password-requirements h4{color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;font-size:.9rem;font-weight:600}.password-requirements ul{list-style:none;padding:0;margin:0}.password-requirements li{padding:var(--spacing-xs) 0;color:var(--text-secondary);font-size:.875rem;display:flex;align-items:center;gap:var(--spacing-sm)}.password-requirements li:before{content:"✗";color:var(--color-error);font-weight:700}.password-requirements li.valid{color:var(--color-success)}.password-requirements li.valid:before{content:"✓";color:var(--color-success)}.preference-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.preference-item{background:var(--bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-md)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.checkbox-label input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--border-radius-xs);background:var(--color-white);cursor:pointer;position:relative;transition:all .2s ease;margin:0}.checkbox-label input[type=checkbox]:checked{background:var(--primary-blue);border-color:var(--primary-blue)}.checkbox-label input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-white);font-size:.8rem;font-weight:700}.checkbox-label input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.preference-item p{color:var(--text-secondary);font-size:.875rem;margin:0;line-height:1.4}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--border-radius-md);border:1px solid var(--color-border);margin-top:var(--spacing-lg)}.btn-save{background:var(--accent-gradient);color:var(--color-white);border:none;border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-sm)}.btn-save:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.message{padding:var(--spacing-md);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500}.message.success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.message.error{background:#fecaca;color:#991b1b;border:1px solid #fca5a5}.message .icon{font-size:1.1rem}@media (max-width: 1024px){.profile-container{grid-template-columns:200px 1fr;gap:var(--spacing-lg)}}@media (max-width: 768px){.admin-profile{padding:var(--spacing-md);margin:var(--spacing-sm)}.profile-container{grid-template-columns:1fr;gap:var(--spacing-md)}.profile-tabs{flex-direction:row;overflow-x:auto;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.tab-button{white-space:nowrap;flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md)}.profile-content{padding:var(--spacing-md)}.avatar-section{flex-direction:column;text-align:center}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column;padding:var(--spacing-md)}.form-actions button{width:100%;justify-content:center}}@media (max-width: 480px){.profile-header h2{font-size:1.25rem}.tab-button{font-size:.875rem;padding:var(--spacing-xs) var(--spacing-sm)}.avatar-image,.avatar-placeholder{width:80px;height:80px}.avatar-placeholder{font-size:2rem}.avatar-upload{width:28px;height:28px}.profile-section h3,.security-section h3,.preferences-section h3{font-size:1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin-profile{animation:fadeIn .3s ease-out}.profile-content{animation:fadeIn .2s ease-out}select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;background-size:16px;padding-right:var(--spacing-xl);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.tab-button:focus,input:focus,select:focus,textarea:focus,button:focus{outline:2px solid var(--primary-blue);outline-offset:2px}:root{--color-success: #16a34a;--color-warning: #d97706;--color-error: #dc2626}@media (prefers-contrast: high){.profile-tabs{border:2px solid var(--text-primary)}.tab-button,.profile-content{border-width:2px}}.admin-dashboard{display:flex;min-height:100vh;background:var(--paper-cream);font-family:var(--font-primary)}.admin-loading{min-height:100vh;background:var(--hero-gradient);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.admin-loading .loading-spinner{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);color:var(--cloud-white)}.admin-loading .spinner{width:50px;height:50px;border:3px solid rgba(255,255,255,.3);border-top:3px solid var(--warm-gold);border-radius:50%;animation:spin 1s linear infinite}.admin-loading p{font-size:1.1rem;font-weight:500}.admin-main-content{flex:1;margin-left:280px;transition:margin-left .3s ease;background:var(--paper-cream)}.admin-main-content.collapsed{margin-left:80px}.admin-header{background:var(--cloud-white);padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid #e1e8ed;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-light);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:var(--spacing-md)}.sidebar-toggle{background:var(--accent-teal);color:var(--cloud-white);border:none;width:40px;height:40px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:all .3s ease}.sidebar-toggle:hover{background:var(--primary-blue);transform:scale(1.05)}.page-title{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:var(--primary-blue);margin:0}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.admin-user-info{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--paper-cream);border-radius:var(--radius-md);border:1px solid #e1e8ed}.admin-role-badge{background:var(--sunset-gradient);color:var(--cloud-white);padding:4px 8px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.admin-username{font-weight:600;color:var(--charcoal)}.admin-content{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}@media (max-width: 1024px){.admin-main-content,.admin-main-content.collapsed{margin-left:0}.admin-header{padding:var(--spacing-md) var(--spacing-lg)}.page-title{font-size:1.5rem}.admin-content{padding:var(--spacing-lg)}}@media (max-width: 768px){.admin-header{padding:var(--spacing-md)}.header-left{gap:var(--spacing-sm)}.page-title{font-size:1.3rem}.admin-user-info{flex-direction:column;gap:4px;align-items:flex-end}.admin-username{font-size:.9rem}.admin-content{padding:var(--spacing-md)}}@media (max-width: 480px){.admin-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.header-right{width:100%;justify-content:flex-end}.page-title{font-size:1.2rem}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10000;padding:2rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.payment-modal{background:var(--cloud-white);border-radius:var(--radius-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.payment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;border-bottom:1px solid var(--light-gray)}.payment-modal-header h2{color:var(--charcoal);margin:0;font-size:1.5rem;font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--stone-gray);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease}.close-btn:hover{background:var(--light-gray);color:var(--charcoal)}.payment-modal-content{padding:2rem}.guide-summary{background:linear-gradient(135deg,var(--ocean-teal),var(--accent-teal));color:#fff;padding:1.5rem;border-radius:var(--radius-lg);margin-bottom:2rem}.guide-summary h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#000}.guide-description{margin:0 0 1rem;opacity:.9;line-height:1.5;color:#000}.guide-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.875rem;opacity:.8;color:#000}.detail-value{font-weight:600;font-size:1.1rem;color:#000}.detail-value.price{color:var(--warm-gold);font-size:1.25rem}.payment-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--charcoal);font-size:.9rem}.form-group input{padding:.75rem 1rem;border:2px solid var(--light-gray);border-radius:var(--radius-md);font-size:1rem;transition:all .2s ease;background:#fff}.form-group input:focus{outline:none;border-color:var(--accent-teal);box-shadow:0 0 0 3px #3498db1a}.form-group input:disabled{opacity:.6;background:var(--light-gray)}.error-message{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:var(--radius-md);border:1px solid #fecaca;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.error-icon{font-size:1.1rem}.payment-info{background:var(--light-gray);padding:1.5rem;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.75rem}.info-item{display:flex;align-items:center;gap:.75rem;color:var(--charcoal);font-size:.9rem}.info-icon{font-size:1.1rem;color:var(--accent-teal)}.payment-btn{background:linear-gradient(135deg,var(--warm-gold),#f39c12);color:#fff;border:none;padding:1rem 2rem;border-radius:var(--radius-lg);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 15px #f39c124d}.payment-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f39c1266}.payment-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner{width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.payment-modal-overlay{padding:1rem}.payment-modal{max-height:95vh}.payment-modal-content{padding:1.5rem}.payment-modal-header{padding:1.5rem 1.5rem 1rem}.guide-details{grid-template-columns:1fr}.payment-btn{padding:.875rem 1.5rem;font-size:1rem}}.payment-result-container{min-height:100vh;background:linear-gradient(135deg,var(--ocean-teal),var(--accent-teal));display:flex;align-items:center;justify-content:center;padding:2rem;font-family:var(--font-primary)}.payment-result-card{background:var(--cloud-white);border-radius:var(--radius-xl);padding:3rem;max-width:700px;width:100%;text-align:center;box-shadow:0 20px 60px #0003;animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.result-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;font-size:2.5rem}.success-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.failure-icon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.pending-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.payment-result-card h1{color:var(--charcoal);margin-bottom:1rem;font-size:2rem;font-weight:600}.result-message{color:var(--stone-gray);font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.credentials-section{background:var(--light-gray);border-radius:var(--radius-lg);padding:2rem;margin:2rem 0;text-align:left}.credentials-section h3{color:var(--charcoal);margin-bottom:1rem;text-align:center}.credentials-card{background:#fff;border-radius:var(--radius-md);padding:1.5rem;border:2px solid var(--accent-teal);margin-bottom:1rem}.credential-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--light-gray)}.credential-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.credential-item strong{color:var(--charcoal);font-weight:600}.credential-item code{background:var(--light-gray);padding:.25rem .5rem;border-radius:var(--radius-sm);font-family:Monaco,Consolas,monospace;color:var(--accent-teal);font-weight:600}.important-note{background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-md);padding:1rem;display:flex;align-items:flex-start;gap:.75rem}.note-icon{color:#d97706;font-size:1.1rem;margin-top:.1rem}.important-note p{margin:0;color:#92400e;font-size:.9rem;line-height:1.5}.next-steps,.failure-reasons,.retry-section,.pending-info{background:var(--light-gray);border-radius:var(--radius-lg);padding:1.5rem;margin:2rem 0;text-align:left}.next-steps h3,.failure-reasons h3,.retry-section h3,.pending-info h3{color:var(--charcoal);margin-bottom:1rem;text-align:center}.next-steps ol,.retry-section ol{margin:0;padding-left:1.5rem;color:var(--stone-gray)}.next-steps li,.retry-section li{margin-bottom:.5rem;line-height:1.5}.failure-reasons ul,.pending-info ul{list-style:none;padding:0;margin:0}.failure-reasons li,.pending-info li{padding:.5rem 0;color:var(--stone-gray);line-height:1.5}.notification-setup{margin:2rem 0}.notification-card{background:linear-gradient(135deg,#e0f2fe,#b3e5fc);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid #4fc3f7}.notification-card h4{color:#0277bd;margin-bottom:.5rem}.notification-card p{color:#01579b;margin:0;line-height:1.6}.action-buttons{display:flex;gap:1rem;justify-content:center;margin:2rem 0;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:.875rem 2rem;border-radius:var(--radius-lg);font-weight:600;text-decoration:none;font-size:1rem;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,var(--warm-gold),#f39c12);color:#fff;box-shadow:0 4px 15px #f39c124d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f39c1266}.btn-secondary{background:#fff;color:var(--charcoal);border:2px solid var(--light-gray)}.btn-secondary:hover{background:var(--light-gray);transform:translateY(-2px)}.support-info{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--light-gray);color:var(--stone-gray);font-size:.9rem}.support-info a{color:var(--accent-teal);text-decoration:none;font-weight:600}.support-info a:hover{text-decoration:underline}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#fff}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.payment-result-container{padding:1rem}.payment-result-card{padding:2rem}.result-icon{width:60px;height:60px;font-size:2rem}.payment-result-card h1{font-size:1.5rem}.action-buttons{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:100%;max-width:300px;justify-content:center}.credential-item{flex-direction:column;align-items:flex-start;gap:.5rem}}:root{--primary-blue: #1e4d5b;--secondary-blue: #2980b9;--accent-teal: #16a085;--sunset-orange: #e67e22;--warm-gold: #f39c12;--warm-gold-dark: #d68910;--coral: #ff6b6b;--forest-green: #27ae60;--earth-brown: #8b4513;--sand-beige: #f4e4bc;--cloud-white: #ffffff;--paper-cream: #fdfcf8;--stone-gray: #95a5a6;--charcoal: #2c3e50;--deep-navy: #1a252f;--text-primary: #1a202c;--text-secondary: #4a5568;--text-light: #718096;--text-white: #ffffff;--text-on-dark: #ffffff;--text-on-light: #1a202c;--bg-primary: #f7fafc;--bg-secondary: #edf2f7;--bg-card: #ffffff;--bg-overlay: rgba(26, 32, 44, .8);--bg-overlay-light: rgba(255, 255, 255, .95);--hero-gradient: linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 50%, var(--accent-teal) 100%);--hero-gradient-overlay: linear-gradient(135deg, rgba(30, 77, 91, .9) 0%, rgba(41, 128, 185, .9) 50%, rgba(22, 160, 133, .9) 100%);--sunset-gradient: linear-gradient(90deg, var(--warm-gold), var(--sunset-orange));--ocean-gradient: linear-gradient(45deg, var(--primary-blue), var(--accent-teal));--hero-gradient-black: linear-gradient(135deg, var(--deep-navy) 0%, var(--charcoal) 50%, var(--stone-gray) 100%);--border-color: #e2e8f0;--border-light: #edf2f7;--border-focus: #3182ce;--success-color: #38a169;--error-color: #e53e3e;--warning-color: #d69e2e;--info-color: #3182ce;--shadow-light: 0 2px 8px rgba(30, 77, 91, .08);--shadow-medium: 0 4px 24px rgba(30, 77, 91, .12);--shadow-heavy: 0 8px 32px rgba(30, 77, 91, .16);--shadow-focus: 0 0 0 3px rgba(49, 130, 206, .15);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-xxl: 4rem;--font-primary: "Inter", "Segoe UI", system-ui, sans-serif;--font-heading: "Poppins", "Inter", sans-serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}*:focus{outline:2px solid var(--border-focus);outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-primary);line-height:1.6;color:var(--text-primary);background-color:var(--paper-cream)}.hero-content-container{max-width:1200px;margin:0 auto;padding:0 4rem;position:relative;z-index:2}@media (max-width: 768px){.hero-content-container{padding:0 2rem}}@media (max-width: 480px){.hero-content-container{padding:0 1.5rem}}@media (max-width: 1200px){:root{--spacing-xl: 2.5rem;--spacing-xxl: 3rem}}@media (max-width: 768px){:root{--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 2.5rem}}@media (max-width: 480px){:root{--spacing-md: 1rem;--spacing-lg: 1.25rem;--spacing-xl: 1.5rem;--spacing-xxl: 2rem}}.btn-primary{background:var(--sunset-gradient);color:var(--text-white);font-weight:700;font-size:1.1rem;padding:.8rem 2rem;border-radius:var(--radius-md);border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:var(--shadow-light);position:relative;min-height:44px}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium);filter:brightness(1.05)}.btn-primary:focus{box-shadow:var(--shadow-focus),var(--shadow-medium)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--secondary-blue);border:2px solid var(--secondary-blue);font-weight:600;padding:.7rem 1.8rem;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:all .3s ease;min-height:44px}.btn-secondary:hover{background:var(--secondary-blue);color:var(--text-white);box-shadow:var(--shadow-light)}.btn-secondary:focus{box-shadow:var(--shadow-focus)}.text-high-contrast{color:var(--text-primary)!important;text-shadow:none!important}.bg-high-contrast{background:var(--bg-card)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.remove-blur{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important}.overlay-dark{background:var(--bg-overlay);color:var(--text-white)}.overlay-light{background:var(--bg-overlay-light);color:var(--text-primary)}.text-on-image{color:var(--text-white);text-shadow:2px 2px 4px rgba(0,0,0,.8);background:#0006;padding:.25rem .5rem;border-radius:var(--radius-sm)}.modal-backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-heavy)}.form-input{background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-primary);padding:.75rem;border-radius:var(--radius-md);transition:all .2s ease}.form-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:none}.form-input::placeholder{color:var(--text-light);opacity:.8}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-light);padding:var(--spacing-lg);color:var(--text-primary)}.card-header{border-bottom:1px solid var(--border-light);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md)}.card-title{color:var(--text-primary);font-weight:700;font-size:1.25rem;margin:0}.status-success{background:#38a1691a;color:var(--success-color);border:1px solid rgba(56,161,105,.3);padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600}.status-error{background:#e53e3e1a;color:var(--error-color);border:1px solid rgba(229,62,62,.3);padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600}.status-warning{background:#d69e2e1a;color:var(--warning-color);border:1px solid rgba(214,158,46,.3);padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600}@media (prefers-contrast: high){:root{--text-primary: #000000;--text-secondary: #333333;--bg-card: #ffffff;--border-color: #000000;--shadow-light: 0 2px 8px rgba(0, 0, 0, .3);--shadow-medium: 0 4px 24px rgba(0, 0, 0, .4)}.btn-primary,.btn-secondary,.card{border:2px solid var(--text-primary)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn-primary:hover,.btn-secondary:hover{transform:none}}
