@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{--navy: #16283f;--navy-deep: #0d1a2a;--navy-mid: #1f3a5c;--mint: #5fddb0;--mint-deep: #2e9e7b;--mint-pale: #dff6ec;--paper: #f2f7f6;--ink: #16283f;--ink-soft: #51636f;--ink-faint: #8496a1;--line: #e2eee9;font-family:DM Sans,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}h1,h2,.app-logo{font-family:Manrope,sans-serif}.muted{color:#5f83a9;font-size:.9rem;line-height:1.5}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:700;color:#ffffffa6}.eyebrow.accent{color:var(--mint-deep)}.brand-mark{display:grid;place-items:center}.brand-mark img{width:48px;height:auto}.brand-mark.small img{width:35px}.auth-page{display:grid;grid-template-columns:minmax(360px,.93fr) 1.07fr;min-height:100vh;background:#fff}.auth-brand-panel{position:relative;overflow:hidden;padding:48px clamp(34px,7vw,108px);color:#fff;background:linear-gradient(145deg,var(--navy-deep),var(--navy) 55%,var(--navy-mid))}.auth-brand-panel h1{max-width:420px;margin-top:100px;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.065em}.auth-copy{max-width:350px;margin-top:24px;color:#ffffffba;line-height:1.65}.auth-orbit{position:absolute;right:-130px;bottom:-170px;width:540px;height:540px;border:1px solid rgba(255,255,255,.16);border-radius:50%}.auth-orbit:before,.auth-orbit:after{content:"";position:absolute;inset:52px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.auth-orbit:after{inset:110px}.auth-orbit span{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 9px #5ce9b114}.auth-orbit span:first-child{top:92px;left:98px}.auth-orbit span:nth-child(2){top:210px;right:30px;width:8px;height:8px;background:#fff}.auth-orbit span:last-child{bottom:54px;left:160px;width:7px;height:7px;background:#ffd270}.auth-form-panel{display:grid;place-items:center;padding:36px}.auth-form-wrap{width:min(100%,410px)}.auth-form-wrap h2{margin-top:12px;color:#17293d;font-size:2.1rem;letter-spacing:-.05em}.auth-form-wrap>.muted{margin-top:11px}.auth-form{display:grid;gap:20px;margin-top:38px}.auth-form label{display:grid;gap:8px;color:#3a536d;font-size:.8rem;font-weight:700}.auth-form input{width:100%;border:1px solid #dce9e4;border-radius:11px;padding:14px 15px;color:#192a3c;outline:none;background:#fbfdfc;transition:border .2s,box-shadow .2s}.auth-form input:focus{border-color:#396da5;box-shadow:0 0 0 4px #396da51f}.form-success{margin-top:20px;border-radius:9px;padding:11px 13px;color:#264b72;background:#eaf7f2;font-size:.8rem;line-height:1.4}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border:0;border-radius:10px;padding:15px 17px;cursor:pointer;font-weight:700}.primary-button{margin-top:5px;color:#122c48;background:var(--mint);box-shadow:0 9px 18px #215fa224}.primary-button:disabled{cursor:wait;opacity:.6}.form-error{border-radius:9px;padding:11px 13px;color:#914749;background:#fff1f0;font-size:.8rem;line-height:1.4}.demo-note,.legal-copy{margin-top:22px;color:#99aaa3;font-size:.72rem;line-height:1.5}.demo-note{color:#b17b2a}.legal-copy{margin-top:48px}.forgot-link,.auth-back-link{display:inline-block;color:#39608a;font-size:.73rem;font-weight:700}.forgot-link{margin-top:19px}.auth-back-link{margin-top:34px}.auth-secondary-action{width:100%;margin-top:30px;text-align:left}.resident-app{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:10;display:flex;flex-direction:column;width:250px;height:100vh;padding:28px 17px 20px;color:#ffffffad;background:var(--navy)}.app-logo{display:flex;align-items:center;gap:11px;padding:0 11px;color:#fff;font-size:.82rem;line-height:1.13;letter-spacing:-.02em}.app-logo strong{color:var(--mint);font-weight:700}.side-nav{display:grid;gap:3px;margin-top:24px;overflow-y:auto;padding-right:3px}.side-nav::-webkit-scrollbar{width:3px}.side-nav::-webkit-scrollbar-thumb{border-radius:5px;background:#fff3}.side-nav>a{display:flex;align-items:center;gap:12px;border-radius:10px;padding:9px 13px;font-size:.78rem;transition:background .2s,color .2s}.side-nav>a:hover{color:#fff;background:#ffffff14}.side-nav>a.active{color:#15293e;background:var(--mint);font-weight:700}.side-group-items a{display:flex;align-items:center;gap:12px;border-radius:10px;padding:9px 13px 9px 30px;font-size:.78rem;transition:background .2s,color .2s}.side-group-items a:hover{color:#fff;background:#ffffff14}.side-group-items a.active{color:#15293e;background:var(--mint);font-weight:700}.nav-icon{width:19px;text-align:center;font-size:1rem}.side-group{margin-top:6px}.side-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:10px;padding:9px 13px;color:#fff6;background:transparent;cursor:pointer;text-transform:uppercase;font-size:.63rem;letter-spacing:.1em;font-weight:700;transition:color .2s}.side-group-header:hover{color:#ffffffb3}.side-group-caret{font-size:.6rem;transition:transform .2s}.side-group.open .side-group-caret{transform:rotate(180deg)}.side-group-items{display:grid;gap:2px;margin-top:2px}.sidebar-footer{margin-top:auto}.help-card{display:grid;grid-template-columns:30px 1fr;gap:2px 9px;margin:0 5px 24px;border-top:1px solid rgba(255,255,255,.11);padding:22px 7px 0;font-size:.75rem}.help-card strong{color:#ffffffdb;font-size:.73rem}.help-card small{color:#ffffff6b}.help-icon{grid-row:1 / span 2;display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:var(--mint)}.logout-link{width:100%;border:0;padding:12px;color:#ffffff94;background:transparent;cursor:pointer;text-align:left;font-size:.8rem}.logout-link:hover{color:#fff}.main-shell{width:calc(100% - 250px);margin-left:250px}.topbar{display:flex;align-items:center;justify-content:space-between;height:76px;padding:0 clamp(24px,5vw,70px);border-bottom:1px solid #e4efeb;background:#ffffffab}.breadcrumb{display:flex;align-items:center;gap:12px;color:#91a69e;font-size:.78rem}.breadcrumb b{color:#c0cec8;font-weight:400}.breadcrumb strong{color:#304459;font-weight:700}.topbar-actions{display:flex;align-items:center;gap:21px}.icon-button,.menu-button{position:relative;border:0;color:#5e82a9;background:transparent;cursor:pointer;font-size:1.35rem}.icon-button i{position:absolute;top:1px;right:-1px;width:6px;height:6px;border:1px solid #fff;border-radius:50%;background:#e77e6b}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:#698aae;font-size:.7rem;font-weight:700}.avatar.large{width:72px;height:72px;margin-bottom:22px;font-size:1.5rem}.menu-button{display:none}.content-area{max-width:1250px;margin:0 auto;padding:54px clamp(24px,5vw,70px) 80px}.page-heading,.section-heading,.card-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.page-heading h1{margin-top:8px;color:#17293d;font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.07em}.page-heading h1 span{color:#5796d9;font-size:.7em}.page-heading .muted{margin-top:11px}.secondary-button{color:#315276;border:1px solid #cfe2da;background:transparent;font-size:.77rem}.secondary-button:hover{border-color:#85bca6;background:#fff}.connection-banner{display:flex;align-items:center;gap:13px;margin-top:32px;border:1px solid #f0dfbd;border-radius:12px;padding:13px 16px;color:#8f6c32;background:#fffaf0}.connection-banner>span{font-size:1.4rem}.connection-banner div{display:grid;gap:2px}.connection-banner strong{font-size:.78rem}.connection-banner small{font-size:.72rem}.debt-card{display:flex;align-items:center;gap:20px;margin-top:32px;border-radius:17px;padding:26px 30px;box-shadow:0 16px 28px #133b6614}.debt-card-icon{display:grid;flex:0 0 auto;place-items:center;width:52px;height:52px;border-radius:14px;font-size:1.4rem;font-weight:700}.debt-card h2{margin-top:4px;font-size:1.5rem;letter-spacing:-.04em}.debt-card h2 span{font-size:.75em}.debt-card p{margin-top:5px;font-size:.8rem;line-height:1.4}.debt-card>div{flex:1}.debt-card-action{flex:0 0 auto;margin:0}.debt-card-clear{color:#fff;background:linear-gradient(115deg,var(--mint-deep),var(--mint))}.debt-card-clear .debt-card-icon{color:var(--mint-deep);background:#ffffffd9}.debt-card-clear .card-kicker{color:#ffffffbf}.debt-card-clear p{color:#ffffffd9}.debt-card-due{color:#fff;background:linear-gradient(115deg,#8a3b2e,#c05a3f)}.debt-card-due .debt-card-icon{color:#a5432f;background:#fff}.debt-card-due .card-kicker{color:#ffffffbf}.debt-card-due p{color:#ffffffd9}.debt-card-due .debt-card-action{color:#a5432f;background:#fff}.debt-card-due .debt-card-action:hover{background:#fff0ec}.welcome-card{position:relative;display:flex;justify-content:space-between;min-height:205px;overflow:hidden;margin-top:43px;border-radius:17px;padding:32px 38px;color:#fff;background:linear-gradient(115deg,#17416e,#325e8e);box-shadow:0 16px 28px #133b661f}.card-kicker{color:#fff9;text-transform:uppercase;letter-spacing:.14em;font-size:.63rem;font-weight:700}.welcome-card h2{margin-top:14px;font-size:1.65rem;letter-spacing:-.05em}.welcome-card p{margin-top:6px;color:#ffffffa1;font-size:.78rem}.access-status{display:inline-flex;align-items:center;gap:7px;margin-top:27px;color:#8af4ca;font-size:.7rem;font-weight:700}.access-status i{width:6px;height:6px;border-radius:50%;background:#8af4ca;box-shadow:0 0 0 4px #8af4ca26}.house-illustration{position:relative;align-self:end;width:260px;height:155px;margin:-9px -5px -32px 10px;opacity:.82}.house-roof{position:absolute;z-index:2;left:53px;top:25px;width:136px;height:90px;transform:rotate(45deg) skew(-4deg,-4deg);border-radius:8px 0 0;background:var(--mint)}.house-body{position:absolute;z-index:3;left:49px;top:70px;width:143px;height:82px;border-radius:4px;background:#e8f7f1}.house-body:after{content:"";position:absolute;bottom:0;left:62px;width:27px;height:48px;border-radius:13px 13px 0 0;background:#4d739c}.house-body span{position:absolute;top:19px;width:20px;height:22px;border:4px solid #82c8ac;background:#cce9dd}.house-body span:first-child{left:20px}.house-body span:last-child{right:20px}.house-tree{position:absolute;bottom:0;width:40px;height:75px;border-radius:50% 50% 8px 8px;background:#2b5480}.tree-one{left:8px;transform:scale(.75)}.tree-two{right:1px;transform:scale(.65)}.section-heading{margin:47px 0 18px;align-items:center}.section-heading h2,.card-heading h2{color:#24374b;font-size:1.02rem;letter-spacing:-.03em}.section-heading .muted,.card-heading .muted{margin-top:4px;font-size:.76rem}.date-chip{border-radius:8px;padding:7px 11px;color:#5b80a7;background:#e8f1ed;font-size:.68rem}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.quick-action{display:grid;grid-template-columns:37px 1fr 15px;align-items:center;gap:10px;min-height:87px;border:1px solid #e2eee9;border-radius:13px;padding:14px 13px;color:#293b4e;background:#fff;cursor:pointer;text-align:left;transition:transform .2s,box-shadow .2s}.quick-action:hover{transform:translateY(-2px);box-shadow:0 10px 24px #2f4c6a14}.quick-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;color:#244f7c;background:#e1f3ec;font-size:1.05rem}.quick-action strong,.quick-action small{display:block}.quick-action strong{font-size:.75rem}.quick-action small{margin-top:5px;color:#91a59d;font-size:.64rem;line-height:1.25}.quick-action>b{color:#7090b2;font-size:1rem;font-weight:400}.bottom-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:16px;margin-top:42px}.activity-card,.notice-card{min-height:215px;border:1px solid #e0ece7;border-radius:15px;padding:25px;background:#fff}.card-heading{align-items:flex-start}.card-heading a{color:#335d8a;font-size:.7rem;font-weight:700}.empty-state{display:grid;place-items:center;margin-top:28px;text-align:center}.empty-icon{display:grid;place-items:center;width:37px;height:37px;margin-bottom:9px;border-radius:50%;color:#7392b3;background:#edf6f2;font-size:1.2rem}.empty-state strong{color:#476585;font-size:.76rem}.empty-state p{max-width:255px;margin-top:5px;color:#a0b1aa;font-size:.68rem;line-height:1.4}.notice-card{color:#fff;background:#213e5e;border-color:#213e5e}.notice-card h2{color:#fff}.notice-card .muted{color:#ffffff8c}.notice-card>p{max-width:265px;margin-top:28px;color:#ffffffab;font-size:.76rem;line-height:1.55}.sparkle{color:var(--mint);font-size:1.5rem}.text-button{margin-top:23px;border:0;padding:0;color:var(--mint);background:transparent;cursor:pointer;font-size:.72rem;font-weight:700}.module-placeholder{display:grid;justify-items:start;max-width:650px;margin:8vh auto;border:1px solid #dfebe6;border-radius:20px;padding:45px;background:#fff}.module-icon{display:grid;place-items:center;width:55px;height:55px;margin-bottom:28px;border-radius:15px;color:#244f7c;background:#e1f3ec;font-size:1.5rem}.module-placeholder h1{margin-top:10px;color:#17293d;font-size:2.4rem;letter-spacing:-.07em}.module-placeholder>.muted{margin-top:12px}.placeholder-note{margin-top:28px;border-radius:10px;padding:14px 16px;color:#517296;background:#f1f7f5;font-size:.76rem;line-height:1.5}.account-placeholder{justify-items:center;text-align:center}.account-placeholder .placeholder-note{max-width:420px}.account-actions{display:grid;width:100%;gap:8px;margin-top:28px;text-align:left}.account-actions a{display:flex;align-items:center;justify-content:space-between;border:1px solid #e1ede8;border-radius:10px;padding:13px 15px;color:#37516c;background:#fff;font-size:.76rem;font-weight:700}.account-actions a:hover{border-color:#9ecab8;background:#f7fbf9}.account-actions span{color:#6b8caf;font-size:1rem;font-weight:400}.notification-preferences{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:20px;border:1px solid #e1ede8;border-radius:12px;padding:15px;color:#37516c;background:#f7fbf9;text-align:left}.notification-preferences strong{font-size:.76rem}.notification-preferences p{margin-top:4px;color:#7695b6;font-size:.68rem;line-height:1.4}.notification-preferences small{display:block;margin-top:6px;color:#a55f5c;font-size:.66rem}.notification-preferences .secondary-button{flex:0 0 auto;margin:0;padding:10px 12px;font-size:.68rem}.auth-module-page{max-width:860px;margin:4vh auto}.auth-module-page.narrow{max-width:560px}.auth-module-page h1{margin-top:9px;color:#17293d;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.07em}.auth-module-page>.muted{margin-top:10px}.session-cards{display:grid;gap:12px;margin-top:35px}.session-card{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;width:100%;border:1px solid #e0ece7;border-radius:14px;padding:15px 17px;color:#304459;background:#fff;cursor:pointer;text-align:left;transition:transform .2s,box-shadow .2s,border .2s}.session-card:hover{transform:translateY(-1px);box-shadow:0 9px 22px #26476a12}.session-card.selected{border-color:#74d6af;background:#f6fffb}.session-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#28517d;background:#e4f4ee;font-size:1.2rem}.session-card strong,.session-card small{display:block}.session-card strong{font-size:.82rem}.session-card small{margin-top:5px;color:#7a97b7;font-size:.68rem}.session-card b{color:#6b8caf;font-size:.72rem}.session-skeleton{height:74px;border-radius:14px;background:linear-gradient(90deg,#e9f2ee 25%,#f8fbfa,#e9f2ee 75%);background-size:200% 100%;animation:loading 1.4s infinite}.no-access-card{display:flex;gap:12px;margin-top:30px;border-radius:12px;padding:16px;color:#476585;background:#f1f7f5}.no-access-card>span{display:grid;flex:0 0 auto;place-items:center;width:28px;height:28px;border:1px solid #a5cdbd;border-radius:50%;color:#39608a}.no-access-card strong{font-size:.76rem}.no-access-card p{margin-top:4px;color:#7695b6;font-size:.68rem;line-height:1.45}.security-form{display:grid;gap:18px;margin-top:35px;border:1px solid #e0ece7;border-radius:16px;padding:25px;background:#fff}.security-form label{display:grid;gap:8px;color:#3a536d;font-size:.76rem;font-weight:700}.security-form input{width:100%;border:1px solid #dce9e4;border-radius:10px;padding:13px 14px;color:#192a3c;outline:none;background:#fbfdfc}.security-form input:focus{border-color:#396da5;box-shadow:0 0 0 4px #396da51f}.security-form textarea{width:100%;border:1px solid #dce9e4;border-radius:10px;padding:13px 14px;color:#192a3c;outline:none;background:#fbfdfc;font:inherit;resize:vertical}.security-form textarea:focus{border-color:#396da5;box-shadow:0 0 0 4px #396da51f}.security-form select{width:100%;border:1px solid #dce9e4;border-radius:10px;padding:13px 14px;color:#192a3c;outline:none;background:#fbfdfc;font:inherit}.upload-drop-label{display:grid;gap:8px}.upload-drop-label .upload-drop{min-height:64px}.module-page{max-width:920px;margin:0 auto}.module-page-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}.back-link{display:inline-block;margin-bottom:28px;color:#39608a;font-size:.75rem;font-weight:700}.module-title-row{display:flex;align-items:center;gap:16px}.module-title-row .module-icon{flex:0 0 auto;width:57px;height:57px;margin:0}.module-title-row h1{margin-top:7px;color:#17293d;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.07em}.module-description{max-width:580px;margin-top:15px}.module-count{display:grid;justify-items:end;border-radius:13px;padding:13px 17px;color:#2d537b;background:#e8f5f0}.module-count strong{font-family:Manrope,sans-serif;font-size:1.7rem;letter-spacing:-.06em}.module-count small{color:#6b8caf;font-size:.65rem}.module-list{display:grid;gap:10px;margin-top:42px}.module-list-item{display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:15px;min-height:92px;border:1px solid #e1ede8;border-radius:14px;padding:16px 19px;background:#fff;transition:transform .2s,box-shadow .2s}.module-list-item:hover{transform:translateY(-1px);box-shadow:0 10px 26px #26476a12}.list-item-index{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;color:#39608a;background:#e7f4ef;font-size:.7rem;font-weight:700}.module-list-item h2{color:#304459;font-size:.86rem;letter-spacing:-.02em}.module-list-item p{max-width:670px;margin-top:5px;overflow:hidden;color:#7695b6;font-size:.72rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.module-list-item small{display:inline-block;margin-top:7px;color:#b0beb8;font-size:.63rem}.list-arrow{color:#7593b4;font-size:1.1rem}.module-empty{display:grid;justify-items:center;margin-top:42px;border:1px dashed #cfe3db;border-radius:16px;padding:60px 25px;text-align:center;background:#ffffff8c}.module-empty .empty-icon{margin-bottom:12px}.module-empty h2{color:#476585;font-size:.95rem}.module-empty p{max-width:320px;margin-top:7px;color:#9aaea6;font-size:.72rem;line-height:1.5}.module-alert{display:grid;grid-template-columns:1fr auto;gap:5px 20px;margin-top:40px;border:1px solid #f0d8d1;border-radius:13px;padding:15px 17px;color:#8c5e58;background:#fff5f2;font-size:.75rem}.module-alert strong,.module-alert span{grid-column:1}.module-alert span{color:#a78179}.module-alert button{grid-column:2;grid-row:1 / span 2;align-self:center;border:0;border-radius:7px;padding:8px 11px;color:#fff;background:#c78575;cursor:pointer;font-size:.7rem}.loading-list span{display:block;height:92px;border-radius:14px;background:linear-gradient(90deg,#e9f2ee 25%,#f8fbfa,#e9f2ee 75%);background-size:200% 100%;animation:loading 1.4s infinite}.module-next-step{display:flex;align-items:center;gap:13px;margin-top:27px;border-radius:13px;padding:16px 18px;color:#fff;background:#203d5d}.module-next-step>span{color:var(--mint);font-size:1.2rem}.module-next-step div{flex:1}.module-next-step strong{font-size:.76rem}.module-next-step p{margin-top:3px;color:#fff9;font-size:.68rem}.module-next-step a{color:var(--mint);font-size:.7rem;font-weight:700}.module-home-button{margin-top:27px;text-decoration:none}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.full-page-message{display:grid;justify-items:center;align-content:center;gap:14px;min-height:100vh;padding:30px;text-align:center;background:#f4f8f6}.full-page-message h1{color:#17293d;font-size:clamp(1.8rem,4vw,2.7rem);letter-spacing:-.06em}.full-page-message .muted{max-width:360px}.full-page-message .brand-mark{margin-bottom:6px}.backdrop{display:none}.sidebar.open{transform:translate(0)}.install-banner{position:fixed;z-index:20;left:16px;right:16px;bottom:16px;max-width:460px;margin:0 auto;border-radius:14px;padding:16px 16px 14px;color:#fff;background:var(--navy);box-shadow:0 16px 36px #0d1a2a47}.install-banner-copy{display:flex;align-items:flex-start;gap:12px}.install-banner-icon{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;border-radius:10px;background:#5fddb02e;color:var(--mint);font-size:1.05rem}.install-banner-copy strong{display:block;font-size:.82rem}.install-banner-copy small{display:block;margin-top:3px;color:#eff5f3b8;font-size:.7rem;line-height:1.4}.install-banner-actions{display:flex;align-items:center;gap:10px;margin-top:14px}.install-banner-actions .secondary-button{flex:1;justify-content:center;gap:8px;color:var(--navy);border-color:transparent;background:var(--mint);font-weight:700}.install-banner-actions .secondary-button:hover{background:#7ce6c1;border-color:transparent}.install-banner-dismiss{flex:0 0 auto;border:0;width:30px;height:30px;border-radius:8px;color:#eff5f399;background:transparent;cursor:pointer;font-size:1.1rem}.install-banner-dismiss:hover{color:#fff;background:#ffffff14}.install-ios-help{margin-top:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:12px;font-size:.74rem;line-height:1.6;color:#eff5f3e6}.install-ios-help .text-button{margin-top:10px;color:var(--mint)}.notification-item{grid-template-columns:42px 1fr auto;width:100%;border:1px solid var(--line);font:inherit;text-align:left;cursor:pointer}.notification-item:disabled{cursor:default}.notification-item.unread{border-color:var(--mint);background:var(--mint-pale)}.notification-item.unread .list-item-index{color:var(--mint-deep);background:#fff}.notification-item .list-arrow{color:var(--mint-deep);font-size:.68rem;font-weight:700;white-space:nowrap}.detail-page{max-width:760px;margin:0 auto}.detail-meta{display:flex;align-items:center;gap:12px;margin-top:10px;color:var(--ink-faint);font-size:.74rem}.detail-meta span+span:before{content:"·";margin-right:12px}.detail-body{margin-top:30px;padding:30px;border:1px solid var(--line);border-radius:16px;background:#fff;color:#33474f;font-size:.9rem;line-height:1.7;white-space:pre-wrap}.detail-attachments{display:grid;gap:8px;margin-top:18px}.detail-attachments a{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--mint-deep);font-size:.78rem;font-weight:700;background:#fff}.detail-attachments a:hover{border-color:var(--mint)}.reminder-form{margin-top:28px}.reminder-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reminder-checkbox{display:flex!important;flex-direction:row!important;align-items:center;gap:9px}.reminder-checkbox input{width:auto}.reminder-form-actions{display:flex;align-items:center;gap:18px;margin-top:4px}.reminder-form-actions .primary-button{margin-top:0}.reminder-item,.charge-item{grid-template-columns:42px 1fr auto}.reminder-item.expired{opacity:.6}.reminder-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.reminder-actions .text-button{margin-top:0;font-size:.68rem}.text-button.danger{color:#b3554f}.upload-card{margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.upload-drop{display:flex;align-items:center;justify-content:center;min-height:96px;border:1.5px dashed #cfe3db;border-radius:12px;padding:20px;color:var(--ink-faint);font-size:.82rem;font-weight:600;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.upload-drop:hover{border-color:var(--mint);background:var(--mint-pale)}.upload-drop input{display:none}.upload-card .primary-button{margin-top:16px;width:100%;justify-content:center}.status-pill{flex:0 0 auto;padding:6px 12px;border-radius:999px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.status-pill.pending{color:#8f6c32;background:#fffaf0}.status-pill.accepted{color:var(--mint-deep);background:var(--mint-pale)}.status-pill.rejected{color:#b3554f;background:#fdf1ef}.charges-subheading{margin:34px 0 14px;color:var(--ink);font-size:.95rem;letter-spacing:-.02em}.charges-subheading:first-of-type{margin-top:24px}.charge-item{cursor:pointer}.charge-item input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--mint-deep)}.charge-amount{flex:0 0 auto;color:var(--ink);font-family:Manrope,sans-serif;font-size:.95rem}.checkout-summary{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.checkout-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-size:.82rem;color:var(--ink-soft)}.checkout-row.total{margin-top:6px;padding-top:14px;border-top:1px solid var(--line);color:var(--ink);font-size:.95rem}.checkout-row.total strong{font-family:Manrope,sans-serif;font-size:1.15rem}.checkout-note{margin-top:14px;font-size:.72rem}.checkout-summary .primary-button{margin-top:18px;width:100%;justify-content:center}.payment-result{max-width:480px;margin:10vh auto;text-align:center;display:grid;justify-items:center;gap:4px}.payment-result h1{margin-top:12px;color:var(--ink);font-size:2rem;letter-spacing:-.05em}.payment-result .muted{margin-top:8px}.payment-result .primary-button{margin-top:26px}.area-item{grid-template-columns:42px 1fr auto}.modal-backdrop{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background:#0d1a2a80}.booking-form{width:min(100%,420px);margin:0;background:#fff}.booking-form h2{color:var(--ink);font-size:1.3rem;letter-spacing:-.03em}.booking-form>.muted{margin-top:8px}.booking-form label{margin-top:22px}.rsvp-card{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.rsvp-card strong{display:block;color:var(--ink);font-size:.92rem}.rsvp-card .muted{margin-top:5px;max-width:340px}.rsvp-actions{display:flex;gap:12px;flex:0 0 auto}.rsvp-actions .primary-button,.rsvp-actions .secondary-button{margin:0}.poll-questions{display:grid;gap:20px;margin-top:30px}.poll-question{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.poll-question h2{color:var(--ink);font-size:.92rem;letter-spacing:-.02em}.poll-options{display:grid;gap:8px;margin-top:16px}.poll-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:.82rem;color:var(--ink-soft);cursor:pointer}.poll-option:has(input:checked){border-color:var(--mint);background:var(--mint-pale)}.poll-option.chosen{border-color:var(--mint);background:var(--mint-pale);color:var(--ink)}.poll-option input{width:18px;height:18px;margin:0;accent-color:var(--mint-deep)}.poll-option span{flex:1}.poll-option strong{color:var(--mint-deep);font-size:.76rem}.poll-answered-note{margin-top:26px}.poll-deadline{margin-top:6px}.poll-option-attachment{flex:0 0 auto;font-size:.74rem;font-weight:600;color:var(--mint-deep);text-decoration:none;white-space:nowrap;padding:4px 10px;border:1px solid var(--mint);border-radius:999px;background:var(--mint-pale)}.poll-option-attachment:hover{background:var(--mint);color:var(--ink)}.poll-other-input{display:block;width:100%;margin-top:8px;padding:10px 14px;border:1px solid var(--mint);border-radius:10px;font-size:.82rem;color:var(--ink);background:#fff}.poll-other-input:focus{outline:none;border-color:var(--mint-deep);box-shadow:0 0 0 3px var(--mint-pale)}.poll-other-answer{margin:6px 0 0;font-size:.78rem;color:var(--ink-soft);font-style:italic}.poll-results{margin-top:30px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.poll-results h2{margin:0;color:var(--ink);font-size:.92rem;letter-spacing:-.02em}.poll-secrecy-note{margin:6px 0 18px;font-size:.76rem}.poll-results-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.poll-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:12px;background:var(--mint-pale);text-align:center}.poll-stat strong{font-size:1.3rem;color:var(--navy)}.poll-stat span{font-size:.72rem;color:var(--ink-soft)}.poll-street-summary h3,.poll-lot-list summary{font-size:.82rem;color:var(--ink);margin:0 0 10px}.poll-street-summary table{width:100%;border-collapse:collapse;font-size:.78rem}.poll-street-summary th,.poll-street-summary td{padding:8px 6px;text-align:left;border-bottom:1px solid var(--line)}.poll-street-summary th{color:var(--ink-soft);font-weight:600}.poll-lot-list{margin-top:20px}.poll-lot-list summary{cursor:pointer;font-weight:600}.poll-lot-list ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}.poll-lot-list li{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:.78rem}.poll-vote-badge{padding:2px 10px;border-radius:999px;font-size:.7rem;font-weight:700}.poll-vote-badge.voted{background:var(--mint-pale);color:var(--mint-deep)}.poll-vote-badge.not-voted{background:#fbeaea;color:#c0392b}.map-note{margin-top:6px}.map-canvas-container{position:relative;margin-top:20px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.map-canvas-wrap{margin:0;padding:16px;border:none;background:transparent;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.map-canvas-wrap.is-dragging{cursor:grabbing}.map-zoom-controls{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;z-index:10}.map-zoom-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fffffff2;border-radius:8px;font-size:1.1rem;font-weight:600;color:var(--navy);box-shadow:0 2px 6px #00000014;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.map-zoom-btn:hover{background:#fff;border-color:var(--navy);color:var(--mint-deep);transform:translateY(-1px)}.map-zoom-btn:active{transform:translateY(0)}.map-canvas{display:block;width:100%;height:auto;max-height:70vh}.map-structure-bg{pointer-events:none;opacity:.65}.map-shape{stroke-width:1.5;cursor:pointer;transition:all .15s ease}.map-shape-other{fill:var(--paper);stroke:var(--line);pointer-events:none}.map-shape-lot{fill:#eef2f1;stroke:var(--line)}.map-shape-lot:hover,.map-shape-lot.is-hovered{fill:#c7ede2;stroke:var(--mint-deep)}.map-shape-own{fill:var(--mint);stroke:var(--navy);stroke-width:2.5}.map-shape-own:hover,.map-shape-own.is-hovered{fill:#86e4cb;stroke:#0f1c2d;stroke-width:3}.map-shape-event{fill:#fde9c8;stroke:#e0a53a}.map-shape-event:hover,.map-shape-event.is-hovered{fill:#fbdca0;stroke:#b87b14}.map-shape.is-selected{stroke:var(--navy)!important;stroke-width:3!important;filter:drop-shadow(0 2px 6px rgba(17,33,53,.25))}.map-custom-tooltip{position:absolute;transform:translate(-50%,-105%);pointer-events:none;z-index:30;background:#0f1c2df0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:10px 14px;min-width:190px;max-width:280px;box-shadow:0 10px 25px -4px #00000059,0 4px 10px -2px #0003;animation:tooltipFadeIn .15s ease-out}@media(hover:none)or (max-width:768px){.map-custom-tooltip{display:none!important}}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,-95%) scale(.96)}to{opacity:1;transform:translate(-50%,-105%) scale(1)}}.map-tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.map-tooltip-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:6px}.map-tooltip-badge.badge-own{background:var(--mint);color:var(--navy)}.map-tooltip-badge.badge-lot{background:#ffffff26;color:#e2e8f0}.map-tooltip-badge.badge-event{background:#fde9c8;color:#8a5700}.map-tooltip-status{font-size:.68rem;font-weight:600;padding:2px 6px;border-radius:6px}.map-tooltip-status.status-ok{background:#2ecc7133;color:#2ecc71}.map-tooltip-status.status-debt{background:#e74c3c33;color:#ff6b6b}.map-tooltip-title{margin:0;font-size:.9rem;font-weight:700;color:#fff;line-height:1.25}.map-tooltip-details{margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:4px}.tooltip-row{display:flex;justify-content:space-between;font-size:.72rem;gap:8px}.tooltip-row span{color:#94a3b8}.tooltip-row strong{color:#f8fafc;font-weight:500}.map-tooltip-hint{margin:6px 0 0;font-size:.66rem;color:#a0aec0;font-style:italic;text-align:right}.map-selected-drawer{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:0 4px 16px #0f1c2d0f;animation:drawerSlideDown .2s ease-out}@keyframes drawerSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.drawer-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:6px;display:inline-block;margin-bottom:4px}.drawer-badge.badge-own{background:var(--mint-pale);color:var(--mint-deep)}.drawer-badge.badge-lot{background:#f1f5f9;color:#475569}.drawer-badge.badge-event{background:#fef3c7;color:#b45309}.drawer-header h3{margin:0;font-size:1.12rem;color:var(--navy);font-weight:700}.drawer-close-btn{background:#f1f5f9;border:none;color:#64748b;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .15s ease;flex-shrink:0}.drawer-close-btn:hover{background:#e2e8f0;color:var(--navy)}.drawer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;padding:12px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.drawer-grid div{display:flex;flex-direction:column;gap:2px}.drawer-grid span{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.drawer-grid strong{font-size:.86rem;color:#1e293b;font-weight:600}.text-ok{color:#16a34a!important}.text-debt{color:#dc2626!important}.drawer-residents{margin-top:14px}.drawer-sub{margin:0 0 8px;font-size:.78rem;font-weight:600;color:#475569}.drawer-chips{display:flex;flex-wrap:wrap;gap:8px}.resident-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid var(--line);border-radius:20px;font-size:.76rem;color:#334155;box-shadow:0 1px 3px #00000008}.drawer-desc{margin:0;font-size:.88rem;color:#334155}.drawer-note{margin:8px 0 0;font-size:.76rem;line-height:1.4}.map-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;font-size:.78rem;color:var(--ink-soft)}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}.map-legend-own{background:var(--mint);border:2px solid var(--navy)}.map-legend-lot{background:#eef2f1;border:1px solid var(--line)}.map-legend-event{background:#fde9c8;border:1px solid #e0a53a}.map-own-lot-card{margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.map-own-lot-card h2{margin:0 0 16px;color:var(--navy);font-size:1.05rem}.map-own-lot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.map-own-lot-grid div{display:flex;flex-direction:column;gap:3px}.map-own-lot-grid span{font-size:.72rem;color:var(--ink-soft)}.map-own-lot-grid strong{font-size:.86rem;color:var(--ink)}.map-own-lot-residents{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.map-own-lot-residents h3{margin:0 0 12px;font-size:.84rem;color:var(--ink)}.map-own-lot-residents ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.map-own-lot-residents li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:.78rem;color:var(--ink-soft)}.map-own-lot-residents li strong{color:var(--ink);font-size:.84rem}.profile-card{display:flex;gap:28px;margin-top:30px;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff}.profile-avatar-upload{display:grid;justify-items:center;gap:8px;flex:0 0 auto;cursor:pointer;text-align:center}.profile-avatar-upload input{display:none}.profile-avatar-upload small{color:var(--mint-deep);font-size:.68rem;font-weight:700}.profile-fields{flex:1}.profile-fields h2{color:var(--ink);font-size:1.4rem;letter-spacing:-.04em}.profile-fields>.muted{margin-top:4px}.profile-detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:22px 0 0}.profile-detail-list dt{color:var(--ink-faint);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}.profile-detail-list dd{margin:4px 0 0;color:var(--ink-soft);font-size:.84rem}.contact-admin-card{margin-top:22px;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff}.contact-admin-card h2{color:var(--ink);font-size:1rem;letter-spacing:-.02em}.contact-admin-card>.muted{margin-top:5px}.contact-admin-card form{margin-top:18px;display:grid;gap:14px}.contact-admin-card textarea{width:100%;border:1px solid #dce9e4;border-radius:10px;padding:13px 14px;color:#192a3c;outline:none;background:#fbfdfc;font:inherit;resize:vertical}.contact-admin-card .primary-button{margin-top:0;justify-self:start}@media(max-width:600px){.profile-card{flex-direction:column;align-items:center;text-align:center}.profile-detail-list{grid-template-columns:1fr}}.cohabitant-limits{display:flex;gap:20px;margin-top:24px;font-size:.74rem;font-weight:700;color:var(--ink-soft)}.cohabitant-limits .full{color:#b3554f}.module-list-item:has(.cohabitant-badges),.module-list-item:has(.status-pill){grid-template-columns:42px 1fr auto}.module-list-item:has(.status-pill) p{white-space:normal;max-width:420px}.cohabitant-badges,.cohabitant-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.cohabitant-actions .text-button{margin:0;font-size:.68rem}.tab-row{display:flex;gap:8px;margin:28px 0 6px}.tab-row button{border:1px solid var(--line);border-radius:999px;padding:9px 18px;color:var(--ink-soft);background:#fff;font-size:.78rem;font-weight:700;cursor:pointer}.tab-row button.active{border-color:var(--mint);background:var(--mint-pale);color:var(--mint-deep)}@media(max-width:520px){.install-banner{left:10px;right:10px;bottom:10px}.reminder-form-row{grid-template-columns:1fr}.reminder-item.reminder-item{grid-template-columns:32px 1fr}.reminder-actions{align-items:flex-start;grid-column:1 / -1;flex-direction:row;margin-top:10px}}@media(max-width:1050px){.quick-grid{grid-template-columns:repeat(2,1fr)}.bottom-grid{grid-template-columns:1fr}.house-illustration{transform:scale(.8);transform-origin:right bottom;margin-right:-35px}}@media(max-width:720px){.auth-page{display:block}.auth-brand-panel{min-height:265px;padding:30px 26px}.auth-brand-panel h1{margin-top:38px;font-size:2.45rem}.auth-copy{margin-top:12px;font-size:.82rem}.auth-orbit{right:-185px;bottom:-310px;transform:scale(.7)}.auth-form-panel{min-height:calc(100vh - 265px);padding:42px 25px;align-items:start}.auth-form-wrap h2{font-size:1.8rem}.legal-copy{margin-top:34px}.sidebar{transform:translate(-105%);transition:transform .25s ease;box-shadow:13px 0 30px #0b203626}.main-shell{width:100%;margin-left:0}.topbar{height:64px;padding:0 20px}.menu-button{display:block}.breadcrumb{font-size:.7rem}.topbar-actions{gap:12px}.content-area{padding:35px 20px 55px}.page-heading{display:block}.page-heading h1{font-size:2.25rem}.page-heading .secondary-button{margin-top:20px}.welcome-card{min-height:205px;padding:27px 24px}.house-illustration{position:absolute;right:-48px;bottom:-9px;transform:scale(.65);opacity:.45}.quick-grid{grid-template-columns:1fr}.section-heading{margin-top:38px}.bottom-grid{margin-top:30px}.module-page-heading{display:block}.module-count{display:inline-grid;justify-items:start;margin-top:24px}.module-list-item{grid-template-columns:35px 1fr 16px;gap:11px;padding:14px}.list-item-index{width:31px;height:31px;font-size:.62rem}.module-list-item p{white-space:normal}.module-next-step{align-items:flex-start;flex-wrap:wrap}.module-next-step a{width:100%;margin-left:32px}.module-alert{grid-template-columns:1fr}.module-alert button{grid-column:1;grid-row:auto;justify-self:start}.backdrop{position:fixed;z-index:9;inset:0;display:block;border:0;background:#0e1e305c}.sidebar.open+.backdrop{display:block}}
