:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#191c1e;background:#eef1f3;font-synthesis:none;font-size:15px;--bg:#f7f8fa;--card:#fff;--muted:#80868b;--line:#edf0f3;--black:#181b1d;--green:#eaf5ed;--red:#fff0f2;--purple:#f0ebfc;--blue:#ebf3fd;--amber:#fff5e5;--yellow:#fff7d9;--radius:22px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:disabled{opacity:.55;cursor:wait}a{color:inherit}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:31px;letter-spacing:-1.05px;font-weight:720;line-height:1.15}h2{font-size:19px;letter-spacing:-.45px;line-height:1.3}h3{font-size:17px}p{line-height:1.55}img{display:block;max-width:100%}button:focus-visible,a:focus-visible{outline:3px solid #79a3ff;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #99b4d2;outline-offset:1px}input,select,textarea{max-width:100%}input[type=checkbox]{accent-color:var(--black)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.initial-loader{height:100dvh;display:flex;flex-direction:column;gap:24px;align-items:center;justify-content:center;background:var(--bg)}.initial-loader img{width:190px}.initial-loader span{color:var(--muted)}.wordmark{width:149px;height:auto}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.7px;color:#8a8d8f}.padded{padding:24px}.panel{background:var(--card);border:1px solid #f2f3f5;border-radius:var(--radius);overflow:hidden;margin-bottom:16px}.split{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 19px;border-radius:14px;font-size:14px;font-weight:560;line-height:1.35;text-align:center;transition:background .16s,transform .16s;white-space:normal}.btn:hover{filter:brightness(.96)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--black);color:#fff}.btn.secondary{background:#edf0f5;color:#252a2f}.btn.ghost{color:#80858b}.btn.white{background:#fff;color:#181b1d}.btn.danger{background:#fff0f2;color:#b83444}.wide{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:13px;flex-shrink:0}.icon-button:hover{background:#eef0f3}.text-link,.back-link{display:inline-flex;align-items:center;gap:5px;color:#6b7077;font-size:13px;white-space:nowrap}.back-link{margin-bottom:20px;padding:3px 0}.text-link:hover,.back-link:hover{color:#191c1e}.tile-icon{height:43px;width:43px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tile-icon.green{background:#dcefdc;color:#468a50}.tile-icon.blue{background:#e0effd;color:#4b91c8}.tile-icon.red{background:#fce0e5;color:#d75467}.tile-icon.purple{background:#e9dffb;color:#8a63c7}.tile-icon.amber{background:#ffedd2;color:#b88736}.tile-icon.yellow{background:#fff2bc;color:#d5aa24}.badge{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:570;padding:7px 10px;border-radius:24px;line-height:1.2;white-space:nowrap}.badge.green{background:#e6f4e9;color:#397a4d}.badge.blue{background:#eaf2fd;color:#5079a5}.badge.red{background:#ffedf0;color:#c24b62}.badge.amber{background:#fff1db;color:#9c7336}.notice{display:flex;align-items:flex-start;gap:11px;padding:15px 17px;border-radius:15px;font-size:12px;line-height:1.6;margin:17px 0;color:#5a6776}.notice>svg{margin-top:1px}.notice.blue{background:#edf4fc}.notice.green{background:#eaf5ed;color:#4a7557}.notice.amber{background:#fff5e6;color:#8c754c}.notice.purple{background:#f0ecfa;color:#76658c}.empty-state{background:var(--card);border-radius:22px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;gap:13px}.empty-state p{max-width:370px;color:var(--muted);font-size:14px}.empty-state .btn{margin-top:7px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:5px 0 24px}.page-heading p{color:#7a8086;margin-top:9px;font-size:15px}.page-heading>.btn{flex-shrink:0}.section{margin-top:27px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.section-heading>.btn{min-height:37px;padding:8px 12px;font-size:12px}.app-shell{max-width:1320px;min-height:100dvh;margin:auto;display:grid;grid-template-columns:244px minmax(0,1fr);background:var(--bg)}.sidebar{position:sticky;top:0;height:100dvh;background:#fff;border-right:1px solid #e9edf0;padding:40px 22px 22px;display:flex;flex-direction:column}.sidebar>.wordmark{margin:0 13px 15px;width:165px}.sidebar-tag{font-size:8px;letter-spacing:1.1px;color:#a2a5a7;margin:0 12px 42px}.sidebar nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;min-height:47px;border-radius:13px;padding:12px 15px;text-align:left;font-size:14px;color:#84898e}.sidebar .nav-item.active{background:#f1f3f5;color:#161a1d;font-weight:600}.nav-item:hover{color:#111}.sidebar-bottom{margin-top:auto;padding-top:40px}.sidebar-bottom>p{font-size:13px;color:#66716c;margin:12px 0 24px}.sidebar-bottom>p small{font-size:11px;color:#a1a8a4}.account-card{display:flex;align-items:center;gap:10px;border-top:1px solid #edf0f2;padding:20px 0 0;width:100%;text-align:left}.account-card>span:nth-child(2){min-width:0;flex:1}.account-card b{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-card small{display:block;font-size:11px;color:#91969b;margin-top:4px}.avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#eef0f8;color:#6b7994;font-size:17px}.app-body{min-width:0;display:flex;flex-direction:column}.topbar{height:80px;padding:14px 36px;display:flex;align-items:center;gap:12px}.topbar>.wordmark,.topbar>.icon-button:first-child{display:none}.desktop-context{font-size:13px;color:#858b90;margin-right:auto}.notifications-button{position:relative}.notification-dot{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#e27684}.notifications-button .notification-dot{position:absolute;right:8px;top:7px;border:2px solid var(--bg);width:10px;height:10px}.demo-banner{margin:0 36px 18px;padding:8px 12px;background:#eeeaf8;color:#847399;font-size:10px;display:flex;gap:7px;align-items:center;border-radius:10px}.demo-dot{height:5px;width:5px;background:#a091b6;border-radius:50%}.demo-banner button{font-size:10px;margin-left:auto;text-decoration:underline;color:#756483;padding:0}.app-body main{padding:0 36px 36px;min-width:0;outline:none;flex:1}.bottom-nav{display:none}.desktop-footer{padding:20px 36px;border-top:1px solid #eceff1;display:flex;justify-content:space-between;gap:20px;color:#a1a7ab;font-size:10px}.apartment-hero{position:relative;display:block;width:100%;border-radius:22px;overflow:hidden;height:225px;text-align:left;padding:0;background:#d4c4a6}.apartment-hero>img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s}.apartment-hero:hover>img{transform:scale(1.015)}.hero-gradient{position:absolute;inset:0;background:linear-gradient(transparent 15%,rgba(24,25,18,.13) 38%,rgba(15,22,21,.75))}.hero-info{position:absolute;left:26px;bottom:25px;color:#fff;display:flex;flex-direction:column;gap:7px;padding-right:40px}.hero-label{font-size:9px;letter-spacing:1.6px;color:#e4e3d9}.hero-info strong{font-size:25px;letter-spacing:-.6px;font-weight:610}.hero-info>span:last-child{font-size:13px;color:#e3e4de}.hero-arrow{position:absolute;right:21px;bottom:30px;color:#fff}.apartment-hero.small{height:200px}.small .hero-info{left:20px;bottom:19px}.small .hero-info strong{font-size:19px}.small .hero-info>span:last-child{font-size:11px}.building-photo>img{object-position:50% 48%}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.quick{display:flex;align-items:center;text-align:left;gap:12px;padding:17px;border-radius:19px;min-height:80px;font-size:15px;line-height:1.4}.quick>span:nth-child(2){flex:1}.quick.green{background:#edf5ef}.quick.red{background:#fcf0f3}.quick.purple{background:#f1eefb}.quick.blue{background:#edf3fc}.quick>.tile-icon{width:43px;height:43px}.payment-highlight{display:flex;align-items:center;gap:16px;padding:24px;background:#fff;border-radius:22px;margin-bottom:15px}.payment-highlight>div{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.payment-highlight strong{font-size:29px;letter-spacing:-.8px}.payment-highlight small{font-size:13px;color:#969ba1}.payment-highlight>.btn{font-size:12px;padding:11px 15px}.event-row{display:flex;align-items:center;text-align:left;width:100%;padding:17px 20px;gap:15px;border-bottom:1px solid #f0f2f4}.event-row:last-child{border-bottom:0}.event-row>span:nth-child(2){flex:1;min-width:0}.event-row b{font-size:14px;font-weight:560;display:block}.event-row small{font-size:12px;color:#8b9095;display:block;margin-top:5px}.event-row>.badge{font-size:10px}.owner-intro{background:#eeefe8;min-height:235px;border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1fr 40%;position:relative;margin-bottom:22px}.owner-intro>div{padding:27px 32px;z-index:1}.owner-intro h2{font-size:31px;line-height:1.1;margin:16px 0 10px;letter-spacing:-1.1px}.owner-intro p{font-size:12px;color:#777e72}.owner-intro img{width:100%;height:100%;object-fit:cover;max-height:250px;mask-image:linear-gradient(to right,transparent,#000 23%)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stat-card{background:white;border-radius:20px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:11px}.stat-card>span:not(.tile-icon){font-size:11px;color:#858c92}.stat-card strong{font-size:25px;letter-spacing:-1px}.stat-card>.tile-icon{height:35px;width:35px;border-radius:10px}.property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.property-pills{display:flex;gap:8px;overflow:auto;margin:0 0 18px;padding:3px}.property-pill{border:1px solid #e5e8eb;display:inline-flex;align-items:center;gap:7px;font-size:12px;padding:10px 13px;border-radius:12px;white-space:nowrap;background:#fff}.property-pill.selected{background:#212526;color:#fff;border-color:#212526}.tabs{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid #e7ebee;margin:4px 0 22px;max-width:100%}.tabs::-webkit-scrollbar{display:none}.tab{padding:14px 9px;white-space:nowrap;font-size:13px;color:#94999d;border-bottom:2px solid transparent}.tab.selected{color:#202526;border-color:#202526;font-weight:560}.apartment-tabs{justify-content:space-between;margin-top:14px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-row{display:flex;align-items:center;gap:14px;width:100%;padding:19px;background:#fff;border-radius:18px;text-align:left}.info-row>span:nth-child(2){min-width:0;flex:1}.info-row b{display:block;font-size:14px;font-weight:570}.info-row small{display:block;color:#8e9499;font-size:13px;margin-top:5px;line-height:1.5}.info-row>svg:last-child{margin-left:auto;color:#90979d}.action-row{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.action-row>.btn{flex:1;min-width:140px}.property-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}.property-links .info-row{gap:10px;padding:16px}.property-links .info-row>b{font-size:12px}.property-links .tile-icon{width:34px;height:34px}.property-links .tile-icon svg{width:18px}.records-list{display:grid;gap:12px}.record-card{display:flex;align-items:flex-start;gap:18px;padding:21px;background:white;border:1px solid #f1f3f5;border-radius:20px;text-align:left;width:100%;transition:box-shadow .15s}.record-card:hover{box-shadow:0 5px 20px #26394908}.record-thumbnail{width:91px;height:91px;border-radius:14px;object-fit:cover;flex-shrink:0}.record-copy{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.record-title{font-size:16px;font-weight:590;letter-spacing:-.2px;line-height:1.3}.record-sub{font-size:13px;color:#828a90;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.record-meta{font-size:11px;color:#a0a6ab;line-height:1.3}.record-end{display:flex;flex-direction:column;align-items:flex-end;gap:12px;min-width:64px}.record-end>b{font-size:16px;font-weight:600;white-space:nowrap}.record-end>svg{color:#adb3b8}.record-card.compact{gap:14px;padding:18px}.record-card.compact .record-title{font-size:14px}.record-card.compact .record-meta{font-size:10px}.record-card.compact .record-end>.badge{font-size:10px}.scope-control{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;border:1px solid #e6eaed;padding:7px 12px;border-radius:13px;color:#768089;font-size:12px;margin:0 0 17px}.scope-control select{border:0;background:transparent;font-size:12px;color:#333b42;padding:3px;max-width:250px}.finance-summary{display:flex;align-items:center;justify-content:space-between;background:#eaf2ec;border-radius:22px;padding:30px;margin:0 0 16px}.finance-summary>div{display:flex;flex-direction:column;gap:9px}.finance-summary span{font-size:13px;color:#738677}.finance-summary strong{font-size:35px;letter-spacing:-1.2px}.finance-summary p{font-size:12px;color:#829285}.finance-summary>.tile-icon{width:58px;height:58px}.finance-summary>.tile-icon svg{width:29px;height:29px}progress{width:100%;height:8px;border-radius:10px;overflow:hidden;display:block;margin:20px 0;border:0;background:#e7eaee}progress::-webkit-progress-bar{background:#e7eaee}progress::-webkit-progress-value{background:#5a8c69;border-radius:10px}progress::-moz-progress-bar{background:#5a8c69;border-radius:10px}.mini-stats{display:flex;gap:15px;margin-bottom:15px}.mini-stats>div{padding:20px;background:#fff;border-radius:18px;flex:1}.mini-stats span{font-size:12px;color:#8c949b;display:block;margin-bottom:7px}.mini-stats b{font-size:22px}.documents-banner{display:flex;align-items:center;justify-content:space-between;background:#f0f2f5;border-radius:20px;padding:28px;position:relative;overflow:hidden;margin-bottom:22px}.documents-banner h2{font-size:22px;line-height:1.25}.documents-banner p{color:#8d9499;font-size:13px;margin-top:10px}.folder-illustration{color:#a8b6a7;transform:rotate(-8deg);filter:drop-shadow(5px 12px 2px #2433270a);padding:0 20px}.document-row,.attachment{display:flex;align-items:center;gap:17px;padding:22px;text-align:left;background:#fff;border-radius:19px;width:100%}.document-row>span:nth-child(2),.attachment>span:nth-child(2){min-width:0;flex:1}.document-row b,.attachment b{display:block;font-weight:560;font-size:15px;overflow-wrap:anywhere}.document-row small,.attachment small{display:block;font-size:12px;color:#90989e;margin-top:6px}.document-row>svg,.attachment>svg{color:#7b838b}.meters-grid{display:grid;gap:12px}.meter-row{display:flex;align-items:center;gap:14px;background:white;border-radius:20px;padding:19px 22px}.meter-row>div{flex:1;min-width:0}.meter-row b{font-size:15px;font-weight:560;line-height:1.4}.meter-row small{display:block;color:#92999f;font-size:12px;margin-top:6px}.meter-row input{width:110px;border:1px solid #dce1e5;border-radius:9px;padding:11px 10px;font-size:20px;text-align:right;min-width:0}.meter-row>strong{font-size:20px}.form-stack{display:grid;gap:17px}.field{display:flex;flex-direction:column;gap:9px;font-size:13px;min-width:0}.field>span{font-weight:560;color:#5e6871}.field input,.field textarea,.field select{border:1px solid #e0e5e8;border-radius:12px;padding:13px 14px;background:white;color:#232a31;width:100%;font-size:15px;line-height:1.4}.field textarea{resize:vertical;min-height:95px}.field input::placeholder{color:#a6adb3}.field small{color:#92999f;font-size:11px;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.file-input{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px dashed #d6dce2;border-radius:20px;padding:22px;position:relative;cursor:pointer}.file-input>span:first-child{display:flex;align-items:center;gap:10px;font-size:14px}.file-input>small{font-size:11px;color:#90989f;line-height:1.5}.file-input>input{font-size:12px;max-width:100%}.file-input>input::file-selector-button{border:0;border-radius:8px;background:#edf2fa;padding:10px 12px;margin-right:10px;color:#42536a;cursor:pointer}.file-chosen{font-size:11px;color:#9ca2a9;line-height:1.5;overflow-wrap:anywhere}.form-error{color:#b74050;background:#fff0f2;border-radius:12px;line-height:1.5;font-size:13px;display:none;padding:12px 15px}.form-error:not(:empty){display:block}.timeline{padding:0 8px}.timeline-item{display:flex;gap:20px;padding:6px 0 25px;text-align:left;position:relative;width:100%}.timeline-item:before{content:"";position:absolute;top:15px;bottom:-5px;left:5px;border-left:1px solid #d9e0e6}.timeline-item:last-child:before{display:none}.timeline-dot{height:11px;width:11px;border-radius:50%;background:#bdc9c0;flex-shrink:0;margin-top:5px}.timeline-item>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.timeline-item small{font-size:11px;color:#9aa2a8}.timeline-item b{font-size:14px;font-weight:550;line-height:1.45}.timeline-item span:not(.timeline-dot){font-size:11px;color:#939ca3}.timeline-item>svg{margin-top:10px;color:#a2a9af}.detail-top{display:flex;justify-content:space-between;align-items:center;margin:-5px 0 16px}.detail-body>p{margin-bottom:19px;color:#667079;font-size:15px;white-space:pre-wrap}.detail-line{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:16px 0;border-bottom:1px solid #f0f2f4;font-size:13px}.detail-line span{color:#939ba3}.detail-line b{font-weight:560;text-align:right;max-width:65%;line-height:1.4}.detail-body>.muted{display:block;margin-top:18px;font-size:11px}.detail-amount{font-size:35px;letter-spacing:-1px;font-weight:620;margin:7px 0 15px}.detail-actions{position:sticky;bottom:0;z-index:2;padding:13px 0;background:#f7f8faf5;backdrop-filter:blur(8px);margin-bottom:12px}.visit-time{display:flex;gap:18px;align-items:center;margin:5px 0 20px}.visit-time>div{display:flex;flex-direction:column;gap:7px}.visit-time b{font-size:15px;color:#737e87;font-weight:400}.visit-time strong{font-size:26px;letter-spacing:-.7px}.reading-result>div{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid #eef1f3}.reading-result>div>span:nth-child(2){flex:1}.reading-result b{font-size:14px;display:block;font-weight:550}.reading-result small{display:block;font-size:12px;color:#9ba3aa;margin-top:5px}.reading-result strong{font-size:19px}.payment-log{margin-top:20px}.payment-log h3{font-size:14px;margin-bottom:8px}.payment-log>div{display:flex;align-items:center;gap:10px;font-size:14px;padding:12px 0;color:#50715b}.payment-log small{display:block;color:#a1a8ad;font-size:11px;margin-top:5px}.comments{display:grid;gap:12px}.comments>.muted{font-size:13px;padding:10px 0}.comment{padding:16px 19px;background:#fff;border-radius:17px}.comment.mine{background:#edf2fa}.comment>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.comment b{font-weight:560}.comment small{font-size:10px;color:#9aa3ac}.comment p{font-size:13px;margin-top:9px;color:#65707a;white-space:pre-wrap;overflow-wrap:anywhere}.comment-form{display:flex;position:relative;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-top:18px}.comment-form textarea{flex:1;border:1px solid #e0e4e7;border-radius:14px;resize:vertical;padding:14px;background:white;min-width:0;font-size:13px}.send-button{background:#222727;color:#fff;height:46px;width:46px}.send-button:hover{background:#333}.comment-form .form-error{flex-basis:100%}.profile-hero{display:flex;align-items:center;gap:18px;margin:0 0 26px}.avatar.large{width:66px;height:66px;font-size:28px;background:#e5eaf5}.profile-hero h2{font-size:22px}.profile-hero span:not(.avatar){display:block;color:#8e979f;font-size:13px;margin-top:6px}.setting-row{display:flex;align-items:center;gap:10px;padding:22px;border-bottom:1px solid #f0f2f4;cursor:pointer}.setting-row:last-child{border-bottom:0}.setting-row>span:first-child{flex:1;min-width:0}.setting-row b{display:block;font-size:14px;font-weight:550}.setting-row small{display:block;margin-top:6px;font-size:12px;color:#969ea6;line-height:1.4}.setting-row input{position:absolute;opacity:0;width:1px;height:1px}.switch{width:43px;height:26px;background:#e2e7eb;border-radius:20px;position:relative;flex-shrink:0;transition:background .2s}.switch:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;background:white;border-radius:50%;box-shadow:0 1px 3px #0001;transition:transform .2s}.setting-row input:checked+.switch{background:#374b43}.setting-row input:checked+.switch:after{transform:translateX(17px)}.setting-row input:focus-visible+.switch{outline:2px solid #739cc5;outline-offset:3px}.profile-links{display:grid;gap:10px;margin:27px 0}.profile-note{text-align:center;font-size:11px;color:#a1a8ae;margin-top:27px}.notification-row{position:relative;display:flex;align-items:flex-start;gap:15px;background:white;border-radius:18px;padding:20px;text-align:left;width:100%}.notification-row.unread{background:#f0ecf8}.notification-row>span:nth-child(2){flex:1;min-width:0}.notification-row b{font-size:14px;line-height:1.4}.notification-row small{display:block;font-size:12px;color:#90969e;margin-top:7px;line-height:1.45}.notification-row small:last-child{font-size:10px}.notification-row .notification-dot{margin-top:8px}.welcome-page{min-height:100dvh;height:100dvh;max-width:590px;margin:auto;position:relative;overflow:hidden;background:#4d9dbd;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.welcome-art{position:absolute;inset:18% 0 0;background-image:linear-gradient(to bottom,#4d9dbd00 30%,#163c2899),url('/art/welcome.webp');background-size:cover;background-position:center}.welcome-art:before{content:"";position:absolute;inset:-1px 0 65%;background:linear-gradient(#4d9dbd,transparent)}.welcome-top{position:relative;text-align:center;z-index:1;padding:calc(52px + env(safe-area-inset-top)) 25px 0}.welcome-top .wordmark{width:245px;margin:0 auto 29px;filter:brightness(0) invert(1)}.welcome-top h1{font-size:24px;letter-spacing:.1px;font-weight:400;line-height:1.4;text-shadow:0 1px 15px #35677b33}.welcome-top p{font-size:13px;color:#edf6f7b0;margin-top:17px;line-height:1.6}.welcome-bottom{position:relative;z-index:1;padding:20px 28px calc(28px + env(safe-area-inset-bottom));text-align:center;background:linear-gradient(transparent,#17402d66)}.welcome-bottom>.btn{width:100%;height:57px;border-radius:21px;font-size:16px;margin:13px 0 20px}.welcome-bottom>.btn svg{color:#715aef}.welcome-bottom>p{font-size:11px;line-height:1.6;color:#edf5e8dc}.welcome-label{font-size:8px;letter-spacing:1.6px;display:block;color:#f1f6edcf}.welcome-about{display:inline-flex;align-items:center;gap:5px;color:#f0f5ecb5;font-size:10px;margin-top:14px}.role-page{max-width:590px;margin:auto;background:var(--bg);min-height:100dvh;display:flex;flex-direction:column;padding:0 26px}.role-page>header{height:110px;display:flex;align-items:center;position:relative;justify-content:center}.role-page>header>.icon-button{position:absolute;left:-6px}.role-page>header>.wordmark{width:150px}.role-content{padding-top:24px}.role-content .page-heading{margin-bottom:29px}.role-content h1{font-size:33px}.role-content .page-heading p{font-size:15px;color:#737c83;line-height:1.5}.role-card{display:flex;align-items:center;gap:18px;padding:0;width:100%;background:white;border-radius:19px;overflow:hidden;box-shadow:0 3px 12px #2a374606;text-align:left;margin-bottom:20px;min-height:148px}.role-card>img{width:125px;align-self:stretch;object-fit:cover;flex-shrink:0}.role-card>span{flex:1;padding:15px 0;min-width:0}.role-card strong{font-size:21px;letter-spacing:-.5px;font-weight:610;line-height:1.14;display:block}.role-card small{font-size:12px;line-height:1.5;display:block;color:#858c92;margin-top:12px}.role-card>svg{margin-right:17px;color:#959da3;width:16px}.role-footnote{text-align:center;color:#a3a8ad;font-size:11px;line-height:1.6;margin:auto 0 25px;padding-top:55px}.modal-overlay{position:fixed;inset:0;z-index:10;background:#19212466;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadein .15s ease}.modal{width:min(570px,100%);max-height:90dvh;overflow:auto;background:#f8f9fa;border-radius:25px;box-shadow:0 20px 100px #101d2933;padding:26px;overscroll-behavior:contain}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:-5px -6px 19px 0}.modal-header h2{font-size:23px;letter-spacing:-.6px}.modal .form-stack>.btn{margin-top:8px;min-height:50px}.modal p{font-size:14px;color:#727d85}.modal .panel{border:0}.modal .notice{margin-top:0}.modal .field{font-size:12px}.modal .code-box{padding:18px;background:white;border:1px dashed #cdd5df;border-radius:14px;overflow-wrap:anywhere;font-family:monospace;font-size:18px;letter-spacing:1px;color:#445367;margin:16px 0}.modal .link-box{font-size:12px;letter-spacing:0}.modal .download-preview{width:100%;max-height:350px;object-fit:contain;background:white;border-radius:16px;margin:0 0 18px}.modal-footer-note{font-size:11px!important;margin:12px 0;color:#97a0a8!important}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:30;max-width:min(520px,calc(100% - 32px));padding:15px 20px;background:#232b29;color:#fff;border-radius:15px;box-shadow:0 8px 28px #131c2930;font-size:13px;line-height:1.5;display:flex;align-items:center;gap:9px;animation:fadein .2s}.toast.error{background:#823d48}.loading-button:after{content:"";height:14px;width:14px;display:inline-block;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;margin-left:7px}.app-error{max-width:500px;padding:30px;margin:15vh auto;background:#fff;border-radius:22px;text-align:center}.app-error h2{margin:15px 0}.app-error p{color:#7c858e;margin-bottom:20px}.checkbox-field{display:flex;align-items:center;gap:10px;font-size:13px;color:#65717d}.checkbox-field input{width:17px;height:17px}.legal-text h3{margin:18px 0 10px}.legal-text p{font-size:13px;margin-bottom:14px}.modal .actions-list{display:grid;gap:11px;margin-top:18px}.selected-file-row{font-size:12px;padding:5px}.small-note{font-size:11px;color:#919aa3;line-height:1.6}.month-pill{font-size:12px;padding:7px 11px;background:#fff;border-radius:8px}body.modal-open{overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadein{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.app-shell{box-shadow:0 0 70px #2c3e500a}.welcome-page{border-radius:25px;min-height:min(960px,100dvh - 40px);height:min(960px,100dvh - 40px);margin:20px auto}.role-page{border-radius:25px;min-height:min(960px,100dvh - 40px);margin:20px auto}}
@media(max-width:1050px){.app-shell{grid-template-columns:206px minmax(0,1fr)}.sidebar{padding:32px 15px 20px}.sidebar>.wordmark{width:150px;margin-left:8px}.sidebar-tag{font-size:7px;letter-spacing:.7px;margin-left:7px}.topbar{padding:15px 25px}.app-body main{padding:0 25px 30px}.demo-banner{margin:0 25px 18px}.desktop-footer{padding:17px 25px}.property-links{grid-template-columns:1fr}.property-links .info-row{padding:16px}.record-card{gap:13px}.record-thumbnail{width:73px;height:73px}.stats-grid{gap:10px}.stat-card{padding:15px}.stat-card strong{font-size:21px}.info-grid{grid-template-columns:1fr}.owner-intro>div{padding:25px}.page-heading h1{font-size:28px}}
@media(max-width:760px){:root{font-size:14px}body{background:var(--bg)}.app-shell{display:block;max-width:590px}.sidebar,.desktop-footer,.desktop-context{display:none}.topbar{height:75px;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;justify-content:space-between}.topbar>.wordmark{display:block;width:125px}.topbar>.icon-button:first-child{display:inline-flex}.topbar>.icon-button{width:36px;height:36px}.demo-banner{margin:0 20px 19px;font-size:9px;padding:7px 10px}.demo-banner button{font-size:9px}.app-body main{padding:0 20px calc(97px + env(safe-area-inset-bottom));min-height:calc(100dvh - 110px)}h1{font-size:27px;letter-spacing:-.8px}.page-heading h1{font-size:27px}.page-heading{margin:0 0 21px;gap:9px;align-items:flex-start}.page-heading p{font-size:13px;margin-top:8px;line-height:1.5}.page-heading>.btn{font-size:11px;padding:10px 12px;min-height:37px;border-radius:11px;gap:5px;max-width:145px}.page-heading>.btn>svg{width:15px;height:15px}.apartment-hero{height:174px;border-radius:19px}.hero-info{left:18px;bottom:19px;gap:5px}.hero-info strong{font-size:20px}.hero-info>span:last-child{font-size:11px;line-height:1.4}.hero-label{font-size:8px;letter-spacing:1.4px}.hero-arrow{right:16px;bottom:25px}.quick-grid{gap:12px;margin:19px 0}.quick{border-radius:17px;gap:10px;padding:12px 10px;min-height:67px;font-size:12px}.quick>.tile-icon{width:35px;height:35px;border-radius:10px}.quick>.tile-icon>svg{width:19px;height:19px}.quick>svg{width:12px;height:12px}.payment-highlight{padding:17px 13px;gap:12px;border-radius:19px}.payment-highlight .tile-icon{width:35px;height:38px;border-radius:11px}.payment-highlight .muted{font-size:12px}.payment-highlight strong{font-size:25px}.payment-highlight small{font-size:11px}.payment-highlight>.btn{font-size:11px;padding:10px 12px;min-height:38px;border-radius:12px}.section{margin-top:23px}.section-heading h2{font-size:17px}.text-link{font-size:11px}.section-heading{margin-bottom:12px}.panel{border-radius:19px}.event-row{padding:15px 13px;gap:12px}.event-row .tile-icon{width:35px;height:35px;border-radius:10px}.event-row .tile-icon svg{width:20px;height:20px}.event-row b{font-size:12px}.event-row small{font-size:10px;line-height:1.3}.event-row .badge{font-size:8px;padding:6px 7px}.event-row>svg:last-child{width:13px;height:13px}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:5;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:min(100%,590px);padding:13px 10px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #eaedf1;background:#ffffffef;backdrop-filter:blur(15px);box-shadow:0 -4px 20px #2d404404}.bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:9px;line-height:1.2;padding:0 1px;min-height:39px;border-radius:0;white-space:nowrap;font-weight:400;color:#8c949b}.bottom-nav .nav-item>svg{width:22px;height:22px}.bottom-nav .nav-item.active{color:#171e20;font-weight:600}.bottom-nav .nav-item.active svg{stroke-width:2.4}.bottom-nav .nav-item:hover{background:none}.record-card{padding:15px 13px;border-radius:19px;gap:13px}.record-thumbnail{width:71px;height:78px;border-radius:12px}.record-title{font-size:14px;line-height:1.35}.record-copy{gap:6px}.record-sub{font-size:11px;line-height:1.4}.record-meta{font-size:9px;line-height:1.4}.record-end{min-width:45px;gap:13px}.record-end>b{font-size:13px}.record-end .badge{font-size:9px;padding:6px 8px}.record-end>svg{width:14px;height:14px}.record-card.compact{padding:16px 13px;gap:11px}.record-card.compact .tile-icon{width:35px;height:35px;border-radius:10px}.record-card.compact .tile-icon>svg{width:20px;height:20px}.record-card.compact .record-title{font-size:12px}.record-card.compact .record-meta{font-size:9px}.record-card.compact .record-end>.badge{font-size:8px}.notice{font-size:10px;padding:13px;gap:9px;line-height:1.55;border-radius:13px}.notice>svg{width:17px;height:17px}.owner-intro{min-height:191px;grid-template-columns:1fr 37%;border-radius:21px}.owner-intro>div{padding:21px}.owner-intro h2{font-size:27px;margin:13px 0 9px}.owner-intro p{font-size:10px}.owner-intro .eyebrow{font-size:7px;letter-spacing:1px}.stats-grid{gap:9px}.stat-card{padding:13px 11px;border-radius:17px;gap:9px}.stat-card strong{font-size:19px;letter-spacing:-.8px}.stat-card>span:not(.tile-icon){font-size:9px;line-height:1.3;min-height:23px}.stat-card>.tile-icon{width:29px;height:29px;border-radius:9px}.stat-card>.tile-icon>svg{width:18px;height:18px}.property-grid{grid-template-columns:1fr;gap:13px}.apartment-hero.small{height:162px}.property-links{gap:10px}.property-links .info-row>b{font-size:12px}.property-links .info-row{border-radius:16px}.info-grid{gap:10px}.info-row{padding:16px 14px;gap:13px;border-radius:17px}.info-row>.tile-icon{width:36px;height:36px;border-radius:11px}.info-row>.tile-icon>svg{width:20px;height:20px}.info-row b{font-size:13px}.info-row small{font-size:12px}.info-row>svg:last-child{width:15px;height:15px}.tabs{gap:8px;margin-bottom:17px}.tab{font-size:12px;padding:13px 5px}.apartment-tabs .tab{font-size:11px;padding:15px 0}.action-row{gap:10px}.action-row>.btn{font-size:12px;padding:12px 14px;min-width:125px}.finance-summary{padding:22px;border-radius:19px}.finance-summary strong{font-size:30px}.finance-summary span{font-size:11px}.finance-summary p{font-size:10px}.finance-summary>.tile-icon{width:45px;height:45px}.padded{padding:20px}.panel .split{font-size:12px}.mini-stats{gap:10px}.mini-stats>div{padding:17px}.mini-stats span{font-size:10px}.mini-stats b{font-size:20px}.documents-banner{padding:21px;border-radius:17px}.documents-banner h2{font-size:18px}.documents-banner p{font-size:11px;line-height:1.5}.folder-illustration{padding:0}.folder-illustration svg{width:78px;height:78px}.document-row{padding:17px 13px;gap:13px;border-radius:17px}.document-row .tile-icon{width:39px;height:42px;border-radius:11px}.document-row b{font-size:13px}.document-row small{font-size:10px;margin-top:5px}.document-row>svg{width:16px;height:16px}.meter-row{padding:17px 13px;gap:12px;border-radius:18px}.meter-row>.tile-icon{width:35px;height:35px;border-radius:10px}.meter-row b{font-size:12px}.meter-row small{font-size:10px;line-height:1.4}.meter-row input{width:85px;font-size:17px;padding:9px 7px;border-radius:7px}.meter-row>.icon-button{width:27px;height:27px}.file-input{padding:18px;border-radius:17px}.file-input>span:first-child{font-size:13px}.file-input>small{font-size:10px}.file-input>input{font-size:10px}.detail-top>.eyebrow{font-size:9px}.detail-body>p{font-size:13px}.detail-line{font-size:12px;padding:14px 0}.detail-amount{font-size:31px}.detail-body>.muted{font-size:10px}.detail-actions{bottom:calc(70px + env(safe-area-inset-bottom))}.detail-actions>.btn{font-size:12px}.visit-time strong{font-size:24px}.visit-time b{font-size:13px}.attachment{padding:17px 13px;gap:12px}.attachment b{font-size:12px}.attachment small{font-size:10px}.attachment .tile-icon{width:35px;height:35px;border-radius:10px}.profile-hero h2{font-size:21px}.setting-row{padding:19px 15px}.setting-row b{font-size:12px}.setting-row small{font-size:10px;line-height:1.5}.profile-links .info-row b{font-size:12px}.notification-row{padding:17px 13px;gap:12px}.notification-row b{font-size:12px}.notification-row small{font-size:10px}.notification-row small:last-child{font-size:9px}.notification-row .tile-icon{width:35px;height:35px;border-radius:10px}.timeline-item{gap:17px}.timeline-item b{font-size:12px}.timeline-item small{font-size:10px}.timeline-item span:not(.timeline-dot){font-size:10px}.comment b{font-size:11px}.comment small{font-size:9px}.comment p{font-size:12px}.comments>.muted{font-size:12px}.toast{bottom:calc(88px + env(safe-area-inset-bottom));font-size:12px;padding:13px 17px}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:25px 25px 0 0;padding:24px 21px calc(24px + env(safe-area-inset-bottom));max-height:92dvh;width:min(590px,100%);box-shadow:0 -10px 60px #1a252e22}.modal-header h2{font-size:22px}.field input,.field textarea,.field select{font-size:16px}.form-grid{gap:12px}.role-page{padding:0 24px}.role-page>header{height:100px}.role-content{padding-top:19px}.role-content .page-heading h1{font-size:32px}.role-content .page-heading p{font-size:14px}.role-card{gap:15px;min-height:145px;border-radius:17px}.role-card>img{width:119px}.role-card strong{font-size:20px}.role-card small{font-size:11px;margin-top:11px}.role-card>svg{margin-right:12px;width:14px}.welcome-top{padding-top:calc(78px + env(safe-area-inset-top))}.welcome-top .wordmark{width:220px;margin-bottom:31px}.welcome-top h1{font-size:22px}.welcome-top p{font-size:11px;margin-top:14px}.welcome-bottom{padding-left:28px;padding-right:28px}.welcome-bottom>.btn{font-size:15px}.welcome-bottom>p{font-size:10px}.empty-state{min-height:205px;padding:27px 20px}.empty-state h3{font-size:16px}.empty-state p{font-size:12px}.empty-state .btn{font-size:12px}}
@media(max-width:365px){.app-body main{padding-left:15px;padding-right:15px}.demo-banner{margin-left:15px;margin-right:15px}.topbar{padding-left:15px;padding-right:15px}.page-heading h1{font-size:25px}.quick{padding:11px 9px;gap:8px;font-size:11px}.quick-grid{gap:10px}.record-thumbnail{width:54px;height:65px}.record-card{gap:9px;padding:14px 11px}.record-title{font-size:12px}.record-end .badge{font-size:8px;padding:5px 6px}.record-end>b{font-size:11px}.role-page{padding:0 20px}.role-card{gap:12px}.role-card>img{width:103px}.role-card strong{font-size:18px}.role-card small{font-size:10px}.stat-card strong{font-size:17px}.event-row .badge{display:none}.documents-banner h2{font-size:16px}.documents-banner p{font-size:10px}.folder-illustration svg{width:62px}.bottom-nav .nav-item{font-size:8px}.meter-row input{width:75px}.form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
/* Custom accessible upload control; native picker is triggered by its label. */
.file-input{position:relative;cursor:pointer}.file-input input[type=file]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%)}.file-input:focus-within{outline:2px solid #657ee6;outline-offset:3px}.file-chosen{display:inline-block;background:#eef2f8;border-radius:12px;padding:11px 15px;font-weight:600;color:#3d4d65}
