:root{--color-primary: #10B981;--color-primary-dark: #059669;--color-primary-light: #34D399;--color-secondary: #F59E0B;--color-secondary-dark: #D97706;--color-secondary-light: #FBBF24;--color-accent: #3B82F6;--color-accent-dark: #2563EB;--color-accent-light: #60A5FA;--color-white: #FFFFFF;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-success: #10B981;--color-error: #EF4444;--color-warning: #F59E0B;--color-info: #3B82F6;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--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);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-gray-900);background-color:var(--color-white);min-height:100vh;min-height:100dvh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-gray-900)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}a:focus{outline:2px solid var(--color-primary);outline-offset:2px}button{font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;border:none;background:none;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;border-radius:var(--radius-md);transition:all var(--transition-base);cursor:pointer;border:2px solid transparent;min-height:44px;min-width:44px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-white)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-dark)}.btn-outline{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white)}input,textarea,select{font-family:inherit;font-size:var(--font-size-base);line-height:var(--line-height-normal);width:100%;padding:var(--spacing-md);border:2px solid var(--color-gray-300);border-radius:var(--radius-md);background-color:var(--color-white);color:var(--color-gray-900);transition:border-color var(--transition-fast);min-height:44px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary)}input::placeholder,textarea::placeholder{color:var(--color-gray-400)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(min-width:640px){:root{--font-size-base: 1rem}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.input-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-700)}.input{width:100%;padding:var(--spacing-md);border:2px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);min-height:44px;transition:border-color var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-primary)}.input-error{border-color:var(--color-error)}.input-help{font-size:var(--font-size-sm);color:var(--color-gray-500)}.input-error-message{font-size:var(--font-size-sm);color:var(--color-error)}.language-selector{position:relative}.language-select{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-gray-300);border-radius:var(--radius-md);background-color:var(--color-white);font-size:var(--font-size-sm);cursor:pointer;min-height:44px}.language-select:focus{outline:none;border-color:var(--color-primary)}.onboarding-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-accent-light) 100%)}.onboarding-container{width:100%;max-width:480px;background:var(--color-white);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg)}.onboarding-title{text-align:center;margin-bottom:var(--spacing-sm);color:var(--color-gray-900)}.onboarding-subtitle{text-align:center;color:var(--color-gray-600);margin-bottom:var(--spacing-2xl)}.onboarding-steps{margin-bottom:var(--spacing-xl)}.onboarding-step h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);color:var(--color-gray-900)}.onboarding-actions{display:flex;gap:var(--spacing-md);justify-content:space-between}.onboarding-actions .btn{flex:1}.photo-upload{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.photo-upload-label{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);cursor:pointer}.photo-upload-button{display:inline-block;padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--color-primary);color:var(--color-white);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.photo-upload-button:hover{background-color:var(--color-primary-dark)}.photo-upload-help{font-size:var(--font-size-sm);color:var(--color-gray-500);text-align:center}.photo-preview{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.photo-preview img{width:200px;height:200px;object-fit:cover;border-radius:var(--radius-lg);border:3px solid var(--color-primary)}.profile-page{min-height:100vh;background-color:var(--color-gray-50)}.profile-header{background-color:var(--color-white);padding:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky)}.profile-header h1{margin:0;font-size:var(--font-size-2xl)}.profile-content{padding:var(--spacing-xl);max-width:800px;margin:0 auto}@media(max-width:640px){.onboarding-container{padding:var(--spacing-xl)}.onboarding-title{font-size:var(--font-size-2xl)}.onboarding-step h2{font-size:var(--font-size-lg)}}.public-card-page{min-height:100vh;background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-accent-light) 100%);padding:var(--spacing-md);display:flex;align-items:center;justify-content:center}.public-card{max-width:600px;width:100%;background:var(--color-white);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg)}.card-photo{text-align:center;margin-bottom:var(--spacing-lg)}.card-photo img{width:200px;height:200px;object-fit:cover;border-radius:50%;border:4px solid var(--color-primary)}.card-header{text-align:center;margin-bottom:var(--spacing-lg)}.card-header h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm);color:var(--color-gray-900)}.profession{font-size:var(--font-size-xl);color:var(--color-gray-600);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.headline{font-size:var(--font-size-lg);color:var(--color-gray-700);font-style:italic}.card-bio{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-gray-50);border-radius:var(--radius-md)}.card-services,.card-social{margin-bottom:var(--spacing-xl)}.card-services h2,.card-social h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);color:var(--color-gray-900)}.card-services ul,.card-social ul{list-style:none;padding:0}.card-services li{padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--color-gray-50);border-radius:var(--radius-md);border-left:4px solid var(--color-primary)}.card-social li{padding:var(--spacing-sm) 0}.card-social a{color:var(--color-primary);text-decoration:none}.card-social a:hover{text-decoration:underline}.card-actions{text-align:center;margin:var(--spacing-xl) 0}.whatsapp-button{font-size:var(--font-size-lg);padding:var(--spacing-md) var(--spacing-xl);min-width:200px}.card-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.badge{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.publish-success{padding:var(--spacing-md);background:var(--color-success);color:var(--color-white);border-radius:var(--radius-md);text-align:center}.profile-actions{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:2px solid var(--color-gray-200)}.directory-page{min-height:100vh;background-color:var(--color-gray-50);padding-bottom:var(--spacing-2xl)}.directory-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:var(--color-white);padding:var(--spacing-2xl) var(--spacing-md);text-align:center}.directory-header h1{color:var(--color-white);margin-bottom:var(--spacing-sm);font-size:var(--font-size-3xl)}.directory-subtitle{color:#ffffffe6;font-size:var(--font-size-lg)}.directory-filters{background:var(--color-white);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky)}.search-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.search-input-group{display:flex;gap:var(--spacing-sm)}.search-input{flex:1}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-700)}.filter-select,.filter-input{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);min-height:44px}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--color-primary)}.filter-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-base)}.filter-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.directory-loading,.directory-error,.directory-empty{text-align:center;padding:var(--spacing-3xl);color:var(--color-gray-600)}.directory-error{color:var(--color-error)}.directory-pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl)}.pagination-info{font-size:var(--font-size-base);color:var(--color-gray-700);font-weight:var(--font-weight-medium)}.card-preview{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base);cursor:pointer;display:flex;flex-direction:column}.card-preview:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-preview-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1}.card-preview-photo{width:100%;height:200px;overflow:hidden;background:var(--color-gray-200)}.card-preview-photo img{width:100%;height:100%;object-fit:cover}.card-preview-content{padding:var(--spacing-lg);flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.card-preview-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin:0}.card-preview-profession{font-size:var(--font-size-base);color:var(--color-primary);font-weight:var(--font-weight-medium);margin:0}.card-preview-headline{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:0;font-style:italic}.card-preview-location{font-size:var(--font-size-sm);color:var(--color-gray-500);margin:0}.card-preview-services{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.service-tag{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.service-tag-more{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-gray-200);color:var(--color-gray-600);border-radius:var(--radius-full);font-size:var(--font-size-xs)}.card-preview-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.badge-small{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-secondary-light);color:var(--color-secondary-dark);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.featured-badge{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-secondary);color:var(--color-white);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.card-preview{position:relative}.card-preview-whatsapp{margin:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast)}.card-preview-whatsapp:hover{background:var(--color-primary-dark)}.main-navigation{background:var(--color-white);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-fixed)}.nav-container{max-width:1400px;margin:0 auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg)}.nav-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);text-decoration:none}.nav-links{display:flex;gap:var(--spacing-lg);flex:1;justify-content:center}.nav-links a{color:var(--color-gray-700);text-decoration:none;font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.nav-links a:hover,.nav-links a.active{background:var(--color-primary-light);color:var(--color-primary-dark)}@media(max-width:768px){.directory-grid{grid-template-columns:1fr;padding:var(--spacing-md)}.search-form{gap:var(--spacing-sm)}.search-input-group{flex-direction:column}.nav-container{flex-wrap:wrap}.nav-links{order:3;width:100%;justify-content:space-around}}.ai-completion,.ai-completion-review{padding:var(--spacing-xl);background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.ai-completion h2,.ai-completion-review h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md);color:var(--color-gray-900);text-align:center}.ai-description,.ai-review-description{text-align:center;color:var(--color-gray-600);margin-bottom:var(--spacing-xl);font-size:var(--font-size-base)}.ai-loading{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-2xl)}.ai-spinner{width:48px;height:48px;border:4px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ai-loading p{color:var(--color-gray-600);font-size:var(--font-size-base)}.ai-error{padding:var(--spacing-md);background:var(--color-error);color:var(--color-white);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);text-align:center}.ai-suggestion{padding:var(--spacing-md);margin-bottom:var(--spacing-md);background:var(--color-gray-50);border-radius:var(--radius-md);border-left:4px solid var(--color-primary)}.ai-suggestion label{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-base)}.ai-suggestion input[type=checkbox]{margin-top:4px;width:20px;height:20px;cursor:pointer;flex-shrink:0}.ai-suggestion strong{color:var(--color-gray-900);margin-right:var(--spacing-xs)}.ai-suggestion p{margin:var(--spacing-xs) 0 0 0;color:var(--color-gray-700);line-height:var(--line-height-relaxed)}.ai-services-list{list-style:none;padding:0;margin:var(--spacing-sm) 0 0 0}.ai-services-list li{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-gray-200)}.ai-services-list li:last-child{border-bottom:none}.ai-services-list label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.service-desc{color:var(--color-gray-500);font-size:var(--font-size-sm);font-style:italic}.ai-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:2px solid var(--color-gray-200)}.ai-actions .btn{min-width:120px}@media(max-width:640px){.ai-completion,.ai-completion-review{padding:var(--spacing-lg)}.ai-actions{flex-direction:column}.ai-actions .btn{width:100%}}
