@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.login-bg{background-color:#cddae7;justify-content:center;align-items:center;width:100vw;height:100vh;font-family:Inter,sans-serif;display:flex;position:fixed;top:0;left:0}.login-card .left-panel .content h1{letter-spacing:-.5px;margin-bottom:16px;font-size:36px;font-weight:800;line-height:1.2}.login-card .left-panel .content p{opacity:.85;max-width:340px;margin-bottom:40px;margin-left:auto;margin-right:auto;font-size:16px;line-height:1.6}.login-card .left-panel .content .read-more-btn{color:#fff;cursor:pointer;letter-spacing:.5px;background-color:#fff3;border:none;border-radius:30px;padding:12px 32px;font-size:14px;font-weight:600;transition:all .3s}.login-card .left-panel .content .read-more-btn:hover{color:#005bea;background-color:#fff;transform:translateY(-2px)}.login-card .left-panel .decorative-circle{border:2px solid #ffffff1a;border-radius:50%;position:absolute}.login-card .left-panel .decorative-circle.circle-1{width:400px;height:400px;bottom:-150px;left:-100px}.login-card .left-panel .decorative-circle.circle-2{border-color:#ffffff0d;width:600px;height:600px;bottom:-250px;left:-150px}.login-card .right-panel .form-container{text-align:center;width:100%;max-width:320px}.login-card .right-panel .form-container h2{color:#333;margin-bottom:5px;font-size:28px}.login-card .right-panel .form-container .welcome-text{color:#888;margin-bottom:40px}.login-card .right-panel .form-container .error-message{color:#d32f2f;background:#ffebee;border-radius:8px;margin-bottom:10px;padding:10px;font-size:14px}.login-card .right-panel .form-container form{flex-direction:column;gap:20px;display:flex}.login-card .right-panel .form-container form .input-group{background-color:#f5f7fa;border:1px solid #0000;border-radius:30px;align-items:center;padding:5px 20px;transition:border-color .3s;display:flex}.login-card .right-panel .form-container form .input-group:focus-within{border-color:#1e88e5}.login-card .right-panel .form-container form .input-group .input-icon{color:#888;flex-shrink:0;margin-right:15px;font-size:20px}.login-card .right-panel .form-container form .input-group input{color:#333;background:0 0;border:none;outline:none;flex:1;padding:15px 0;font-size:16px}.login-card .right-panel .form-container form .input-group input::placeholder{color:#aaa}.login-card .right-panel .form-container form .login-btn{color:#fff;cursor:pointer;background-color:#1e88e5;border:none;border-radius:30px;width:100%;padding:15px;font-size:18px;font-weight:700;transition:background .3s,transform .1s;box-shadow:0 5px 15px #1e88e54d}.login-card .right-panel .form-container form .login-btn:hover{background-color:#187bd1}.login-card .right-panel .form-container form .login-btn:active{transform:scale(.98)}.login-card .right-panel .form-container form .login-btn:disabled{cursor:not-allowed;box-shadow:none;background-color:#ccc}.login-card .right-panel .form-container form .demo-btn{color:#888;cursor:pointer;background-color:#0000;border:1px solid #ddd;border-radius:30px;width:100%;margin-top:5px;padding:12px;font-size:14px;font-weight:500;transition:all .3s}.login-card .right-panel .form-container form .demo-btn:hover{color:#333;background:#f8fafc}.login-card .right-panel .form-container form .forgot-password{color:#888;margin-top:10px;font-size:14px;text-decoration:none;display:inline-block}.login-card .right-panel .form-container form .forgot-password:hover{color:#1e88e5}.chat-widget-container{z-index:1000;font-family:Inter,sans-serif;position:fixed;bottom:24px;right:24px}.chat-bubble-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:28px;transition:transform .2s,background .2s;display:flex;box-shadow:0 4px 20px #3b82f666}.chat-bubble-btn:hover{background:var(--primary-dark);transform:scale(1.05)}.chat-window{background:#fff;border-radius:16px;flex-direction:column;width:350px;height:500px;animation:.3s ease-out slideUp;display:flex;overflow:hidden;box-shadow:0 10px 40px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-header{background:var(--primary);color:#fff;justify-content:space-between;align-items:center;padding:16px;display:flex}.chat-header-info{align-items:center;gap:12px;display:flex}.chat-avatar{width:40px;height:40px;color:var(--primary);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.chat-header-info h4{margin:0 0 2px;font-size:16px}.chat-header-info span{opacity:.8;font-size:12px}.chat-close-btn{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;font-size:24px;transition:opacity .2s}.chat-close-btn:hover{opacity:1}.chat-messages{background:#f9fafb;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--text-gray);margin-top:auto;margin-bottom:auto;font-size:14px}.chat-bubble-wrapper{width:100%;display:flex}.chat-bubble-wrapper.mine{justify-content:flex-end}.chat-bubble-wrapper.theirs{justify-content:flex-start}.chat-bubble{border-radius:16px;max-width:75%;padding:10px 14px;position:relative}.chat-bubble-wrapper.mine .chat-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-bubble-wrapper.theirs .chat-bubble{color:var(--text-dark);border:1px solid var(--border);background:#fff;border-bottom-left-radius:4px}.chat-bubble p{margin:0;font-size:14px;line-height:1.5}.chat-time{text-align:right;opacity:.7;margin-top:4px;font-size:10px;display:block}.chat-input-area{border-top:1px solid var(--border);background:#fff;align-items:center;gap:12px;padding:16px;display:flex}.chat-input-area input{border:1px solid var(--border);border-radius:20px;outline:none;flex:1;padding:10px 16px;font-family:Inter,sans-serif;font-size:14px}.chat-input-area input:focus{border-color:var(--primary)}.chat-input-area button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:background .2s;display:flex}.chat-input-area button:hover:not(:disabled){background:var(--primary-dark)}.chat-input-area button:disabled{cursor:not-allowed;background:#ccc}@media (width<=400px){.chat-window{border-radius:0;width:100vw;height:100vh;animation:none;position:fixed;top:0;left:0}}*{box-sizing:border-box}:root{--primary:#3b82f6;--primary-dark:#2563eb;--sidebar-bg:#fff;--main-bg:#f3f4f6;--text-dark:#111827;--text-gray:#6b7280;--border:#e5e7eb;--green-bg:#dcfce7;--green-text:#166534;--orange-bg:#ffedd5;--orange-text:#9a3412;--red-bg:#fee2e2;--red-text:#991b1b}html,body,#root{width:100%;height:100%;color:var(--text-dark);background:var(--main-bg);margin:0;padding:0;font-family:Inter,system-ui,sans-serif;overflow:hidden}.dashboard-container{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:260px;height:100%;padding:24px;display:flex;overflow-y:auto}.sidebar .brand{align-items:center;gap:12px;margin-bottom:40px;display:flex}.sidebar .brand .logo-icon{background:var(--primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:flex}.sidebar .brand h3{color:#1e293b;margin:0;font-size:18px;font-weight:700}.sidebar .brand span{color:var(--text-gray);font-size:12px}.sidebar .menu-section{margin-bottom:24px}.sidebar .menu-section.mt-auto{margin-top:auto}.sidebar .menu-title{color:var(--text-gray);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;padding-left:12px;font-size:11px;font-weight:600}.sidebar .menu-section ul{margin:0;padding:0;list-style:none}.sidebar .menu-section li{color:#4b5563;cursor:pointer;border-radius:10px;align-items:center;gap:12px;margin-bottom:4px;padding:12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar .menu-section li:hover{color:var(--primary);background-color:#f3f4f6}.sidebar .menu-section li.active,.sidebar .menu-section a.active li{background-color:var(--primary);color:#fff}.sidebar .menu-section a{color:inherit;text-decoration:none}.sidebar .menu-section a.active{text-decoration:none}.sidebar .menu-section a.active li{background-color:var(--primary);color:#fff}.sidebar .badge{color:var(--primary);background:#e0f2fe;border-radius:10px;margin-left:auto;padding:2px 8px;font-size:11px}.logout-btn{color:#d32f2f!important}.logout-btn:hover{background:#fee2e2!important}.main-content{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.top-header{background:var(--sidebar-bg);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:70px;padding:0 32px;display:flex}.search-bar{background:var(--main-bg);border-radius:10px;align-items:center;width:400px;padding:10px 16px;display:flex}.search-bar svg{color:var(--text-gray);margin-right:10px;font-size:18px}.search-bar input{background:0 0;border:none;outline:none;width:100%;font-family:Inter,sans-serif;font-size:14px}.header-actions{align-items:center;gap:24px;display:flex}.notification-icon{color:var(--text-gray);cursor:pointer;font-size:24px;position:relative}.notification-icon .dot{color:#fff;background:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;display:flex;position:absolute;top:-5px;right:-5px}.user-profile{cursor:pointer;align-items:center;gap:10px;display:flex}.user-profile .avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.user-profile .user-info{flex-direction:column;display:flex}.user-profile .user-info .name{font-size:14px;font-weight:600}.user-profile .user-info .role{color:var(--text-gray);text-transform:capitalize;font-size:12px}.content-wrapper{flex:1;padding:32px;overflow-y:auto}.page-header{justify-content:space-between;align-items:flex-end;margin-bottom:32px;display:flex}.page-header .breadcrumb{color:var(--text-gray);margin-bottom:4px;font-size:14px}.page-header h1{margin:0;font-size:28px;font-weight:700}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:background .2s;display:flex}.btn-primary:hover{background:var(--primary-dark)}.stats-grid{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:24px;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #00000014}.stat-card .stat-icon{border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;font-size:22px;display:flex}.stat-card .stat-icon.blue{color:var(--primary);background:#dbeafe}.stat-card .stat-icon.green{background:var(--green-bg);color:var(--green-text)}.stat-card .stat-icon.orange{background:var(--orange-bg);color:var(--orange-text)}.stat-card .stat-icon.red{background:var(--red-bg);color:var(--red-text)}.stat-card h2{margin:0 0 4px;font-size:32px;font-weight:700}.stat-card p{color:var(--text-gray);margin:0;font-size:14px}.table-container{border:1px solid var(--border);background:#fff;border-radius:12px;padding:24px}.table-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.table-header h3{margin:0;font-size:18px;font-weight:600}.table-actions{gap:12px;display:flex}.search-input{border:1px solid var(--border);background:#f9fafb;border-radius:8px;align-items:center;padding:8px 12px;display:flex}.search-input input{background:0 0;border:none;outline:none;margin-left:8px;font-family:Inter,sans-serif;font-size:14px}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--text-gray);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;padding:16px 12px;font-size:12px;font-weight:600}.data-table tbody tr{cursor:pointer;transition:background-color .2s}.data-table tbody tr:hover{background-color:#f8fafc}.data-table td{vertical-align:middle;color:#374151;border-bottom:1px solid #f3f4f6;padding:16px 12px;font-size:14px}.status-badge{border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.status-badge.paid{background:var(--green-bg);color:var(--green-text)}.status-badge.unpaid{background:var(--red-bg);color:var(--red-text)}.status-badge.owner{color:var(--primary);background:#dbeafe}.status-badge.family{background:var(--orange-bg);color:var(--orange-text)}.status-badge.tenant{color:#7c3aed;background:#f3e8ff}.row-actions{gap:8px;display:flex}.row-action-btn{border:1px solid var(--border);color:#374151;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.row-action-btn:hover{background:#f3f4f6}.row-action-delete{color:#dc2626}.residents-alert{border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:14px;font-weight:500}.residents-alert-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.residents-alert-success{color:#166534;background:#ecfdf5;border:1px solid #bbf7d0}.modal-overlay{z-index:2000;background:#11182780;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--border);background:#fff;border-radius:14px;width:min(760px,100%);padding:20px;box-shadow:0 20px 50px #0003}.modal-card-small{width:min(460px,100%)}.modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-header h3{margin:0;font-size:20px}.resident-form{flex-direction:column;gap:14px;display:flex}.resident-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.resident-form-label{color:#374151;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.resident-form-input{border:1px solid var(--border);border-radius:8px;outline:none;width:100%;padding:10px;font-family:Inter,sans-serif;font-size:14px}.resident-form-input:focus{border-color:var(--primary)}.resident-form-error{color:#b91c1c;margin-top:4px;font-size:12px}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.btn-secondary{color:#374151;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600}.btn-secondary:hover{background:#f3f4f6}.login-bg{background-color:#cddae7;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.login-card{background:#fff;border-radius:30px;width:900px;height:550px;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000001a}.login-card .left-panel{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1e40af 100%);flex-direction:column;flex:1;justify-content:center;padding:40px;display:flex;position:relative;overflow:hidden}.login-card .left-panel .content{z-index:2;text-align:center;position:relative}.login-card .left-panel h1{margin-bottom:16px;font-size:36px;font-weight:800;line-height:1.2}.login-card .left-panel p{opacity:.85;margin-bottom:40px;font-size:16px;line-height:1.6}.login-card .decorative-circle{border:2px solid #ffffff1a;border-radius:50%;position:absolute}.login-card .circle-1{width:400px;height:400px;bottom:-150px;left:-100px}.login-card .circle-2{border-color:#ffffff0d;width:600px;height:600px;bottom:-250px;left:-150px}.login-card .right-panel{background:#fff;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.login-card .form-container{text-align:center;width:100%;max-width:320px}.login-card .form-container h2{color:var(--text-dark);margin-bottom:5px;font-size:28px}.login-card .welcome-text{color:var(--text-gray);margin-bottom:40px}.login-card .error-message{color:#d32f2f;background:#ffebee;border-radius:8px;margin-bottom:10px;padding:10px;font-size:14px}.login-card form{flex-direction:column;gap:20px;display:flex}.login-card .input-group{background-color:#f5f7fa;border:1px solid #0000;border-radius:30px;align-items:center;padding:5px 20px;transition:border-color .3s;display:flex}.login-card .input-group:focus-within{border-color:var(--primary)}.login-card .input-group .input-icon{color:#888;flex-shrink:0;margin-right:15px;font-size:20px}.login-card .input-group input{color:var(--text-dark);background:0 0;border:none;outline:none;flex:1;padding:15px 0;font-family:Inter,sans-serif;font-size:16px}.login-card .input-group input::placeholder{color:#aaa}.login-btn{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:30px;width:100%;padding:15px;font-family:Inter,sans-serif;font-size:18px;font-weight:700;transition:background .3s,transform .1s;box-shadow:0 5px 15px #3b82f64d}.login-btn:hover{background-color:var(--primary-dark)}.login-btn:active{transform:scale(.98)}.login-btn:disabled{cursor:not-allowed;box-shadow:none;background-color:#ccc}.demo-btn{width:100%;color:var(--text-gray);border:1px solid var(--border);cursor:pointer;background-color:#0000;border-radius:30px;padding:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:all .3s}.demo-btn:hover{color:var(--text-dark);background:#f3f4f6}.divider{align-items:center;gap:12px;margin:0;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.divider span{color:var(--text-gray);text-transform:uppercase;font-size:12px}.chart-container{border:1px solid var(--border);background:#fff;border-radius:12px;padding:24px}.chart-container h3{margin:0 0 20px;font-size:18px;font-weight:600}.chart-container .chart-area{height:300px}.activity-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:24px}.activity-card h3{margin:0 0 20px;font-size:18px;font-weight:600}.activity-item{cursor:pointer;border-bottom:1px solid #f3f4f6;align-items:center;gap:12px;padding:12px 0;transition:background .2s;display:flex}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#f9fafb;border-radius:8px;margin:0 -8px;padding:12px 8px}.activity-item .dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px}.activity-item .activity-text{font-size:14px;font-weight:500}.activity-item .activity-time{color:var(--text-gray);font-size:12px}.grid-2-1{grid-template-columns:2fr 1fr;gap:24px;margin-top:32px;display:grid}@media print{.no-print,.sidebar,.top-header,.page-header,.search-box,.btn-primary,.row-actions,.modal-header,.modal-actions{display:none!important}body{background:#fff!important}.main-content{margin:0!important;padding:0!important}.modal-overlay{background:#fff!important;padding:0!important;position:static!important}.modal-card{box-shadow:none!important;border:none!important;width:100%!important;max-width:none!important}.receipt-box{border:1px solid #000!important;padding:40px!important}}@media (width<=1024px){.search-bar{width:250px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar{z-index:3000;width:260px;transition:left .3s;position:fixed;left:-260px;box-shadow:10px 0 30px #0000001a}.sidebar.open{left:0}.sidebar-overlay{z-index:2500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;position:fixed;inset:0}.top-header{padding:0 16px}.header-left{align-items:center;gap:12px;display:flex}.mobile-toggle{border:1px solid var(--border);cursor:pointer;width:40px;height:40px;color:var(--text-dark);background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:24px;display:flex}.search-bar{display:none}.header-actions{gap:12px}.user-info{display:none!important}.content-wrapper{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.stats-grid{grid-template-columns:1fr;gap:16px}.table-header{flex-direction:column;align-items:flex-start;gap:16px}.table-actions,.search-input{width:100%}.table-container{padding:12px;overflow-x:auto}.data-table{min-width:600px}.resident-form-grid{grid-template-columns:1fr}.login-card{flex-direction:column;width:95%;height:auto}.login-card .left-panel{text-align:center;padding:30px}}@media (width>=769px){.mobile-toggle{display:none}}.pagination{justify-content:center;align-items:center;gap:8px;margin-top:24px;display:flex}.pagination-btn{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;min-width:40px;padding:8px 12px;font-size:14px;transition:all .2s}.pagination-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-dots{color:var(--text-gray);padding:0 4px}.notifications-list{flex-direction:column;gap:16px;display:flex}.notification-card{border:1px solid var(--border);background:#fff;border-radius:12px;gap:16px;padding:20px;transition:all .2s;display:flex}.notification-card.unread{background:#f0f7ff;border-color:#bfdbfe}.notification-card:hover{box-shadow:0 4px 12px #0000000d}.notif-icon{width:48px;height:48px;color:var(--primary);background:#e0e7ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;display:flex}.notification-card.unread .notif-icon{background:var(--primary);color:#fff}.notif-content{flex:1}.notif-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.notif-header h3{color:var(--text-dark);margin:0;font-size:16px;font-weight:600}.notif-time{color:var(--text-gray);font-size:12px}.notif-content p{color:#4b5563;margin:0 0 12px;font-size:14px;line-height:1.5}.mark-read-btn{color:var(--primary);border:1px solid var(--primary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:all .2s;display:flex}.mark-read-btn:hover{background:#eff6ff}
