:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary-color: #d98a7d;--primary-dark: #c47a6d;--primary-light: #e9a99e;--secondary-color: #7d7f8b;--dark-bg: #3c3d44;--dark-color: #3c3d44;--success-color: #10b981;--error-color: #ef4444;--warning-color: #f59e0b;--info-color: #3b82f6;--text-primary: #1f2937;--text-secondary: #6b7280;--text-light: #f3f4f6;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 16px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}#root{width:100%;min-height:100vh}body{font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2,#d98a7d);background-attachment:fixed;min-height:100vh;color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:#1e202cf2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-light);padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-lg);border-bottom:1px solid rgba(255,255,255,.1)}.header-left,.header-right{display:flex;align-items:center;gap:1rem}.menu-btn{background:none;border:none;color:var(--text-light);font-size:1.5rem;cursor:pointer;padding:.25rem;display:none}.logo-link{text-decoration:none;color:inherit}.logo-text{font-size:1.25rem;font-weight:700;color:var(--text-light)}.user-info{font-size:.875rem;opacity:.9}.lang-btn,.logout-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:var(--text-light);padding:.5rem 1rem;border-radius:var(--border-radius-sm);cursor:pointer;font-size:.875rem;font-weight:500;transition:all var(--transition-normal)}.lang-btn:hover,.logout-btn:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.impersonate-badge{background:var(--warning-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:var(--border-radius-sm);border:none;cursor:pointer;font-size:.875rem;font-weight:500}.main-container{display:flex;flex:1}.sidebar{width:260px;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-md);padding:1.25rem 0;flex-shrink:0;border-right:1px solid rgba(0,0,0,.05)}.sidebar-overlay{display:none}.nav{display:flex;flex-direction:column}.nav-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.5rem;margin:.25rem .75rem;color:var(--text-secondary);text-decoration:none;transition:all var(--transition-normal);border-radius:var(--border-radius-sm);font-weight:500}.nav-item:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translate(4px)}.nav-item.active{background:linear-gradient(135deg,#d98a7d26,#d98a7d14);color:var(--primary-dark);box-shadow:inset 3px 0 0 var(--primary-color)}.nav-icon{font-size:1.25rem}.nav-label{font-size:.9rem;font-weight:500}.content{flex:1;padding:1.5rem;width:100%}.content>*{width:100%}.companies-page,.users-page,.buildings-page,.rentals-page,.payments-page,.bills-page,.my-rentals-page,.my-payments-page{width:100%}.page-title{font-size:1.75rem;font-weight:600;margin-bottom:1.5rem;color:var(--text-light)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.card{background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);overflow:hidden;transition:all var(--transition-normal);border:1px solid rgba(0,0,0,.04);width:100%}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary)}.card-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.card-body{padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;gap:.5rem;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#ffffff26,#fff0);opacity:0;transition:opacity var(--transition-fast)}.btn:hover:before{opacity:1}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;box-shadow:0 2px 8px #d98a7d59}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #d98a7d73}.btn-secondary{background:linear-gradient(135deg,var(--secondary-color),#6b6d78);color:#fff;box-shadow:0 2px 8px #7d7f8b4d}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #7d7f8b66}.btn-success{background:linear-gradient(135deg,var(--success-color),#059669);color:#fff;box-shadow:0 2px 8px #10b98159}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b98173}.btn-danger{background:linear-gradient(135deg,var(--error-color),#dc2626);color:#fff;box-shadow:0 2px 8px #ef444459}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ef444473}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b59}.btn-warning:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b73}.btn-info{background:linear-gradient(135deg,var(--info-color),#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f659}.btn-info:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3b82f673}.btn-small{padding:.4rem .875rem;font-size:.8rem;font-weight:500}.btn-full-width{width:100%}.table-wrapper{overflow-x:auto;border-radius:var(--border-radius-sm);width:100%}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--border-color)}.table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:#00000005}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:var(--bg-secondary)}.table-actions{display:flex;gap:.5rem;flex-wrap:wrap}.actions-cell{white-space:nowrap}.form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:.9rem;font-family:inherit;transition:all var(--transition-normal);background:var(--bg-primary);color:var(--text-primary)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#d1d5db}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #d98a7d26}.form-group textarea{resize:vertical;min-height:80px}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.cabys-search-container,.cabys-search-wrapper{position:relative}.cabys-loading{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.cabys-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:1000}.cabys-option{padding:.75rem;cursor:pointer;border-bottom:1px solid var(--border-color)}.cabys-option:last-child{border-bottom:none}.cabys-option:hover{background:var(--bg-light)}.cabys-option.selected{background:var(--primary-color);color:#fff}.cabys-code{font-family:monospace;font-size:.8rem;color:var(--primary-color);margin-bottom:.25rem}.cabys-option.selected .cabys-code{color:#fff}.cabys-desc{font-size:.85rem;line-height:1.3}.cabys-tax{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.cabys-option.selected .cabys-tax{color:#fffc}.cabys-selected{margin-top:.5rem;padding:.5rem;background:var(--success-light);border-radius:var(--border-radius-sm);font-size:.85rem;color:var(--success-color)}.filters{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.875rem;color:var(--text-secondary)}.filter-group select{padding:.5rem;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:.875rem}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.35rem .875rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize;letter-spacing:.02em}.status-success{background:linear-gradient(135deg,#10b9811f,#10b98114);color:#059669;border:1px solid rgba(16,185,129,.2)}.status-warning{background:linear-gradient(135deg,#f59e0b1f,#f59e0b14);color:#d97706;border:1px solid rgba(245,158,11,.2)}.status-danger{background:linear-gradient(135deg,#ef44441f,#ef444414);color:#dc2626;border:1px solid rgba(239,68,68,.2)}.status-info{background:linear-gradient(135deg,#3b82f61f,#3b82f614);color:#2563eb;border:1px solid rgba(59,130,246,.2)}.status-default{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn var(--transition-fast) ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content{background:var(--bg-primary);border-radius:var(--border-radius-lg);width:100%;max-height:90vh;overflow-y:auto;overflow-x:visible;box-shadow:var(--shadow-xl);animation:slideUp var(--transition-normal) ease-out}.modal-content input[type=date]{position:relative;cursor:pointer}.modal-content input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;position:absolute;inset:0;width:auto;height:auto;color:transparent;background:transparent}.modal-small{max-width:400px}.modal-medium{max-width:600px}.modal-large{max-width:800px}.modal-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.25rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-container{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--border-radius-lg);padding:2.5rem;width:100%;max-width:420px;box-shadow:var(--shadow-xl);border:1px solid rgba(255,255,255,.2);animation:slideUp var(--transition-slow) ease-out}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:1.875rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color),#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;letter-spacing:-.02em}.auth-header p{color:var(--text-secondary)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form .btn{width:100%;margin-top:.5rem}.register-note{background:#3b82f61a;color:var(--info-color);padding:.75rem 1rem;border-radius:var(--border-radius-sm);font-size:.85rem;text-align:center;border:1px solid rgba(59,130,246,.2)}.invitation-info{background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:var(--border-radius-sm);padding:1rem;margin-bottom:1rem}.invitation-info p{margin:.25rem 0;font-size:.9rem;color:var(--text-primary)}.invitation-info strong{color:var(--success-color)}.auth-footer{margin-top:1.5rem;text-align:center}.auth-footer p{color:var(--text-secondary);font-size:.9rem}.auth-footer a{color:var(--primary-color);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.lang-btn-small{background:var(--bg-secondary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--border-radius-sm);cursor:pointer;font-size:.8rem;margin-top:1rem;color:var(--text-secondary);transition:all var(--transition-normal)}.lang-btn-small:hover{background:var(--border-color);color:var(--text-primary)}.error-message{background:#ea43351a;color:var(--error-color);padding:.75rem 1rem;border-radius:var(--border-radius-sm);font-size:.875rem}.dashboard{display:flex;flex-direction:column;gap:1.5rem;width:100%}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;width:100%}.stat-card{cursor:pointer;transition:all var(--transition-normal);border:none}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-card .card-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.75rem 1.5rem;background:linear-gradient(135deg,#fff,#f9fafb)}.stat-icon{font-size:2.75rem;margin-bottom:.75rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.stat-value{font-size:2.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.stat-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-top:.25rem}.stat-warning .stat-value{color:var(--warning-color)}.upcoming-payments .payments-list{display:flex;flex-direction:column;gap:.75rem}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:var(--border-radius-sm)}.payment-info{display:flex;flex-direction:column}.payment-amount{font-weight:600;color:var(--text-primary)}.payment-due{font-size:.8rem;color:var(--text-secondary)}.payment-status{padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.payment-status.status-danger{background:#ea43351a;color:var(--error-color)}.payment-status.status-warning{background:#fbbc041a;color:#b8860b}.quick-actions h2{font-size:1.1rem;color:var(--text-light);margin-bottom:1rem}.actions-grid{display:flex;gap:1rem;flex-wrap:wrap}.action-btn{background:var(--bg-primary);border:none;padding:1rem 1.5rem;border-radius:var(--border-radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-primary);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.action-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.rental-card{margin-bottom:1rem}.rental-header{display:flex;justify-content:space-between;align-items:flex-start;cursor:pointer}.rental-info h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:.25rem}.rental-type,.rental-company{font-size:.85rem;color:var(--text-secondary)}.rental-status{display:flex;align-items:center;gap:.5rem}.expand-icon{font-size:.75rem;color:var(--text-secondary)}.rental-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.summary-item{display:flex;flex-direction:column}.summary-item .label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.summary-item .value{font-weight:600;color:var(--text-primary)}.rental-details{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.detail-section{margin-bottom:1rem}.detail-section h4{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.payments-table table{width:100%;font-size:.85rem}.payments-table th,.payments-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border-color)}.more-payments{text-align:center;color:var(--text-secondary);font-size:.85rem;margin-top:.5rem}.pending-summary{margin-bottom:1.5rem}.pending-summary .card-body{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff}.summary-content{text-align:center}.summary-label{font-size:.875rem;opacity:.9}.summary-value{font-size:2rem;font-weight:700;margin:.5rem 0}.summary-count{font-size:.875rem;opacity:.8}.payments-list{display:flex;flex-direction:column;gap:1rem}.payment-card{background:var(--bg-secondary);border-radius:var(--border-radius-sm);padding:1rem;border-left:4px solid var(--success-color)}.payment-card.pending{border-left-color:var(--warning-color)}.payment-card.late{border-left-color:var(--error-color)}.payment-main{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.payment-property{font-weight:600}.payment-period{font-size:.85rem;color:var(--text-secondary)}.payment-amount{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.payment-details{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.payment-dates{display:flex;flex-direction:column;gap:.25rem;color:var(--text-secondary)}.payment-reference{margin-top:.5rem;font-size:.8rem;color:var(--text-secondary)}.payment-summary p{margin-bottom:.5rem}.loading,.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--text-light);font-size:1rem;gap:1rem}.loading:before,.loading-screen:before{content:"";width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.no-data{text-align:center;padding:3rem 2rem;color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--border-radius)}@media(max-width:768px){.menu-btn{display:block}.sidebar{position:fixed;top:90px;left:-280px;width:260px;height:calc(100vh - 90px);z-index:99;transition:left .3s}.main-container{width:100%}.sidebar.open{left:0}.sidebar-overlay{display:block;position:fixed;inset:90px 0 0;background:#0009;z-index:98}.content{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.page-title{font-size:1.5rem}.header-right{gap:.5rem}.user-info{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.table-actions{flex-direction:column}.btn-small{width:100%;justify-content:center}.modal-content{margin:.5rem;max-height:calc(100vh - 1rem)}.rental-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.stats-grid,.rental-summary{grid-template-columns:1fr}.auth-container{padding:1.5rem}}.invitations-card{margin-bottom:1rem}.invitations-list{display:flex;flex-direction:column;gap:.75rem}.invitation-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.invitation-details{display:flex;flex-direction:column;gap:.25rem}.invitation-details strong{color:var(--text-primary)}.invitation-details span{font-size:.85rem;color:var(--text-secondary)}.invitation-expires{font-size:.75rem!important;color:var(--warning-color)!important}.invite-note{background:#3b82f61a;color:var(--info-color);padding:.75rem 1rem;border-radius:var(--border-radius-sm);font-size:.85rem;text-align:center;border:1px solid rgba(59,130,246,.2);margin:.5rem 0}.existing-user-notice{display:flex;gap:.75rem;padding:1rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--border-radius-md);margin:.5rem 0}.existing-user-notice .notice-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--success-color);color:#fff;border-radius:50%;font-weight:700;font-size:.85rem;flex-shrink:0}.existing-user-notice .notice-content{flex:1}.existing-user-notice .notice-content strong{display:block;color:var(--success-color);margin-bottom:.25rem}.existing-user-notice .notice-content p{color:var(--text-secondary);font-size:.85rem;margin:0 0 .75rem}.existing-user-notice .notice-content .btn{margin-top:.5rem}.input-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.success-message{background:#10b9811a;color:var(--success-color);padding:.75rem 1rem;border-radius:var(--border-radius-sm);font-size:.875rem;border:1px solid rgba(16,185,129,.2)}.header-actions{display:flex;gap:.5rem}.documents-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.documents-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.documents-upload{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.documents-upload input[type=file]{font-size:.875rem;padding:.5rem;border:1px dashed var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-secondary);cursor:pointer;flex:1}.documents-upload input[type=file]:hover{border-color:var(--primary-color);background:#d98a7d0d}.uploading-indicator{color:var(--info-color);font-size:.875rem;font-style:italic}.documents-list{display:flex;flex-direction:column;gap:.5rem}.document-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.document-info{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.document-name{color:var(--primary-color);text-decoration:none;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.document-name:hover{text-decoration:underline;color:var(--primary-dark)}.document-size{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.no-documents{color:var(--text-secondary);font-size:.875rem;font-style:italic;text-align:center;padding:1rem}.building-payments-card{margin-bottom:1rem}.building-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.5rem 0;-webkit-user-select:none;user-select:none}.building-header:hover{opacity:.8}.building-info{display:flex;align-items:center;gap:.75rem}.building-info h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.building-info .expand-icon{color:var(--text-secondary);font-size:.75rem}.building-info .building-type{font-size:.8rem;color:var(--text-secondary);background:var(--bg-secondary);padding:.2rem .5rem;border-radius:4px}.building-summary{display:flex;align-items:center;gap:1rem}.building-summary .pending-badge{background:#ef44441a;color:var(--error-color);font-size:.8rem;font-weight:500;padding:.25rem .75rem;border-radius:12px}.building-summary .payment-count{font-size:.85rem;color:var(--text-secondary)}.building-summary .total-pending{font-weight:600;color:var(--warning-color)}.building-payments{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.pagination-info{color:var(--text-secondary);font-size:.875rem}.pagination button:disabled{opacity:.5;cursor:not-allowed}.filter-actions{display:flex;gap:.5rem}.filters{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.rental-detail-page{max-width:1200px;margin:0 auto}.rental-detail-page .page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.rental-detail-page .page-title{flex:1;margin:0}.rental-info-card .rental-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.rental-info-grid .info-item{display:flex;flex-direction:column;gap:.25rem}.rental-info-grid .info-item.full-width{grid-column:1 / -1}.rental-info-grid .info-item label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.rental-info-grid .info-item span{font-size:.95rem;font-weight:500;color:var(--text-primary)}.payments-section-card,.bills-section-card,.documents-section-card{margin-top:1.5rem}.payments-list,.bills-list{display:flex;flex-direction:column;gap:.75rem}.payment-item,.bill-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-secondary);border-radius:var(--border-radius-sm);border-left:4px solid var(--border-color)}.payment-item.pending,.bill-item.pending{border-left-color:var(--warning-color)}.payment-item.completed,.bill-item.paid{border-left-color:var(--success-color)}.payment-item.late,.bill-item.overdue{border-left-color:var(--error-color)}.payment-item.overdue{border-left-color:var(--error-color);background:#ef44441a}.payment-item.overdue .payment-period,.payment-item.overdue .payment-due{color:var(--error-color);font-weight:600}.payment-info,.bill-info{display:flex;flex-direction:column;gap:.25rem}.payment-period,.bill-type{font-weight:600;color:var(--text-primary)}.payment-details,.bill-details{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--text-secondary)}.payment-amount,.bill-amount{font-weight:600;color:var(--primary-color)}.payment-status-actions,.bill-status-actions{display:flex;align-items:center;gap:.5rem}.documents-section-card .documents-upload{margin-bottom:1rem}.rental-actions{padding:1rem 0;border-top:1px solid var(--border-color);margin-top:.5rem}.payment-summary{background:var(--bg-secondary);padding:1rem;border-radius:var(--border-radius-sm);margin-bottom:1rem}.payment-summary p{margin:.25rem 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.form-row{grid-template-columns:1fr}.payment-item,.bill-item{flex-direction:column;align-items:flex-start;gap:.75rem}.payment-status-actions,.bill-status-actions{width:100%;flex-wrap:wrap}}.rent-history-card{margin-bottom:1rem}.rent-history-list{display:flex;flex-direction:column;gap:1rem}.rent-history-item{display:flex;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.rent-history-date{font-weight:600;color:var(--text-secondary);min-width:100px}.rent-history-details{flex:1}.rent-change{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rent-change .previous-rent{color:var(--text-secondary);text-decoration:line-through}.rent-change .arrow{color:var(--text-secondary)}.rent-change .new-rent{font-weight:600;color:var(--text-primary)}.rent-change .percentage{font-size:.875rem;padding:.125rem .5rem;border-radius:var(--border-radius-sm)}.rent-change .percentage.positive{background:#10b9811a;color:var(--success-color)}.rent-change .percentage.negative{background:#ef44441a;color:var(--danger-color)}.contract-extension{font-size:.875rem;color:var(--text-secondary);margin-top:.5rem}.rent-history-notes{font-size:.875rem;color:var(--text-secondary);margin-top:.5rem;font-style:italic}.form-section{margin-bottom:1.5rem}.form-section h3{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.info-row{display:flex;justify-content:space-between;padding:.5rem 0}.info-row .info-label{color:var(--text-secondary)}.info-row .info-value{font-weight:500}.input-with-addon{display:flex;align-items:center;gap:0}.input-with-addon input{border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;border-left:none}.input-with-addon .addon,.input-with-addon .addon-left{background:var(--bg-secondary);border:1px solid var(--border-color);padding:.625rem .75rem;color:var(--text-secondary);font-weight:500}.input-with-addon .addon{border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;border-left:none}.input-with-addon .addon-left{border-radius:var(--border-radius-sm) 0 0 var(--border-radius-sm);border-right:none}.input-with-addon .addon-left+input{border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;border-left:none}.quick-percentages{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.text-success{color:var(--success-color)}.text-danger{color:var(--danger-color)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.notification-bell{position:relative}.notification-bell-btn{background:none;border:none;color:var(--text-light);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;position:relative;transition:color .2s}.notification-bell-btn:hover{color:#fff}.notification-badge{position:absolute;top:0;right:0;background:var(--danger-color);color:#fff;font-size:.65rem;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.notification-dropdown{position:absolute;top:100%;right:0;width:320px;max-height:400px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden;margin-top:.5rem}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.notification-header h3{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary)}.mark-all-read{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.75rem;padding:0}.mark-all-read:hover{text-decoration:underline}.notification-list{max-height:340px;overflow-y:auto}.notification-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.notification-item{display:flex;align-items:flex-start;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s;gap:.75rem}.notification-item:hover{background:var(--bg-secondary)}.notification-item.unread{background:#4f46e50d}.notification-item:last-child{border-bottom:none}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;font-size:.8rem;margin-bottom:.25rem;color:var(--text-primary)}.notification-message{font-size:.75rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-time{font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-color);flex-shrink:0;margin-top:.25rem}@media(max-width:480px){.notification-dropdown{position:fixed;top:60px;right:.5rem;left:.5rem;width:auto}}@media(max-width:768px){.table-wrapper{overflow-x:visible}.table{display:block}.table thead{display:none}.table tbody{display:flex;flex-direction:column;gap:.75rem}.table tbody tr{display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:var(--border-radius-sm);padding:.75rem;border:1px solid var(--border-color);gap:.5rem}.table tbody tr:hover{background:var(--bg-secondary)}.table td{display:flex;flex-direction:column;padding:0;border-bottom:none;gap:.125rem}.table td:last-child{padding-top:.5rem;border-top:1px solid var(--border-color);margin-top:.25rem}.table td:before{content:attr(data-label);font-weight:600;font-size:.65rem;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.03em}.table td>*{word-break:break-word}.table-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.actions-cell{white-space:normal}.actions-cell:before{display:none}.content{padding:.75rem}.header{padding:.5rem .75rem}.header-left h1{font-size:.85rem}.header-right{gap:.25rem}.header-right .btn{padding:.35rem .5rem;font-size:.7rem}.page-header{gap:.75rem;margin-bottom:1rem}.page-title{font-size:1.25rem;margin-bottom:0}.header-actions{width:100%;display:flex;flex-wrap:wrap;gap:.5rem}.header-actions .btn{flex:1;min-width:100px;justify-content:center}.card{padding:.75rem;border-radius:var(--border-radius-sm)}.card-header{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem}.card-body{padding:.75rem}.card-title{font-size:1rem}.table tbody tr{padding:.625rem;margin:0 -.125rem}.stats-grid{grid-template-columns:1fr!important;gap:.75rem}.stat-card{padding:1rem}.rental-info-grid{grid-template-columns:1fr!important}.invitation-item{flex-direction:column;gap:.75rem;align-items:flex-start}.invitation-details{width:100%}.payment-item,.bill-item{padding:.75rem}.payment-status-actions,.bill-status-actions{gap:.5rem}.payment-status-actions .btn,.bill-status-actions .btn{flex:1;min-width:auto;padding:.4rem .6rem;font-size:.75rem}.collapsible-header{font-size:1rem}.pagination{flex-wrap:wrap;gap:.5rem}.pagination .btn{flex:1;min-width:80px}.pagination-info{width:100%;text-align:center;order:-1}.modal-content{margin:0;border-radius:0;max-height:100vh;height:100vh}.modal-content.large{width:100%;max-width:100%}.document-item{flex-direction:column;align-items:flex-start;gap:.5rem}.documents-upload input[type=file]{width:100%;font-size:.875rem}.rent-history-item{flex-direction:column}.rent-history-date{min-width:auto}.rental-detail-page .page-header{flex-direction:row;align-items:center;gap:.5rem;flex-wrap:nowrap}.rental-detail-page .page-header .btn.btn-secondary{background:#fffffff2!important;border:none!important;color:var(--primary-color)!important;box-shadow:0 2px 6px #00000026!important;font-weight:600;padding:.4rem .6rem!important;font-size:.8rem!important;flex-shrink:0}.rental-detail-page .page-header .page-title{font-size:1.1rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.rental-detail-page .page-header .status-badge{flex-shrink:0}.status-badge{font-size:.7rem;padding:.3rem .75rem}.status-success{background:#10b981f2;color:#fff;border:1px solid rgba(16,185,129,1)}.status-warning{background:#f59e0bf2;color:#fff;border:1px solid rgba(245,158,11,1)}.status-danger{background:#ef4444f2;color:#fff;border:1px solid rgba(239,68,68,1)}.status-info{background:#3b82f6f2;color:#fff;border:1px solid rgba(59,130,246,1)}.my-rentals-page .rental-header{flex-direction:column;align-items:flex-start;gap:.75rem}.my-rentals-page .rental-status{align-self:flex-start}.my-rentals-page .rental-summary{grid-template-columns:1fr!important}}@media(max-width:360px){.header-left h1{font-size:.8rem}.content{padding:.75rem}.page-title{font-size:1.25rem}.btn{padding:.5rem .75rem;font-size:.8rem}.btn-small{padding:.3rem .5rem;font-size:.7rem}}.settings-page .card{margin-bottom:1.5rem}.settings-page h2{margin-bottom:1rem;font-size:1.25rem;color:var(--text-primary)}.settings-page h3{margin:1.5rem 0 .75rem;font-size:1.1rem;color:var(--text-primary)}.settings-description{color:var(--text-secondary);margin-bottom:1.5rem}.company-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.company-info-grid .info-item{display:flex;flex-direction:column;gap:.25rem}.company-info-grid .info-item label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.company-info-grid .info-item span{font-size:1rem;color:var(--text-primary)}.settings-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.settings-form .checkbox-group{margin-bottom:1rem}.settings-form .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.settings-form .checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.settings-form .help-text{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem}.settings-form .section-help{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}.settings-section{padding:1rem;background:var(--bg-secondary);border-radius:var(--border-radius-sm);margin-top:1rem}.message{padding:.75rem 1rem;border-radius:var(--border-radius-sm);margin-bottom:1rem}.message.success{background:#10b9811a;color:var(--success-color);border:1px solid var(--success-color)}.message.error{background:#ef44441a;color:var(--error-color);border:1px solid var(--error-color)}.invoice-badge{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;cursor:help}@media(max-width:768px){.settings-form .form-row,.company-info-grid{grid-template-columns:1fr}}
