.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:420px;padding:40px;width:100%}.auth-header{margin-bottom:32px;text-align:center}.auth-header h1{color:#1a1a1a;font-size:32px;margin:0 0 8px}.auth-header h2{color:#333;font-size:24px;margin:0 0 8px}.auth-header p{color:#666;margin:0}.success-icon{font-size:48px;margin-bottom:16px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{gap:6px}.form-group label{color:#333;font-weight:600}.form-group input{border:2px solid #e0e0e0;font-size:16px;padding:12px 16px;transition:border-color .2s}.form-group input:focus{border-color:#667eea}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:transform .2s,box-shadow .2s}.auth-button:hover:not(:disabled){box-shadow:0 8px 16px #667eea66;transform:translateY(-2px)}.auth-button:disabled{cursor:not-allowed;opacity:.7}.auth-error{background:#fee;border-radius:8px;color:#c33;font-size:14px;padding:12px 16px;text-align:center}.auth-message{color:#666;line-height:1.6;margin-bottom:24px;text-align:center}.auth-footer{border-top:1px solid #e0e0e0;margin-top:24px;padding-top:24px;text-align:center}.auth-footer p{color:#666;font-size:14px;margin:8px 0}.auth-footer a,.auth-link{color:#667eea;font-weight:600;text-decoration:none}.auth-footer a:hover,.auth-link:hover{text-decoration:underline}.auth-loading{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.navbar{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;height:64px;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-brand{flex-shrink:0}.navbar-logo{align-items:center;color:#1a1a1a;display:flex;gap:8px;text-decoration:none}.logo-icon{font-size:28px}.logo-text{color:#333;font-size:20px;font-weight:700}.navbar-nav{display:flex;gap:8px;margin:0 24px}.nav-link{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:8px;color:#666;cursor:pointer;display:flex;font-weight:500;gap:6px;padding:8px 16px;position:relative;text-decoration:none;touch-action:manipulation;transition:all .2s;z-index:1}.nav-icon{display:none}.nav-link:hover{background:#f5f5f5;color:#667eea}.nav-link.active{background:#f0f0ff;color:#667eea}.nav-link.touch-active{background:#e0e0e0;transform:scale(.95)}@media (max-width:768px){.navbar{height:56px;padding:0 16px}.logo-text{font-size:16px}.navbar-nav{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 10px #0000000d;justify-content:space-around;left:0;margin:0;padding:8px 0 calc(8px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;z-index:1000}.nav-link,.navbar-nav{align-items:center;display:flex}.nav-link{-webkit-tap-highlight-color:rgba(79,70,229,.1);border-radius:8px;flex:1 1;flex-direction:column;font-size:11px;gap:4px;justify-content:center;min-height:44px;padding:4px 8px}.nav-icon{display:block;font-size:22px;line-height:1}.nav-label{font-size:10px;font-weight:500}body{padding-bottom:70px}}.navbar-right{flex-shrink:0}.user-menu{position:relative}.user-button{-webkit-tap-highlight-color:transparent;align-items:center;background:#f5f5f5;border:none;border-radius:24px;cursor:pointer;display:flex;gap:8px;padding:6px 12px;transition:background .2s}.user-button:hover{background:#e0e0e0}.user-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.user-name{color:#333;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:#666;font-size:10px;margin-left:4px}.user-dropdown{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;margin-top:8px;min-width:240px;padding:8px 0;position:absolute;right:0;top:100%;z-index:1000}.dropdown-header{padding:12px 16px}.dropdown-name{color:#333;font-weight:600;margin:0}.dropdown-email{color:#666;font-size:13px;margin:4px 0 0;word-break:break-all}.dropdown-company{color:#999;font-size:12px;margin:4px 0 0}.dropdown-divider{background:#e0e0e0;height:1px;margin:8px 0}.dropdown-item{align-items:center;background:#0000;border:none;color:#333;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.dropdown-item:hover{background:#f5f5f5}.dropdown-item.logout{color:#c33}.dropdown-item.logout:hover{background:#fee}@media (max-width:768px){.navbar{padding:0 16px}.logo-text{font-size:16px}.user-name{display:none}}.document-upload-container{background:#f9fafb;border-radius:8px;margin-top:16px;padding:16px}.document-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.document-header h4{color:#111827;font-size:16px;margin:0}.upload-actions{display:flex;gap:8px}.map-folder-btn,.picker-btn,.upload-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.map-folder-btn{background:#4f46e5;color:#fff}.map-folder-btn:hover{background:#4338ca}.upload-btn{background:#10b981;color:#fff;display:inline-block}.upload-btn:hover{background:#059669}.picker-btn{background:#3b82f6;color:#fff}.picker-btn:hover{background:#2563eb}.picker-btn:disabled{cursor:not-allowed;opacity:.5}.folder-info{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:8px;margin-bottom:16px;padding:12px}.folder-icon{font-size:20px}.folder-name{color:#374151;flex:1 1}.open-folder-link{color:#4f46e5;font-size:14px;text-decoration:none}.open-folder-link:hover{text-decoration:underline}.document-list{display:flex;flex-direction:column;gap:8px}.no-documents{color:#6b7280;padding:32px;text-align:center}.no-docs-icon{display:block;font-size:32px;margin-bottom:8px}.no-docs-hint{color:#9ca3af;font-size:14px}.document-item{background:#fff;border-radius:6px;padding:12px}.document-item:hover{box-shadow:0 2px 4px #0000000d}.document-icon{font-size:24px;text-align:center;width:40px}.document-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.document-name{color:#111827;font-weight:500;word-break:break-word}.document-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.doc-category{padding:2px 6px}.doc-tenant{color:#059669}.document-actions{display:flex;gap:8px}.view-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;color:#4f46e5;font-size:13px;padding:6px 12px}.view-btn:hover{background:#e0e7ff;border-color:#4f46e5}.modal-content h3{margin-top:0}.modal-content p{color:#6b7280;margin-bottom:20px}.connect-btn{background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;padding:10px 20px}.connect-btn:hover{background:#4338ca}.cancel-btn{background:#f3f4f6;border:none;border-radius:6px;color:#6b7280;cursor:pointer;flex:1 1;font-size:14px;padding:10px 20px}.cancel-btn:hover{background:#e5e7eb}.upload-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.upload-spinner{background:#fff;border-radius:8px;font-size:18px;font-weight:500;padding:24px 48px}@media (max-width:640px){.document-header{align-items:flex-start;flex-direction:column;gap:12px}.upload-actions{flex-direction:column;width:100%}.map-folder-btn,.picker-btn,.upload-btn{text-align:center;width:100%}.document-item{align-items:flex-start;flex-direction:column}.document-actions{width:100%}.view-btn{flex:1 1;text-align:center}}.map-folder-trigger-btn{background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.map-folder-trigger-btn:hover{background:#4338ca}.folder-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1000}.folder-modal-content{background:#fff;border-radius:8px;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.folder-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.folder-modal-header h3{color:#111827;margin:0}.close-btn{align-items:center;display:flex;height:32px;justify-content:center;padding:0;width:32px}.close-btn:hover{color:#111827}.folder-modal-body{padding:20px}.current-folder{margin-bottom:24px}.add-folder-section h4,.current-folder h4,.mapped-folders h4{color:#374151;font-size:14px;font-weight:600;letter-spacing:.05em;margin:0 0 12px;text-transform:uppercase}.folder-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:12px;padding:12px}.folder-card.default{background:#eef2ff;border-color:#4f46e5}.folder-icon{font-size:24px}.folder-details{display:flex;flex:1 1;flex-direction:column;gap:4px}.folder-name{color:#111827;font-weight:500}.open-link{color:#4f46e5;font-size:13px;text-decoration:none}.open-link:hover{text-decoration:underline}.mapped-folders{margin-bottom:24px}.mapped-folders h4{margin-top:24px}.folder-actions{display:flex;gap:8px}.remove-btn,.set-default-btn{border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 12px}.set-default-btn{background:#e0e7ff;color:#4f46e5}.set-default-btn:hover{background:#c7d2fe}.remove-btn{background:#fee2e2;color:#dc2626}.remove-btn:hover{background:#fecaca}.add-folder-section{border-top:1px solid #e5e7eb;padding-top:24px}.form-group label{font-size:14px}.form-group input{border-radius:6px;font-size:14px}.help-text{color:#6b7280;display:block;font-size:12px;margin-top:4px}.add-folder-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px;width:100%}.add-folder-btn:hover:not(:disabled){background:#059669}.add-folder-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:640px){.folder-modal-content{border-radius:0;max-height:100vh}.folder-card{align-items:flex-start;flex-direction:column}.folder-actions{margin-top:8px;width:100%}.remove-btn,.set-default-btn{flex:1 1}}.modal-content{box-shadow:0 4px 20px #00000026}.modal-header{padding:20px}.modal-header h2{color:#111827;font-size:1.25rem;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:24px;padding:4px 8px}.close-btn:hover{background:#f3f4f6;color:#374151}.modal-content form{padding:20px}.form-section{margin-bottom:24px}.form-section h3{border-bottom:2px solid #6366f1;color:#374151;font-size:1rem;margin:0 0 16px;padding-bottom:8px}.form-row{grid-gap:16px;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.875rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.form-group.checkbox{align-items:center;flex-direction:row;gap:8px}.form-group.checkbox label{margin:0}.form-group.checkbox input{accent-color:#6366f1;height:18px;width:18px}.error-message{background:#fef2f2;border-radius:8px;color:#dc2626;margin-bottom:16px;padding:12px}.modal-actions{border-top:1px solid #e5e7eb;padding-top:16px}.btn-secondary{border:1px solid #d1d5db;font-size:1rem;padding:10px 20px}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-primary{background:#6366f1;font-size:1rem;padding:10px 20px}.btn-primary:hover{background:#4f46e5}.btn-primary:disabled{background:#a5b4fc}@media (max-width:640px){.form-row{grid-template-columns:1fr}.modal-content{margin:10px;max-height:calc(100vh - 20px)}.modal-header h2{font-size:1.125rem}}@media (prefers-color-scheme:dark){.modal-content{background:#1f2937}.modal-header{border-bottom-color:#374151}.modal-header h2{color:#f9fafb}.form-section h3{border-bottom-color:#818cf8;color:#e5e7eb}.form-group label{color:#e5e7eb}.form-group input,.form-group select,.form-group textarea{background:#374151;border-color:#4b5563;color:#f9fafb}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.btn-secondary{background:#374151;border-color:#4b5563;color:#e5e7eb}.btn-secondary:hover{background:#4b5563}.modal-actions{border-top-color:#374151}}.expense-modal .form-group small.hint{color:#f59e0b;display:block;font-size:.75rem;margin-top:4px}.expense-modal select option{font-size:1rem;padding:8px}.expense-list{display:flex;flex-direction:column;gap:12px}.expense-item{align-items:center;background:#f9fafb;border-left:4px solid #6366f1;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.expense-item.recurring{border-left-color:#10b981}.expense-item.one-off{border-left-color:#f59e0b}.expense-info{flex:1 1}.expense-category{color:#374151;font-size:.875rem;font-weight:600}.expense-description{color:#6b7280;font-size:.875rem;margin-top:2px}.expense-meta{color:#9ca3af;display:flex;font-size:.75rem;gap:12px;margin-top:4px}.expense-amount{text-align:right}.expense-amount .amount{color:#dc2626;font-size:1.125rem;font-weight:600}.expense-amount .frequency{color:#9ca3af;font-size:.75rem}.expense-summary{background:#f3f4f6;border-radius:12px;margin-bottom:20px;padding:16px}.expense-summary h4{color:#374151;font-size:1rem;margin:0 0 12px}.summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.summary-item{background:#fff;border-radius:8px;padding:12px;text-align:center}.summary-item .label{color:#6b7280;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.summary-item .value{color:#374151;font-size:1.25rem;font-weight:600;margin-top:4px}.summary-item.negative .value{color:#dc2626}.summary-item.positive .value{color:#10b981}.profit-loss-card{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:12px;color:#fff;margin-bottom:20px;padding:20px}.profit-loss-card.profit{background:linear-gradient(135deg,#10b981,#059669)}.profit-loss-card.loss{background:linear-gradient(135deg,#ef4444,#dc2626)}.profit-loss-card h3{font-size:.875rem;margin:0 0 8px;opacity:.9}.profit-loss-card .amount{font-size:2rem;font-weight:700}.profit-loss-card .breakdown{border-top:1px solid #fff3;font-size:.875rem;margin-top:12px;opacity:.9;padding-top:12px}.edit-expense-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:.75rem;margin-top:8px;padding:4px 12px;transition:all .2s}.edit-expense-btn:hover{background:#e5e7eb;border-color:#9ca3af}.expense-amount{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.sa-booking-modal{max-height:90vh;max-width:550px;overflow-y:auto}.sa-booking-modal .form-section{border-bottom:1px solid #e5e7eb;margin-bottom:20px;padding-bottom:16px}.sa-booking-modal .form-section:last-child{border-bottom:none}.sa-booking-modal .form-section h3{color:#111827;font-size:15px;font-weight:600;margin-bottom:14px}.platform-selector{margin-bottom:16px}.platform-selector label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.platform-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.platform-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:13px;padding:10px 8px;text-align:center;transition:all .2s ease}.platform-btn:hover{box-shadow:0 2px 4px #0000000d;transform:translateY(-1px)}.platform-btn.selected{background:#eef2ff;font-weight:600}.pm-summary{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #a7f3d0;border-radius:12px;padding:16px}.pm-summary h3{color:#065f46;font-size:14px;margin:0 0 12px}.pm-calc{display:flex;flex-direction:column;gap:8px}.pm-row{border-bottom:1px dashed #d1fae5;display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.pm-row:last-child{border-bottom:none}.pm-row.total{border-bottom:2px solid #d1fae5;border-top:2px solid #d1fae5;color:#dc2626;font-weight:600;margin-top:8px;padding-bottom:8px;padding-top:8px}.pm-row.net{color:#059669;font-size:15px;font-weight:700;margin-top:4px}.pm-summary .hint{color:#059669;display:block;font-style:italic;margin-top:12px}.form-group.checkbox label{align-items:center;cursor:pointer;display:flex;gap:8px}.form-group.checkbox input[type=checkbox]{accent-color:#4f46e5;height:18px;width:18px}@media (max-width:500px){.platform-buttons{grid-template-columns:repeat(2,1fr)}.sa-booking-modal .form-row{flex-direction:column;gap:12px}}.property-detail-container{margin:0 auto;max-width:1200px;padding:24px}.property-header{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;color:#fff;margin-bottom:24px;padding:32px}.property-header h1{font-size:2rem;font-weight:600;margin:0 0 8px}.property-address{font-size:1.1rem;margin:0;opacity:.9}.property-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:20px;font-size:.85rem;padding:6px 12px}.badge.hmo{background:#f59e0b4d}.badge.type{background:#10b9814d}.property-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:all .2s}.stat-card.clickable{-webkit-tap-highlight-color:transparent;cursor:pointer;touch-action:manipulation}.stat-card.clickable:hover{border-color:#4f46e5;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-card.clickable:active{transform:scale(.98)}.card-action{color:#4f46e5;display:block;font-size:.8rem;font-weight:500;margin-top:8px}.stat-card h4{color:#6b7280;font-size:.875rem;letter-spacing:.05em;margin:0 0 8px;text-transform:uppercase}.stat-value{color:#111827;font-size:1.75rem;font-weight:600}.property-content-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}@media (max-width:968px){.property-content-grid{grid-template-columns:1fr}}.section-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.section-card h3{align-items:center;color:#111827;display:flex;font-size:1.25rem;gap:8px;margin:0 0 20px}.tenancy-list{display:flex;flex-direction:column;gap:16px}.tenancy-card{background:#f9fafb;border-left:4px solid #4f46e5;border-radius:8px;padding:16px}.tenancy-card.active{border-left-color:#10b981}.tenancy-card.void{border-left-color:#9ca3af}.tenancy-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.tenancy-title{color:#111827;font-weight:600}.tenancy-status{border-radius:4px;font-size:.75rem;font-weight:500;padding:4px 8px}.tenancy-status.active{background:#d1fae5;color:#065f46}.tenancy-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:12px}.tenancy-detail{display:flex;flex-direction:column}.tenancy-detail-label{color:#6b7280;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.tenancy-detail-value{color:#111827;font-size:1rem;font-weight:600}.tenancy-detail-value.amount{color:#10b981}.tenant-list{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px}.tenant-item{-webkit-tap-highlight-color:rgba(79,70,229,.1);align-items:center;background:#fff;border-radius:6px;color:#111827;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px;touch-action:manipulation;transition:all .2s;user-select:none;-webkit-user-select:none}.tenant-item:hover{background:#f3f4f6}.tenant-item:active{background:#e5e7eb;transform:scale(.98)}.tenant-item.clickable .tenant-action{color:#4f46e5;font-weight:500}.tenant-name{color:#111827}.tenant-info{cursor:pointer;display:flex;flex:1 1;flex-direction:column}.edit-tenant-btn{-webkit-tap-highlight-color:transparent;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#4f46e5;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:all .2s}.edit-tenant-btn:hover{background:#e0e7ff;border-color:#4f46e5}.modal-overlay{padding:16px}.modal-content{border-radius:12px;max-width:400px;padding:24px}.modal-content h3{color:#111827;margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{color:#374151;margin-bottom:6px}.form-group input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:10px 12px;width:100%}.form-group input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.modal-actions{gap:12px;margin-top:24px}.btn-primary{background:#4f46e5;border-radius:8px;cursor:pointer;flex:1 1;font-weight:500;padding:10px 16px;transition:background .2s}.btn-primary:hover{background:#4338ca}.btn-primary:disabled{opacity:.6}.btn-secondary{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-weight:500;padding:10px 16px;transition:all .2s}.btn-secondary:hover{background:#e5e7eb}.tenant-name{align-items:center;display:flex;gap:8px}.tenant-badge{background:#dbeafe;border-radius:4px;color:#1e40af;font-size:.65rem;font-weight:600;padding:2px 6px}.tenant-contact{color:#6b7280;font-size:.875rem}.compliance-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.compliance-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.compliance-card.valid{border-left:4px solid #10b981}.compliance-card.expiring{border-left:4px solid #f59e0b}.compliance-card.expired{border-left:4px solid #ef4444}.compliance-status-badge{border-radius:4px;font-size:.75rem;font-weight:500;padding:2px 8px}.compliance-status-badge.valid{background:#d1fae5;color:#065f46}.compliance-status-badge.expiring{background:#fef3c7}.compliance-status-badge.expired{background:#fee2e2;color:#991b1b}.compliance-dates{color:#6b7280;font-size:.875rem}.compliance-dates strong{color:#374151}.empty-state{padding:40px}.empty-state-icon{font-size:3rem;margin-bottom:16px}.loading-spinner{align-items:center;display:flex;justify-content:center;min-height:400px}.error-container{padding:40px;text-align:center}.error-container h2{color:#ef4444}.upcoming-payments{margin-top:8px}.payment-summary{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:8px;margin-bottom:16px;padding:16px;text-align:center}.total-label{color:#065f46;display:block;font-size:.875rem;margin-bottom:4px}.total-amount{color:#059669;font-size:2rem;font-weight:700}.payment-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.payment-item{align-items:center;background:#f9fafb;border-left:3px solid #10b981;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.payment-info{display:flex;flex-direction:column;gap:4px}.payment-tenant{color:#111827;font-weight:600}.payment-room{background:#e5e7eb;border-radius:4px;color:#6b7280;display:inline-block;font-size:.75rem;padding:2px 8px}.payment-amount{text-align:right}.payment-amount .amount{color:#059669;display:block;font-size:1.1rem;font-weight:600}.payment-amount .due-date{color:#6b7280;font-size:.75rem}.back-link{color:#4f46e5;display:inline-block;font-weight:500;margin-top:24px;text-decoration:none}.back-link:hover{text-decoration:underline}.documents-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.documents-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.documents-header h3{color:#111827;font-size:1.25rem;margin:0}.drive-status{gap:12px}.drive-connected,.drive-status{align-items:center;display:flex}.drive-connected{background:#ecfdf5;border-radius:20px;color:#059669;font-size:.9rem;gap:8px;padding:8px 16px}.disconnect-btn{background:#0000;border:1px solid #10b981;border-radius:4px;color:#059669;cursor:pointer;font-size:.75rem;padding:4px 12px;transition:all .2s}.disconnect-btn:hover{background:#10b981;color:#fff}.connect-drive-btn{align-items:center;background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 20px;transition:all .2s}.connect-drive-btn:hover{background:#4338ca}.document-tabs{border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding-bottom:12px}.tab{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.95rem;padding:10px 20px;position:relative;transition:all .2s}.tab:hover{background:#f3f4f6;color:#374151}.tab.active{background:#e0e7ff;color:#4f46e5;font-weight:600}.document-category{animation:fadeIn .3s ease}.category-header{margin-bottom:20px}.category-header h4{color:#111827;font-size:1.1rem;margin:0 0 4px}.category-desc{color:#6b7280;font-size:.9rem;margin:0}.document-subcategories{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px}.subcategory{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:20px}.subcategory h5{color:#111827;font-size:.95rem;margin:0 0 4px}.subcategory p{color:#6b7280;font-size:.85rem;margin:0 0 12px}.documents-list{display:flex;flex-direction:column;gap:12px}.documents-list h5{border-bottom:1px solid #e5e7eb;color:#374151;font-size:1rem;margin:0 0 12px;padding-bottom:8px}.document-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:12px 16px;transition:all .2s}.document-item:hover{background:#fafaf9;border-color:#4f46e5}.doc-icon{font-size:1.5rem;text-align:center;width:40px}.doc-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.doc-name{color:#111827;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-category{background:#e0e7ff;border-radius:4px;color:#4f46e5;font-size:.7rem;font-weight:600;padding:2px 8px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.doc-date{color:#9ca3af;font-size:.8rem}.view-btn{background:#4f46e5;border-radius:6px;color:#fff;font-size:.85rem;font-weight:500;padding:6px 16px;text-decoration:none;transition:all .2s}.view-btn:hover{background:#4338ca}.empty-documents{padding:48px;text-align:center}.upload-prompt{align-items:center;display:flex;flex-direction:column;gap:16px}.upload-prompt p{color:#6b7280;margin:0}.upload-prompt .hint{color:#9ca3af;font-size:.9rem}.tenancy-docs-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:16px;padding:20px}.tenancy-docs-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.tenancy-docs-header h5{color:#111827;font-size:1rem;margin:0}.tenancy-status-badge{background:#10b981;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.compliance-card{background:#fffbeb;border:2px solid #fbbf24;border-radius:10px;margin-bottom:16px;padding:16px}.compliance-card.valid{background:#f0fdf4;border-color:#22c55e}.compliance-card.expiring{background:#fffbeb;border-color:#fbbf24}.compliance-card.expired{background:#fef2f2;border-color:#ef4444}.compliance-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.compliance-type{color:#111827;font-size:1rem;font-weight:600}.compliance-status-badge{border-radius:12px;font-size:.7rem;font-weight:600;padding:4px 10px}.compliance-status-badge.valid{background:#22c55e;color:#fff}.compliance-status-badge.expiring{background:#fbbf24;color:#92400e}.compliance-status-badge.expired{background:#ef4444;color:#fff}.rent-summary-cards{grid-gap:16px;gap:16px;margin:16px 0 24px}.summary-card{flex-direction:column;gap:4px}.summary-card.income{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #10b981}.summary-card.outstanding{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.summary-card.income .summary-value{color:#059669}.summary-card.outstanding .summary-value{color:#d97706}.summary-label{color:#6b7280;font-size:.875rem;font-weight:500}.summary-value{font-size:2rem;font-weight:700}.summary-hint{color:#9ca3af;font-size:.75rem}@media (max-width:640px){.rent-summary-cards{grid-template-columns:1fr}}.tenant-list-container{margin:0 auto;max-width:1400px;padding:24px}.tenant-list-header{border-bottom:2px solid #e5e7eb;margin-bottom:24px;padding-bottom:16px}.tenant-list-header h2{color:#111827;font-size:1.75rem;margin:0}.tenant-count{color:#6b7280;font-size:1rem}.search-container{margin-bottom:24px}.search-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;max-width:500px;padding:12px 40px 12px 16px}.search-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.search-clear{color:#9ca3af;right:12px}.search-clear:hover{color:#374151}.tenant-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.tenant-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;padding:20px;transition:transform .2s,box-shadow .2s}.tenant-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.tenant-card-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.tenant-card-header h3{color:#111827;font-size:1.25rem;margin:0}.status-badge{border-radius:12px;padding:4px 10px}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.no-tenancy{background:#e5e7eb;color:#6b7280}.tenant-contact-info{margin-bottom:16px}.contact-item{align-items:center;color:#4b5563;display:flex;font-size:.95rem;gap:8px;margin:8px 0}.contact-item .icon{font-size:1rem}.tenant-property-info{background:#f9fafb;border-radius:8px;margin-top:16px;padding:16px}.info-row{align-items:center;display:flex;justify-content:space-between;margin:8px 0}.info-row .label{color:#6b7280;font-size:.875rem}.info-row .value{color:#111827;font-weight:500}.info-row .value.amount{color:#059669;font-size:1.1rem;font-weight:600}.empty-state p{font-size:1.1rem}.modal-overlay{padding:20px}.modal-content{border-radius:16px;box-shadow:0 20px 25px -5px #0000001a;max-width:600px}.modal-header{border-bottom:1px solid #e5e7eb;padding:20px 24px}.modal-header h3{color:#111827;font-size:1.5rem}.modal-close{border-radius:6px;color:#9ca3af}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:24px}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h4{color:#374151;font-size:.875rem;letter-spacing:.05em;margin:0 0 16px;text-transform:uppercase}.detail-grid{grid-gap:12px;display:grid;gap:12px}.detail-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.detail-item .label{color:#6b7280;font-size:.875rem}.detail-item .value{color:#111827;font-weight:500}.detail-item .value.highlight{color:#059669;font-weight:700}.notes{background:#fef3c7;border-radius:8px;color:#92400e;font-style:italic;padding:12px}@media (max-width:768px){.tenant-grid{grid-template-columns:1fr}.tenant-list-header{align-items:flex-start;flex-direction:column;gap:12px}}.rent-tracker-container{margin:0 auto;max-width:1400px;padding:24px}.rent-tracker-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.rent-tracker-header h2{color:#111827;font-size:1.75rem;margin:0}.month-selector{align-items:center;display:flex;gap:12px}.month-selector label{color:#6b7280;font-weight:500}.month-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:1rem;padding:10px 16px}.month-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.generate-payments-btn{-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;touch-action:manipulation;transition:all .2s}.generate-payments-btn:hover{box-shadow:0 4px 12px #4f46e54d;transform:translateY(-2px)}.generate-payments-btn:active{transform:scale(.98)}.generate-payments-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.generate-message{border-radius:8px;font-weight:500;margin-bottom:16px;padding:12px 16px;text-align:center}.generate-message.success{background:#d1fae5;color:#065f46}.generate-message.error{background:#fee2e2;color:#991b1b}.summary-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.summary-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:20px;transition:transform .2s}.summary-card:hover{transform:translateY(-2px)}.summary-card.received{border-left:4px solid #10b981}.summary-card.pending{border-left:4px solid #f59e0b}.summary-card.late{border-left:4px solid #ef4444}.summary-card.collection{border-left:4px solid #4f46e5}.summary-icon{align-items:center;background:#f9fafb;border-radius:12px;display:flex;font-size:2rem;height:48px;justify-content:center;width:48px}.summary-info{flex:1 1}.summary-info label{color:#6b7280;display:block;font-size:.875rem;margin-bottom:4px}.summary-info .stat-value{color:#111827;display:block;font-size:1.5rem;font-weight:700}.filter-tabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:16px}.filter-tabs button{background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.filter-tabs button:hover{background:#e5e7eb}.filter-tabs button.active{background:#4f46e5;color:#fff}.payments-timeline{margin-bottom:32px}.payments-timeline h3{color:#111827;font-size:1.25rem;margin:0 0 20px}.timeline{display:flex;flex-direction:column;gap:16px}.timeline-item{animation:fadeIn .3s ease-out forwards;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:20px;opacity:0;padding:20px}@keyframes fadeIn{to{opacity:1}}.timeline-item.paid{border-left:4px solid #10b981}.timeline-item.pending{border-left:4px solid #f59e0b}.timeline-item.late,.timeline-item.missed{border-left:4px solid #ef4444}.timeline-item.overdue{background:#fef2f2}.timeline-date{align-items:center;background:#f9fafb;border-radius:8px;display:flex;flex-direction:column;justify-content:center;min-width:60px;padding:12px}.timeline-date .day{color:#111827;font-size:1.5rem;font-weight:700}.timeline-date .month{color:#6b7280;font-size:.875rem;text-transform:uppercase}.timeline-content{display:flex;flex:1 1;flex-direction:column;gap:12px}.payment-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.property-tenant{display:flex;flex-direction:column;gap:4px}.property-name{color:#111827;font-size:1.1rem}.tenant-name{color:#6b7280;font-size:.95rem}.payment-amount{color:#111827;font-size:1.5rem;font-weight:700}.payment-status-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.status-badge{border-radius:20px;padding:4px 12px;text-transform:uppercase}.status-badge.paid{background:#d1fae5;color:#065f46}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.late,.status-badge.missed{background:#fee2e2;color:#991b1b}.status-badge.overdue-badge{animation:pulse 2s infinite;background:#ef4444;color:#fff}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.paid-date{color:#10b981;font-size:.875rem}.due-soon{color:#f59e0b;font-size:.875rem}.record-payment-btn{align-self:flex-start;background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background .2s}.record-payment-btn:hover{background:#4338ca}.property-summary{margin-top:32px}.property-summary h3{color:#111827;font-size:1.25rem;margin:0 0 20px}.property-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.property-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.property-card h4{color:#111827;font-size:1.1rem;margin:0 0 16px}.property-stats{flex-direction:column;gap:12px}.property-stats>div{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:8px 0}.property-stats>div:last-child{border-bottom:none}.property-stats label{color:#6b7280;font-size:.875rem}.property-stats span{color:#111827;font-weight:600}.property-stats .received span{color:#10b981}.property-stats .pending span{color:#f59e0b}.empty-state{color:#6b7280;padding:60px 20px;text-align:center}.empty-icon{font-size:3rem;margin-bottom:16px}.loading{align-items:center;color:#6b7280;display:flex;justify-content:center;min-height:400px}@media (max-width:768px){.rent-tracker-header{align-items:flex-start;flex-direction:column}.summary-stats-grid{grid-template-columns:repeat(2,1fr)}.timeline-item{flex-direction:column}.timeline-date{flex-direction:row;gap:8px;width:100%}.payment-header{flex-direction:column}}*{box-sizing:border-box;margin:0;padding:0}body{background:#f5f7fa;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-header{align-items:center;background:#2c3e50;color:#fff;display:flex;justify-content:space-between;padding:1rem 2rem}.app-header h1{font-size:1.5rem}.app-header nav{display:flex;gap:2rem}.app-header nav a{border-radius:4px;color:#fff;padding:.5rem 1rem;text-decoration:none;transition:background .2s}.app-header nav a:hover{background:#ffffff1a}.app-main{margin:0 auto;max-width:1200px;padding:2rem}.property-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.property-list-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1.5rem}.property-list-header h2{font-size:1.5rem}.add-property-btn{background:#27ae60;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem}.property-grid{grid-gap:1rem;display:grid;gap:1rem;padding:1rem}.property-card{border:1px solid #e0e0e0;border-radius:8px;color:inherit;cursor:pointer;display:block;padding:1.5rem;text-decoration:none;transition:box-shadow .2s,transform .2s}.property-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.property-card-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:1rem}.property-name{color:#2c3e50;font-size:1.25rem;font-weight:600}.property-status{border-radius:20px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.status-active{background:#d4edda;color:#155724}.status-void{background:#f8d7da;color:#721c24}.status-maintenance{background:#fff3cd;color:#856404}.property-address{color:#666;margin-bottom:1rem}.property-details{display:flex;flex-wrap:wrap;gap:2rem}.property-detail{align-items:center;color:#555;display:flex;font-size:.9rem;gap:.5rem}.property-stats{border-top:1px solid #eee;display:flex;gap:2rem;margin-top:1rem;padding-top:1rem}.property-stat{text-align:center}.stat-number{color:#2c3e50;font-size:1.5rem;font-weight:600}.stat-label{color:#666;font-size:.75rem;text-transform:uppercase}.stat-number.positive{color:#10b981}.stat-number.negative{color:#dc2626}.net-income{background:#f9fafb;border-radius:8px;padding:8px 12px}.empty-state,.error,.loading{color:#666;padding:3rem;text-align:center}.error{color:#e74c3c}.rent-tracker{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.rent-summary-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.summary-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;text-align:center}.summary-card.received{background:#d4edda}.summary-card.pending{background:#fff3cd}.summary-card.arrears{background:#f8d7da}.summary-card h3{color:#666;font-size:.9rem;margin-bottom:.5rem;text-transform:uppercase}.summary-card .amount{color:#2c3e50;font-size:2rem;font-weight:600}.payments-table{border-collapse:collapse;width:100%}.payments-table td,.payments-table th{border-bottom:1px solid #eee;padding:1rem;text-align:left}.payments-table th{color:#666;font-size:.85rem;font-weight:600;text-transform:uppercase}.status-badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.status-paid{background:#d4edda;color:#155724}.status-pending{background:#fff3cd;color:#856404}.status-late{background:#f8d7da;color:#721c24}.status-missed{background:#e74c3c;color:#fff}.tenant-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.tenant-list-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1.5rem}.tenant-list-header h2{font-size:1.5rem}.tenant-count{color:#666;font-size:.9rem}.search-container{border-bottom:1px solid #eee;padding:1rem 1.5rem;position:relative}.search-input{border:1px solid #ddd;border-radius:4px;font-size:.95rem;padding:.75rem 2.5rem .75rem 1rem;transition:border-color .2s;width:100%}.search-input:focus{border-color:#3498db;outline:none}.search-clear{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:2rem;top:50%;transform:translateY(-50%);width:24px}.search-clear:hover{color:#666}.tenant-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:1rem}.tenant-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.tenant-card h3{color:#2c3e50;font-size:1.1rem;margin-bottom:.75rem}.tenant-card p{color:#666;font-size:.9rem;margin:.25rem 0}.tenant-properties{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.tenant-property{background:#fff;border-radius:4px;font-size:.85rem;margin:.5rem 0;padding:.5rem}.tenant-property p{font-size:.85rem;margin:.15rem 0}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-large{max-width:600px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #eee;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.modal-header h3{color:#2c3e50;font-size:1.25rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.modal-close:hover{background:#0000001a}.modal-form{padding:1.5rem}.modal-loading{color:#666;padding:3rem;text-align:center}.modal-error{background:#f8d7da;border-radius:4px;color:#721c24;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.form-section{margin-bottom:1.5rem}.form-section h4{border-bottom:1px solid #eee;color:#2c3e50;font-size:1rem;padding-bottom:.5rem}.form-group,.form-section h4{margin-bottom:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group label{color:#555;display:block;font-size:.9rem;font-weight:500;margin-bottom:.4rem}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.95rem;padding:.6rem .75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3498db;outline:none}.form-group input::placeholder{color:#aaa}.checkbox-group{margin-top:.5rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-label input[type=checkbox]{cursor:pointer;margin:0;width:auto}.checkbox-label span{font-weight:400;margin:0}.field-hint{color:#999;display:block;font-size:.8rem;font-weight:400;margin-top:.25rem}.input-prefix{align-items:center;display:flex;position:relative}.input-prefix .prefix{color:#666;font-weight:500;left:.75rem;position:absolute}.input-prefix input{padding-left:1.5rem}.tenant-search-group{position:relative}.tenant-search-input{border:1px solid #ddd;border-radius:4px;font-size:.95rem;margin-bottom:.5rem;padding:.6rem .75rem;width:100%}.tenant-search-input:focus{border-color:#3498db;outline:none}.tenant-dropdown{background:#fff;border:1px solid #ddd;border-radius:4px;max-height:200px;overflow-y:auto}.tenant-option{border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:column;padding:.75rem;transition:background .15s}.tenant-option:last-child{border-bottom:none}.tenant-option.selected,.tenant-option:hover{background:#e8f4f8}.tenant-option.empty{color:#999;cursor:default;text-align:center}.tenant-option.empty:hover{background:#fff}.tenant-name{color:#333;font-weight:500}.tenant-email{color:#666;font-size:.85rem}.selected-tenant{background:#d4edda;border-radius:4px;color:#155724;font-size:.9rem;margin-top:.75rem;padding:.5rem .75rem}.selected-tenant strong{color:#0f5132}.modal-actions{border-top:1px solid #eee;display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.btn-primary,.btn-secondary{border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.25rem;transition:all .2s}.btn-primary{background:#27ae60;border:none;color:#fff}.btn-primary:hover:not(:disabled){background:#229954}.btn-primary:disabled{background:#a3d9b1;cursor:not-allowed}.btn-secondary{background:#fff;border:1px solid #ddd;color:#666}.btn-secondary:hover:not(:disabled){background:#f8f9fa;border-color:#ccc}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.app-header{flex-direction:column;gap:1rem;text-align:center}.app-main{padding:1rem}.property-details,.property-stats{gap:1rem}.form-row{gap:0;grid-template-columns:1fr}.modal-content{max-height:95vh}.modal-form{padding:1rem}.modal-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{text-align:center;width:100%}}
/*# sourceMappingURL=main.a345e5e5.css.map*/