:root{--color-primary: #2454c8;--color-primary-dark: #1b3f9e;--color-primary-light: #dbeafe;--color-success: #16a34a;--color-success-light: #dcfce7;--color-danger: #dc2626;--color-danger-light: #fee2e2;--color-warning: #d97706;--color-warning-light: #fef3c7;--color-bg: #f6f8fb;--color-surface: #ffffff;--color-border: #e2e4e9;--color-text: #1b2030;--color-text-muted: #667085;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .12);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--navbar-height: 64px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-primary: #3b82f6;--color-primary-dark: #60a5fa;--color-primary-light: #1e3a5f;--color-success: #22c55e;--color-success-light: #14532d;--color-danger: #f87171;--color-danger-light: #7f1d1d;--color-warning: #fbbf24;--color-warning-light: #78350f;--color-bg: #0f172a;--color-surface: #1e293b;--color-border: #334155;--color-text: #e2e8f0;--color-text-muted: #94a3b8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5)}}:root[data-theme=dark]{--color-primary: #3b82f6;--color-primary-dark: #60a5fa;--color-primary-light: #1e3a5f;--color-success: #22c55e;--color-success-light: #14532d;--color-danger: #f87171;--color-danger-light: #7f1d1d;--color-warning: #fbbf24;--color-warning-light: #78350f;--color-bg: #0f172a;--color-surface: #1e293b;--color-border: #334155;--color-text: #e2e8f0;--color-text-muted: #94a3b8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-6)}.badge{display:inline-flex;align-items:center;gap:.35em;padding:.2em .65em;border-radius:999px;font-size:.8rem;font-weight:600}.badge--success{background:var(--color-success-light);color:var(--color-success)}.badge--danger{background:var(--color-danger-light);color:var(--color-danger)}.badge--warning{background:var(--color-warning-light);color:var(--color-warning)}.badge--neutral{background:var(--color-bg);color:var(--color-text-muted)}.amount--payment{color:var(--color-success);font-weight:600}.amount--charge{color:var(--color-danger);font-weight:600}.btn{display:inline-flex;align-items:center;gap:.5em;border:1px solid transparent;border-radius:var(--radius-sm);padding:.6em 1.1em;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.btn:active{transform:scale(.98)}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-dark)}.btn--outline{background:transparent;border-color:var(--color-border);color:var(--color-text)}.btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover{background:#b91c1c}.icon-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-sm);padding:.3rem;display:inline-flex;cursor:pointer}.icon-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.icon-btn--danger:hover{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-light)}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;text-decoration:inherit;color:var(--color-primary)}a:hover{color:var(--color-primary-dark)}body{margin:0;padding-top:var(--navbar-height);font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;min-width:320px;min-height:100vh;background-color:var(--color-bg);color:var(--color-text)}h1{font-size:3.2em;line-height:1.1}button{border-radius:var(--radius-sm);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:600;font-family:inherit;background-color:var(--color-primary);color:#fff;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}button:hover{background-color:var(--color-primary-dark)}button:disabled{background-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.navbar-link{display:block;color:#fff;text-decoration:none;position:relative;padding-bottom:4px;transition:all .3s ease}.navbar-link:hover{color:var(--color-primary-light);border-bottom:2px solid var(--color-primary-light)}.home-hero{text-align:center;padding:4rem 2rem;background:var(--color-primary);color:#fff}.home-hero h1{font-size:3rem;font-weight:700;margin-bottom:1rem}.home-hero p{font-size:1.2rem;max-width:650px;margin:0 auto;line-height:1.6}.browse-button{display:inline-block;margin-top:1.5rem;padding:.75rem 1.5rem;font-weight:700;background-color:var(--color-surface);color:var(--color-primary-dark);border:none;border-radius:8px;text-decoration:none;transition:background-color .3s ease}.browse-button:hover{background-color:var(--color-warning)}.section{padding:3rem 2rem;max-width:1280px;margin:0 auto}.section-title{font-size:2rem;font-weight:700;margin-bottom:2rem;display:flex;align-items:center;gap:.5rem;color:var(--color-text)}.property-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.property-card{background-color:var(--color-surface);border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;max-width:320px;text-align:left}.property-image img{width:100%;height:180px;object-fit:cover;border-radius:8px}.property-placeholder{width:100%;height:180px;background-color:var(--color-border);display:flex;justify-content:center;align-items:center;font-size:2.5rem;border-radius:8px}.property-card h3{margin:.75rem 0 .25rem;font-size:1.2rem;font-weight:600}.property-card p{margin:.25rem 0;color:var(--color-text)}.property-price{font-weight:700;color:var(--color-text)}.cta{text-align:center;padding:3rem 2rem;background-color:var(--color-border);border-top:1px solid var(--color-border)}.cta h3{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.cta-buttons{margin-top:1rem;display:flex;justify-content:center;gap:1rem}.cta-buttons a{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;text-decoration:none;transition:all .3s ease}.cta-buttons .primary{background-color:var(--color-primary);color:#fff}.cta-buttons .primary:hover{background-color:var(--color-primary-dark)}.cta-buttons .secondary{background-color:var(--color-surface);color:var(--color-text);border:2px solid var(--color-primary)}.cta-buttons .secondary:hover{background-color:var(--color-primary-light)}.contact-page{display:flex;flex-direction:column;gap:2rem}.contact-intro{max-width:600px;margin:0 auto 2rem;font-size:1.1rem;color:var(--color-text-muted);text-align:center}.contact-content{display:flex;flex-wrap:wrap;justify-content:center;gap:3rem;align-items:flex-start}.contact-info{flex:1;min-width:250px;max-width:300px;font-size:1rem;color:var(--color-text)}.contact-info h3{font-size:1.3rem;margin-bottom:1rem}.contact-form{flex:1;min-width:300px;max-width:500px;display:flex;flex-direction:column;gap:1.25rem}.form-group label{margin-bottom:.4rem;font-weight:600;color:var(--color-text)}.form-group input,.form-group textarea{padding:.65rem;border:1px solid var(--color-border);border-radius:6px;font-size:1rem;background-color:var(--color-surface);color:var(--color-text);transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none}.contact-form button{align-self:flex-start;background-color:var(--color-primary);color:#fff;padding:.6rem 1.2rem;border:none;border-radius:6px;font-weight:700;cursor:pointer;transition:background-color .3s ease}.contact-form button:hover{background-color:var(--color-primary-dark)}.login-page{max-width:400px;margin:2rem auto}.login-form{display:flex;flex-direction:column;gap:1.25rem}.error-message{color:var(--color-danger);font-size:.95rem}.tenant-dashboard{display:flex;flex-direction:column;gap:2rem;align-items:center}.dashboard-intro{max-width:600px;text-align:center;font-size:1.1rem;color:var(--color-text-muted)}.dashboard-card h3{margin-bottom:.5rem;font-size:1.2rem;color:var(--color-primary-dark)}.dashboard-card p{color:var(--color-text-muted)}.dashboard-logout{background-color:var(--color-danger);color:#fff;padding:.6rem 1.2rem;border:none;border-radius:6px;font-weight:700;cursor:pointer;transition:background-color .3s ease}.dashboard-logout:hover{background-color:#b91c1c}h2.section-title{font-size:2rem;margin-bottom:1.5rem;color:var(--color-primary-dark);text-align:center}.tenant-admin-view{max-width:800px;margin:auto;padding:2rem;background-color:var(--color-surface);border-radius:12px;box-shadow:0 4px 20px #0000001a}.tenant-box{background:var(--color-surface);padding:2rem;border-radius:12px;border:1px solid var(--color-border);box-shadow:0 4px 20px #00000014;max-width:600px;margin:0 auto}.tenant-box .form-group{margin-bottom:1.25rem}.tenant-box label{display:block;font-weight:700;color:var(--color-primary-dark);margin-bottom:.25rem}.tenant-box p{background-color:var(--color-surface);padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);margin:0}.form-inline{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.form-inline input{padding:.5rem;border:1px solid var(--color-border);border-radius:6px;flex:1}.form-inline button{padding:.5rem 1rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.form-inline button:hover{background-color:var(--color-primary-dark)}.list-box{padding-left:1rem;margin-bottom:2rem}.list-box li{margin-bottom:.5rem;list-style:disc}label select{margin-left:.5rem;padding:.4rem;border-radius:4px;border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text)}.listing-form{display:flex;flex-direction:column;gap:1rem;max-width:600px;margin:2rem auto;padding:2rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 4px 20px #0000000d}.listing-form label{display:flex;flex-direction:column;font-weight:600;color:var(--color-text);font-size:.95rem}.listing-form input,.listing-form textarea{margin-top:.5rem;padding:.75rem;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;background-color:var(--color-surface);color:var(--color-text);transition:border-color .2s ease}.listing-form input:focus,.listing-form textarea:focus{outline:none;border-color:var(--color-primary)}.listing-form button{align-self:flex-start;margin-top:1rem;padding:.75rem 1.5rem;background-color:var(--color-primary);color:#fff;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s ease}.listing-form button:hover{background-color:var(--color-primary-dark)}.filter-bar{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem;background-color:var(--color-primary-light);padding:1rem 1.5rem;border-radius:10px;border:1px solid var(--color-border);box-shadow:0 2px 6px #0000000d}.filter-bar input{padding:.5rem;border:1px solid var(--color-border);border-radius:6px;font-size:1rem;color:var(--color-text);background-color:var(--color-surface);width:150px}.filter-bar input[type=number]{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-bg);color:var(--color-text);font-size:1rem;width:140px}.filter-bar label{font-size:.95rem;color:var(--color-text);display:flex;align-items:center;gap:.5rem;cursor:pointer}.filter-bar input[type=checkbox]{transform:scale(1.1);accent-color:var(--color-primary);cursor:pointer}.navbar-logout-button{margin-left:1rem;padding:6px 12px;background-color:var(--color-danger);color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background-color .3s ease}.navbar-logout-button:hover{background-color:#b91c1c}.resolved-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.toggle-resolved-btn{background-color:var(--color-primary);color:#fff;padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background-color .2s ease}.toggle-resolved-btn:hover{background-color:var(--color-primary-dark)}.dashboard-card ul{padding-left:1rem;list-style:disc}.dashboard-card li{margin-bottom:.5rem}.about-intro{font-size:1.1rem;line-height:1.8;max-width:800px;margin:0 auto 2rem;color:var(--color-text-muted);background-color:var(--color-bg);padding:1.5rem;border-radius:10px;box-shadow:0 2px 8px #0000000d}.section-subtitle{font-size:1.5rem;margin-bottom:1rem;color:var(--color-primary-dark)}.faq{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.faq-item{background-color:var(--color-primary-light);border-left:5px solid var(--color-primary);padding:1rem 1.25rem;border-radius:8px;box-shadow:0 1px 4px #0000000d;transition:background-color .3s}.faq-item:hover{background-color:var(--color-primary-light);filter:brightness(.96)}.faq-item p{margin:.5rem 0 0;color:var(--color-text)}.delete-btn{background-color:var(--color-danger);color:#fff;padding:.6rem 1.2rem;font-weight:700;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s ease;margin-top:1.5rem}.payment-filter-bar{display:flex;justify-content:center;margin-bottom:1.5rem}.payment-filter-bar select{padding:.5rem;border:1px solid var(--color-border);border-radius:6px;font-size:1rem;background-color:var(--color-surface);color:var(--color-text);cursor:pointer}.payment-filter-bar select:focus{outline:none;border-color:var(--color-primary)}.payment-summary{text-align:center;margin-bottom:2rem;background-color:var(--color-primary-light);padding:1.25rem;border-radius:12px;border:1px solid var(--color-primary-light);box-shadow:0 2px 6px #0000000a}.payment-summary p{font-size:1rem;margin:.25rem 0;font-weight:500}.transaction-item{margin-bottom:.75rem;padding:.75rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;transition:background-color .3s}.transaction-item:hover{background-color:var(--color-primary-light)}.transaction-item strong{font-weight:600}.transaction-item .note{font-size:.95rem;margin-top:.25rem;color:var(--color-text-muted)}.payment-ledger{width:100%;border-collapse:collapse;margin-top:1rem;font-family:monospace}.payment-ledger th,.payment-ledger td{border:1px solid var(--color-border);padding:8px;text-align:left}.payment-ledger th{background-color:var(--color-bg)}.payment-ledger td:last-child{font-weight:700;color:var(--color-primary)}strong.positive{color:var(--color-success)}strong.negative{color:var(--color-danger)}.section{padding:2rem;background-color:var(--color-bg)}.section-title{font-size:1.875rem;margin-bottom:1.5rem;color:var(--color-text)}.admin-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.listing-overview{display:flex;justify-content:space-between;align-items:center}.listing-overview button{margin-left:.5rem}.edit-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.edit-form input,.edit-form textarea,.edit-form select{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:4px;font-size:1rem}.image-management{grid-column:1 / -1;margin-top:1rem}.image-management h4{margin-bottom:.5rem;color:var(--color-text-muted)}.preview-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.preview-item{position:relative;width:80px;height:80px}.preview-item img{width:100%;height:100%;object-fit:cover;border-radius:4px}.preview-item button{position:absolute;top:-6px;right:-6px;background:var(--color-danger);border:none;color:#fff;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}input[type=file]{padding:.25rem 0}.property-card .property-image{height:180px;overflow:hidden}.property-card .property-image img{width:100%;height:100%;object-fit:cover}.section .property-grid .property-card .property-image img{width:100%;max-height:180px;object-fit:cover;border-radius:6px}.tenant-list .section-title{margin-bottom:1rem;font-size:1.5rem;color:var(--color-text)}.tenant-list ul{list-style:none;padding:0;margin:0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;background:var(--color-surface)}.tenant-list li{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);transition:background-color .2s ease}.tenant-list li:last-child{border-bottom:none}.tenant-list li:hover{background-color:var(--color-bg)}.tenant-list a{text-decoration:none;color:var(--color-primary);font-weight:500;display:block}.tenant-detail a{display:inline-block;margin-bottom:1rem;color:var(--color-primary);text-decoration:none;font-size:.9rem}.tenant-detail .section-title{margin-bottom:1rem;font-size:1.6rem;color:var(--color-text)}.tenant-detail .info-block,.tenant-detail .listing-block,.tenant-detail .payments-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.tenant-detail .info-block p{margin:.5rem 0;font-size:1rem;color:var(--color-text)}.tenant-detail .listing-block h4{margin-bottom:.5rem;font-size:1.1rem;color:var(--color-text)}.tenant-detail .listing-block p{margin:.3rem 0;font-size:.95rem;color:var(--color-text-muted)}.tenant-detail .payments-block h4{margin-bottom:.5rem;font-size:1.1rem;color:var(--color-text)}.tenant-detail .payments-block ul{list-style:none;padding:0;margin:0}.tenant-detail .payments-block li{padding:.5rem 0;border-bottom:1px solid var(--color-border);font-size:.95rem;color:var(--color-text)}.tenant-detail .payments-block li:last-child{border-bottom:none}.navbar-header{position:fixed;top:0;left:0;right:0;height:var(--navbar-height);display:flex;align-items:center;z-index:1000;background:var(--color-primary);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.navbar-header-container{width:100%;max-width:1200px;margin:0 auto;padding:.75rem 1rem;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}.navbar-logo{font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none}.navbar-menu-button,.navbar-user-info{background:none;border:none;padding:.5rem;border-radius:.375rem;color:#fff;cursor:pointer;outline:none;transition:background-color .2s ease}.navbar-menu-button:hover{background-color:#3b82f680}.navbar-panel{position:fixed;top:0;left:0;height:100vh;width:16rem;background:var(--color-primary-dark);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 25px 50px -12px #00000040;padding:1.5rem;overflow-y:auto;z-index:900}.navbar-panel-links{margin-top:4rem;list-style:none;padding:0}.navbar-panel-links li{margin-bottom:1.25rem}.navbar-panel-theme{margin-top:.5rem}.navbar-menu-button{display:none}.navbar-desktop-links{display:flex;align-items:center;gap:1.5rem;margin-left:auto;margin-right:1.5rem}.navbar-desktop-links .navbar-link{padding-bottom:4px;border-bottom:2px solid transparent}.navbar-desktop-links .navbar-link:hover{border-bottom-color:var(--color-primary-light)}.navbar-desktop-links .navbar-user-email{color:#fff;font-size:.85rem;opacity:.85;white-space:nowrap}.theme-toggle-button{background:none;border:none;padding:.4rem;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease}.theme-toggle-button:hover{background-color:#3b82f680}@media (max-width: 768px){.navbar-menu-button{display:inline-block}.navbar-desktop-links{display:none}}@media (min-width: 769px){.navbar-panel{display:none!important}}.dashboard-content{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:1.5rem}.dashboard-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);text-align:center}.section-title{display:flex;align-items:center;justify-content:center;gap:.5rem}.section-title__icon{color:var(--color-primary)}.rent-reminders-page{display:flex;align-items:flex-start;gap:2rem;flex-wrap:wrap}.rent-reminders-page__main{flex:1;min-width:280px}.rent-reminders-page__sidebar{width:300px}.rent-reminders-page__sidebar h3{display:flex;align-items:center;gap:.4rem}.rent-reminders-page__list{list-style:none;padding:0;margin:0}.rent-reminders-page__list li{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.rent-reminders-page__timestamp{font-size:12px;color:var(--color-text-muted)}.rent-reminders-page__empty{font-style:italic;color:var(--color-text-muted)}.rent-reminders-page__sent{margin-top:1rem}.dashboard-button{margin-top:.75rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;outline:none}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.floater{position:absolute;animation:float 6s ease-in-out infinite;pointer-events:none}.success-check{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:999}.image-carousel{display:flex;flex-direction:column;gap:.5rem;width:100%}.image-carousel__viewport{position:relative;width:100%;height:180px;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-bg)}.image-carousel__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.image-carousel--empty{width:100%;height:180px;border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center}.image-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:999px;background:#0f172a8c;color:#fff;cursor:pointer;transition:background-color .15s ease}.image-carousel__arrow:hover{background:#0f172acc}.image-carousel__arrow--prev{left:8px}.image-carousel__arrow--next{right:8px}.image-carousel__dots{display:flex;justify-content:center;gap:.4rem}.image-carousel__dot{width:7px;height:7px;padding:0;border:none;border-radius:999px;background:var(--color-border);cursor:pointer;transition:background-color .15s ease,transform .15s ease}.image-carousel__dot.is-active{background:var(--color-primary);transform:scale(1.3)}.home-values__grid,.home-steps__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-6);margin-top:var(--space-6)}.home-values__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-6);text-align:center}.home-values__icon{color:var(--color-primary);margin-bottom:var(--space-2)}.home-values__card h3{margin:0 0 var(--space-2);font-size:1.05rem}.home-values__card p{margin:0;color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.home-steps__card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-6);text-align:center}.home-steps__number{position:absolute;top:-12px;left:-12px;width:28px;height:28px;border-radius:999px;background:var(--color-primary);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.home-steps__icon{color:var(--color-primary);margin-bottom:var(--space-2)}.home-steps__card h3{margin:0 0 var(--space-2);font-size:1.05rem}.home-steps__card p{margin:0;color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.listings-page{padding:3rem 2rem;max-width:1200px;margin:0 auto}.listings-intro{max-width:600px;margin:0 auto var(--space-8);text-align:center;font-size:1.05rem;color:var(--color-text-muted)}.listings-toolbar{max-width:900px;margin:0 auto var(--space-6);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.listings-toolbar__filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);align-items:end}.listings-toolbar__field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.listings-toolbar__field label,.listings-toolbar__field-label{font-size:.85rem;font-weight:600;color:var(--color-text)}.listings-toolbar__field input,.listings-toolbar__field select{width:100%;height:2.4rem;padding:0 .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;background:var(--color-bg);color:var(--color-text);box-sizing:border-box;transition:border-color .15s ease}.listings-toolbar__field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.listings-toolbar__field input:focus,.listings-toolbar__field select:focus{outline:none;border-color:var(--color-primary)}.listings-toolbar__toggle{position:relative;display:inline-flex;align-items:center;gap:.6rem;height:2.4rem;cursor:pointer}.listings-toolbar__toggle input{position:absolute;opacity:0;width:0;height:0}.listings-toolbar__toggle-track{position:relative;flex-shrink:0;width:42px;height:24px;background:var(--color-border);border-radius:999px;transition:background-color .15s ease}.listings-toolbar__toggle-track:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-sm);transition:transform .15s ease}.listings-toolbar__toggle input:checked+.listings-toolbar__toggle-track{background:var(--color-primary)}.listings-toolbar__toggle input:checked+.listings-toolbar__toggle-track:before{transform:translate(18px)}.listings-toolbar__toggle-text{font-size:.9rem;color:var(--color-text-muted);white-space:nowrap}.listings-count{text-align:center;margin:0 0 var(--space-6);font-size:.9rem;color:var(--color-text-muted)}.listings-page__grid{margin-top:var(--space-2)}.listings-page__card-link{text-decoration:none}.listings-page__empty{color:var(--color-text-muted);font-size:1rem;text-align:center;width:100%}@media (max-width: 600px){.listings-page{padding:2rem 1.25rem}.listings-toolbar{padding:var(--space-4)}.listings-toolbar__filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 420px){.listings-toolbar__filter-grid{grid-template-columns:1fr}}.contact-page{position:relative;padding:3rem 2rem;max-width:800px;margin:0 auto;background-color:var(--color-bg)}.contact-page__floater{position:absolute;pointer-events:none;animation:float 8s ease-in-out infinite}.contact-page__title{font-size:2rem;font-weight:700;text-align:center;margin-bottom:1rem;color:var(--color-text)}.contact-page__intro{max-width:600px;margin:0 auto 2rem;font-size:1.1rem;text-align:center;color:var(--color-text-muted)}.contact-page__success{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000}.contact-page__content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:flex-start}.contact-page__info{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.contact-page__info-title{margin-top:0;margin-bottom:1rem;font-size:1.2rem;color:var(--color-primary)}.contact-page__form{display:flex;flex-direction:column;gap:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.contact-page__form-group{display:flex;flex-direction:column}.contact-page__label{margin-bottom:.5rem;font-weight:600;color:var(--color-text)}.contact-page__input,.contact-page__textarea{padding:.6rem;border:1px solid var(--color-border);border-radius:6px;font-size:1rem;background:var(--color-surface);color:var(--color-text);transition:border-color .2s ease}.contact-page__input:focus,.contact-page__textarea:focus{outline:none;border-color:var(--color-primary)}.contact-page__submit-btn{align-self:flex-start;padding:.6rem 1.2rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.contact-page__submit-btn:hover{background-color:var(--color-primary-dark)}.contact-page__submit-btn:active{transform:scale(.95)}@media (max-width: 768px){.contact-page__content{grid-template-columns:1fr}}.admin-dashboard.section{position:relative;padding:3rem 2rem 2rem;max-width:1200px;margin:0 auto}.section-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:var(--color-text);text-align:center}.admin-dashboard__snapshot{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-bottom:2rem}.admin-dashboard__snapshot-item{display:flex;align-items:center;gap:.6rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem 1.25rem;box-shadow:var(--shadow-sm)}.admin-dashboard__snapshot-item div{display:flex;flex-direction:column}.admin-dashboard__snapshot-item strong{font-size:1.15rem}.admin-dashboard__snapshot-item span{font-size:.8rem;color:var(--color-text-muted)}.dashboard-content{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}@media (max-width: 1024px){.dashboard-content{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.dashboard-content{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.dashboard-content{grid-template-columns:1fr}}.listing-details__loading{padding:2rem}.listing-details__layout{display:flex;flex-direction:column;gap:var(--space-6)}@media (min-width: 768px){.listing-details__layout{flex-direction:row;align-items:flex-start}.listing-details__media{flex:1.2;position:sticky;top:5rem}.listing-details__info{flex:1}}.listing-details__media{padding:var(--space-3)}.listing-details__media .image-carousel__viewport{height:360px}.listing-details__info{display:flex;flex-direction:column;gap:var(--space-6)}.listing-details__summary{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.listing-details__price{font-size:1.6rem;font-weight:700;margin:0;color:var(--color-text)}.listing-details__meta-row{display:flex;flex-wrap:wrap;gap:var(--space-4);color:var(--color-text-muted);font-size:.95rem}.listing-details__meta-row span{display:inline-flex;align-items:center;gap:.35rem}.listing-details__description{margin:0;color:var(--color-text);line-height:1.6}.listing-details__apply{margin-top:var(--space-2)}.listing-details__map h4{margin:0 0 var(--space-3)}.listing-details__map iframe{border-radius:var(--radius-sm)}.listing-details__map-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:var(--space-3);font-size:.9rem}.tenant-dashboard{max-width:1200px;margin:0 auto;padding:3rem 2rem}.tenant-dashboard__snapshot{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-bottom:2rem}.tenant-dashboard__snapshot-item{display:flex;align-items:center;gap:.6rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem 1.25rem;box-shadow:var(--shadow-sm)}.tenant-dashboard__snapshot-item div{display:flex;flex-direction:column}.tenant-dashboard__snapshot-item strong{font-size:1.15rem}.tenant-dashboard__snapshot-item span{font-size:.8rem;color:var(--color-text-muted)}.tenant-dashboard__content{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;align-items:start;align-self:stretch;width:100%}.tenant-dashboard__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-6);box-sizing:border-box;display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.tenant-dashboard__card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light);transform:translateY(-2px)}.tenant-dashboard__card-icon{color:var(--color-primary);margin-bottom:.5rem;flex-shrink:0}.tenant-dashboard__card h3{display:flex;align-items:center;gap:.5rem;margin:0 0 var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);font-size:1.05rem;font-weight:700;color:var(--color-text)}.tenant-dashboard__card p{margin:.35rem 0;color:var(--color-text);line-height:1.5}.tenant-dashboard__card-button{align-self:flex-start;margin-top:.75rem;display:inline-flex;align-items:center;gap:.4rem}.tenant-dashboard__property{font-weight:700;font-size:1.05rem}.tenant-dashboard__meta{color:var(--color-text-muted);font-size:.85rem}.tenant-dashboard__sparkline{margin:var(--space-3) 0;padding:var(--space-2) var(--space-1);background:var(--color-bg);border-radius:var(--radius-sm)}.tenant-dashboard__card-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;color:var(--color-primary);font-weight:600;text-decoration:none}.tenant-dashboard__card-link:hover{color:var(--color-primary-dark)}.tenant-dashboard__success{display:flex;align-items:center;gap:.5rem;color:var(--color-success);font-weight:600;padding:.5rem 0}.tenant-dashboard__balance{font-size:1.4rem}.maintenance-form{display:flex;flex-direction:column;gap:var(--space-4)}.maintenance-form__field{display:flex;flex-direction:column;gap:.35rem}.maintenance-form__field span{font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.maintenance-form select,.maintenance-form textarea,.maintenance-form input{padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:.95rem;font-family:inherit;resize:vertical}.maintenance-form select:focus,.maintenance-form textarea:focus,.maintenance-form input:focus{outline:none;border-color:var(--color-primary)}.maintenance-form button{align-self:flex-start}.tenant-dashboard__renewal-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.tenant-dashboard__request-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.tenant-dashboard__request-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-bottom:.6rem;border-bottom:1px solid var(--color-border)}.tenant-dashboard__request-list li:last-child{border-bottom:none;padding-bottom:0}.toggle-resolved-btn{margin-left:auto;font-size:.75rem;padding:.3rem .6rem;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted)}.toggle-resolved-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}@media (max-width: 768px){.tenant-dashboard__content{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.tenant-dashboard__content{grid-template-columns:1fr}}.admin-listings.section{position:relative;padding:3rem 2rem;max-width:1200px;margin:0 auto}.admin-listings__empty{text-align:center;color:var(--color-text-muted);font-size:1rem}.admin-listings__toolbar{display:flex;flex-direction:column;gap:var(--space-6);max-width:900px;margin:0 auto 2rem;padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.admin-listings__search{display:flex;align-items:center;gap:var(--space-2);padding:.65rem var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted)}.admin-listings__search input{flex:1;border:none;outline:none;background:transparent;font-size:.95rem;color:var(--color-text)}.admin-listings__filters{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.admin-listings__filters-title{margin:0;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.admin-listings__filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);align-items:end}.admin-listings__filter-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.admin-listings__filter-field label{font-size:.8rem;font-weight:600;color:var(--color-text)}.admin-listings__filter-field select,.admin-listings__filter-field input{width:100%;height:2.4rem;padding:0 .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;background:var(--color-surface);color:var(--color-text);box-sizing:border-box}.admin-listings__occupancy-toggle{display:flex;gap:.35rem;height:2.4rem}.admin-listings__occupancy-toggle .btn{flex:1;padding:0 .6em;font-size:.85rem;justify-content:center}.admin-listings__occupancy-toggle .btn.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.listings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;list-style:none;margin:0;padding:0}.listings-grid li{width:100%}.listing-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;height:100%;transition:box-shadow .2s ease,transform .2s ease}.listing-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.listing-card__image{height:150px;background:var(--color-bg);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.listing-card__image img{width:100%;height:100%;object-fit:cover}.listing-card__body{padding:1.25rem;display:flex;flex-direction:column;gap:.4rem;flex-grow:1}.listing-card__title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.listing-card__meta{margin:0;color:var(--color-text-muted);font-size:.9rem}.listing-card__tenant{margin:0;font-size:.9rem}.listing-card__actions{margin-top:auto;padding-top:.75rem;display:flex;gap:.5rem}@media (max-width: 768px){.listings-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width: 600px){.admin-listings__toolbar{padding:var(--space-4)}.admin-listings__filter-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 420px){.admin-listings__filter-grid{grid-template-columns:1fr}}.edit-listing.section{position:relative;padding:3rem 2rem;max-width:800px;margin:0 auto}.edit-listing__back-link{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1rem;color:var(--color-primary);text-decoration:none;font-weight:500}.edit-listing__back-link:hover{color:var(--color-primary-dark)}.edit-listing__loading{text-align:center;color:var(--color-text-muted);padding:2rem 0}.form-group input,.form-group textarea{margin-top:.5rem;padding:.6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;font-weight:400;background:var(--color-bg);color:var(--color-text);resize:vertical}.leases-manager{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1rem}.leases-manager__empty{color:var(--color-text-muted);font-size:.9rem;margin:0 0 .5rem}.leases-manager__list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.leases-manager__list li{display:flex;align-items:center;gap:.6rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.9rem;font-weight:400}.leases-manager__list li span:first-child{flex:1}.leases-manager__rent{color:var(--color-text-muted);font-size:.85rem}.leases-manager__add-form{margin-top:.75rem;display:flex;flex-direction:column;gap:.6rem}.leases-manager__add-form input{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text)}.leases-manager__hint{font-size:.8rem;color:var(--color-text-muted);margin:0}.leases-manager__tenant-picker{display:flex;flex-wrap:wrap;gap:.5rem 1rem;max-height:120px;overflow-y:auto;padding:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.leases-manager__checkbox{display:flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:400}.leases-manager__add-actions{display:flex;gap:.5rem}.image-previews{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.preview-item{position:relative;width:90px;height:90px}.preview-item button{position:absolute;top:-6px;right:-6px;background:var(--color-danger);border:none;color:#fff;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.form-actions{display:flex;gap:.75rem;align-items:center}.admin-messages.section{position:relative;padding:3rem 2rem;max-width:1000px;margin:0 auto;background-color:var(--color-bg)}.messages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;list-style:none;margin:0;padding:0}.messages-grid li{width:100%}.message-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;min-height:180px;box-sizing:border-box}.message-content p{margin:.5rem 0;word-break:break-word}.message-actions{text-align:center;margin-top:1rem}.action-btn{padding:.5rem 1rem;border-radius:4px;border:none;cursor:pointer;transition:background-color .2s ease}.delete-btn{background-color:var(--color-danger);color:#fff}.delete-btn:hover{background-color:#b91c1c}.add-listing.section{position:relative;padding:3rem 2rem;max-width:800px;margin:0 auto}.listing-form{display:flex;flex-direction:column;gap:1.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.75rem}.form-section{display:flex;flex-direction:column;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section__title{margin:0;font-size:1rem;font-weight:700;color:var(--color-text)}.form-section__grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width: 600px){.form-section__grid{grid-template-columns:repeat(2,1fr)}}.field-hint{margin-top:.35rem;font-size:.8rem;font-weight:400;color:var(--color-text-muted)}.form-group{display:flex;flex-direction:column;font-weight:600;color:var(--color-text)}.form-group input,.form-group textarea{margin-top:.5rem;padding:.6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;font-weight:400;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.preview-grid{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.75rem}.preview-item{position:relative;width:100px;height:100px;flex-shrink:0}.preview-item img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.remove-btn{position:absolute;top:-6px;right:-6px;background:var(--color-danger);color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer}.submit-btn{padding:.75rem 1.5rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;cursor:pointer;transition:background-color .2s ease}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.submit-btn:hover:not(:disabled){background-color:var(--color-primary-dark)}.admin-maintenance.section{position:relative;padding:3rem 2rem;max-width:1000px;margin:0 auto;background-color:var(--color-bg)}.section-title{font-size:2rem;font-weight:700;margin-bottom:1.5rem;text-align:center;color:var(--color-text)}.no-requests{text-align:center;color:var(--color-text-muted);font-size:1.1rem;padding:2rem 0}.floater{position:absolute;pointer-events:none;animation:float 8s ease-in-out infinite}.success-check{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000}.maintenance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;list-style:none;margin:0;padding:0}.maintenance-grid li{width:100%}.maintenance-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);box-sizing:border-box}.maintenance-card__body{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}.maintenance-card__header{display:flex;align-items:center;justify-content:space-between}.maintenance-card__date{font-size:.85rem;color:var(--color-text-muted)}.maintenance-card__issue{font-size:1.05rem;font-weight:600;margin:.25rem 0}.maintenance-card p{margin:0;font-size:.95rem;color:var(--color-text)}.maintenance-card strong{color:var(--color-text)}.action-btn{align-self:flex-start;margin-top:.5rem;padding:.5rem 1rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s}.action-btn:hover{background-color:var(--color-primary-dark)}.resolved-text{display:flex;align-items:center;gap:.4rem;font-size:.95rem;color:var(--color-success);margin-top:.5rem}.admin-maintenance__toolbar{display:flex;justify-content:center;margin-bottom:1.5rem}.admin-maintenance__toolbar select{padding:.5rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.maintenance-card__expanded{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.maintenance-card__contact,.maintenance-card__assign,.maintenance-card__status{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}.maintenance-card__contact p{display:flex;align-items:center;gap:.4rem}.maintenance-card__details-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem}.maintenance-card__details-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--color-text-muted)}.maintenance-card__details-form input{padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:.9rem}.maintenance-card__details-actions{grid-column:1 / -1;display:flex;gap:.6rem}.maintenance-card__assign label,.maintenance-card__status label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-muted)}.maintenance-card__assign select,.maintenance-card__status select{padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.maintenance-card__status textarea{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:inherit;resize:vertical}.maintenance-card__fee-note{display:flex;align-items:center;gap:.4rem;color:var(--color-success);font-size:.9rem}.maintenance-card__history{font-size:.85rem}.maintenance-card__history h5{display:flex;align-items:center;gap:.35rem;margin:0 0 .4rem;color:var(--color-text-muted)}.maintenance-card__history ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.maintenance-card__history-meta{display:block;color:var(--color-text-muted);font-size:.78rem}.maintenance-card__history-note{display:block}@media (max-width: 768px){.maintenance-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width: 480px){.maintenance-grid{grid-template-columns:1fr}}.log-payment.section{position:relative;padding:3rem 2rem;max-width:800px;margin:0 auto}.success-check{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;background:var(--color-surface);border-radius:999px;padding:1rem;box-shadow:var(--shadow-lg)}.log-payment__toggle{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.5rem}.log-payment__toggle-btn{padding:.6rem 1.5rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-weight:600;cursor:pointer;transition:all .15s ease}.log-payment__toggle-btn:hover{border-color:var(--color-text-muted)}.log-payment__toggle-btn--active.log-payment__toggle-btn--payment{border-color:var(--color-success);background:var(--color-success-light);color:var(--color-success);box-shadow:0 0 0 1px var(--color-success)}.log-payment__toggle-btn--active.log-payment__toggle-btn--charge{border-color:var(--color-danger);background:var(--color-danger-light);color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.payment-form{display:grid;grid-template-columns:1fr;gap:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.75rem}@media (min-width: 600px){.payment-form{grid-template-columns:repeat(2,1fr)}}.form-group{display:flex;flex-direction:column}.form-group--full{grid-column:1 / -1}.form-group select,.form-group input,.form-group textarea{margin-top:.5rem;padding:.6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;background:var(--color-surface);color:var(--color-text);transition:border-color .2s ease}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.shake{animation:shake .4s ease-in-out}.form-actions{grid-column:1 / -1;text-align:center}.submit-btn{padding:.75rem 1.5rem;color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;cursor:pointer;transition:background-color .2s ease}.submit-btn--payment{background-color:var(--color-success)}.submit-btn--payment:hover{background-color:#15803d}.submit-btn--charge{background-color:var(--color-danger)}.submit-btn--charge:hover{background-color:#b91c1c}.recent-records{margin-top:var(--space-8)}.recent-records__title{font-size:1.1rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-4)}.recent-records__empty{color:var(--color-text-muted);font-style:italic}.recent-records__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.recent-record{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4);padding-right:3rem}.recent-record__main{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-1)}.recent-record__tenant{font-weight:600;color:var(--color-text)}.recent-record__amount{font-variant-numeric:tabular-nums}.recent-record__date{color:var(--color-text-muted);font-size:.85rem;margin-left:auto}.recent-record__desc{color:var(--color-text-muted);font-size:.9rem}.recent-record__edit-btn{position:absolute;top:var(--space-3);right:var(--space-3)}.recent-record__edit-form{display:flex;flex-direction:column;gap:var(--space-3)}.recent-record__edit-fields{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 600px){.recent-record__edit-fields{grid-template-columns:repeat(2,1fr)}}.recent-record__edit-fields .form-group,.recent-record__edit-form>.form-group{font-size:.9rem;color:var(--color-text-muted)}.recent-record__edit-fields .form-group input,.recent-record__edit-fields .form-group select,.recent-record__edit-form>.form-group input,.recent-record__edit-form>.form-group textarea{margin-top:.35rem;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;background:var(--color-surface);color:var(--color-text)}.recent-record__edit-actions{display:flex;gap:var(--space-3)}.recent-record__edit-actions .btn:disabled{opacity:.5;cursor:not-allowed}.pdf-preview{margin-top:var(--space-4)}.pdf-preview+.pdf-preview{margin-top:var(--space-4)}.pdf-preview__heading{margin:0 0 var(--space-2);color:var(--color-text)}.pdf-preview__heading--pending{color:var(--color-text-muted);font-style:italic}.pdf-preview__frame{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-4)}.rent-reminders-page{display:flex;flex-direction:column;gap:var(--space-6);max-width:1100px;margin:0 auto}.rent-reminders-page__send-card{display:flex;flex-direction:column;gap:var(--space-3)}.rent-reminders-page__send-card button{align-self:flex-start}.rent-reminders-page__sent{margin-top:var(--space-2)}.rent-reminders-page__sent h4{margin:0 0 var(--space-2);color:var(--color-text)}.rent-reminders-page__sent ul{margin:0;padding-left:var(--space-4);color:var(--color-text-muted)}.rent-reminders-page__log{display:flex;flex-direction:column;gap:var(--space-4)}.rent-reminders-page__toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3)}.rent-reminders-page__search{flex:1;min-width:220px;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.rent-reminders-page__toolbar select,.rent-reminders-page__year-input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.rent-reminders-page__year-input{width:110px}.rent-reminders-page__table-wrap{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.rent-reminders-page__table{width:100%;border-collapse:collapse;font-size:.92rem}.rent-reminders-page__table th{text-align:left;padding:var(--space-3) var(--space-4);background:var(--color-bg);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap}.rent-reminders-page__table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.rent-reminders-page__table tr:last-child td{border-bottom:none}.rent-reminders-page__table tbody tr:nth-child(2n){background:var(--color-bg)}.rent-reminders-page__timestamp{font-size:.82rem;color:var(--color-text-muted);white-space:nowrap}.rent-reminders-page__empty{font-style:italic;color:var(--color-text-muted);text-align:center;padding:var(--space-6) 0}.rent-reminders-page__load-more{display:flex;justify-content:center}.about-approach{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-6);margin:0 auto 2rem;max-width:1000px}.about-approach__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-6);text-align:center}.about-approach__icon{color:var(--color-primary);margin-bottom:var(--space-2)}.about-approach__card h3{margin:0 0 var(--space-2);font-size:1.05rem}.about-approach__card p{margin:0;color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.about-cta{text-align:center;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--color-border)}.about-cta p{margin:0 0 var(--space-3);color:var(--color-text-muted)}.analytics-dashboard{position:relative;padding:2.5rem 2rem;max-width:1200px;margin:0 auto}.analytics-dashboard__title{font-size:2rem;font-weight:700;text-align:center;margin-bottom:.5rem;color:var(--color-text);display:flex;align-items:center;justify-content:center;gap:.5rem}.analytics-dashboard__intro{text-align:center;margin-bottom:1.5rem;color:var(--color-text-muted)}.analytics-dashboard__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;margin-bottom:1.5rem}.analytics-dashboard__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.5rem;transition:box-shadow .2s ease,transform .2s ease}.analytics-dashboard__card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.analytics-dashboard__card-icon{color:var(--color-primary);margin-bottom:.5rem}.analytics-dashboard__card-title{margin:0;font-size:.95rem;color:var(--color-text-muted);font-weight:600}.analytics-dashboard__card-value{margin:.35rem 0;font-size:1.75rem;font-weight:700;color:var(--color-text)}.analytics-dashboard__card-desc{margin:0;color:var(--color-text-muted);font-size:.85rem}.analytics-dashboard__chart{margin-bottom:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.25rem}.analytics-dashboard__chart-title{text-align:center;font-size:1.15rem;font-weight:700;margin-bottom:.75rem;color:var(--color-text);display:flex;align-items:center;justify-content:center;gap:.4rem}.analytics-dashboard__link{font-size:.85rem;font-weight:600;color:var(--color-primary);text-decoration:none;white-space:nowrap}.analytics-dashboard__link:hover{color:var(--color-primary-dark)}.analytics-dashboard__portfolio-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.5rem;padding:.9rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.analytics-dashboard__portfolio-cta-text{display:flex;align-items:center;gap:.5rem;color:var(--color-text);font-size:.95rem}.analytics-dashboard__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.analytics-dashboard__col{display:flex;flex-direction:column;gap:1.5rem}.analytics-dashboard__grid .analytics-dashboard__chart,.analytics-dashboard__grid .analytics-dashboard__outstanding{margin-bottom:0}@media (min-width: 900px){.analytics-dashboard__grid{grid-template-columns:1.3fr 1fr;align-items:start}}.analytics-dashboard__outstanding{margin-bottom:1.5rem}.analytics-dashboard__outstanding-title{text-align:center;font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:var(--color-text);display:flex;align-items:center;justify-content:center;gap:.4rem}.analytics-dashboard__outstanding-list{list-style:none;padding:0;margin:0 auto;max-width:480px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;overflow-y:auto;max-height:320px}.analytics-dashboard__col .analytics-dashboard__outstanding-list{max-width:none;margin:0}.analytics-dashboard__outstanding-item{display:flex;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);font-size:.95rem}.analytics-dashboard__outstanding-item:last-child{border-bottom:none}.analytics-dashboard__outstanding-item a{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-text);text-decoration:none}.analytics-dashboard__outstanding-item a:hover{color:var(--color-primary)}@media (max-width: 480px){.analytics-dashboard__cards{grid-template-columns:1fr}}.admin-portfolio{max-width:1200px}.admin-portfolio__title{justify-content:center;text-align:center;margin-bottom:.5rem}.admin-portfolio__intro{text-align:center;margin-bottom:2rem;color:var(--color-text-muted)}.admin-portfolio__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.admin-portfolio__search{display:flex;align-items:center;gap:.5rem;flex:1 1 280px;max-width:420px;padding:.6rem .9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted)}.admin-portfolio__search input{flex:1;border:none;outline:none;background:transparent;font-size:.95rem;color:var(--color-text)}.admin-portfolio__tabs{display:flex;gap:.5rem}.admin-portfolio__tab{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem 1rem;font-weight:600;font-size:.9rem;color:var(--color-text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.admin-portfolio__tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.admin-portfolio__tab--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.admin-portfolio__link{font-size:.85rem;font-weight:600;color:var(--color-primary);text-decoration:none;white-space:nowrap}.admin-portfolio__link:hover{color:var(--color-primary-dark)}.admin-portfolio__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.5rem}.admin-portfolio__empty{text-align:center;color:var(--color-text-muted);padding:1rem 0}.admin-portfolio__table-wrap{overflow-x:auto}.admin-portfolio__table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-portfolio__table th{text-align:left;padding:.6rem .75rem;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface)}.admin-portfolio__table td{padding:.55rem .75rem;border-bottom:1px solid var(--color-border)}.admin-portfolio__table a{color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.3rem}.admin-portfolio__table-note{margin-top:.75rem;font-size:.8rem;color:var(--color-text-muted);text-align:center}@media (max-width: 640px){.admin-portfolio__toolbar{flex-direction:column;align-items:stretch}.admin-portfolio__search{max-width:none}}.tph-page{max-width:900px;margin:0 auto;padding:3rem 2rem;background:var(--color-bg)}.tph-page__title{font-size:2rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.tph-page__filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;align-items:center}.tph-page__filter{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.tph-page__select{padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);cursor:pointer}.tph-page__sort-btn{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.tph-page__sort-btn:hover{background:var(--color-primary-dark)}.tph-page__summary{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:2rem}.tph-page__summary p{margin:0;font-weight:500}.tph-page__table{width:100%;border-collapse:collapse;font-size:.95rem}.tph-page__table th,.tph-page__table td{border:1px solid var(--color-border);padding:.5rem;text-align:left}.tph-page__table th{background:var(--color-bg)}.tph-page__td--pos{color:var(--color-success)}.tph-page__td--neg{color:var(--color-danger)}.tph-page__empty{text-align:center;color:var(--color-text-muted)}.tph-page__lease-group{margin-bottom:2.5rem}.tph-page__lease-heading{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;margin-bottom:.75rem}.tph-page__lease-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}.tph-page__lease-ending-balance{margin-top:.5rem;text-align:right;font-size:.95rem}@media (max-width: 600px){.tph-page__filters{flex-direction:column;align-items:stretch}.tph-page__summary{flex-direction:column;align-items:stretch;text-align:center}}.tenant-list-page{position:relative;padding:3rem 2rem;max-width:800px;margin:0 auto;background-color:var(--color-bg)}.tenant-list-page__floater{position:absolute;pointer-events:none;animation:float 8s ease-in-out infinite}.tenant-list-page__title{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:2rem;font-weight:700;text-align:center;margin-bottom:1.5rem;color:var(--color-text)}.tenant-list-page__empty{text-align:center;color:var(--color-text-muted);font-size:1.1rem}.tenant-list-page__search{display:flex;align-items:center;gap:.5rem;max-width:420px;margin:0 auto 1.5rem;padding:.6rem .9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted)}.tenant-list-page__search input{flex:1;border:none;outline:none;background:transparent;font-size:.95rem;color:var(--color-text)}.tenant-list-page__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;list-style:none;margin:0;padding:0}.tenant-list-page__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;min-height:80px;box-sizing:border-box}.tenant-list-page__link{text-decoration:none;color:var(--color-primary);font-weight:500;font-size:1rem;transition:color .2s ease}.tenant-list-page__link:hover{color:var(--color-primary-dark)}@media (max-width: 600px){.tenant-list-page__list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.tenant-list-page__tabs{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.25rem}.tenant-list-page__tab{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem 1rem;font-weight:600;font-size:.9rem;color:var(--color-text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.tenant-list-page__tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.tenant-list-page__tab--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tenant-list-page__pending-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.tenant-list-page__pending-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.tenant-list-page__pending-info{display:flex;flex-direction:column;gap:.15rem}.tenant-list-page__pending-info span{color:var(--color-text-muted);font-size:.9rem}.tenant-list-page__pending-actions{display:flex;flex-wrap:wrap;gap:.5rem}.tenant-list-page__approve-form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.tenant-list-page__approve-form select,.tenant-list-page__approve-form input{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.tenant-detail-page{position:relative;padding:3rem 2rem;max-width:800px;margin:0 auto;background-color:var(--color-bg)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.tenant-detail-page__floater{position:absolute;pointer-events:none;animation:float 8s ease-in-out infinite}.tenant-detail-page__back-link{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1rem;color:var(--color-primary);text-decoration:none;font-weight:500}.tenant-detail-page__back-link:hover{color:var(--color-primary-dark)}.tenant-detail-page__success{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;background:var(--color-surface);border-radius:999px;padding:1rem;box-shadow:var(--shadow-lg)}.tenant-detail-page__move-form{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.75rem;align-items:center}.tenant-detail-page__move-form select,.tenant-detail-page__move-form input{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.tenant-detail-page__move-actions{display:flex;gap:.5rem}.tenant-detail-page__renewal-note{display:flex;align-items:center;gap:.4rem;color:var(--color-primary);font-size:.9rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .75rem;margin:.5rem 0}.tenant-detail-page__cotenant-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.tenant-detail-page__cotenant-list li{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.tenant-detail-page__title{font-size:2rem;font-weight:700;text-align:center;margin-bottom:1.5rem;color:var(--color-text)}.tenant-detail-page__title--editable{display:flex;align-items:center;justify-content:center;gap:.6rem}.tenant-detail-page__title--editable .icon-btn{color:var(--color-text-muted)}.tenant-detail-page__title--editable .icon-btn:hover{color:var(--color-primary)}.tenant-detail-page__name-form{justify-content:center;margin-bottom:1.5rem}.tenant-detail-page__info-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.contact-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.contact-card__title{margin:0}.contact-card__edit-btn{padding:.35rem .75rem;font-size:.85rem;flex-shrink:0}.contact-card__list{margin:0;display:flex;flex-direction:column}.contact-card__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--color-border)}.contact-card__row:last-child{border-bottom:none;padding-bottom:0}.contact-card__row dt{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted);flex-shrink:0}.contact-card__row dd{margin:0;color:var(--color-text);font-weight:500;text-align:right;overflow-wrap:anywhere}.contact-card__empty{color:var(--color-text-muted);font-weight:400;font-style:italic}.contact-card__form{display:flex;flex-direction:column;gap:1rem}.contact-card__field{display:flex;flex-direction:column;gap:.4rem}.contact-card__field span{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.contact-card__field input{width:100%;padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:.95rem;box-sizing:border-box}.contact-card__field input:focus{outline:none;border-color:var(--color-primary)}.contact-card__actions{display:flex;gap:.6rem;margin-top:.25rem}.tenant-detail-page__move-in{display:flex;align-items:center;gap:.75rem;margin:.5rem 0}.tenant-detail-page__select,.tenant-detail-page__input-year{padding:.5rem;border:1px solid var(--color-border);border-radius:6px;font-size:1rem;background:var(--color-surface);color:var(--color-text)}.tenant-detail-page__edit-btn,.tenant-detail-page__save-btn,.tenant-detail-page__cancel-btn{padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.tenant-detail-page__edit-btn{background:var(--color-primary);color:#fff}.tenant-detail-page__save-btn{background:var(--color-success);color:#fff}.tenant-detail-page__cancel-btn{background:var(--color-text-muted);color:#fff}.tenant-detail-page__save-btn:hover{background:#0f9f6e}.tenant-detail-page__cancel-btn:hover{background:#565f69}.tenant-detail-page__subheading{margin-top:0;margin-bottom:1rem;font-size:1.2rem;color:var(--color-primary)}.tenant-detail-page__listing-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.tenant-detail-page__balance{font-weight:700}.tenant-detail-page__balance.pos{color:var(--color-success)}.tenant-detail-page__balance.neg{color:var(--color-danger)}.tenant-detail-page__payments-block{margin-bottom:2rem}.tenant-detail-page__lease-group{margin-bottom:1.75rem}.tenant-detail-page__lease-heading{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;margin-bottom:.6rem;color:var(--color-primary)}.tenant-detail-page__lease-badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.03em}.tenant-detail-page__lease-ending-balance{margin-top:.4rem;text-align:right;font-size:.9rem}.tenant-detail-page__table{width:100%;border-collapse:collapse}.tenant-detail-page__table th,.tenant-detail-page__table td{border:1px solid var(--color-border);padding:.5rem}.tenant-detail-page__table th{background:var(--color-bg)}.tenant-detail-page__td-pos{color:var(--color-success)}.tenant-detail-page__td-neg{color:var(--color-danger)}.tenant-detail-page__td-balance{font-weight:700}.tenant-detail-page__loading{text-align:center;color:var(--color-text-muted);padding:2rem 0}.admin-ledger.section{max-width:1300px;margin:0 auto;padding:3rem 2rem}.admin-ledger__intro{text-align:center;color:var(--color-text-muted);margin-bottom:1.5rem}.admin-ledger__toolbar{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.admin-ledger__toolbar select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.admin-ledger__toolbar .btn{margin-left:auto}.admin-ledger__toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.admin-ledger__toggle input{cursor:pointer}.admin-ledger__add-form{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:1.5rem}.admin-ledger__add-form input,.admin-ledger__add-form select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.admin-ledger__table-wrap{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.admin-ledger__table{width:100%;border-collapse:collapse;font-size:.92rem}.admin-ledger__table th{text-align:left;padding:.75rem 1rem;background:var(--color-bg);border-bottom:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-ledger__table td{padding:.65rem 1rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.admin-ledger__table tr:last-child td{border-bottom:none}.admin-ledger__empty{text-align:center;color:var(--color-text-muted);padding:2rem 1rem!important}.ledger-inline-input{width:100%;padding:.3rem .5rem;border:1px solid var(--color-primary);border-radius:var(--radius-sm)}.ledger-row-actions{display:flex;gap:.4rem}.admin-ledger__deleted-badge{margin-left:.4rem}.admin-ledger__row--deleted td{opacity:.55}.admin-ledger__row--deleted .amount--payment,.admin-ledger__row--deleted .amount--charge{text-decoration:line-through}.admin-ledger__note-row td,.admin-ledger__history-row td{background:var(--color-bg);padding:1rem}.admin-ledger__note-box{display:flex;flex-direction:column;gap:.5rem;max-width:520px}.admin-ledger__note-box label{font-size:.85rem;font-weight:600;color:var(--color-text)}.admin-ledger__note-box textarea{width:100%;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;resize:vertical}.admin-ledger__note-error{color:var(--color-danger);font-size:.85rem;margin:0}.admin-ledger__note-actions{display:flex;gap:.5rem}.admin-ledger__history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.admin-ledger__history-summary{font-size:.88rem;color:var(--color-text)}.admin-ledger__history-prev{font-size:.82rem;color:var(--color-text-muted)}.admin-ledger__pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.admin-ledger__pagination-status{font-size:.9rem;color:var(--color-text-muted)}.admin-settings.section{padding:3rem 2rem 2rem;max-width:1200px;margin:0 auto}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;align-items:start}@media (max-width: 1024px){.settings-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.settings-grid{grid-template-columns:1fr}}@media (max-width: 480px){.settings-grid{grid-template-columns:1fr;gap:1rem}}.settings-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);box-sizing:border-box;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.settings-card__icon{color:var(--color-primary)}.settings-card h3{margin:-.5rem 0 0;color:var(--color-primary-dark)}.admin-settings__hint{margin:0;font-size:.85rem;color:var(--color-text-muted)}.form-group--checkbox label{display:flex;flex-direction:row;align-items:center;gap:.5rem;font-weight:600;cursor:pointer}.form-group--checkbox input[type=checkbox]{transform:scale(1.1);accent-color:var(--color-primary);cursor:pointer}.settings-mode-toggle{display:flex;flex-wrap:wrap;gap:var(--space-3)}.settings-mode-toggle__option{display:flex;align-items:center;gap:var(--space-2);flex:1 1 auto;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);font-weight:500;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.settings-mode-toggle__option:has(input:checked){border-color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.settings-mode-toggle__option input[type=radio]{accent-color:var(--color-primary);cursor:pointer}.settings-actions{grid-column:1 / -1;display:flex;align-items:center;gap:var(--space-4)}.admin-settings__saved{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-success);font-weight:600}.tenant-settings__card{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.tenant-settings__card h3{margin:0;color:var(--color-primary-dark);display:flex;align-items:center;gap:.5rem}.tenant-settings__title-icon{flex-shrink:0}.tenant-settings__radio-group{display:flex;gap:1.5rem;margin-top:.5rem}.tenant-settings__radio{display:flex;align-items:center;gap:.4rem;font-weight:500;cursor:pointer}.tenant-settings__radio input[type=radio]{accent-color:var(--color-primary);cursor:pointer}.tenant-settings__note{display:flex;gap:.6rem;align-items:flex-start;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:.9rem 1rem}.tenant-settings__note-icon{flex:0 0 auto;margin-top:.2rem;color:var(--color-text-muted)}.tenant-settings__note p{margin:0;font-size:.9rem;color:var(--color-text-muted);line-height:1.5}.tenant-settings__actions{display:flex;align-items:center;gap:1rem}.tenant-settings__saved{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-success);font-weight:600}.tenant-settings__error{margin:0;padding:.7rem .9rem;border-radius:8px;background:var(--color-danger-light);color:var(--color-danger);font-size:.9rem}.tenant-settings__reset-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding-top:.75rem;border-top:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-muted)}.tenant-settings__link-btn{background:none;border:none;padding:0;color:var(--color-primary);font-weight:600;font-size:.85rem;cursor:pointer;text-decoration:underline}.tenant-settings__link-btn:hover{color:var(--color-primary-dark)}.tenant-settings__link-btn:disabled{color:var(--color-text-muted);cursor:not-allowed;text-decoration:none}.failure-to-pay-page__back-link{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1rem;color:var(--color-text-muted);text-decoration:none}.failure-to-pay-page__summary,.failure-to-pay-page__form{display:flex;flex-direction:column;gap:.75rem;max-width:640px;margin:0 auto 1.5rem}.failure-to-pay-page__summary h3,.failure-to-pay-page__form h3{margin:0;color:var(--color-primary-dark)}.failure-to-pay-page__summary p{margin:0}.failure-to-pay-page__hint{margin:0;font-size:.85rem;color:var(--color-text-muted)}.failure-to-pay-page__actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;max-width:640px;margin:0 auto;text-align:center}.failure-to-pay-page__actions .btn{display:inline-flex;align-items:center;gap:.5rem}.employees-page{padding:3rem 2rem;max-width:800px;margin:0 auto;background-color:var(--color-bg)}.employees-page__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.employees-page__search{display:flex;align-items:center;gap:.5rem;flex:1;min-width:220px;padding:.6rem .9rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted)}.employees-page__search input{flex:1;border:none;outline:none;background:transparent;font-size:.95rem;color:var(--color-text)}.employees-page__add-form{margin-bottom:1.5rem}.employees-page__add-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.employees-page__add-fields input,.employees-page__add-fields select{padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.employees-page__add-actions{display:flex;gap:.75rem}.employees-page__reset-card{margin-bottom:1.5rem}.employees-page__reset-link-row{display:flex;gap:.5rem;margin:.75rem 0}.employees-page__reset-link-row input{flex:1;padding:.5rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:.85rem}.employees-page__empty{text-align:center;color:var(--color-text-muted)}.employees-page__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.employees-page__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.employees-page__link{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.1rem;text-decoration:none;color:var(--color-text)}.employees-page__name{font-weight:600}.employees-page__email{margin-left:auto;color:var(--color-text-muted);font-size:.9rem}.employee-detail-page{position:relative;padding:3rem 2rem;max-width:700px;margin:0 auto;background-color:var(--color-bg)}.employee-detail-page__back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-text-muted);text-decoration:none;margin-bottom:1.5rem;font-size:.9rem}.employee-detail-page__back-link:hover{color:var(--color-primary)}.employee-detail-page__loading{text-align:center;padding:3rem;color:var(--color-text-muted)}.employee-detail-page__success{position:fixed;top:6rem;right:2rem;z-index:10}.employee-detail-page__title{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:700;color:var(--color-text);margin-bottom:1.5rem}.employee-detail-page__block{margin-bottom:1.25rem}.employee-detail-page__block-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.employee-detail-page__subheading{display:flex;align-items:center;gap:.4rem;font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 .75rem}.employee-detail-page__list{display:flex;flex-direction:column;gap:.6rem;margin:0}.employee-detail-page__row{display:flex;justify-content:space-between;gap:1rem}.employee-detail-page__row dt{display:flex;align-items:center;gap:.4rem;color:var(--color-text-muted);font-size:.9rem}.employee-detail-page__row dd{margin:0;font-weight:500}.employee-detail-page__empty{color:var(--color-text-muted);font-style:italic;font-weight:400}.employee-detail-page__form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem}.employee-detail-page__form input{padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.employee-detail-page__form-actions{grid-column:1 / -1;display:flex;gap:.6rem}.employee-detail-page__role-select{padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.employee-detail-page__hint{margin:.6rem 0 0;font-size:.85rem;color:var(--color-text-muted)}.employee-detail-page__status-actions{display:flex;gap:.75rem}.manager-dashboard.section,.employee-dashboard.section{position:relative;padding:3rem 2rem 2rem;max-width:900px;margin:0 auto}.dashboard-intro{max-width:600px;margin:0 auto 2rem;text-align:center;font-size:1.05rem;color:var(--color-text-muted)}.dashboard-content{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media (max-width: 600px){.dashboard-content{grid-template-columns:1fr}}.dashboard-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm);box-sizing:border-box;display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease}.dashboard-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.dashboard-card__icon{color:var(--color-primary);margin-bottom:.5rem}.dashboard-card h3{margin:0 0 .35rem;font-size:1.1rem}.dashboard-card p{margin:0 0 1rem;color:var(--color-text-muted);font-size:.9rem;flex-grow:1}.dashboard-button{align-self:flex-start;margin-top:auto;padding:.5rem 1rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:background-color .2s ease}.dashboard-button:hover{background-color:var(--color-primary-dark)}.dashboard-button-wrap{position:relative;display:inline-block;align-self:flex-start;margin-top:auto}.dashboard-button-wrap .dashboard-button{margin-top:0}.dashboard-button__badge{position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;padding:0 5px;display:flex;align-items:center;justify-content:center;background:var(--color-danger);color:#fff;font-size:.7rem;font-weight:700;line-height:1;border-radius:999px;border:2px solid var(--color-surface);box-shadow:var(--shadow-sm);pointer-events:none}.employee-tickets.section{position:relative;padding:3rem 2rem;max-width:1000px;margin:0 auto;background-color:var(--color-bg)}.employee-tickets__success{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000}.employee-tickets__toggle{display:flex;align-items:center;gap:.4rem;justify-content:center;margin-bottom:1.5rem;color:var(--color-text-muted);font-size:.9rem}.employee-tickets__empty{text-align:center;color:var(--color-text-muted);padding:2rem 0}.employee-tickets__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;list-style:none;margin:0;padding:0}.employee-tickets__card p{display:flex;align-items:center;gap:.4rem;margin:.25rem 0;font-size:.9rem}.employee-tickets__header{display:flex;gap:.5rem;margin-bottom:.5rem}.employee-tickets__issue{font-weight:600;font-size:1.05rem}.employee-tickets__expanded{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.6rem}.employee-tickets__history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;font-size:.85rem}.employee-tickets__history-meta{display:block;color:var(--color-text-muted);font-size:.78rem}.employee-tickets__expanded textarea{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:inherit;resize:vertical}.employee-tickets__actions{display:flex;gap:.6rem}.timecard-page{padding:3rem 2rem;max-width:700px;margin:0 auto;background-color:var(--color-bg);position:relative}.timecard-page__success{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000}.timecard-page__week-nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem;font-weight:600}.timecard-page__status-row{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.timecard-page__total{color:var(--color-text-muted)}.timecard-page__rejection{text-align:center;color:var(--color-danger);background:var(--color-danger-light);border-radius:var(--radius-sm);padding:.6rem 1rem;margin-bottom:1rem}.timecard-page__days{display:flex;flex-direction:column;gap:1rem}.timecard-page__day h4{margin:0 0 .6rem}.timecard-page__day-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}.timecard-page__day-fields--full{grid-column:1 / -1}.timecard-page__day-fields label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--color-text-muted)}.timecard-page__day-fields input,.timecard-page__day-fields textarea{padding:.5rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:inherit}.timecard-page__submit-btn{display:flex;margin:1.5rem auto 0}.timecard-page__locked-note,.timecard-page__rate-note{text-align:center;color:var(--color-text-muted);margin-top:1rem}.timecard-review.section{max-width:1300px;margin:0 auto;padding:3rem 2rem}.timecard-review__pending{margin-bottom:1.5rem}.timecard-review__pending h3{margin:0 0 1rem}.timecard-review__empty{color:var(--color-text-muted)}.timecard-review__pending-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.timecard-review__pending-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-top:1px solid var(--color-border)}.timecard-review__pending-item:first-child{border-top:none}.timecard-review__pending-info{display:flex;flex-direction:column;gap:.15rem}.timecard-review__pending-info span{color:var(--color-text-muted);font-size:.9rem}.timecard-review__pending-actions{display:flex;gap:.5rem}.timecard-review__reject-form{display:flex;flex-direction:column;gap:.5rem;min-width:260px}.timecard-review__reject-form textarea{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;resize:vertical}.timecard-review__toolbar{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.timecard-review__toolbar select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.timecard-review__table-wrap{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.timecard-review__table{width:100%;border-collapse:collapse;font-size:.92rem}.timecard-review__table th{text-align:left;padding:.75rem 1rem;background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap}.timecard-review__table td{padding:.65rem 1rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.timecard-review__table tr:last-child td{border-bottom:none}.timecard-review__empty-cell{text-align:center;color:var(--color-text-muted);padding:2rem 1rem!important}.timecard-review__inline-input{width:100%;padding:.3rem .5rem;border:1px solid var(--color-primary);border-radius:var(--radius-sm)}.timecard-review__row-actions{display:flex;gap:.4rem}.timecard-review__note-row td{background:var(--color-bg);padding:1rem}.timecard-review__note-row label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600;max-width:520px}.timecard-review__note-row textarea{padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;resize:vertical}.timecard-review__history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;font-size:.85rem}
