:root{--color-bg: #f3f6f5;--color-surface: #ffffff;--color-primary: #0b6b52;--color-primary-dark: #084c3a;--color-primary-light: #e7f4ee;--color-accent: #1fc79c;--color-text: #1b2522;--color-heading: #0d1613;--color-muted: #687872;--color-border: #e3e9e6;--color-danger: #c8382c;--color-danger-light: #fdeceb;--color-warning: #b86a0b;--color-warning-light: #fff4e2;--tint-green-bg: #eef7f2;--tint-green-tile: #d7eee2;--tint-green-ink: #0b7a5a;--tint-rose-bg: #fdf1f0;--tint-rose-tile: #fbdcd9;--tint-rose-ink: #d0473b;--tint-lilac-bg: #f5f1fd;--tint-lilac-tile: #e7defb;--tint-lilac-ink: #7a55d6;--tint-amber-bg: #fff8ec;--tint-amber-tile: #fde9c4;--tint-amber-ink: #c27c0e;--tint-blue-bg: #eef5fd;--tint-blue-tile: #d8e8fb;--tint-blue-ink: #2f73cf;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--shadow-sm: 0 1px 2px rgba(13, 22, 19, .05), 0 2px 8px -4px rgba(13, 22, 19, .06);--shadow-md: 0 10px 28px -12px rgba(13, 22, 19, .18);--shadow-lg: 0 24px 60px -14px rgba(13, 22, 19, .3);--rail: 76px;--sidebar-open: 264px;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-size:14px;line-height:1.5}#app{min-height:100vh}h1,h2,h3,h4{color:var(--color-heading);letter-spacing:-.015em}a{color:var(--color-primary)}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.55}svg{width:18px;height:18px;flex-shrink:0}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 20%,#128a68 0%,transparent 45%),radial-gradient(circle at 85% 85%,#063d2f 0%,transparent 50%),linear-gradient(150deg,var(--color-primary-dark),var(--color-primary) 60%,#0c7a5d)}.auth-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:26px 26px;opacity:.5}.auth-card{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);padding:40px 36px;width:100%;max-width:410px;box-shadow:var(--shadow-lg);animation:rise-in .45s cubic-bezier(.22,1,.36,1)}@keyframes rise-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-brand{text-align:center;margin-bottom:28px}.auth-brand .brand-mark{width:64px;height:64px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center}.auth-brand .brand-mark img{width:100%;height:100%;object-fit:contain}.auth-brand h1{margin:0 0 4px;font-size:22px;font-weight:800}.auth-brand p{margin:0;color:var(--color-muted);font-size:13px}.link-btn{display:block;margin:16px auto 0;background:none;border:none;color:var(--color-primary);font-size:13px;font-weight:600;cursor:pointer;text-align:center}.link-btn:hover{text-decoration:underline}.field{margin-bottom:18px}.field label{display:block;font-size:12.5px;font-weight:600;color:var(--color-heading);margin-bottom:6px}.field input,.field select,.field textarea,.input{width:100%;padding:11px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--color-text);background:var(--color-surface);transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.field input::placeholder,.input::placeholder{color:#a3aea9}select{font-family:inherit}.field input[type=checkbox],.field input[type=radio]{width:auto;padding:0;margin:0;box-shadow:none;flex-shrink:0}td input:not([type=checkbox]):not([type=radio]),td select{width:100%;max-width:150px;padding:7px 10px;border:1.5px solid var(--color-border);border-radius:8px;font:inherit;color:var(--color-text);background:var(--color-surface)}td input:focus,td select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;border-radius:var(--radius-sm);padding:10px 18px;font-size:13.5px;font-weight:600;background:var(--color-primary);color:#fff;white-space:nowrap;transition:background .15s ease,transform .1s ease,box-shadow .15s ease,border-color .15s ease;box-shadow:0 6px 14px -8px #0b6b52b3}.btn:hover{background:var(--color-primary-dark)}.btn:active{transform:translateY(1px)}.btn.btn-block{width:100%}.btn.btn-secondary{background:var(--color-surface);color:var(--color-heading);border:1.5px solid var(--color-border);box-shadow:none}.btn.btn-secondary:hover{background:#f3f6f4;border-color:#cfd9d4}.btn.btn-danger{background:var(--color-danger-light);color:var(--color-danger);box-shadow:none}.btn.btn-danger:hover{background:#fbdbd8}.btn.btn-warn-outline{background:var(--color-surface);color:var(--color-warning);border:1.5px solid #f0c48a;box-shadow:none}.btn.btn-warn-outline:hover{background:var(--color-warning-light)}.btn.btn-sm{padding:7px 12px;font-size:12.5px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-heading);position:relative;text-decoration:none;transition:background .15s ease,border-color .15s ease}.icon-btn:hover{background:#f3f6f4}.icon-btn svg{width:16px;height:16px}.error-text{color:var(--color-danger);font-size:13px;margin-top:10px}.app-shell{min-height:100vh}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:40;width:var(--rail);overflow:hidden;background:linear-gradient(185deg,#0b5d48,#08473a 55%,#06372d);color:#fff;padding:18px 0 14px;display:flex;flex-direction:column;transition:width .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease}.sidebar.expanded,.sidebar.pinned{width:var(--sidebar-open)}.sidebar.expanded{box-shadow:18px 0 48px -18px #041e178c}.main-wrap{margin-left:var(--rail);min-height:100vh;position:relative;transition:margin-left .24s cubic-bezier(.22,1,.36,1)}.app-shell.sidebar-pinned .main-wrap{margin-left:var(--sidebar-open)}.main-wrap:before{content:"";position:absolute;top:0;right:0;width:min(56vw,760px);height:300px;background:url(/hero-estate.svg) no-repeat right top / cover;-webkit-mask-image:linear-gradient(to left,#000 35%,transparent 92%);mask-image:linear-gradient(to left,#000 35%,transparent 92%);opacity:.95;pointer-events:none;z-index:0}.sidebar-topbar,.sidebar-menu{display:contents}.mobile-actions,.mobile-menu-btn,.bottom-nav{display:none}.sidebar-brand{padding:0 19px 18px;display:flex;align-items:center;gap:12px;min-width:var(--sidebar-open)}.sidebar-brand .brand-mark{width:40px;height:40px;border-radius:11px;background:#ffffff1a;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:5px}.sidebar-brand .brand-mark img{width:100%;height:100%;object-fit:contain}.sidebar-brand h1{font-size:16px;margin:0;color:#fff;font-weight:700;line-height:1.2;white-space:nowrap}.sidebar-brand p{margin:2px 0 0;font-size:11.5px;opacity:.7;white-space:nowrap}.brand-text,.sidebar nav a span,.property-tab span,.sidebar-pin-btn{transition:opacity .18s ease}.sidebar:not(.expanded):not(.pinned) .brand-text,.sidebar:not(.expanded):not(.pinned) nav a span,.sidebar:not(.expanded):not(.pinned) .property-tab span,.sidebar:not(.expanded):not(.pinned) .sidebar-pin-btn,.sidebar:not(.expanded):not(.pinned) .sidebar-art{opacity:0;pointer-events:none}.sidebar-pin-btn{position:absolute;bottom:16px;left:18px;z-index:2;height:30px;padding:0 12px;border-radius:9px;border:none;background:#ffffff1a;color:#ffffffbf;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;white-space:nowrap}.sidebar-pin-btn:hover,.sidebar.pinned .sidebar-pin-btn{background:#ffffff2e;color:#fff}.sidebar-pin-btn svg{width:14px;height:14px}.property-switcher{display:flex;gap:6px;padding:0 14px 14px;margin-bottom:8px;min-width:var(--sidebar-open)}.property-tab{flex:1;display:flex;align-items:center;gap:8px;background:#ffffff12;color:#ffffffc7;border:none;border-radius:var(--radius-sm);padding:9px 10px;font-size:12.5px;font-weight:600;text-align:left;transition:background .15s ease,color .15s ease}.property-tab span{display:flex;flex-direction:column;line-height:1.15}.property-tab small{font-size:10.5px;font-weight:500;opacity:.8}.property-tab svg{width:16px;height:16px}.property-tab:hover{background:#ffffff21;color:#fff}.property-tab.active{background:var(--color-accent);color:#053a2c}.sidebar:not(.expanded):not(.pinned) .property-switcher{padding:0 14px 14px}.sidebar:not(.expanded):not(.pinned) .property-tab:not(.active){display:none}.sidebar:not(.expanded):not(.pinned) .property-tab.active{flex:0 0 48px;justify-content:center;padding:10px 0}.sidebar:not(.expanded):not(.pinned) .property-tab span{display:none}.sidebar nav{display:flex;flex-direction:column;gap:4px;padding:0 14px;min-width:var(--sidebar-open)}.sidebar nav a{color:#ffffffc7;text-decoration:none;padding:12px 14px;font-size:14px;font-weight:500;border-radius:12px;display:flex;align-items:center;gap:14px;white-space:nowrap;width:calc(var(--sidebar-open) - 28px);transition:background .15s ease,color .15s ease}.sidebar nav a svg{width:20px;height:20px}.sidebar nav a:hover{background:#ffffff14;color:#fff}.sidebar nav a.active{background:#ffffff26;color:#fff;box-shadow:inset 0 0 0 1px #ffffff14}.sidebar:not(.expanded):not(.pinned) nav a{width:48px;padding:12px 14px}.sidebar-art{margin-top:auto;width:var(--sidebar-open);height:auto;color:#ffffff21;flex-shrink:0}.sidebar-footer{display:none}.sidebar-user{display:flex;align-items:center;gap:10px;margin-bottom:12px}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),#0a5a45);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.avatar.avatar-dark{background:#0a4636;width:30px;height:30px}.avatar.avatar-light{background:#fdf0d8;color:#6d4a0b;width:38px;height:38px;font-size:16px}.sidebar-user .user-name{font-size:13px;font-weight:600;color:#fff;line-height:1.3}.sidebar-user .user-role{font-size:11px;color:#fff9}.sidebar-footer button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:#ffffff12;border:1px solid rgba(255,255,255,.18);color:#ffffffeb;padding:9px;border-radius:var(--radius-sm);font-size:13px;font-weight:500}.sidebar-footer button+button{margin-top:8px}.topbar{position:relative;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:18px 36px 0;min-height:62px}.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-actions select,.month-picker{border:1px solid var(--color-border);background:#fffffff2;border-radius:12px;padding:9px 14px;font-size:13.5px;font-weight:600;color:var(--color-heading);box-shadow:var(--shadow-sm)}.account-menu{position:relative}.account-chip{display:flex;align-items:center;gap:9px;border:1px solid var(--color-border);background:#fffffff2;border-radius:999px;padding:5px 12px 5px 5px;font-size:13px;font-weight:600;color:var(--color-heading);box-shadow:var(--shadow-sm)}.account-chip svg{width:15px;height:15px}.account-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:230px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-md);padding:8px;z-index:30;animation:modal-in .15s ease}.account-dropdown-head{display:flex;flex-direction:column;padding:8px 10px 10px;border-bottom:1px solid var(--color-border);margin-bottom:6px}.account-dropdown-head span{font-size:12px;color:var(--color-muted)}.account-dropdown button{width:100%;display:flex;align-items:center;gap:10px;border:none;background:none;padding:9px 10px;border-radius:9px;font-size:13.5px;color:var(--color-heading);text-align:left}.account-dropdown button:hover{background:#f2f6f4}.bell-btn.unread:after{content:"";position:absolute;top:5px;right:6px;width:8px;height:8px;border-radius:50%;background:#e5484d;box-shadow:0 0 0 2px #fff}.main-content{position:relative;z-index:1;padding:0 36px 48px;max-width:1440px}.main-content>h2,.page-head h2,.card-header>div>h2{margin:0 0 4px;font-size:30px;font-weight:800;letter-spacing:-.025em}.page-subtitle{color:var(--color-muted);font-size:14px;margin:0 0 24px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head .page-subtitle{margin:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:22px}.stat-card{background:var(--color-surface);border-radius:var(--radius-md);padding:22px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;gap:16px;position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{width:52px;height:52px;border-radius:14px;background:var(--tint-green-tile);color:var(--tint-green-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:24px;height:24px}.stat-icon.warn{background:var(--tint-amber-tile);color:var(--tint-amber-ink)}.stat-icon.danger{background:var(--tint-rose-tile);color:var(--tint-rose-ink)}.stat-card .stat-label{font-size:13px;color:var(--color-heading);font-weight:600}.stat-card .stat-value{font-size:30px;font-weight:800;margin-top:2px;color:var(--color-heading);letter-spacing:-.02em;line-height:1.15}.stat-card .stat-note{font-size:12.5px;color:var(--color-muted);margin-top:6px}.tint-green{background:var(--tint-green-bg);border-color:#d9ece2}.tint-green .stat-icon{background:var(--tint-green-tile);color:var(--tint-green-ink)}.tint-rose{background:var(--tint-rose-bg);border-color:#f6dedb}.tint-rose .stat-icon{background:var(--tint-rose-tile);color:var(--tint-rose-ink)}.tint-lilac{background:var(--tint-lilac-bg);border-color:#e8e0f8}.tint-lilac .stat-icon{background:var(--tint-lilac-tile);color:var(--tint-lilac-ink)}.tint-amber{background:var(--tint-amber-bg);border-color:#f7e6c6}.tint-amber .stat-icon{background:var(--tint-amber-tile);color:var(--tint-amber-ink)}.tint-blue{background:var(--tint-blue-bg);border-color:#dbe8f8}.tint-blue .stat-icon{background:var(--tint-blue-tile);color:var(--tint-blue-ink)}.ring{margin-left:auto;width:76px;height:76px;flex-shrink:0;align-self:center}.ring-track{stroke:#d4e9de}.ring-value{stroke:var(--tint-green-ink);transition:stroke-dashoffset .6s ease}.ring text{font-size:15px;font-weight:800;fill:var(--color-heading)}.card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:22px 24px;margin-bottom:18px;box-shadow:var(--shadow-sm);overflow-x:auto}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.card-header h2,.card-header h3{margin:0}.card-header h3{display:flex;align-items:center;gap:8px;font-size:18px}.card-header h3 svg{color:var(--color-primary)}.action-row{display:flex;align-items:center;gap:18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px 22px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.action-row .stat-icon{width:52px;height:52px}.action-row .action-text{flex:1;min-width:0}.action-row h3{margin:0;font-size:17px}.action-row p{margin:2px 0 0;color:var(--color-muted);font-size:13.5px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:220px;max-width:400px}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-muted);width:16px;height:16px}.search-box input{width:100%;padding:10px 12px 10px 36px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font:inherit}.search-box input:focus,.toolbar select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.toolbar select{padding:10px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-weight:600;color:var(--color-heading)}.card table{margin:-4px 0 -6px;width:100%}table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--color-border);vertical-align:middle}thead th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-weight:700;background:#f5f8f6;border-bottom:none}thead th:first-child{border-radius:10px 0 0 10px}thead th:last-child{border-radius:0 10px 10px 0}tbody tr{transition:background .12s ease}tbody tr:hover{background:#f8faf9}tbody tr:last-child td{border-bottom:none}.table-fit{table-layout:fixed}.table-fit td,.table-fit th{overflow:hidden;text-overflow:ellipsis}.cell-main{font-weight:600;color:var(--color-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-sub{font-size:12px;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center}.more-menu{position:relative}.more-menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:190px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-md);padding:6px}.more-menu-list button{width:100%;display:flex;align-items:center;gap:9px;border:none;background:none;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--color-heading);text-align:left;white-space:nowrap}.more-menu-list button:hover{background:#f2f6f4}.more-menu-list button.danger{color:var(--color-danger)}.card:has(.more-menu-list:not([hidden])){overflow:visible}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:16px;margin-top:8px;border-top:1px solid var(--color-border)}.pager-info{font-size:13px;color:var(--color-muted)}.pager-buttons{display:flex;gap:4px;flex-wrap:wrap}.pager-btn{min-width:34px;height:34px;padding:0 10px;border-radius:9px;border:1.5px solid var(--color-border);background:var(--color-surface);font-size:13px;font-weight:600;color:var(--color-heading)}.pager-btn:hover:not(:disabled){background:#f2f6f4}.pager-btn.current{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pager-gap{align-self:center;padding:0 4px;color:var(--color-muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.occupied,.badge.active{background:var(--color-primary-light);color:var(--color-primary)}.badge.vacant,.badge.ended{background:#f1f3f2;color:var(--color-muted)}.badge.owing{background:var(--color-danger-light);color:var(--color-danger)}.badge.credit,.badge.approved{background:var(--color-primary-light);color:var(--color-primary)}.badge.pending{background:var(--color-warning-light);color:var(--color-warning)}.badge.rejected{background:var(--color-danger-light);color:var(--color-danger)}.payment-instructions-box{background:var(--color-primary-light);border:1px solid rgba(11,107,82,.18);border-radius:12px;padding:14px 16px;white-space:pre-wrap;font-size:13.5px;color:var(--color-heading);margin-bottom:18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#08140f73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:60;padding:16px;animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:26px 28px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modal-in .2s cubic-bezier(.22,1,.36,1)}.modal.modal-wide{max-width:820px}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal h3{margin:0;font-size:18px;font-weight:700}.modal-close-btn{border:none;background:transparent;color:var(--color-muted);width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close-btn:hover{background:#f1f3f2;color:var(--color-heading)}.modal-close-btn svg{width:16px;height:16px}.modal-body{margin-top:18px}.announcement{border:1px solid var(--color-border);padding:16px 18px;margin-bottom:12px;border-radius:14px;background:var(--color-surface)}.announcement:last-child{margin-bottom:0}.announcement.pinned{background:var(--tint-amber-bg);border-color:#f4dfb8}.announcement-title{font-weight:700;font-size:15px;margin-bottom:4px;display:flex;align-items:center;gap:8px;color:var(--color-heading);flex-wrap:wrap}.announcement-meta{font-size:12px;color:var(--color-muted);margin-bottom:8px}.announcement p{margin:0 0 10px;color:var(--color-text);white-space:pre-wrap}.pin-tag{font-size:10.5px;font-weight:700;background:var(--color-warning);color:#fff;padding:2px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}.pin-tag svg{width:10px;height:10px}.news-tag{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--tint-blue-tile);color:var(--tint-blue-ink)}.welcome h2 span{color:var(--color-primary)}.unit-card{display:flex;align-items:center;gap:20px;background:#ffffffe6;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:22px 24px;margin-bottom:16px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.unit-card .stat-icon{width:64px;height:64px;border-radius:16px}.unit-card .unit-label{font-size:14px;color:var(--color-muted);font-weight:600}.unit-card .unit-number{font-size:34px;font-weight:800;line-height:1.1;color:var(--color-heading)}.unit-card .unit-meta{color:var(--color-muted);font-size:14px}.unit-card .badge{margin-left:auto;align-self:flex-start;font-size:13px;padding:6px 14px}.money-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.money-cards .stat-value{font-size:26px}.money-cards .owing-value{color:var(--color-danger)}.money-cards .credit-value{color:var(--color-primary)}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.tile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 10px;border-radius:var(--radius-md);border:1px solid var(--color-border);text-decoration:none;font-weight:700;font-size:14px;text-align:center;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.tile .stat-icon{width:52px;height:52px}.tile.tint-green{color:var(--tint-green-ink)}.tile.tint-amber{color:#7a560c}.tile.tint-lilac{color:#5b3fb0}.tile.tint-blue{color:#22599f}.copy-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--color-border);border-radius:12px;margin-bottom:8px;background:var(--color-surface)}.copy-line strong{font-size:16px;letter-spacing:.02em}.secure-note{display:flex;gap:10px;align-items:flex-start;background:var(--color-primary-light);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--color-heading);margin-top:12px}.secure-note svg{color:var(--color-primary);margin-top:1px}.text-muted{color:var(--color-muted)}.flex-between{display:flex;align-items:center;justify-content:space-between}.empty-state{text-align:center;padding:32px 16px;color:var(--color-muted);font-size:13.5px}@media (max-width: 900px){.sidebar,.sidebar.expanded,.sidebar.pinned{position:sticky;top:0;width:100%;padding:0;box-shadow:none;bottom:auto;overflow:visible;z-index:40}.main-wrap,.app-shell.sidebar-pinned .main-wrap{margin-left:0}.main-wrap:before{width:62vw;height:190px;top:64px;opacity:.38}.sidebar-pin-btn,.sidebar-art,.topbar .account-menu,.topbar-bell{display:none}.sidebar .brand-text,.sidebar nav a span,.sidebar .property-tab span{opacity:1!important;pointer-events:auto!important}.sidebar .property-tab:not(.active){display:flex!important}.sidebar .property-tab.active{flex:1!important;justify-content:flex-start!important;padding:9px 10px!important}.sidebar nav a,.sidebar:not(.expanded):not(.pinned) nav a{width:auto;padding:11px 12px}.sidebar-topbar,.sidebar-menu{display:flex}.sidebar-topbar{align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(185deg,#0b5d48,#08473a)}.sidebar-brand{padding:0;min-width:0;flex:1}.sidebar-brand h1,.sidebar-brand p{overflow:hidden;text-overflow:ellipsis}.mobile-actions{display:flex;align-items:center;gap:10px}.mobile-actions .icon-btn{background:transparent;border:none;color:#fff;width:38px;height:38px}.mobile-actions .icon-btn svg{width:22px;height:22px}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff;flex-shrink:0}.sidebar-menu{flex-direction:column;max-height:0;overflow:hidden;padding:0 12px;background:#08473a;transition:max-height .25s ease,padding .25s ease}.sidebar-menu.open{max-height:75vh;overflow-y:auto;padding:10px 12px 16px}.property-switcher,.sidebar nav{min-width:0;padding:0 0 10px}.sidebar-footer{display:block;margin:8px 0 0;padding:14px 4px 0;border-top:1px solid rgba(255,255,255,.14)}.topbar{padding:12px 16px 0;min-height:0}.topbar:not(:has(.topbar-actions:not(:empty))){display:none}.main-content{padding:14px 16px 40px}.main-content>h2,.page-head h2,.card-header>div>h2{font-size:24px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:16px;gap:12px}.stat-card .stat-value{font-size:22px}.stat-icon{width:42px;height:42px}.ring{width:58px;height:58px}.card{padding:16px}.card table:not(.table-fit){min-width:560px}.card-header,.action-row{flex-wrap:wrap}.action-row .btn{width:100%}.tiles{grid-template-columns:repeat(2,1fr)}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--color-surface);border-top:1px solid var(--color-border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 18px -12px #00000040}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;text-decoration:none;color:var(--color-muted);font-size:11.5px;font-weight:600;position:relative}.bottom-nav a svg{width:22px;height:22px}.bottom-nav a.active{color:var(--color-primary)}.bottom-nav a.active:after{content:"";position:absolute;bottom:-2px;width:46px;height:3px;border-radius:3px;background:var(--color-primary)}.has-bottom-nav .main-content{padding-bottom:96px}}@media (max-width: 560px){.money-cards{grid-template-columns:1fr 1fr;gap:10px}.money-cards .stat-card{flex-direction:column}.money-cards .stat-value{font-size:clamp(14px,4.3vw,19px);white-space:nowrap}.unit-card{padding:16px;gap:14px}.unit-card .unit-number{font-size:28px}}@media (max-width: 480px){.auth-card{padding:30px 22px}.stat-grid{grid-template-columns:1fr}.pager{justify-content:center}}.news-tag.news-general{background:#eef1f0;color:#4d5c57}.news-tag.news-payments{background:var(--tint-green-tile);color:var(--tint-green-ink)}.news-tag.news-water{background:var(--tint-blue-tile);color:#22599f}.news-tag.news-security{background:var(--tint-lilac-tile);color:#5b3fb0}.news-tag.news-maintenance{background:var(--tint-amber-tile);color:#7a560c}.news-tag.news-event{background:var(--tint-rose-tile);color:#a3352b}.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.chip{border:1.5px solid var(--color-border);background:var(--color-surface);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--color-heading)}.chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.floor-picks{display:flex;flex-wrap:wrap;gap:8px}.floor-pick{display:inline-flex!important;align-items:center;gap:6px;border:1.5px solid var(--color-border);border-radius:9px;padding:6px 10px;font-weight:500!important;margin:0!important}.ack-progress{display:flex;align-items:center;gap:10px;margin:0 0 10px}.steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0 12px}.step{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#eef1f0;color:var(--color-muted)}.step.done{background:var(--tint-green-tile);color:var(--tint-green-ink)}.step.current{background:var(--color-primary);color:#fff}.step-arrow{color:var(--color-muted);font-size:12px}.maint-photo{display:block;max-width:100%;max-height:320px;border-radius:12px;border:1px solid var(--color-border);margin:8px 0;object-fit:contain;background:#f5f8f6}.timeline{list-style:none;margin:8px 0 0;padding:0 0 0 14px;border-left:2px solid var(--color-border)}.timeline li{position:relative;padding:0 0 12px 12px;font-size:13px}.timeline li:before{content:"";position:absolute;left:-20px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 3px #fff}.timeline-meta{font-size:12px;color:var(--color-muted)}.timeline-note{white-space:pre-wrap;margin-top:2px}.maint-detail{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}@media (max-width: 760px){.maint-detail{grid-template-columns:1fr}}.audit-details{font-size:11.5px;background:#f5f8f6;border:1px solid var(--color-border);border-radius:8px;padding:8px 10px;margin:6px 0 0;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word}.age-bars{display:flex;flex-direction:column;gap:10px}.age-row{display:grid;grid-template-columns:120px 1fr 130px;align-items:center;gap:12px;font-size:13px}.age-label{color:var(--color-text);font-weight:600}.age-track{height:14px;background:#f1f4f2;border-radius:4px;overflow:hidden}.age-fill{display:block;height:100%;border-radius:0 4px 4px 0;min-width:2px}.age-value{text-align:right;font-weight:700;color:var(--color-heading)}.reminder-preview{margin:-6px 0 14px}.reminder-preview summary{cursor:pointer;font-size:13px;color:var(--color-muted)}.preview-mail{margin-top:8px;padding:14px 16px;border:1px solid var(--color-border);border-radius:12px;background:#fbfcfb;font-size:13.5px}.preview-mail p{white-space:pre-wrap;margin:8px 0 0}.sidebar nav{overflow-y:auto;overflow-x:hidden;min-height:0;flex:0 1 auto}@media (max-height: 860px) and (min-width: 901px){.sidebar-art{display:none}.sidebar nav a{padding-top:9px;padding-bottom:9px}}.chart-box{position:relative}.trend-svg{width:100%;height:auto;display:block}.trend-svg .grid{stroke:#e9efec;stroke-width:1}.trend-svg .baseline{stroke:#c9d5cf;stroke-width:1}.trend-svg .axis{fill:var(--color-muted);font-size:11px}.trend-svg .axis.running{font-style:italic}.trend-svg .rate{fill:var(--color-heading);font-size:11px;font-weight:700}.trend-svg .hit{fill:transparent}.trend-svg .bar-group.hover .hit{fill:#0b6b520d}.chart-legend{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-text);font-weight:600}.chart-legend i,.chart-tooltip i{display:inline-block;width:10px;height:10px;border-radius:3px}.chart-tooltip{position:absolute;z-index:5;pointer-events:none;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-md);padding:10px 12px;font-size:12.5px;color:var(--color-text);transform:translateY(-100%)}.chart-tooltip strong{display:block;margin-bottom:4px;color:var(--color-heading)}.chart-tooltip div{display:flex;align-items:center;gap:6px}.chart-tooltip b{margin-left:auto;padding-left:10px}.chart-tooltip .tip-muted{color:var(--color-muted);margin-top:4px}.priority-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-6px 0 14px}@media (max-width: 760px){.card table.table-fit{min-width:640px}}@media print{.sidebar,.topbar,.bottom-nav,.page-head .toolbar,.main-wrap:before{display:none!important}.main-wrap{margin-left:0!important}.main-content{padding:0}.card,.stat-card{box-shadow:none;break-inside:avoid}}
