@charset "UTF-8";.inline-form{display:flex;flex-direction:column;gap:.875rem;margin-bottom:1rem;padding:1.25rem;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border)}.inline-form label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;font-weight:600;color:var(--text-primary)}.inline-form .hint,.inline-form .field-hint{font-size:.75rem;font-weight:400;color:var(--text-muted);line-height:1.4}.inline-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.inline-form input::placeholder{color:var(--text-muted)}.inline-form textarea{resize:vertical;min-height:4rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-title{margin:0 0 .25rem;font-size:.9375rem;font-weight:700}.form-actions{display:flex;gap:.5rem;justify-content:flex-end}.detail-page{margin:-1rem -1rem 0;min-height:calc(100dvh - 5rem);background:#f4f6f8}.detail-page .hero{background:linear-gradient(160deg,#1b8a5a,#157a4f 55%,#126842);padding:.75rem 1rem 1.25rem;position:relative;overflow:hidden}.detail-page .hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.12) 0%,transparent 45%),radial-gradient(circle at 10% 80%,rgba(255,255,255,.08) 0%,transparent 40%);pointer-events:none}.detail-page .hero-top{display:grid;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;gap:.5rem;position:relative;z-index:1}.detail-page .hero-top h1{margin:0;color:#fff;font-size:1.125rem;font-weight:700;text-align:center;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-page .hero-details{margin-top:.5rem;text-align:center;position:relative;z-index:1}.detail-page .hero-address{margin:0;color:#ffffffeb;font-size:.875rem;font-weight:500}.detail-page .hero-meta{margin:.25rem 0 0;color:#ffffffbf;font-size:.75rem;text-transform:capitalize}.detail-page .icon-btn{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;text-decoration:none;padding:0}.detail-page .icon-btn svg{width:1.25rem;height:1.25rem}.detail-page .hero-menu-wrap{position:relative}.detail-page .hero-menu{position:absolute;top:calc(100% + .375rem);right:0;min-width:10.5rem;background:#fff;border-radius:.75rem;box-shadow:0 8px 24px #0f172a33;overflow:hidden;border:1px solid #eef1f4;z-index:10}.detail-page .hero-menu a,.detail-page .hero-menu button{display:block;width:100%;padding:.75rem 1rem;border:none;background:none;text-align:left;font:inherit;font-size:.875rem;font-weight:500;color:var(--text-primary);text-decoration:none;cursor:pointer}.detail-page .hero-menu button+a,.detail-page .hero-menu a+button{border-top:1px solid #f1f3f5}.detail-page .hero-menu .danger{color:#dc2626}.detail-page .tabs-bar{display:flex;background:#fff;border-bottom:1px solid #eef1f4;overflow-x:auto;padding:0 .25rem;-webkit-overflow-scrolling:touch}.detail-page .tab{flex-shrink:0;padding:.875rem 1rem;border:none;background:none;font:inherit;font-size:.8125rem;font-weight:600;color:var(--text-muted);cursor:pointer;position:relative;white-space:nowrap}.detail-page .tab.active{color:#1b8a5a}.detail-page .tab.active:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:0;height:2px;background:#1b8a5a;border-radius:2px 2px 0 0}.detail-page .content{padding:1rem}.detail-page .section{margin-bottom:1rem}.detail-page .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.detail-page .section-header h2{margin:0;font-size:1.0625rem;font-weight:700}.detail-page .period-badge{font-size:.75rem;font-weight:600;color:var(--text-secondary);background:#fff;padding:.3125rem .75rem;border-radius:var(--radius-full);border:1px solid var(--border)}.detail-page .reference-photo{margin-bottom:1rem;background:#fff;border-radius:1rem;overflow:hidden;border:1px solid #eef1f4}.detail-page .reference-photo img{width:100%;max-height:12rem;object-fit:cover;display:block}.detail-page .reference-photo p{margin:0;padding:.625rem 1rem;font-size:.75rem;color:var(--text-muted);background:#f8fafc}.detail-page .reference-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.detail-page .reference-photo-grid img{width:100%;max-height:none;aspect-ratio:4/3;object-fit:cover;display:block}.detail-page .invite-card{margin-bottom:1rem;padding:1rem 1.125rem;background:#fff;border-radius:1rem;border:1px solid #eef1f4}.detail-page .invite-card h3{margin:0;font-size:.9375rem;font-weight:700}.detail-page .invite-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.detail-page .text-btn{border:none;background:transparent;color:#1b8a5a;font-size:.8125rem;font-weight:600;cursor:pointer;white-space:nowrap}.detail-page .text-btn:disabled{opacity:.5;cursor:not-allowed}.detail-page .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.detail-page .metric-card{background:#fff;border:1px solid #eef1f4;border-radius:1rem;padding:1rem;display:flex;flex-direction:column;gap:.25rem;text-align:left}.detail-page .metric-card.metric-wide{grid-column:1/-1}.detail-page a.metric-card{text-decoration:none;color:inherit;cursor:pointer}.detail-page .metric-label{font-size:.8125rem;font-weight:600}.detail-page .metric-value{font-size:1.25rem;font-weight:700;line-height:1.2}.detail-page .metric-sub{font-size:.75rem;color:var(--text-muted)}.detail-page .metric-note{font-size:.75rem;font-weight:600;color:#dc2626;margin-top:.125rem}.detail-page .metric-outstanding-alert{border:1.5px solid #fdba74;background:linear-gradient(135deg,#fff1f2,#ffedd5);box-shadow:0 4px 14px #ea580c1f}.detail-page .metric-outstanding-alert .metric-label,.detail-page .metric-outstanding-alert .metric-value{color:#ea580c}.detail-page .metric-outstanding-alert .metric-value{font-size:1.375rem}.detail-page .reminder-btn{align-self:flex-start;margin-top:.375rem;border:none;background:#dc2626;color:#fff;font-size:.75rem;font-weight:700;border-radius:.625rem;padding:.5rem .875rem;cursor:pointer}.detail-page .metric-expected .metric-label,.detail-page .metric-expected .metric-value{color:#0e7490}.detail-page .metric-collected .metric-label,.detail-page .metric-collected .metric-value{color:#1b8a5a}.detail-page .metric-outstanding .metric-label,.detail-page .metric-outstanding .metric-value{color:#e07a1f}.detail-page .metric-rent-due .metric-label,.detail-page .metric-rent-due .metric-value{color:#dc2626}.detail-page .metric-occupancy .metric-label,.detail-page .metric-occupancy .metric-value{color:#3b82f6}.detail-page .metric-vacant .metric-label,.detail-page .metric-vacant .metric-value{color:#8b5cf6}.detail-page .metric-discount .metric-label,.detail-page .metric-discount .metric-value{color:#a21caf}.detail-page .metric-maintenance .metric-label,.detail-page .metric-maintenance .metric-value{color:#e07a1f}.detail-page .loading-grid .skeleton{min-height:5rem;background:linear-gradient(90deg,#f1f3f5 25%,#e9ecef,#f1f3f5 75%);background-size:200% 100%;animation:detail-shimmer 1.2s infinite}.detail-page .activity-header{margin-top:.5rem}.detail-page .view-all{font-size:.875rem;font-weight:600;color:#1b8a5a;text-decoration:none}.detail-page .view-all:is(button){border:none;background:none;padding:0;cursor:pointer;font:inherit}.detail-page .activity-list{list-style:none;margin:0 0 1rem;padding:0;background:#fff;border-radius:1rem;box-shadow:0 2px 12px #0f172a0d;overflow:hidden}.detail-page .activity-list li{border-bottom:1px solid #f1f3f5}.detail-page .activity-list li:last-child{border-bottom:none}.detail-page .activity-link{display:flex;align-items:center;gap:.875rem;padding:1rem 1.125rem;text-decoration:none;color:inherit}.detail-page .activity-link:active{background:#f8fafc}.detail-page .activity-icon{width:2.5rem;height:2.5rem;background:#dcfce7;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-page .activity-content{flex:1;min-width:0}.detail-page .activity-content p{margin:0 0 .125rem;font-size:.9375rem;font-weight:500}.detail-page .activity-content time{font-size:.8125rem;color:var(--text-muted)}.detail-page .chevron{width:1.125rem;height:1.125rem;color:var(--text-muted);flex-shrink:0}.detail-page .quick-actions{display:flex;flex-wrap:wrap;gap:.5rem}.detail-page .action-chip{display:inline-flex;align-items:center;padding:.625rem 1rem;background:#fff;border:1px solid #eef1f4;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;color:#1b8a5a;text-decoration:none;cursor:pointer;font-family:inherit}.detail-page .empty-text{color:var(--text-secondary);font-size:.9375rem;text-align:center;padding:1.5rem;background:#fff;border-radius:var(--radius-lg);margin:0;box-shadow:0 2px 12px #0f172a0d}.detail-page .unit-list,.detail-page .tenant-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.detail-page .unit-card{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.125rem;background:#fff;border-radius:var(--radius-md);box-shadow:0 2px 8px #0f172a0a}.detail-page .card-main{flex:1;min-width:0}.detail-page .unit-layout{margin-bottom:.125rem!important}.detail-page .unit-rent{font-weight:600!important;color:var(--text-primary)!important}.detail-page .unit-card h4,.detail-page .tenant-card h4{margin:0;font-size:.9375rem;font-weight:700}.detail-page .unit-card p,.detail-page .tenant-card p,.detail-page .unit-line{margin:0;font-size:.8125rem;color:var(--text-secondary)}.detail-page .row-actions{display:flex;gap:.125rem;flex-shrink:0;margin-top:.125rem}.detail-page .icon-action{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border:none;background:#f8fafc;border-radius:50%;cursor:pointer;color:var(--text-muted);padding:0}.detail-page .icon-action svg{width:1rem;height:1rem}.detail-page .icon-action.danger{color:#dc2626}.detail-page .tenant-card{display:flex;align-items:flex-start;gap:.5rem;padding:.875rem 1rem;background:#fff;border-radius:1rem;box-shadow:0 2px 10px #0f172a0d;border:1px solid #eef1f4}.detail-page .tenant-main{display:flex;align-items:flex-start;gap:.75rem;flex:1;min-width:0;text-decoration:none;color:inherit}.detail-page .tenant-avatar{width:2.75rem;height:2.75rem;background:#dcfce7;color:#1b8a5a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;margin-top:.125rem}.detail-page .tenant-info{flex:1;min-width:0}.detail-page .tenant-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.125rem}.detail-page .tenant-bottom{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-top:.375rem}.detail-page .rent-line{margin:0;font-size:.8125rem;font-weight:600;color:var(--text-primary)}.detail-page .date-line.paid{color:#15803d}.detail-page .date-line.overdue{color:#b91c1c}.detail-page .date-line.due_soon{color:#c2410c}.detail-page .date-line.upcoming{color:#1d4ed8}.detail-page .date-line{margin:0;font-size:.6875rem;font-weight:600;white-space:nowrap}.detail-page .status-badge{font-size:.75rem;font-weight:600;text-transform:capitalize;padding:.25rem .625rem;border-radius:var(--radius-full)}.detail-page .status-badge.occupied{background:var(--success-light);color:var(--success)}.detail-page .status-badge.vacant{background:#fef3c7;color:#b45309}.detail-page .status-badge.rent-status{flex-shrink:0;font-size:.625rem;font-weight:700;padding:.1875rem .5rem;text-transform:none}.detail-page .status-badge.rent-status.paid{background:#dcfce7;color:#15803d}.detail-page .status-badge.rent-status.overdue{background:#fee2e2;color:#b91c1c}.detail-page .status-badge.rent-status.due_soon{background:#ffedd5;color:#c2410c}.detail-page .status-badge.rent-status.upcoming{background:#dbeafe;color:#1d4ed8}.detail-page .mini-list{list-style:none;margin:0;padding:0;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 12px #0f172a0d}.detail-page .mini-list li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.detail-page .mini-list li.editing{background:#f0fdf4}.detail-page .mini-list li:last-child{border-bottom:none}.detail-page .mini-list strong{display:block;font-size:.9375rem}.detail-page .mini-list span{display:block;font-size:.8125rem;color:var(--text-muted)}.detail-page .right{text-align:right}.detail-page .split{color:var(--success)!important;font-weight:600}@keyframes detail-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.list-page{margin:-1rem -1rem 0;min-height:calc(100dvh - 5rem);background:#f4f6f8;padding-bottom:1.5rem}.list-page .currency-warning{margin:.75rem 1rem 0;font-size:.8125rem;line-height:1.45;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:.75rem;padding:.625rem .875rem}.page-header-bar{display:grid;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(165deg,#1a7f52,#146843 45%,#0f5234)}.page-header-bar h1{margin:0;text-align:center;color:#fff;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em}.icon-btn{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#ffffff24;border:none;border-radius:50%;color:#fff;text-decoration:none;cursor:pointer;padding:0}.icon-btn svg{width:1.125rem;height:1.125rem}.header-action{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#ffffff2e;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff;text-decoration:none;font-size:1.25rem;font-weight:700;line-height:1}.stat-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;padding:.875rem 1rem 0}.stat-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem .375rem;border:1px solid transparent;border-radius:.875rem;background:#fff;box-shadow:0 2px 10px #0f172a0d;text-align:center}.stat-icon{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center}.stat-icon app-icon-3d{width:2.25rem;height:2.25rem}.stat-count{font-size:.9375rem;font-weight:800;color:var(--text-primary);line-height:1.1;word-break:break-word}.stat-label{font-size:.625rem;font-weight:600;color:var(--text-muted);line-height:1.2}.list-content{padding:.875rem 1rem 1rem}.item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.875rem}.record-card{background:#fff;border-radius:1rem;padding:1.25rem 1.375rem;box-shadow:0 2px 12px #0f172a0f;border:1px solid #edf2f7}.card-header{display:grid;grid-template-columns:3.75rem 1fr auto;gap:.875rem;align-items:start;padding-bottom:1rem;border-bottom:1px solid #edf2f7}.card-thumb{width:3.75rem;height:3.75rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-thumb svg{width:1.375rem;height:1.375rem}.card-head-text{min-width:0;padding-top:.125rem}.card-head-text h3{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:#1a202c;line-height:1.3}.card-meta{margin:0;font-size:.8125rem;color:#718096;line-height:1.4}.status-badge{flex-shrink:0;font-size:.6875rem;font-weight:700;padding:.25rem .625rem;border-radius:999px;line-height:1.2;text-transform:capitalize}.status-badge.paid{background:#f0fff4;color:#38a169}.status-badge.partial{background:#fffaf0;color:#dd6b20}.status-badge.late{background:#fff5f5;color:#e53e3e}.status-badge.upcoming{background:#ebf8ff;color:#3182ce}.status-badge.pending_verification{background:#faf5ff;color:#805ad5}.card-recorded-by{margin:.125rem 0 0;font-size:.8125rem;color:#64748b;font-weight:500;line-height:1.35}.thumb-method{background:#dbeafe;color:#2563eb}.detail-green{background:#f0fff4;color:#38a169}.detail-blue{background:#ebf8ff;color:#3182ce}.detail-purple{background:#ede9fe;color:#7c3aed}.card-report-note{margin:.5rem 0 0;font-size:.8125rem;color:#805ad5;font-weight:600}.card-actions{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid #edf2f7;margin-top:1rem}.pending-banner{margin:0 1rem 1rem;padding:.75rem 1rem;border-radius:.75rem;background:#faf5ff;color:#553c9a;font-size:.875rem;font-weight:600}.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:1rem 0 0}.detail-item{display:flex;align-items:flex-start;gap:.5rem;min-width:0;padding:0 .625rem}.detail-item:not(:last-child){border-right:1px solid #edf2f7}.detail-item:first-child{padding-left:0}.detail-item:last-child{padding-right:0}.detail-icon{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem}.detail-icon svg{width:1rem;height:1rem}.detail-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.detail-label{font-size:.6875rem;font-weight:500;color:#a0aec0;line-height:1.3}.detail-value{font-size:.75rem;font-weight:700;color:#1a202c;line-height:1.35;word-break:break-word}.footer-cta{margin-top:1rem;padding-top:.25rem}.list-preview-toggle{display:flex;justify-content:center;margin:.75rem 1rem 0}.list-preview-toggle .view-all{border:none;background:none;padding:0;cursor:pointer;font:inherit;font-size:.875rem;font-weight:600;color:#1b8a5a}.cta-btn{display:block;width:100%;padding:.9375rem 1rem;background:linear-gradient(165deg,#1a7f52,#146843);border-radius:var(--radius-full);color:#fff;font-size:.9375rem;font-weight:700;text-decoration:none;text-align:center;box-shadow:0 6px 20px #1b8a5a59}.info-card{background:#fff;border-radius:1rem;padding:1rem 1.125rem;box-shadow:0 2px 12px #0f172a0f;border:1px solid #edf2f7;margin-top:.875rem}.info-card p{margin:0;font-size:.8125rem;color:#718096;line-height:1.5}.list-page app-empty-state .empty-state,.properties-page app-empty-state .empty-state,.tenants-page app-empty-state .empty-state{background:#fff;border-radius:1rem;box-shadow:0 2px 12px #0f172a0f;border:1px solid #edf2f7}li.list-item-focused .record-card{box-shadow:0 0 0 2px #3b82f6,0 8px 24px #3b82f626}@media(max-width:380px){.stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.details-grid{grid-template-columns:1fr;gap:.75rem}.detail-item{padding:0;border-right:none!important}}.form-page{margin:-1rem -1rem 0;min-height:calc(100dvh - 5rem);padding:1rem;background:#f4f6f8}.form-page .form-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 12px #0f172a0f;border:1px solid #edf2f7}.form-page .back-link{display:inline-flex;align-items:center;margin-bottom:1rem;font-size:.875rem;font-weight:600;color:#1b8a5a;text-decoration:none}.form-page .form-card{background:var(--surface);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-page .image-field{display:flex;flex-direction:column;gap:.375rem}.form-page .field-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.form-page .optional{font-weight:500;color:var(--text-muted)}.form-page .hint,.form-page .field-hint{font-size:.75rem;font-weight:400;color:var(--text-muted);line-height:1.4}.form-page .upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:1.5rem 1rem;border:2px dashed var(--border);border-radius:var(--radius-md);background:#f8fafc;cursor:pointer;text-align:center}.form-page .upload-box input{display:none}.form-page .upload-icon{font-size:1.75rem}.form-page .upload-text{font-size:.875rem;font-weight:600;color:var(--text-primary)}.form-page .upload-sub{font-size:.75rem;color:var(--text-muted)}.form-page .image-preview{display:flex;flex-direction:column;gap:.75rem}.form-page .image-preview img{width:100%;max-height:14rem;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border)}.form-page .image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.form-page .image-thumb{position:relative;aspect-ratio:1/1;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);background:#f1f5f9}.form-page .image-thumb img{width:100%;height:100%;object-fit:cover;display:block}.form-page .thumb-remove{position:absolute;top:.25rem;right:.25rem;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:#0f172aa6;color:#fff;font-size:.75rem;line-height:1;cursor:pointer}.form-page .form-actions{display:flex;gap:.75rem;margin-top:.25rem}.form-page .form-actions .btn-secondary,.form-page .form-actions .btn-primary{flex:1}.form-page select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-page .switch-row{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#f8fafc;cursor:pointer}.form-page .switch-text{display:flex;flex-direction:column;gap:.125rem}.form-page .switch-title{font-weight:600;color:var(--text-primary)}.form-page .switch-hint{font-size:.8125rem;font-weight:400;color:var(--text-secondary)}.form-page .switch-input{width:1.25rem;height:1.25rem;flex-shrink:0;accent-color:#1b8a5a;cursor:pointer}.form-page .field-note{display:block;margin-top:.375rem;font-size:.8125rem;font-weight:400;color:#047857}.auth-page{min-height:100dvh;display:flex;justify-content:center;padding:1.5rem 1rem 2rem;background:#f4f6f8}.auth-page .auth-card{width:100%;max-width:24rem}.auth-page .auth-hero{text-align:center;margin-bottom:1.75rem}.auth-page .hero-illustration{width:7.5rem;height:7.5rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:50%}.auth-page .hero-illustration svg{width:5.5rem;height:auto}.auth-page .brand{font-size:1.75rem;font-weight:800;color:var(--primary);letter-spacing:-.03em;line-height:1.1}.auth-page .tagline{margin:.5rem 0 0;color:var(--text-secondary);font-size:.875rem;line-height:1.5;max-width:16rem;margin-inline:auto}.auth-page .auth-form{display:flex;flex-direction:column;gap:1rem}.auth-page .form-heading{margin-bottom:.25rem;text-align:center}.auth-page .form-heading h1{margin:0 0 .25rem;font-size:1.375rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.auth-page .form-heading p{margin:0;font-size:.875rem;color:var(--text-secondary)}.auth-page .error-banner,.auth-page .info-banner{padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;line-height:1.4}.auth-page .error-banner{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.auth-page .info-banner{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7;border-left:4px solid #059669;font-weight:500}.auth-page .field{display:flex;flex-direction:column;gap:.375rem}.auth-page .field-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.auth-page .input-wrap{position:relative;display:flex;align-items:center}.auth-page .input-wrap:before{content:"";position:absolute;left:.625rem;top:50%;transform:translateY(-50%);width:2.25rem;height:2.25rem;border-radius:.5rem;background:#dcfce7;pointer-events:none}.auth-page .field-icon{position:absolute;left:1.1875rem;top:50%;transform:translateY(-50%);width:1.125rem;height:1.125rem;color:var(--primary);pointer-events:none;z-index:1}.auth-page .input-wrap input,.auth-page .input-wrap select{width:100%;padding:.8125rem 2.75rem .8125rem 3.5rem;font-size:.9375rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;color:var(--text-primary)}.auth-page .input-wrap select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.25rem}.auth-page .input-wrap input:focus,.auth-page .input-wrap select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1b8a5a1f}.auth-page .toggle-password{position:absolute;right:.625rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:none;color:var(--text-muted);cursor:pointer;padding:0}.auth-page .toggle-password svg{width:1.125rem;height:1.125rem}.auth-page .form-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:-.25rem}.auth-page .checkbox{display:inline-flex;flex-direction:row;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.auth-page .checkbox input{position:absolute;opacity:0;width:0;height:0}.auth-page .checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #cbd5e1;border-radius:.25rem;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.auth-page .checkbox input:checked+.checkbox-box{background:var(--primary);border-color:var(--primary)}.auth-page .checkbox input:checked+.checkbox-box:after{content:"";width:.3125rem;height:.5625rem;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}.auth-page .text-link{border:none;background:none;padding:0;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--primary);cursor:pointer;white-space:nowrap}.auth-page .btn-submit{width:100%;margin-top:.25rem;padding:.9375rem 1rem;border:none;border-radius:var(--radius-full);background:linear-gradient(165deg,#1a7f52,#146843);color:#fff;font-family:inherit;font-size:.9375rem;font-weight:700;cursor:pointer;box-shadow:0 6px 20px #1b8a5a4d}.auth-page .btn-submit:disabled{opacity:.6;cursor:not-allowed}.auth-page .divider{display:flex;align-items:center;gap:.75rem;margin:.25rem 0;color:var(--text-muted);font-size:.8125rem}.auth-page .divider:before,.auth-page .divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.auth-page .social-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.auth-page .social-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem .875rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--text-primary);cursor:pointer}.auth-page .social-btn svg{width:1.125rem;height:1.125rem}.auth-page .auth-footer{text-align:center;margin:1.25rem 0 0;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.auth-page .auth-footer a{color:var(--primary);font-weight:700;text-decoration:none}.auth-page .auth-footer.secondary{margin-top:.5rem}.auth-page .security-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;padding:.875rem 1rem;background:#ecfdf5;border-radius:.75rem;color:#047857;font-size:.8125rem;font-weight:500}.auth-page .security-banner svg{width:1.125rem;height:1.125rem;flex-shrink:0;color:var(--primary);stroke:var(--primary)}.auth-page .register-page{position:relative;padding-top:3.25rem}.auth-page .back-btn{position:absolute;top:1rem;left:1rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary);border:none;color:#fff;text-decoration:none;box-shadow:0 4px 12px #1b8a5a47}.auth-page .back-btn svg{width:1.125rem;height:1.125rem}.auth-page .register-illustration{background:#f1f5f9}.auth-page .legal-text{margin:.25rem 0 0;text-align:center;font-size:.75rem;color:var(--text-muted);line-height:1.5}.auth-page .legal-text a{color:var(--primary);font-weight:600;text-decoration:none}.auth-page app-recaptcha-notice{display:block;margin-top:1rem}.auth-page .field-hint{margin:-.5rem 0 0;font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.auth-page .field-hint.warn{color:#c2410c}.auth-page .lookup-status{margin:0 0 1rem;font-size:.8125rem;color:var(--text-secondary)}.auth-page .invite-preview{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;padding:.875rem 1rem;margin-bottom:.75rem}.auth-page .invite-preview p{margin:0 0 .375rem;font-size:.875rem}.auth-page .invite-preview p:last-child{margin-bottom:0}.auth-page .linked-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 12px #0f172a0f;border:1px solid #edf2f7}.auth-page .linked-card h1{margin:0 0 .5rem;font-size:1.25rem;text-align:center}.auth-page .linked-card p{margin:0 0 1rem;color:var(--text-secondary);text-align:center}.auth-page .link-btn{display:block;text-align:center;text-decoration:none}.account-page{padding-bottom:1.5rem}.account-page .icon-spacer{width:2.5rem;height:2.5rem}.account-page .account-content{padding:.875rem 1rem 0;display:flex;flex-direction:column;gap:.875rem}.account-page .profile-summary{position:relative;display:flex;align-items:center;gap:.875rem;padding:1.125rem 1rem;background:#fff;border-radius:1rem;box-shadow:0 2px 12px #0f172a0f;border:1px solid #edf2f7;overflow:hidden}.account-page .avatar{width:3.75rem;height:3.75rem;background:linear-gradient(165deg,#1a7f52,#146843);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.375rem;font-weight:700;flex-shrink:0;z-index:1}.account-page .summary-text{flex:1;min-width:0;z-index:1}.account-page .summary-text h2{margin:0 0 .5rem;font-size:1.0625rem;font-weight:700;color:#1a202c}.account-page .role-badge{display:inline-flex;align-items:center;gap:.3125rem;font-size:.6875rem;font-weight:700;text-transform:capitalize;background:#ecfdf5;color:#15803d;padding:.25rem .625rem;border-radius:var(--radius-full)}.account-page .role-badge svg{width:.75rem;height:.75rem}.account-page .profile-art{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);opacity:.85;pointer-events:none}.account-page .profile-art app-icon-3d{width:5.5rem;height:5.5rem}.account-page .form-card{background:#fff;border-radius:1rem;padding:1.25rem 1rem;box-shadow:0 2px 12px #0f172a0f;border:1px solid #edf2f7;display:flex;flex-direction:column;gap:1rem}.account-page .field-hint{font-size:.75rem;font-weight:400;color:var(--text-muted);line-height:1.4}.account-page .form-actions{margin-top:.25rem}.account-page .form-actions .btn-primary{width:100%}.account-page .form-success{margin:0;font-size:.8125rem;font-weight:600;color:#15803d;background:#ecfdf5;padding:.625rem .75rem;border-radius:.625rem}.account-page .form-error{margin:0;font-size:.8125rem;font-weight:600;color:#b91c1c;background:#fef2f2;padding:.625rem .75rem;border-radius:.625rem}.account-page .security-card{background:#fff;border-radius:1rem;padding:1.25rem 1rem;box-shadow:0 2px 12px #0f172a0f;border:1px solid #edf2f7}.account-page .security-card h3{margin:0 0 .375rem;font-size:.9375rem;font-weight:700;color:#1a202c}.account-page .security-card p{margin:0 0 .875rem;font-size:.8125rem;color:#718096;line-height:1.45}.account-page .security-card .form-success{margin-bottom:.875rem}.account-page .security-card .btn-secondary{width:100%}.help-page{margin:-1rem -1rem 0;min-height:calc(100dvh - 5rem);padding-bottom:1.5rem;background:#f4f6f8}.help-page .icon-spacer{width:2.5rem;height:2.5rem}.help-content{padding:.875rem 1rem 0;display:flex;flex-direction:column;gap:.875rem}.help-intro{padding:1.125rem 1rem;background:#fff;border-radius:1rem;border:1px solid #edf2f7;box-shadow:0 2px 12px #0f172a0f}.help-intro h2{margin:0 0 .5rem;font-size:1rem;font-weight:700;color:#1a202c}.help-intro p{margin:0;font-size:.875rem;line-height:1.5;color:#64748b}.help-topics{display:flex;flex-direction:column;gap:.625rem}.help-topic{background:#fff;border-radius:1rem;border:1px solid #edf2f7;box-shadow:0 2px 12px #0f172a0f;overflow:hidden}.help-topic summary{list-style:none;cursor:pointer;padding:.9375rem 2rem .9375rem 1rem;display:flex;flex-direction:column;gap:.25rem;position:relative}.help-topic summary::-webkit-details-marker{display:none}.help-topic summary:after{content:"";position:absolute;right:1.125rem;top:50%;width:.5rem;height:.5rem;margin-top:-.375rem;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:rotate(45deg);transition:transform .15s ease}.help-topic[open] summary:after{transform:rotate(-135deg);margin-top:-.125rem}.help-topic-title{font-size:.9375rem;font-weight:700;color:#1a202c;padding-right:1.5rem}.help-topic-summary{font-size:.8125rem;color:#64748b;line-height:1.4}.help-steps{margin:0;padding:0 1rem 1rem 2rem;font-size:.875rem;line-height:1.55;color:#334155}.help-steps li{margin-bottom:.5rem}.help-steps li:last-child{margin-bottom:0}.help-footer{padding:1rem;text-align:center}.help-footer p{margin:0;font-size:.8125rem;line-height:1.5;color:#64748b}.help-version{margin-top:.75rem!important;font-size:.75rem!important;color:#94a3b8!important}.dashboard .hero{background:linear-gradient(165deg,#1a7f52,#146843 45%,#0f5234);padding:.75rem 1.25rem 4rem;position:relative;overflow:hidden}.dashboard .hero-art{position:absolute;right:-.5rem;bottom:.5rem;width:11rem;height:7rem;opacity:.95;pointer-events:none}.dashboard .hero-art svg{width:100%;height:100%}.dashboard .hero-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;position:relative;z-index:1}.dashboard .icon-btn{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#ffffff24;border:none;border-radius:50%;color:#fff;cursor:pointer;text-decoration:none;padding:0}.dashboard .icon-btn svg{width:1.25rem;height:1.25rem}.dashboard .notif-btn{position:relative}.dashboard .notif-badge{position:absolute;top:.125rem;right:.125rem;min-width:1.125rem;height:1.125rem;padding:0 .25rem;background:#ef4444;color:#fff;font-size:.625rem;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:2px solid #146843}.dashboard .hero-greeting{margin:0;color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;position:relative;z-index:1}.dashboard .hero-context{margin:.5rem 0 0;color:#ffffffe0;font-size:.875rem;line-height:1.45;position:relative;z-index:1}.dashboard .hero-revenue{margin-top:1rem;position:relative;z-index:1}.dashboard .hero-revenue-labels{display:flex;justify-content:space-between;gap:.75rem;font-size:.75rem;color:#ffffffd9;margin-bottom:.375rem}.dashboard .hero-revenue-track{height:.375rem;border-radius:var(--radius-full);background:#fff3;overflow:hidden}.dashboard .hero-revenue-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#86efac,#fbbf24);transition:width .4s ease}.dashboard .hero-revenue-trend{margin:.375rem 0 0;font-size:.75rem;font-weight:600;color:#fffc}.dashboard .hero-revenue-trend.trend-up{color:#bbf7d0}.dashboard .hero-revenue-trend.trend-down{color:#fecaca}.dashboard .overview-panel{background:#fff;margin:-2.75rem 1rem 0;padding:1.25rem;border-radius:1.25rem;box-shadow:0 8px 32px #0f172a1a;position:relative;z-index:2}.dashboard .overview-title{margin:0 0 1rem;font-size:1.0625rem;font-weight:700;color:var(--text-primary)}.dashboard .tenant-overview-hint,.dashboard .currency-warning{margin:0 0 1rem;font-size:.875rem;line-height:1.5;color:var(--text-secondary)}.dashboard .tenant-overview-hint{color:#047857;font-weight:500}.dashboard .tenant-home-card{margin:0 0 1rem;padding:1rem;border-radius:.875rem;background:#f0fdf4;border:1px solid #bbf7d0}.dashboard .shared-expenses-section{margin:1.25rem 1rem 0}.dashboard .shared-expenses-hint{margin:0 0 .75rem;font-size:.8125rem;color:var(--text-secondary)}.dashboard .shared-expense-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.dashboard .shared-expense-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .875rem;border-radius:.75rem;background:var(--surface);border:1px solid #edf2f7}.dashboard .shared-expense-main{display:flex;flex-direction:column;gap:.125rem;min-width:0}.dashboard .shared-expense-category{font-size:.875rem;font-weight:600;color:var(--text-primary)}.dashboard .shared-expense-desc{font-size:.8125rem;color:var(--text-secondary)}.dashboard .settle-row{display:inline-flex;align-items:center;gap:.5rem;margin-top:.375rem}.dashboard .settle-chip{align-self:flex-start;margin-top:.375rem;padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.dashboard .settle-chip.paid{background:#dcfce7;color:#166534}.dashboard .settle-chip.pending{background:#fef3c7;color:#92400e;margin-top:0}.dashboard .settle-btn{align-self:flex-start;margin-top:.5rem;padding:.375rem .75rem;border:none;border-radius:.5rem;background:#1b8a5a;color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer}.dashboard .settle-link{padding:0;border:none;background:none;color:var(--text-secondary);font-size:.75rem;text-decoration:underline;cursor:pointer}.dashboard .shared-expense-side{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;flex-shrink:0}.dashboard .shared-expense-amount{font-size:.875rem;font-weight:700;color:var(--text-primary)}.dashboard .shared-expense-date{font-size:.75rem;color:var(--text-secondary)}.dashboard .tenant-home-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem}.dashboard .tenant-home-unit{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.dashboard .tenant-home-layout{font-size:.8125rem;color:var(--text-secondary)}.dashboard .tenant-home-property{margin:.25rem 0 .875rem;font-size:.875rem;color:var(--text-secondary)}.dashboard .tenant-home-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.dashboard .tenant-home-meta-item{display:flex;flex-direction:column;gap:.125rem}.dashboard .tenant-home-meta-item .meta-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.dashboard .tenant-home-meta-item .meta-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}@media(max-width:380px){.dashboard .tenant-home-meta{grid-template-columns:1fr 1fr}}.dashboard .currency-warning{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:.75rem;padding:.625rem .875rem}.dashboard .tenant-reminders{margin:-2.5rem 1rem 0;position:relative;z-index:3;display:flex;flex-direction:column;gap:.625rem}.dashboard .reminder-card{padding:.875rem 1rem;border-radius:1rem;background:#fff8e6;border:1px solid #f5d98a}.dashboard .reminder-card.overdue{background:#fff1f2;border-color:#fecaca}.dashboard .reminder-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.dashboard .reminder-badge{font-size:.6875rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#a16207}.dashboard .reminder-overdue{font-size:.6875rem;font-weight:700;color:#dc2626}.dashboard .reminder-message{margin:0;font-size:.875rem;line-height:1.5;color:#334155;white-space:pre-line}.dashboard .reminder-meta{margin:.375rem 0 .75rem;font-size:.75rem;color:#64748b}.dashboard .reminder-actions{display:flex;gap:.5rem;flex-wrap:wrap}.dashboard .pending-link-banner{margin:-2.5rem 1rem 0;position:relative;z-index:3;padding:1rem 1.125rem;border-radius:1rem;background:#fff8e6;border:1px solid #f5d98a;display:flex;flex-direction:column;gap:.75rem}.dashboard .pending-link-banner p{margin:0;font-size:.9375rem;line-height:1.5;color:#7a5d00}.dashboard .invite-banner{margin:-2.5rem 1rem 0;position:relative;z-index:3;padding:1rem 1.125rem;border-radius:1rem;background:#ecfdf5;border:1px solid #86efac;display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-decoration:none;color:inherit}.dashboard .invite-banner p{margin:0;font-size:.875rem;line-height:1.45;color:#14532d}.dashboard .invite-banner strong{font-weight:700}.dashboard .invite-banner-action{flex-shrink:0;font-size:.8125rem;font-weight:700;color:#15803d;white-space:nowrap}.dashboard .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.dashboard .metric-card{border-radius:1rem;padding:.875rem;display:flex;flex-direction:column;gap:.375rem;min-height:6.75rem;text-decoration:none;color:inherit}.dashboard .metric-card.metric-wide{grid-column:1/-1}.dashboard a.metric-card{cursor:pointer}.dashboard .metric-head{display:flex;align-items:center;gap:.375rem}.dashboard .metric-icon{width:2rem;height:2rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.dashboard .metric-icon app-icon-3d{width:2rem;height:2rem}.dashboard .metric-label{font-size:.75rem;font-weight:600}.dashboard .metric-value{font-size:1.375rem;font-weight:700;line-height:1.15;letter-spacing:-.02em}.dashboard .metric-value-suffix{font-weight:500;font-size:1rem;letter-spacing:0}.dashboard .metric-trend{font-size:.6875rem;font-weight:500;line-height:1.3;opacity:.85}.dashboard .metric-note{font-size:.6875rem;font-weight:700;color:#dc2626;margin-top:.125rem}.dashboard .metric-expected{background:#ecfeff;color:#0e7490}.dashboard .metric-collected{background:#ecfdf5;color:#15803d}.dashboard .metric-outstanding{background:#fff7ed;color:#c2410c}.dashboard .metric-outstanding-alert{background:linear-gradient(135deg,#fff1f2,#ffedd5);border:1.5px solid #fdba74;color:#c2410c;box-shadow:0 4px 14px #ea580c1f}.dashboard .metric-outstanding-alert .metric-value{color:#ea580c;font-size:1.5rem}.dashboard .metric-rent-due{background:#fef2f2;color:#dc2626}.dashboard .trend-up{color:#15803d;font-weight:600}.dashboard .trend-down{color:#dc2626;font-weight:600}.dashboard .reminder-btn{align-self:flex-start;margin-top:.375rem;border:none;background:#dc2626;color:#fff;font-size:.75rem;font-weight:700;border-radius:.625rem;padding:.5rem .875rem;cursor:pointer}.dashboard .metric-occupancy{background:#eff6ff;color:#1d4ed8}.dashboard .metric-vacant,.dashboard .metric-pending{background:#f5f3ff;color:#6d28d9}.dashboard .metric-discount{background:#fdf4ff;color:#a21caf}.dashboard .activity-section,.dashboard .quick-actions-section{padding:1.25rem 1rem 0}.dashboard .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.dashboard .section-header h2,.dashboard .section-title{margin:0 0 .875rem;font-size:1.0625rem;font-weight:700}.dashboard .section-header h2{margin-bottom:0}.dashboard .view-all{font-size:.875rem;font-weight:600;color:#1b8a5a;text-decoration:none}.dashboard .view-all:is(button){border:none;background:none;padding:0;cursor:pointer;font:inherit}.dashboard .empty-activity{background:#fff;border-radius:1rem;padding:1.5rem;text-align:center;box-shadow:0 2px 12px #0f172a0d}.dashboard .empty-activity p{margin:0 0 1rem;color:var(--text-secondary);font-size:.9375rem}.dashboard .activity-list{list-style:none;margin:0;padding:0;background:#fff;border-radius:1rem;box-shadow:0 2px 12px #0f172a0d;overflow:hidden;border:1px solid #eef1f4}.dashboard .activity-list li{border-bottom:1px solid #f1f3f5}.dashboard .activity-list li:last-child{border-bottom:none}.dashboard .activity-link{display:flex;align-items:center;gap:.875rem;padding:1rem 1.125rem;text-decoration:none;color:inherit;transition:background .15s ease}.dashboard .activity-link:active{background:#f8fafc}.dashboard .activity-icon{width:2.75rem;height:2.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0}.dashboard .activity-icon.success{background:#dcfce7}.dashboard .activity-icon.warning,.dashboard .activity-icon.info{background:#ffedd5}.dashboard .activity-content{flex:1;min-width:0}.dashboard .activity-text{margin:0 0 .125rem;font-size:.9375rem;font-weight:600;color:var(--text-primary);line-height:1.4}.dashboard .activity-detail{margin:0 0 .125rem;font-size:.8125rem;color:#64748b;line-height:1.35}.dashboard .activity-content time{font-size:.8125rem;color:var(--text-muted)}.dashboard .activity-status{flex-shrink:0;display:flex;align-items:center;justify-content:center}.dashboard .activity-status.success{color:#1b8a5a}.dashboard .activity-status.success svg{width:1.125rem;height:1.125rem}.dashboard .activity-status.warning .dot{width:.5rem;height:.5rem;background:#f97316;border-radius:50%;display:block}.dashboard .activity-status.info .half-circle{width:.625rem;height:.625rem;border-radius:50%;background:conic-gradient(#3182ce 0deg 180deg,#dbeafe 180deg 360deg);display:block}.dashboard .quick-actions{display:flex;flex-direction:column;gap:.625rem;padding-bottom:1.5rem}.dashboard .action-card{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:#fff;border-radius:1rem;text-decoration:none;color:inherit;box-shadow:0 2px 12px #0f172a0d;border:1px solid #eef1f4;transition:transform .15s,box-shadow .15s}.dashboard .action-card:active{transform:scale(.99);box-shadow:0 1px 6px #0f172a14}.dashboard .action-icon{width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard .action-icon app-icon-3d{width:2.75rem;height:2.75rem}.dashboard .action-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.dashboard .action-text strong{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.dashboard .action-text span{font-size:.8125rem;color:var(--text-secondary)}.dashboard .action-chevron{width:1.125rem;height:1.125rem;color:var(--text-muted);flex-shrink:0}.dashboard .skeleton-circle,.dashboard .skeleton-line,.dashboard .skeleton-card{background:linear-gradient(90deg,#ffffff1f 25%,#ffffff38,#ffffff1f 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:.5rem}.dashboard .skeleton-circle{border-radius:50%}.dashboard .skeleton-line{height:1rem;width:8rem;margin-top:.5rem}.dashboard .skeleton-line.wide{width:10rem;height:1.75rem}.dashboard .skeleton-card{min-height:6.75rem;background:#f1f3f5}.properties-page{background:#f8fafc}.properties-page .page-header{padding:.875rem 1rem .625rem;background:#fff;border-bottom:1px solid #eef1f4}.properties-page .page-header h1{margin:0;color:#0f172a;font-size:1.375rem;font-weight:800;letter-spacing:-.03em;line-height:1.2}.properties-page .page-subtitle{margin:.1875rem 0 0;font-size:.75rem;color:#64748b;line-height:1.35}.properties-page .content{padding:.625rem 1rem .75rem}.properties-page .content.loading{display:flex;flex-direction:column;gap:.5rem}.properties-page .property-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.properties-page .property-card{background:#fff;border-radius:.75rem;padding:.625rem .75rem;border:1px solid #e2e8f0}.properties-page .property-card.card-empty{border-style:dashed;border-color:#cbd5e1}.properties-page .card-top{display:grid;grid-template-columns:2.75rem 1fr;gap:.625rem;align-items:start}.properties-page .property-thumb{width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:.5rem;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0}.properties-page .property-thumb img{width:100%;height:100%;object-fit:cover}.properties-page .thumb-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.properties-page .thumb-icon app-icon-3d{width:1.5rem;height:1.5rem}.properties-page .property-thumb.thumb-compound{background:#f0fdf4}.properties-page .property-thumb.thumb-apartment{background:#eff6ff}.properties-page .property-thumb.thumb-room{background:#fff7ed}.properties-page .property-thumb.thumb-shop{background:#f5f3ff}.properties-page .property-thumb.thumb-office{background:#f8fafc}.properties-page .card-head-text{min-width:0}.properties-page .title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.375rem}.properties-page .card-head-text h3{margin:0;font-size:.9375rem;font-weight:700;color:#0f172a;line-height:1.25;letter-spacing:-.01em}.properties-page .meta{margin:.125rem 0 0;font-size:.6875rem;color:#64748b;line-height:1.3}.properties-page .location{display:flex;align-items:center;gap:.25rem;margin:.125rem 0 0;font-size:.6875rem;color:#94a3b8;line-height:1.3}.properties-page .location svg{width:.75rem;height:.75rem;flex-shrink:0}.properties-page .photo-hint{display:inline-block;margin-top:.125rem;font-size:.6875rem;font-weight:600;color:#15803d;text-decoration:none}.properties-page .menu-wrap{position:relative;flex-shrink:0}.properties-page .menu-btn{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#94a3b8;cursor:pointer;padding:0}.properties-page .menu-btn svg{width:1rem;height:1rem}.properties-page .card-menu{position:absolute;top:calc(100% + .25rem);right:0;min-width:10.5rem;background:#fff;border-radius:.75rem;box-shadow:0 8px 24px #0f172a1f;overflow:hidden;border:1px solid #eef1f4;z-index:2}.properties-page .card-menu button{display:block;width:100%;padding:.75rem 1rem;border:none;background:none;text-align:left;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer}.properties-page .card-menu button+button{border-top:1px solid #f1f3f5}.properties-page .card-menu button.danger{color:#dc2626}.properties-page .card-menu button:active{background:#f8fafc}.properties-page .occupancy-block{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f1f5f9}.properties-page .occupancy-meta{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;margin-bottom:.375rem}.properties-page .occupancy-label{font-size:.75rem;font-weight:600;color:#334155;flex:1;min-width:0}.properties-page .vacant-pill{font-size:.625rem;font-weight:700;padding:.125rem .4375rem;border-radius:999px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.properties-page .full-pill{font-size:.625rem;font-weight:700;padding:.125rem .4375rem;border-radius:999px;background:#ecfdf5;color:#15803d;border:1px solid #bbf7d0}.properties-page .occupancy-rate{font-size:.75rem;font-weight:800;margin-left:auto}.properties-page .occupancy-rate.full{color:#15803d}.properties-page .occupancy-rate.partial{color:#c2410c}.properties-page .occupancy-rate.empty{color:#94a3b8}.properties-page .occupancy-track{height:.3125rem;border-radius:999px;background:#f1f5f9;overflow:hidden}.properties-page .occupancy-fill{height:100%;border-radius:inherit;transition:width .35s ease}.properties-page .occupancy-track.full .occupancy-fill{background:linear-gradient(90deg,#4ade80,#16a34a)}.properties-page .occupancy-track.partial .occupancy-fill{background:linear-gradient(90deg,#fdba74,#ea580c)}.properties-page .occupancy-track.empty .occupancy-fill{background:#cbd5e1}.properties-page .card-actions{display:flex;gap:.375rem;margin-top:.5rem}.properties-page .action-btn{flex:1;display:flex;align-items:center;justify-content:center;min-height:2rem;padding:.375rem .625rem;border-radius:.5rem;font-family:inherit;font-size:.75rem;font-weight:700;text-decoration:none;text-align:center;cursor:pointer;border:1px solid transparent}.properties-page .action-view{background:#fff;border-color:#16a34a;color:#15803d}.properties-page .action-invite{background:#15803d;color:#fff}.properties-page .portfolio-insights{margin-top:.625rem;padding:.625rem .75rem;border-radius:.75rem;background:#fff;border:1px solid #e2e8f0}.properties-page .portfolio-insights p{margin:0;font-size:.75rem;line-height:1.45;color:#64748b}.properties-page .portfolio-insights p+p{margin-top:.375rem}.properties-page .portfolio-insights p strong{color:#334155;font-weight:700}.properties-page .add-property-link{display:block;margin-top:.5rem;padding:.625rem;text-align:center;font-size:.8125rem;font-weight:700;color:#15803d;text-decoration:none;border-radius:.625rem;border:1px dashed #86efac;background:#f0fdf4}.properties-page .skeleton-card{height:8.5rem;border-radius:.75rem;background:linear-gradient(90deg,#eef1f4 25%,#f8fafc,#eef1f4 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}.properties-page .properties-page .empty-state{background:#fff;border-radius:.75rem;border:1px solid #e2e8f0}.maintenance-page .page-header-bar{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;background:linear-gradient(165deg,#1a7f52,#146843 45%,#0f5234)}.maintenance-page .page-header-bar h1{margin:0;text-align:center;color:#fff;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em}.maintenance-page .icon-btn{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#ffffff24;border:none;border-radius:50%;color:#fff;text-decoration:none;cursor:pointer;padding:0}.maintenance-page .icon-btn svg{width:1.125rem;height:1.125rem}.maintenance-page .tabs-bar{display:flex;background:#fff;border-bottom:1px solid #eef1f4}.maintenance-page .tab{flex:1;padding:.875rem .375rem;border:none;background:none;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--text-muted);cursor:pointer;position:relative;white-space:nowrap}.maintenance-page .tab.active{color:#1b8a5a}.maintenance-page .tab.active:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:0;height:2px;background:#1b8a5a;border-radius:2px 2px 0 0}.maintenance-page .stat-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;padding:.875rem 1rem 0}.maintenance-page .stat-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem .375rem;border:1px solid transparent;border-radius:.875rem;background:#fff;box-shadow:0 2px 10px #0f172a0d;cursor:pointer;font-family:inherit;text-align:center}.maintenance-page .stat-card.active{border-color:#bbf7d0;box-shadow:0 4px 14px #1b8a5a1f}.maintenance-page .stat-icon{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center}.maintenance-page .stat-icon app-icon-3d{width:2.25rem;height:2.25rem}.maintenance-page .stat-count{font-size:1rem;font-weight:800;color:var(--text-primary);line-height:1}.maintenance-page .stat-label{font-size:.625rem;font-weight:600;color:var(--text-muted);line-height:1.2}.maintenance-page .content{padding:.875rem 1rem 1rem}.maintenance-page .content.loading{display:flex;flex-direction:column;gap:.75rem}.maintenance-page .empty-tab{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.875rem}.maintenance-page .empty-tab p{margin:0}.maintenance-page .request-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.875rem}.maintenance-page .request-card{background:#fff;border-radius:1rem;padding:1.25rem 1.375rem;box-shadow:0 2px 12px #0f172a0f;border:1px solid #edf2f7}.maintenance-page .card-header{display:grid;grid-template-columns:3.75rem 1fr auto;gap:.875rem;align-items:start;padding-bottom:1rem;margin-bottom:0;border-bottom:1px solid #edf2f7}.maintenance-page .request-thumb{width:3.75rem;height:3.75rem;flex-shrink:0;border-radius:.75rem;overflow:hidden;display:flex;align-items:center;justify-content:center}.maintenance-page .request-thumb img{width:100%;height:100%;object-fit:cover}.maintenance-page .thumb-icon{font-size:1.625rem;line-height:1}.maintenance-page .request-thumb.thumb-water,.maintenance-page .request-thumb.thumb-leak{background:#ebf8ff}.maintenance-page .request-thumb.thumb-electricity{background:#fffbeb}.maintenance-page .request-thumb.thumb-broken_door{background:#f3e8ff}.maintenance-page .request-thumb.thumb-other{background:#f1f5f9}.maintenance-page .card-head-text{min-width:0;padding-top:.125rem}.maintenance-page .card-head-text h3{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:#1a202c;line-height:1.3;letter-spacing:-.01em}.maintenance-page .meta{margin:0 0 .3125rem;font-size:.8125rem;color:#718096;line-height:1.4}.maintenance-page .date{display:flex;align-items:center;gap:.375rem;margin:0;font-size:.75rem;color:#718096;line-height:1.4}.maintenance-page .date svg{width:.875rem;height:.875rem;flex-shrink:0;color:#a0aec0}.maintenance-page .card-head-actions{display:flex;flex-direction:row;align-items:center;gap:.25rem;padding-top:.125rem}.maintenance-page .status-badge{flex-shrink:0;font-size:.6875rem;font-weight:700;padding:.25rem .625rem;border-radius:999px;line-height:1.2}.maintenance-page .status-badge.open{background:#fffaf0;color:#dd6b20}.maintenance-page .status-badge.assigned{background:#ebf8ff;color:#3182ce}.maintenance-page .status-badge.completed{background:#f0fff4;color:#38a169}.maintenance-page .menu-btn{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#a0aec0;cursor:pointer;padding:0}.maintenance-page .menu-btn svg{width:1.125rem;height:1.125rem}.maintenance-page .details-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;padding:1rem 0;border-bottom:1px solid #edf2f7}.maintenance-page .detail-item{display:flex;align-items:flex-start;gap:.5rem;min-width:0;padding:0}.maintenance-page .detail-item:first-child{grid-column:1/-1;padding-bottom:.75rem;border-bottom:1px solid #edf2f7}.maintenance-page .detail-item:not(:first-child){padding-top:.125rem}.maintenance-page .detail-item+.detail-item:not(:first-child){border-right:none}.maintenance-page .detail-icon{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem}.maintenance-page .detail-icon svg{width:1rem;height:1rem}.maintenance-page .detail-icon-location{background:#f0fff4;color:#38a169}.maintenance-page .detail-icon-category{background:#ebf8ff;color:#3182ce}.maintenance-page .detail-icon-priority{background:#fffaf0;color:#dd6b20}.maintenance-page .detail-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.maintenance-page .detail-label{font-size:.6875rem;font-weight:500;color:#a0aec0;line-height:1.3}.maintenance-page .detail-value{font-size:.8125rem;font-weight:700;color:#1a202c;line-height:1.35;word-break:normal;overflow-wrap:anywhere}.maintenance-page .detail-value.priority-high{color:#e53e3e}.maintenance-page .detail-value.priority-medium{color:#dd6b20}.maintenance-page .detail-value.priority-low{color:#718096}.maintenance-page .card-footer{display:flex;flex-direction:column;align-items:stretch;gap:.875rem;padding-top:1rem}.maintenance-page .comment-preview{display:flex;align-items:flex-start;gap:.625rem;min-width:0;flex:1}.maintenance-page .comment-icon{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;background:#f0fff4;color:#38a169}.maintenance-page .comment-icon svg{width:1rem;height:1rem}.maintenance-page .comment-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.maintenance-page .comment-primary{font-size:.8125rem;font-weight:600;color:#4a5568;line-height:1.35}.maintenance-page .comment-secondary{font-size:.75rem;color:#a0aec0;line-height:1.35}.maintenance-page .start-btn{flex-shrink:0;align-self:flex-end;padding:.5rem 1rem;border:1.5px solid #38a169;background:#fff;border-radius:.625rem;font-family:inherit;font-size:.8125rem;font-weight:700;color:#38a169;cursor:pointer;white-space:nowrap}.maintenance-page .start-btn:disabled{opacity:.6;cursor:wait}.maintenance-page .footer-cta{margin-top:1.25rem;padding:1.25rem 1rem .25rem;text-align:center}.maintenance-page .cta-art{font-size:2.75rem;line-height:1;margin-bottom:.75rem;opacity:.85}.maintenance-page .footer-cta p{margin:0 0 1rem;font-size:.8125rem;color:var(--text-secondary);line-height:1.5;max-width:18rem;margin-inline:auto}.maintenance-page .new-request-btn{display:block;width:100%;padding:.9375rem 1rem;background:linear-gradient(165deg,#1a7f52,#146843);border-radius:var(--radius-full);color:#fff;font-size:.9375rem;font-weight:700;text-decoration:none;text-align:center;box-shadow:0 6px 20px #1b8a5a59}.maintenance-page .new-request-btn:active{transform:scale(.99)}.maintenance-page .skeleton-stat-row{height:4.5rem;border-radius:.875rem;background:linear-gradient(90deg,#eef1f4 25%,#f8fafc,#eef1f4 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}.maintenance-page .skeleton-card{height:14rem;border-radius:1rem;background:linear-gradient(90deg,#eef1f4 25%,#f8fafc,#eef1f4 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.maintenance-page li.list-item-focused .request-card{box-shadow:0 0 0 2px #3b82f6,0 8px 24px #3b82f626}.tenants-page{background:#f8fafc;min-height:100%}.tenants-page .hero{background:linear-gradient(160deg,#1b8a5a,#157a4f 55%,#126842);padding:.5rem 1rem 1.5rem}.tenants-page .hero-top{display:grid;grid-template-columns:2.25rem 1fr 2.25rem;align-items:center}.tenants-page .hero-title{text-align:center;min-width:0}.tenants-page .hero-top h1{margin:0;color:#fff;font-size:1.0625rem;font-weight:700;line-height:1.2}.tenants-page .hero-subtitle{margin:.125rem 0 0;font-size:.6875rem;color:#ffffffd1;line-height:1.3}.tenants-page .icon-btn{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:#ffffff26;border-radius:50%;color:#fff;text-decoration:none}.tenants-page .icon-btn svg{width:1.125rem;height:1.125rem}.tenants-page .icon-spacer{width:2.25rem}.tenants-page .search-wrap{margin:-1rem 1rem .625rem;position:relative;z-index:2}.tenants-page .search-row{display:flex;align-items:center;gap:.5rem}.tenants-page .search-box{flex:1;display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:var(--radius-full);padding:.5rem .875rem;min-height:2.5rem;border:1px solid #e2e8f0;box-shadow:0 4px 14px #0f172a14}.tenants-page .search-box svg{width:1rem;height:1rem;color:var(--text-muted);flex-shrink:0}.tenants-page .search-box input{border:none;background:none;width:100%;font-size:.875rem;outline:none;padding:0}.tenants-page .filter-btn{width:2.5rem;height:2.5rem;flex-shrink:0;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px #0f172a14}.tenants-page .filter-btn svg{width:1rem;height:1rem}.tenants-page .content{padding:0 1rem 1rem}.tenants-page .collection-summary{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:.75rem .875rem;margin-bottom:.875rem}.tenants-page .collection-summary.has-alert{border-color:#fecaca;background:#fffbfb}.tenants-page .summary-main{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.tenants-page .summary-label{font-size:.75rem;font-weight:600;color:#64748b}.tenants-page .summary-value{font-size:1.0625rem;font-weight:800;color:#0f172a;letter-spacing:-.02em}.tenants-page .collection-summary.has-alert .summary-value{color:#b91c1c}.tenants-page .summary-meta{margin:.25rem 0 0;display:flex;flex-wrap:wrap;gap:.375rem .625rem;font-size:.75rem;color:#64748b}.tenants-page .meta-alert{color:#b91c1c;font-weight:600}.tenants-page .meta-pending{color:#b45309;font-weight:600}.tenants-page .pending-section,.tenants-page .tenant-section{margin-bottom:1rem}.tenants-page .section-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:0 .125rem}.tenants-page .section-head h2{margin:0;font-size:.8125rem;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.04em}.tenants-page .section-count,.tenants-page .pending-count{min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:var(--radius-full);background:#e2e8f0;color:#475569;font-size:.625rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.tenants-page .section-overdue .section-count{background:#fee2e2;color:#b91c1c}.tenants-page .section-due_soon .section-count{background:#ffedd5;color:#c2410c}.tenants-page .section-paid .section-count{background:#dcfce7;color:#15803d}.tenants-page .section-hint{margin:0 0 .625rem;font-size:.8125rem;line-height:1.45;color:var(--text-secondary)}.tenants-page .pending-list,.tenants-page .tenant-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.tenants-page .pending-card{background:#fffbeb;border-radius:.75rem;border:1px solid #fcd34d;border-left:4px solid #f59e0b;overflow:hidden}.tenants-page .pending-main{display:flex;gap:.625rem;padding:.75rem;align-items:flex-start}.tenants-page .pending-info{flex:1;min-width:0}.tenants-page .pending-info h3{margin:0;font-size:.9375rem;font-weight:700;color:#0f172a}.tenants-page .pending-info p{margin:.125rem 0 0;font-size:.8125rem;color:#64748b}.tenants-page .email-line{word-break:break-word}.tenants-page .joined-line{margin-top:.375rem!important;font-size:.75rem!important;color:#c2410c!important;font-weight:600}.tenants-page .assign-toggle{flex-shrink:0;border:none;border-radius:var(--radius-full);background:#1b8a5a;color:#fff;font-size:.75rem;font-weight:700;padding:.4375rem .75rem;cursor:pointer}.tenants-page .assign-form{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;border-top:1px solid #f1f5f9;margin-top:-.125rem}.tenants-page .assign-error{margin:0;padding:.625rem .75rem;border-radius:.625rem;background:#fee2e2;color:#b91c1c;font-size:.8125rem}.tenants-page .assign-mode{display:flex;gap:.375rem;background:#f1f5f9;border-radius:var(--radius-full);padding:.25rem}.tenants-page .assign-mode-btn{flex:1;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-secondary);font-family:inherit;font-size:.8125rem;font-weight:600;padding:.5rem .75rem;cursor:pointer}.tenants-page .assign-mode-btn.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0f172a1f}.tenants-page .assign-mode-btn:disabled{opacity:.5;cursor:not-allowed}.tenants-page .assign-hint{margin:0;font-size:.75rem;color:var(--text-muted);line-height:1.4}.tenants-page .assign-field{display:flex;flex-direction:column;gap:.375rem}.tenants-page .assign-field span{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.tenants-page .assign-field input,.tenants-page .assign-field select{width:100%;border:1px solid #e5e7eb;border-radius:.625rem;padding:.625rem .75rem;font-size:.875rem;background:#f9fafb}.tenants-page .assign-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.tenants-page .assign-submit{border:none;border-radius:var(--radius-full);background:#1b8a5a;color:#fff;font-weight:700;font-size:.875rem;padding:.75rem 1rem;cursor:pointer}.tenants-page .assign-submit:disabled{opacity:.6;cursor:not-allowed}.tenants-page .tenant-card-wrap{list-style:none}.tenants-page .tenant-card{background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;overflow:hidden}.tenants-page .tenant-main{display:flex;gap:.625rem;padding:.75rem .75rem .5rem;text-decoration:none;color:inherit}.tenants-page .section-overdue .tenant-card{border-color:#fecaca}.tenants-page .avatar{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem;flex-shrink:0;letter-spacing:.02em}.tenants-page .tenant-info{flex:1;min-width:0}.tenants-page .tenant-info h3{margin:0;font-size:.9375rem;font-weight:700;color:#0f172a;line-height:1.25}.tenants-page .unit-line{margin:.125rem 0 0;font-size:.8125rem;color:#64748b}.tenants-page .property-line{margin:.0625rem 0 0;font-size:.75rem;color:#94a3b8}.tenants-page .rent-line{margin:.375rem 0 0;font-size:.8125rem;font-weight:600;color:#0f172a}.tenants-page .balance-line{margin:.25rem 0 0;display:flex;flex-wrap:wrap;gap:.25rem .5rem;font-size:.75rem;color:#64748b}.tenants-page .balance-line span:not(:last-child):after{content:"\b7";margin-left:.5rem;color:#cbd5e1}.tenants-page .balance-pending{color:#b45309;font-weight:600}.tenants-page .tenant-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem .625rem;border-top:1px solid #f1f5f9}.tenants-page .status-group{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;min-width:0}.tenants-page .status-badge{flex-shrink:0;font-size:.625rem;font-weight:700;padding:.1875rem .5rem;border-radius:var(--radius-full)}.tenants-page .status-badge.paid{background:#dcfce7;color:#15803d}.tenants-page .status-badge.overdue{background:#fee2e2;color:#b91c1c}.tenants-page .status-badge.due_soon{background:#ffedd5;color:#c2410c}.tenants-page .status-badge.upcoming{background:#e2e8f0;color:#475569}.tenants-page .due-date{font-size:.6875rem;font-weight:500;color:#64748b;white-space:nowrap}.tenants-page .remind-btn{flex-shrink:0;border:none;background:#128c7e;color:#fff;font-size:.6875rem;font-weight:700;border-radius:var(--radius-full);padding:.4375rem .625rem;cursor:pointer}.tenants-page .add-tenant-link{display:block;margin-top:.5rem;padding:.625rem;text-align:center;font-size:.8125rem;font-weight:700;color:#15803d;text-decoration:none;border-radius:.625rem;border:1px dashed #86efac;background:#f0fdf4}.tenants-page .tenants-page .empty-state{background:#fff;border-radius:.75rem;border:1px solid #e2e8f0}.tenant-detail .hero{background:linear-gradient(160deg,#1b8a5a,#157a4f);padding:.75rem 1rem 3.5rem}.tenant-detail .hero-top{display:grid;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center}.tenant-detail .icon-btn{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#ffffff26;border-radius:50%;color:#fff;text-decoration:none;border:none;cursor:pointer}.tenant-detail .icon-btn svg{width:1.25rem;height:1.25rem}.tenant-detail .icon-spacer{width:2.5rem}.tenant-detail .profile-section{margin:-2.5rem 1rem 1rem;padding:0 1rem 1.25rem;background:#fff;border-radius:1.25rem;box-shadow:0 4px 20px #0f172a14;text-align:center;border:1px solid #eef1f4}.tenant-detail .profile-avatar{width:4.5rem;height:4.5rem;margin:-2.25rem auto .75rem;border-radius:50%;background:#dcfce7;color:#1b8a5a;border:4px solid white;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700}.tenant-detail .profile-section h1{margin:0 0 .25rem;font-size:1.375rem}.tenant-detail .subtitle{margin:0 0 .75rem;color:var(--text-secondary);font-size:.875rem}.tenant-detail .status-badge{display:inline-block;font-size:.75rem;font-weight:700;padding:.3125rem .75rem;border-radius:var(--radius-full)}.tenant-detail .status-badge.paid{background:#dcfce7;color:#15803d}.tenant-detail .status-badge.overdue{background:#fee2e2;color:#b91c1c}.tenant-detail .status-badge.due_soon{background:#ffedd5;color:#c2410c}.tenant-detail .status-badge.upcoming{background:#dbeafe;color:#1d4ed8}.tenant-detail .info-card{margin:0 1rem 1rem;background:#fff;border-radius:1rem;overflow:hidden;border:1px solid #eef1f4}.tenant-detail .section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 1rem .625rem}.tenant-detail .section-heading.compact{margin:0;padding:.875rem 1.125rem .25rem}.tenant-detail .section-heading h2{margin:0;font-size:1rem;font-weight:700}.tenant-detail .view-link{font-size:.8125rem;font-weight:600;color:#1b8a5a;text-decoration:none}.tenant-detail .property-section{margin-bottom:1rem}.tenant-detail .property-card{display:flex;align-items:center;gap:.875rem;margin:0 1rem;padding:.875rem 1rem;background:#fff;border-radius:1rem;border:1px solid #eef1f4;text-decoration:none;color:inherit;box-shadow:0 2px 10px #0f172a0d}.tenant-detail .property-card.static{cursor:default}.tenant-detail .property-thumb{width:3.5rem;height:3.5rem;border-radius:.75rem;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem}.tenant-detail .property-thumb img{width:100%;height:100%;object-fit:cover}.tenant-detail .property-thumb.thumb-compound{background:linear-gradient(135deg,#86efac,#22c55e)}.tenant-detail .property-thumb.thumb-apartment{background:linear-gradient(135deg,#93c5fd,#3b82f6)}.tenant-detail .property-thumb.thumb-room{background:linear-gradient(135deg,#fcd34d,#f59e0b)}.tenant-detail .property-thumb.thumb-shop{background:linear-gradient(135deg,#c4b5fd,#8b5cf6)}.tenant-detail .property-thumb.thumb-office{background:linear-gradient(135deg,#94a3b8,#475569)}.tenant-detail .property-info{flex:1;min-width:0}.tenant-detail .property-info h3{margin:0 0 .125rem;font-size:.9375rem;font-weight:700}.tenant-detail .property-address,.tenant-detail .property-meta,.tenant-detail .property-unit{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.4}.tenant-detail .property-meta{margin-top:.125rem}.tenant-detail .property-unit{margin-top:.25rem;font-weight:600;color:var(--text-primary)}.tenant-detail .property-card .chevron{width:1.125rem;height:1.125rem;color:var(--text-muted);flex-shrink:0}.tenant-detail .info-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.125rem;border-bottom:1px solid #f1f3f5}.tenant-detail .info-row:last-child{border-bottom:none}.tenant-detail .label{color:var(--text-secondary);font-size:.875rem}.tenant-detail .value{font-weight:600;font-size:.9375rem;text-align:right}.tenant-detail .link{color:#1b8a5a;text-decoration:none}.tenant-detail .quick-actions{margin:0 1rem 1rem}.tenant-detail .quick-actions h2,.tenant-detail .section h2{margin:0 0 .75rem;font-size:1rem;font-weight:700}.tenant-detail .action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem}.tenant-detail .action-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.375rem;padding:.875rem .375rem;background:#fff;border:1px solid #eef1f4;border-radius:1rem;text-decoration:none;color:inherit;font-size:.6875rem;font-weight:600;line-height:1.3;text-align:center;cursor:pointer;font-family:inherit;min-height:5.5rem}.tenant-detail .action-icon{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0}.tenant-detail .action-icon.reminder{background:#dbeafe}.tenant-detail .loading-state,.tenant-detail .state-screen{padding:3rem 1rem;text-align:center;color:var(--text-secondary);min-height:50dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.tenant-detail .state-screen .back-link{color:#1b8a5a;font-weight:600;text-decoration:none}.tenant-detail .action-icon.paid{background:#dcfce7}.tenant-detail .action-icon.history{background:#dbeafe}.tenant-detail .action-icon.whatsapp,.tenant-detail .action-icon.call{background:#dcfce7}.tenant-detail .section{margin:0 1rem}.tenant-detail .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.tenant-detail .section-header h2{margin:0;font-size:1.0625rem;font-weight:700}.tenant-detail .view-all{font-size:.875rem;font-weight:600;color:#1b8a5a;text-decoration:none}.tenant-detail .view-all:is(button){border:none;background:none;padding:0;cursor:pointer;font:inherit}.tenant-detail .empty-text{color:var(--text-secondary);text-align:center;padding:1.5rem;background:#fff;border-radius:1rem;margin:0}.tenant-detail .payment-list{list-style:none;margin:0;padding:0;background:#fff;border-radius:1rem;overflow:hidden;border:1px solid #eef1f4}.tenant-detail .payment-list li{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.125rem;border-bottom:1px solid #f1f3f5}.tenant-detail .payment-list li:last-child{border-bottom:none}.tenant-detail .amount{display:block;font-weight:600}.tenant-detail .meta{font-size:.8125rem;color:var(--text-muted)}.tenant-detail .recorded-by{display:block;margin-top:.125rem;font-size:.75rem;color:#64748b}.tenant-detail .value.outstanding{color:#b91c1c;font-weight:600}.tenant-detail .status{font-size:.75rem;font-weight:600;text-transform:capitalize;padding:.25rem .625rem;border-radius:var(--radius-full)}.tenant-detail .status.paid{background:#dcfce7;color:#15803d}.tenant-detail .status.late{background:#fee2e2;color:#b91c1c}.tenant-detail .status.partial{background:#ffedd5;color:#c2410c}.tenant-detail .status.upcoming{background:#dbeafe;color:#1d4ed8}*,*:before,*:after{box-sizing:border-box}:root{--primary: #1b8a5a;--primary-dark: #157a4f;--primary-light: #dcfce7;--background: #f8fafc;--surface: #ffffff;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--border: #e2e8f0;--success: #059669;--success-light: #d1fae5;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: .875rem;--radius-full: 9999px}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--background);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}input,select,textarea{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-family:inherit;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0d948826}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;font-family:inherit;transition:background .15s,transform .1s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}button:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-sm{padding:.5rem .875rem;font-size:.8125rem}button:active:not(:disabled),.btn-primary:active:not(:disabled),.btn-secondary:active{transform:scale(.98)}.grecaptcha-badge{visibility:hidden!important}
