:root{--primary-color:#3498db;--primary-dark:#2980b9;--secondary-color:#2ecc71;--text-color:#333;--light-text:#666;--lighter-text:#999;--border-color:#ddd;--error-color:#e74c3c;--warning-color:#f39c12;--success-color:#27ae60;--white:#fff;--light-bg:#f9f9f9;--shadow:0 4px 6px rgba(0,0,0,0.1);--transition:all 0.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:'Nunito',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--text-color);background-color:var(--light-bg);min-height:100vh;display:flex;flex-direction:column}main{flex:1}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}a{text-decoration:none;color:var(--primary-color);transition:var(--transition)}a:hover{color:var(--primary-dark)}header{background-color:var(--white);box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:15px 0;position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between}.logo img{height:40px}.main-nav ul{display:flex;list-style:none;gap:30px}.main-nav a{color:var(--text-color);font-weight:600}.main-nav a:hover{color:var(--primary-color)}.auth-nav{display:flex;gap:15px}.footer-moderno{margin-top:0}.footer-gradiente{background:linear-gradient(135deg,#5b6dd4 0%,#667eea 50%,#764ba2 100%);position:relative;overflow:hidden}.footer-gradiente::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 15% 30%,rgba(255,255,255,0.1) 0%,transparent 50%),radial-gradient(circle at 85% 70%,rgba(255,255,255,0.1) 0%,transparent 50%);pointer-events:none}.footer-principal{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:80px 0 60px;position:relative;z-index:2}.footer-brand{color:white}.footer-tagline{font-size:1.1rem;line-height:1.6;color:rgba(255,255,255,0.9);margin-bottom:30px;max-width:280px}.footer-social-principal{display:flex;gap:15px}.social-btn{display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:12px;color:white;font-size:1.2rem;transition:all 0.3s ease;text-decoration:none}.social-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,0.3)}.social-btn.facebook{background:linear-gradient(135deg,#667eea,#764ba2)}.social-btn.twitter{background:linear-gradient(135deg,#5b6dd4,#667eea)}.social-btn.instagram{background:linear-gradient(135deg,#764ba2,#9b59b6)}.social-btn.linkedin{background:linear-gradient(135deg,#667eea,#5b6dd4)}.footer-navegacion{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.footer-columna h4{color:white;font-size:1.1rem;font-weight:600;margin-bottom:20px;position:relative}.footer-columna h4::after{content:'';position:absolute;bottom:-8px;left:0;width:30px;height:2px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:1px}.footer-columna ul{list-style:none;padding:0;margin:0}.footer-columna li{margin-bottom:12px}.footer-columna a{color:rgba(255,255,255,0.8);text-decoration:none;font-size:0.95rem;transition:all 0.3s ease;position:relative}.footer-columna a:hover{color:#667eea;padding-left:5px}.footer-newsletter{background:rgba(255,255,255,0.1);border-radius:20px;padding:40px;margin:60px 0;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);position:relative;z-index:2;box-shadow:0 20px 40px rgba(0,0,0,0.1);transition:transform 0.3s ease,box-shadow 0.3s ease}.footer-newsletter:hover{transform:translateY(-5px);box-shadow:0 30px 60px rgba(0,0,0,0.15)}.newsletter-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.newsletter-info h4{color:white;font-size:1.4rem;margin-bottom:15px;font-weight:600}.newsletter-info p{color:rgba(255,255,255,0.9);font-size:1rem;line-height:1.6;margin:0}.suscripcion-form{display:flex;gap:15px}.newsletter-input{flex:1;padding:15px 20px;border:none;border-radius:25px;font-size:1rem;background:rgba(255,255,255,0.9);color:#5b6dd4;transition:all 0.3s ease}.newsletter-input:focus{outline:none;background:white;box-shadow:0 0 0 3px rgba(91,109,212,0.3)}.newsletter-input::placeholder{color:rgba(91,109,212,0.6)}.newsletter-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none;padding:15px 30px;border-radius:25px;font-weight:600;cursor:pointer;transition:all 0.3s ease;white-space:nowrap}.newsletter-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,0.4)}.footer-bottom-moderno{background:rgba(0,0,0,0.3);padding:40px 0;border-top:1px solid rgba(255,255,255,0.15);position:relative;z-index:2}.footer-bottom-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column;gap:30px}.footer-company-section{text-align:center;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,0.1)}.company-name{font-size:18px;font-weight:700;color:#ffffff;margin-bottom:12px;letter-spacing:0.5px}.company-details{display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,0.8)}.detail-item{font-weight:500}.detail-separator{color:rgba(255,255,255,0.5);font-weight:300}.footer-privacy-links{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.privacy-link{display:flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:25px;color:#e8d5f2;text-decoration:none;font-size:13px;font-weight:500;transition:all 0.3s ease;backdrop-filter:blur(5px)}.privacy-link:hover{background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.4);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.15);text-decoration:none;color:#ffffff}.privacy-link i{font-size:14px;opacity:0.9}.footer-certifications{text-align:center}.certification-title{font-size:14px;font-weight:600;color:rgba(255,255,255,0.9);margin-bottom:15px;text-transform:uppercase;letter-spacing:1px}.certification-badges{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.cert-badge{display:flex;align-items:center;gap:8px;padding:12px 18px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);border-radius:30px;color:rgba(255,255,255,0.95);font-size:12px;font-weight:600;backdrop-filter:blur(8px);transition:all 0.3s ease;min-width:120px;justify-content:center}.cert-badge:hover{background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.4);transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.2)}.cert-badge i{font-size:14px;opacity:0.9}.cert-badge.medical:hover{background:rgba(46,204,113,0.2);border-color:rgba(46,204,113,0.5)}.cert-badge.ssl:hover{background:rgba(52,152,219,0.2);border-color:rgba(52,152,219,0.5)}.cert-badge.iso:hover{background:rgba(241,196,15,0.2);border-color:rgba(241,196,15,0.5)}.cert-badge.gdpr:hover{background:rgba(155,89,182,0.2);border-color:rgba(155,89,182,0.5)}.cert-badge.soc:hover{background:rgba(230,126,34,0.2);border-color:rgba(230,126,34,0.5)}@media (max-width:992px){.footer-principal{grid-template-columns:1fr;gap:40px;text-align:center}.footer-navegacion{grid-template-columns:repeat(2,1fr);gap:30px}.newsletter-content{grid-template-columns:1fr;gap:25px;text-align:center}}@media (max-width:768px){.footer-navegacion{grid-template-columns:1fr;gap:25px}.suscripcion-form{flex-direction:column}.footer-bottom-moderno{padding:30px 0}.footer-bottom-content{gap:25px}.company-name{font-size:16px}.company-details{flex-direction:column;gap:8px}.detail-separator{display:none}.footer-privacy-links{gap:15px}.privacy-link{font-size:12px;padding:8px 12px}.certification-badges{gap:12px}.cert-badge{min-width:100px;padding:10px 14px;font-size:11px}}@media (max-width:480px){.footer-privacy-links{flex-direction:column;align-items:center;gap:10px}.privacy-link{min-width:180px;justify-content:center}.certification-badges{grid-template-columns:repeat(2,1fr);gap:10px}.cert-badge{min-width:auto;font-size:10px;padding:8px 12px}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,0.98);backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,0.1);box-shadow:0 -10px 30px rgba(0,0,0,0.1);z-index:10000;animation:slideUp 0.3s ease}@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-content{max-width:1200px;margin:0 auto;padding:20px;display:flex;align-items:center;gap:30px}.cookie-text{flex:1}.cookie-text h4{margin:0 0 8px 0;color:#5b6dd4;font-size:1.1rem;font-weight:600}.cookie-text p{margin:0;color:#555;font-size:0.95rem;line-height:1.4}.cookie-text a{color:#667eea;text-decoration:underline}.cookie-actions{display:flex;gap:10px}.btn-cookie{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all 0.3s ease;font-size:0.9rem}.btn-cookie.essential{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.btn-cookie.essential:hover{background:#e9ecef}.btn-cookie.settings{background:white;color:#5b6dd4;border:1px solid #5b6dd4}.btn-cookie.settings:hover{background:#5b6dd4;color:white}.btn-cookie.accept{background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none}.btn-cookie.accept:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,0.3)}.legal-modal,.info-modal,.cookie-settings-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10001;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease}.legal-modal.modal-active,.info-modal.modal-active,.cookie-settings-modal.modal-active{opacity:1;visibility:visible}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);backdrop-filter:blur(5px);transition:backdrop-filter 0.3s ease}.modal-content-legal,.modal-content-info,.modal-content-cookies{position:relative;background:white;border-radius:16px;max-width:800px;max-height:80vh;width:90%;box-shadow:0 20px 60px rgba(0,0,0,0.2);display:flex;flex-direction:column;transform:translateY(30px);transition:transform 0.3s ease,opacity 0.3s ease}.modal-active .modal-content-legal,.modal-active .modal-content-info,.modal-active .modal-content-cookies{transform:translateY(0)}.modal-header-legal,.modal-header-info,.modal-header-cookies{padding:20px 30px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#5b6dd4,#667eea);color:white;border-radius:16px 16px 0 0}.modal-header-legal h3,.modal-header-info h3,.modal-header-cookies h3{margin:0;font-size:1.3rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;color:white;cursor:pointer;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background 0.3s ease}.modal-close:hover{background:rgba(255,255,255,0.2)}.modal-body-legal,.modal-body-info,.modal-body-cookies{padding:30px;overflow-y:auto;flex:1}.modal-body-legal h4,.modal-body-info h4{color:#5b6dd4;margin-top:25px;margin-bottom:15px;font-size:1.1rem;font-weight:600}.modal-body-legal p,.modal-body-info p{margin-bottom:15px;line-height:1.6;color:#555}.modal-body-legal ul,.modal-body-info ul{margin-bottom:15px;padding-left:20px}.modal-body-legal li,.modal-body-info li{margin-bottom:8px;line-height:1.5;color:#555}.modal-footer-legal,.modal-footer-info,.modal-footer-cookies{padding:20px 30px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:15px}.btn-modal-close,.btn-save-cookies{padding:12px 25px;background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all 0.3s ease}.btn-modal-close:hover,.btn-save-cookies:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,0.3)}.cookie-category{margin-bottom:25px;padding:20px;border:1px solid #e9ecef;border-radius:10px;background:#f8f9fc}.cookie-category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cookie-category h4{margin:0;color:#5b6dd4;font-size:1rem;font-weight:600}.cookie-category p{margin:0;color:#666;font-size:0.9rem;line-height:1.5}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:0.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:0.3s;border-radius:50%}input:checked + .toggle-slider{background:linear-gradient(135deg,#667eea,#764ba2)}input:checked + .toggle-slider:before{transform:translateX(26px)}input:disabled + .toggle-slider{background-color:#5b6dd4;cursor:not-allowed}@media (max-width:768px){.cookie-content{flex-direction:column;gap:20px;text-align:center}.cookie-actions{flex-direction:column;width:100%}.btn-cookie{width:100%;justify-content:center}.modal-content-legal,.modal-content-info,.modal-content-cookies{max-width:95%;max-height:90vh}.modal-header-legal,.modal-header-info,.modal-header-cookies{padding:15px 20px}.modal-body-legal,.modal-body-info,.modal-body-cookies{padding:20px}.modal-footer-legal,.modal-footer-info,.modal-footer-cookies{padding:15px 20px}.cookie-category-header{flex-direction:column;gap:10px;align-items:flex-start}}.footer-legal-info{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,0.1)}.footer-legal-info small{line-height:1.4;opacity:0.8}.footer-legal-info a{transition:opacity 0.3s ease}.footer-legal-info a:hover{opacity:0.8;text-decoration:underline !important}.footer-badges .badge-item:last-child{margin-right:0}.footer-badges .badge-item{margin-right:15px}.footer-badges .badge-item:last-child{margin-right:0}@media (max-width:768px){.footer-legal-info{text-align:center}.footer-legal-info small{font-size:0.7rem}.footer-badges{flex-wrap:wrap;justify-content:center;gap:8px}.footer-badges .badge-item{margin-right:8px;margin-bottom:8px}}.form-group{margin-bottom:20px}label{display:block;margin-bottom:8px;font-weight:600}input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="date"],textarea,select{width:100%;padding:12px 15px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;transition:var(--transition)}input[type="text"]:focus,input[type="email"]:focus,input[type="password"]:focus,input[type="tel"]:focus,input[type="date"]:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(52,152,219,0.2)}.form-check{display:flex;align-items:center;margin-bottom:20px}.form-check input[type="checkbox"]{margin-right:10px}.form-hint{font-size:14px;color:var(--light-text);margin-top:5px}.form-actions{margin-top:30px}.form-links{text-align:center;margin-top:20px}.form-links a{color:var(--primary-color);text-decoration:none;font-weight:600}.form-links a:hover{text-decoration:underline}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{padding-right:3.5rem}.password-toggle{position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;border-radius:4px;width:36px;height:36px;z-index:1;flex-shrink:0}.password-toggle:hover{color:var(--primary-color);background-color:rgba(52,152,219,0.1)}.password-toggle:active{background-color:rgba(52,152,219,0.2);transform:translateY(-50%) scale(0.95)}.password-toggle:focus{outline:none;color:var(--primary-color);background-color:rgba(52,152,219,0.15);box-shadow:0 0 0 2px rgba(52,152,219,0.2)}.password-toggle .material-icons-sharp{font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.btn{display:inline-block;padding:12px 25px;font-size:16px;font-weight:600;text-align:center;text-decoration:none;cursor:pointer;border:none;border-radius:6px;transition:var(--transition);background-color:transparent;color:var(--text-color)}.btn:hover{background-color:rgba(0,0,0,0.05)}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-primary:hover{background-color:var(--primary-dark)}.btn-secondary{background-color:var(--secondary-color);color:var(--white)}.btn-secondary:hover{background-color:var(--success-color)}.btn-block{display:block;width:100%}.auth-section{min-height:calc(100vh - 144px);padding:60px 0;background:linear-gradient(135deg,#f8f9fc 0%,#eef1f8 100%);display:flex;align-items:center}.auth-container{max-width:460px;margin:0 auto;width:100%}.auth-header{text-align:center;margin-bottom:32px}.auth-header h2{font-size:28px;font-weight:700;color:#1a1a2e;margin-bottom:8px;letter-spacing:-0.5px}.auth-header p{color:#6b7280;font-size:15px;line-height:1.5}.auth-card{background-color:#fff;padding:40px;border-radius:16px;box-shadow:0 4px 24px rgba(102,126,234,0.08),0 1px 3px rgba(0,0,0,0.04);border:1px solid rgba(102,126,234,0.08)}.auth-card .form-group{margin-bottom:20px}.auth-card .form-group label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.auth-card .form-group input[type="text"],.auth-card .form-group input[type="email"],.auth-card .form-group input[type="password"]{width:100%;padding:14px 16px;font-size:15px;border:1.5px solid #e5e7eb;border-radius:10px;background:#f9fafb;color:#1a1a2e;transition:all 0.2s ease}.auth-card .form-group input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px rgba(102,126,234,0.12)}.auth-card .form-group input::placeholder{color:#9ca3af}.password-input-container{position:relative}.password-input-container input{padding-right:48px !important}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color 0.2s}.password-toggle:hover{color:#667eea}.password-toggle .material-icons-sharp{font-size:20px}.form-hint{font-size:12px;color:#9ca3af;margin-top:6px;line-height:1.4}.auth-card .form-check{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px}.auth-card .form-check input[type="checkbox"]{width:18px;height:18px;margin-top:2px;accent-color:#667eea;cursor:pointer;flex-shrink:0}.auth-card .form-check label{font-size:14px;color:#4b5563;cursor:pointer;display:flex;align-items:center;gap:6px;line-height:1.4}.auth-card .form-check label .material-icons-sharp{font-size:16px;color:#667eea}.form-actions{margin-top:24px}.auth-card .btn-primary{width:100%;padding:14px 24px;font-size:15px;font-weight:600;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all 0.2s ease;box-shadow:0 4px 12px rgba(102,126,234,0.25)}.auth-card .btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(102,126,234,0.35)}.auth-card .btn-primary:active{transform:translateY(0)}.form-links{text-align:center;margin-top:16px}.form-links .forgot-password{font-size:14px;color:#667eea;text-decoration:none;font-weight:500;transition:color 0.2s}.form-links .forgot-password:hover{color:#5a67d8;text-decoration:underline}.auth-separator{display:flex;align-items:center;margin:28px 0;color:#9ca3af}.auth-separator:before,.auth-separator:after{content:"";flex:1;border-bottom:1px solid #e5e7eb}.auth-separator span{padding:0 16px;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:0.5px}.auth-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #f3f4f6}.auth-footer p{font-size:14px;color:#6b7280}.auth-footer a{color:#667eea;font-weight:600;text-decoration:none;transition:color 0.2s}.auth-footer a:hover{color:#5a67d8;text-decoration:underline}.social-auth{display:flex;flex-direction:column;gap:12px}.btn-social{display:flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:10px;text-decoration:none;font-weight:600;font-size:15px;transition:all 0.2s ease;border:1.5px solid #e5e7eb;background:#fff;color:#374151}.btn-social:hover{border-color:#d1d5db;background:#f9fafb}.btn-social .icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:12px;font-weight:700}.btn-social.google{background:#fff;color:#374151;border-color:#e5e7eb}.btn-social.google:hover{background:#f9fafb;border-color:#4285F4}.btn-social.google .icon{background:none;color:#4285F4;font-size:18px;font-family:'Google Sans',Arial,sans-serif}.user-type-options{display:flex;gap:16px;margin-bottom:24px}.user-type-option{flex:1;padding:20px 16px;border:2px solid #e5e7eb;border-radius:12px;text-align:center;cursor:pointer;transition:all 0.2s ease;background:#f9fafb}.user-type-option:hover{border-color:#667eea;background:#fff}.user-type-option.selected{border-color:#667eea;background:linear-gradient(135deg,rgba(102,126,234,0.08) 0%,rgba(118,75,162,0.08) 100%);box-shadow:0 0 0 3px rgba(102,126,234,0.12)}.user-type-icon{font-size:32px;margin-bottom:12px;color:#667eea}.user-type-option h3{margin-bottom:6px;font-size:15px;font-weight:600;color:#1a1a2e}.user-type-option p{font-size:13px;color:#6b7280;line-height:1.4}.alert{padding:14px 18px;margin-bottom:20px;border-radius:10px;font-size:14px;display:flex;align-items:center;gap:10px}.alert-success{background-color:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.3);color:#059669}.alert-error{background-color:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.3);color:#dc2626}.alert-warning{background-color:rgba(245,158,11,0.1);border:1px solid rgba(245,158,11,0.3);color:#d97706}@media (max-width:768px){.auth-section{padding:40px 20px}.auth-card{padding:28px 24px}.auth-header h2{font-size:24px}.user-type-options{flex-direction:column}}@media (max-width:992px){.header-content{flex-wrap:wrap}.main-nav{order:3;width:100%;margin-top:15px}.main-nav ul{justify-content:space-between}}@media (max-width:768px){.auth-card{padding:30px 20px}.user-type-options{flex-direction:column}.form-row{flex-direction:column;gap:0}.main-nav ul{flex-wrap:wrap;gap:15px}.footer-content{flex-direction:column;gap:30px}.footer-nav{gap:30px}}.img-loader{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:rgba(255,255,255,0.7);z-index:2}.img-loader .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}img.loaded{opacity:1;transition:opacity 0.3s ease-in-out}img:not(.loaded){opacity:0.7}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.site-header{background:#fff;border-bottom:1px solid #e8e8f0;padding:0 24px;position:sticky;top:0;z-index:100}.site-header .container{max-width:1200px;margin:0 auto}.site-header .header-content{display:flex;justify-content:space-between;align-items:center;height:72px}.site-header .logo a{display:flex;align-items:center}.site-header .logo img{height:32px}.site-header .auth-nav{display:flex;align-items:center;gap:12px}.site-header .btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;transition:all 0.2s ease}.site-header .btn-text{background:none;border:none;color:#4b5563;cursor:pointer}.site-header .btn-text:hover{color:#667eea}.site-header .btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;box-shadow:0 2px 8px rgba(102,126,234,0.25)}.site-header .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,0.35)}.site-footer{background:#f8f9fc;border-top:1px solid #e8e8f0;padding:60px 0 0;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif}.site-footer .footer-container{max-width:1200px;margin:0 auto;padding:0 24px}.site-footer .footer-main{display:grid;grid-template-columns:1.5fr 2.5fr;gap:60px;padding-bottom:48px}.site-footer .footer-brand{max-width:320px}.site-footer .footer-logo{display:inline-block;margin-bottom:16px}.site-footer .footer-logo img{height:32px}.site-footer .footer-brand>p{font-size:14px;color:#6b7280;line-height:1.6;margin-bottom:20px}.site-footer .footer-security{display:flex;flex-wrap:wrap;gap:12px}.site-footer .security-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#059669;background:#d1fae5;padding:6px 12px;border-radius:6px;font-weight:500}.site-footer .footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.site-footer .footer-col h4{font-size:13px;font-weight:600;color:#1a1a2e;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px}.site-footer .footer-col a{display:block;font-size:14px;color:#6b7280;text-decoration:none;margin-bottom:10px;transition:color 0.2s}.site-footer .footer-col a:hover{color:#667eea}.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-top:1px solid #e8e8f0}.site-footer .footer-bottom-left p{font-size:13px;color:#9ca3af;margin:0}.site-footer .footer-bottom-center{display:flex;gap:12px}.site-footer .compliance-badge{font-size:11px;color:#6b7280;background:#fff;border:1px solid #e5e7eb;padding:4px 10px;border-radius:4px;font-weight:500}.site-footer .footer-bottom-right{display:flex;gap:16px}.site-footer .footer-bottom-right a{color:#9ca3af;transition:color 0.2s}.site-footer .footer-bottom-right a:hover{color:#667eea}.legal-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;align-items:center;justify-content:center}.legal-modal .modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(26,26,46,0.6);backdrop-filter:blur(4px)}.legal-modal .modal-content-legal{position:relative;background:#fff;border-radius:16px;max-width:700px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 48px rgba(102,126,234,0.15)}.legal-modal .modal-header-legal{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.legal-modal .modal-header-legal h3{margin:0;font-size:18px;font-weight:600;color:#1a1a2e}.legal-modal .modal-close{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;line-height:1;transition:color 0.2s}.legal-modal .modal-close:hover{color:#667eea}.legal-modal .modal-body-legal{padding:24px;overflow-y:auto;flex:1;color:#4b5563;line-height:1.7}.legal-modal .modal-footer-legal{padding:16px 24px;border-top:1px solid #e5e7eb;text-align:right}.legal-modal .btn-modal-close{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s ease;box-shadow:0 2px 8px rgba(102,126,234,0.25)}.legal-modal .btn-modal-close:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,0.35)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;padding:20px 24px;box-shadow:0 -4px 24px rgba(26,26,46,0.1);z-index:9998}body.public-page.cookie-banner-visible{padding-bottom:var(--cookie-banner-height,0px)}.cookie-banner .cookie-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.cookie-banner .cookie-text h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#1a1a2e}.cookie-banner .cookie-text p{margin:0;font-size:14px;color:#6b7280}.cookie-banner .cookie-text a{color:#667eea;text-decoration:none;font-weight:500}.cookie-banner .cookie-text a:hover{text-decoration:underline}.cookie-banner .cookie-actions{display:flex;gap:12px;flex-shrink:0}.cookie-banner .btn-cookie{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s ease;border:none}.cookie-banner .btn-cookie.essential{background:#f3f4f6;color:#4b5563}.cookie-banner .btn-cookie.essential:hover{background:#e5e7eb}.cookie-banner .btn-cookie.accept{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 2px 8px rgba(102,126,234,0.25)}.cookie-banner .btn-cookie.accept:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,0.35)}@media (max-width:1024px){.site-footer .footer-main{grid-template-columns:1fr;gap:40px}.site-footer .footer-brand{max-width:100%}.site-footer .footer-links{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.site-footer .footer-links{grid-template-columns:1fr;gap:24px}.site-footer .footer-bottom{flex-direction:column;gap:16px;text-align:center}.site-footer .footer-bottom-center{order:-1}.cookie-banner .cookie-content{flex-direction:column;text-align:center}.cookie-banner .cookie-actions{width:100%;justify-content:center}}