body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.welcome-container{align-items:center;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.welcome-content{max-width:500px;text-align:center;width:100%}.logo{margin-bottom:20px}.house-icon{display:block;height:auto;margin:0 auto;width:80px}.app-name{color:#333;font-size:48px;font-weight:600;margin:20px 0 10px}.tagline{color:#666;font-size:18px;margin-bottom:40px}.user-type-cards{margin-bottom:30px}.user-card,.user-type-cards{display:flex;flex-direction:column;gap:20px}.user-card{align-items:center;background:#fff;border:none;border-radius:16px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;padding:30px;transition:all .3s ease;width:100%}.user-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-4px)}.card-icon{align-items:center;display:flex;height:100px;justify-content:center;width:100%}.card-icon img{height:auto;max-height:100px;object-fit:contain;width:150px}.user-card h3{color:#333;font-size:24px;font-weight:500;margin:0;text-align:center}.footer{margin-top:30px}.footer-note{color:#999;font-size:14px;margin-bottom:10px}.privacy-link{color:#666;font-size:14px;text-decoration:underline}.privacy-link:hover{color:#333}.auth-container{align-items:center;background:#fff;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-content{max-width:400px;width:100%}.auth-logo{color:#000;font-size:36px;font-weight:600;margin-bottom:60px;text-align:center}.auth-form{width:100%}.auth-form h2{color:#000;font-size:28px;font-weight:600;margin-bottom:10px;text-align:center}.auth-subtitle{color:#666;font-size:15px;margin-bottom:30px;text-align:center}.auth-input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:16px;margin-bottom:16px;padding:16px;width:100%}.auth-input:focus{border-color:#000;outline:none}.continue-button{background:#000;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;margin-bottom:20px;padding:16px;width:100%}.continue-button:hover{background:#333}.back-button{color:#666;font-size:14px;margin-bottom:16px;padding:8px 0}.back-button:hover{color:#000}.divider{align-items:center;color:#999;display:flex;font-size:14px;margin:24px 0}.divider:after,.divider:before{border-bottom:1px solid #ddd;content:"";flex:1 1}.divider span{padding:0 16px}.social-button{align-items:center;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;justify-content:center;margin-bottom:12px;padding:14px;width:100%}.social-button:hover{background:#ebebeb}.social-icon{display:inline-block;height:20px;width:20px}.terms{color:#999;font-size:13px;line-height:1.5;margin-top:24px;text-align:center}.terms a{color:#000;text-decoration:underline}.back-arrow{background:none;border:none;color:#666;cursor:pointer;font-size:16px;margin-bottom:20px;padding:8px 0;text-align:left;width:100%}.back-arrow:hover{color:#000}.verification-input{font-size:24px;font-weight:600;letter-spacing:8px;text-align:center}.resend-button{background:none;border:none;color:#007aff;cursor:pointer;font-size:15px;margin-top:16px;padding:8px 0}.resend-button:hover{text-decoration:underline}.auth-subtitle strong{color:#000;font-weight:600}.phone-input-wrapper{border:1px solid #ddd;border-radius:8px;display:flex;margin-bottom:16px;overflow:hidden;transition:border-color .15s}.phone-input-wrapper:focus-within{border-color:#000}.phone-prefix-select{background:#f9f9f9;border:none;border-right:1px solid #ddd;color:#111;cursor:pointer;flex-shrink:0;font-size:15px;outline:none;padding:16px 10px}.phone-number-input{background:#fff;border:none;flex:1 1;font-size:16px;min-width:0;outline:none;padding:16px}.channel-option{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;gap:14px;margin-bottom:12px;padding:16px;text-align:left;transition:border-color .15s,box-shadow .15s;width:100%}.channel-option:hover:not(.channel-option-disabled){border-color:#000;box-shadow:0 2px 8px #00000014}.channel-option-disabled{cursor:default;opacity:.6}.channel-icon{align-items:center;background:#f5f5f5;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.channel-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.channel-label{color:#111;font-size:15px;font-weight:600}.channel-value{color:#666;font-size:13px}.auth-error{background:#fff0f0;border:1px solid #f5c6c6;border-radius:8px;color:#c0392b;font-size:14px;margin-bottom:12px;padding:10px 14px}.auth-switch{color:#666;font-size:14px;margin-top:16px;text-align:center}.auth-link-btn{background:none;border:none;color:#1a73e8;cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:underline}.auth-link-btn:hover{color:#1558b0}.dashboard-container{background:#f5f5f5;min-height:100vh;padding-bottom:60px}.dashboard-header{align-items:center;background:#fff;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.profile-button{background:none;border:none;cursor:pointer;padding:0;position:relative}.profile-menu{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;left:20px;min-width:200px;padding:16px;position:absolute;top:60px;z-index:1000}.profile-email{border-bottom:1px solid #eee;color:#666;font-size:14px;margin-bottom:12px;padding-bottom:12px}.logout-button{background:#f5f5f5;border:none;border-radius:8px;color:#d32f2f;cursor:pointer;font-size:15px;padding:10px;width:100%}.logout-button:hover{background:#ebebeb}.options-button{align-items:center;background:#fff;border:2px solid #e5e5e5;border-radius:12px;color:#333;cursor:pointer;display:flex;font-size:24px;height:44px;justify-content:center;position:relative;width:44px}.options-button:hover{background:#f5f5f5}.options-menu{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;min-width:200px;padding:8px;position:absolute;right:20px;top:60px;z-index:1000}.option-item{align-items:center;background:none;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:15px;gap:12px;padding:12px 16px;text-align:left;width:100%}.option-item:hover{background:#f5f5f5}.option-item span{font-size:18px}.add-button:hover{background:#f5f5f5}.properties-list{margin:0 auto;max-width:600px;padding:20px}.empty-state{padding:60px 20px;text-align:center}.empty-state p{color:#999;font-size:18px;margin-bottom:24px}.add-first-property{background:#000;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;padding:14px 28px}.add-first-property:hover{background:#333}.property-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:16px;padding:20px;transition:transform .2s,box-shadow .2s}.property-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.property-info{cursor:pointer;flex:1 1}.property-name{color:#000;font-size:18px;font-weight:600;margin:0 0 8px}.property-status{align-items:center;display:flex;gap:8px;margin-bottom:6px}.status-dot.vacacional{background:#2196f3}.status-text{color:#666;font-size:15px}.property-price{color:#333;font-size:16px;font-weight:600;margin:0}.property-arrow{background:none;border:none;cursor:pointer;padding:8px}.status-options-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.status-options-grid .status-option.full-width{grid-column:1/-1}.submit-button:disabled{background:#ccc;cursor:not-allowed}.delete-button{background:#fff;border:2px solid #d32f2f}.delete-button:hover{background:#d32f2f;color:#fff}.payment-range-inputs{align-items:flex-end;display:flex;gap:12px;margin-top:8px}.payment-day-input{flex:1 1}.payment-day-input label{color:#666;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.payment-day-input input{border:1px solid #ddd;border-radius:10px;box-sizing:border-box;font-size:16px;font-weight:600;padding:12px;text-align:center;width:100%}.payment-day-input input:focus{border-color:#000;outline:none}.range-separator{color:#999;font-size:20px;font-weight:300;padding-bottom:12px}.payment-range-note{background:#f5f5f5;border-radius:8px;color:#666;font-size:13px;line-height:1.4;margin-top:12px;padding:10px 12px}.room-prices-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.room-price-row{align-items:center;display:flex;gap:12px}.room-price-label{color:#555;font-size:14px;font-weight:500;min-width:110px}.room-price-row input{border:1px solid #ddd;border-radius:10px;box-sizing:border-box;flex:1 1;font-size:16px;font-weight:600;padding:12px 14px;text-align:right}.room-price-row input:focus{border-color:#000;outline:none}.room-price-currency{color:#666;font-size:15px;font-weight:500;min-width:14px}.room-price-total{align-items:center;background:#f0f0f0;border-radius:10px;color:#333;display:flex;font-size:15px;justify-content:space-between;margin-top:14px;padding:12px 14px}.room-price-total strong{color:#000;font-size:17px}.property-detail-container{background:#f5f5f5;min-height:100vh;padding-bottom:60px}.detail-header{align-items:center;background:#fff;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.back-button{background:none;border:none;color:#333;cursor:pointer;font-size:24px;padding:8px}.detail-title{flex:1 1;font-size:18px;font-weight:600;margin:0;text-align:center}.detail-options{background:none;border:none;color:#333;cursor:pointer;font-size:24px;padding:8px;position:relative}.profitability-section{background:#fff;margin-bottom:16px;padding:50px 20px;text-align:center}.gauge-chart{filter:drop-shadow(0 4px 12px rgba(0,0,0,.1));height:220px;margin:0 auto 20px;position:relative;width:360px}.gauge-center{left:50%;position:absolute;text-align:center;top:70%;transform:translate(-50%,-50%)}.income-label{color:#666;font-size:18px;margin-top:6px}.income-sublabel{color:#999;font-size:14px}.profitability-label{color:#666;font-size:15px;margin:0}.info-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;margin:0 20px 16px;padding:20px}.card-header{align-items:flex-start;display:flex;justify-content:space-between}.card-header h3{font-size:18px;font-weight:600;margin:0 0 12px}.card-icon{background:#f5f5f5;border:none;border-radius:10px;cursor:pointer;font-size:24px;height:40px;width:40px}.card-icon svg{display:block}.status-info{align-items:center;display:flex;font-size:16px;gap:8px;margin-bottom:8px}.status-dot{border-radius:50%;height:10px;width:10px}.status-dot.alquilado{background:#4caf50}.status-dot.vacio{background:#f44336}.status-dot.por_habitaciones{background:#ff9800}.rooms-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:16px}.room-card{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;padding:16px;transition:all .2s}.room-card:hover{background:#f5f5f5;border-color:#2196f3}.room-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.room-name{color:#333;font-size:16px;font-weight:600;margin:0}.room-status-dot{border-radius:50%;height:10px;width:10px}.room-status-dot.ocupada{background:#4caf50}.room-status-dot.vacia{background:#f44336}.room-price{color:#2196f3;font-size:18px;font-weight:700;margin:8px 0}.room-tenant{border-top:1px solid #e0e0e0;gap:8px;margin-top:12px;padding-top:12px}.tenant-icon-small{align-items:center;display:flex;justify-content:center}.room-tenant-name{color:#666;font-size:14px}.room-empty{border-top:1px solid #e0e0e0;color:#999;font-size:14px;margin:12px 0 0;padding-top:12px}.current-tenant-info{align-items:center;background:#f9f9f9;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px}.contract-date{color:#666;font-size:14px;margin:0}.clickable{cursor:pointer}.expenses-total{align-items:center;display:flex;font-size:18px;font-weight:600;gap:12px}.arrow{color:#999;font-size:16px}.expenses-detail{border-top:1px solid #eee;margin-top:16px;padding-top:16px}.no-expenses{color:#999;font-size:14px;margin:0;padding:20px 0;text-align:center}.expense-item{align-items:center;display:flex;font-size:15px;justify-content:space-between;padding:12px 0}.expense-item.total{border-top:2px solid #333;margin-top:8px;padding-top:16px}.expense-actions{align-items:center;display:flex;gap:16px}.delete-expense{align-items:center;background:none;border:none;color:#d32f2f;cursor:pointer;display:flex;font-size:24px;height:24px;justify-content:center;padding:0;width:24px}.delete-expense:hover{color:#b71c1c}.add-expense-button{background:#f5f5f5;border:none;border-radius:10px;color:#007aff;cursor:pointer;font-size:15px;font-weight:500;margin-top:12px;padding:12px;width:100%}.add-expense-button:hover{background:#ebebeb}.tenant-info{gap:12px;margin-top:12px}.tenant-icon,.tenant-info{align-items:center;display:flex}.tenant-icon{background:#f5f5f5;border-radius:50%;height:50px;justify-content:center;width:50px}.tenant-name{font-size:16px;font-weight:600;margin:0 0 4px}.tenant-phone{color:#666;font-size:14px;margin:0}.add-tenant-button{background:#007aff;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;margin-top:12px;padding:12px 20px}.add-tenant-button:hover{background:#0056b3}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.detail-options-menu{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;min-width:200px;padding:8px;position:absolute;right:20px;top:50px;z-index:1000}.detail-option-item{align-items:center;background:none;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:15px;gap:12px;padding:12px 16px;text-align:left;width:100%}.detail-option-item:hover{background:#f5f5f5}.detail-option-item.delete{color:#d32f2f}.detail-option-item.delete:hover{background:#ffebee}.form-group input{border:1px solid #ddd;border-radius:10px;box-sizing:border-box;font-size:16px;padding:14px;width:100%}.form-group input:focus{border-color:#000;outline:none}.status-options{display:flex;gap:12px}.status-option{align-items:center;background:#fff;border:2px solid #ddd;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:15px;gap:8px;padding:14px;transition:all .2s}.status-option:hover{border-color:#999}.status-option.selected{background:#f5f5f5;border-color:#000}.shared-options{display:flex;gap:12px;margin-top:8px}.shared-option{background:#fff;border:2px solid #ddd;border-radius:10px;cursor:pointer;flex:1 1;font-size:14px;padding:12px;transition:all .2s}.shared-option:hover{border-color:#999}.shared-option.selected{background:#f5f5f5;border-color:#000;font-weight:600}.frequency-options{display:flex;gap:12px;margin-bottom:16px}.frequency-option{background:#fff;border:2px solid #ddd;border-radius:10px;cursor:pointer;flex:1 1;font-size:15px;padding:12px;transition:all .2s}.frequency-option:hover{border-color:#999}.frequency-option.selected{background:#e3f2fd;border-color:#007aff;color:#007aff;font-weight:600}.monthly-equivalent{background:#f5f5f5;border-radius:8px;color:#666;font-size:13px;margin-top:8px;padding:8px 12px}.frequency-badge{border-radius:20px;display:inline-block;font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px;vertical-align:middle}.frequency-badge.unico{background:#f3e5f5;color:#7b1fa2}.frequency-badge.trimestral{background:#e3f2fd;color:#1565c0}.frequency-badge.anual{background:#e8f5e9;color:#2e7d32}.month-navigator{background:#fff;border-bottom:1px solid #f0f0f0;gap:24px;padding:14px 20px}.month-nav-btn,.month-navigator{align-items:center;display:flex;justify-content:center}.month-nav-btn{background:none;border:none;border-radius:50%;color:#333;cursor:pointer;font-size:28px;height:36px;line-height:1;transition:background .15s;width:36px}.month-nav-btn:hover:not(:disabled){background:#f0f0f0}.month-nav-btn:disabled{color:#ccc;cursor:default}.month-label{color:#333;font-size:16px;font-weight:600;min-width:160px;text-align:center}.net-income{color:#333;font-size:28px;font-weight:700}.net-income.future{color:#ccc;font-size:36px}.history-detail{border-top:1px solid #eee;margin-top:16px;padding-top:16px}.history-table-header{border-bottom:1px solid #eee;color:#999;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;padding:8px 0;text-transform:uppercase}.history-row,.history-table-header{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr 1fr}.history-row{border-bottom:1px solid #f5f5f5;border-radius:8px;cursor:pointer;font-size:14px;padding:12px 0;transition:background .15s}.history-row:hover{background:#f9f9f9;padding-left:8px;padding-right:8px}.history-month{font-weight:500}.history-status{color:#666;font-size:13px}.history-income{color:#4caf50;font-weight:500}.history-expenses{color:#f44336;font-weight:500}.history-net.positive{color:#4caf50;font-weight:700}.history-net.negative{color:#f44336;font-weight:700}.history-accumulated{align-items:center;border-top:2px solid #333;color:#333;display:flex;font-size:15px;font-weight:600;justify-content:space-between;margin-top:8px;padding:16px 0 4px}.history-accumulated .positive{color:#4caf50}.history-accumulated .negative{color:#f44336}.export-buttons{gap:12px;margin-bottom:20px}.export-btn{background:#fff;border:1px solid #ddd;font-weight:500;padding:12px;transition:all .2s}.export-btn:hover{background:#f5f5f5;border-color:#999}.export-btn.excel{color:#1d6f42}.export-btn.pdf{color:#d32f2f}.payment-card .card-header{align-items:center}.payment-status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px}.payment-status-badge.green{background:#e8f5e9;color:#2e7d32}.payment-status-badge.orange{background:#fff3e0;color:#e65100}.payment-status-badge.red{background:#ffebee;color:#c62828}.payment-status-badge.gray{background:#f5f5f5;color:#666}.payment-content{margin-top:16px}.payment-notification{align-items:flex-start;background:#fff3e0;border-radius:12px;display:flex;gap:12px;margin-bottom:16px;padding:16px}.tenant-avatar{align-items:center;background:#fff;border-radius:50%;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.payment-message{color:#333;flex:1 1;font-size:14px;line-height:1.5;margin:0;padding-top:4px}.payment-message strong{font-weight:600}.payment-info-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.payment-info-item,.payment-info-single{align-items:flex-start;background:#f9f9f9;border-radius:10px;display:flex;gap:10px;padding:12px}.payment-info-single{margin-bottom:16px}.payment-info-item svg,.payment-info-single svg{flex-shrink:0;margin-top:2px}.info-label{color:#999;font-size:12px;font-weight:500;margin:0 0 4px}.info-value{color:#333;font-size:14px;font-weight:600;margin:0}.payment-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.payment-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s}.payment-btn.confirm{background:#4caf50;color:#fff}.payment-btn.confirm:hover{background:#45a049}.payment-btn.reject{background:#f5f5f5;border:1px solid #ffcdd2;color:#d32f2f}.payment-btn.reject:hover{background:#ffebee}.payment-history-btn{align-items:center;background:#f5f5f5;border:none;border-radius:10px;color:#007aff;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;justify-content:center;padding:12px;transition:all .2s;width:100%}.payment-history-btn:hover{background:#ebebeb}.payment-actions-row{display:flex;flex-direction:column;gap:12px}.payment-btn.full-width{width:100%}.tenants-payment-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:16px}.tenant-payment-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:12px;padding:16px}.tenant-payment-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.tenant-payment-info{flex:1 1}.tenant-payment-name{color:#333;font-size:14px;font-weight:600;margin:0}.tenant-payment-amount{color:#666;font-size:13px;margin:4px 0 0}.payment-status-badge.small{font-size:11px;padding:4px 8px}.tenant-payment-actions{align-items:center;display:flex;gap:8px}.payment-btn.small{flex:1 1;font-size:12px;padding:8px 12px}.payment-confirmed-text{color:#4caf50;flex:1 1;font-size:12px;margin:0}.payment-cancel-link{background:none;border:none;color:#c62828;cursor:pointer;font-size:12px;text-decoration:underline}.payment-cancel-link:hover{color:#b71c1c}.tenants-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.tenant-item{align-items:center;background:#f9f9f9;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:background .2s}.tenant-item:hover{background:#f0f0f0}.tenant-item-info{flex:1 1}.tenant-amount{color:#4caf50;font-weight:600;margin:0}.tenant-amount-small{color:#4caf50;font-size:13px;font-weight:500;margin:4px 0 0}.tenant-info-detail{align-items:center;display:flex;gap:12px;padding:12px 0}.tenant-code-btn{background:#f0f0f0;border:none;border-radius:8px;color:#555;cursor:pointer;font-size:12px;font-weight:600;margin-right:4px;padding:6px 12px;transition:background .2s;white-space:nowrap}.tenant-code-btn:hover{background:#e0e0e0}.tenant-chat-icon{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background .2s}.tenant-chat-icon:hover{background:#e0e0e0}.tenant-chat-icon svg{display:block}.payment-cancel-btn{align-items:center;background:#ffebee;border:1px solid #ffcdd2;border-radius:10px;color:#c62828;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;margin-top:12px;padding:10px;transition:all .2s;width:100%}.payment-cancel-btn:hover{background:#ffcdd2}.payment-confirmed-info{align-items:center;background:#e8f5e9;border-radius:12px;display:flex;gap:16px;margin-bottom:16px;padding:16px}.payment-confirmed-info svg{flex-shrink:0}.confirmed-title{color:#2e7d32;font-size:15px;font-weight:600;margin:0 0 4px}.confirmed-date{color:#558b2f;font-size:13px;margin:0}.payment-history-container{background:#f5f5f5;min-height:100vh;padding-bottom:60px}.payment-history-list{padding:20px}.no-payments{padding:60px 20px;text-align:center}.no-payments p{color:#999;font-size:15px;margin:0}.payment-history-item{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;margin-bottom:16px;padding:20px}.payment-month{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.payment-month h3{color:#333;font-size:18px;font-weight:600;margin:0}.payment-details{display:flex;flex-direction:column;gap:8px}.payment-detail-row{align-items:center;display:flex;font-size:14px;justify-content:space-between}.detail-label{color:#999;font-weight:500}.payment-detail-row span:last-child{color:#333;font-weight:500}.modal-buttons{display:flex;flex-direction:column;gap:12px}.delete-button{background:#ffebee;border:none;border-radius:12px;color:#d32f2f;cursor:pointer;font-size:16px;font-weight:600;padding:16px;width:100%}.delete-button:hover{background:#ffcdd2}.room-tenant{align-items:center;border-top:none;display:flex;gap:6px;margin-top:10px;min-height:20px;padding-top:0}.room-empty{color:#aaa;font-size:12px;margin:0}.documents-container{background:#f5f5f5;min-height:100vh;padding-bottom:60px}.documents-header{align-items:center;background:#fff;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.documents-title{flex:1 1;font-size:18px;font-weight:600;margin:0;text-align:center}.add-document-button{align-items:center;background:#fff;border:2px solid #e5e5e5;border-radius:12px;color:#333;cursor:pointer;display:flex;font-size:28px;height:44px;justify-content:center;width:44px}.add-document-button:hover{background:#f5f5f5}.documents-list{margin:0 auto;max-width:600px;padding:20px}.empty-documents{padding:80px 20px;text-align:center}.empty-documents svg{margin:0 auto 20px}.empty-documents p{color:#999;font-size:18px;margin-bottom:24px}.add-first-document{background:#000;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;padding:14px 28px}.add-first-document:hover{background:#333}.document-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;margin-bottom:16px;padding:20px;transition:transform .2s,box-shadow .2s}.document-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.document-icon{flex-shrink:0}.document-info{flex:1 1}.document-name{color:#000;font-size:16px;font-weight:600;margin:0 0 4px}.document-description{color:#666;font-size:14px;margin:0}.delete-document{align-items:center;background:none;border:none;color:#d32f2f;cursor:pointer;display:flex;flex-shrink:0;font-size:32px;height:32px;justify-content:center;padding:0;width:32px}.delete-document:hover{color:#b71c1c}.document-actions{align-items:center;display:flex;flex-shrink:0;gap:4px}.share-document-btn{align-items:center;background:none;border:none;border-radius:8px;color:#bbb;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:color .2s,background .2s}.share-document-btn:hover{background:#f0f0f0;color:#555}.share-document-btn.shared{color:#4caf50}.share-document-btn.shared:hover{color:#388e3c}.docs-section-label{color:#999;font-size:12px;margin:20px 0 8px;padding:0 4px}.document-card.tenant-doc{background:#f9f9f9;border-left:3px solid #e0e0e0}.document-room-tag{background:#f0f0f0;border-radius:4px;color:#888;display:inline-block;font-size:11px;margin-top:4px;padding:2px 6px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.modal-content{background:#fff;border-radius:20px;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.modal-header h2{font-size:24px;margin:0}.modal-close{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;width:32px}.modal-close:hover{color:#333}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:15px;font-weight:500;margin-bottom:8px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:16px;padding:14px;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#000;outline:none}.form-group textarea{resize:vertical}.submit-button{background:#000;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:16px;width:100%}.submit-button:hover{background:#333}.file-upload-area{border:2px dashed #ddd;border-radius:12px;cursor:pointer;padding:20px;transition:border-color .2s}.file-upload-area:hover{border-color:#007aff}.file-upload-placeholder{align-items:center;color:#999;display:flex;flex-direction:column;gap:8px;text-align:center}.file-upload-placeholder p{color:#555;font-size:15px;margin:0}.file-upload-placeholder span{color:#999;font-size:12px}.file-selected{align-items:center;display:flex;gap:12px}.file-selected-icon{font-size:32px}.file-selected-name{color:#333;font-size:14px;font-weight:600;margin:0}.file-selected-size{color:#999;font-size:12px;margin:0}.file-remove{background:none;border:none;color:#999;cursor:pointer;font-size:22px;margin-left:auto}.document-emoji{font-size:32px}.document-icon-wrapper{align-items:center;display:flex;height:50px;justify-content:center;width:50px}.document-meta{display:flex;gap:8px;margin-top:2px}.document-filename{color:#999;font-size:11px}.document-size{color:#bbb;font-size:11px}.export-buttons{display:flex;gap:10px;margin-bottom:16px}.export-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px;transition:opacity .2s}.export-btn:hover{opacity:.85}.export-btn.excel{background:#e8f5e9;color:#2e7d32}.export-btn.pdf{background:#ffebee;color:#c62828}.profile-overlay{inset:0;position:fixed;z-index:999}.profile-panel{background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000024,0 2px 8px #00000014;left:12px;min-width:260px;padding:6px 0;position:absolute;top:60px;z-index:1000}.profile-panel-header{align-items:center;display:flex;gap:12px;padding:16px 18px 14px}.profile-avatar{align-items:center;background:#111;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:44px;justify-content:center;letter-spacing:.5px;width:44px}.profile-panel-info{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-panel-name{color:#111;font-size:14px;font-weight:600}.profile-panel-email,.profile-panel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-panel-email{color:#888;font-size:12px}.profile-panel-phone{color:#aaa;font-size:12px}.profile-panel-divider{background:#f0f0f0;height:1px;margin:4px 0}.profile-panel-item{align-items:center;background:none;border:none;color:#222;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 18px;text-align:left;transition:background .12s;width:100%}.profile-panel-item:hover{background:#f7f7f7}.profile-panel-item-danger{color:#d32f2f}.profile-panel-item-disabled{cursor:default}.profile-panel-item-disabled:hover{background:none}.profile-panel-badge{background:#f0f0f0;border-radius:20px;color:#aaa;font-size:10px;font-weight:500;margin-left:auto;padding:2px 8px}.profile-edit-form{display:flex;flex-direction:column;gap:6px;padding:8px 18px 14px}.profile-edit-label{color:#aaa;font-size:11px;font-weight:600;letter-spacing:.5px;margin-top:6px;text-transform:uppercase}.profile-edit-input{border:1px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;padding:10px 12px;transition:border-color .15s}.profile-edit-input:focus{border-color:#111}.profile-edit-actions{display:flex;gap:8px;margin-top:10px}.profile-edit-cancel{background:none;border:1px solid #e0e0e0;border-radius:8px;color:#666;font-weight:500}.profile-edit-cancel,.profile-edit-save{cursor:pointer;flex:1 1;font-size:13px;padding:10px}.profile-edit-save{background:#111;border:none;border-radius:8px;color:#fff;font-weight:600}.code-entry-container{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh;padding:20px}.code-back-btn{align-self:flex-start;background:none;border:none;color:#333;cursor:pointer;font-size:24px;padding:4px 8px}.code-entry-content{flex:1 1;flex-direction:column;margin:0 auto;max-width:400px;text-align:center;width:100%}.code-entry-content,.code-entry-icon{align-items:center;display:flex;justify-content:center}.code-entry-icon{background:#fff;border-radius:20px;box-shadow:0 2px 8px #0000001a;height:96px;margin-bottom:28px;width:96px}.code-entry-title{color:#333;font-size:28px;font-weight:600;margin:0 0 12px}.code-entry-subtitle{color:#888;font-size:15px;line-height:1.5;margin:0 0 36px}.code-entry-form{display:flex;flex-direction:column;gap:12px;width:100%}.code-input{background:#fff;border:2px solid #e0e0e0;border-radius:16px;box-sizing:border-box;color:#333;font-size:28px;font-weight:700;letter-spacing:8px;outline:none;padding:18px;text-align:center;transition:border-color .2s;width:100%}.code-input:focus{border-color:#333}.code-input.error{border-color:#f44336}.code-error{color:#f44336;font-size:13px;margin:0}.code-submit-btn{background:#333;border:none;border-radius:14px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:4px;padding:16px;transition:background .2s;width:100%}.code-submit-btn:hover:not(:disabled){background:#111}.code-submit-btn:disabled{background:#ccc;cursor:not-allowed}.inquilino-home{background:#f5f5f5;min-height:100vh;padding-bottom:100px}.inquilino-header{align-items:flex-start;background:#fff;box-shadow:0 1px 3px #00000014;display:flex;justify-content:space-between;padding:20px 20px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.inquilino-greeting{color:#111;font-size:26px;font-weight:700;margin:0 0 2px}.inquilino-subheading{color:#888;font-size:14px;margin:0}.inquilino-profile-btn{background:none;border:none;cursor:pointer;padding:0}.inquilino-cards{display:flex;flex-direction:column;gap:14px;padding:20px 16px}.inquilino-empty{color:#aaa;font-size:15px;line-height:1.6;padding:60px 20px;text-align:center}.rental-card{background:#fff;border:none;border-radius:16px;box-shadow:0 2px 8px #00000012;cursor:pointer;display:flex;flex-direction:column;gap:14px;padding:20px;text-align:left;transition:box-shadow .2s;width:100%}.rental-card:hover{box-shadow:0 4px 16px #0000001f}.rental-card-main{display:flex;flex-direction:column;gap:6px}.rental-address{align-items:center;color:#333;display:flex;font-size:15px;font-weight:600;gap:8px}.rental-price{color:#111;font-size:22px;font-weight:700;margin:0}.rental-card-footer{align-items:center;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-top:12px}.payment-badge{padding:4px 10px}.payment-badge.expired{background:#f5f5f5;color:#aaa}.rental-card-expired{background:#fff;border:none;border-radius:16px;box-shadow:0 2px 8px #0000000a;cursor:default;opacity:.65;padding:20px}.add-rental-btn{align-items:center;background:#333;border:none;border-radius:28px;bottom:24px;box-shadow:0 4px 16px #0003;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;left:50%;padding:14px 28px;position:fixed;transform:translateX(-50%);transition:background .2s;white-space:nowrap}.add-rental-btn:hover{background:#111}.inquilino-detail{background:#f5f5f5;min-height:100vh}.inquilino-detail-header{align-items:center;background:#fff;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.inquilino-detail-body{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:600px;padding:20px 16px}.inquilino-rent-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000012;padding:28px 20px;text-align:center}.inquilino-rent-amount{color:#111;font-size:52px;font-weight:700;line-height:1;margin:0}.inquilino-rent-label{color:#888;font-size:16px;margin:6px 0 16px}.inquilino-payment-status{display:flex;justify-content:center}.payment-badge{border-radius:20px;font-size:13px;font-weight:500;padding:6px 14px}.payment-badge.paid{background:#e8f5e9;color:#388e3c}.payment-badge.sent{background:#fff8e1;color:#f57f17}.payment-badge.pending{background:#ffebee;color:#c62828}.inquilino-action-btn{border:none;border-radius:14px;cursor:pointer;font-size:16px;font-weight:600;padding:16px;transition:background .2s,opacity .2s;width:100%}.inquilino-action-btn.primary{background:#333;color:#fff}.inquilino-action-btn.primary:hover:not(:disabled){background:#111}.inquilino-action-btn.primary.disabled,.inquilino-action-btn.primary:disabled{background:#aaa;cursor:not-allowed}.inquilino-action-btn.secondary{background:#fff;box-shadow:0 2px 8px #00000012;color:#333}.inquilino-action-btn.secondary:hover{background:#f5f5f5}.inquilino-history{background:#fff;border-radius:14px;box-shadow:0 2px 8px #00000012;padding:4px 16px}.history-empty{color:#aaa;font-size:14px;padding:16px 0;text-align:center}.history-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:8px;justify-content:space-between;padding:14px 0}.history-row:last-child{border-bottom:none}.history-month{color:#333;flex:1 1;font-size:14px}.history-status{border-radius:10px;font-size:12px;font-weight:500;padding:3px 8px}.history-status.paid{background:#e8f5e9;color:#388e3c}.history-status.sent{background:#fff8e1;color:#f57f17}.history-amount{color:#111;font-size:14px;font-weight:600;min-width:60px;text-align:right}.inquilino-actions-row{display:flex;gap:12px}.inquilino-action-box{align-items:center;background:#fff;border:none;border-radius:14px;box-shadow:0 2px 8px #00000012;color:#333;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:13px;font-weight:500;gap:10px;line-height:1.3;padding:20px 12px;text-align:center;transition:background .2s}.inquilino-action-box:hover{background:#f9f9f9}.incident-box{display:flex;flex-direction:column;gap:10px}.incident-textarea{border:2px solid #e0e0e0;border-radius:12px;box-sizing:border-box;font-family:inherit;font-size:14px;outline:none;padding:14px;resize:none;transition:border-color .2s;width:100%}.incident-textarea:focus{border-color:#333}.inquilino-docs-card{align-items:center;background:#fff;border:none;border-radius:14px;box-shadow:0 2px 8px #00000012;cursor:pointer;display:flex;justify-content:space-between;padding:20px;transition:background .2s;width:100%}.inquilino-docs-card:hover{background:#f9f9f9}.docs-label{color:#333;font-size:16px;font-weight:600}.docs-count{background:#333;border-radius:10px;color:#fff;font-size:12px;font-weight:600;padding:2px 7px}.inquilino-docs-section{background:#fff;border-radius:14px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 2px 8px #00000012;display:flex;flex-direction:column;gap:4px;margin-top:-8px;padding:16px}.docs-section-label{color:#aaa;font-size:11px;font-weight:600;letter-spacing:.5px;margin:10px 0 6px;text-transform:uppercase}.docs-empty{color:#bbb;font-size:13px;padding:4px 0}.inquilino-doc-row{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:12px;padding:10px 0}.inquilino-doc-row:last-of-type{border-bottom:none}.doc-emoji{flex-shrink:0;font-size:24px}.doc-info{flex:1 1;min-width:0}.doc-name{color:#333;font-size:14px;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-meta{color:#aaa;font-size:12px;margin:2px 0 0}.doc-shared-badge{background:#e8f5e9;border-radius:10px;color:#388e3c;flex-shrink:0;font-size:11px;padding:3px 8px;white-space:nowrap}.inquilino-add-doc-btn{background:none;border:1px dashed #ccc;border-radius:10px;color:#666;cursor:pointer;font-size:14px;margin-top:8px;padding:12px;transition:background .2s;width:100%}.inquilino-add-doc-btn:hover{background:#f9f9f9}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}
/*# sourceMappingURL=main.110ccaa3.css.map*/