html,body,#root{width:100%;max-width:100%;overflow-x:hidden}@media (max-width: 760px){.app-shell{display:block!important;min-height:100dvh}.sidebar{position:sticky!important;top:0!important;z-index:100!important;width:100%!important;min-height:0!important;height:auto!important;flex:none!important;display:block!important;background:linear-gradient(180deg,#0f5135,#176942)!important;box-shadow:0 2px 12px #0f51352e}.brand{height:54px!important;padding:0 15px!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.brand-mark{width:32px!important;height:32px!important;border-radius:10px 16px!important}.brand strong{font-size:17px!important}.brand span{font-size:10px!important}.sidebar-label,.sidebar-footer{display:none!important}.nav{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;gap:6px!important;padding:7px 10px 9px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav::-webkit-scrollbar{display:none}.nav-item{flex:0 0 auto!important;width:auto!important;min-height:38px!important;padding:0 11px!important;border-radius:9px!important;justify-content:center!important;gap:6px!important;white-space:nowrap!important;font-size:10px!important}.nav-item span{display:inline!important}.nav-item svg{width:15px!important;height:15px!important}.main{width:100%!important;min-width:0!important}.topbar{position:sticky!important;top:54px!important;z-index:90!important;height:auto!important;min-height:58px!important;padding:9px 12px!important;gap:8px!important;box-shadow:0 1px 8px #143c2a0d}.breadcrumb{display:none!important}.topbar-actions{width:100%!important;gap:7px!important}.search-box{flex:1!important;width:auto!important;min-width:0!important;height:38px!important}.search-box input{font-size:11px!important}.user-menu{min-width:0!important;gap:5px!important}.user-info{display:none!important}.avatar{width:34px!important;height:34px!important;flex:0 0 34px!important}.page-content{width:100%!important;max-width:none!important;padding:15px 12px 28px!important;margin:0!important}.page-title{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin-bottom:15px!important}.page-title h1{font-size:23px!important;line-height:1.15!important}.page-title p{font-size:11px!important;line-height:1.45!important}.page-title>.button{width:100%!important;justify-content:center!important}.live-status{align-self:flex-start!important}.panel,.financial-summary,.stat-card,.financial-card{min-width:0!important;max-width:100%!important}.panel{border-radius:13px!important}.financial-summary{padding:14px!important;border-radius:13px!important}.section-header{gap:8px!important;margin-bottom:12px!important}.section-header h2{font-size:14px!important}.section-header p{font-size:10px!important}.financial-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.financial-card,.stat-card{padding:11px!important;gap:8px!important;border-radius:11px!important}.financial-icon,.stat-icon{width:34px!important;height:34px!important;flex-basis:34px!important;border-radius:9px!important}.financial-card strong{font-size:12px!important}.financial-card span,.stat-label{font-size:9px!important}.stat-content strong{font-size:17px!important}.stat-content small{font-size:8px!important}.dashboard-top-grid,.dashboard-stat-pair,.dashboard-ops-grid,.two-column,.profile-grid,.profile-grid.three,.profile-summary-grid,.collection-grid{grid-template-columns:1fr!important}.dashboard-top-grid,.dashboard-stat-pair,.dashboard-ops-grid{gap:10px!important}.birthday-columns{grid-template-columns:1fr!important;gap:12px!important}.birthday-column-title{font-size:9px!important}.birthday-row{padding:9px 10px!important;border-radius:10px!important}.birthday-date strong{font-size:12px!important}.birthday-person strong{font-size:11px!important}.resident-stat-table{overflow:visible!important}.resident-stat-table table{min-width:0!important;width:100%!important;table-layout:fixed!important}.resident-stat-table th{padding:7px 4px!important;font-size:7px!important}.resident-stat-table td{padding:9px 4px!important;font-size:9px!important;vertical-align:middle!important}.resident-stat-table td:first-child strong{font-size:9px!important}.resident-stat-table td:first-child small{font-size:7px!important}.occupancy-stat{gap:3px!important}.occupancy-value{font-size:8px!important}.occupancy-dot{width:6px!important;height:6px!important}.dashboard-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.dashboard-breakdown-grid>div{min-width:0!important;padding:9px!important}.dashboard-breakdown-grid span{font-size:8px!important}.dashboard-breakdown-grid strong{font-size:15px!important}.vehicle-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}.vehicle-stat-grid>div{min-width:0!important;padding:8px 5px!important}.vehicle-stat-grid span{font-size:8px!important}.vehicle-stat-grid strong{font-size:15px!important}.security-status{gap:8px!important;padding:10px!important}.security-status strong{font-size:10px!important}.security-status span{font-size:8px!important}.table-wrap{width:100%!important;overflow:visible!important}.table-wrap table{width:100%!important;min-width:0!important;display:block!important;border-collapse:separate!important}.table-wrap thead{display:none!important}.table-wrap tbody{display:grid!important;gap:9px!important}.table-wrap tr{display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:8px 11px!important;border:1px solid #e4ebe7!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 8px #143c2a09!important}.table-wrap td{display:grid!important;grid-template-columns:minmax(88px,34%) minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-width:0!important;min-height:32px!important;padding:6px 0!important;border-bottom:1px solid #f0f3f1!important;font-size:10px!important;overflow-wrap:anywhere!important}.table-wrap td:last-child{border-bottom:0!important}.table-wrap td:before{content:attr(data-label)!important;color:#8a968f!important;font-size:7px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.35px!important}.table-wrap td>*{min-width:0!important;max-width:100%!important}.table-wrap .row-actions{justify-content:flex-start!important;flex-wrap:wrap!important}.table-wrap .contact-buttons{justify-content:flex-start!important}.table-wrap .contact-icon{width:34px!important;height:34px!important}.table-wrap .emergency-contact-row{align-items:center!important}.table-wrap .emergency-contact-row>span{font-size:8px!important;overflow-wrap:anywhere!important}.table-wrap .status-pill{justify-self:start!important}.toolbar{flex-direction:column!important;align-items:stretch!important;gap:9px!important}.toolbar .search-box.large{width:100%!important;max-width:none!important}.toolbar-info{align-self:flex-start!important;font-size:9px!important}.csv-tools,.import-tools{width:100%!important}.csv-tools .toolbar,.import-tools .toolbar{flex-direction:column!important}.csv-tools .button,.import-tools .button{width:100%!important;justify-content:center!important}.modal-backdrop{padding:0!important;align-items:flex-end!important}.modal,.modal-large,.modal-profile{width:100%!important;max-width:100%!important;max-height:94dvh!important;border-radius:16px 16px 0 0!important;margin:0!important}.modal-header{padding:15px!important;gap:8px!important}.modal-header h2{font-size:17px!important}.modal-header p{font-size:9px!important}.crud-form{padding:14px!important}.form-grid,.form-grid.two,.form-grid.three,.model-grid,.detail-grid{grid-template-columns:1fr!important}.form-grid label{font-size:9px!important}.form-grid input,.form-grid select{min-height:42px!important;font-size:11px!important}.modal-actions{padding:0 14px 14px!important;flex-direction:column-reverse!important}.modal-actions .button{width:100%!important;justify-content:center!important}.profile-summary-grid{gap:7px!important;padding:10px 14px!important}.profile-summary-card{padding:10px!important}.profile-grid{gap:9px!important;padding:0 14px!important}.profile-section{padding:12px!important}.profile-section-header{gap:8px!important;flex-wrap:wrap!important}.profile-section-header .button{width:auto!important}.profile-footer{padding:12px 14px 16px!important;flex-direction:column!important;align-items:stretch!important}.profile-footer .button{width:100%!important;justify-content:center!important}.profile-person{grid-template-columns:32px minmax(0,1fr) auto!important;gap:7px!important}.profile-person-main{min-width:0!important}.profile-person-main strong,.profile-person-main span{overflow-wrap:anywhere!important}.resident-profile-modal .profile-grid{grid-template-columns:1fr!important}.profile-header-actions{display:flex!important;gap:6px!important}.profile-header-actions .button{padding:7px 9px!important}.table-subtext,.muted,.detail-grid strong,.detail-grid span{overflow-wrap:anywhere!important;word-break:break-word!important}[style*=width]{max-width:100%}}@media (max-width: 430px){.brand{height:50px!important}.topbar{top:50px!important}.nav-item{min-height:36px!important;padding:0 9px!important;font-size:9px!important}.page-content{padding-left:10px!important;padding-right:10px!important}.financial-grid,.stats-grid{gap:6px!important}.financial-card,.stat-card{padding:9px!important}.financial-icon,.stat-icon{width:30px!important;height:30px!important;flex-basis:30px!important}.financial-card strong{font-size:11px!important}.dashboard-breakdown-grid{grid-template-columns:1fr 1fr!important}.vehicle-stat-grid{grid-template-columns:1fr 1fr 1fr!important}.table-wrap td{grid-template-columns:minmax(78px,32%) minmax(0,1fr)!important;font-size:9px!important}.table-wrap td:before{font-size:6.5px!important}.contact-icon{width:32px!important;height:32px!important}}.h-id-value{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;display:inline-block!important}.emergency-name-row{display:inline-flex;align-items:center;gap:6px;min-width:0;line-height:1.2}.emergency-status-dot{width:9px;height:9px;min-width:9px;border-radius:50%;display:inline-block;vertical-align:middle}.emergency-status-dot.active{background:#2f9e68}.emergency-status-dot.inactive{background:#d9534f}.emergency-contact-row{display:flex;align-items:center;gap:7px;margin-top:4px;min-width:0}.emergency-contact-row>span{white-space:nowrap;overflow-wrap:normal!important;word-break:normal!important}.vehicle-plate-badge,.vehicle-type-badge,.vehicle-sticker-badge,.vehicle-status-badge{display:inline-flex;align-items:center;width:fit-content;max-width:100%;box-sizing:border-box;border-radius:7px;font-weight:700;line-height:1.2;white-space:nowrap}.vehicle-plate-badge{padding:5px 9px;background:#e7f5ed;color:#0f5135;border:1px solid #bfe2cd;letter-spacing:.2px}.vehicle-plate-badge.large{padding:8px 12px;font-size:18px}.vehicle-type-badge,.vehicle-sticker-badge{padding:4px 8px;border:1px solid transparent;font-size:11px}.vehicle-type-2{background:#e7f5ed;color:#0f5135;border-color:#bfe2cd}.vehicle-type-4{background:#e8f1ff;color:#1856a3;border-color:#bfd4f5}.vehicle-type-other{background:#fff6d9;color:#8a6400;border-color:#ecd98f}.vehicle-status-badge{padding:4px 8px;font-size:11px}.vehicle-status-badge.active{background:#e7f5ed;color:#0f5135;border:1px solid #bfe2cd}.vehicle-status-badge.inactive{background:#fdeaea;color:#a12828;border:1px solid #efc1c1}.house-vehicle-item{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:8px 0}.house-vehicle-main{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.house-vehicle-item .vehicle-status-badge{flex:0 0 auto}.vehicle-profile-card>small{margin-top:6px}@media (max-width: 760px){.vehicle-plate-badge.large{font-size:16px}.house-vehicle-item{align-items:flex-start!important}.house-vehicle-main{max-width:calc(100% - 82px)}.vehicle-type-badge,.vehicle-sticker-badge,.vehicle-status-badge{font-size:10px}}.status-pill.info{background:#e8f1ff;color:#1856a3;border:1px solid #bfd4f5}.vehicle-profile-badge-large{display:inline-flex!important;width:fit-content!important;max-width:100%;white-space:nowrap}.house-vehicle-main .status-pill{flex:0 0 auto}@media (max-width: 760px){.house-vehicle-main .status-pill{font-size:10px!important}.vehicle-profile-badge-large{font-size:16px!important}}.vehicle-profile-card{min-height:104px}.vehicle-profile-card .vehicle-profile-label{display:block;margin:0 0 7px;font-size:9px;line-height:1.2;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a9892}.vehicle-profile-card .vehicle-profile-value{display:block;margin:0}.vehicle-profile-meta{display:flex;align-items:center;gap:6px;margin-top:7px;min-height:22px}.vehicle-profile-sub-label{font-size:9px;line-height:1.2;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a9892}.vehicle-plate-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:31px;padding:4px 11px 5px;border-radius:5px;border:1px solid #111;background:#111;color:#fff;font-family:Arial Narrow,Roboto Condensed,DIN Condensed,Arial,sans-serif;font-size:16px;line-height:1;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;white-space:nowrap;box-shadow:inset 0 -1px #ffffff14}.vehicle-plate-badge-large{font-size:17px!important;letter-spacing:1.8px}.vehicle-profile-card .status-pill{vertical-align:middle}@media (max-width: 760px){.vehicle-profile-card .vehicle-profile-label,.vehicle-profile-sub-label{font-size:8px!important}.vehicle-plate-badge-large{font-size:15px!important;letter-spacing:1.5px!important}}.vehicle-plate-pill{background:#111!important;color:#fff!important;border:1px solid #111!important}.vehicle-profile-heading{display:flex;align-items:center;gap:7px;min-height:22px;margin-bottom:10px}.vehicle-profile-heading .vehicle-profile-label{margin:0!important}.vehicle-sticker-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin-top:8px;text-align:center}.vehicle-sticker-block .vehicle-profile-sub-label{display:block;margin:0}.vehicle-sticker-profile{min-width:110px;min-height:31px;justify-content:center;padding:6px 12px!important;font-size:16px!important;line-height:1!important;font-weight:800!important}@media (max-width: 760px){.vehicle-profile-heading{gap:5px}.vehicle-sticker-profile{min-width:96px;min-height:29px;font-size:14px!important}}.vehicle-sticker-block{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;text-align:center}.vehicle-sticker-label-row{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:24px}.vehicle-sticker-label-row .vehicle-profile-sub-label{display:inline-block;margin:0}.vehicle-status-profile{display:inline-flex;align-items:center;justify-content:center;margin:0;white-space:nowrap}.vehicle-sticker-profile{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;min-width:120px;min-height:38px;padding:7px 14px;font-size:14px;font-weight:800;white-space:nowrap}@media (max-width: 640px){.vehicle-sticker-label-row{gap:6px}.vehicle-sticker-profile{min-width:110px;min-height:36px}}.vehicle-status-dot{width:8px;height:8px;min-width:8px;border-radius:50%;display:inline-block;vertical-align:middle;flex:0 0 auto}.vehicle-status-dot.active{background:#2f9e68}.vehicle-status-dot.inactive{background:#d9534f}.vehicle-sticker-label-row .vehicle-status-dot{margin-left:2px}.house-vehicle-main .vehicle-status-dot{margin-left:0}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173b2b;background:#f5f8f6;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{margin:0;min-width:100%;min-height:100%}body{min-height:100vh;background:#f5f8f6}button,input{font:inherit}button{cursor:pointer}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:#17633f;background:#f5f8f6}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 460px;background:radial-gradient(circle at 12% 20%,rgba(241,193,58,.18),transparent 30%),linear-gradient(135deg,#0e5135,#176942 52%,#eef5f0 52%,#f7f9f8);padding:48px;gap:40px}.login-decoration{color:#fff;display:flex;flex-direction:column;justify-content:center;padding:60px;max-width:700px}.login-flower{width:92px;height:92px;border-radius:28px 50%;background:#f1c13a;color:#155637;display:grid;place-items:center;font-size:48px;font-weight:900;transform:rotate(-8deg);box-shadow:0 18px 45px #0000002e;margin-bottom:28px}.login-brand{display:flex;align-items:baseline;gap:4px;font-size:48px;letter-spacing:-2px}.login-brand strong{color:#f1c13a}.login-brand span{color:#fff;font-weight:700}.login-decoration p{font-size:18px;line-height:1.6;opacity:.88;margin-top:14px}.login-card{align-self:center;width:100%;max-width:460px;background:#fff;border:1px solid #e5ece8;border-radius:22px;padding:38px;box-shadow:0 25px 70px #0d3a262e}.login-card-header{text-align:center;margin-bottom:28px}.login-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin:0 auto 16px;background:#e8f3ed;color:#17633f}.login-card h1{margin:0;font-size:28px;color:#123c2a}.login-card-header p{color:#708078;margin:8px 0 0}.login-form{display:grid;gap:18px}.login-form label{display:grid;gap:7px;color:#345348;font-size:14px;font-weight:700}.login-form input{width:100%;border:1px solid #d9e3de;border-radius:11px;padding:13px 14px;outline:none;color:#173b2b;background:#fff;transition:.15s ease}.login-form input:focus{border-color:#2c855c;box-shadow:0 0 0 4px #2c855c1a}.login-button{width:100%;justify-content:center;margin-top:4px}.login-error{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;border-radius:10px;color:#9a3f32;background:#fff0ed;border:1px solid #f2c8c1;font-size:13px;line-height:1.45}.login-footer{margin-top:24px;padding-top:18px;border-top:1px solid #edf1ef;display:flex;justify-content:center;gap:8px;color:#9aa59f;font-size:11px}.app-shell{min-height:100vh;display:flex;background:#f5f8f6}.sidebar{width:250px;min-height:100vh;flex:0 0 250px;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,#0f5135,#176942 58%,#0d442d)}.brand{height:88px;display:flex;align-items:center;gap:12px;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px 20px;background:#f1c13a;color:#155637;font-weight:900;transform:rotate(-6deg)}.brand strong{display:block;color:#f1c13a;font-size:21px;line-height:1}.brand span{display:block;color:#fff;font-size:13px;font-weight:600;margin-top:3px}.sidebar-label{padding:24px 24px 10px;color:#ffffff7a;font-size:10px;font-weight:800;letter-spacing:1.2px}.nav{padding:0 13px;display:grid;gap:4px}.nav-item{border:0;background:transparent;color:#ffffffc2;width:100%;min-height:44px;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 13px;text-align:left;transition:.15s ease}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{color:#123d29;background:#f1c13a;font-weight:800;box-shadow:0 8px 20px #0000001f}.sidebar-footer{margin-top:auto;padding:18px 16px 20px;border-top:1px solid rgba(255,255,255,.1)}.firebase-status{display:flex;gap:10px;align-items:center;padding:10px;margin-bottom:10px}.status-dot,.live-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:#62d38c;box-shadow:0 0 0 4px #62d38c21}.firebase-status strong,.firebase-status span{display:block}.firebase-status strong{font-size:12px}.firebase-status span{color:#ffffff8c;font-size:10px;margin-top:2px}.test-firestore-button{width:100%;border:1px solid rgba(255,255,255,.16);background:#ffffff12;color:#ffffffe0;border-radius:9px;padding:9px 10px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px}.main{flex:1;min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid #e6ece9;display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:20px}.breadcrumb{display:flex;align-items:center;gap:7px;color:#9aa49f;font-size:12px}.breadcrumb strong{color:#214c39}.topbar-actions{display:flex;align-items:center;gap:16px}.search-box{width:240px;height:38px;display:flex;align-items:center;gap:8px;border:1px solid #e0e7e3;border-radius:9px;padding:0 11px;color:#9aa59f}.search-box input{border:0;outline:0;width:100%;background:transparent;font-size:12px;color:#234536}.notification-button,.icon-button,.logout-button{border:0;background:transparent;color:#718079}.notification-button{position:relative;width:36px;height:36px;display:grid;place-items:center}.notification-button span{position:absolute;right:8px;top:7px;width:6px;height:6px;background:#e4ae1f;border-radius:50%}.user-chip{display:flex;align-items:center;gap:9px;padding-left:4px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8f2ed;color:#17633f;font-size:11px;font-weight:900}.user-chip strong,.user-chip small{display:block}.user-chip strong{color:#244b3a;font-size:11px}.user-chip small{color:#8b9791;font-size:10px;margin-top:2px}.logout-button{margin-left:3px;padding:5px;border-radius:7px}.logout-button:hover{background:#eef4f1;color:#17633f}.page-content{padding:30px;max-width:1500px;margin:0 auto}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.page-title h1{margin:0;font-size:29px;color:#143e2c;letter-spacing:-.5px}.page-title p{margin:6px 0 0;color:#7b8982;font-size:13px}.live-status{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:#e9f6ee;color:#2c7851;font-size:10px;font-weight:800}.financial-summary,.panel,.stat-card,.financial-card{background:#fff;border:1px solid #e5ebe8;border-radius:15px}.financial-summary{padding:22px;margin-bottom:18px}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:17px}.section-header h2{margin:0;color:#194532;font-size:15px}.section-header p{margin:5px 0 0;color:#87938d;font-size:11px;line-height:1.5}.financial-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.financial-card{border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:none}.financial-icon{width:40px;height:40px;flex:0 0 40px;border-radius:11px;display:grid;place-items:center;background:#edf2ef;color:#5f756a}.financial-icon.income{background:#e9f6ee;color:#2b8b58}.financial-icon.expense{background:#fff0ed;color:#b45749}.financial-icon.balance{background:#fff7df;color:#9b7415}.financial-card span,.financial-card strong{display:block}.financial-card span{color:#87938d;font-size:10px;margin-bottom:5px}.financial-card strong{color:#173e2d;font-size:15px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat-card{padding:17px;display:flex;align-items:center;gap:13px}.stat-icon{width:42px;height:42px;border-radius:12px;background:#edf5f0;color:#246b49;display:grid;place-items:center}.stat-content{min-width:0}.stat-label,.stat-content strong,.stat-content small{display:block}.stat-label{color:#89958f;font-size:10px}.stat-content strong{color:#173e2d;font-size:19px;margin:2px 0}.stat-content small{color:#a1aaa5;font-size:9px}.content-grid{display:grid;gap:18px;margin-bottom:18px}.two-column{grid-template-columns:1fr 1fr}.panel{padding:21px;min-width:0}.announcement-list,.task-list,.workflow{display:grid;gap:10px}.announcement{display:flex;gap:12px;padding:12px;border:1px solid #edf1ef;border-radius:10px;background:#fbfcfb}.announcement-badge{min-width:42px;height:28px;border-radius:7px;background:#eaf4ee;color:#2c7650;display:grid;place-items:center;font-size:9px;font-weight:900}.announcement strong{display:block;color:#244d3b;font-size:11px}.announcement p{margin:4px 0 0;color:#8a968f;font-size:10px;line-height:1.45}.task-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;border-bottom:1px solid #edf1ef}.task-row:last-child{border-bottom:0}.task-row strong,.task-row span{display:block}.task-row strong{font-size:11px;color:#244d3b}.task-row div span{margin-top:3px;color:#8a968f;font-size:10px}.status-pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.status-pill.success{color:#277447;background:#e9f6ee}.status-pill.warning{color:#9a741b;background:#fff7df}.status-pill.info{color:#336f91;background:#e9f4fb}.status-pill.danger{color:#a1493d;background:#fff0ed}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:650px}th{text-align:left;color:#8a968f;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;padding:10px 9px;border-bottom:1px solid #e7edea}td{color:#3d574b;font-size:10px;padding:12px 9px;border-bottom:1px solid #eef2f0}tr:last-child td{border-bottom:0}.right{text-align:right}.workflow-step{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid #edf1ef}.workflow-step:last-child{border-bottom:0}.workflow-step>span{width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#eaf4ee;color:#246b49;display:grid;place-items:center;font-size:10px;font-weight:900}.workflow-step strong{color:#244d3b;font-size:11px}.workflow-step p{color:#89958f;font-size:10px;margin:4px 0 0;line-height:1.45}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.collection-card{border:1px solid #e8eeeb;background:#fbfcfb;border-radius:10px;padding:14px}.collection-card strong,.collection-card span{display:block}.collection-card strong{color:#1d5b3d;font-size:11px}.collection-card span{margin-top:5px;color:#8c9792;font-size:9px;line-height:1.45}.placeholder-panel{min-height:340px;display:grid;place-items:center;align-content:center;text-align:center}.placeholder-icon{width:64px;height:64px;border-radius:18px;background:#eaf4ee;color:#246b49;display:grid;place-items:center;margin-bottom:12px}.placeholder-panel h2{color:#194532;font-size:18px;margin:0}.placeholder-panel p{max-width:480px;color:#87938d;font-size:12px;line-height:1.6}.profile-warning{max-width:700px;margin:40px auto;text-align:center}.profile-warning>svg{color:#c48f18}.profile-warning h2{color:#194532}.profile-warning p{color:#7e8b84;font-size:13px;line-height:1.6}.profile-warning pre{text-align:left;background:#f3f6f4;border:1px solid #e3eae6;border-radius:10px;padding:15px;overflow:auto;color:#365346;font-size:11px}.button{border:0;border-radius:9px;min-height:40px;padding:0 15px;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:11px}.button.primary{background:#17633f;color:#fff}.button.primary:hover{background:#124f32}.button.secondary{background:#eef3f0;color:#355547}.button:disabled{opacity:.6;cursor:not-allowed}.firebase-alert{margin:16px 30px 0;padding:11px 13px;border:1px solid #f0dca7;background:#fff9e9;border-radius:10px;color:#7f651e;display:flex;align-items:center;gap:10px}.firebase-alert>div{flex:1}.firebase-alert strong,.firebase-alert span{display:block}.firebase-alert strong{font-size:11px}.firebase-alert span{font-size:10px;margin-top:2px}.alert-action{border:0;background:#f2c546;color:#5f4807;border-radius:7px;padding:7px 11px;font-size:10px;font-weight:800}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#07221785}.modal{width:min(520px,100%);background:#fff;border-radius:17px;box-shadow:0 30px 80px #00000047;overflow:hidden}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 23px;border-bottom:1px solid #edf1ef}.modal-header h2{margin:0;color:#194532;font-size:17px}.modal-header p{margin:5px 0 0;color:#87938d;font-size:10px}.icon-button{width:34px;height:34px;border-radius:8px}.icon-button:hover{background:#eef3f0}.test-box{margin:22px;padding:18px;border:1px solid #dfe9e3;border-radius:12px;background:#f7faf8;display:grid;gap:7px;color:#246b49}.test-box strong{color:#244d3b;font-size:12px}.test-box span{color:#89958f;font-size:10px;line-height:1.5}.test-result{margin:0 22px 20px;padding:12px;border-radius:9px;display:flex;gap:9px;align-items:flex-start;font-size:10px;line-height:1.45}.success-box{color:#277447;background:#e9f6ee;border:1px solid #cdebd7}.error-box{color:#a1493d;background:#fff0ed;border:1px solid #f1d0ca}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:0 22px 22px}@media (max-width: 1050px){.financial-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr;padding:25px}.login-decoration{padding:30px 20px 0;max-width:none}.login-brand{font-size:36px}.login-decoration p{margin-bottom:0}.login-card{justify-self:center}}@media (max-width: 820px){.sidebar{width:78px;flex-basis:78px}.brand{justify-content:center;padding:0}.brand>div:last-child,.sidebar-label,.nav-item span,.firebase-status div,.test-firestore-button{display:none}.nav{padding:0 10px}.nav-item{justify-content:center;padding:0}.sidebar-footer{padding:15px 10px}.firebase-status{justify-content:center}.topbar{padding:0 18px}.search-box{width:160px}.page-content{padding:22px 18px}.two-column,.collection-grid{grid-template-columns:1fr}}@media (max-width: 620px){.financial-grid,.stats-grid{grid-template-columns:1fr}.topbar{height:auto;min-height:70px;padding:13px 15px}.breadcrumb{display:none}.topbar-actions{width:100%}.search-box{flex:1;width:auto}.user-chip>div:nth-child(2){display:none}.page-title{flex-direction:column}.login-page{padding:15px;display:block}.login-decoration{padding:28px 12px}.login-flower{width:65px;height:65px;font-size:32px}.login-brand{font-size:30px}.login-card{padding:25px 20px}}.row-actions{display:flex;align-items:center;gap:5px}.icon-button.small{width:30px;height:30px;padding:0;display:inline-grid;place-items:center;background:#f2f6f4;color:#3c6552}.icon-button.small:hover{background:#e5eee9}.icon-button.danger-icon{color:#a34d42}.icon-button.danger-icon:hover{background:#fff0ed}.form-modal{max-width:720px}.data-form{padding:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid label{display:grid;gap:7px;color:#355547;font-size:11px;font-weight:800}.form-grid input,.form-grid select{width:100%;min-height:40px;border:1px solid #dce5e1;border-radius:9px;padding:0 11px;outline:none;color:#244b3a;background:#fff}.form-grid input:focus,.form-grid select:focus{border-color:#2c855c;box-shadow:0 0 0 4px #2c855c14}.form-grid input:disabled{background:#f2f5f3;color:#7c8983}.form-modal .modal-actions{margin-top:22px;padding:0}@media (max-width: 680px){.form-grid{grid-template-columns:1fr}.section-header{flex-direction:column}.section-header .search-box{width:100%}}.modal-large{width:min(980px,calc(100vw - 32px));max-width:980px;max-height:90vh;overflow:auto}.crud-form{padding:22px}.form-grid{display:grid;gap:15px;margin-bottom:15px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.crud-form label{display:grid;gap:7px;color:#355547;font-size:11px;font-weight:800}.crud-form input,.crud-form select{width:100%;min-height:40px;border:1px solid #dce5e1;border-radius:9px;padding:0 11px;outline:none;color:#244b3a;background:#fff;box-sizing:border-box}.crud-form input:focus,.crud-form select:focus{border-color:#2c855c;box-shadow:0 0 0 4px #2c855c14}.crud-form input:disabled{background:#f2f5f3;color:#7c8983}.crud-form small{color:#789087;font-size:10px;font-weight:500}.form-section-title{margin:8px 0 14px;padding-bottom:8px;border-bottom:1px solid #e6eeea;color:#164c37;font-size:13px;font-weight:900;letter-spacing:.02em}.info-box{display:grid;gap:5px;margin-bottom:15px;padding:13px 15px;border:1px solid #dce9e2;border-radius:10px;background:#f5f9f7;color:#48665a;font-size:11px;line-height:1.5}.info-box strong{color:#19543e}.info-box code,.form-note code{padding:2px 5px;border-radius:5px;background:#e9f1ed;color:#19543e}.form-note{display:grid;align-content:center;gap:5px;min-height:40px;padding:10px 12px;border-radius:9px;background:#f5f8f6;color:#60786e;font-size:10px;line-height:1.5}.form-note strong{color:#355547}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.search-box.large{width:min(520px,100%)}.toolbar-info{color:#7a8c84;font-size:11px;font-weight:700;white-space:nowrap}.table-subtext{display:block;margin-top:3px;color:#8a9992;font-size:10px}.row-actions{display:flex;gap:6px;align-items:center}.icon-button.small{width:32px;height:32px}.icon-button.danger{color:#a34d42}.icon-button.danger:hover{background:#fff0ed}.model-panel{margin-top:18px}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.model-grid>div{display:grid;gap:6px;padding:14px;border:1px solid #e2ebe6;border-radius:10px;background:#fbfcfb}.model-grid strong{color:#1b533e;font-size:11px}.model-grid span{color:#6f8279;font-size:10px;line-height:1.5}.global-error{display:flex;align-items:center;gap:9px;margin:12px 22px 0;padding:10px 13px;border:1px solid #f1d2cc;border-radius:9px;background:#fff5f3;color:#98483d;font-size:11px}@media (max-width: 900px){.form-grid.two,.form-grid.three,.model-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar-info{align-self:flex-start}}.dashboard-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.dashboard-top-grid .birthday-panel{grid-column:auto}.dashboard-panel{min-width:0}.dashboard-stat-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:12px}.dashboard-stat-pair>.panel{min-width:0}.security-status{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;min-height:70px;padding:12px 14px;border:1px solid #e3ece7;border-radius:10px;background:#fbfdfc}.security-status>svg{color:#257a55}.security-status strong{display:block;color:#174d38;font-size:12px}.security-status span:not(.status-pill){display:block;margin-top:3px;color:#788b82;font-size:10px}.birthday-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.birthday-column-title{margin-bottom:7px;color:#6f8279;font-size:9px;font-weight:900;letter-spacing:.08em}.birthday-row{min-height:47px;display:grid;grid-template-columns:68px 1fr;align-items:center;gap:9px;padding:7px 9px;border:1px solid #e4ece8;border-radius:8px;background:#fff;margin-bottom:6px}.birthday-date strong{display:block;color:#18543e;font-size:11px}.birthday-date span{display:block;color:#9aaba3;font-size:8px;margin-top:2px}.birthday-person strong{display:block;color:#274c3d;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.birthday-person span{display:block;color:#8a9992;font-size:8px;margin-top:2px}.birthday-empty{padding:18px 8px;color:#9aa9a2;font-size:10px;text-align:center;border:1px dashed #dfe8e3;border-radius:8px}.legend-inline{display:flex;gap:18px;align-items:center;justify-content:flex-end;margin:-3px 0 7px;color:#71837b;font-size:9px;font-weight:700}.occupancy-stat{display:flex;justify-content:center;align-items:center;gap:13px;white-space:nowrap}.occupancy-value{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-size:10px}.occupancy-value.occupied{color:#267851}.occupancy-value.unoccupied{color:#b04d47}.occupancy-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto}.occupancy-dot.green{background:#2f9a63}.occupancy-dot.red{background:#d95c53}.resident-stat-table{width:100%;overflow:hidden}.resident-stat-table table{width:100%;table-layout:fixed;border-collapse:collapse}.resident-stat-table th,.resident-stat-table td{padding:9px 7px;border-bottom:1px solid #e7eeea;vertical-align:middle}.resident-stat-table th{background:#f5f8f6;color:#63776e;font-size:8px;letter-spacing:.05em;text-align:center}.resident-stat-table th:first-child,.resident-stat-table td:first-child{text-align:left}.resident-stat-table th:nth-child(1),.resident-stat-table td:nth-child(1){width:25%}.resident-stat-table th:nth-child(2),.resident-stat-table td:nth-child(2),.resident-stat-table th:nth-child(3),.resident-stat-table td:nth-child(3),.resident-stat-table th:nth-child(4),.resident-stat-table td:nth-child(4){width:25%}.resident-stat-table td strong{display:block;color:#315446;font-size:10px}.resident-stat-table td small{display:block;margin-top:2px;color:#9aa8a1;font-size:8px}.resident-stat-table .total-row td{background:#f2f7f4;border-bottom:0}.dashboard-breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.dashboard-breakdown-grid>div{min-width:0;padding:11px 12px;border:1px solid #e3ebe7;border-radius:9px;background:#fbfdfc}.dashboard-breakdown-grid span{display:block;color:#71847b;font-size:9px;line-height:1.3}.dashboard-breakdown-grid strong{display:block;margin-top:4px;color:#1d543f;font-size:16px}.vehicle-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vehicle-stat-grid>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px;border:1px solid #e3ebe7;border-radius:9px;background:#fbfdfc}.vehicle-stat-grid strong{color:#174d38;font-size:17px}.resident-profile-modal{width:min(980px,calc(100vw - 32px));max-width:980px;max-height:90vh;overflow:auto}.resident-profile-grid{grid-template-columns:1fr 1fr}.resident-profile-grid .profile-section:nth-child(3),.resident-profile-grid .profile-section:nth-child(4){min-height:0}.contact-buttons{display:flex;align-items:center;gap:6px}.contact-icon{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%;text-decoration:none;border:1px solid #dce8e2;background:#f4f8f6}.contact-icon.whatsapp{color:#1f8b58}.contact-icon.email{color:#4b6f8e}.contact-icon:hover{background:#eaf3ee;transform:translateY(-1px)}@media (max-width: 900px){.dashboard-top-grid,.dashboard-stat-pair,.birthday-columns,.resident-profile-grid{grid-template-columns:1fr}.dashboard-top-grid .birthday-panel{grid-column:auto}.dashboard-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 680px){.dashboard-breakdown-grid,.vehicle-stat-grid{grid-template-columns:1fr}.resident-stat-table th,.resident-stat-table td{padding:8px 4px}.occupancy-stat{gap:7px}.occupancy-value{font-size:9px}}.dashboard-top-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:12px}.dashboard-top-grid .dashboard-panel{min-width:0}.dashboard-ops-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:12px}.dashboard-ops-grid>.dashboard-panel{min-width:0}.vehicle-stat-grid{display:grid;grid-template-columns:1fr;gap:8px}.vehicle-stat-grid>div{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:9px;min-height:44px;padding:9px 11px;border:1px solid #e3ebe7;border-radius:9px;background:#fbfdfc}.vehicle-stat-grid svg{color:#2b7655}.vehicle-stat-grid span{color:#5d756a;font-size:10px;font-weight:700}.vehicle-stat-grid strong{color:#174d38;font-size:16px}.modal.modal-profile{width:min(980px,calc(100vw - 40px));max-width:980px;max-height:calc(100vh - 40px);overflow:auto;border-radius:16px}.modal.modal-profile .modal-header{padding:20px 22px;background:#fff}.profile-kicker{color:#2d7655;font-size:8px;font-weight:900;letter-spacing:.12em;margin-bottom:5px}.modal-profile .modal-header h2{font-size:19px}.modal-profile .modal-header p{font-size:10px}.profile-header-actions{display:flex;align-items:center;gap:8px}.profile-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:14px 22px 0}.profile-summary-card{min-width:0;padding:11px 12px;border:1px solid #e1eae5;border-radius:10px;background:#f8fbf9}.profile-summary-card span,.detail-grid span{display:block;color:#8a9791;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.profile-summary-card strong{display:block;margin-top:4px;color:#1d503d;font-size:11px;line-height:1.35}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:14px 22px 0}.profile-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-section{min-width:0;padding:15px;border:1px solid #e1e9e5;border-radius:11px;background:#fff}.profile-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.profile-section-label{display:block;color:#2f7857;font-size:8px;font-weight:900;letter-spacing:.1em}.profile-section h3{margin:3px 0 0;color:#234d3b;font-size:13px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 15px}.detail-grid>div{min-width:0}.detail-grid strong{display:block;margin-top:3px;color:#294e40;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.detail-grid .contact-buttons{margin-top:6px}.profile-list{display:grid;gap:7px}.profile-person{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid #e5ece8;border-radius:9px;background:#fafcfb}.profile-person-avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e8f2ed;color:#257451}.profile-person-main{min-width:0}.profile-person-main strong{display:block;color:#254c3c;font-size:10px}.profile-person-main>span{display:block;margin-top:2px;color:#899790;font-size:8px}.profile-person-main .contact-buttons{margin-top:6px}.profile-empty{padding:13px;border:1px dashed #dbe6e0;border-radius:8px;color:#899790;font-size:9px;text-align:center}.compact-section h3{margin:4px 0 10px}.profile-stat-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid #edf2ef}.profile-stat-line span{color:#84928c;font-size:9px}.profile-stat-line strong{color:#28513f;font-size:10px}.mini-list{display:grid;gap:6px}.mini-list>div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #edf2ef}.mini-list strong{color:#2c5343;font-size:9px}.mini-list span{color:#899790;font-size:8px;text-align:right}.profile-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px;padding:13px 22px 18px;border-top:1px solid #edf1ef}.profile-footer span{color:#899790;font-size:8px;line-height:1.4}.resident-profile-modal{width:min(980px,calc(100vw - 40px))}.resident-profile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.topbar-actions{min-width:0}.user-menu{display:flex;align-items:center;gap:9px;min-width:0;padding-left:2px}.user-menu .avatar{flex:0 0 34px}.user-info{min-width:0;max-width:150px}.user-info strong,.user-info span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info strong{color:#244b3a;font-size:11px;line-height:1.2}.user-info span{color:#8b9791;font-size:9px;margin-top:3px}.user-logout{flex:0 0 32px}@media (max-width: 900px){.dashboard-top-grid,.dashboard-stat-pair,.dashboard-ops-grid,.birthday-columns,.profile-grid,.profile-grid.three,.resident-profile-grid,.profile-summary-grid{grid-template-columns:1fr}.dashboard-top-grid .birthday-panel{grid-column:auto}}@media (max-width: 680px){.dashboard-breakdown-grid,.detail-grid{grid-template-columns:1fr}.profile-footer{align-items:flex-start;flex-direction:column}.user-info{display:none}}
