:root{--accent: #23386e;--accent-strong: #1a2c58;--accent-ink: #23386e;--accent-soft: #eef1f8;--accent-line: #d8deec;--brand-warm: #c48b45;--brand-warm-soft: #faf4ec;--brand-warm-line: #e8d4bc;--bg: #f4f6f9;--surface: #ffffff;--surface-2: #fafbfc;--ink: #19223a;--ink-2: #3a4258;--muted: #6a7287;--faint: #99a0b0;--line: #e7eaf0;--line-2: #eef1f5;--debt: #b53a2f;--debt-ink: #8f2c23;--debt-soft: #fbeeec;--debt-line: #f0d2cd;--over: #1f7a4d;--over-ink: #186440;--over-soft: #e9f4ed;--over-line: #c8e4d3;--ok: #4a5570;--ok-soft: #eef1f5;--ok-line: #dde2ea;--r-xs: 8px;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(20, 30, 55, .05);--sh-2: 0 1px 3px rgba(20, 30, 55, .06), 0 10px 24px -16px rgba(20, 30, 55, .18);--sh-3: 0 2px 6px rgba(20, 30, 55, .07), 0 20px 44px -22px rgba(20, 30, 55, .26);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s7: 32px;--s8: 40px;--s9: 48px;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-num: ui-monospace, "SFMono-Regular", "Cascadia Mono", "Segoe UI Mono", monospace;--tap: 48px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font-ui);color:var(--ink-2);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh}img{max-width:100%;height:auto}a{color:inherit}button,input{font:inherit}.t-eyebrow{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.t-h1{font-size:24px;line-height:1.18;font-weight:800;color:var(--ink);letter-spacing:-.01em;margin:0}.t-h2{font-size:18px;line-height:1.25;font-weight:700;color:var(--ink);margin:0}.t-title{font-size:15px;line-height:1.3;font-weight:700;color:var(--ink);margin:0}.t-body{font-size:15px;line-height:1.5;color:var(--ink-2)}.t-meta{font-size:13px;line-height:1.45;color:var(--muted)}.t-small{font-size:12px;line-height:1.4;color:var(--muted)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.01em}.amount{font-family:var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap}.amount--hero{font-size:34px;font-weight:600;letter-spacing:-.02em;line-height:1}.amount--lg{font-size:22px;font-weight:600;letter-spacing:-.01em}.amount--md{font-size:16px;font-weight:600}.amount--debt{color:var(--debt)}.amount--over{color:var(--over)}.amount--neutral{color:var(--ink)}.amount--balance-row,.amount--balance-sub{color:var(--ink-2);font-weight:600}.amount--payment-col{color:var(--over);font-weight:600}.amount .cur{font-size:.62em;font-weight:600;color:var(--muted);margin-left:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1)}.card--pad{padding:var(--s5)}.card--flat{box-shadow:none}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s4)}.badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 8px;border-radius:var(--r-pill);font-size:12.5px;font-weight:700;letter-spacing:.01em;border:1px solid transparent;white-space:nowrap}.badge svg{width:14px;height:14px;flex:none}.badge--debt{background:var(--debt-soft);color:var(--debt-ink);border-color:var(--debt-line)}.badge--over,.badge--credit{background:var(--over-soft);color:var(--over-ink);border-color:var(--over-line)}.badge--ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.badge--neutral{background:var(--surface-2);color:var(--ink-2);border-color:var(--line)}.badge--accent{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-line)}.badge--sm{height:22px;font-size:11.5px;padding:0 9px 0 7px}.badge--sm svg{width:12px;height:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:var(--r-sm);border:1px solid transparent;font-family:var(--font-ui);font-size:15px;font-weight:700;cursor:pointer;transition:background .14s,border-color .14s,color .14s,transform .04s;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn svg{width:18px;height:18px;flex:none}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-strong)}.btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--sh-1)}.btn--secondary:hover{border-color:#cdd3df;background:var(--surface-2)}.btn--ghost{background:transparent;color:var(--accent-ink)}.btn--ghost:hover{background:var(--accent-soft)}.btn--block{width:100%}.btn--sm{min-height:38px;padding:0 13px;font-size:13.5px;border-radius:var(--r-xs)}.btn--lg{min-height:52px;font-size:16px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-xs);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:background .14s,border-color .14s}.icon-btn:hover{background:var(--surface-2);border-color:#cdd3df}.icon-btn svg{width:18px;height:18px}.link{color:var(--accent-ink);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;text-decoration:none}.link:hover{text-decoration:underline}.link svg{width:15px;height:15px}.copy-field{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 10px 10px 14px;margin-bottom:var(--s3)}.copy-field:last-of-type{margin-bottom:0}.copy-field .cf-main{flex:1 1 auto;min-width:0}.copy-field .cf-label{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.copy-field .cf-val{font-family:var(--font-num);font-size:15px;color:var(--ink);margin-top:2px;word-break:break-all}.copy-btn,.copy-button{display:inline-flex;align-items:center;gap:6px;flex:none;height:38px;padding:0 12px;border-radius:var(--r-xs);border:1px solid var(--accent-line);background:var(--surface);color:var(--accent-ink);font-family:var(--font-ui);font-size:13px;font-weight:700;cursor:pointer;transition:all .14s}.copy-btn:hover,.copy-button:hover{background:var(--accent-soft)}.copy-btn.ok,.copy-button.ok{background:var(--over-soft);border-color:var(--over-line);color:var(--over-ink)}.copy-btn svg{width:15px;height:15px}.alert{display:flex;gap:10px;padding:12px 14px;border-radius:var(--r-sm);font-size:13.5px;line-height:1.45;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2)}.alert svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--muted)}.alert--debt{background:var(--debt-soft);border-color:var(--debt-line);color:var(--debt-ink)}.alert--debt svg{color:var(--debt)}.alert--info{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.alert--info svg{color:var(--accent)}.empty{text-align:center;padding:var(--s8) var(--s5)}.empty-ic{width:56px;height:56px;border-radius:16px;margin:0 auto var(--s4);background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center}.empty-ic svg{width:26px;height:26px}.divider{height:1px;background:var(--line-2);border:none;margin:var(--s4) 0}.op-row{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--line-2);min-width:0}.op-row:first-child{border-top:none}.op-ic{width:38px;height:38px;border-radius:11px;flex:none;display:flex;align-items:center;justify-content:center}.op-ic svg{width:18px;height:18px}.op-ic--charge{background:var(--ok-soft);color:var(--ink)}.op-ic--pay{background:var(--over-soft);color:var(--over-ink)}.op-ic--corr{background:var(--accent-soft);color:var(--accent-ink)}.op-main{flex:1 1 auto;min-width:0}.op-desc{font-size:14.5px;font-weight:600;color:var(--ink);overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.op-meta{font-size:12.5px;color:var(--muted);margin-top:1px;display:flex;align-items:center;gap:8px}.op-amt{text-align:right;flex:none;min-width:0}@media(max-width:767px){.op-row{flex-wrap:wrap}.op-amt{width:100%;padding-left:calc(38px + var(--s3));text-align:left}}.op-balance-after{margin-top:2px}.operation-rows{display:flex;flex-direction:column}.ledger-snapshot-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.ledger-snapshot-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:14px}.ledger-snapshot-col--date{width:100px}.ledger-snapshot-col--operation{width:auto}.ledger-snapshot-col--charge,.ledger-snapshot-col--payment{width:100px}.ledger-snapshot-col--balance{width:130px}@media(min-width:768px){.ledger-snapshot-table thead th.ledger-snapshot__payment,.ledger-snapshot-table td.ledger-snapshot__payment{padding-right:12px}.ledger-snapshot-table thead th.ledger-snapshot__balance,.ledger-snapshot-table td.ledger-snapshot__balance{padding-left:28px}}.ledger-snapshot-table th,.ledger-snapshot-table td{padding:10px 8px;border-top:1px solid var(--line-2);vertical-align:top}.ledger-snapshot-table thead th{border-top:none;font-size:12px;font-weight:600;color:var(--muted);text-align:left}.ledger-snapshot-table thead th.r{text-align:right}.ledger-snapshot-table .td-num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.ledger-snapshot-table td.r.td-num{text-align:right;white-space:nowrap}.ledger-snapshot-table__operation{min-width:0;overflow-wrap:anywhere;font-weight:600;color:var(--ink)}.ledger-snapshot-table__subtitle{margin-top:2px;color:var(--muted)}.ledger-snapshot-mobile-list{display:none}@container app (max-width: 639px){.ledger-snapshot-table-wrap--desktop-only{display:none}.ledger-snapshot-mobile-list{display:flex;flex-direction:column;overflow-x:hidden}.ledger-snapshot-col--date{width:80px}.ledger-snapshot-col--charge,.ledger-snapshot-col--payment{width:82px}.ledger-snapshot-col--balance{width:102px}}.ledger-operation-card{padding:var(--s3) 0;border-top:1px solid var(--line-2)}.ledger-operation-card:first-child{border-top:none;padding-top:var(--s2)}.ledger-operation-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}.ledger-operation-card__date{font-size:13px;color:var(--muted);font-family:var(--font-num);font-variant-numeric:tabular-nums;flex-shrink:0}.ledger-operation-card__balance{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:700;font-size:15px;text-align:right}.ledger-operation-card__type{font-size:14.5px;font-weight:600;color:var(--ink);margin-top:3px}.ledger-operation-card__detail{font-size:13px;color:var(--muted);margin-top:1px;overflow-wrap:anywhere;word-break:break-word}.ledger-operation-card__amounts{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin-top:var(--s3)}.ledger-operation-card__amount{display:flex;flex-direction:column;gap:1px}.ledger-operation-card__label{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4) var(--s5)}.stat-label{font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:.02em}.stat-value{margin-top:6px}.ledger-stat-grid,.stat-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:var(--s5)}.stat-span{grid-column:1 / -1}@container app (min-width: 500px){.ledger-stat-grid,.stat-grid{grid-template-columns:repeat(3,1fr)}.stat-span{grid-column:auto}}.ledger{width:100%;border-collapse:collapse;font-size:14px}.ledger thead th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:10px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}.ledger thead th.r,.ledger td.r{text-align:right}.ledger tbody td{padding:13px 16px;border-bottom:1px solid var(--line-2);color:var(--ink-2);vertical-align:middle}.ledger tbody tr:hover td{background:var(--surface-2)}.ledger .td-num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.ledger tfoot td,.ledger tr.total td{font-weight:800;color:var(--ink);border-top:2px solid var(--line);background:var(--surface-2)}.ledger-row__desc{display:block;font-weight:600;color:var(--ink)}.ledger-row__chip{display:inline-block;margin-top:4px}.ledger-cell--payment{color:var(--over)}.ledger-cell--balance{font-weight:700;color:var(--ink)}@media(min-width:768px){.ledger-table-wrap .ledger{table-layout:fixed}.ledger-table-wrap .ledger thead th.ledger-cell--payment,.ledger-table-wrap .ledger td.ledger-cell--payment{width:8.75rem;padding-right:12px}.ledger-table-wrap .ledger thead th.ledger-cell--balance,.ledger-table-wrap .ledger td.ledger-cell--balance{width:10.5rem;padding-left:28px}}.ledger-table-wrap{overflow-x:auto}.ledger-table-card{overflow:hidden}.ledger-table-desktop{display:block}.ledger-table-mobile{display:none}@container app (max-width: 639px){.ledger-table-desktop{display:none}.ledger-table-mobile{display:block}}.ledger-mobile-cards{display:flex;flex-direction:column;gap:var(--s3)}.ledger-mobile-card{padding:var(--s4)}.ledger-mobile-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s2)}.ledger-mobile-card__desc{font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:var(--s3)}.ledger-mobile-card__amounts{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.ledger-mobile-card__balance{text-align:right}.ledger-page-header__back{margin-bottom:var(--s2)}.ledger-page-header__status{display:flex;align-items:center;gap:8px;margin-top:var(--s2)}.portal-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}.portal-body{display:flex;flex:1 1 auto;min-height:0}.portal-main-wrap{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;overflow-x:hidden}.portal-main{flex:1 1 auto;width:100%;min-width:0;margin:0;padding:var(--s4) var(--s4) calc(var(--s9) + var(--s4));overflow-x:hidden}.app-main{container-type:inline-size;container-name:app}@media(min-width:768px){.portal-main{padding:var(--s6) var(--s7) var(--s8)}}.portal-topbar--mobile{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:12px 14px;background:var(--surface);border-bottom:1px solid var(--line);flex:none}@media(min-width:768px){.portal-topbar--mobile{display:none}}.portal-topbar__brand-link{display:inline-flex;align-items:center;text-decoration:none}.portal-topbar__logo-img{display:block;height:28px;width:auto}.portal-topbar__actions{display:flex;align-items:center;gap:var(--s2)}.portal-topbar__avatar{width:36px;height:36px;border-radius:var(--r-pill);background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none}.portal-topbar__logout{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:var(--r-xs);padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;min-height:var(--tap)}.portal-topbar__logout:hover{background:var(--surface-2)}.portal-topbar__unit-switcher{padding:var(--s3) var(--s4) 0}.portal-topbar__unit-switcher--mobile-only{display:block}@media(min-width:768px){.portal-topbar__unit-switcher--mobile-only{display:none}}.portal-sidebar{display:none;width:232px;flex:none;background:var(--surface);border-right:1px solid var(--line);flex-direction:column;padding:20px 14px}@media(min-width:768px){.portal-sidebar{display:flex}}.portal-sidebar__brand{display:block;padding:4px 8px 22px;text-decoration:none}.portal-sidebar__logo-img{display:block;height:30px;width:auto}.portal-sidebar__nav{display:flex;flex-direction:column;gap:3px;flex:1 1 auto}.portal-sidebar__link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--r-sm);font-size:14.5px;font-weight:700;text-decoration:none;color:var(--ink-2);transition:background .14s,color .14s;min-height:var(--tap)}.portal-sidebar__link:hover{background:var(--surface-2)}.portal-sidebar__link:focus-visible{outline:2px solid color-mix(in srgb,var(--brand-warm) 55%,transparent);outline-offset:2px}.portal-sidebar__link.is-active{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 3px 0 0 var(--brand-warm)}.portal-sidebar__link svg{width:20px;height:20px;flex:none}.portal-sidebar__footer{margin-top:var(--s2);padding-top:var(--s3);border-top:1px solid var(--line)}.portal-sidebar__user{display:flex;align-items:center;gap:11px;padding:12px 10px}.portal-sidebar__avatar{width:38px;height:38px;border-radius:var(--r-pill);background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex:none}.portal-sidebar__user-meta{min-width:0}.portal-sidebar__user-name{display:block;font-size:14px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-sidebar__logout{display:block;width:100%;margin-top:var(--s2);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:var(--r-xs);padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;min-height:var(--tap);text-align:center}.portal-sidebar__logout:hover{background:var(--surface-2)}.portal-sidebar__logout:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.portal-bottom-nav{display:grid;border-top:1px solid var(--line);background:var(--surface);padding-bottom:6px;flex:none;position:sticky;bottom:0;z-index:20}@media(min-width:768px){.portal-bottom-nav{display:none}}.portal-bottom-nav__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 0 5px;min-height:var(--tap);text-decoration:none;color:var(--muted);font-size:11px;font-weight:600}.portal-bottom-nav__link svg{width:23px;height:23px}.portal-bottom-nav__link.is-active{color:var(--accent-ink);font-weight:800;box-shadow:inset 0 3px 0 var(--brand-warm)}.portal-sidebar__link.is-disabled,.portal-bottom-nav__link.is-disabled{cursor:not-allowed;opacity:.62;color:var(--muted);pointer-events:none}.portal-sidebar__link.is-disabled:hover,.portal-bottom-nav__link.is-disabled:hover{background:transparent}.owner-nav__label{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.owner-nav__badge{display:inline-block;padding:1px 6px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700;line-height:1.4;text-transform:lowercase}.portal-bottom-nav__link .owner-nav__badge{font-size:9px;padding:0 5px}.unit-context{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 14px;box-shadow:var(--sh-1);text-decoration:none;color:inherit;cursor:pointer;transition:border-color .14s,background .14s}.unit-context:hover{border-color:var(--accent-line);background:var(--accent-soft)}.unit-context--static{cursor:default}.unit-context--static:hover{border-color:var(--line);background:var(--surface)}.unit-context__mark{width:40px;height:40px;border-radius:10px;flex:none;background:var(--accent-soft);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center}.unit-context__mark svg{width:21px;height:21px}.unit-context__main{flex:1 1 auto;min-width:0}.unit-context__line{display:flex;align-items:center;gap:8px}.unit-context__line strong{color:var(--ink);font-size:15px}.unit-context__building{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-context__community{display:block;margin-top:1px}.unit-context__action{display:inline-flex;align-items:center;gap:5px;color:var(--accent-ink);font-weight:700;font-size:13px;flex:none}.unit-context__action svg{width:16px;height:16px}@media(min-width:768px){.unit-context{width:auto;padding:10px 14px}.unit-context__action-label{display:inline}}@media(max-width:767px){.unit-context__action-label{display:none}}.unit-switcher{margin-top:var(--s3)}.unit-switcher__label{margin:0 0 var(--s2)}.unit-switcher__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2)}.unit-switcher__pill{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);text-decoration:none;color:inherit;font-weight:700;font-size:14px}.unit-switcher__pill--active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.unit-switcher__community{font-size:12px;font-weight:600;color:var(--muted)}.unit-switcher__all{display:inline-flex;margin-top:var(--s3)}.unit-switcher__active-only{margin:var(--s2) 0 0}.balance-status-card{position:relative;overflow:hidden}.balance-status-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.balance-status-card--debt:before{background:color-mix(in srgb,var(--debt) 38%,var(--line))}.balance-status-card--debt-severe:before{background:color-mix(in srgb,var(--debt) 72%,var(--line))}.balance-status-card--credit:before{background:var(--over)}.balance-status-card--settled:before{background:var(--ok-line)}.balance-status-card__inner{padding:20px 20px 20px 22px}@media(min-width:768px){.balance-status-card__inner{padding:26px 28px 24px 30px}}.balance-status-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:14px}.balance-status-card__settled{font-size:28px;font-weight:800;color:var(--ink);margin:0;line-height:1.1}.balance-status-card__message{display:flex;align-items:center;gap:7px;margin:12px 0 0}.balance-status-card__message--muted{color:var(--muted)}.balance-status-card__saldo{margin:8px 0 0;color:var(--muted)}.balance-status-card__saldo .amount--balance-sub{color:var(--ink-2)}.balance-status-card__message svg{flex:none}.balance-status-card--debt .balance-status-card__message svg{color:var(--muted)}.balance-status-card--credit .balance-status-card__message svg{color:var(--over)}.balance-status-card--settled .balance-status-card__message svg{color:var(--ok)}.balance-status-card__cta{margin-top:18px}.balance-status-card__alert{margin-top:16px}.balance-status-card__alert--settled{background:var(--over-soft);border-color:var(--over-line);color:var(--over-ink)}.balance-status-card__alert--settled svg{color:var(--over)}.dashboard-page,.ledger-page,.documents-page,.units-page{width:100%;max-width:1440px;margin-left:0;margin-right:auto;min-width:0}.dashboard-page,.dashboard-header{display:flex;flex-direction:column;gap:var(--s4)}@media(min-width:768px){.dashboard-header{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:6px}}.dashboard-header__intro .t-meta{margin-top:4px}.fiscal-year-switcher{display:flex;align-items:center;justify-content:flex-start;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap}.fiscal-year-switcher__current{min-width:4.5rem;padding:8px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);font-weight:700;font-size:15px;text-align:center;color:var(--ink)}.fiscal-year-switcher__nav{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink-2);font-size:14px;font-weight:600;cursor:pointer;min-height:40px}.fiscal-year-switcher__nav:hover{background:var(--surface-2);color:var(--ink)}.fiscal-year-switcher__nav--placeholder{visibility:hidden;pointer-events:none;min-width:72px}.dashboard-header__context--desktop{display:none}@media(min-width:768px){.dashboard-header__context--desktop{display:block}}.dash-grid{display:grid;gap:20px;grid-template-columns:1fr;align-items:start;min-width:0}.dash-grid__left,.dash-grid__right,.dash-grid__full{min-width:0;display:flex;flex-direction:column;gap:var(--s5)}.dash-grid__full{grid-column:1 / -1}@container app (min-width: 760px){.dash-grid{grid-template-columns:minmax(0,1fr) 280px}}.skroty-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}@container app (max-width: 300px){.skroty-grid{grid-template-columns:1fr}}.dashboard-shortcuts__title{margin-bottom:var(--s3)}.dashboard-shortcuts__grid,.skroty-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}.shortcut-tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);padding:16px 15px;min-height:92px;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1);transition:border-color .14s,background .14s}.shortcut-tile:hover{border-color:var(--brand-warm-line);background:var(--brand-warm-soft)}.shortcut-tile__icon{width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center;flex:none}.shortcut-tile__icon svg{width:20px;height:20px}.shortcut-tile__label{font-size:14px;font-weight:700;color:var(--ink);line-height:1.25}.shortcut-tile:focus-visible{outline:2px solid color-mix(in srgb,var(--brand-warm) 55%,transparent);outline-offset:2px}.payment-card__stack{display:flex;flex-direction:column;gap:14px}.payment-card__row{display:flex;flex-direction:column;gap:4px}.payment-card__summary{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:var(--s4)}.payment-card__due{text-align:left}.payment-card__due-date{font-size:15px;font-weight:600;color:var(--ink);line-height:1.35}.payment-card__recipient{margin-top:var(--s4)}.payment-card__empty{margin:0}.payment-transfer{margin-top:18px}.payment-transfer__panel{display:grid;gap:var(--s4);margin-top:var(--s4);padding:var(--s4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}@media(min-width:768px){.payment-transfer__panel{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--s5)}}.payment-transfer__amount{margin-bottom:var(--s4)}.payment-transfer__no-amount{margin:0 0 var(--s4)}.payment-transfer__fields{margin:0 0 var(--s3)}.payment-transfer__field{margin:0}.payment-transfer__field dd{margin:4px 0 0}.payment-transfer__unit{margin:var(--s4) 0 0}.payment-transfer__qr-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s2);min-width:0}.payment-transfer__qr-img{display:block;max-width:min(200px,100%);height:auto}.payment-transfer__qr-caption{margin:0;text-align:center;max-width:16rem}.payment-transfer__qr-unavailable{display:flex;flex-direction:column;align-items:center;gap:var(--s2);padding:var(--s4);color:var(--muted);text-align:center;max-width:14rem}.payment-transfer__qr-unavailable p{margin:0}.ledger-page,.documents-page{display:flex;flex-direction:column;gap:var(--s4);container-type:inline-size;container-name:app}.page-header{margin-bottom:var(--s2)}.page-header .t-meta{margin-top:4px}.documents-teaser-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.documents-teaser-card--page{align-items:center;text-align:center;max-width:480px;margin-inline:auto}.documents-teaser-card__icon{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center;flex:none}.documents-teaser-card__title{margin:0}.documents-teaser-card__text{margin:0;font-size:13px;line-height:1.45;color:var(--muted);max-width:36rem}.documents-teaser-card__link{margin-top:var(--s1)}.documents-section .documents-teaser{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);padding:var(--s2) 0}.documents-section .empty-ic{width:48px;height:48px;border-radius:12px;margin:0}.documents-section .documents-placeholder{margin:0;max-width:36rem}.documents-placeholder{margin:0}.documents-future-slots{display:flex;flex-direction:column;gap:var(--s2);width:100%}.documents-future-slots__item{padding:10px 12px;border-radius:var(--r-sm);border:1px dashed var(--line);background:var(--surface-2);font-size:13px;color:var(--muted)}.documents-placeholder-card{text-align:center}.documents-placeholder-card__title{margin:var(--s3) 0 var(--s2)}.documents-placeholder-card__message{max-width:420px;margin:0 auto var(--s4)}.document-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2)}.document-list__item{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) 0;border-top:1px solid var(--line-2)}.document-list__item:first-child{border-top:none;padding-top:0}.document-list__icon{width:38px;height:38px;border-radius:11px;flex:none;background:var(--accent-soft);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center}.document-list__icon svg{width:18px;height:18px}.document-list__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.document-list__title{font-size:14.5px;font-weight:700;color:var(--ink)}.document-card{display:flex;align-items:center;gap:13px;padding:14px 16px;margin-bottom:var(--s3)}.document-card__head{display:flex;align-items:center;gap:13px;flex:1 1 auto;min-width:0}.document-card__icon{width:42px;height:42px;border-radius:11px;flex:none;background:var(--accent-soft);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center}.document-card__icon svg{width:21px;height:21px}.document-card__meta{display:flex;align-items:center;gap:8px;margin-top:2px}.document-card__download{flex:none}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--s5);background:var(--bg)}.login-page__card{width:100%;max-width:420px;padding:var(--s6)}.login-page__brand{margin:0 0 var(--s2);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}.login-page__card h1{margin:0 0 var(--s5);font-size:22px;font-weight:800;color:var(--ink)}.login-page form{display:flex;flex-direction:column;gap:var(--s3)}.login-page label{font-size:13px;font-weight:700;color:var(--ink-2)}.login-page input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}.login-page input:focus{outline:2px solid var(--accent-line);outline-offset:1px}.login-page button[type=submit]{margin-top:var(--s2);min-height:var(--tap);border:none;border-radius:var(--r-sm);background:var(--accent);color:#fff;font-weight:700;font-size:15px;cursor:pointer}.login-page button[type=submit]:hover:not(:disabled){background:var(--accent-strong)}.login-page button[type=submit]:disabled{opacity:.7;cursor:not-allowed}.banner{margin:var(--s4) 0 0;padding:12px 14px;border-radius:var(--r-sm);font-size:13.5px;line-height:1.45}.banner--error{background:var(--debt-soft);border:1px solid var(--debt-line);color:var(--debt-ink)}.admin-preview-banner{margin:0 0 var(--s4);background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-ink);font-weight:500}.state-panel{max-width:520px;margin:var(--s7) auto;padding:var(--s6);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1);text-align:center}.state-panel__title{margin:0 0 var(--s2);font-size:18px;font-weight:700;color:var(--ink)}.state-panel__message{margin:0;color:var(--ink-2)}.state-panel__action{margin-top:var(--s4)}.state-panel--error{border-color:var(--debt-line);background:var(--debt-soft)}.state-panel--error .state-panel__title{color:var(--debt-ink)}.state-panel--loading{color:var(--muted)}.units-page{display:flex;flex-direction:column;gap:var(--s4)}.units-page .page-header h1{margin:0;font-size:24px;font-weight:800;color:var(--ink)}.units-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s3)}.unit-card{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s5);text-decoration:none;color:inherit;transition:border-color .14s,background .14s}.unit-card:hover{border-color:var(--accent-line);background:var(--accent-soft)}.unit-card__title{margin:0 0 4px;font-size:17px;font-weight:800;color:var(--ink)}.unit-card__community{margin:0;font-size:14px;color:var(--ink-2)}.unit-card__building{margin:4px 0 0}.unit-card__cta{flex:none;font-size:14px;font-weight:700;color:var(--accent-ink)}.muted{color:var(--muted)}.mono{font-family:var(--font-num);font-variant-numeric:tabular-nums}.text-link{color:var(--accent-ink);font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.card-title,.card-header{font-size:15px;font-weight:700;color:var(--ink);margin:0 0 var(--s3)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s3)}.detail-list{list-style:none;margin:0;padding:0}.detail-list li{display:flex;justify-content:space-between;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line-2);font-size:14px}.detail-list li:last-child{border-bottom:none}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:700;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}.status-pill--debt{background:var(--debt-soft);border-color:var(--debt-line);color:var(--debt-ink)}.status-pill--credit{background:var(--over-soft);border-color:var(--over-line);color:var(--over-ink)}.status-pill--settled{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok)}.sk{background:linear-gradient(90deg,#eef0f4 25%,#e4e7ee 37%,#eef0f4 63%);background-size:400% 100%;animation:sk 1.4s ease infinite;border-radius:6px}@keyframes sk{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.sk{animation:none}.btn:active{transform:none}}.contact-profile-page{display:flex;flex-direction:column;gap:var(--s4);max-width:760px;margin-inline:auto;width:100%}.contact-profile-page__header{text-align:left}.contact-profile-grid{display:grid;gap:var(--s4);grid-template-columns:1fr}.contact-profile-grid__span{grid-column:1 / -1}@container app (min-width: 640px){.contact-profile-grid{grid-template-columns:1fr 1fr}}.contact-profile-section--flat{box-shadow:0 1px 2px #141e3708}.contact-profile-section__title{margin:0 0 var(--s2);font-size:1rem;font-weight:700}.contact-profile-section__value{margin:0 0 var(--s2);font-size:1.05rem;word-break:break-word}.contact-profile-section__hint,.contact-profile-form__hint{margin:0 0 var(--s3);font-size:13.5px;color:var(--muted);line-height:1.45}.contact-profile-section__pending{margin:0 0 var(--s3);font-size:13.5px;color:var(--ink)}.contact-profile-form{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s2)}.contact-profile-form label{font-size:13px;font-weight:600;color:var(--muted)}.contact-profile-form input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);font:inherit;background:var(--surface)}.contact-profile-form input:focus{outline:2px solid color-mix(in srgb,var(--brand-warm) 45%,transparent);border-color:var(--brand-warm);outline-offset:1px}.contact-profile-form button[type=submit]{align-self:flex-start;margin-top:var(--s1);min-height:44px;padding:10px 16px;border:none;border-radius:var(--r-sm);background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}.contact-profile-form button[type=submit]:hover:not(:disabled){filter:brightness(1.05)}.contact-profile-form button[type=submit]:disabled{opacity:.65;cursor:not-allowed}.contact-profile-form .banner{margin:var(--s2) 0 0}
