:root{--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--color-primary: #2563eb;--color-primary-light: #3b82f6;--color-primary-dark: #1d4ed8;--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-secondary: #667eea;--color-secondary-light: #8b9eff;--color-secondary-dark: #4c51bf;--color-success: #16a34a;--color-success-light: #22c55e;--color-success-bg: #edfcf3;--color-danger: #dc2626;--color-danger-light: #ef4444;--color-danger-bg: #fef2f2;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-bg: #fffbeb;--color-info: #3b82f6;--color-info-light: #60a5fa;--color-info-bg: #eff6ff;--color-text: #1f2937;--color-text-light: #6b7280;--color-text-lighter: #9ca3af;--color-text-lightest: #d1d5db;--color-bg: #ffffff;--color-bg-light: #f9fafb;--color-bg-lighter: #f3f4f6;--color-bg-lightest: #e5e7eb;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--font-family-base: -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-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 16px;--border-radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-base: .3s ease-in-out;--transition-slow: .5s ease-in-out;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .15);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .2);--shadow-2xl: 0 20px 48px rgba(0, 0, 0, .25);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 900;--z-modal: 1000;--z-popover: 1100;--z-tooltip: 1200;--breakpoint-xs: 320px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-weight:var(--font-weight-semibold);color:var(--color-text);font-size:var(--font-size-sm)}.form-group input,.form-group select{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-family:inherit;transition:border-color var(--transition-base);color:var(--color-text);background-color:var(--color-bg)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px var(--color-info-bg)}.form-group input:disabled,.form-group select:disabled{background-color:var(--color-bg-lighter);cursor:not-allowed}.form-group select option:hover{background-color:#3498db;color:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.form-row.form-row-triple{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row .form-group:nth-child(3){grid-column:1 / -1}.form-row.form-row-triple .form-group:nth-child(3){grid-column:auto}.form-group.checkbox{flex-direction:row;align-items:center}.form-group.checkbox label{display:flex;align-items:center;gap:var(--spacing-sm);margin:0;font-weight:var(--font-weight-medium)}.form-group.checkbox input{width:18px;height:18px;cursor:pointer}.form-footer{display:flex;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--color-border);justify-content:flex-end}.form-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-cancel,.btn-save{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-cancel{background-color:var(--color-bg-lighter);color:var(--color-text);border:1px solid var(--color-border)}.btn-cancel:hover:not(:disabled){background-color:var(--color-bg-lightest)}.btn-save{background-color:var(--color-info);color:#fff}.btn-save:hover:not(:disabled){background-color:var(--color-primary)}.btn-edit,.btn-delete,.btn-password,.btn-toggle-status{padding:6px 10px;border:none;border-radius:4px;background-color:transparent;cursor:pointer;font-size:16px;transition:all .3s ease}.btn-edit{color:#667eea}.btn-edit:hover{background-color:#667eea1a;color:#667eea}.btn-delete{color:#e74c3c}.btn-delete:hover{background-color:#e74c3c1a;color:#e74c3c}.btn-password{color:#f39c12}.btn-password:hover{background-color:#f39c121a;color:#f39c12}.btn-toggle-status{color:#f39c12}.btn-toggle-status:hover{background-color:#f39c121a;color:#f39c12}.btn-add-user,.btn-add-company,.btn-add-condominium,.btn-add-property{padding:10px 20px;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .3s ease}.btn-add-user:hover,.btn-add-company:hover,.btn-add-condominium:hover,.btn-add-property:hover{background-color:#218838}.btn-add-condominium:disabled,.btn-add-property:disabled{background-color:#bbb;cursor:not-allowed;opacity:.7}.error-message{background-color:#fee;color:#c33;padding:15px;border-radius:4px;font-size:14px;margin-bottom:20px;border-left:4px solid #c33}.success-message{padding:12px 16px;background-color:#d5f4e6;color:#27ae60;border-radius:6px;border-left:4px solid #27ae60;margin-bottom:20px;font-size:14px}.warning-message{background-color:#fef3c7;color:#78350f;padding:15px;border-radius:4px;font-size:14px;margin-bottom:20px;border-left:4px solid #f59e0b;display:flex;justify-content:space-between;align-items:center}.profile-message{padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:13px;font-weight:500}.profile-message.success-message{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.profile-message.error-message{background:#fee2e2;color:#7f1d1d;border:1px solid #fca5a5}.error-close{background:none;border:none;cursor:pointer;color:inherit;font-size:18px;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.admin-view{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.users-table-container,.companies-table-container,.condominiums-table-container,.properties-table-container{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#b8c2d1 #eef2f7}.users-table-container::-webkit-scrollbar,.companies-table-container::-webkit-scrollbar,.condominiums-table-container::-webkit-scrollbar,.properties-table-container::-webkit-scrollbar{width:10px;height:10px}.users-table-container::-webkit-scrollbar-track,.companies-table-container::-webkit-scrollbar-track,.condominiums-table-container::-webkit-scrollbar-track,.properties-table-container::-webkit-scrollbar-track{background:#eef2f7;border-radius:999px}.users-table-container::-webkit-scrollbar-thumb,.companies-table-container::-webkit-scrollbar-thumb,.condominiums-table-container::-webkit-scrollbar-thumb,.properties-table-container::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#c7d1df,#a7b4c6);border:2px solid #eef2f7;border-radius:999px}.users-table-container::-webkit-scrollbar-thumb:hover,.companies-table-container::-webkit-scrollbar-thumb:hover,.condominiums-table-container::-webkit-scrollbar-thumb:hover,.properties-table-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#b3bfd1,#8f9fb4)}.users-table,.companies-table,.condominiums-table,.properties-table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}.users-table thead,.companies-table thead,.condominiums-table thead,.properties-table thead{background-color:#f5f5f5;border-bottom:2px solid #ddd}.users-table th,.companies-table th,.condominiums-table th,.properties-table th{padding:10px 12px;text-align:left;font-weight:600;color:#333}.sortable-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:none;border:none;padding:0;color:inherit;font:inherit;font-weight:600;cursor:pointer}.sortable-header span{color:#888;font-size:12px}.table-filter-row th{background-color:#fafafa;padding:6px 10px}.column-filter-input{width:100%;padding:6px 8px;border:1px solid #d6d6d6;border-radius:4px;font-size:12px;color:#555;background-color:#fff}.column-filter-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.table-empty-row{display:table-cell;vertical-align:middle;text-align:center;padding:0 18px!important;height:120px;color:#888;font-style:italic;white-space:nowrap}.table-empty-state-row{border-bottom:none!important;height:120px}.table-empty-state-row:hover{background-color:transparent!important}.users-table tbody tr,.companies-table tbody tr,.condominiums-table tbody tr,.properties-table tbody tr{border-bottom:1px solid #eee;transition:background-color .2s ease}.users-table tbody tr:hover,.companies-table tbody tr:hover,.condominiums-table tbody tr:hover,.properties-table tbody tr:hover{background-color:#f9f9f9}.users-table td,.companies-table td,.condominiums-table td,.properties-table td{padding:10px 12px;color:#666}.condominiums-table tbody tr.inactive,.properties-table tbody tr.inactive{opacity:.6}.companies-table .name-cell,.condominiums-table .name-cell,.users-table .name-cell,.properties-table .name-cell{font-weight:500;color:#333}.type-badge,.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.type-badge{background-color:#e3f2fd;color:#1976d2}.status-badge.active{background-color:#dff0d8;color:#3c763d}.status-badge.inactive{background-color:#f2dede;color:#a94442}.profile-tag{display:inline-block;background-color:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.more-profiles{color:#666;font-size:12px;font-weight:600}.actions{display:flex;gap:8px;flex-wrap:wrap}.modal-overlay,.profile-form-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--transition-base);padding:var(--spacing-md)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container,.profile-form-modal{background:var(--color-bg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;animation:slideUp var(--transition-base)}@keyframes slideUp{0%{transform:translateY(var(--spacing-md));opacity:0}to{transform:translateY(0);opacity:1}}.modal-header,.profile-form-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-header h2,.profile-form-header h2{margin:0;font-size:var(--font-size-lg);color:var(--color-text)}.modal-close-btn,.close-button{background:none;border:none;font-size:var(--font-size-2xl);color:var(--color-text-lighter);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.modal-close-btn:hover,.close-button:hover{background-color:var(--color-bg-lighter);color:var(--color-text)}.modal-close-btn:active,.close-button:active{transform:scale(.95)}.modal-content,.profile-form-content{overflow-y:auto;flex:1}.modal-content::-webkit-scrollbar,.profile-form-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track,.profile-form-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb,.profile-form-content::-webkit-scrollbar-thumb{background:var(--color-text-lighter);border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover,.profile-form-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}.loading-message{text-align:center;padding:40px 20px;color:#999;font-size:16px}.empty-state{text-align:center;padding:60px 20px;color:#999;background-color:#f9f9f9;border-radius:4px;border:1px solid #ddd}.empty-state p{margin:0;font-size:16px}.pagination-info{color:#666;font-size:14px}.pagination-controls{display:flex;align-items:center;gap:12px}.pagination-controls label{font-size:14px;color:#666}.page-size-select{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;color:#333;cursor:pointer;transition:border-color .2s}.page-size-select:hover{border-color:#999}.pagination-buttons{display:flex;gap:8px}.company-pagination,.condominium-pagination,.user-pagination,.property-pagination{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-top:1px solid #ddd;background-color:#f9f9f9;flex-wrap:wrap;gap:12px}.pagination-btn{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background-color:#fff;color:#333;cursor:pointer;font-size:14px;transition:all .3s ease}.pagination-btn:hover:not(:disabled){background-color:#f5f5f5;border-color:#667eea}.profile-default-badge{display:inline-block;background:#10b981;color:#fff;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600}.default-indicator{display:inline-block;background:#10b981;color:#fff;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;margin-top:8px}@media (max-width: var(--breakpoint-md)){.form-row,.form-row.form-row-triple{grid-template-columns:1fr}.form-footer{flex-direction:column-reverse}.form-footer>*{width:100%}.form-actions{width:100%;flex-direction:column}.form-actions>*{width:100%}.btn-primary,.btn-secondary,.btn-cancel,.btn-save,.btn-add-user,.btn-add-company,.btn-add-condominium{width:100%}.warning-message{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.modal-header,.profile-form-header{align-items:flex-start;gap:var(--spacing-sm)}.company-pagination,.condominium-pagination,.user-pagination,.pagination-controls{flex-direction:column;align-items:stretch}.pagination-buttons{width:100%;justify-content:space-between}.pagination-btn,.page-size-select{min-height:40px}.card-header{padding:var(--spacing-lg)}.card-header h1{font-size:var(--font-size-xl)}.modal-overlay,.profile-form-overlay{padding:var(--spacing-sm)}.modal-container,.profile-form-modal{max-height:95vh;width:100%}.modal-header h2,.profile-form-header h2{font-size:var(--font-size-base)}}.profile-form-modal{max-width:600px;width:100%;overflow:hidden}.profile-form-header h2{flex:1}.close-button{flex-shrink:0}.profile-form-content{padding:var(--spacing-lg)}.profile-form-footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--color-border);justify-content:flex-end;flex-shrink:0}.form-error{margin:var(--spacing-lg) 0;padding:var(--spacing-md);background-color:var(--color-danger-bg);border:1px solid var(--color-danger-light);border-radius:var(--border-radius-sm);color:var(--color-danger);font-size:var(--font-size-sm)}@media (max-width: var(--breakpoint-md)){.profile-form-footer{flex-wrap:wrap}}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:var(--font-family-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color-scheme:light dark;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{width:100%;height:100%;margin:0;padding:0}body{min-width:320px;min-height:100vh}a{font-weight:500;color:var(--color-secondary);text-decoration:none}a:hover{color:var(--color-secondary-dark)}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight)}input,button,textarea,select{font-family:inherit}@media(max-width:479px){body{font-size:var(--font-size-sm)}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}}@media(min-width:480px)and (max-width:1023px){body{font-size:var(--font-size-sm)}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}@media(min-width:1024px){body{font-size:var(--font-size-sm)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.auth-card{background:#fff;border-radius:10px;box-shadow:0 10px 40px #0003;padding:40px;width:100%;max-width:1000px;max-height:90vh;overflow-y:auto}.auth-card h1{margin-top:0;color:#333;text-align:center;font-size:24px;margin-bottom:20px}.auth-card h2{color:#333;font-size:20px;margin-top:0;margin-bottom:8px}.step-indicator{display:flex;justify-content:space-between;margin-bottom:30px;gap:10px;flex-wrap:wrap}.step{width:40px;height:40px;border-radius:50%;background:#f0f0f0;border:2px solid #ddd;display:flex;align-items:center;justify-content:center;font-weight:700;color:#999;transition:all .3s ease}.step.active{background:#667eea;color:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea33}.step.completed{background:#4caf50;color:#fff;border-color:#4caf50}.step-content{margin-bottom:30px}.step-description{color:#666;font-size:14px;margin:0 0 20px}.step-summary{background:#f0f4ff;border-left:4px solid #667eea;padding:12px 15px;border-radius:4px;margin-bottom:25px;font-size:13px;color:#333}.step-summary strong{color:#667eea;font-weight:600}.selection-badge{position:absolute;top:10px;right:10px;background:#4caf50;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:30px}.plan-card{border:2px solid #e0e0e0;border-radius:8px;padding:20px;cursor:pointer;transition:all .3s ease;background:#fff;position:relative;display:flex;flex-direction:column;height:100%;-webkit-user-select:none;user-select:none}.plan-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.plan-card.selected{border-color:#4caf50;border-width:3px;background:#f1f8f4;box-shadow:0 4px 16px #4caf5033}.plan-card h3{margin:0 0 5px;color:#333;font-size:16px;word-wrap:break-word}.plan-description{font-size:12px;color:#666;margin:0 0 12px}.plan-features{list-style:none;padding:0;margin:0 0 15px;font-size:12px;flex:1}.plan-features li{padding:4px 0;color:#555;display:flex;align-items:center}.checkmark{color:#4caf50;margin-right:8px;font-weight:700}.plan-card button{width:100%;padding:12px;border:none;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,background-color .2s;margin-top:auto;flex:0 0 auto}.plan-card .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.plan-card .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.plan-card .btn-primary:active:not(:disabled){transform:translateY(0)}.plan-card .btn-primary:disabled{opacity:.7;cursor:not-allowed}.plan-card .btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea}.plan-card .btn-secondary:hover:not(:disabled){background-color:#f5f7ff;transform:translateY(-2px)}.plan-card .btn-secondary:disabled{opacity:.7;cursor:not-allowed}.select-plan-btn,.select-profile-btn{display:none}.profile-types-grid{display:grid;grid-template-columns:1fr;gap:15px;margin-bottom:30px}.profile-type-card{border:2px solid #e0e0e0;border-radius:8px;padding:20px;cursor:pointer;transition:all .3s ease;background:#fff;display:flex;flex-direction:column;height:100%;-webkit-user-select:none;user-select:none;position:relative}.profile-type-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.profile-type-card.selected{border-color:#4caf50;border-width:3px;background:#f1f8f4;box-shadow:0 4px 16px #4caf5033}.profile-type-card h3{margin:0 0 8px;color:#333;font-size:16px}.profile-type-card p{margin:0 0 12px;color:#666;font-size:13px;flex:1}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500;font-size:14px}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-group select{width:100%;padding:12px 35px 12px 12px;border:1px solid #ddd;border-radius:5px;font-size:14px;transition:border-color .3s;box-sizing:border-box;background-color:#fff;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:20px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error{border-color:#e74c3c;background-color:#fee}.form-group input.error:focus{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group small{display:block;margin-top:5px;color:#999;font-size:12px}.btn-primary{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:10px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{width:100%;padding:12px;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,background-color .2s;margin-top:10px}.btn-secondary:hover:not(:disabled){background-color:#f5f7ff;transform:translateY(-2px)}.btn-secondary:disabled{opacity:.7;cursor:not-allowed}.step-buttons{display:flex;gap:12px;margin-top:30px}.step-buttons .btn-primary,.step-buttons .btn-secondary{flex:1;margin-top:0}.review-section{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:30px}.review-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e0e0e0;font-size:14px}.review-item:last-child{border-bottom:none}.review-item strong{color:#333;min-width:150px}.review-item span{color:#666;text-align:right;flex:1}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:5px;margin-bottom:20px;border:1px solid #fcc;font-size:14px}.form-group .error-message{margin-top:6px;margin-bottom:0;padding:8px;font-size:12px;color:#e74c3c}.loading-message{background-color:#e3f2fd;color:#1976d2;padding:12px;border-radius:5px;margin-bottom:20px;border:1px solid #90caf9;font-size:14px;text-align:center}.auth-link{text-align:center;margin-top:20px;color:#666;font-size:14px}.auth-link a{color:#667eea;text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.condominio-section{background-color:#f9f9f9;padding:20px;border-radius:8px;margin:20px 0;border:2px solid #e0e0e0}.condominio-section h3{margin-top:0;color:#333;font-size:16px;margin-bottom:10px}.condominio-section p{color:#666;font-size:13px;margin-bottom:15px}.form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}@media(max-width:900px){.auth-card{padding:35px 25px;max-width:100%}.auth-card h1{font-size:22px;margin-bottom:18px}.auth-card h2{font-size:18px}.step{width:36px;height:36px;font-size:14px}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.plan-card{padding:16px}.plan-card h3{font-size:15px}.plan-features{font-size:11px}.form-row{grid-template-columns:1fr 1fr;gap:10px}}@media(max-width:600px){.auth-container{padding:10px}.auth-card{padding:25px 16px;max-width:100%;border-radius:8px}.auth-card h1{font-size:18px;margin-bottom:15px}.auth-card h2{font-size:16px;margin-bottom:8px}.step-indicator{margin-bottom:20px;gap:6px}.step{width:32px;height:32px;font-size:12px;border-width:1.5px}.step-description{font-size:13px}.plans-grid{grid-template-columns:1fr;gap:10px;margin-bottom:20px}.plan-card{padding:12px}.plan-card h3{font-size:14px;margin-bottom:4px}.plan-description{font-size:11px;margin-bottom:8px}.plan-features{font-size:11px;margin-bottom:10px}.plan-features li{padding:3px 0}.select-plan-btn{padding:6px 10px;font-size:11px}.profile-types-grid{gap:12px;margin-bottom:20px}.profile-type-card{padding:16px}.profile-type-card h3{font-size:15px;margin-bottom:6px}.profile-type-card p{font-size:12px;margin-bottom:10px}.select-profile-btn{padding:8px 10px;font-size:12px}.form-group{margin-bottom:16px}.form-group label{font-size:13px;margin-bottom:6px}.form-group input{padding:10px;font-size:13px}.form-group select{padding:10px 30px 10px 10px;font-size:13px}.form-group small{font-size:11px;margin-top:4px}.form-row{grid-template-columns:1fr;gap:10px}.condominio-section{padding:16px;margin:16px 0}.condominio-section h3{font-size:15px;margin-bottom:8px}.condominio-section p{font-size:12px;margin-bottom:12px}.review-section{padding:16px}.review-item{padding:10px 0;font-size:13px}.review-item strong{min-width:120px}.step-buttons{flex-direction:column;margin-top:20px;gap:10px}.step-buttons .btn-primary,.step-buttons .btn-secondary{width:100%;margin-top:0;padding:10px;font-size:14px}.btn-primary,.btn-secondary{margin-top:0}.auth-link{margin-top:16px;font-size:13px}}@media(min-width:1200px){.auth-container{padding:40px 20px}.auth-card{padding:50px;max-width:1100px}.auth-card h1{font-size:28px;margin-bottom:25px}.auth-card h2{font-size:22px}.step-indicator{margin-bottom:35px}.step{width:45px;height:45px;font-size:16px}.plans-grid{grid-template-columns:repeat(4,1fr);gap:18px}.plan-card{padding:24px}.form-row{grid-template-columns:1fr 1fr 1fr}}.confirmation-summary{background:#f0f4ff;border:2px solid #667eea;border-radius:8px;padding:24px;margin-bottom:30px}.confirmation-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(102,126,234,.1)}.confirmation-item:last-child{border-bottom:none}.confirmation-item label{font-weight:600;color:#333;font-size:14px}.confirmation-item span{color:#667eea;font-weight:500;font-size:16px}.upgrade-plan-content{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:40px;max-width:1200px;margin:0 auto}.upgrade-plan-content h1{margin-top:0;color:#333;font-size:28px;margin-bottom:20px}.upgrade-plan-content h2{color:#333;font-size:20px;margin-top:0;margin-bottom:8px}.message-popup-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:var(--z-popover)}.message-popup-modal{background-color:var(--color-bg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:0;max-width:400px;width:90%;animation:slideIn var(--transition-base)}.message-popup-content{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center}.message-popup-content h2{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.message-popup-content p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-light);line-height:var(--line-height-normal)}.message-popup-success{border-left:4px solid var(--color-success)}.message-popup-success h2{color:var(--color-success-light)}.message-popup-error{border-left:4px solid var(--color-danger)}.message-popup-error h2{color:var(--color-danger-light)}.message-popup-actions{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;justify-content:center;gap:var(--spacing-sm)}.btn-ok{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);background-color:var(--color-primary);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast)}.btn-ok:hover{background-color:var(--color-primary-dark)}.btn-ok:active{transform:scale(.98)}.sidebar{position:sticky;top:0;align-self:flex-start;width:250px;min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#1a1f4b,#2d3561);color:#fff;display:flex;flex-direction:column;transition:width var(--transition-base);box-shadow:2px 0 var(--shadow-md);overflow:visible}.sidebar.collapsed{width:60px}.sidebar-header{padding:var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.sidebar-mobile-close{display:none;width:36px;height:36px;border:none;border-radius:999px;background:#ffffff1f;color:#fff;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}.sidebar-toggle{width:36px;height:36px;position:absolute;top:0;right:0;transform:translate(50%,-50%);background:#2d3561;border:none;color:#fff;padding:0;border-radius:999px;cursor:pointer;font-size:var(--font-size-sm);font-weight:700;box-shadow:var(--shadow-md);transition:background-color var(--transition-base),color var(--transition-base),transform var(--transition-base);display:flex;align-items:center;justify-content:center;text-align:center;z-index:2}.sidebar-toggle:hover{background:#3b4578;transform:translate(50%,-50%) scale(1.05)}.sidebar-toggle-icon{font-size:var(--font-size-xl);line-height:1;min-width:24px}.sidebar-title{font-size:var(--font-size-lg);font-weight:700;white-space:nowrap}.sidebar.collapsed .sidebar-title{display:none}.sidebar-nav{flex:1;padding:var(--spacing-lg) 0;overflow-y:auto;min-height:0}.nav-list{list-style:none;margin:0;padding:0}.nav-item{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base);text-align:left}.sidebar.collapsed .nav-item{padding:12px;justify-content:center}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:#667eea4d;color:#667eea;border-left:3px solid #667eea}.nav-item.unavailable{color:#fff9}.sidebar.collapsed .nav-item.active{border-left:none;border-bottom:3px solid #667eea}.nav-icon{font-size:var(--font-size-xl);min-width:24px;text-align:center;flex-shrink:0}.nav-label{white-space:nowrap}.sidebar.collapsed .nav-label{display:none}.sidebar-footer{position:relative;padding:calc(var(--spacing-lg) + 18px) var(--spacing-lg) var(--spacing-lg);border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;margin-top:auto}.footer-item{font-size:var(--font-size-xs);color:#ffffff80;text-align:center}.footer-item.collapsed-text{display:none}.sidebar.collapsed .sidebar-header{padding:var(--spacing-md) var(--spacing-sm);justify-content:center}.sidebar.collapsed .sidebar-footer{padding:calc(var(--spacing-sm) + 18px) var(--spacing-sm) var(--spacing-sm)}.sidebar.collapsed .sidebar-toggle{width:36px;height:36px}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.sidebar.mobile{position:fixed;top:0;left:0;bottom:0;width:min(82vw,320px);max-width:320px;transform:translate(-100%);transition:transform var(--transition-base),box-shadow var(--transition-base);z-index:var(--z-fixed);box-shadow:none}.sidebar.mobile.mobile-open{transform:translate(0);box-shadow:var(--shadow-2xl)}.sidebar.mobile.collapsed{width:min(82vw,320px)}.sidebar.mobile .sidebar-title{display:inline}.sidebar.mobile .sidebar-mobile-close{display:inline-flex}.sidebar.mobile .sidebar-footer{padding-top:var(--spacing-lg)}@media(max-width:768px){.sidebar{width:min(82vw,320px);max-width:320px}.sidebar-nav{padding:var(--spacing-md) 0}.nav-item{padding:var(--spacing-md)}}.user-menu-container{display:flex;align-items:center;gap:var(--spacing-md)}.profiles-dropdown{position:relative}.profile-button{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.25);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);cursor:pointer;font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-base);font-size:var(--font-size-sm);white-space:nowrap;height:48px}.profile-button:hover{background:#ffffff40;border-color:#fff6}.profile-button:active{background:#ffffff59}.profile-icon{font-size:var(--font-size-base)}.profile-name{max-width:300px;overflow:hidden;text-overflow:ellipsis;color:#fff;font-weight:400}.dropdown-arrow{font-size:var(--font-size-xs);transition:transform var(--transition-fast)}.profile-dropdown-menu{position:absolute;top:100%;right:0;background:var(--color-bg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);min-width:280px;margin-top:var(--spacing-sm);z-index:calc(var(--z-modal) + 1);overflow:hidden}.dropdown-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-lighter)}.dropdown-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px}.profiles-list-dropdown{max-height:350px;overflow-y:auto}.profile-option-wrapper{padding:0 var(--spacing-lg);transition:background-color var(--transition-fast);border-left:3px solid transparent}.profile-option-wrapper:hover{background-color:var(--color-bg-lighter)}.profile-option-wrapper.active{background-color:var(--color-primary-50);border-left-color:var(--color-secondary)}.profile-option-wrapper .profile-option{padding:var(--spacing-md) 0;background:none;border:none;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);transition:none;border-left:none;width:100%;min-width:0}.profile-option-wrapper .profile-option:hover{background-color:transparent}.profile-option{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);transition:background-color var(--transition-fast);border-left:3px solid transparent}.profile-option:hover{background-color:var(--color-bg-lighter)}.profile-option.active{background-color:var(--color-primary-50);border-left-color:var(--color-secondary)}.option-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.option-name{font-weight:var(--font-weight-normal);color:var(--color-text);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-plan-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.option-plan{font-size:var(--font-size-xs);color:var(--color-secondary);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.option-upgrade-btn{background:none;color:var(--color-secondary);border:none;padding:0;border-radius:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;white-space:nowrap}.option-upgrade-btn:hover{opacity:.7}.option-upgrade-btn:active{opacity:1}.option-badges{display:flex;align-items:center;gap:6px;white-space:nowrap}.option-badge{font-size:var(--font-size-xs);color:var(--color-secondary);font-weight:var(--font-weight-bold)}.option-checkmark{color:var(--color-secondary);font-weight:700}.no-profiles-message{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;color:var(--color-text-lighter);font-size:var(--font-size-sm)}.user-menu{position:relative}.user-button{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.25);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-base);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);height:48px}.user-button:hover{background:#ffffff40;border-color:#fff6}.user-button:active{background:#ffffff59}.user-avatar{width:32px;height:32px;border-radius:50%;background:#ffffff4d;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);flex-shrink:0}.user-name{white-space:nowrap}.menu-arrow{font-size:var(--font-size-xs);transition:transform var(--transition-fast)}.user-dropdown-menu{position:absolute;top:100%;right:0;background:var(--color-bg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);min-width:280px;margin-top:var(--spacing-sm);z-index:calc(var(--z-modal) + 1);overflow:hidden}.menu-header{padding:var(--spacing-lg);background:linear-gradient(135deg,var(--color-secondary) 0%,#764ba2 100%);color:#fff}.menu-user-info{display:flex;align-items:center;gap:var(--spacing-md)}.menu-avatar{width:40px;height:40px;border-radius:50%;background:#ffffff4d;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);flex-shrink:0}.menu-user-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.menu-user-email{font-size:var(--font-size-xs);opacity:.9;margin-top:var(--spacing-xs)}.menu-user-profile{font-size:var(--font-size-xs);opacity:.85;margin-top:var(--spacing-sm);font-weight:var(--font-weight-medium);color:#fffffff2;padding:var(--spacing-xs) var(--spacing-sm);background:#ffffff26;border-radius:var(--border-radius-sm);display:block}.menu-user-plan-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.menu-user-plan{font-size:var(--font-size-xs);opacity:.85;font-weight:var(--font-weight-medium);color:#fffffff2;padding:var(--spacing-xs) var(--spacing-sm);background:#ffffff26;border-radius:var(--border-radius-sm);display:inline-block}.menu-upgrade-plan-btn{font-size:var(--font-size-xs);padding:0;background:none;color:#fffffff2;border:none;border-radius:0;cursor:pointer;font-weight:var(--font-weight-bold);transition:all var(--transition-fast);flex-shrink:0}.menu-upgrade-plan-btn:hover{opacity:.7}.menu-upgrade-plan-btn:active{opacity:1}.menu-divider{height:1px;background:var(--color-border);margin:0}.menu-items{display:flex;flex-direction:column}.menu-item{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;text-align:left;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);transition:background-color var(--transition-fast)}.menu-item:hover{background-color:var(--color-bg-lighter)}.menu-item.logout{color:var(--color-danger)}.menu-item.logout:hover{background-color:var(--color-danger-bg)}.menu-icon{font-size:var(--font-size-base);width:24px;text-align:center;flex-shrink:0}.profiles-list-dropdown::-webkit-scrollbar{width:6px}.profiles-list-dropdown::-webkit-scrollbar-track{background:transparent}.profiles-list-dropdown::-webkit-scrollbar-thumb{background:var(--color-text-lighter);border-radius:3px}.profiles-list-dropdown::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}@media(max-width:768px){.user-menu-container{width:100%;gap:var(--spacing-sm);justify-content:space-between;flex-wrap:wrap}.profiles-dropdown,.user-menu{flex:1 1 220px;min-width:0}.profile-button,.user-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);width:100%;justify-content:space-between;min-width:0}.user-name{display:block;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-name{max-width:none;min-width:0;flex:1}.profile-dropdown-menu,.user-dropdown-menu{min-width:min(280px,calc(100vw - 32px));max-width:calc(100vw - 32px)}}@media(max-width:320px){.profiles-dropdown,.user-menu{flex-basis:100%}.profile-icon{display:none}.profile-button{padding:var(--spacing-xs) var(--spacing-sm)}}.main-layout{display:flex;min-height:100vh;min-height:100dvh;background-color:var(--color-bg-lighter);position:relative;align-items:stretch}.layout-content{flex:1;display:flex;flex-direction:column;min-width:0;min-height:100vh;min-height:100dvh}.layout-content.content-scroll{height:100vh;height:100dvh;overflow:hidden}.layout-header{background:linear-gradient(135deg,var(--color-secondary) 0%,#764ba2 100%);color:#fff;padding:var(--spacing-md) var(--spacing-xl);box-shadow:var(--shadow-md);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:var(--spacing-md)}.layout-header.sticky{position:sticky;top:0;z-index:5}.layout-header-main{display:flex;align-items:center;gap:var(--spacing-md);min-width:0}.mobile-menu-button{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:var(--border-radius-sm);background:#ffffff1f;color:#fff;align-items:center;justify-content:center;cursor:pointer;font-size:var(--font-size-xl);flex-shrink:0}.mobile-menu-button:hover{background:#fff3}.layout-overlay{position:fixed;inset:0;border:none;padding:0;background:#0f172a73;z-index:calc(var(--z-fixed) - 1)}.layout-header h1{margin:0;font-size:var(--font-size-2xl);font-weight:700;line-height:var(--line-height-tight)}.layout-main{flex:1;padding:var(--spacing-lg) var(--spacing-xl);max-width:100%;width:100%;margin:0 auto;box-sizing:border-box}.layout-main-scroll{min-height:0;flex:1}.layout-main-scroll.content-scroll{overflow-y:auto;overflow-x:hidden}.layout-content.content-scroll .layout-main{overflow:visible}.layout-main-scroll.content-scroll .layout-main{height:100%;display:flex;flex-direction:column;min-height:0}@media(max-width:1024px){.layout-header{padding:var(--spacing-md) var(--spacing-lg);flex-wrap:wrap}.layout-header h1{font-size:var(--font-size-2xl)}.layout-main{padding:var(--spacing-lg)}}@media(max-width:768px){.main-layout{display:block}.layout-content{min-height:100dvh}.layout-header{padding:var(--spacing-md);flex-direction:column;align-items:stretch}.layout-header-main{width:100%}.mobile-menu-button{display:inline-flex}.layout-header h1{font-size:var(--font-size-xl)}.layout-main{padding:var(--spacing-md)}}@media(max-width:480px){.layout-header{padding:var(--spacing-sm) var(--spacing-md)}.layout-header h1{font-size:var(--font-size-lg)}.layout-main{padding:var(--spacing-sm)}}.dashboard-shell{--dashboard-bg: linear-gradient( 180deg, #f5efe2 0%, #eef4f1 52%, #ffffff 100% );--panel-surface: rgba(255, 255, 255, .88);--panel-border: rgba(15, 23, 42, .08);--panel-shadow: 0 22px 40px rgba(85, 67, 32, .08);--text-strong: #12212c;--text-muted: #5e6c76;--accent-sunrise: #ef7d57;--accent-lagoon: #0f8b8d;--accent-ember: #d1495b;--accent-forest: #5c7c3b;display:flex;flex-direction:column;gap:22px;width:100%;padding:4px;font-family:Trebuchet MS,Segoe UI,sans-serif;color:var(--text-strong)}.dashboard-hero,.dashboard-spotlight,.dashboard-panel,.dashboard-feedback,.metric-card{border:1px solid var(--panel-border);box-shadow:var(--panel-shadow)}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:18px;padding:28px;border-radius:28px;background:var(--dashboard-bg);overflow:hidden;position:relative}.dashboard-hero:after{content:"";position:absolute;inset:auto -40px -80px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(15,139,141,.18) 0%,transparent 68%)}.dashboard-kicker,.panel-eyebrow,.activity-category{display:inline-flex;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.dashboard-hero-copy{position:relative;z-index:1}.dashboard-hero-copy h1{margin:10px 0 12px;font-size:clamp(2rem,4vw,3.4rem);line-height:.95;max-width:12ch}.dashboard-hero-copy p,.dashboard-hero-panel p,.dashboard-spotlight p,.dashboard-feedback p,.activity-item p,.action-card p,.attention-card p,.metric-card p{margin:0;color:var(--text-muted);line-height:1.55}.dashboard-hero-panel,.dashboard-spotlight,.dashboard-panel,.dashboard-feedback,.metric-card{background:var(--panel-surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-hero-panel{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;justify-content:space-between;padding:22px;border-radius:22px}.hero-badge-row,.hero-meta{display:flex;gap:10px;flex-wrap:wrap}.hero-badge{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#12212c14;font-size:.82rem;font-weight:700}.hero-badge.muted{background:#ef7d571f}.hero-meta{justify-content:space-between;font-size:.88rem;color:var(--text-muted)}.dashboard-spotlight,.dashboard-feedback,.dashboard-panel{border-radius:24px;padding:22px}.dashboard-spotlight{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#d1495b14,#0f8b8d14)}.dashboard-spotlight h2,.panel-heading h2,.dashboard-feedback h2{margin:6px 0 8px;font-size:1.25rem}.dashboard-metrics-grid,.dashboard-detail-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.dashboard-insight-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px}.metric-card{grid-column:span 3;display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:22px;overflow:hidden;position:relative}.metric-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px}.metric-sunrise:before{background:var(--accent-sunrise)}.metric-lagoon:before{background:var(--accent-lagoon)}.metric-ember:before{background:var(--accent-ember)}.metric-forest:before{background:var(--accent-forest)}.metric-card span{font-size:.83rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.metric-card strong{font-size:clamp(2rem,4vw,2.8rem);line-height:.95}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading strong{font-size:1.4rem}.portfolio-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portfolio-stats div{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:18px;background:#12212c0a}.portfolio-stats span{color:var(--text-muted);font-size:.88rem}.portfolio-stats strong{font-size:1.6rem}.attention-list,.activity-list,.action-list,.distribution-list{display:flex;flex-direction:column;gap:12px}.attention-card,.activity-item,.action-card{border-radius:18px;padding:16px}.attention-card{border:1px solid rgba(18,33,44,.08);background:#ffffffeb}.severity-high{background:#d1495b14}.severity-medium{background:#ef7d5714}.severity-low{background:#0f8b8d14}.severity-positive{background:#5c7c3b1a}.distribution-panel,.activity-panel,.action-panel{grid-column:span 4}.distribution-row{display:flex;flex-direction:column;gap:8px}.distribution-copy{display:flex;align-items:center;justify-content:space-between;gap:12px}.distribution-copy span{color:var(--text-muted);font-size:.9rem}.distribution-bar-track{width:100%;height:10px;border-radius:999px;overflow:hidden;background:#12212c14}.distribution-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f8b8d,#ef7d57)}.activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;background:#12212c0a}.activity-item strong,.attention-card strong,.action-card strong{display:block;margin:4px 0 6px;font-size:1rem}.activity-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end;color:var(--text-muted);font-size:.84rem;text-align:right}.action-card{border:1px solid rgba(18,33,44,.08);background:linear-gradient(135deg,#fffffff5,#f5efe2f2);text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.action-card:hover{transform:translateY(-2px);border-color:#ef7d5766;box-shadow:0 14px 22px #5543201f}.dashboard-feedback.loading{background:linear-gradient(135deg,#0f8b8d14,#ffffffeb)}.dashboard-feedback.error{background:linear-gradient(135deg,#d1495b14,#ffffffeb)}.empty-state-copy{color:var(--text-muted);line-height:1.6}@media(max-width:1200px){.metric-card{grid-column:span 6}.dashboard-insight-grid,.dashboard-hero{grid-template-columns:1fr}.distribution-panel,.activity-panel,.action-panel{grid-column:span 12}}@media(max-width:768px){.dashboard-shell{gap:16px}.dashboard-hero,.dashboard-spotlight,.dashboard-panel,.dashboard-feedback,.metric-card{border-radius:18px}.dashboard-hero,.dashboard-spotlight,.dashboard-panel,.dashboard-feedback{padding:18px}.dashboard-spotlight,.activity-item,.distribution-copy,.panel-heading,.hero-meta{flex-direction:column;align-items:flex-start}.dashboard-metrics-grid,.dashboard-detail-grid,.dashboard-insight-grid{gap:14px}.metric-card,.distribution-panel,.activity-panel,.action-panel{grid-column:span 12}.portfolio-stats{grid-template-columns:1fr}.dashboard-hero-copy h1{max-width:none}.activity-meta{align-items:flex-start;text-align:left}}.change-password-container{width:100%;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px}.change-password-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:500px;width:100%;overflow:hidden}.change-password-form{padding:30px}.form-group{margin-bottom:24px}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.password-requirements{margin-top:8px;font-size:13px;color:#999;display:flex;gap:12px;flex-wrap:wrap}.password-requirements span{transition:color .3s}.password-requirements span.met{color:#27ae60;font-weight:600}.password-match{margin-top:8px;font-size:13px;color:#27ae60;font-weight:600}.password-mismatch{margin-top:8px;font-size:13px;color:#e74c3c;font-weight:600}@media(max-width:768px){.change-password-container{padding:20px}.card-header{padding:24px}.card-header h1{font-size:24px}.change-password-form{padding:24px}.form-group{margin-bottom:20px}.form-group input{padding:10px 12px;font-size:16px}}@media(max-width:480px){.change-password-container{padding:16px}.card-header{padding:20px}.card-header h1{font-size:20px}.card-header p{font-size:13px}.change-password-form{padding:20px}.form-group{margin-bottom:18px}.form-actions{flex-direction:column;gap:10px}.btn-primary,.btn-secondary{width:100%}}.user-settings-container{width:100%;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px}.settings-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:600px;width:100%;overflow:hidden}.settings-form{padding:30px}.settings-section{margin-bottom:30px}.settings-section h2{margin:0 0 20px;color:#333;font-size:18px;font-weight:600;border-bottom:2px solid #f0f0f0;padding-bottom:12px}.photo-section{display:flex;align-items:flex-start;gap:20px;margin-bottom:24px;padding:20px;background:#f8f9fa;border-radius:8px}.photo-preview{flex-shrink:0}.photo-preview img{width:120px;height:120px;border-radius:12px;object-fit:cover;border:3px solid white;box-shadow:0 2px 8px #0000001a}.photo-placeholder{width:120px;height:120px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:48px;border:3px solid white}.photo-upload{flex:1}.photo-upload label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.photo-upload input[type=file]{display:block;width:100%;padding:10px;border:2px dashed #ddd;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s ease}.photo-upload input[type=file]:hover{border-color:#667eea;background:#667eea0d}.photo-upload input[type=file]:disabled{cursor:not-allowed;opacity:.6}.photo-upload small{display:block;margin-top:8px;color:#999;font-size:12px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.form-group input{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:all .3s ease;box-sizing:border-box}.form-group textarea{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:all .3s ease;box-sizing:border-box;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group textarea:disabled{background-color:#f5f5f5;color:#666;cursor:not-allowed}.profile-name{font-weight:500;color:#fff;margin-bottom:6px;font-size:14px}@media(max-width:768px){.user-settings-container{padding:20px}.card-header{padding:24px}.card-header h1{font-size:24px}.settings-form{padding:24px}.settings-section h2{font-size:16px}.form-group{margin-bottom:18px}.form-group input{padding:10px 12px;font-size:16px}}@media(max-width:480px){.user-settings-container{padding:16px}.card-header{padding:20px}.card-header h1{font-size:20px}.card-header p{font-size:13px}.settings-form{padding:20px}.settings-section h2{font-size:15px}.form-group{margin-bottom:16px}.form-actions{flex-direction:column;gap:10px}.btn-primary,.btn-secondary{width:100%}}.preferences-container{width:100%;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px}.preferences-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:600px;width:100%;overflow:hidden}.card-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;text-align:center}.card-header h1{margin:0 0 8px;font-size:28px;font-weight:700}.card-header p{margin:0;font-size:14px;opacity:.9}.preferences-form{padding:30px}.preferences-section{margin-bottom:30px}.preferences-section h2{margin:0 0 20px;color:#333;font-size:18px;font-weight:600;border-bottom:2px solid #f0f0f0;padding-bottom:12px}.section-description{color:#666;font-size:13px;margin-bottom:20px;line-height:1.5}.tips-list{margin:20px 0;padding-left:20px;list-style:disc}.tips-list li{margin-bottom:12px;color:#666;font-size:14px;line-height:1.5}.tips-list strong{color:#333;font-weight:600}.tips-footer{color:#666;font-size:13px;margin-top:20px;line-height:1.5;padding:12px;background:#f8f9fa;border-left:3px solid #667eea;border-radius:4px}.profiles-management{display:flex;flex-direction:column;gap:12px}.profile-item-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8f9fa;border:1px solid #e8e8e8;border-radius:8px;transition:all .3s ease}.profile-item-card:hover{background:#f0f1f5;border-color:#667eea;box-shadow:0 2px 8px #667eea26}.profile-info{flex:1}.preferences-profile-name{font-weight:600;color:#333;margin-bottom:6px;font-size:15px}.profile-details{display:flex;gap:12px;font-size:12px;color:#666}.profile-type{background:#e8e8e8;padding:2px 8px;border-radius:4px}.profile-plan{background:#667eea20;color:#667eea;padding:2px 8px;border-radius:4px;font-weight:500}.profile-actions{margin-left:12px}.btn-set-default{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-set-default:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-set-default:disabled{opacity:.6;cursor:not-allowed;transform:none}.profile-default-badge{display:inline-block;padding:6px 12px;background:#10b981;color:#fff;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.form-actions{display:flex;gap:12px;margin-top:30px}.btn-primary,.btn-secondary{flex:1;padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background-color:#e8e8e8;color:#333;border:1px solid #ddd}.btn-secondary:hover:not(:disabled){background-color:#d8d8d8}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.preferences-container{padding:20px}.card-header{padding:24px}.card-header h1{font-size:24px}.preferences-form{padding:24px}.preferences-section h2{font-size:16px}.form-actions{flex-direction:column;gap:10px}.btn-primary,.btn-secondary{width:100%}}@media(max-width:480px){.preferences-container{padding:16px}.card-header{padding:20px}.card-header h1{font-size:20px}.card-header p{font-size:12px}.preferences-form{padding:20px}.preferences-section h2{font-size:15px}.form-actions{flex-direction:column;gap:10px}.btn-primary,.btn-secondary{width:100%}.profile-item-card{flex-direction:column;align-items:flex-start;gap:12px}.profile-actions{width:100%;margin-left:0}.btn-set-default{width:100%}}.form-content.user-form-content{min-height:min(74vh,820px);padding:0;gap:0;overflow:hidden}.user-form-fields{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);overflow-y:auto;flex:1;min-height:0}.user-form-content .form-row{gap:var(--spacing-sm)}.modal-content:has(>.form-content.user-form-content){overflow:hidden}.user-form-footer{flex-shrink:0;background-color:#fff}.user-form-fields::-webkit-scrollbar{width:6px}.user-form-fields::-webkit-scrollbar-track{background:transparent}.user-form-fields::-webkit-scrollbar-thumb{background:#bdbdbd;border-radius:3px}.user-form-fields::-webkit-scrollbar-thumb:hover{background:#9e9e9e}@media(max-width:768px){.form-content{padding:var(--spacing-lg)}.form-content.user-form-content{min-height:auto}.user-form-fields{padding:var(--spacing-lg)}}@media(max-width:480px){.form-content,.user-form-fields,.form-footer{padding:var(--spacing-md)}}.form-error-message{margin:20px;padding:12px;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:.9rem}.form-content{display:flex;flex-direction:column;gap:15px;padding:20px;max-height:500px;overflow-y:auto}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;color:#333;font-size:.9rem}.info-value{padding:10px 12px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333;font-size:.9rem}.form-group select{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:inherit;transition:border-color .3s ease;color:#333;background-color:#fff}.form-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group.stripe-info{margin-bottom:10px}.info-message{padding:12px;background-color:#e8f4f8;border:1px solid #b3d9e8;border-radius:4px;color:#0c5460;font-size:.9rem}.form-group select option{color:#333;background-color:#fff;padding:5px}.loading-plans,.no-plans{padding:10px 12px;color:#666;font-size:.9rem}.plan-details{display:flex;flex-direction:column;gap:10px;margin-top:10px}.plan-detail-card{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;padding:12px}.plan-detail-card p{margin:6px 0;font-size:.85rem;color:#555}.plan-limits{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0}.form-footer{display:flex;gap:10px;padding:20px;border-top:1px solid #e0e0e0;justify-content:flex-end}.btn-cancel,.btn-save{padding:10px 20px;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel{background-color:#f5f5f5;color:#333;border:1px solid #ddd}.btn-cancel:hover:not(:disabled){background-color:#e0e0e0}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.btn-save{background-color:#3498db;color:#fff}.btn-save:hover:not(:disabled){background-color:#2980b9}.btn-save:disabled{opacity:.6;cursor:not-allowed}.delete-confirmation-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:var(--z-modal-backdrop)}.delete-confirmation-modal{background:var(--color-bg);border-radius:var(--border-radius-md);padding:var(--spacing-2xl);max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-md);animation:slideIn var(--transition-base)}@keyframes slideIn{0%{transform:translateY(calc(-1 * var(--spacing-2xl)));opacity:0}to{transform:translateY(0);opacity:1}}.delete-confirmation-modal h2{margin:0 0 var(--spacing-sm) 0;color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.delete-confirmation-modal p{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-light);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.delete-warning{background-color:var(--color-danger-bg);border-left:4px solid var(--color-danger);padding:var(--spacing-md);margin:var(--spacing-lg) 0;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);color:var(--color-danger)}.delete-confirmation-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg);justify-content:flex-end}.delete-confirmation-actions button{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.btn-cancel{background-color:var(--color-bg-lighter);color:var(--color-text)}.btn-cancel:hover{background-color:var(--color-border)}.btn-confirm-delete{background-color:var(--color-danger);color:#fff}.btn-confirm-delete:hover{background-color:var(--color-danger-light)}.btn-confirm-delete:disabled{background-color:var(--color-text-lighter);cursor:not-allowed}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid #ef4444;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.delete-details{background-color:var(--color-bg-lighter);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin:var(--spacing-lg) 0;max-height:300px;overflow-y:auto}.delete-details h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.delete-details pre{margin:0;font-size:var(--font-size-xs);color:var(--color-text-light);white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;line-height:1.4}.table-filter-control{display:flex;align-items:center;gap:6px;width:100%}.table-filter-field{flex:1;min-width:0}.table-filter-field-wrapper{position:relative;flex:1;min-width:0}.table-filter-field-with-clear{padding-right:30px}.table-filter-inline-clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);border:none;background:transparent;color:#b42318;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:background-color .2s ease}.table-filter-inline-clear:hover:not(:disabled){background-color:#fdecea}.table-filter-inline-clear:disabled{opacity:.4;cursor:not-allowed}.table-filter-actions{display:flex;align-items:center;gap:4px}.table-filter-button{width:30px;height:30px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.table-filter-button:hover:not(:disabled){background:#f8fafc;border-color:#98a2b3;transform:translateY(-1px)}.table-filter-button-search{color:#1d4ed8}.table-filter-button-clear{color:#b42318}.table-filter-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.user-management{width:100%;max-width:100%;margin:0 auto;padding:8px;position:relative;display:flex;flex-direction:column;flex:1;min-height:0;box-sizing:border-box}.user-content{display:flex;gap:12px;flex:1;min-height:0}.user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.user-header h1{margin:0;color:#333;font-size:28px}.admin-view .form-error{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.error-close{background:none;border:none;cursor:pointer;color:inherit;font-size:18px;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center}.profile-tag-with-plan{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.profile-tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);background-color:#e3f2fd;color:#1976d2;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:12px;font-weight:var(--font-weight-semibold)}.plan-badge{display:inline-block;background-color:#fff3e0;color:#f57c00;padding:1px 5px;border-radius:3px;font-size:11px;font-weight:var(--font-weight-semibold);margin-left:2px}.btn-change-plan-tag{padding:2px 6px;border:none;border-radius:3px;background-color:transparent;cursor:pointer;font-size:14px;transition:all .2s ease;color:#667eea;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px}.btn-change-plan-tag:hover{background-color:#667eea1a;color:#667eea}.no-profiles{color:#999;font-size:12px}.more-profiles{color:#666;font-size:12px;font-weight:var(--font-weight-semibold)}.status-active,.status-inactive{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:var(--font-weight-semibold)}.status-active{background-color:#dff0d8;color:#3c763d}.status-inactive{background-color:#f2dede;color:#a94442}.users-table th.status-column,.users-table td.status-column{min-width:130px;width:130px}.users-table th.status-column .table-filter-control{min-width:110px}.users-table .actions{display:flex;gap:4px;align-items:center;justify-content:flex-start;flex-wrap:nowrap;white-space:nowrap}.add-profile-plan-section{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:#f9f9f9;border:1px solid var(--color-border);border-radius:var(--border-radius-sm)}.add-profile-plan-inputs .input-row{display:flex;gap:var(--spacing-md);align-items:flex-end}.add-profile-plan-inputs .input-group{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.add-profile-plan-inputs label{font-weight:var(--font-weight-medium);color:var(--color-text);font-size:var(--font-size-sm)}.add-profile-plan-inputs select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);background-color:#fff;cursor:pointer;font-family:inherit;color:var(--color-text)}.add-profile-plan-inputs select:hover{border-color:#999}.add-profile-plan-inputs select:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px var(--color-info-bg)}.add-profile-plan-inputs select:disabled{background-color:var(--color-bg-lighter);cursor:not-allowed;color:#999}.btn-add-combination{padding:var(--spacing-sm) var(--spacing-lg);background-color:#28a745;color:#fff;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color .3s ease;white-space:nowrap}.btn-add-combination:hover:not(:disabled){background-color:#218838}.btn-add-combination:disabled{background-color:#ccc;cursor:not-allowed}.selected-combinations{margin-top:var(--spacing-lg);min-height:40px}.combinations-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:300px;overflow-y:auto;padding:var(--spacing-md);background-color:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius-sm)}.combination-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background-color:#f5f5f5;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);gap:var(--spacing-md)}.combination-info{display:flex;align-items:center;gap:var(--spacing-md);flex:1;flex-wrap:wrap}.combination-profile{font-weight:var(--font-weight-medium);color:#333;background-color:#e8f4f8;padding:var(--spacing-xs) var(--spacing-sm);border-radius:3px;font-size:13px}.combination-separator{color:#999;font-weight:700}.combination-plan{color:#666;font-size:13px;background-color:#f0f0f0;padding:var(--spacing-xs) var(--spacing-sm);border-radius:3px}.btn-remove-combination{padding:var(--spacing-xs) var(--spacing-sm);background-color:#dc3545;color:#fff;border:none;border-radius:var(--border-radius-sm);font-size:16px;cursor:pointer;transition:background-color .3s ease;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.btn-remove-combination:hover:not(:disabled){background-color:#c82333}.btn-remove-combination:disabled{background-color:#ccc;cursor:not-allowed}@media(max-width:768px){.user-content{flex-direction:column}.user-management{padding:0}.user-header{flex-direction:column;align-items:flex-start;gap:15px}.user-header h1{font-size:22px}.btn-add-user{width:100%}.users-table{font-size:12px}.users-table th,.users-table td{padding:10px}.add-profile-plan-inputs .input-row{flex-direction:column;align-items:stretch}.add-profile-plan-inputs .input-group,.btn-add-combination{width:100%}.combination-item{flex-direction:column;align-items:flex-start}.combination-info{width:100%;justify-content:flex-start}.btn-remove-combination{align-self:flex-end}}@media(max-width:480px){.access-denied{padding:32px 16px}.profile-tags,.combination-info{gap:var(--spacing-xs)}.profile-tag,.plan-badge,.combination-profile,.combination-plan{max-width:100%;white-space:normal;word-break:break-word}}.paginated-select-wrapper{position:relative;display:block;width:100%}.paginated-select-button{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-family:inherit;background-color:var(--color-bg);color:var(--color-text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);transition:all var(--transition-base);min-height:40px}.paginated-select-button:hover:not(:disabled){border-color:var(--color-info)}.paginated-select-button:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px var(--color-info-bg)}.paginated-select-button:disabled{background-color:var(--color-bg-lighter);cursor:not-allowed;opacity:.6}.paginated-select-value{text-align:left;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.paginated-select-arrow{display:inline-block;flex-shrink:0;font-size:var(--font-size-xs);transition:transform var(--transition-fast)}.paginated-select-button[aria-expanded=true] .paginated-select-arrow{transform:rotate(180deg)}.paginated-select-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));left:0;right:0;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden;display:flex;flex-direction:column;max-height:400px}.paginated-select-search{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex;gap:var(--spacing-sm);align-items:center}.paginated-select-search-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-family:inherit;background-color:var(--color-bg-lighter);color:var(--color-text);transition:border-color var(--transition-fast)}.paginated-select-search-input:focus{outline:none;border-color:var(--color-info);background-color:var(--color-bg)}.paginated-select-search-input::placeholder{color:var(--color-text-muted)}.paginated-select-clear-btn{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background-color:var(--color-bg-lighter);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast);min-width:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.paginated-select-clear-btn:hover{background-color:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-light)}.paginated-select-clear-btn:active{transform:scale(.95)}.paginated-select-list{overflow-y:auto;flex:1;display:flex;flex-direction:column}.paginated-select-option{padding:var(--spacing-md);border:none;background:none;text-align:left;color:var(--color-text);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;transition:background-color var(--transition-fast);border-bottom:1px solid var(--color-border-light)}.paginated-select-option:last-child{border-bottom:none}.paginated-select-option:hover{background-color:var(--color-bg-lighter)}.paginated-select-option.selected{background-color:var(--color-info-bg);color:var(--color-info);font-weight:var(--font-weight-semibold)}.paginated-select-option.selected:hover{background-color:var(--color-info-bg)}.paginated-select-empty{padding:var(--spacing-lg) var(--spacing-md);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);background-color:var(--color-bg-lighter)}.paginated-select-footer{padding:var(--spacing-md);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);align-items:center;justify-content:space-between;flex-shrink:0;background-color:var(--color-bg-lighter);font-size:var(--font-size-xs)}.pagination-info{color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;padding:0 var(--spacing-sm)}.pagination-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-xs);background-color:var(--color-bg);color:var(--color-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.pagination-btn:hover:not(:disabled){background-color:var(--color-info-bg);border-color:var(--color-info);color:var(--color-info)}.pagination-btn:active:not(:disabled){transform:scale(.98)}.paginated-select-list::-webkit-scrollbar{width:6px}.paginated-select-list::-webkit-scrollbar-track{background-color:var(--color-bg-lighter)}.paginated-select-list::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}.paginated-select-list::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-strong)}.form-content.company-form-content{min-height:min(72vh,760px);padding:0;gap:0;overflow:hidden}.company-form-fields{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-lg);overflow-y:auto;flex:1;min-height:0}.company-form-fields .form-row,.company-form-fields .form-group{gap:var(--spacing-xs)}.company-form-footer{flex-shrink:0;background-color:var(--color-bg)}.modal-content:has(>.form-content.company-form-content){overflow:hidden}.company-form-fields::-webkit-scrollbar{width:6px}.company-form-fields::-webkit-scrollbar-track{background:transparent}.company-form-fields::-webkit-scrollbar-thumb{background:var(--color-text-lighter);border-radius:3px}.company-form-fields::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}@media(max-width:768px){.form-content{padding:var(--spacing-lg)}.form-content.company-form-content{min-height:auto}.company-form-fields{padding:var(--spacing-lg)}}@media(max-width:480px){.form-content,.company-form-fields,.form-footer{padding:var(--spacing-md)}}.company-management{width:100%;max-width:100%;margin:0 auto;padding:8px;position:relative;display:flex;flex-direction:column;flex:1;min-height:0;box-sizing:border-box}.company-content{display:flex;gap:12px;flex:1;min-height:0}.company-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.company-header h1{margin:0;color:#333;font-size:28px}.companies-table th.status-column,.companies-table td.status-column{min-width:120px;width:120px}.companies-table th.actions-column,.companies-table td.actions-column{min-width:110px;width:110px}.companies-table td.actions{display:flex;gap:4px;align-items:center;justify-content:flex-start;flex-wrap:nowrap}.companies-table th.status-column .table-filter-control{min-width:100px}.owner-view{display:flex;justify-content:center}.company-edit-card,.no-company-card{width:100%;max-width:600px;background-color:#fff;border-radius:var(--border-radius-md);padding:var(--spacing-xl);box-shadow:0 2px 8px #0000001a}.company-edit-card h2,.no-company-card h2{margin:0 0 var(--spacing-lg) 0;color:var(--color-text);font-size:var(--font-size-lg);border-bottom:2px solid var(--color-border);padding-bottom:var(--spacing-md)}.company-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.info-item{display:flex;flex-direction:column;gap:var(--spacing-sm)}.info-item label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px}.info-item p{margin:0;color:var(--color-text);font-size:var(--font-size-sm)}.btn-edit-company{width:100%;padding:var(--spacing-md);background-color:var(--color-info);color:#fff;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color .3s ease}.btn-edit-company:hover{background-color:#0056b3}.no-company-card{text-align:center}.no-company-card p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:10px 0}.company-pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-top:1px solid #ddd;background-color:#f9f9f9;flex-wrap:wrap;gap:16px}.pagination-info{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.pagination-controls{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.pagination-controls label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.page-size-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);background-color:#fff;color:var(--color-text)}.pagination-buttons{display:flex;align-items:center;gap:var(--spacing-sm)}.pagination-btn{padding:var(--spacing-sm) var(--spacing-md);background-color:#fff;color:var(--color-info);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background-color:var(--color-info);color:#fff}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.company-content{flex-direction:column}.company-management{padding:0}.company-header{flex-direction:column;align-items:flex-start;gap:15px}.company-header h1{font-size:22px}.btn-add-company{width:100%}.companies-table{font-size:12px}.companies-table th,.companies-table td{padding:10px}.company-edit-card,.no-company-card{padding:var(--spacing-lg)}.company-info-grid{grid-template-columns:1fr}.pagination-controls{flex-direction:column;align-items:stretch}.pagination-buttons{width:100%;justify-content:space-between}}@media(max-width:480px){.access-denied{padding:32px 16px}.company-edit-card,.no-company-card{padding:var(--spacing-md)}.company-edit-card h2,.no-company-card h2{font-size:18px;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}}.form-content.condominium-form-content{min-height:min(74vh,800px);padding:0;gap:0;overflow:hidden}.condominium-form-fields{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-lg);overflow-y:auto;flex:1;min-height:0}.condominium-form-fields .form-row,.condominium-form-fields .form-group{gap:var(--spacing-xs)}.modal-content:has(>.form-content.condominium-form-content){overflow:hidden}.condominium-form-footer{flex-shrink:0;background-color:var(--color-bg)}.condominium-form-fields::-webkit-scrollbar{width:6px}.condominium-form-fields::-webkit-scrollbar-track{background:transparent}.condominium-form-fields::-webkit-scrollbar-thumb{background:var(--color-text-lighter);border-radius:3px}.condominium-form-fields::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}@media(max-width:768px){.form-content{padding:var(--spacing-lg)}.form-content.condominium-form-content{min-height:auto}.condominium-form-fields{padding:var(--spacing-lg)}}@media(max-width:480px){.form-content,.condominium-form-fields,.form-footer{padding:var(--spacing-md)}}.condominiums-management{width:100%;max-width:100%;margin:0 auto;padding:8px;position:relative;display:flex;flex-direction:column;flex:1;min-height:0;box-sizing:border-box}.condominiums-content{display:flex;gap:12px;flex:1;min-height:0}.condominiums-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.condominiums-header h1{margin:0;color:#333;font-size:28px}.condominiums-table th.status-column,.condominiums-table td.status-column{min-width:120px;width:120px}.condominiums-table th.actions-column,.condominiums-table td.actions-column{min-width:110px;width:110px}.condominiums-table td.actions{display:flex;gap:4px;align-items:center;justify-content:flex-start;flex-wrap:nowrap}.units-pending-hint{font-size:12px;color:#8a5a00;margin-top:2px}.condominiums-table th.status-column .table-filter-control{min-width:100px}@media(max-width:768px){.condominiums-content{flex-direction:column}.condominiums-management{padding:0}.condominiums-header{flex-direction:column;align-items:flex-start;gap:15px}.condominiums-header h1{font-size:22px}.btn-add-condominium{width:100%}}@media(max-width:480px){.access-denied{padding:32px 16px}}.form-error{margin:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--color-danger-bg);border:1px solid var(--color-danger-light);border-radius:var(--border-radius-sm);color:var(--color-danger);font-size:var(--font-size-sm)}.units-rules-summary{margin-top:calc(var(--spacing-md) * -1);padding:var(--spacing-md);border-radius:var(--border-radius-sm);background-color:#f7f9fc;border:1px solid #d7deea;color:#2f3b52;font-size:var(--font-size-sm)}.units-rules-summary p{margin:0}.units-rules-summary p+p{margin-top:6px}.form-warning{margin-top:calc(var(--spacing-sm) * -1);padding:var(--spacing-md);border-radius:var(--border-radius-sm);background-color:#fff8e8;border:1px solid #ffd27b;color:#8a5a00;font-size:var(--font-size-sm)}.form-warning-error{background-color:#fff1f1;border-color:#f2a4a4;color:#9f1f1f}.form-content{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-2xl)}.form-content.property-form-content{min-height:min(74vh,700px);padding:0;gap:0;overflow:hidden}.property-form-fields{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-lg);overflow-y:auto;flex:1;min-height:0}.property-form-fields .form-row,.property-form-fields .form-group{gap:var(--spacing-xs)}.modal-content:has(>.form-content.property-form-content){overflow:hidden}.required{color:var(--color-danger)}.property-form-footer{flex-shrink:0;background-color:var(--color-bg)}.property-form-fields::-webkit-scrollbar{width:6px}.property-form-fields::-webkit-scrollbar-track{background:transparent}.property-form-fields::-webkit-scrollbar-thumb{background:var(--color-text-lighter);border-radius:3px}.property-form-fields::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}@media(max-width:768px){.form-content{padding:var(--spacing-lg)}.form-content.property-form-content{min-height:auto}.property-form-fields{padding:var(--spacing-lg)}}@media(max-width:480px){.form-content,.property-form-fields,.form-footer{padding:var(--spacing-md)}}.property-management{width:100%;max-width:100%;margin:0 auto;padding:8px;position:relative;display:flex;flex-direction:column;flex:1;min-height:0;box-sizing:border-box}.property-content{display:flex;gap:12px;flex:1;min-height:0}.property-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.property-header h1{margin:0;color:#333;font-size:28px}.header-subtitle{margin:4px 0 0;font-size:14px;color:#666}.access-denied{text-align:center;padding:60px 20px}.access-denied h2{color:#c33;margin-bottom:10px}.access-denied p{color:#666}.content-left{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.properties-table th.status-column,.properties-table td.status-column{min-width:100px;width:100px}.properties-table th:nth-child(3),.properties-table td:nth-child(3){min-width:115px;width:115px}.properties-table th:nth-child(4),.properties-table td:nth-child(4){min-width:115px;width:115px}.properties-table th.actions-column,.properties-table td.actions-column{min-width:110px;width:110px}.properties-table td.actions{display:flex;gap:4px;align-items:center;justify-content:flex-start;flex-wrap:nowrap}.properties-table th.status-column .table-filter-control{min-width:90px}@media(max-width:768px){.property-content{flex-direction:column}.property-management{padding:0}.property-header{flex-direction:column;align-items:flex-start;gap:15px;padding:16px}.property-header h1{font-size:22px}.btn-add-property{width:100%}}@media(max-width:480px){.access-denied{padding:32px 16px}.property-management,.property-header{padding:12px}}.menu-unavailable-container{width:100%;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px}.menu-unavailable-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:600px;width:100%;overflow:hidden}.menu-unavailable-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;text-align:center}.menu-unavailable-header h1{margin:0 0 8px;font-size:28px;font-weight:700}.menu-unavailable-header p{margin:0;font-size:14px;opacity:.9}.menu-unavailable-content{padding:30px}.menu-unavailable-content p{margin:0 0 14px;color:#555;line-height:1.5}.menu-unavailable-actions{margin-top:22px}.btn-back-dashboard{width:100%;padding:12px 20px;border:none;border-radius:8px;background:#e8e8e8;color:#333;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.btn-back-dashboard:hover{background:#d8d8d8}@media(max-width:768px){.menu-unavailable-container{padding:20px}.menu-unavailable-header{padding:24px}.menu-unavailable-header h1{font-size:24px}.menu-unavailable-content{padding:24px}}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-md)}img{max-width:100%;height:auto;display:block}table{width:100%;border-collapse:collapse}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}html{scroll-behavior:smooth}::selection{background-color:var(--color-secondary);color:#fff}::-moz-selection{background-color:var(--color-secondary);color:#fff}@media(max-width:479px){.container{padding:0 var(--spacing-sm)}}@media(min-width:480px)and (max-width:768px){.container{padding:0 var(--spacing-md)}}@media(min-width:768px)and (max-width:1024px){.container{padding:0 var(--spacing-md)}}@media(min-width:1024px){.container{padding:0 var(--spacing-lg)}}
