body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.sidebar{background-color:#1e3a8a;box-shadow:0 2px 10px #0000001a;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;transition:transform .3s ease;width:240px;z-index:999}.sidebar-content{display:flex;flex-direction:column;height:100%;padding:1.5rem 0}.sidebar-header{margin-bottom:1.5rem;padding:0 1.5rem 2rem}.sidebar h2{align-items:center;color:#fff;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0}.sidebar h2:before{content:"🏢";font-size:1.5rem}.sidebar-nav{flex:1 1;padding:0 .5rem}.sidebar ul{list-style:none;margin:0;padding:0}.sidebar li{margin-bottom:.25rem}.sidebar a{align-items:center;border-radius:6px;color:#fff;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;margin:0 .5rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s ease}.sidebar a:hover{background-color:#f1f8ff;color:#1e40af}.sidebar a.active{background-color:#dbeafe;border-left:3px solid #2563eb;color:#1e40af;font-weight:600;margin-left:.5rem;padding-left:calc(1rem - 3px)}.sidebar a[href="/"]:before,.sidebar a[href="/dashboard"]:before,.sidebar a[href="/tenant-dashboard"]:before{content:"📊";font-size:1rem}.sidebar a[href="/tenants"]:before{content:"👥";font-size:1rem}.sidebar a[href="/requests"]:before{content:"📋";font-size:1rem}.sidebar a[href="/complaints"]:before{content:"📝";font-size:1rem}.sidebar a[href="/invoices"]:before{content:"💰";font-size:1rem}.sidebar a[href="/login"]:before{content:"🔐";font-size:1rem}.sidebar-footer{margin-top:auto;padding:1rem 1.5rem}.sidebar-footer p{color:#64748b;font-size:.75rem;margin:0;text-align:center}.sidebar-overlay{background-color:#00000080;height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:998}.sidebar-overlay.open{opacity:1;visibility:visible}@media (min-width:769px){.sidebar-overlay{display:none}.sidebar{height:100vh;left:0;position:fixed;top:0;transform:translateX(0);width:240px;z-index:100}}@media (max-width:768px){.sidebar{height:100vh;padding-top:0;top:0;transform:translateX(-100%);width:280px}.sidebar.open{transform:translateX(0)}.sidebar-content{padding:1rem 0}.sidebar-header{margin-bottom:1rem;padding:1rem 1.5rem 1.5rem}.sidebar h2{font-size:1.125rem}.sidebar-nav{padding:0 .5rem}.sidebar a{font-size:.9rem;margin:0 .5rem;padding:.875rem 1rem}.sidebar a.active{margin-left:.5rem;padding-left:calc(1rem - 3px)}.sidebar-footer{padding:1rem 1.5rem}}@media (max-width:1024px) and (min-width:769px){.sidebar{height:100vh;left:0;position:fixed;top:0;transform:translateX(0);width:200px;z-index:100}.sidebar a{font-size:.8rem;padding:.6rem .8rem}}@media (max-width:480px){.sidebar{max-width:300px;width:100%}.sidebar-header{padding:1rem}.sidebar h2{font-size:1rem}.sidebar a{font-size:.85rem;padding:.75rem .875rem}}.sidebar{scrollbar-color:#e2e8f0 #0000;scrollbar-width:thin}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:#0000}.sidebar::-webkit-scrollbar-thumb{background-color:#e2e8f0;border-radius:2px}.sidebar::-webkit-scrollbar-thumb:hover{background-color:#cbd5e1}.sidebar a[href="/tenant/invoices"]:before{content:"💰";font-size:1rem}.header{align-items:center;background-color:#1e3a8a;border-bottom:1px solid #e8f2ff;box-sizing:border-box;display:flex;height:85px;justify-content:space-between;padding:1rem 2rem;position:sticky;top:0;z-index:101}.header-left,.header-right{align-items:center;display:flex;gap:1rem}.hamburger-menu{background:none;border:none;cursor:pointer;display:none;flex-direction:column;height:18px;justify-content:space-between;padding:0;width:24px;z-index:1001}.hamburger-line{background-color:#fff;height:2px;transform-origin:center;transition:all .3s ease;width:100%}.hamburger-menu:hover .hamburger-line{background-color:#fffc;transform:scaleX(1.1)}.hamburger-line.open:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.logo-title{align-items:center;display:flex;gap:.75rem}.logo-image{height:40px;width:auto}.header .logo,.header h1{color:#fff;font-size:1.5rem;font-weight:500;margin:0}.user-info{align-items:center;color:#374151;display:flex;font-size:.875rem;gap:1rem}.user-avatar{background:#f1f8ff;border:1px solid #bfdbfe;border-radius:50%;color:#2563eb;height:32px;justify-content:center;width:32px}.logout-button,.user-avatar{align-items:center;display:flex;font-weight:500}.logout-button{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.logout-button:hover{background-color:#dc2626;border-color:#dc2626;color:#fff}.logout-button:before{content:"↗";font-size:.875rem;transform:rotate(45deg)}@media (min-width:769px){.header{margin-left:240px;width:calc(100% - 240px)}}@media (max-width:1024px) and (min-width:769px){.header{margin-left:200px;width:calc(100% - 200px)}}@media (max-width:768px){.header{height:56px;margin-left:0;padding:1rem;width:100%}.hamburger-menu{display:flex}.logo-title h1{font-size:1.1rem}.logo-image{height:28px}.user-info{display:none}.logout-button{padding:.4rem .8rem}.logout-button,.logout-button:before{font-size:.75rem}}@media (max-width:480px){.header{padding:.75rem}.logo-title h1{font-size:1rem}.logo-image{height:24px}.logout-button{font-size:.7rem;padding:.3rem .6rem}}.home{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;padding:1.5rem}.dashboard-header h1{color:#1f2937;font-size:2rem}.error-state,.loading-state{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:3rem 1.5rem;text-align:center}.error-state h2,.loading-state h2{color:#374151;font-size:1.25rem;margin-bottom:.75rem}.error-state p,.loading-state p{color:#6b7280}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2.5rem}.card{border-left:4px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;transition:all .3s ease}.card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.card-header h3{color:#374151;font-size:.875rem;font-weight:600;margin:0}.card-icon{font-size:1.25rem;opacity:.8}.card-value{color:#111827;font-size:2rem;font-weight:700;margin-bottom:.5rem}.card-value.urgent{color:#dc2626}.card-footer{color:#6b7280;font-size:.8rem}.tenants-card{border-left-color:#3b82f6}.requests-card{border-left-color:#10b981}.complaints-card{border-left-color:#f59e0b}.overdue-card{border-left-color:#dc2626}.in-progress-count,.investigating-count{background:#ddd6fe;border-radius:12px;color:#5b21b6;font-size:.7rem;font-weight:600;padding:.25rem .5rem}.invoice-analytics-section{background:#fff;border-left:4px solid #059669;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:2.5rem;padding:1.5rem}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{color:#111827;font-size:1.25rem;font-weight:700;margin:0}.chart-controls{align-items:center;display:flex;gap:1rem}.period-selector{align-items:center;display:flex;gap:.5rem}.period-selector label{color:#374151;font-size:.8rem;font-weight:600}.period-select{background:#fff;border:2px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.8rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease}.period-select:hover{border-color:#d1d5db}.period-select:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a;outline:none}.chart-loading{align-items:center;color:#6b7280;display:flex;font-style:italic;height:150px;justify-content:center}.invoice-chart-container{display:flex;flex-direction:column;gap:1.5rem}.chart-summary{grid-gap:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:1rem}.summary-item{align-items:center;display:flex;flex-direction:column;text-align:center}.summary-label{color:#64748b;font-size:.75rem;font-weight:500;margin-bottom:.5rem}.summary-value{color:#111827;font-size:1.25rem;font-weight:700}.summary-value.revenue{color:#059669}.summary-value.collection-rate{color:#2563eb}.summary-value.total-invoices{color:#7c3aed}.bar-chart{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.chart-title{color:#111827;font-size:1rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.bars-container{align-items:end;background:linear-gradient(0deg,#f8fafc 0,#f8fafc 1px,#0000 0);background-size:100% 25%;display:flex;height:200px;justify-content:space-around;margin-bottom:1rem;padding:0 1rem;position:relative}.bars-container:before{background:#d1d5db;bottom:0;content:"";height:1px;left:1rem;position:absolute;right:1rem}.bar-group{align-items:center;display:flex;flex:1 1;flex-direction:column;max-width:80px}.bar-label{color:#374151;font-size:.75rem;font-weight:600;margin-bottom:.75rem;text-align:center}.bar-wrapper{align-items:end;height:140px;width:100%}.bar,.bar-wrapper{display:flex;justify-content:center;position:relative}.bar{align-items:start;border-radius:6px 6px 0 0;box-shadow:0 1px 3px #0000001a;min-height:8px;padding-top:.5rem;transition:all .3s ease;width:40px}.bar:hover{box-shadow:0 2px 6px #00000026;transform:scaleY(1.05)}.paid-bar{background:linear-gradient(135deg,#10b981,#059669)}.unpaid-bar{background:linear-gradient(135deg,#f59e0b,#d97706)}.overdue-bar{background:linear-gradient(135deg,#ef4444,#dc2626)}.bar-value{color:#fff;font-weight:700;text-shadow:0 1px 2px #0000001a;white-space:nowrap}.bar-count,.bar-value{font-size:.65rem;text-align:center}.bar-count{color:#6b7280;font-weight:500;margin-top:.75rem}.chart-legend{border-top:1px solid #e5e7eb;display:flex;gap:1.5rem;justify-content:center;padding-top:1rem}.legend-item{align-items:center;color:#374151;display:flex;font-size:.75rem;gap:.5rem}.legend-color{border-radius:3px;height:12px;width:12px}.paid-color{background:linear-gradient(135deg,#10b981,#059669)}.unpaid-color{background:linear-gradient(135deg,#f59e0b,#d97706)}.overdue-color{background:linear-gradient(135deg,#ef4444,#dc2626)}.occupancy-section{background:#fff;border-left:4px solid #6366f1;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:2.5rem;padding:1.5rem}.occupancy-section h2{color:#111827;font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.occupancy-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.occupancy-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:all .3s ease}.occupancy-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.occupancy-card[data-type=apartment]{border-left:4px solid #10b981}.occupancy-card[data-type=shop]{border-left:4px solid #6366f1}.occupancy-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.occupancy-header h3{color:#111827;font-size:1rem;font-weight:600;margin:0}.occupancy-icon{font-size:1.25rem}.occupancy-numbers{margin-bottom:1rem}.occupancy-fraction{align-items:baseline;display:flex;gap:.5rem;justify-content:center;margin-bottom:.5rem}.occupancy-fraction .current{color:#111827;font-size:1.75rem;font-weight:700}.occupancy-fraction .capacity,.occupancy-fraction .divider{color:#6b7280;font-size:1.25rem}.occupancy-fraction .capacity{font-weight:600}.occupancy-label{color:#6b7280;font-size:.75rem;text-align:center}.occupancy-progress{margin-bottom:1rem}.progress-bar{background:#e5e7eb;border-radius:3px;height:6px;margin-bottom:.5rem;overflow:hidden}.progress-fill{border-radius:3px;height:100%;transition:width .3s ease}.progress-text{color:#374151;font-size:.75rem;font-weight:600}.occupancy-footer,.progress-text{text-align:center}.available{color:#6b7280;font-size:.75rem}.occupancy-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;padding:1rem}.summary-stat{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-label{color:#6b7280;font-size:.75rem;margin-bottom:.25rem}.stat-value{color:#111827;font-size:1rem}.action-items{background:#fff;border-left:4px solid #f59e0b;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:2.5rem;padding:1.5rem}.action-items h2{color:#111827;font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.action-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.action-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.action-section .section-header{margin-bottom:1rem}.action-section .section-header h3{color:#111827;font-size:1rem;font-weight:600;margin:0}.count-badge{background:#ddd6fe;border-radius:12px;color:#5b21b6;font-size:.7rem;font-weight:700;padding:.25rem .75rem}.empty-state{color:#6b7280;font-style:italic}.items-list{display:flex;flex-direction:column;gap:.75rem}.item-card{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:1rem;transition:all .2s ease}.item-card:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.item-header{align-items:start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.item-header h4{color:#111827;flex:1 1;font-size:.8rem;font-weight:600;margin:0}.status-badge{border-radius:4px;font-size:.65rem;padding:.25rem .5rem}.item-tenant{color:#6b7280;font-size:.7rem;font-weight:500;margin:.25rem 0}.item-description{color:#374151;font-size:.75rem;line-height:1.4;margin:.5rem 0}.item-footer{border-top:1px solid #f3f4f6;margin-top:.75rem;padding-top:.5rem}.item-date{color:#6b7280;font-size:.65rem}.overdue-section{background:#fff;border-left:4px solid #dc2626;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.overdue-section .section-header{margin-bottom:1.5rem}.overdue-section .section-header h2{color:#111827;font-size:1.25rem;font-weight:700;margin:0}.urgent-badge{background:#fecaca;border-radius:12px;color:#dc2626;font-size:.75rem;font-weight:700;padding:.375rem 1rem}.overdue-list{display:flex;flex-direction:column;gap:1rem}.overdue-item{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.overdue-tenant h4{color:#111827;font-size:.875rem;font-weight:600;margin:0 0 .25rem}.overdue-amount{color:#dc2626;font-size:1rem;font-weight:700}.overdue-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.days-overdue,.due-date{color:#6b7280;font-size:.75rem}.days-overdue{color:#dc2626;font-weight:600}.action-btn{background:#dc2626;color:#fff;font-size:.75rem;padding:.5rem 1rem}.action-btn:hover{background:#b91c1c}@media (max-width:768px){.home{padding:1rem}.dashboard-header h1{font-size:1.5rem}.dashboard-cards{gap:1rem;grid-template-columns:1fr}.card{padding:1rem}.card-value{font-size:1.75rem}.action-items,.invoice-analytics-section,.occupancy-section,.overdue-section{margin-bottom:1.5rem;padding:1rem}.section-header{align-items:stretch;flex-direction:column;gap:1rem}.section-header h2{font-size:1.125rem}.chart-controls{justify-content:center}.chart-summary{gap:.75rem;grid-template-columns:1fr}.bars-container{height:150px;padding:0 .5rem}.bar{width:30px}.bar-wrapper{height:100px}.chart-legend{align-items:center;flex-direction:column;gap:.75rem}.occupancy-grid{grid-template-columns:1fr}.occupancy-summary{flex-direction:column;gap:1rem}.action-grid{gap:1rem;grid-template-columns:1fr}.overdue-item{align-items:stretch;flex-direction:column;gap:.75rem}.overdue-item .action-btn{align-self:center}}@media (max-width:480px){.home{padding:.75rem}.dashboard-header h1{font-size:1.25rem}.card{padding:.75rem}.card-value{font-size:1.5rem}.action-items,.invoice-analytics-section,.occupancy-section,.overdue-section{margin-bottom:1rem;padding:.75rem}.section-header h2{font-size:1rem}.bars-container{height:120px}.bar-wrapper{height:80px}.bar{width:25px}.chart-title{font-size:.875rem}.bar-count,.bar-value{font-size:.6rem}.bar-label{font-size:.65rem}}@media (max-width:768px){.action-btn,.period-select{min-height:44px;touch-action:manipulation}.bar:hover,.card:hover{transform:none}}.system-status{align-items:center;display:flex;gap:1rem}.status-indicator{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:20px;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.status-indicator.healthy{background:#d4edda;border-color:#c3e6cb;color:#155724}.status-indicator.warning{background:#fff3cd;border-color:#ffeaa7;color:#856404}.status-dot{animation:pulse 2s infinite;background:currentColor;border-radius:50%;height:8px;width:8px}.dashboard-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.card.email-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.card.reminders-card{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.email-monitoring-section{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:2rem}.email-monitoring-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.email-controls{display:flex;gap:1rem}.manual-trigger-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s}.manual-trigger-btn:hover:not(:disabled){background:#2563eb}.manual-trigger-btn:disabled{background:#9ca3af;cursor:not-allowed}.email-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.email-stat-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.email-stat-card h3{color:#495057;font-size:1.1rem;margin:0 0 1rem}.urgent-expiries{background:#fff5f5;border-left:4px solid #dc3545}.health-items{display:flex;flex-direction:column;gap:.75rem}.health-item{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.health-status{border-radius:50%;display:inline-block;font-size:1.2rem;height:12px;width:12px}.health-status.healthy{color:#28a745}.health-status.warning{color:#ffc107}.health-status.error{color:#dc3545}.email-numbers{display:flex;flex-direction:column;gap:.75rem}.stat-row{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.5rem 0}.stat-row:last-child{border-bottom:none}.error-count{color:#dc3545;font-weight:600}.expiry-list{display:flex;flex-direction:column;gap:.75rem}.expiry-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:.75rem}.tenant-info{align-items:center;justify-content:space-between}.tenant-name{color:#495057}.days-remaining{background:#fffc;border-radius:12px;font-size:.875rem;font-weight:600;padding:.25rem .5rem}.more-expiries{color:#6c757d;font-size:.875rem;font-style:italic;padding:.5rem;text-align:center}.recent-email-activity{background:#f8f9fa;border-radius:8px;padding:1.5rem}.recent-email-activity h3{color:#495057;margin:0 0 1rem}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;padding:1rem}.activity-info{display:flex;flex-direction:column;gap:.25rem}.activity-type{color:#6c757d;font-size:.75rem;font-weight:600}.activity-tenant{color:#495057;font-weight:600}.activity-details{color:#6c757d;font-size:.875rem}.activity-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.activity-status{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.activity-status.sent{background:#d4edda;color:#155724}.activity-status.failed{background:#f8d7da;color:#721c24}.activity-time{color:#6c757d;font-size:.75rem}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem}.system-status{justify-content:center;width:100%}.email-stats-grid{grid-template-columns:1fr}.email-monitoring-section .section-header{align-items:flex-start;flex-direction:column;gap:1rem}.email-controls{justify-content:center;width:100%}.activity-item{align-items:flex-start;flex-direction:column;gap:1rem}.activity-meta{align-items:flex-start;width:100%}}@media (prefers-color-scheme:dark){.email-monitoring-section{background:#1f2937;color:#f9fafb}.email-stat-card{background:#374151;border-color:#4b5563;color:#f9fafb}.urgent-expiries{background:#1f1516;border-left-color:#ef4444}.activity-item,.expiry-item{background:#374151;border-color:#4b5563}.recent-email-activity{background:#374151}}.dashboard-header{gap:20px;margin-bottom:30px}.dashboard-controls{align-items:center;display:flex;gap:15px}.data-freshness{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:10px;padding:10px 16px}.freshness-indicator{font-size:12px;transition:color .3s ease}.freshness-indicator.fresh{color:#28a745}.freshness-indicator.stale{animation:pulse 2s infinite;color:#ffc107}.last-updated{color:#6c757d}.last-updated,.refresh-btn{font-size:14px;white-space:nowrap}.refresh-btn{align-items:center;background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;gap:5px;padding:8px 16px;transition:all .3s ease}.refresh-btn:hover:not(:disabled){background:#0056b3;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.card.invoices-card{border-left:4px solid #6366f1}.invoice-breakdown{display:flex;flex-direction:column;font-size:12px;gap:4px}.paid-count{color:#28a745}.unpaid-count{color:#ffc107}.submitted-count{color:#17a2b8}.loading-spinner{border-top-color:#007bff;margin-bottom:20px}.tenant-dashboard{background:#f8fafc;color:#1a202c;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:1.5rem}.dashboard-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.dashboard-header h1{color:#2d3748;font-size:1.75rem;font-weight:700;margin:0}.dashboard-header p{color:#718096;font-size:.9rem;margin:.5rem 0 0}.dashboard-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 2fr;margin-bottom:2rem}.section{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;transition:all .2s ease}.section:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.section h2{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.info-section{grid-column:1}.info-grid{grid-gap:1rem;display:grid;gap:1rem}.info-grid input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:.9rem;min-height:44px;padding:.875rem;transition:all .2s ease;width:100%}.info-grid input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.info-grid input:disabled{background-color:#f7fafc;border-color:#e2e8f0;color:#a0aec0;cursor:not-allowed}.info-grid button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;min-height:44px;padding:.875rem 1.5rem;transition:all .2s ease}.info-grid button:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.info-grid button:disabled{background:#a0aec0;box-shadow:none;cursor:not-allowed;transform:none}.password-section{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem}.password-toggle-btn{background:#4299e1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;margin-bottom:1rem;min-height:44px;padding:.75rem 1.25rem;transition:all .2s ease}.password-toggle-btn:hover{background:#3182ce;transform:translateY(-1px)}.password-form{display:none}.password-form.show{display:block}.password-actions{display:flex;gap:.75rem;margin-top:1rem}.password-actions button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.8rem;font-weight:600;min-height:44px;padding:.75rem;transition:all .2s ease}.save-password-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.save-password-btn:hover:not(:disabled){background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 4px 12px #48bb784d;transform:translateY(-1px)}.cancel-password-btn{background:linear-gradient(135deg,#a0aec0,#718096);color:#fff}.cancel-password-btn:hover{background:linear-gradient(135deg,#718096,#4a5568);transform:translateY(-1px)}.data-overview{grid-column:2}.data-blocks{grid-gap:1.25rem;display:grid;gap:1.25rem}.data-category{margin-bottom:1.5rem}.data-category h3{color:#2d3748;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.category-header{flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.category-header,.view-all-btn{align-items:center;display:flex}.view-all-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;min-height:36px;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease;white-space:nowrap}.view-all-btn:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 2px 8px #667eea4d;transform:translateY(-1px)}.category-stats{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.stat-badge{background:#e2e8f0;border-radius:20px;color:#4a5568;font-size:.7rem;font-weight:600;padding:.25rem .75rem;white-space:nowrap}.data-card{background:#f7fafc;border-left:4px solid #e2e8f0;border-radius:8px;cursor:pointer;margin-bottom:1rem;padding:1.25rem;pointer-events:auto;position:relative;transition:all .2s ease;z-index:1}.data-card:hover{border-left-color:#667eea;box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.data-card.clickable{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:1px solid #e2e8f0;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.data-card.clickable:hover{background:linear-gradient(135deg,#edf2f7,#e2e8f0);border-color:#667eea;box-shadow:0 4px 12px #00000026;transform:translateY(-2px) translateX(2px)}.data-card.clickable:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0) translateX(0)}.data-card.requests{border-left-color:#48bb78}.data-card.requests.clickable:hover{border-left-color:#38a169}.data-card.complaints{border-left-color:#ed8936}.data-card.complaints.clickable:hover{border-left-color:#dd6b20}.data-card.invoices{border-left-color:#4299e1}.data-card.invoices.clickable:hover{border-left-color:#3182ce}.data-card strong{color:#2d3748;display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}.data-card p,.data-card strong{-webkit-user-select:none;user-select:none}.data-card p{color:#4a5568;font-size:.8rem;line-height:1.4;margin:.25rem 0}.card-footer{align-items:center;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-top:1rem;padding-top:.75rem;-webkit-user-select:none;user-select:none}.card-footer .date{color:#718096;font-size:.7rem}.status{border-radius:20px;color:#fff;font-size:.65rem;letter-spacing:.025em;padding:.25rem .75rem;white-space:nowrap}.status.pending{background:#ed8936}.status.approved,.status.resolved{background:#48bb78}.status.overdue,.status.rejected{background:#f56565}.status.investigating{background:#4299e1}.status.paid{background:#805ad5}.mini-response{background:#e6fffa;border-left:4px solid #38b2ac;border-radius:4px;margin:.5rem 0;padding:.5rem;-webkit-user-select:none;user-select:none}.mini-response small{color:#2c7a7b;font-size:.7rem;line-height:1.3}.view-more-card{background:#f7fafc;border:2px dashed #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;font-weight:600;padding:1.25rem;pointer-events:auto;text-align:center;transition:all .2s ease;-webkit-user-select:none;user-select:none}.view-more-card:hover{border-color:#667eea;box-shadow:0 2px 8px #0000001a;color:#2d3748;transform:translateY(-2px)}.view-more-card:active{transform:translateY(0)}.empty-state{background:#f7fafc;border:2px dashed #e2e8f0;border-radius:8px;color:#718096;padding:2rem 1rem;text-align:center}.empty-state:before{content:"📭";display:block;font-size:2.5rem;margin-bottom:1rem;opacity:.5}.empty-state p{font-size:.9rem;margin:0 0 1rem}.empty-note{color:#a0aec0;font-size:.8rem;font-style:italic}.empty-action-btn{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:8px;color:#fff;display:inline-block;display:inline-flex;font-size:.8rem;font-weight:600;min-height:44px;padding:.75rem 1.25rem;text-decoration:none;transition:all .2s ease}.empty-action-btn:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 4px 12px #48bb784d;color:#fff;text-decoration:none;transform:translateY(-1px)}.quick-actions{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;grid-column:1/-1;padding:1.5rem}.quick-actions h2{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.actions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.action-btn{align-items:center;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;font-weight:600;gap:.5rem;justify-content:center;min-height:120px;padding:1.25rem;text-align:center;transition:all .2s ease}.action-btn,.action-btn:hover{color:#2d3748;text-decoration:none}.action-btn:hover{border-color:#667eea;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.action-btn .icon{font-size:1.75rem;margin-bottom:.5rem}.action-btn span:not(.icon){font-size:.9rem;font-weight:600}.action-btn small{color:#718096;font-size:.7rem;font-weight:400;line-height:1.3}.loading{border-radius:12px;box-shadow:0 2px 4px #0000001a;color:#718096;padding:3rem 1.5rem}.error{background:#fed7d7;border-left:4px solid #f56565;border-radius:8px;color:#c53030;font-size:.875rem}.success-message{background:#c6f6d5;border-left:4px solid #48bb78;color:#2f855a}@media (max-width:968px){.dashboard-grid{gap:1.25rem;grid-template-columns:1fr}.data-overview,.quick-actions{grid-column:1}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.category-header{align-items:stretch;flex-direction:column;gap:.75rem}.view-all-btn{align-self:center}}@media (max-width:768px){.tenant-dashboard{padding:1rem}.dashboard-header{align-items:stretch;flex-direction:column;padding:1rem}.dashboard-header h1{font-size:1.5rem;text-align:center}.dashboard-header p{text-align:center}.section{padding:1rem}.section h2{font-size:1.125rem}.dashboard-grid{gap:1rem}.actions-grid{grid-template-columns:1fr}.action-btn{min-height:100px;padding:1rem}.action-btn .icon{font-size:1.5rem}.category-stats,.password-actions{flex-direction:column;gap:.5rem}.stat-badge{text-align:center}.data-card{padding:1rem}.card-footer{align-items:flex-start;flex-direction:column;gap:.5rem}.view-more-card{padding:1rem}.empty-state{padding:1.5rem 1rem}.data-card.clickable:hover{background:linear-gradient(135deg,#edf2f7,#e2e8f0);box-shadow:0 2px 8px #0000001a;transform:none}.data-card.clickable:active{box-shadow:0 1px 4px #0000001a;transform:scale(.98)}}@media (max-width:480px){.dashboard-header,.tenant-dashboard{padding:.75rem}.dashboard-header h1{font-size:1.25rem}.section{padding:.75rem}.quick-actions h2,.section h2{font-size:1rem}.action-btn{min-height:80px;padding:.75rem}.action-btn .icon{font-size:1.25rem}.action-btn span:not(.icon){font-size:.8rem}.action-btn small{font-size:.65rem}.data-card strong{font-size:.9rem}.data-card p{font-size:.75rem}.view-all-btn{font-size:.7rem;padding:.5rem .75rem}.info-grid button,.info-grid input{font-size:.8rem}.password-actions button,.password-toggle-btn{font-size:.75rem}}@media (max-width:768px){.action-btn,.data-card,.empty-action-btn,.info-grid button,.info-grid input,.password-actions button,.password-toggle-btn,.view-all-btn{min-height:44px;touch-action:manipulation}.action-btn:hover,.section:hover,.view-more-card:hover{box-shadow:0 2px 4px #0000001a;transform:none}}@media (prefers-contrast:high){.action-btn,.data-card,.info-grid button,.password-toggle-btn,.section,.view-all-btn{border:2px solid}}@media (prefers-reduced-motion:reduce){.action-btn,.data-card,.info-grid button,.section{transition:none}.action-btn:hover,.data-card.clickable:hover,.data-card:hover,.section:hover{transform:none}}.tenants-page{background-color:#fafbfc;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:1.5rem}.tenants-page h1{background:#fff;border:1px solid #e8f2ff;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#1e3a8a;font-size:1.75rem;font-weight:600;margin:0 0 2rem;padding:1.5rem;text-align:center}.error-banner{background:#fef2f2;border-left:3px solid #dc2626;color:#dc2626;font-size:.875rem;font-weight:500;padding:1rem 1.5rem}.controls-section,.error-banner{border-radius:8px;margin-bottom:1.5rem}.controls-section{background:#fff;border:1px solid #e8f2ff;box-shadow:0 1px 3px #0000001a;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem}.add-button,.controls-section{align-items:center;display:flex}.add-button{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;gap:.5rem;min-height:44px;padding:.75rem 1.5rem;transition:all .2s ease}.add-button:hover{background:#1d4ed8;box-shadow:0 2px 4px #2563eb4d;transform:translateY(-1px)}.add-button:before{content:"+";font-size:1.125rem;font-weight:700}.filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.filter-select,.search-input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;min-height:44px;min-width:180px;padding:.625rem .875rem;transition:all .2s ease}.filter-select:focus,.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.search-input::placeholder{color:#9ca3af}.tenants-table{background:#fff;border:1px solid #e8f2ff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;overflow-x:auto}.tenants-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#374151;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.tenants-header,.tenants-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr .8fr 1fr 1.5fr 1fr 1fr 1.2fr;min-width:800px;padding:1rem 1.5rem}.tenants-row{align-items:center;border-bottom:1px solid #f1f5f9;transition:all .2s ease}.tenants-row:hover{background:#f8fafc}.tenants-row:last-child{border-bottom:none}.tenants-row span{color:#475569;font-size:.875rem;font-weight:400;line-height:1.4}.no-tenants{background:#fff;border:1px dashed #e2e8f0;border-radius:8px;color:#64748b;font-size:1rem;margin:1rem 0;padding:3rem 1.5rem;text-align:center}.no-tenants:before{content:"👥";display:block;font-size:3rem;margin-bottom:1rem;opacity:.5}.action-buttons{display:flex;gap:.5rem;justify-content:flex-start}.action-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;min-height:36px;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.action-buttons button:first-child{background:#3b82f6;color:#fff}.action-buttons button:first-child:hover{background:#2563eb;box-shadow:0 2px 4px #3b82f64d;transform:translateY(-1px)}.action-buttons button.danger{background:#dc2626;color:#fff}.action-buttons button.danger:hover{background:#b91c1c;box-shadow:0 2px 4px #dc26264d;transform:translateY(-1px)}.edit-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.edit-modal-content{box-shadow:0 20px 25px -5px #0000001a;max-width:600px}.edit-modal-content h2{background:#f8fafc;border-bottom:1px solid #e2e8f0;margin:0;padding:1.5rem 1.5rem 1rem;text-align:center}.edit-modal-content form{grid-gap:1rem;display:grid;gap:1rem;padding:1.5rem}.edit-modal-content input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;font-weight:400;min-height:44px;padding:.75rem;transition:all .2s ease}.edit-modal-content input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.edit-modal-content input::placeholder{color:#9ca3af}.error-message{border-left:3px solid #dc2626}.modal-actions{margin-top:1rem}.modal-actions button{font-weight:500;transition:all .2s ease}.modal-actions button[type=submit]:hover:not(:disabled){box-shadow:0 2px 4px #2563eb4d;transform:translateY(-1px)}.modal-actions button[type=submit]:disabled{background:#9ca3af;box-shadow:none;transform:none}.modal-actions button.danger{background:#6b7280}.modal-actions button.danger:hover:not(:disabled){background:#4b5563;transform:translateY(-1px)}.form-group{position:relative}.form-group label{color:#374151}.required-field:after{color:#dc2626;content:" *";font-weight:700}.loading{border:1px solid #e8f2ff;color:#64748b;padding:3rem}.loading:before{content:"⏳";display:block;font-size:2rem;margin-bottom:1rem;opacity:.5}.success-message{border-left:3px solid #10b981}@media (max-width:768px){.tenants-page{padding:1rem}.tenants-page h1{font-size:1.5rem;padding:1rem}.controls-section{align-items:stretch;flex-direction:column;padding:1rem}.filter-controls{justify-content:center}.filter-select,.search-input{flex:1 1;min-width:150px}.tenants-table{border-radius:8px;overflow:visible}.tenants-header{display:none}.tenants-row{background:#fff;border:1px solid #e8f2ff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:block;margin-bottom:1rem;min-width:0;min-width:auto;padding:1rem}.tenants-row span{border-bottom:1px solid #f1f5f9;display:block;font-size:.875rem;padding:.5rem 0}.tenants-row span:last-child{border-bottom:none}.tenants-row span:first-child:before{color:#374151;content:"Name: ";font-weight:600}.tenants-row span:nth-child(2):before{color:#374151;content:"Email: ";font-weight:600}.tenants-row span:nth-child(3):before{color:#374151;content:"Phone: ";font-weight:600}.tenants-row span:nth-child(4):before{color:#374151;content:"Unit: ";font-weight:600}.tenants-row span:nth-child(5):before{color:#374151;content:"Property: ";font-weight:600}.tenants-row span:nth-child(6):before{color:#374151;content:"Rent: ";font-weight:600}.tenants-row span:nth-child(7):before{color:#374151;content:"Status: ";font-weight:600}.tenants-row span:nth-child(8):before{color:#374151;content:"Actions: ";font-weight:600}.action-buttons{flex-direction:column;gap:.375rem;margin-top:.5rem}.action-buttons button{justify-content:center;width:100%}.edit-modal-content{margin:1rem;max-height:90vh;width:95%}.modal-actions{flex-direction:column;gap:.75rem}}@media (max-width:480px){.tenants-page{padding:.75rem}.tenants-page h1{font-size:1.25rem;padding:.75rem}.controls-section{padding:.75rem}.filter-controls{flex-direction:column;gap:.75rem;width:100%}.filter-select,.search-input{min-width:0;min-width:auto;width:100%}.tenants-row{padding:.75rem}.tenants-row span{font-size:.8rem;padding:.375rem 0}}@media (max-width:768px){.action-buttons button,.add-button,.edit-modal-content input,.filter-select,.modal-actions button,.search-input{min-height:44px;touch-action:manipulation}.action-buttons button:hover,.add-button:hover,.tenants-row:hover{background:inherit;box-shadow:inherit;transform:none}.action-buttons button:active,.add-button:active,.tenants-row:active{transform:scale(.98)}}.lease-status{border-radius:12px;cursor:help;display:inline-block;font-size:12px;font-weight:700;min-width:80px;padding:4px 8px;text-align:center}.lease-status.critical{animation:pulse 2s infinite;background-color:#f8d7da;color:#721c24}.invoices-page{margin:0 auto;max-width:1400px;padding:1.5rem}.loading{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;font-size:1rem;padding:2.5rem;text-align:center}.page-header{border-bottom:2px solid #e9ecef;padding-bottom:1.5rem}.page-header h1{color:#1e3a8a;font-weight:600}.invoice-stats{display:flex;flex-wrap:wrap;gap:1rem}.stat{background:#f8f9fa;border-radius:20px;color:#495057}.stat.urgent{background:#fee;color:#dc3545}.form-toggle-buttons{background:#f8f9fa;border-radius:8px;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;width:fit-content}.toggle-btn{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.25rem;transition:all .3s ease}.toggle-btn.active{background:#2563eb;box-shadow:0 2px 4px #2563eb4d;color:#fff}.toggle-btn:hover:not(.active){background:#e9ecef}.bulk-invoice-form,.new-invoice-form{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.bulk-invoice-form h2,.new-invoice-form h2{color:#1e3a8a;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.tenant-selection{margin-bottom:1.5rem}.selection-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.selection-header h3{color:#495057;font-size:1rem;font-weight:600;margin:0}.selection-actions{display:flex;flex-wrap:wrap;gap:.5rem}.clear-selection-btn,.select-all-btn{background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:.8rem;padding:.5rem 1rem;transition:all .3s ease;white-space:nowrap}.select-all-btn{border-color:#2563eb;color:#2563eb}.select-all-btn:hover{background:#2563eb;color:#fff}.clear-selection-btn{border-color:#dc3545;color:#dc3545}.clear-selection-btn:hover{background:#dc3545;color:#fff}.tenant-list{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;max-height:250px;overflow-y:auto;padding:.5rem}.tenant-item{margin-bottom:.5rem}.tenant-checkbox{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .3s ease}.tenant-checkbox:hover{background:#f0f8ff;border-color:#2563eb}.tenant-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.tenant-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.tenant-name{color:#333;font-size:.875rem;font-weight:600}.tenant-email{color:#666;font-size:.75rem}.bulk-invoice-details{border-top:1px solid #dee2e6;padding-top:1.5rem}.bulk-invoice-details h3{color:#495057;font-size:1rem;font-weight:600;margin:0 0 1rem}.bulk-results{background:#f8f9fa;border-left:4px solid #28a745;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.bulk-results h3{color:#28a745;font-size:1rem;font-weight:600;margin:0 0 1rem}.results-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));margin-bottom:1rem}.result-stat{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;flex-direction:column;padding:.75rem;text-align:center}.result-stat.success{background:#f0fff4;border-color:#28a745}.result-stat.failed{background:#fff5f5;border-color:#dc3545}.result-stat.email{background:#f0f9ff;border-color:#17a2b8}.result-stat.pdf{background:#faf5ff;border-color:#6f42c1}.stat-value{color:#333;font-size:1.5rem;font-weight:700}.stat-label{color:#666;font-size:.7rem;margin-top:.25rem;text-align:center}.close-results-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;padding:.5rem 1rem;transition:all .3s ease}.close-results-btn:hover{background:#c82333}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.form-group{gap:.5rem}.form-group.full-width{grid-column:1/-1}.form-group input,.form-group select,.form-group textarea{border:1px solid #ced4da;border-radius:6px;font-size:.875rem;padding:.75rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f8f9fa;opacity:.7}.submit-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;margin-bottom:1rem;min-height:44px;padding:.875rem 1.5rem;transition:all .3s ease}.submit-btn:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 8px #2563eb4d;transform:translateY(-1px)}.submit-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.bulk-submit{background:#10b981}.bulk-submit:hover:not(:disabled){background:#059669;box-shadow:0 4px 8px #10b9814d}.email-notice{background:#e7f3ff;border-left:4px solid #2563eb;border-radius:6px;color:#495057;padding:.75rem}.invoice-filters{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}.date-filter,.filter-select,.search-input{border:1px solid #ced4da;border-radius:6px;font-size:.8rem;min-height:44px;padding:.75rem}.search-input{flex:1 1;min-width:200px}.date-filter,.filter-select{min-width:120px}.filter-info{color:#666}.invoices-table{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-header{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-size:.8rem;font-weight:600}.table-header,.table-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr 1fr 1.5fr 1.5fr 2fr;padding:1rem}.table-row{align-items:flex-start;border-bottom:1px solid #dee2e6;font-size:.875rem;transition:background-color .3s ease}.table-row:hover{background:#f8f9fa}.table-row:last-child{border-bottom:none}.no-invoices{background:#f8f9fa;padding:2.5rem}.no-invoices p{font-size:.875rem;margin:0}.status-badge{display:inline-block}.description{color:#666;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipts-column{font-size:.9rem;min-width:200px}.receipts-info{gap:.5rem}.receipt-count{color:#495057;flex-wrap:wrap;font-weight:500;gap:.5rem;margin-bottom:.5rem}.review-needed{animation:blink 2s infinite;background:#ffc107;border-radius:10px;color:#212529;font-size:.7rem;font-weight:700;letter-spacing:.3px;padding:.2rem .5rem;text-transform:uppercase}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.6}}.no-receipts{color:#9ca3af;font-size:.9rem}.receipts-list{gap:.75rem;max-height:200px;overflow-y:auto}.receipt-item-admin{border:1px solid #e9ecef;padding:.75rem}.receipt-item-admin:hover{background:#fff;border-color:#007bff;box-shadow:0 2px 8px #0000001a}.receipt-summary{gap:.5rem;margin-bottom:.5rem}.receipt-amount,.receipt-date{font-size:.8rem}.receipt-status-badge{border-radius:10px;font-size:.7rem;font-weight:700;letter-spacing:.3px;padding:.2rem .5rem;text-transform:uppercase}.receipt-status-badge.pending_review{border:1px solid #ffeaa7}.receipt-status-badge.approved{border:1px solid #c3e6cb}.receipt-status-badge.rejected{border:1px solid #f5c6cb}.receipt-actions-admin{gap:.4rem;margin-bottom:.5rem}.delete-btn-small,.review-btn-small,.view-btn-small{font-size:.7rem;font-weight:500;min-height:28px;padding:.25rem .5rem}.view-btn-small{background:#007bff}.view-btn-small:hover{background:#0056b3;color:#fff;transform:translateY(-1px)}.review-btn-small{background:#ffc107}.review-btn-small:hover{background:#e0a800;transform:translateY(-1px)}.delete-btn-small{background:#dc3545}.delete-btn-small:hover{background:#c82333;transform:translateY(-1px)}.receipt-notes-admin,.review-notes-admin{background:#e9ecef;border-left:3px solid #007bff;border-radius:4px;color:#6c757d;font-size:.75rem;margin-top:.5rem;padding:.4rem}.review-notes-admin{background:#f0fff4;border-left-color:#28a745;color:#155724}.actions{display:flex;flex-wrap:wrap;gap:.5rem}.action-btn{border:none;border-radius:4px;cursor:pointer;font-size:.7rem;font-weight:500;min-height:32px;padding:.375rem .75rem;transition:all .3s ease;white-space:nowrap}.action-btn:hover{box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.action-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.action-btn.paid{background:#10b981;color:#fff}.action-btn.paid:hover:not(:disabled){background:#059669}.action-btn.reminder{background:#f59e0b;color:#212529}.action-btn.reminder:hover{background:#d97706}.action-btn.edit{background:#06b6d4;color:#fff}.action-btn.edit:hover{background:#0891b2}.action-btn.danger{background:#dc2626;color:#fff}.action-btn.danger:hover{background:#b91c1c}.action-btn.pdf-download{background:#8b5cf6;color:#fff}.action-btn.pdf-download:hover:not(:disabled){background:#7c3aed}.action-btn.pdf-preview{background:#f97316;color:#fff}.action-btn.pdf-preview:hover{background:#ea580c}.edit-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.edit-modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;padding:1.5rem;width:100%}.edit-modal-content h2{color:#1e3a8a;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.invoice-context{border-radius:8px;margin-bottom:1.5rem;padding:1rem}.invoice-context h3{font-size:1.1rem;margin:0 0 .75rem}.invoice-context p{margin:.25rem 0}.receipt-preview{background:#f8f9fa;border-left:4px solid #28a745;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.receipt-preview h3{font-size:1.1rem;margin:0 0 .75rem}.receipt-details p{color:#495057;margin:.5rem 0}.view-receipt-link{border-radius:8px;display:inline-block;font-size:1rem;margin-top:1rem;padding:.75rem 1.5rem}.view-receipt-link:hover{box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.submit-review-btn{background:linear-gradient(135deg,#28a745,#20c997);border-radius:8px;font-size:1rem;font-weight:600;padding:.75rem 1.5rem}.submit-review-btn:hover{box-shadow:0 4px 12px #28a74566;transform:translateY(-1px)}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;min-height:44px;padding:.75rem;transition:all .3s ease}.modal-actions button[type=submit]{background:#2563eb;color:#fff}.modal-actions button[type=submit]:hover:not(:disabled){background:#1d4ed8}.modal-actions button[type=submit]:disabled{background:#6c757d;cursor:not-allowed}.modal-actions button.danger{background:#dc2626;color:#fff}.modal-actions button.danger:hover:not(:disabled){background:#b91c1c}.loading-overlay{align-items:center;background:#ffffffe6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#2563eb;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626}.error-message,.success-message{font-size:.875rem;margin:.75rem 0;padding:.75rem}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#059669}@media (max-width:768px){.invoices-page{padding:1rem}.page-header{align-items:stretch;flex-direction:column;gap:1rem}.page-header h1{font-size:1.5rem;text-align:center}.invoice-stats{gap:.5rem;justify-content:center}.form-toggle-buttons{justify-content:center;width:100%}.toggle-btn{flex:1 1;font-size:.8rem;padding:.75rem .5rem}.bulk-invoice-form,.new-invoice-form{padding:1rem}.form-grid{gap:.75rem;grid-template-columns:1fr}.selection-header{align-items:stretch;flex-direction:column}.selection-actions{justify-content:center}.tenant-list{max-height:200px}.results-summary{gap:.75rem;grid-template-columns:repeat(2,1fr)}.invoice-filters{align-items:stretch;flex-direction:column;gap:.75rem}.date-filter,.filter-select,.search-input{min-width:0;min-width:auto;width:100%}.filter-info{margin:0;text-align:center}.table-header{display:none}.table-row{background:#fff;border:1px solid #dee2e6;border-radius:8px;display:block;grid-template-columns:none;margin-bottom:1rem;padding:1rem}.table-row span{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;font-size:.875rem;justify-content:space-between;padding:.5rem 0}.table-row span:last-child{border-bottom:none}.table-row span:before{color:#495057;content:attr(data-label);font-size:.75rem;font-weight:600;letter-spacing:.5px;min-width:100px;text-transform:uppercase}.table-row span[data-label=Receipts]{align-items:flex-start;display:block}.table-row span[data-label=Receipts]:before{display:block;margin-bottom:.5rem}.receipts-column{min-width:auto;width:100%}.receipt-item-admin{margin-bottom:.5rem;padding:.5rem}.receipt-count{align-items:flex-start;flex-direction:column;font-size:.8rem;gap:.3rem}.receipts-list{max-height:120px}.receipt-actions-admin{flex-direction:row;flex-wrap:wrap;gap:.25rem;justify-content:flex-start}.delete-btn-small,.review-btn-small,.view-btn-small{flex:1 1;font-size:.65rem;min-width:60px;padding:.3rem .25rem;text-align:center}.actions{gap:.375rem;justify-content:center;margin-top:.75rem}.action-btn{flex:1 1;font-size:.75rem;padding:.5rem .25rem;text-align:center}.edit-modal{padding:.5rem}.edit-modal-content{margin:0;max-height:95vh;max-width:none;padding:1rem;width:100%}.invoice-context,.receipt-preview{margin-bottom:1rem;padding:.75rem}.view-receipt-link{font-size:.9rem;margin-top:.75rem;padding:.6rem 1rem;text-align:center;width:100%}.modal-actions{flex-direction:column;gap:.75rem}.submit-review-btn{font-size:.95rem;padding:.75rem}}@media (max-width:480px){.invoices-page{padding:.75rem}.page-header h1{font-size:1.25rem}.bulk-invoice-form,.new-invoice-form{padding:.75rem}.invoice-stats{flex-direction:column;gap:.5rem}.stat{padding:.5rem;text-align:center}.results-summary{grid-template-columns:1fr}.action-btn{font-size:.7rem;padding:.5rem}.submit-btn{font-size:.8rem;padding:.75rem 1rem}.table-row{padding:.75rem}.table-row span{font-size:.8rem;padding:.375rem 0}.table-row span:before{font-size:.7rem}.receipt-item-admin{padding:.4rem}.receipt-summary{gap:.25rem}.receipt-amount,.receipt-date{font-size:.75rem}.receipt-status-badge{font-size:.65rem;padding:.15rem .4rem}.receipt-notes-admin,.review-notes-admin{font-size:.7rem;padding:.3rem}.delete-btn-small,.review-btn-small,.view-btn-small{font-size:.6rem;min-height:24px;padding:.25rem}.review-needed{font-size:.6rem;padding:.15rem .3rem}}@media (max-width:1200px){.table-header,.table-row{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1.5fr}.receipts-column{min-width:150px}.receipt-actions-admin{flex-direction:column;gap:.3rem}.delete-btn-small,.review-btn-small,.view-btn-small{font-size:.65rem;padding:.2rem .4rem}}@media (max-width:992px){.receipts-list{max-height:150px}.receipt-summary{align-items:flex-start;flex-direction:column;gap:.3rem}}@media (max-width:768px){.action-btn,.clear-selection-btn,.close-results-btn,.date-filter,.delete-btn-small,.filter-select,.form-group input,.form-group select,.form-group textarea,.receipt-item-admin,.review-btn-small,.search-input,.select-all-btn,.submit-btn,.tenant-checkbox,.toggle-btn,.view-btn-small{min-height:44px;touch-action:manipulation}.action-btn:hover,.delete-btn-small:hover,.receipt-item-admin:hover,.review-btn-small:hover,.table-row:hover,.tenant-checkbox:hover,.view-btn-small:hover{background:inherit;box-shadow:none;transform:none}}@media print{.invoices-page{margin:0;padding:0}.actions,.bulk-invoice-form,.delete-btn-small,.edit-modal,.form-toggle-buttons,.invoice-filters,.new-invoice-form,.page-header,.receipt-actions-admin,.review-btn-small{display:none!important}.invoices-table{box-shadow:none}.receipts-column,.table-row{page-break-inside:avoid}.receipt-item-admin{border:1px solid #000;box-shadow:none;margin-bottom:.5rem}}.placeholder-file-info{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:15px;margin:10px 0;padding:15px}.file-icon{color:#6c757d;font-size:2rem;min-width:40px;text-align:center}.file-details p{font-size:.9rem;margin:5px 0}.file-note{color:#6c757d;font-size:.85rem!important;font-style:italic;margin-top:8px}.view-btn-small.disabled{background-color:#6c757d;border:none;border-radius:4px;color:#fff;font-size:.8rem;opacity:.7;padding:4px 8px;text-decoration:none}.view-btn-small.disabled:hover{background-color:#6c757d;opacity:.7;transform:none}.no-file{background-color:#f8f9fa;border-radius:4px;margin:10px 0}.receipt-actions-admin{gap:5px;margin-top:8px}.delete-btn-small,.review-btn-small,.view-btn-small{border:none;border-radius:4px;display:inline-block;font-size:.8rem;text-align:center}.view-btn-small{background-color:#007bff;color:#fff}.view-btn-small:hover:not(.disabled){background-color:#0056b3}.review-btn-small{background-color:#ffc107;color:#212529}.review-btn-small:hover{background-color:#e0a800}.delete-btn-small{background-color:#dc3545;color:#fff}.delete-btn-small:hover{background-color:#c82333}.receipts-column{max-width:300px;min-width:250px}.receipts-info{display:flex;flex-direction:column;gap:8px}.receipt-count{align-items:center;color:#666;display:flex;font-size:12px;gap:8px;margin-bottom:4px}.review-needed{background:#fff3cd;border-radius:3px;color:#856404;font-size:10px;font-weight:500;padding:2px 6px;white-space:nowrap}.receipts-list{gap:12px}.receipt-item-admin{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:6px;font-size:12px;padding:10px;transition:all .2s ease}.receipt-item-admin:hover{background:#f1f3f4;border-color:#ced4da}.receipt-summary{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.receipt-date{font-size:11px}.receipt-amount{background:#e3f2fd;color:#1976d2;font-size:11px}.receipt-amount,.receipt-status-badge{border-radius:3px;font-weight:500;padding:2px 6px}.receipt-status-badge{font-size:10px;white-space:nowrap}.receipt-status-badge.pending_review{background:#fff3cd;color:#856404}.receipt-status-badge.approved{background:#d4edda;color:#155724}.receipt-status-badge.rejected{background:#f8d7da;color:#721c24}.receipt-actions-admin{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.receipt-view-options{display:flex;flex-direction:column;gap:4px}.delete-btn-small,.review-btn-small,.view-btn-small{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:3px;color:#495057;cursor:pointer;display:inline-flex;font-size:11px;gap:4px;padding:4px 8px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.view-btn-small:hover{background:#e9ecef;border-color:#adb5bd;color:#495057;text-decoration:none}.view-btn-small.disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.6}.review-btn-small{background:#fff3cd;border-color:#ffeaa7;color:#856404}.review-btn-small:hover{background:#ffeaa7;border-color:#fdcb6e;color:#856404}.delete-btn-small{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.delete-btn-small:hover{background:#f5c6cb;border-color:#f1b0b7;color:#721c24}.file-info{background:#e9ecef;border-radius:3px;color:#6c757d;display:block;font-size:10px;margin-top:2px;max-width:100%;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap}.receipt-details-admin{display:flex;flex-direction:column;gap:4px}.file-size-info,.receipt-notes-admin,.review-notes-admin,.upload-time-info{color:#6c757d;font-size:11px;line-height:1.3}.receipt-notes-admin{background:#e3f2fd;border-left:3px solid #2196f3;border-radius:3px;padding:6px}.review-notes-admin{background:#fff3e0;border-left:3px solid #ff9800;border-radius:3px;padding:6px}.file-size-info,.upload-time-info{font-size:10px;opacity:.8}.no-receipts{color:#6c757d;font-size:12px;font-style:italic;padding:8px;text-align:center}.receipt-file-preview{display:flex;flex-direction:column;gap:10px;margin-top:10px}.view-receipt-link{align-items:center;background:#007bff;border-radius:5px;color:#fff;display:inline-flex;font-weight:500;gap:8px;padding:10px 16px;text-decoration:none;transition:all .2s ease}.view-receipt-link:hover{background:#0056b3;color:#fff;text-decoration:none}.receipt-file-preview .file-info{background:#f8f9fa;border:1px solid #dee2e6;border-radius:5px;padding:10px}.receipt-file-preview .file-info p{color:#495057;font-size:12px;margin:4px 0}.no-file{color:#6c757d;font-style:italic;padding:20px;text-align:center}.invoice-context,.no-file{background:#f8f9fa;border-radius:5px}.invoice-context{border-left:4px solid #007bff;margin-bottom:20px;padding:15px}.invoice-context h3{color:#495057;font-size:14px;margin:0 0 10px}.invoice-context p{color:#6c757d;font-size:12px;margin:5px 0}.receipt-preview{background:#fff;border:1px solid #dee2e6;border-radius:5px;margin-bottom:20px;padding:15px}.receipt-preview h3{color:#495057;font-size:14px;margin:0 0 10px}.receipt-details p{color:#6c757d;font-size:12px;margin:5px 0}.submit-review-btn{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s ease}.submit-review-btn:hover{background:#218838}@media (max-width:768px){.receipts-column{max-width:100%;min-width:0}.receipt-summary{align-items:flex-start;flex-direction:column}.receipt-actions-admin{justify-content:flex-start}.receipt-view-options{width:100%}.delete-btn-small,.review-btn-small,.view-btn-small{flex:1 1;min-width:0}.file-info{font-size:9px}.receipt-details-admin{margin-top:8px}.receipt-file-preview{flex-direction:column}.view-receipt-link{text-align:center}}@media (max-width:992px){.table-row .receipts-column{grid-column:1/-1;margin-top:10px}.receipt-item-admin{margin-bottom:8px}}@media (prefers-color-scheme:dark){.receipt-item-admin{background:#2d3748;border-color:#4a5568;color:#e2e8f0}.receipt-item-admin:hover{background:#374151;border-color:#6b7280}.receipt-notes-admin{background:#1e3a8a;color:#93c5fd}.review-notes-admin{background:#92400e;color:#fed7aa}.delete-btn-small,.review-btn-small,.view-btn-small{background:#374151;border-color:#6b7280;color:#e5e7eb}.view-btn-small:hover{background:#4b5563;border-color:#9ca3af}}.tenant-invoices-page{margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.tenant-invoices-page h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-align:center}.tenant-invoices-page.loading{align-items:center;color:#666;display:flex;font-size:1.2rem;justify-content:center}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24}.error-message,.success-message{font-weight:500;margin-bottom:1rem;padding:1rem}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724}.no-invoices{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#666;font-size:1.2rem;padding:4rem 2rem;text-align:center}.invoices-container{display:flex;flex-direction:column;gap:2rem}.invoice-card{background:#fff;border:1px solid #e0e0e0;border-radius:16px;box-shadow:0 4px 12px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.invoice-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.invoice-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:2rem}.invoice-info h3{font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.invoice-number{font-size:.9rem;font-weight:400;margin:0;opacity:.9}.invoice-amount{text-align:right}.amount{display:block;font-size:2rem;font-weight:700;margin-bottom:.75rem;text-shadow:0 2px 4px #0000001a}.status{border:2px solid #ffffff4d;border-radius:25px;display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.4rem 1rem;text-transform:uppercase}.status-paid{background:#28a745e6;color:#fff}.status-review{background:#17a2b8e6;color:#fff}.status-unpaid{background:#6c757de6;color:#fff}.status-overdue{animation:pulse 2s infinite;background:#dc3545e6;color:#fff}.status-unknown{background:#e9ecefe6;color:#6c757d}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.invoice-details{background:#fafbfc;border-bottom:1px solid #f0f0f0;padding:1.5rem 2rem}.detail-row{align-items:center;display:flex;font-size:.95rem;justify-content:space-between;margin-bottom:1rem}.detail-row:last-child{margin-bottom:0}.detail-row span:first-child{color:#495057;font-weight:600}.detail-row span:last-child{color:#6c757d}.overdue-text{color:#dc3545!important;font-weight:600}.receipts-section{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:1.5rem 2rem}.receipts-section h4{color:#495057;font-size:1.1rem;font-weight:600;margin:0 0 1.25rem}.receipts-list{display:flex;flex-direction:column;gap:1rem}.receipt-item{background:#fff;border:1px solid #dee2e6;border-radius:10px;padding:1.25rem;transition:box-shadow .2s ease}.receipt-item:hover{box-shadow:0 2px 8px #0000001a}.receipt-info{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.receipt-date{color:#495057;font-size:.9rem;font-weight:500}.receipt-amount{color:#28a745;font-size:.9rem;font-weight:600}.receipt-status{border-radius:15px;font-size:.8rem;font-weight:600;letter-spacing:.3px;padding:.25rem .75rem;text-transform:uppercase}.status-pending-review{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-approved{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-rejected{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.receipt-actions{display:flex;gap:.5rem}.view-receipt-btn{background:#007bff;border-radius:6px;color:#fff;display:inline-block;font-size:.85rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:background .2s ease,transform .2s ease}.view-receipt-btn:hover{background:#0056b3;color:#fff;text-decoration:none;transform:translateY(-1px)}.payment-notes,.review-notes{background:#e9ecef;border-left:4px solid #007bff;border-radius:6px;color:#495057;font-size:.9rem;margin-top:.75rem;padding:.75rem}.upload-receipt-section{background:#f8f9fa;padding:2rem}.upload-receipt-section h4{color:#495057;font-size:1.1rem;font-weight:600;margin:0 0 1.5rem}.form-row{display:flex;gap:1.5rem;margin-bottom:1.25rem}.form-group{display:flex;flex:1 1;flex-direction:column}.form-group.full-width{flex:1 1 100%}.form-group label{color:#495057;font-size:.9rem;font-weight:500}.form-group input,.form-group textarea{background:#fff;border:2px solid #ced4da;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:disabled,.form-group textarea:disabled{background:#e9ecef;opacity:.7}.form-group input[type=file]{background:#fafbfc;border:2px dashed #ced4da;padding:.5rem}.form-group input[type=file]:hover{background:#f8f9ff;border-color:#667eea}.upload-btn{align-self:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:1rem 2rem;transition:transform .2s ease,box-shadow .2s ease}.upload-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.upload-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.paid-notice{background:#d4edda;border-top:1px solid #c3e6cb;color:#155724;font-size:1rem;font-weight:500;padding:1.5rem 2rem;text-align:center}@media (max-width:768px){.tenant-invoices-page{padding:1rem}.tenant-invoices-page h1{font-size:2rem}.invoice-header{flex-direction:column;gap:1.5rem;padding:1.5rem}.invoice-amount{text-align:left}.amount{font-size:1.75rem}.invoice-details,.receipts-section,.upload-receipt-section{padding:1.25rem}.form-row{flex-direction:column;gap:1rem}.receipt-info{gap:.75rem}.detail-row,.receipt-info{align-items:flex-start;flex-direction:column}.detail-row{gap:.25rem}}@media (max-width:480px){.tenant-invoices-page{padding:.5rem}.invoice-card{border-radius:12px;margin:0 -.25rem}.tenant-invoices-page h1{font-size:1.75rem;margin-bottom:1.5rem}.invoice-header{padding:1.25rem}.amount{font-size:1.5rem}}.requests-page{background:#f8fafc;color:#1a202c;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:1.5rem}.header-stats,.stats{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.requests-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:1.5rem}.admin-request-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:1.25rem;transition:all .2s ease}.admin-request-card:hover{border-color:#bfdbfe;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.request-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.request-header h3{color:#2d3748;flex:1 1;font-size:1rem;font-weight:600;line-height:1.4;margin:0}.request-details p{color:#4a5568;font-size:.875rem;line-height:1.5;margin:.5rem 0}.request-details strong{color:#2d3748;font-weight:600}.status-btn.in-progress{background:#4299e1;color:#fff}.status-btn.in-progress:hover:not(:disabled){background:#3182ce}.status-btn.danger{background:#f56565;color:#fff}.status-btn.danger:hover{background:#e53e3e}.tenant-request-form{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.tenant-request-form h2{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.tenant-request-form button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-bottom:1rem;min-height:44px;padding:.875rem 1.5rem;transition:all .2s ease}.tenant-request-form button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.tenant-request-form button[type=submit]:disabled{background:#a0aec0;box-shadow:none;cursor:not-allowed;transform:none}.requests-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.requests-section h2{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.requests-list{display:flex;flex-direction:column;gap:1rem}.request-card{background:#f7fafc;border-left:4px solid #e2e8f0;border-radius:8px;padding:1.25rem;transition:all .2s ease}.request-card:hover{border-left-color:#667eea;box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.request-content{margin:1rem 0}.request-content p{color:#4a5568;font-size:.875rem;line-height:1.5;margin:.75rem 0}.request-content strong{color:#2d3748;font-weight:600}.request-footer{align-items:center;border-top:1px solid #e2e8f0;color:#718096;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.5rem;justify-content:space-between;margin-top:1rem;padding-top:1rem}.request-summary{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.request-summary h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 1rem}.request-summary p{color:#4a5568;font-size:.875rem;line-height:1.5;margin:.5rem 0}.no-requests{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;color:#718096;padding:3rem 1.5rem;text-align:center}.no-requests:before{content:"📋";display:block;font-size:3rem;margin-bottom:1rem;opacity:.5}.no-requests p{font-size:1rem;margin:0}@media (max-width:768px){.requests-page{padding:1rem}.page-header{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.page-header h1{font-size:1.5rem;text-align:center}.header-stats,.stats{flex-wrap:wrap;gap:.5rem;justify-content:center;width:100%}.stat{flex:1 1;font-size:.75rem;min-width:calc(50% - .25rem)}.filters{align-items:stretch;flex-direction:column;gap:.75rem;padding:.75rem}.filter-select{min-width:100%}.filter-info{margin-left:0;text-align:center}.requests-grid{gap:1rem;grid-template-columns:1fr}.admin-request-card{padding:1rem}.request-header{align-items:stretch;flex-direction:column;gap:.75rem}.request-header h3{font-size:.9rem}.status-badge{align-self:flex-start;font-size:.65rem;padding:.25rem .5rem}.status-buttons{flex-direction:column;gap:.375rem}.status-btn{flex:none;font-size:.8rem;padding:.75rem;width:100%}.requests-section,.tenant-request-form{padding:1rem}.requests-section h2,.tenant-request-form h2{font-size:1.125rem}.form-group textarea{min-height:80px}.request-card{padding:1rem}.admin-response{padding:.75rem}.status-options{flex-direction:column;gap:.375rem}.status-options .status-btn{min-width:0;min-width:auto;width:100%}.request-footer{align-items:flex-start;flex-direction:column;gap:.5rem}.modal-content{border-radius:12px 12px 0 0;margin:0;max-height:95vh;max-width:none;width:100%}.modal-header{padding:1rem}.modal-header h3{font-size:1rem}.modal-body{padding:1rem}.request-summary{padding:.75rem}.response-form textarea{min-height:100px}}@media (max-width:480px){.page-header,.requests-page{padding:.75rem}.page-header h1{font-size:1.25rem}.requests-section,.tenant-request-form{padding:.75rem}.requests-section h2,.tenant-request-form h2{font-size:1rem}.admin-request-card{padding:.75rem}.request-header h3{font-size:.85rem}.admin-response p,.request-content p,.request-details p{font-size:.8rem}.status-btn{font-size:.75rem;padding:.625rem}.modal-body,.modal-header{padding:.75rem}.response-form textarea{min-height:80px}.stat{font-size:.7rem;padding:.375rem .75rem}}@media (max-width:768px){.close-btn,.filter-select,.form-group input,.form-group textarea,.response-form textarea,.status-btn,.tenant-request-form button[type=submit]{min-height:44px;touch-action:manipulation}.admin-request-card:hover,.request-card:hover,.status-btn:hover{box-shadow:inherit;transform:none}.admin-request-card:active,.request-card:active,.status-btn:active{transform:scale(.98)}}@media (prefers-contrast:high){.admin-request-card,.modal-content,.requests-section,.status-btn,.tenant-request-form{border:2px solid}}@media (prefers-reduced-motion:reduce){.admin-request-card,.modal-content,.request-card,.status-btn{transition:none}.admin-request-card:hover,.request-card:hover,.status-btn:hover{transform:none}}.complaints-page{background:#f8fafc;color:#1a202c;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:1.5rem}.page-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.page-header h1{color:#2d3748;font-size:1.75rem;font-weight:700;margin:0}.complaint-stats,.stats{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.stat{background:#e2e8f0;border-radius:8px;color:#4a5568;font-size:.8rem;font-weight:600;padding:.5rem 1rem;text-align:center;white-space:nowrap}.stat.urgent{background:#fed7d7;color:#c53030}.loading,.no-user{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;color:#718096;font-size:1rem;padding:3rem 1.5rem;text-align:center}.loading:before,.no-user:before{content:"⏳";display:block;font-size:2rem;margin-bottom:1rem;opacity:.5}.admin-view .filters{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}.filter-select{border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;min-height:44px;min-width:180px;padding:.75rem;transition:all .2s ease}.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.filter-info{color:#718096;font-size:.8rem;font-weight:500;margin-left:auto;white-space:nowrap}.complaints-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:1.5rem}.admin-complaint-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:1.25rem;transition:all .2s ease}.admin-complaint-card:hover{border-color:#bfdbfe;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.complaint-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.complaint-header h3{color:#2d3748;flex:1 1;font-size:1rem;font-weight:600;line-height:1.4;margin:0}.status-badge{border-radius:20px;color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.025em;padding:.375rem .75rem;text-align:center;text-transform:uppercase;white-space:nowrap}.status-badge.pending{background-color:#ed8936}.status-badge.investigating{background-color:#4299e1}.status-badge.resolved{background-color:#48bb78}.status-badge.closed{background-color:#a0aec0}.complaint-details p{color:#4a5568;font-size:.875rem;line-height:1.5;margin:.5rem 0}.complaint-details strong{color:#2d3748;font-weight:600}.admin-response-display{background:#f7fafc;border-left:4px solid #667eea;border-radius:0 8px 8px 0;margin-top:1rem;padding:1rem}.response-text{color:#2d3748;font-size:.875rem;font-style:italic;line-height:1.5;margin:.5rem 0}.admin-actions{border-top:1px solid #e2e8f0;margin-top:1.25rem;padding-top:1rem}.status-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.status-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.75rem;font-weight:600;letter-spacing:.025em;min-height:36px;padding:.5rem .75rem;text-align:center;text-transform:uppercase;transition:all .2s ease;white-space:nowrap}.status-btn:hover{box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.status-btn.investigating{background:#4299e1;color:#fff}.status-btn.investigating:hover:not(:disabled){background:#3182ce}.status-btn.respond{background:#667eea;color:#fff}.status-btn.respond:hover{background:#5a67d8}.status-btn.resolved{background:#48bb78;color:#fff}.status-btn.resolved:hover{background:#38a169}.status-btn.closed{background:#f56565;color:#fff}.status-btn.closed:hover{background:#e53e3e}.status-btn:disabled{background:#a0aec0;cursor:not-allowed;transform:none}.tenant-view .page-header{align-items:flex-start;flex-direction:column;gap:1rem}.tenant-view .stats{justify-content:flex-start;width:100%}.tenant-complaint-form{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.tenant-complaint-form h2{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{color:#4a5568;display:block;font-size:.8rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group textarea{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.9rem;min-height:44px;padding:.875rem;resize:vertical;transition:all .2s ease;width:100%}.form-group textarea{min-height:100px}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled,.form-group textarea:disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed}.tenant-complaint-form button[type=submit]{background:linear-gradient(135deg,#f56565,#e53e3e);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin-bottom:1rem;min-height:44px;padding:.875rem 1.5rem;transition:all .2s ease}.tenant-complaint-form button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#e53e3e,#c53030);box-shadow:0 4px 12px #f565654d;transform:translateY(-1px)}.tenant-complaint-form button[type=submit]:disabled{background:#a0aec0;box-shadow:none;cursor:not-allowed;transform:none}.email-notice{background:#ebf8ff;border-left:4px solid #4299e1;border-radius:0 8px 8px 0;color:#2c5282;font-size:.8rem;margin:0;padding:1rem}.complaints-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.complaints-section h2{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.complaints-list{display:flex;flex-direction:column;gap:1rem}.complaint-card{background:#f7fafc;border-left:4px solid #e2e8f0;border-radius:8px;padding:1.25rem;transition:all .2s ease}.complaint-card:hover{border-left-color:#667eea;box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.complaint-content{margin:1rem 0}.complaint-content p{color:#4a5568;font-size:.875rem;line-height:1.5;margin:.75rem 0}.complaint-content strong{color:#2d3748;font-weight:600}.admin-response{background:#fff;border-left:4px solid #48bb78;border-radius:0 8px 8px 0;margin-top:1rem;padding:1rem}.admin-response h4{color:#38a169;font-size:.9rem;font-weight:600;margin:0 0 .5rem}.admin-response p{color:#2d3748;font-size:.875rem;line-height:1.5;margin:.5rem 0}.complaint-footer{align-items:center;border-top:1px solid #e2e8f0;color:#718096;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.5rem;justify-content:space-between;margin-top:1rem;padding-top:1rem}.modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;padding:1rem;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.25rem;position:sticky;top:0;z-index:10}.modal-header h3{color:#2d3748;flex:1 1;font-size:1.125rem;font-weight:600;margin:0;padding-right:1rem}.close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#a0aec0;cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;line-height:1;min-height:44px;padding:.5rem;transition:color .2s ease;width:44px}.close-btn:hover{background:#f3f4f6;color:#718096}.modal-body{padding:1.25rem}.complaint-summary{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.complaint-summary h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 1rem}.complaint-summary p{color:#4a5568;font-size:.875rem;line-height:1.5;margin:.5rem 0}.current-response{background:#e6fffa;border-left:4px solid #38b2ac;border-radius:0 8px 8px 0;margin-top:1rem;padding:1rem}.response-preview{color:#2d3748;font-size:.875rem;font-style:italic;line-height:1.5}.response-form{margin-bottom:1.5rem}.response-form label{color:#4a5568;display:block;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.response-form textarea{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.875rem;min-height:120px;padding:.875rem;resize:vertical;transition:all .2s ease;width:100%}.response-form textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.status-selection label{color:#4a5568;display:block;font-size:.875rem;font-weight:600;margin-bottom:1rem}.status-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.status-options .status-btn{flex:1 1;justify-content:center;min-width:120px}.no-complaints{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;color:#718096;padding:3rem 1.5rem;text-align:center}.no-complaints:before{content:"📝";display:block;font-size:3rem;margin-bottom:1rem;opacity:.5}.no-complaints p{font-size:1rem;margin:0}@media (max-width:768px){.complaints-page{padding:1rem}.page-header{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.page-header h1{font-size:1.5rem;text-align:center}.complaint-stats,.stats{flex-wrap:wrap;gap:.5rem;justify-content:center;width:100%}.stat{flex:1 1;font-size:.75rem;min-width:calc(50% - .25rem)}.filters{align-items:stretch;flex-direction:column;gap:.75rem;padding:.75rem}.filter-select{min-width:100%}.filter-info{margin-left:0;text-align:center}.complaints-grid{gap:1rem;grid-template-columns:1fr}.admin-complaint-card{padding:1rem}.complaint-header{align-items:stretch;flex-direction:column;gap:.75rem}.complaint-header h3{font-size:.9rem}.status-badge{align-self:flex-start;font-size:.65rem;padding:.25rem .5rem}.status-buttons{flex-direction:column;gap:.375rem}.status-btn{flex:none;font-size:.8rem;padding:.75rem;width:100%}.complaints-section,.tenant-complaint-form{padding:1rem}.complaints-section h2,.tenant-complaint-form h2{font-size:1.125rem}.form-group textarea{min-height:80px}.complaint-card{padding:1rem}.admin-response{padding:.75rem}.status-options{flex-direction:column;gap:.375rem}.status-options .status-btn{min-width:0;min-width:auto;width:100%}.complaint-footer{align-items:flex-start;flex-direction:column;gap:.5rem}.modal-content{border-radius:12px 12px 0 0;margin:0;max-height:95vh;max-width:none;width:100%}.modal-header{padding:1rem}.modal-header h3{font-size:1rem}.modal-body{padding:1rem}.complaint-summary{padding:.75rem}.response-form textarea{min-height:100px}}@media (max-width:480px){.complaints-page,.page-header{padding:.75rem}.page-header h1{font-size:1.25rem}.complaints-section,.tenant-complaint-form{padding:.75rem}.complaints-section h2,.tenant-complaint-form h2{font-size:1rem}.admin-complaint-card{padding:.75rem}.complaint-header h3{font-size:.85rem}.admin-response p,.complaint-content p,.complaint-details p{font-size:.8rem}.status-btn{font-size:.75rem;padding:.625rem}.modal-body,.modal-header{padding:.75rem}.response-form textarea{min-height:80px}.stat{font-size:.7rem;padding:.375rem .75rem}}@media (max-width:768px){.close-btn,.filter-select,.form-group input,.form-group textarea,.response-form textarea,.status-btn,.tenant-complaint-form button[type=submit]{min-height:44px;touch-action:manipulation}.admin-complaint-card:hover,.complaint-card:hover,.status-btn:hover{box-shadow:inherit;transform:none}.admin-complaint-card:active,.complaint-card:active,.status-btn:active{transform:scale(.98)}}@media (prefers-contrast:high){.admin-complaint-card,.complaints-section,.modal-content,.status-btn,.tenant-complaint-form{border:2px solid}}@media (prefers-reduced-motion:reduce){.admin-complaint-card,.complaint-card,.modal-content,.status-btn{transition:none}.admin-complaint-card:hover,.complaint-card:hover,.status-btn:hover{transform:none}}.login-container{align-items:center;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:100vh;justify-content:center;position:relative}.login-container:before{background:#0006;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.login-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:460px;padding:2.5rem;position:relative;text-align:center;width:100%;z-index:2}.logo-container{align-items:center;display:flex;justify-content:center;margin-bottom:1rem}.bird-logo{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));height:60px;object-fit:contain;width:60px}.company-name{font-family:Arial Narrow,Helvetica Condensed,Roboto Condensed,Franklin Gothic Demi Cond,Impact,sans-serif;font-size:1rem;font-stretch:condensed;font-weight:700;letter-spacing:.1px;line-height:1.2;margin:.5rem 0 1.5rem;overflow:visible;text-overflow:clip;white-space:nowrap}.company-name,.login-form h2{color:#036;text-align:center;text-shadow:0 1px 2px #0000001a}.login-form h2{font-size:1.8rem;font-weight:600;margin-bottom:1.5rem}.login-form input{background:#ffffffe6;border:1px solid #cccc;border-radius:8px;box-sizing:border-box;font-size:1rem;margin-bottom:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.login-form input:focus{background:#fff;border-color:#036;box-shadow:0 0 0 3px #0033661a;outline:none}.login-form button{background:linear-gradient(135deg,#036,#024);border:none;border-radius:8px;box-shadow:0 4px 15px #0033664d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem;transition:all .3s ease;width:100%}.login-form button:hover{background:linear-gradient(135deg,#024,#012);box-shadow:0 6px 20px #0366;transform:translateY(-1px)}.error{background:#d930251a;border-left:3px solid #d93025;color:#d93025;font-size:.95rem;margin-bottom:1rem;padding:.5rem;text-align:center}@media (max-width:768px){.login-container{padding:1rem}.login-form{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);margin:1rem;max-width:95%;padding:2rem}.company-name{font-size:1rem;letter-spacing:.1px}.bird-logo{height:50px;width:50px}}@media (max-width:480px){.company-name{font-size:.9rem;letter-spacing:0}.login-form{padding:1.5rem}}@media (max-width:380px){.company-name{font-size:.85rem;line-height:1.3;white-space:normal;word-spacing:2px}}.app-container{background-color:#f8fafc;display:flex;flex-direction:column;min-height:100vh}.main-content{background-color:#f8fafc;flex:1 1;margin-top:60px;min-height:calc(100vh - 60px);overflow-x:hidden;padding:1.5rem;transition:margin-left .3s ease}@media (min-width:769px){.app-container{flex-direction:column}.main-content{margin-left:240px;margin-top:60px;min-height:calc(100vh - 60px);padding:2rem}}@media (max-width:1024px) and (min-width:769px){.main-content{margin-left:200px;margin-top:60px;min-height:calc(100vh - 60px);padding:1.5rem}}@media (max-width:768px){.app-container{flex-direction:column}.main-content{margin-left:0;margin-top:56px;min-height:calc(100vh - 56px);padding:1rem}.main-content.sidebar-open{margin-left:0}}@media (max-width:480px){.main-content{padding:.75rem}}.main-content{transition:margin-left .3s ease,padding .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.loading{align-items:center;color:#6b7280;display:flex;height:200px;justify-content:center}.error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626}.error,.success{margin:1rem 0;padding:1rem}.success{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#059669}.card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.card-header{background-color:#f8fafc;border-bottom:1px solid #e2e8f0}.card-content,.card-header{padding:1.5rem}.card-title{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.btn{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.btn-primary{background-color:#2563eb;border-color:#2563eb;color:#fff}.btn-primary:hover{background-color:#1d4ed8;border-color:#1d4ed8}.btn-secondary{background-color:#f8fafc;border-color:#e2e8f0;color:#374151}.btn-secondary:hover{background-color:#f1f5f9;border-color:#cbd5e1}.btn-danger{background-color:#dc2626;border-color:#dc2626;color:#fff}.btn-danger:hover{background-color:#b91c1c;border-color:#b91c1c}.form-group{margin-bottom:1rem}.form-label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-input{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.5rem .75rem;transition:border-color .2s ease;width:100%}.form-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-input:invalid{border-color:#dc2626}.table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.table td,.table th{border-bottom:1px solid #e2e8f0;padding:.75rem;text-align:left}.table th{color:#374151;font-size:.875rem;font-weight:600}.table tbody tr:hover,.table th{background-color:#f8fafc}@media (max-width:768px){.table-responsive{overflow-x:auto}.table{min-width:600px}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.hidden{display:none}@media (max-width:768px){.hidden-mobile{display:none}}@media (min-width:769px){.hidden-desktop{display:none}}
/*# sourceMappingURL=main.8e125e0d.css.map*/