:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}button{font-family:inherit}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:48px;width:100%;max-width:420px;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.login-header h1{font-size:2.5rem;color:#667eea;margin:0 0 8px;font-weight:700}.login-header p{color:#718096;font-size:.95rem;margin:0}.login-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.9rem;font-weight:600;color:#2d3748}.form-group input{padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#a0aec0}.form-group input:disabled{background-color:#f7fafc;cursor:not-allowed}.form-hint{display:block;margin-top:4px;font-size:.8rem;color:#718096}.form-hint strong{color:#4a5568}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:8px;font-size:.9rem;text-align:center}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px;box-shadow:0 4px 15px #667eea66}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-button.secondary{background:#fff;color:#667eea;border:2px solid #667eea;box-shadow:none;margin-top:0}.login-button.secondary:hover:not(:disabled){background:#f7fafc;box-shadow:none}@media(max-width:480px){.login-card{padding:32px 24px}.login-header h1{font-size:2rem}}.legal-acceptance-page{min-height:100vh;background:#f7fafc;display:flex;align-items:center;justify-content:center;padding:20px}.legal-acceptance-container{width:100%;max-width:520px}.legal-acceptance-card{background:#fff;border-radius:20px;box-shadow:0 8px 30px #0000001f;padding:40px}.legal-acceptance-header{text-align:center;margin-bottom:32px}.legal-acceptance-header h1{font-size:2rem;color:#667eea;margin:0 0 4px;font-weight:700}.legal-acceptance-header h2{font-size:1.25rem;color:#2d3748;margin:0 0 12px;font-weight:600}.legal-acceptance-header p{font-size:.9rem;color:#718096;margin:0;line-height:1.5}.legal-acceptance-docs{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.legal-doc-link{display:flex;align-items:center;gap:14px;padding:16px;background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;font-family:inherit;text-align:left}.legal-doc-link:hover{border-color:#667eea;background:#f0f4ff}.legal-doc-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.legal-doc-icon svg{width:20px;height:20px;stroke:#fff}.legal-doc-text{flex:1;display:flex;flex-direction:column;gap:2px}.legal-doc-text strong{font-size:.95rem;color:#2d3748}.legal-doc-text small{font-size:.75rem;color:#a0aec0}.legal-doc-arrow{font-size:1.25rem;color:#a0aec0;flex-shrink:0}.legal-acceptance-checkbox{margin-bottom:20px;padding:16px;background:#fffbeb;border:1px solid #fcd34d;border-radius:12px}.legal-checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.legal-checkbox-label input[type=checkbox]{width:20px;height:20px;margin-top:2px;flex-shrink:0;accent-color:#667eea;cursor:pointer}.legal-checkbox-text{font-size:.9rem;color:#4a5568;line-height:1.5}.legal-inline-link{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;font-size:inherit;font-family:inherit;padding:0;text-decoration:underline}.legal-inline-link:hover{color:#5a67d8}.legal-acceptance-error{background:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:8px;font-size:.9rem;text-align:center;margin-bottom:16px}.legal-accept-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit;box-shadow:0 4px 15px #667eea66}.legal-accept-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.legal-accept-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.legal-viewer{background:#fff;border-radius:20px;box-shadow:0 8px 30px #0000001f;max-height:90vh;display:flex;flex-direction:column;max-width:800px;margin:0 auto}.legal-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-bottom:1px solid #edf2f7;flex-shrink:0}.legal-viewer-header h2{font-size:1.25rem;font-weight:700;color:#2d3748;margin:0}.legal-viewer-close{background:none;border:2px solid #e2e8f0;border-radius:8px;padding:8px 16px;cursor:pointer;font-family:inherit;font-size:.85rem;color:#4a5568;transition:all .2s ease}.legal-viewer-close:hover{border-color:#667eea;color:#667eea}.legal-viewer-content{padding:32px;overflow-y:auto;flex:1}.legal-viewer-footer{padding:16px 32px;border-top:1px solid #edf2f7;flex-shrink:0}.legal-viewer-back-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.legal-viewer-back-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.legal-document h1{font-size:1.5rem;font-weight:700;color:#2d3748;margin:0 0 8px;line-height:1.3}.legal-document h2{font-size:1.15rem;font-weight:700;color:#2d3748;margin:28px 0 10px;padding-top:14px;border-top:1px solid #edf2f7}.legal-document h2:first-of-type{border-top:none;margin-top:20px}.legal-document h3{font-size:1rem;font-weight:600;color:#4a5568;margin:16px 0 8px}.legal-document p{font-size:.9rem;color:#4a5568;line-height:1.7;margin:0 0 10px}.legal-document ul,.legal-document ol{margin:6px 0 14px;padding-left:22px}.legal-document li{font-size:.9rem;color:#4a5568;line-height:1.7;margin-bottom:4px}.legal-document strong{color:#2d3748}@media(max-width:768px){.legal-acceptance-card{padding:28px 20px}.legal-acceptance-container{max-width:100%}.legal-viewer-header{padding:16px 20px;flex-direction:column;gap:12px;align-items:flex-start}.legal-viewer-content{padding:20px}.legal-viewer-footer{padding:12px 20px}}@media(max-width:480px){.legal-acceptance-header h1{font-size:1.75rem}.legal-doc-link{padding:12px}.legal-doc-icon{width:36px;height:36px}}.navbar{background:#fff;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.navbar-container{max-width:1400px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.navbar-logo{display:flex;align-items:center;gap:8px;cursor:pointer;transition:opacity .2s ease}.navbar-logo-img{height:40px;width:auto;display:block}.navbar-logo:hover{opacity:.8}.navbar-logo h1{font-size:1.5rem;font-weight:700;color:#667eea;margin:0}.navbar-right{display:flex;align-items:center;gap:16px}.navbar-links{display:flex;align-items:center;gap:8px}.navbar-link-button{display:flex;align-items:center;gap:8px;background:none;border:2px solid #e2e8f0;border-radius:10px;padding:8px 16px;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:.95rem;font-weight:500;color:#2d3748}.navbar-link-button:hover{border-color:#667eea;background:#f7fafc;color:#667eea}.navbar-link-button svg{font-size:1rem;flex-shrink:0;width:1em;height:1em}.navbar-profile{position:relative}.navbar-profile-button{display:flex;align-items:center;gap:12px;background:none;border:2px solid #e2e8f0;border-radius:12px;padding:8px 16px;cursor:pointer;transition:all .2s ease;font-family:inherit}.navbar-profile-button:hover{border-color:#667eea;background:#f7fafc}.navbar-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;overflow:hidden}.navbar-avatar img{width:100%;height:100%;object-fit:cover}.navbar-profile-name{font-weight:500;color:#2d3748;font-size:.95rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-arrow{color:#718096;font-size:.75rem;display:flex;align-items:center}.navbar-arrow svg{width:1em;height:1em}.navbar-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;min-width:200px;overflow:hidden;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar-dropdown-item{width:100%;padding:12px 16px;background:none;border:none;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;font-family:inherit;font-size:.95rem;color:#2d3748;transition:background .2s ease}.navbar-dropdown-item:hover{background:#f7fafc}.navbar-dropdown-item svg{font-size:1.125rem;flex-shrink:0;width:1em;height:1em}.navbar-actions{display:flex;align-items:center;gap:12px}.navbar-login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.navbar-login-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.navbar-legal-link{background:none;border:none;color:#718096;font-size:.85rem;font-weight:500;cursor:pointer;font-family:inherit;padding:4px 8px;transition:color .2s ease}.navbar-legal-link:hover{color:#667eea}@media(max-width:768px){.navbar-container{padding:12px 16px;gap:8px}.navbar-logo h1{font-size:1.25rem}.navbar-right{gap:8px}.navbar-links{gap:4px}.navbar-link-button{padding:6px 12px;font-size:.85rem}.navbar-link-button span,.navbar-profile-name{display:none}.navbar-dropdown{right:0;left:auto}}.dog-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;height:100%}.dog-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.dog-card-image-container{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#f0f0f0}.dog-card-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.dog-card:hover .dog-card-image{transform:scale(1.05)}.dog-card-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#333;opacity:0;transition:opacity .3s ease,background .2s ease;z-index:2}.dog-card:hover .dog-card-arrow{opacity:1}.dog-card-arrow:hover{background:#fff}.dog-card-arrow-left{left:12px}.dog-card-arrow-right{right:12px}.dog-card-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.dog-card-dot{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff80;cursor:pointer;padding:0;transition:all .2s ease}.dog-card-dot.active{background:#fff;width:24px;border-radius:4px}.dog-card-info{padding:16px;flex:1;display:flex;flex-direction:column;gap:8px}.dog-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dog-card-title-section{flex:1;display:flex;flex-direction:column;gap:6px}.dog-card-name{margin:0;font-size:1.25rem;font-weight:600;color:#2d3748}.dog-card-type{font-size:.75rem;font-weight:500;padding:2px 8px;border-radius:8px;display:inline-block;width:fit-content}.dog-card-status{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-pendiente{background:#fed7d7;color:#9b2c2c}.dog-card-location{margin:0;font-size:.9rem;color:#718096;display:flex;align-items:center;gap:6px}.dog-card-location svg{flex-shrink:0;width:.9em;height:.9em}@media(max-width:768px){.dog-card-arrow{opacity:1;width:32px;height:32px;font-size:16px}.dog-card-name{font-size:1.1rem}}.adoption-form-container{background:#fff;border-radius:12px;padding:32px;max-width:900px;margin:0 auto;max-height:90vh;overflow-y:auto}.adoption-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #e2e8f0}.adoption-form-header h2{font-size:1.75rem;font-weight:700;color:#2d3748;margin:0}.close-button{background:none;border:none;font-size:32px;color:#718096;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background:#f7fafc;color:#2d3748}.adoption-form-progress{display:flex;justify-content:space-between;margin-bottom:32px;gap:8px}.progress-step{flex:1;height:8px;background:#e2e8f0;border-radius:4px;position:relative;transition:all .3s ease}.progress-step.active{background:#667eea}.progress-step.current{background:#764ba2;box-shadow:0 0 8px #764ba266}.progress-step span{position:absolute;top:-28px;left:50%;transform:translate(-50%);width:24px;height:24px;background:#e2e8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#718096;transition:all .3s ease}.progress-step.active span{background:#667eea;color:#fff}.progress-step.current span{background:#764ba2;color:#fff;transform:translate(-50%) scale(1.1)}.adoption-form-error{background:#fed7d7;border:1px solid #fc8181;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:.9rem}.adoption-form{display:flex;flex-direction:column}.form-section{margin-bottom:32px}.form-group{margin-bottom:20px}.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-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer;accent-color:#667eea}.adoption-form-actions{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:2px solid #e2e8f0;margin-top:32px}.adoption-form-actions-right{margin-left:auto}.adoption-form-button{padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit;border:none}.adoption-form-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.adoption-form-button.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.adoption-form-button.primary:disabled{opacity:.6;cursor:not-allowed}.adoption-form-button.secondary{background:#edf2f7;color:#4a5568;border:2px solid #e2e8f0}.adoption-form-button.secondary:hover{background:#e2e8f0;border-color:#667eea;color:#667eea}.form-hint{font-size:.85rem;color:#718096;margin-top:8px}.file-preview{margin-top:12px;padding:12px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px}.file-preview-name{font-size:.9rem;color:#2d3748;margin:0 0 4px;font-weight:500}.file-preview-size{font-size:.85rem;color:#718096;margin:0}.id-preview-image{max-width:100%;max-height:200px;margin-top:12px;border-radius:8px;border:1px solid #e2e8f0}@media(max-width:768px){.adoption-form-container{padding:20px}.adoption-form-header h2{font-size:1.5rem}.adoption-form-progress{margin-bottom:24px}.progress-step span{width:20px;height:20px;font-size:.7rem;top:-24px}.form-row{grid-template-columns:1fr}.adoption-form-actions{flex-direction:column;gap:12px}.adoption-form-actions-right{margin-left:0;width:100%}.adoption-form-button{width:100%}}.dog-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dog-modal-content{background:#fff;border-radius:20px;max-width:1200px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}.adoption-form-modal{max-width:900px;padding:0}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.dog-modal-close{position:absolute;top:20px;right:20px;background:#ffffffe6;border:none;width:40px;height:40px;border-radius:50%;font-size:28px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;color:#333;transition:all .2s ease;line-height:1}.dog-modal-close:hover{background:#fff;transform:rotate(90deg)}.dog-modal-body{display:grid;grid-template-columns:1fr 1fr;gap:0}.dog-modal-gallery{background:#f7fafc;border-radius:20px 0 0 20px;padding:20px;display:flex;align-items:center;justify-content:center}.dog-modal-main-photo{position:relative;width:100%;aspect-ratio:1;border-radius:16px;overflow:hidden;background:#e2e8f0}.dog-modal-image{width:100%;height:100%;object-fit:cover}.dog-modal-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#333;transition:all .2s ease;z-index:2}.dog-modal-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.1)}.dog-modal-arrow-left{left:16px}.dog-modal-arrow-right{right:16px}.dog-modal-thumbnails{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px;background:#0000004d;padding:8px;border-radius:12px;z-index:2}.dog-modal-thumbnail{width:60px;height:60px;border-radius:8px;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:none;transition:all .2s ease}.dog-modal-thumbnail img{width:100%;height:100%;object-fit:cover}.dog-modal-thumbnail.active{border-color:#fff;transform:scale(1.1)}.dog-modal-info{padding:40px;overflow-y:auto;max-height:90vh}.dog-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.dog-modal-title-section{display:flex;flex-direction:column;gap:8px}.dog-modal-name{font-size:2rem;font-weight:700;color:#2d3748;margin:0}.dog-modal-type{font-size:.875rem;font-weight:600;padding:4px 12px;border-radius:12px;display:inline-block;width:fit-content}.type-perro{background:#e6f3ff;color:#06c}.type-gato{background:#fff4e6;color:#c60}.type-otro{background:#f0f0f0;color:#666}.dog-modal-status{padding:6px 16px;border-radius:16px;font-size:.875rem;font-weight:600;white-space:nowrap}.status-disponible{background:#c6f6d5;color:#22543d}.status-en-proceso{background:#feebc8;color:#7c2d12}.status-adoptado{background:#e2e8f0;color:#2d3748}.dog-modal-section{margin-bottom:32px}.dog-modal-section h3{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e2e8f0}.dog-modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dog-modal-item{display:flex;flex-direction:column;gap:4px}.dog-modal-item strong{font-size:.875rem;color:#718096;text-transform:uppercase;letter-spacing:.5px}.dog-modal-item span{font-size:1rem;color:#2d3748;font-weight:500}.energy-bajo{color:#38a169}.energy-medio{color:#d69e2e}.energy-alto{color:#e53e3e}.dog-modal-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.dog-modal-badge{padding:6px 12px;border-radius:12px;font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:6px}.dog-modal-badge svg{flex-shrink:0;width:.875em;height:.875em}.badge-success{background:#c6f6d5;color:#22543d}.badge-warning{background:#feebc8;color:#7c2d12}.badge-info{background:#bee3f8;color:#2c5282}.dog-modal-health{margin:12px 0 0;color:#4a5568;font-size:.95rem}.dog-modal-temperament{margin-top:16px}.dog-modal-temperament strong{display:block;font-size:.875rem;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.dog-modal-compatibility{display:flex;flex-direction:column;gap:12px}.dog-modal-compat-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f7fafc;border-radius:8px;font-size:1rem}.dog-modal-compat-item span:first-child{font-weight:500;color:#2d3748;display:inline-flex;align-items:center;gap:6px}.dog-modal-compat-item svg{flex-shrink:0;width:1em;height:1em}.compat-yes{color:#22543d;font-weight:600}.compat-no{color:#c53030;font-weight:600}.dog-modal-text{color:#4a5568;line-height:1.6;margin:0;font-size:.95rem}.dog-modal-actions{display:flex;gap:12px;margin-top:32px;padding-top:24px;border-top:2px solid #e2e8f0}.dog-modal-button{flex:1;padding:14px 24px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.dog-modal-button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.dog-modal-button-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.dog-modal-button-secondary{background:#e2e8f0;color:#2d3748}.dog-modal-button-secondary:hover{background:#cbd5e0}@media(max-width:968px){.dog-modal-body{grid-template-columns:1fr}.dog-modal-gallery{border-radius:20px 20px 0 0}.dog-modal-info{padding:24px}.dog-modal-grid{grid-template-columns:1fr}.dog-modal-name{font-size:1.5rem}}@media(max-width:640px){.dog-modal-overlay{padding:0}.dog-modal-content{border-radius:0;max-height:100vh}.dog-modal-gallery{border-radius:0;padding:12px}.dog-modal-info{padding:20px}.dog-modal-actions{flex-direction:column}.dog-modal-thumbnails{display:none}}.filter-sidebar-toggle{display:none;align-items:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 20px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;position:fixed;bottom:20px;right:20px;z-index:1000;box-shadow:0 4px 12px #667eea66}.filter-sidebar-toggle:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea80}.filter-icon{font-size:1.25rem;flex-shrink:0}.filter-badge{background:#ffffff4d;padding:2px 8px;border-radius:12px;font-size:.875rem;font-weight:700}.filter-sidebar{width:280px;background:#fff;border-right:1px solid #e2e8f0;padding:24px;overflow-y:auto;height:calc(100vh - 80px);position:sticky;top:80px;flex-shrink:0}.filter-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}.filter-sidebar-header h2{font-size:1.5rem;font-weight:700;color:#2d3748;margin:0}.clear-filters-button{background:none;border:1px solid #cbd5e0;color:#667eea;padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.clear-filters-button:hover{background:#f7fafc;border-color:#667eea}.filter-sidebar-content{display:flex;flex-direction:column;gap:24px}.filter-group{display:flex;flex-direction:column;gap:12px}.filter-group h3{font-size:1rem;font-weight:600;color:#4a5568;margin:0}.filter-options{display:flex;flex-direction:column;gap:10px}.filter-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s ease;-webkit-user-select:none;user-select:none}.filter-checkbox:hover{background:#f7fafc}.filter-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.filter-checkbox span{font-size:.95rem;color:#2d3748;flex:1}.filter-sidebar-footer{margin-top:32px;padding-top:24px;border-top:2px solid #e2e8f0}.filter-result-count{text-align:center;font-size:.95rem;font-weight:600;color:#667eea;padding:12px;background:#f7fafc;border-radius:8px}.filter-sidebar-overlay{display:none}@media(max-width:1024px){.filter-sidebar-toggle{display:flex}.filter-sidebar{position:fixed;left:-300px;top:0;height:100vh;z-index:1001;transition:left .3s ease;box-shadow:2px 0 12px #0000001a}.filter-sidebar.open{left:0}.filter-sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:1000}}.filter-sidebar::-webkit-scrollbar{width:8px}.filter-sidebar::-webkit-scrollbar-track{background:#f7fafc}.filter-sidebar::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.filter-sidebar::-webkit-scrollbar-thumb:hover{background:#a0aec0}.dog-feed-container{display:flex;max-width:1600px;margin:0 auto;gap:0}.dog-feed{flex:1;padding:40px 20px;min-width:0}.dog-feed-header{margin-bottom:40px}.dog-feed-header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.dog-feed-header-content>div:first-child{text-align:center;flex:1}.dog-feed-header h1{font-size:2.5rem;font-weight:700;color:#2d3748;margin:0 0 12px}.dog-feed-header p{font-size:1.125rem;color:#718096;margin:0}.refresh-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit;white-space:nowrap;display:flex;align-items:center;gap:8px}.refresh-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.dog-feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;padding:20px 0}.dog-feed-loading{text-align:center;padding:40px;color:#718096}.dog-feed-error{text-align:center;padding:40px;color:#c53030}.dog-feed-error p{margin-bottom:20px;font-size:1.125rem}.dog-feed-error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.retry-button-force{background:linear-gradient(135deg,#f56565,#c53030)}.retry-button-force:hover{box-shadow:0 4px 12px #f5656566}.dog-feed-empty{text-align:center;padding:80px 20px;color:#718096}.dog-feed-empty p{font-size:1.125rem}@media(max-width:1024px){.dog-feed-container{flex-direction:column}.dog-feed{padding:24px 16px}}@media(max-width:768px){.dog-feed{padding:24px 16px}.dog-feed-header h1{font-size:2rem}.dog-feed-header p{font-size:1rem}.dog-feed-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}}@media(max-width:480px){.dog-feed-grid{grid-template-columns:1fr}.dog-feed-header h1{font-size:1.75rem}}.profile-page{padding:40px 20px;max-width:800px;margin:0 auto}.profile-back-button{background:none;border:2px solid #e2e8f0;border-radius:8px;padding:8px 16px;margin-bottom:24px;cursor:pointer;font-family:inherit;font-size:.95rem;color:#4a5568;transition:all .2s ease}.profile-back-button:hover{border-color:#667eea;color:#667eea}.profile-container h1{font-size:2rem;font-weight:700;color:#2d3748;margin:0 0 32px}.profile-info{background:#fff;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 2px 4px #0000001a}.profile-email{display:flex;flex-direction:column;gap:8px}.profile-email strong{font-size:.875rem;color:#718096;text-transform:uppercase;letter-spacing:.5px}.profile-email span{font-size:1.125rem;color:#2d3748;font-weight:500}.profile-form{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 4px #0000001a}.profile-form .form-group{margin-bottom:24px}.profile-form label{display:block;font-size:.9rem;font-weight:600;color:#2d3748;margin-bottom:8px}.profile-form input,.profile-form textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.profile-form input:focus,.profile-form textarea:focus{outline:none;border-color:#667eea}.profile-form textarea{resize:vertical}.success-message{background:#c6f6d5;border:1px solid #9ae6b4;color:#22543d;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:.9rem}.profile-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.profile-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.profile-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.profile-page{padding:24px 16px}.profile-container h1{font-size:1.5rem}.profile-form{padding:24px}}.pet-form-container{padding:40px 20px;max-width:1000px;margin:0 auto}.pet-form{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 4px #0000001a}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #e2e8f0}.form-header h2{font-size:2rem;font-weight:700;color:#2d3748;margin:0}.cancel-button{background:none;border:2px solid #e2e8f0;border-radius:8px;padding:10px 20px;cursor:pointer;font-family:inherit;font-size:.95rem;color:#4a5568;transition:all .2s ease}.cancel-button:hover{border-color:#667eea;color:#667eea}.form-error{background:#fed7d7;border:1px solid #fc8181;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:.9rem}.form-loading{background:#e6f3ff;color:#2c5282;padding:16px;border-radius:8px;margin-bottom:24px;border:1px solid #90cdf4;display:flex;align-items:center;gap:12px}.form-loading-spinner{width:20px;height:20px;border:3px solid #bee3f8;border-top-color:#2c5282;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.form-loading p{margin:0;font-weight:500}.form-section{margin-bottom:40px}.form-section h3{font-size:1.5rem;font-weight:600;color:#2d3748;margin:0 0 24px;padding-bottom:12px;border-bottom:2px solid #e2e8f0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{display:block;font-size:.9rem;font-weight:600;color:#2d3748;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.95rem;color:#2d3748;cursor:pointer;padding:8px;border-radius:6px;transition:background .2s ease}.checkbox-label:hover{background:#f7fafc}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.temperament-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.file-upload-section{margin-bottom:24px;padding:20px;border:2px dashed #e2e8f0;border-radius:8px;background:#f7fafc;text-align:center}.file-upload-label{display:inline-block;cursor:pointer}.file-upload-input{display:none}.file-upload-button{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.file-upload-button svg{flex-shrink:0;width:1em;height:1em}.file-upload-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.file-upload-hint{margin-top:12px;font-size:.875rem;color:#718096}.files-to-upload-preview{margin-bottom:24px;padding:20px;background:#f7fafc;border-radius:8px}.files-to-upload-preview h4{margin:0 0 16px;font-size:1rem;font-weight:600;color:#2d3748}.files-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.file-preview-item{display:flex;flex-direction:column;align-items:center;padding:12px;background:#fff;border:2px solid #e2e8f0;border-radius:8px}.file-preview-image{width:100%;height:120px;object-fit:cover;border-radius:6px;margin-bottom:8px}.file-preview-name{font-size:.75rem;color:#4a5568;margin:4px 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;text-align:center}.file-preview-size{font-size:.7rem;color:#718096;margin:0 0 8px}.remove-file-button{padding:6px 12px;border:1px solid #fc8181;border-radius:6px;background:#fff;color:#c53030;font-size:.8rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.remove-file-button:hover{background:#fed7d7;border-color:#c53030}.photo-input-group{display:flex;gap:12px;margin-bottom:24px;margin-top:24px}.photo-url-input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;font-family:inherit}.photo-url-input:focus{outline:none;border-color:#667eea}.add-photo-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-photo-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.photos-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.photo-preview-item{position:relative;border:2px solid #e2e8f0;border-radius:8px;overflow:hidden}.photo-preview-item img{width:100%;height:200px;object-fit:cover;display:block}.photo-actions{padding:12px;background:#fff;display:flex;flex-direction:column;gap:8px}.main-photo-badge{background:#667eea;color:#fff;padding:4px 12px;border-radius:4px;font-size:.75rem;font-weight:600;text-align:center}.set-main-button,.remove-photo-button{padding:6px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.set-main-button{background:#f7fafc;color:#4a5568}.set-main-button:hover{background:#edf2f7;border-color:#667eea;color:#667eea}.remove-photo-button{background:#fff;color:#c53030;border-color:#fc8181}.remove-photo-button:hover{background:#fed7d7;border-color:#c53030}.form-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:40px;padding-top:32px;border-top:2px solid #e2e8f0}.cancel-button-large{background:none;border:2px solid #e2e8f0;border-radius:8px;padding:12px 24px;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;color:#4a5568;transition:all .2s ease}.cancel-button-large:hover{border-color:#667eea;color:#667eea;background:#f7fafc}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.pet-form-container{padding:24px 16px}.pet-form{padding:24px}.form-header{flex-direction:column;align-items:flex-start;gap:16px}.form-header h2{font-size:1.5rem}.form-row{grid-template-columns:1fr}.temperament-grid,.files-preview-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.photo-input-group{flex-direction:column}.photos-preview{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.cancel-button-large,.submit-button{width:100%}}.my-pets-page{padding:40px 20px;max-width:1400px;margin:0 auto}.my-pets-header{margin-bottom:32px}.my-pets-header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.my-pets-header-content h1{font-size:2.5rem;font-weight:700;color:#2d3748;margin:0}.new-pet-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit;white-space:nowrap}.new-pet-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.my-pets-error{text-align:center;padding:40px;color:#c53030}.my-pets-error p{margin-bottom:20px;font-size:1.125rem}.my-pets-loading{text-align:center;padding:80px 20px;color:#718096;font-size:1.125rem}.my-pets-empty{text-align:center;padding:80px 20px;color:#718096}.my-pets-empty p{font-size:1.25rem;margin-bottom:32px}.new-pet-button-large{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px 32px;border-radius:10px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit}.new-pet-button-large:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.my-pets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.my-pet-card-wrapper{position:relative;display:flex;flex-direction:column}.my-pet-actions{display:flex;gap:12px;margin-top:12px;padding:0 4px}.edit-button{width:100%;padding:10px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;background:#edf2f7;color:#4a5568;display:inline-flex;align-items:center;justify-content:center;gap:8px}.edit-button svg{flex-shrink:0;width:1em;height:1em}.edit-button:hover{background:#e2e8f0;border-color:#667eea;color:#667eea}@media(max-width:768px){.my-pets-page{padding:24px 16px}.my-pets-header-content{flex-direction:column;align-items:stretch}.my-pets-header-content h1{font-size:2rem}.new-pet-button{width:100%}.my-pets-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}}@media(max-width:480px){.my-pets-grid{grid-template-columns:1fr}.my-pets-header-content h1{font-size:1.75rem}}.pet-review-badge{padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;text-align:center;margin-bottom:8px}.pet-review-pending{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.pet-review-rejected{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.pet-review-approved{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.pet-review-note{margin:4px 0 0;font-weight:400;font-size:.8rem}.adoption-requests-page{padding:40px 20px;max-width:1400px;margin:0 auto}.adoption-requests-header{margin-bottom:32px}.back-button{background:none;border:2px solid #e2e8f0;border-radius:8px;padding:10px 20px;margin-bottom:24px;cursor:pointer;font-family:inherit;font-size:.95rem;color:#4a5568;transition:all .2s ease}.back-button:hover{border-color:#667eea;color:#667eea}.adoption-requests-header h1{font-size:2.5rem;font-weight:700;color:#2d3748;margin:0}.adoption-requests-error{text-align:center;padding:40px;color:#c53030}.adoption-requests-error p{margin-bottom:20px;font-size:1.125rem}.retry-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.adoption-requests-loading,.adoption-requests-empty{text-align:center;padding:80px 20px;color:#718096;font-size:1.125rem}.adoption-requests-content{display:flex;flex-direction:column;gap:40px}.adoption-requests-pet-group{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 4px #0000001a}.pet-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #e2e8f0}.pet-group-info{display:flex;align-items:center;gap:16px}.pet-group-photo{width:80px;height:80px;object-fit:cover;border-radius:8px}.pet-group-info h2{font-size:1.5rem;font-weight:700;color:#2d3748;margin:0 0 4px}.pet-type{font-size:.9rem;color:#718096;margin:0}.requests-count{background:#e6f3ff;color:#06c;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600}.adoption-requests-list{display:flex;flex-direction:column;gap:20px}.adoption-request-card{border:2px solid #e2e8f0;border-radius:8px;padding:20px;background:#f7fafc}.request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.request-info h3{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0 0 4px}.request-email,.request-phone{font-size:.9rem;color:#718096;margin:4px 0}.request-status{padding:6px 12px;border-radius:12px;font-size:.875rem;font-weight:600;white-space:nowrap}.status-pending{background:#feebc8;color:#7c2d12}.status-approved{background:#c6f6d5;color:#22543d}.status-rejected{background:#fed7d7;color:#c53030}.status-completed{background:#e2e8f0;color:#2d3748}.request-details-toggle{margin-bottom:16px}.toggle-details-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 0;font-family:inherit;transition:color .2s ease}.toggle-details-button:hover{color:#764ba2}.request-details{background:#fff;border-radius:8px;padding:20px;margin-bottom:16px}.details-section{margin-bottom:24px}.details-section:last-child{margin-bottom:0}.details-section h4{font-size:1.1rem;font-weight:600;color:#2d3748;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.details-grid>div{font-size:.95rem;color:#4a5568;line-height:1.6}.details-grid strong{color:#2d3748;font-weight:600}.request-date{font-size:.875rem;color:#718096;font-style:italic;margin:0}.request-actions{display:flex;gap:12px;padding-top:16px;border-top:1px solid #e2e8f0}.request-action-button{flex:1;padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:all .3s ease;font-family:inherit}.request-action-button.approve{background:#c6f6d5;color:#22543d}.request-action-button.approve:hover{background:#9ae6b4;transform:translateY(-2px);box-shadow:0 4px 8px #22543d33}.request-action-button.reject{background:#fed7d7;color:#c53030}.request-action-button.reject:hover{background:#fc8181;transform:translateY(-2px);box-shadow:0 4px 8px #c5303033}.id-link{color:#667eea;text-decoration:underline;margin-left:8px}.id-link:hover{color:#764ba2}@media(max-width:768px){.adoption-requests-page{padding:24px 16px}.adoption-requests-header h1{font-size:2rem}.pet-group-header{flex-direction:column;align-items:flex-start;gap:12px}.request-header{flex-direction:column;gap:12px}.details-grid{grid-template-columns:1fr}.request-actions{flex-direction:column}}.legal-page{min-height:calc(100vh - 80px);background:#f7fafc;padding:40px 20px}.legal-container{max-width:800px;margin:0 auto}.legal-back-button{background:none;border:2px solid #e2e8f0;border-radius:8px;padding:10px 20px;margin-bottom:24px;cursor:pointer;font-family:inherit;font-size:.95rem;color:#4a5568;transition:all .2s ease}.legal-back-button:hover{border-color:#667eea;color:#667eea}.legal-tabs{display:flex;gap:4px;margin-bottom:0;border-bottom:2px solid #e2e8f0}.legal-tab{padding:14px 24px;background:none;border:none;border-bottom:3px solid transparent;font-size:.95rem;font-weight:600;color:#718096;cursor:pointer;transition:all .2s ease;font-family:inherit;margin-bottom:-2px}.legal-tab:hover{color:#4a5568}.legal-tab.active{color:#667eea;border-bottom-color:#667eea}.legal-content{background:#fff;border-radius:0 0 16px 16px;box-shadow:0 1px 3px #0000001a;padding:40px;max-height:calc(100vh - 280px);overflow-y:auto}.legal-document h1{font-size:1.75rem;font-weight:700;color:#2d3748;margin:0 0 8px;line-height:1.3}.legal-document h2{font-size:1.25rem;font-weight:700;color:#2d3748;margin:32px 0 12px;padding-top:16px;border-top:1px solid #edf2f7}.legal-document h2:first-of-type{border-top:none;margin-top:24px}.legal-document h3{font-size:1.05rem;font-weight:600;color:#4a5568;margin:20px 0 8px}.legal-document p{font-size:.95rem;color:#4a5568;line-height:1.7;margin:0 0 12px}.legal-document ul,.legal-document ol{margin:8px 0 16px;padding-left:24px}.legal-document li{font-size:.95rem;color:#4a5568;line-height:1.7;margin-bottom:6px}.legal-document strong{color:#2d3748;font-weight:600}.legal-document a{color:#667eea;text-decoration:none}.legal-document a:hover{text-decoration:underline}@media(max-width:768px){.legal-page{padding:24px 16px}.legal-content{padding:24px 20px;max-height:calc(100vh - 240px)}.legal-document h1{font-size:1.5rem}.legal-document h2{font-size:1.125rem}.legal-tabs{flex-direction:column;border-bottom:none;gap:0}.legal-tab{border-bottom:1px solid #e2e8f0;text-align:left;padding:12px 16px}.legal-tab.active{background:#f0f4ff;border-bottom-color:#667eea}}@media(max-width:480px){.legal-content{padding:20px 16px}.legal-document h1{font-size:1.3rem}.legal-document p,.legal-document li{font-size:.9rem}}*{margin:0;padding:0;box-sizing:border-box}.app-container{display:flex;flex-direction:column;min-height:100vh;background:#f7fafc}.app-main{flex:1}.login-wrapper{flex:1;display:flex;align-items:center;justify-content:center}.profile-login-prompt{max-width:600px;margin:100px auto;padding:40px;text-align:center;background:#fff;border-radius:16px;box-shadow:0 2px 4px #0000001a}.profile-login-prompt p{font-size:1.125rem;color:#4a5568;margin-bottom:24px}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f7fafc;gap:16px}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{color:#718096;font-size:1rem}
