:root{--color-bg:#f7f8fa;--color-surface:#fff;--color-surface-subtle:#eef2f4;--color-text:#202d3a;--color-text-secondary:#52616e;--color-text-muted:#626f7b;--color-border:#dce2e6;--color-border-strong:#8996a1;--color-primary:#16635b;--color-primary-hover:#104b45;--color-primary-subtle:#eaf3f0;--color-positive:#236749;--color-positive-subtle:#edf5ef;--color-negative:#a33830;--color-negative-subtle:#fff0ee;--color-debt:#a33830;--color-debt-hover:#862c26;--color-debt-subtle:#fff0ee;--color-debt-border:#e7b4af;--color-collection:#236749;--color-collection-hover:#1b5139;--color-collection-subtle:#edf5ef;--color-danger:#ac3028;--color-focus:#176b9b;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-control:8px;--radius-surface:12px;--radius-large:16px;--radius-pill:999px}*{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.45;text-size-adjust:100%}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a,button,summary{touch-action:manipulation}button,input,summary,textarea{max-width:100%}button:disabled{cursor:not-allowed;opacity:.6}input:disabled,textarea:disabled{opacity:.75}:is(a,button,input,textarea,summary):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}h1,h2,h3,p{overflow-wrap:anywhere}h2{font-size:20px}h2,h3{font-weight:600}h3{font-size:17px}label,legend{font-weight:500}strong{font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:16px;z-index:50;transform:translateY(-150%);padding:12px 16px;background:var(--color-surface);border:2px solid var(--color-focus);border-radius:var(--radius-control)}.skip-link:focus{transform:translateY(0)}.ledger-shell,.login-page{min-height:100dvh;min-width:0}.ledger-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:56px;padding:max(4px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right),calc((100% - 960px) / 2)) 4px max(20px,env(safe-area-inset-left),calc((100% - 960px) / 2));border-bottom:1px solid var(--color-border);background:var(--color-surface)}.ledger-brand{font-size:18px;font-weight:700;letter-spacing:-.4px}.ledger-topbar a,.ledger-topbar button{display:inline-flex;align-items:center;min-height:44px}.ledger-topbar button{background:transparent;border:0;border-radius:var(--radius-control);padding:8px;color:var(--color-text-secondary);font-size:14px}.ledger-topbar button:hover{background:var(--color-surface-subtle)}.main{min-width:0;padding:28px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.firms-page,.ledger-page{width:100%;max-width:960px;min-width:0;margin:0 auto;overflow-wrap:anywhere}.ledger-page{max-width:760px}.ledger-form-page{max-width:560px}.title{margin:0;font-size:clamp(23px,3vw,28px);font-weight:650;line-height:1.25;letter-spacing:-.5px}.page-subtitle{margin:4px 0 0;color:var(--color-text-secondary);font-size:14px}.eyebrow,.metric-label,.muted{color:var(--color-text-muted)}.eyebrow{margin:0 0 8px;font-size:14px}.positive,.success{color:var(--color-positive)}.negative{color:var(--color-negative)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;gap:8px;padding:10px 14px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--color-primary);color:#fff;font-size:15px;font-weight:600;line-height:1.4;text-align:center}.button:hover{background:var(--color-primary-hover)}.button:active{filter:brightness(.94)}.button.secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.button.secondary:hover{background:var(--color-surface-subtle)}.button.danger-subtle,.button.debt-action{color:var(--color-debt);background:var(--color-debt-subtle);border-color:var(--color-debt-border)}.button.danger-subtle:hover,.button.debt-action:hover{color:var(--color-debt-hover);background:#fbe1dc;border-color:var(--color-debt)}.button.collection-action{background:var(--color-collection);color:#fff}.button.collection-action:hover{background:var(--color-collection-hover)}.button.debt-save{background:var(--color-debt);color:#fff}.button.debt-save:hover{background:var(--color-debt-hover)}.button.danger{background:var(--color-danger);color:#fff}.button.danger:hover{background:#87251f}.text-button{background:transparent;color:var(--color-primary);border:0;text-decoration:underline;min-height:48px;padding:8px}.input{width:100%;min-width:0;min-height:44px;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);padding:9px 12px;font-size:16px;font-weight:400;background:var(--color-surface);color:var(--color-text)}.input::placeholder{color:var(--color-text-muted);opacity:1}.input:hover{border-color:var(--color-text-secondary)}.input[aria-invalid=true]{border-color:var(--color-danger)}textarea{resize:vertical}.connection-notice,.error,.feedback{padding:12px 16px;border-radius:var(--radius-control);border:1px solid var(--color-border);overflow-wrap:anywhere}.error{color:var(--color-danger);background:var(--color-negative-subtle);border-color:#e7b4af}.error .button{margin:8px 0 0 8px}.feedback{position:fixed;z-index:30;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 32px);margin:0;padding:0 4px 0 14px;border-color:#c6dacd;background:var(--color-positive-subtle);box-shadow:0 3px 12px #202d3a12;font-size:14px}.connection-notice{max-width:960px;margin:0 auto 24px;background:var(--color-surface-subtle)}.firms-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4);margin-bottom:20px}.firms-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-5);gap:var(--space-5);margin:0 0 20px;padding:16px 0;border-block:1px solid var(--color-border)}.firms-summary>div+div{border-left:1px solid var(--color-border);padding-left:var(--space-5)}.firms-summary dt{font-size:14px;color:var(--color-text-secondary)}.firms-summary dd{margin:4px 0 0;font-size:clamp(18px,3vw,24px);font-weight:700;line-height:1.3}.firms-search{margin:16px 0 8px}.search-field{position:relative}.search-field svg{position:absolute;left:14px;top:12px;color:var(--color-text-muted);pointer-events:none}.search-field .input{padding-left:44px}.firm-create{display:grid;grid-gap:var(--space-4);gap:var(--space-4);max-width:560px;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.firm-create h2{margin:0}.firm-create .input{display:block;margin-top:8px}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3)}.firm-list,.ledger-history,.ledger-picker{list-style:none;padding:0;margin:0}.firm-list li{border-bottom:1px solid var(--color-border)}.firm-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:14px 8px;min-height:72px}.firm-link:hover{background:var(--color-surface-subtle)}.firm-link:focus-visible{outline-offset:-3px;border-radius:var(--radius-control)}.firm-balance,.firm-identity{display:flex;flex-direction:column;gap:4px;min-width:0}.firm-identity strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:17px;font-weight:600}.firm-balance{text-align:right}.firm-balance strong{font-size:16px}.firm-balance>span,.firm-identity>span{font-size:13px}.firm-balance>span{color:var(--color-text-secondary)}.amount-field input,.balance-preview dd,.firm-balance,.firms-summary dd,.ledger-balance strong,.ledger-row strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ledger-back{display:inline-flex;align-items:center;min-height:48px;margin-bottom:16px;color:var(--color-text-secondary)}.ledger-back:hover{color:var(--color-primary);text-decoration:underline}.ledger-balance{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:4px 8px;gap:4px 8px;margin:16px 0;padding:0}.ledger-balance>span:first-child{font-size:12px;color:var(--color-text-secondary)}.ledger-balance strong{grid-column:1/-1;font-size:clamp(28px,4vw,34px);line-height:1.2;letter-spacing:-.7px}.due-split{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:6px 0 0}.due-split>div{padding:8px 12px;border-radius:10px;border-left:3px solid}.due-split dt{font-size:12px;color:var(--color-text-secondary)}.due-split small{display:block;font-size:11px;color:var(--color-text-muted)}.due-split dd{margin:2px 0 0;font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.due-split .is-overdue{border-color:var(--color-debt);background:var(--color-debt-subtle)}.due-split .is-overdue dd{color:var(--color-debt)}.due-split .is-upcoming{border-color:#c98a1b;background:#fdf6e8}.due-split .is-upcoming dd{color:#8a5a07}.balance-state{font-size:12px;color:var(--color-text-secondary)}.ledger-actions,.ledger-directions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.movement-action{flex-direction:column;gap:4px}#history-title{position:absolute;top:11px;left:0;margin:0;font-size:17px;font-weight:650}.ledger-filter{margin:0}.ledger-filter summary{display:flex;align-items:center;justify-content:center;gap:6px;width:-moz-fit-content;width:fit-content;min-height:44px;margin-left:auto;padding:8px 10px;border-radius:var(--radius-control);font-size:14px;color:var(--color-text-secondary);cursor:pointer;list-style:none}.ledger-filter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:8px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.ledger-filter-fields label{display:block;min-width:0;font-size:13px;color:var(--color-text-secondary)}.ledger-filter-fields input{display:block;margin-top:4px}.ledger-filter-fields button{grid-column:1/-1;justify-self:start;padding-block:0;margin:-4px 0;min-height:44px;font-size:13px}.ledger-history>li{position:relative;padding:10px 0;border-bottom:1px solid var(--color-border)}.date-group{margin:6px 0 12px;color:var(--color-text-muted);font-size:12px;font-weight:500}.ledger-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px 12px}.ledger-row>*{min-width:0}.ledger-row time{color:var(--color-text);font-size:14px;font-weight:500}.ledger-row strong{text-align:right;font-size:16px;font-weight:600}.movement-note{margin:3px 0 0;white-space:pre-wrap;color:var(--color-text-secondary);font-size:13px}.movement-options{margin:0}.movement-options>summary{position:absolute;top:0;right:-4px;display:flex;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-control);color:var(--color-text-secondary);letter-spacing:2px;list-style:none}.movement-options>summary::-webkit-details-marker{display:none}.movement-options>summary:hover,.movement-options[open]>summary{background:var(--color-surface-subtle)}.ledger-row-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3)}.ledger-delete-confirm{padding:var(--space-4);border:1px solid var(--color-debt-border);border-radius:var(--radius-control);background:var(--color-debt-subtle)}.ledger-delete-confirm p{margin:0 0 16px}.ledger-firm-name{margin:12px 0 20px;color:var(--color-text-secondary);font-size:16px;font-weight:500}.ledger-firm-name>span{font-size:14px}.ledger-firm-name h2{margin:4px 0 0;font-size:16px;font-weight:500}.ledger-form fieldset{border:0;padding:0;margin:0;min-width:0}.ledger-form legend{margin-bottom:12px}.ledger-form fieldset>label{display:block;margin:16px 0;font-size:14px}.ledger-form .input{display:block;margin-top:6px}.ledger-directions label{display:flex;justify-content:center;align-items:center;gap:8px;min-height:44px;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;font-size:14px}.ledger-directions label:has(input[value=debit]){--operation-color:var(--color-debt);--operation-subtle:var(--color-debt-subtle)}.ledger-directions label:has(input[value=credit]){--operation-color:var(--color-collection);--operation-subtle:var(--color-collection-subtle)}.ledger-directions label:has(input:checked){border:2px solid var(--operation-color);background:var(--operation-subtle);color:var(--operation-color);font-weight:600}.ledger-directions input{width:18px;height:18px;accent-color:var(--operation-color)}.ledger-form .muted{font-size:14px}.amount-field{display:block;position:relative}.ledger-form .amount-field input{padding:10px 52px 10px 12px;font-size:28px;font-weight:600}.amount-field>span{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary)}.balance-preview{margin:16px 0;padding:12px;background:var(--color-primary-subtle);border-radius:var(--radius-control);font-size:14px}.balance-preview[data-operation=debt]{background:var(--color-debt-subtle)}.balance-preview[data-operation=collection]{background:var(--color-collection-subtle)}.balance-preview[data-operation=debt] output strong{color:var(--color-debt)}.balance-preview[data-operation=collection] output strong{color:var(--color-collection)}.balance-preview dl{margin:0;display:grid;grid-gap:8px;gap:8px}.balance-preview dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px}.balance-preview dt{color:var(--color-text-secondary)}.balance-preview dd{margin:0}.balance-preview output{display:flex;flex-direction:column}.balance-preview output span{font-size:14px}.balance-preview p{margin:10px 0 0;font-size:12px}.ledger-save{position:-webkit-sticky;position:sticky;bottom:0;padding:8px 0 max(8px,env(safe-area-inset-bottom));background:var(--color-bg);border-top:1px solid var(--color-border)}.ledger-save .button{width:100%}.ledger-form input,.ledger-form textarea{scroll-margin-bottom:100px}.ledger-picker{display:grid;grid-gap:8px;gap:8px;margin:16px 0}.ledger-picker .button{width:100%}.empty-state{padding:32px 16px;text-align:center}.empty-state :is(h2,h3){margin:0 0 8px}.empty-state p{margin:0 0 20px}.skeleton-row{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:88px;border-bottom:1px solid var(--color-border)}.skeleton-row span{width:40%;height:18px;border-radius:4px;background:var(--color-border)}.skeleton-row span+span{width:25%}.login-page{display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.login-card{width:min(420px,100%);min-width:0;padding:32px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.login-card .title{margin-bottom:24px}.form{display:grid;grid-gap:16px;gap:16px}.login-card .input{margin-top:8px}.session-note{margin:-2px 0 0;color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}@media (max-width:600px){.main{padding-top:12px;padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}.firms-heading,.firms-summary{margin-bottom:16px}.firms-summary{gap:12px}.firms-summary>div+div{padding-left:12px}.firm-link{padding:12px 0;gap:12px}.firm-balance strong,.firm-identity strong{font-size:16px}.firm-create{padding:16px}.ledger-topbar{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}}@media (max-width:380px){.ledger-filter-fields{grid-template-columns:1fr}.movement-action{padding-inline:8px}}.input[type=date]{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:block;width:100%;min-width:0;max-width:100%;min-inline-size:0;inline-size:100%}.input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}.input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}.topbar-back{gap:8px;font-size:15px;font-weight:500}.topbar-back>span{font-size:20px}.feedback button{display:grid;place-items:center;width:44px;min-height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font-size:22px}.firm-overview{padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.firm-detail-heading .title{font-size:23px}.firm-detail-heading p{margin:4px 0 0;font-size:13px}.history-toolbar{position:relative;margin:16px 0 4px}.ledger-filter summary::-webkit-details-marker{display:none}.ledger-filter summary:hover,.ledger-filter[open] summary{background:var(--color-surface-subtle)}.filter-indicator{width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.active-filter{display:grid;grid-gap:4px;gap:4px;margin:8px 0;color:var(--color-text-secondary);font-size:12px}.active-filter strong{font-weight:500}.movement-body{position:relative;min-height:44px}.movement-copy{min-height:44px;padding:2px 44px 2px 0}.movement-options[open]>.ledger-delete-confirm,.movement-options[open]>.ledger-row-actions{margin-top:10px}@media (max-width:600px){.firm-overview{padding:16px}.firm-detail-heading .title{font-size:22px}.ledger-balance strong{font-size:30px}.ledger-actions{gap:8px}.ledger-detail-page .ledger-row strong{font-size:15px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media (forced-colors:active){.ledger-directions label:has(input:checked){outline:2px solid Highlight}}.ledger-topbar nav{display:flex;align-items:center;gap:12px}.firm-toolbar{align-items:center;justify-content:space-between;gap:10px;margin:4px 0 14px}.firm-chips,.firm-toolbar{display:flex;flex-wrap:wrap}.firm-chips{gap:8px}.firm-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 16px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.firm-chip:hover{border-color:var(--color-border-strong);color:var(--color-text)}.firm-chip-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:inherit}.firm-chip[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:0 2px 8px rgb(22 99 91/.22)}.firm-chip[aria-pressed=true] .firm-chip-count{background:rgb(255 255 255/.2);color:#fff}.firm-chip-debt[aria-pressed=true]{border-color:var(--color-debt);background:var(--color-debt);box-shadow:0 2px 8px rgb(163 56 48/.22)}.firm-chip-credit[aria-pressed=true]{border-color:var(--color-positive);background:var(--color-positive);box-shadow:0 2px 8px rgb(35 103 73/.22)}.firm-sort{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--color-text-secondary)}.firm-sort select{min-height:44px;padding:0 30px 0 10px;border:1px solid transparent;border-radius:var(--radius-control);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2352616e' stroke-width='2.4'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;color:var(--color-text);font:inherit;font-size:14px;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.firm-sort select:focus-visible,.firm-sort select:hover{border-color:var(--color-border);background-color:var(--color-surface)}@media (max-width:540px){.firm-chips{display:grid;grid-template-columns:1fr 1fr;width:100%}.firm-chip{justify-content:space-between}.firm-sort{margin-left:auto}}@media (forced-colors:active){.firm-chip[aria-pressed=true]{outline:2px solid Highlight}}.firms-summary-debt{background:var(--color-negative-subtle);border-radius:var(--radius-control);padding:10px 12px}.firms-summary .firms-summary-debt dd,.firms-summary .firms-summary-debt dt{color:var(--color-negative)}.firms-summary>div{align-content:center}select{font:inherit;max-width:100%}select:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.topbar-section{display:inline-flex;align-items:center;min-height:44px;padding:8px 10px;border-radius:var(--radius-control);font-size:14px;font-weight:600;color:var(--color-primary);text-decoration:none}.topbar-section:hover{background:var(--color-primary-subtle)}.topbar-logout svg{display:none}@media (max-width:400px){.topbar-logout svg{display:block}.topbar-logout-label{display:none}.ledger-topbar .topbar-logout{width:36px;padding:0;justify-content:center}.ledger-topbar .app-switch svg{display:none}.ledger-topbar .app-switch{padding:0 11px}}.app-switching{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:rgb(247 248 250/.82);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:app-switching-in .16s ease-out both}.app-switching-card{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:220px;padding:28px 32px 24px;border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);box-shadow:0 12px 32px rgb(32 45 58/.12);text-align:center;animation:app-switching-card-in .22s cubic-bezier(.2,.8,.2,1) both}.app-switching-card strong{margin-top:10px;font-size:17px;font-weight:650;color:var(--color-text)}.app-switching-card>span:last-child{font-size:14px;color:var(--color-text-secondary)}.app-switching-spinner{width:40px;height:40px;border-radius:50%;border:3px solid var(--color-primary-subtle);border-top-color:var(--color-primary);animation:app-switching-spin .8s linear infinite}.ledger-topbar .app-switch[aria-busy=true]{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary)}@keyframes app-switching-spin{to{transform:rotate(1turn)}}@keyframes app-switching-in{0%{opacity:0}}@keyframes app-switching-card-in{0%{opacity:0;transform:translateY(6px) scale(.98)}}@media (prefers-reduced-motion:reduce){.app-switching,.app-switching-card{animation:none}.app-switching-spinner{animation-duration:1.6s}}.ledger-topbar .app-switch{gap:7px;min-height:40px;padding:0 13px 0 11px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font-size:14px;font-weight:600;white-space:nowrap;transition:border-color .15s ease,background .15s ease,color .15s ease}.ledger-topbar .app-switch svg{color:var(--color-primary);flex:none}.ledger-topbar .app-switch:hover{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary)}@media (max-width:600px){.app-switch-long{display:none}.ledger-topbar nav{gap:2px}.ledger-topbar .topbar-section{padding-inline:8px}}@media (max-width:430px){.ledger-topbar{gap:8px}.ledger-brand{font-size:16px}.ledger-topbar nav{gap:0}.ledger-topbar .topbar-section{padding-inline:6px;font-size:13.5px}.ledger-topbar .app-switch{gap:5px;padding:0 9px 0 8px;font-size:13.5px;margin-inline:2px}.ledger-topbar .app-switch svg{width:14px;height:14px}.ledger-topbar nav>button{padding-inline:6px;font-size:13.5px}}.reminder-banner{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:14px 16px;border:1px solid #cfe3dc;border-radius:var(--radius-surface);background:linear-gradient(120deg,#eaf3f0,#f4faf7);color:var(--color-text);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.reminder-banner:hover{transform:translateY(-1px);border-color:var(--color-primary);box-shadow:0 6px 18px rgb(22 99 91/.12)}.reminder-banner>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.reminder-banner strong{font-size:15px}.reminder-banner>span:nth-child(2)>span{font-size:13px;color:var(--color-text-secondary)}.reminder-banner-icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--color-primary);color:#fff;box-shadow:0 3px 10px rgb(22 99 91/.25)}.reminder-banner-go{display:grid;color:var(--color-primary);transition:transform .15s ease}.reminder-banner:hover .reminder-banner-go{transform:translateX(3px)}.reminders-page{max-width:760px;margin:0 auto}.reminders-hero .eyebrow{color:var(--color-primary);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.reminder-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin:20px 0;padding:0;list-style:none}.reminder-steps li{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);font-size:13px;line-height:1.4;color:var(--color-text-secondary)}.reminder-steps b{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--color-primary-subtle);color:var(--color-primary);font-size:13px}.reminder-steps strong{color:var(--color-text)}.reminder-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f8f62,#25d366);transition:width .4s cubic-bezier(.2,.8,.2,1)}.reminder-progress{display:grid;grid-gap:10px;gap:10px;margin:0 0 14px;padding:14px 16px;border-radius:var(--radius-surface);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 1px 2px rgb(32 45 58/.04)}.reminder-progress-count{display:flex;align-items:baseline;gap:8px}.reminder-progress-count strong{font-size:22px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.3px}.reminder-progress-count span{font-size:13px;color:var(--color-text-secondary)}.reminder-bar{height:8px;border-radius:var(--radius-pill);background:var(--color-surface-subtle);overflow:hidden}.reminder-totals{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:0}.reminder-totals>div{padding:8px 10px;border-radius:10px;border-left:3px solid}.reminder-totals dt{font-size:12px;color:var(--color-text-secondary)}.reminder-totals small{font-size:11px;color:var(--color-text-muted)}.reminder-totals dd{margin:2px 0 0;font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reminder-totals .is-overdue{border-color:var(--color-debt);background:var(--color-debt-subtle)}.reminder-totals .is-overdue dd{color:var(--color-debt)}.reminder-totals .is-upcoming{border-color:#c98a1b;background:#fdf6e8}.reminder-totals .is-upcoming dd{color:#8a5a07}.reminder-tabs{display:flex;gap:4px;margin:0 0 12px;padding:4px;border-radius:var(--radius-pill);background:var(--color-surface-subtle)}.reminder-tabs button{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 10px;border:0;border-radius:var(--radius-pill);background:none;color:var(--color-text-secondary);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.reminder-tabs button span{min-width:22px;padding:1px 7px;border-radius:var(--radius-pill);background:rgb(32 45 58/.08);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reminder-tabs button[aria-selected=true]{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 4px rgb(32 45 58/.12)}.reminder-tabs button[aria-selected=true] span{background:var(--color-primary);color:#fff}.reminder-row{position:relative;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);box-shadow:0 1px 2px rgb(32 45 58/.04);transition:background .25s ease,border-color .25s ease,padding .25s ease;animation:reminder-in .25s ease}.reminder-row.is-next{border-color:#1f8f62;box-shadow:0 0 0 3px rgb(31 143 98/.12),0 6px 18px rgb(31 143 98/.08)}.reminder-next-badge{position:absolute;top:-10px;left:14px;padding:2px 10px;border-radius:var(--radius-pill);background:#1f8f62;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.reminder-row.is-sent{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;background:#f6faf8;border-color:#d5e7de;box-shadow:none}.reminder-sent-check{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--color-positive);color:#fff;animation:reminder-pop .3s cubic-bezier(.2,1.4,.4,1)}.reminder-sent-who{display:flex;flex-direction:column;min-width:0;flex:1 1}.reminder-sent-who strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reminder-sent-who span{font-size:12px;color:var(--color-positive)}.reminder-sent-actions{display:flex;gap:6px;flex-shrink:0}.reminder-mini{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);font:inherit;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer}.reminder-mini:hover{border-color:var(--color-border-strong);color:var(--color-text)}.reminder-mini.is-undo{color:var(--color-primary);border-color:#b9d6cd}.reminder-amount{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.reminder-amount strong{font-size:18px;color:var(--color-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reminder-tag{padding:1px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:600}.reminder-tag.is-overdue{background:var(--color-debt-subtle);color:var(--color-debt)}.reminder-tag.is-upcoming{background:#fdf6e8;color:#8a5a07}.reminder-split{display:grid;grid-gap:2px;gap:2px;margin:0;font-size:12px}.reminder-split>div{display:flex;justify-content:flex-end;gap:8px}.reminder-split dt{color:var(--color-text-muted)}.reminder-split dd{margin:0;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reminder-split .is-overdue dd{color:var(--color-debt)}.reminder-split .is-upcoming dd{color:#8a5a07}.reminder-empty{padding:20px;text-align:center;color:var(--color-text-secondary)}.reminder-undo{position:fixed;left:50%;bottom:20px;z-index:40;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 32px);padding:8px 8px 8px 14px;border-radius:14px;background:#1d2a35;color:#fff;font-size:14px;box-shadow:0 10px 30px rgb(0 0 0/.25);transform:translateX(-50%);animation:reminder-toast .25s ease}.reminder-undo svg{color:#5fd49b;flex-shrink:0}.reminder-undo span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reminder-undo button{flex-shrink:0;min-height:36px;padding:0 14px;border:0;border-radius:10px;background:rgb(255 255 255/.12);color:#8fe3b8;font:inherit;font-weight:700;cursor:pointer}.reminder-undo button:hover{background:rgb(255 255 255/.2)}@keyframes reminder-in{0%{opacity:.4}to{opacity:1}}@keyframes reminder-pop{0%{transform:scale(.4)}to{transform:scale(1)}}@keyframes reminder-toast{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:767px){.has-tabbar .reminder-undo{bottom:calc(76px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.reminder-row,.reminder-sent-check,.reminder-undo{animation:none}}.reminder-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.reminder-head{justify-content:space-between;gap:12px}.reminder-head,.reminder-who{display:flex;align-items:flex-start}.reminder-who{flex-direction:column;gap:2px;min-width:0}.reminder-who strong{font-size:16px;overflow-wrap:anywhere}.reminder-phone{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 0;border:0;background:none;color:var(--color-primary);font:inherit;font-size:13px;cursor:pointer}.reminder-phone:hover{text-decoration:underline}.reminder-phone-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.reminder-phone-form .input{width:180px}.reminder-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.reminder-actions .text-button{min-height:40px;font-size:14px}.whatsapp-button{background:#1f8f62;color:#fff;text-decoration:none;font-weight:600;box-shadow:0 2px 8px rgb(31 143 98/.28)}.whatsapp-button:hover{background:#18764f}.reminder-more{margin-top:10px;border-top:1px dashed var(--color-border);padding-top:6px}.reminder-more summary{min-height:36px;display:flex;align-items:center;font-size:13px;color:var(--color-text-secondary);cursor:pointer}.reminder-preview{margin:6px 0 4px;padding:12px 14px;border-radius:12px 12px 12px 4px;background:#e7f6ee;font:inherit;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.reminder-links{display:flex;flex-wrap:wrap;gap:4px 12px}.reminder-links .text-button{display:inline-flex;align-items:center;gap:5px;min-height:40px;font-size:13px}.reminder-all-done{display:flex;align-items:center;gap:8px;padding:14px 16px;border-radius:var(--radius-surface);background:var(--color-positive-subtle);color:var(--color-positive);font-weight:600}@media (max-width:600px){.reminder-steps{grid-template-columns:1fr;gap:0;margin:16px 0;padding:4px 12px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.reminder-steps li{align-items:center;padding:7px 0;border:0;border-radius:0;background:none}.reminder-actions>.button{flex:1 1 100%}.reminder-row.is-sent{flex-wrap:wrap}.reminder-sent-actions{width:100%;padding-left:42px}.reminder-totals dd{font-size:15px}}.portal{min-height:100vh;min-height:100dvh;color-scheme:light;-webkit-tap-highlight-color:transparent;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);background:radial-gradient(130% 380px at 50% -140px,#cfe6dd 0,rgb(207 230 221/0) 100%),var(--color-bg)}.portal-top{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 20px 0}.portal-top svg{flex-shrink:0;border-radius:9px;box-shadow:0 4px 12px rgb(9 63 59/.22)}.portal-mark{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:10px;background:var(--color-primary);color:#fff;font-size:16px;font-weight:700;box-shadow:0 4px 12px rgb(22 99 91/.25)}.portal-office{min-width:0;font-size:15px;font-weight:600;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-main{width:100%;max-width:560px;margin:0 auto;padding:22px 16px max(28px,calc(env(safe-area-inset-bottom) + 20px))}.portal-hero{text-align:center}.portal-eyebrow{margin:0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary)}.portal-firm{margin:6px 0 18px;font-size:clamp(22px,6.4vw,30px);line-height:1.2;letter-spacing:-.5px;overflow-wrap:anywhere;text-wrap:balance}.portal-balance{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 18px 18px;border-radius:22px;text-align:center;color:#fff;overflow:hidden;isolation:isolate;box-shadow:0 16px 36px -10px rgb(32 45 58/.35)}.portal-balance:after{content:"";position:absolute;inset:-40% -30% auto auto;width:70%;aspect-ratio:1;border-radius:50%;background:rgb(255 255 255/.08);z-index:-1}.portal-balance-debt{background:linear-gradient(150deg,#b9483e,#8a2a23)}.portal-balance-clear,.portal-balance-credit{background:linear-gradient(150deg,#2b7c59,#1a4f38)}.portal-asof{margin-bottom:8px;padding:4px 10px;border-radius:999px;background:rgb(255 255 255/.16);font-size:12px;font-weight:600}.portal-balance-label{font-size:15px;font-weight:600;opacity:.92}.portal-balance-amount{font-size:clamp(34px,11.5vw,50px);font-weight:750;line-height:1.08;letter-spacing:-1.2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.portal-balance-amount.is-long{font-size:clamp(28px,9vw,46px);letter-spacing:-.8px}.portal-tl{font-size:.5em;font-weight:650;letter-spacing:0;opacity:.85}.portal-balance>p{max-width:340px;margin:6px 0 0;font-size:13px;line-height:1.45;opacity:.88;text-wrap:pretty}.portal-totals{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:16px 0 0;padding-top:14px;border-top:1px solid rgb(255 255 255/.2)}.portal-totals div+div{border-left:1px solid rgb(255 255 255/.2)}.portal-totals dt{font-size:12px;opacity:.8}.portal-totals dd{margin:2px 0 0;font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-due{display:grid;grid-gap:6px;gap:6px;width:100%;margin:12px 0 0}.portal-due>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;background:rgb(255 255 255/.14);text-align:left}.portal-due dt{font-size:13px;font-weight:600}.portal-due small{display:block;font-size:11px;font-weight:500;opacity:.8}.portal-due dd{margin:0;font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.portal-due .is-overdue{box-shadow:inset 3px 0 0 #ffb4a8}.portal-due .is-upcoming{box-shadow:inset 3px 0 0 #ffd27a}.portal-contact{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:14px}.portal-contact a{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 12px;border-radius:14px;font-size:15px;font-weight:650;text-decoration:none;transition:transform .12s ease,filter .12s ease}.portal-contact a:active{transform:scale(.98)}.portal-contact-wa{background:#1f8f62;color:#fff;box-shadow:0 4px 12px rgb(31 143 98/.28)}.portal-contact-call{color:var(--color-text)}.portal-card,.portal-contact-call{background:var(--color-surface);border:1px solid var(--color-border)}.portal-card{margin-top:16px;padding:16px 16px 6px;border-radius:20px;box-shadow:0 1px 3px rgb(32 45 58/.05)}.portal-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:0 2px 6px}.portal-section-head h2{margin:0;font-size:17px}.portal-count{font-size:13px;color:var(--color-text-muted)}.portal-moves{margin:0;padding:0;list-style:none}.portal-move{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-column-gap:12px;column-gap:12px;align-items:start;padding:14px 2px;border-top:1px solid var(--color-border)}.portal-move:first-child{border-top:0}.portal-move-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-size:18px;font-weight:700}.is-debt .portal-move-icon{background:var(--color-debt-subtle);color:var(--color-debt)}.is-credit .portal-move-icon{background:var(--color-positive-subtle);color:var(--color-positive)}.portal-move-main{min-width:0}.portal-move-title{margin:0;font-size:15px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.portal-move-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.portal-move-kind{padding:1px 8px;border-radius:999px;font-size:12px;font-weight:650}.is-debt .portal-move-kind{background:var(--color-debt-subtle);color:var(--color-debt)}.is-credit .portal-move-kind{background:var(--color-positive-subtle);color:var(--color-positive)}.portal-move-amount{padding-top:1px;font-size:16px;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.portal-move-amount .portal-tl{font-size:.8em;opacity:.9}.is-debt .portal-move-amount{color:var(--color-debt)}.is-credit .portal-move-amount{color:var(--color-positive)}.is-debt .portal-move-amount:before{content:"+"}.is-credit .portal-move-amount:before{content:"−"}.portal-breakdown,.portal-formula{grid-column:2/-1;margin:10px 0 0}.portal-formula{justify-self:start;padding:6px 10px;border-radius:10px;background:var(--color-surface-subtle);font-size:13px;color:var(--color-text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-formula strong{color:var(--color-text)}.portal-breakdown{padding:4px 12px;border-radius:12px;background:var(--color-surface-subtle)}.portal-breakdown>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-top:1px dashed #d3dadf}.portal-breakdown>div:first-child{border-top:0}.portal-breakdown dt{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;font-size:14px;color:var(--color-text)}.portal-breakdown-formula{font-size:12px;color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-breakdown dd{margin:0;font-size:14px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.portal-breakdown .portal-breakdown-total{border-top:1px solid #c4ccd2}.portal-breakdown-total dd,.portal-breakdown-total dt{font-weight:750}.portal-foot-icon{vertical-align:-2px;margin-right:2px}.portal-muted{color:var(--color-text-secondary)}.portal-foot{margin:22px 8px 0;text-align:center;font-size:12px;line-height:1.6;color:var(--color-text-muted);text-wrap:balance}.portal-empty{padding:34px 22px;text-align:center}.portal-empty-icon{display:inline-grid;place-items:center;width:52px;height:52px;margin-bottom:12px;border-radius:50%;background:var(--color-primary-subtle);color:var(--color-primary)}.portal-empty h1{margin:0 0 8px;font-size:21px}.portal-empty p{margin:0;color:var(--color-text-secondary);text-wrap:pretty}@media (max-width:360px){.portal-card,.portal-main{padding-inline:12px}.portal-move{grid-template-columns:32px minmax(0,1fr) auto;column-gap:10px}.portal-move-icon{width:32px;height:32px;font-size:16px}.portal-move-amount,.portal-move-title{font-size:14px}.portal-breakdown,.portal-formula{grid-column:1/-1}.portal-contact a{font-size:14px}}@media (min-width:700px){.portal-main{padding-top:36px}.portal-card{padding:20px 22px 8px}.portal-balance{padding:28px 28px 22px}}@media (prefers-reduced-motion:reduce){.portal-contact a{transition:none}}.firm-phone{display:inline-flex;align-items:center;gap:7px;min-height:36px;margin-top:6px;padding:4px 12px 4px 10px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .15s ease,background .15s ease}.firm-phone svg{color:var(--color-primary)}.firm-phone:hover{border-color:var(--color-primary);background:var(--color-primary-subtle)}.firm-phone.is-empty{border-style:dashed}.firm-phone-edit,.firm-phone.is-empty{color:var(--color-primary);font-weight:600}.firm-phone-edit{margin-left:4px;padding-left:8px;border-left:1px solid var(--color-border);font-size:13px;white-space:nowrap}.firm-phone-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.firm-phone-form .input{width:200px;flex:0 1 200px}.firm-phone-error{flex-basis:100%;margin:0;color:var(--color-danger);font-size:13px}.firm-facts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.firm-facts .firm-phone{margin-top:0}.firm-facts .fee-form,.firm-facts .firm-phone-form{margin-top:0;flex-basis:100%}.fee-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fee-input-wrap{position:relative;flex:0 1 200px}.fee-input-wrap .input{width:100%;padding-right:40px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fee-input-wrap span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:14px;font-weight:600;pointer-events:none}.fee-ask{flex-basis:100%;margin-top:6px;padding:16px;border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border));border-radius:var(--radius-surface);background:linear-gradient(180deg,var(--color-primary-subtle),var(--color-surface));animation:fee-ask-in .28s ease-out}.fee-ask-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.fee-ask-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--color-surface);color:var(--color-primary);box-shadow:0 0 0 1px var(--color-border)}.fee-ask-icon svg{width:18px;height:18px}.fee-ask h2{margin:0;font-size:16px;line-height:1.3}.fee-ask p{margin:3px 0 0;font-size:13px;line-height:1.45}.fee-ask .fee-later,.fee-ask p{color:var(--color-text-secondary)}@keyframes fee-ask-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fee-ask{animation:none}}@media (max-width:520px){.fee-input-wrap{flex:1 1 100%}.fee-form .button{flex:1 1}}.activity-page{max-width:760px;margin:0 auto}.activity-heading{margin-bottom:16px}.activity-presets{margin-bottom:12px}.day-nav{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;grid-gap:8px;gap:8px;margin-bottom:16px;padding:6px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface)}.day-nav-spacer{width:48px}.day-nav-step{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-text);cursor:pointer;transition:background .15s ease}.day-nav-step:hover:not(:disabled){background:var(--color-surface-subtle)}.day-nav-step:disabled{color:var(--color-border-strong);opacity:.45;cursor:default}.day-nav-date{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:4px 6px 4px 10px;border-radius:var(--radius-control);cursor:pointer}.day-nav-date:hover{background:var(--color-surface-subtle)}.day-nav-date:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.day-nav-text{display:grid;min-width:0}.day-nav-text strong{font-size:18px;line-height:1.25}.day-nav-text span{color:var(--color-text-secondary);font-size:13px}.day-nav-pick{display:inline-flex;align-items:center;gap:6px;flex:none;padding:7px 12px;border-radius:var(--radius-pill);background:var(--color-primary-subtle);color:var(--color-primary);font-size:13px;font-weight:600}.day-nav-date input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.day-nav-date input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.activity-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0 0 20px}.activity-totals>div{display:grid;grid-gap:2px;gap:2px;padding:14px 16px;border-radius:var(--radius-surface);border:1px solid var(--color-border);background:var(--color-surface)}.activity-totals dt{font-size:13px;font-weight:600}.activity-totals dd{margin:0;font-size:clamp(18px,4.6vw,22px);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.activity-totals span{color:var(--color-text-muted);font-size:12px}.activity-total-debt{background:linear-gradient(180deg,var(--color-debt-subtle),var(--color-surface))!important;border-color:color-mix(in srgb,var(--color-debt) 22%,var(--color-border))!important}.activity-total-debt dd,.activity-total-debt dt{color:var(--color-debt)}.activity-total-collection{background:linear-gradient(180deg,var(--color-collection-subtle),var(--color-surface))!important;border-color:color-mix(in srgb,var(--color-collection) 22%,var(--color-border))!important}.activity-total-collection dd,.activity-total-collection dt{color:var(--color-collection)}.activity-count{margin:0 0 10px;color:var(--color-text-muted);font-size:13px}.activity-day+.activity-day{margin-top:22px}.activity-day-title{position:-webkit-sticky;position:sticky;top:0;z-index:1;display:flex;align-items:baseline;gap:8px;margin:0 0 10px;padding:8px 0;background:var(--color-bg);font-size:15px}.activity-day-title span{color:var(--color-text-muted);font-size:13px;font-weight:500}.activity-firm{margin-bottom:10px;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);overflow:hidden;animation:activity-in .22s ease-out both}.activity-firm-head{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text);text-decoration:none;transition:background .15s ease}.activity-firm-head:hover{background:var(--color-surface-subtle)}.activity-firm-head svg{flex:none;color:var(--color-text-muted)}.activity-firm-name{flex:1 1;min-width:0;font-weight:700;overflow-wrap:anywhere}.activity-firm-count{flex:none;padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:12px;font-weight:600}.activity-rows{list-style:none;margin:0;padding:0}.activity-rows li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;min-height:52px;padding:10px 16px}.activity-rows li+li{border-top:1px solid var(--color-surface-subtle)}.activity-kind{padding:3px 9px;border-radius:var(--radius-pill);font-size:12px;font-weight:700}.activity-kind.is-debt{background:var(--color-debt-subtle);color:var(--color-debt)}.activity-kind.is-collection{background:var(--color-collection-subtle);color:var(--color-collection)}.activity-note{min-width:0;color:var(--color-text-secondary);font-size:14px;overflow-wrap:anywhere;white-space:pre-line}.activity-note.is-empty{color:var(--color-text-muted);font-style:italic}.activity-rows strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}@keyframes activity-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.activity-firm{animation:none}}@media (max-width:520px){.activity-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.activity-presets .firm-chip{justify-content:center;padding:0 6px;font-size:13px}.day-nav-pick span{display:none}.activity-rows li{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.activity-rows .activity-kind{justify-self:start}.activity-rows .activity-note{grid-column:1/-1;grid-row:2}.activity-rows strong{grid-column:2;grid-row:1}}.topbar-section[aria-current=page]{background:var(--color-primary-subtle);box-shadow:inset 0 -2px 0 var(--color-primary)}.note-view{display:grid;grid-gap:4px;gap:4px;min-width:0;margin-top:4px}.note-title{color:var(--color-text);font-size:14px;font-weight:550}.note-detail,.note-title{margin:0;line-height:1.4;overflow-wrap:anywhere}.note-detail,.note-formula{color:var(--color-text-secondary);font-size:13px}.note-formula{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px;justify-self:start;margin:2px 0 0;padding:4px 10px;border-radius:var(--radius-pill);background:var(--color-surface-subtle);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.note-formula strong{color:var(--color-text);font-weight:650}.note-breakdown{margin:4px 0 0;padding:2px 12px;border-radius:10px;background:var(--color-surface-subtle)}.note-breakdown>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0}.note-breakdown>div+div{border-top:1px dashed var(--color-border)}.note-breakdown dt{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;color:var(--color-text);font-size:13px}.note-breakdown-formula{color:var(--color-text-muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.note-breakdown dd{margin:0;font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.note-breakdown .note-breakdown-total{border-top:1px solid var(--color-border-strong)}.note-breakdown-total dd,.note-breakdown-total dt{font-weight:700}.activity-note .note-view{margin-top:0}.portal-move-detail{margin:2px 0 0;color:var(--color-text-secondary);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.note-detail{padding-left:10px;border-left:2px solid var(--color-border)}.note-view .note-detail+.note-formula,.note-view .note-title+.note-formula{margin-top:4px}@media (min-width:521px){.activity-rows li{grid-template-columns:84px minmax(0,1fr) auto;align-items:start}.activity-rows .activity-kind{justify-self:start;margin-top:1px}.activity-rows strong{margin-top:1px}}.tabbar{display:none}@media (max-width:767px){.tabbar{position:fixed;inset-inline:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-border);background:var(--color-surface)}.tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:64px;color:var(--color-text-secondary);font-size:11px;font-weight:600}.tab[aria-current=page]{color:var(--color-primary)}.tab[aria-current=page]:before{content:"";position:absolute;top:0;width:32px;height:2px;border-radius:999px;background:var(--color-primary)}.has-tabbar .main{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.has-tabbar .feedback{bottom:calc(76px + env(safe-area-inset-bottom))}.has-tabbar .ledger-topbar .topbar-section{display:none}}