@font-face{font-family:Manrope;src:url('./assets/manrope-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/manrope-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/manrope-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{font-family:Manrope,sans-serif;font-size:16px;line-height:1.6;color:#172b36;background:#f4f6f5;font-synthesis:none;--accent:#225aca;--muted:#526570;--line:#d0dade;--soft:#eaf0f9;scrollbar-color:#91a4ae #eef2f3;caret-color:var(--accent)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:#fff;color:#243d4c;border:1px solid #b9c9d1;border-radius:6px;padding:10px 14px;font-size:.9375rem;font-weight:600;min-height:44px;line-height:1.45}button:hover{background:#eaf0f9;border-color:#7b98bf}button:disabled{cursor:not-allowed;background:#e2e8ee;color:#5f6d77;border-color:#c6d1da}a{color:var(--accent);text-underline-offset:4px}h1,h2,h3,p{margin:0}h1,h2{text-wrap:balance}h1{font-size:2.25rem;line-height:1.22;letter-spacing:-.035em;max-width:800px;overflow-wrap:anywhere}h2{font-size:1.375rem;line-height:1.4;letter-spacing:-.02em}h3{font-size:1rem;line-height:1.5;margin:25px 0 12px}small{font-size:.875rem;color:var(--muted)}::selection{background:#ccdcfc;color:#132a4d}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip{position:fixed;top:-70px;left:16px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}.topbar{min-height:76px;background:#172b36;color:#fff;display:flex;align-items:center;gap:24px;padding:16px 28px}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-size:1.125rem;letter-spacing:-.02em}.brand svg{width:25px;height:25px;stroke:#b8d1ff;stroke-width:2;fill:none}.environment{margin-left:auto;color:#cfdae1;font-size:.875rem}.quiet{background:none}.light{color:#f3f6f8;border-color:#718793}.light:hover{background:#2a424f;color:white}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 76px)}.directory{background:#edf1f1;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:12px}.directory h2{font-size:1.25rem}.search-label{font-size:.875rem;font-weight:600;color:var(--muted)}input,select,textarea{border:1px solid #aebfc9;border-radius:6px;padding:11px 12px;background:#fff;color:#172b36;width:100%;font-size:1rem;min-height:46px}input::placeholder,textarea::placeholder{color:#637580}input:disabled{background:#eef1f4;color:#5c6b74}textarea{resize:vertical;line-height:1.65}select{padding-right:25px}input[type=date]{min-width:0}input[type=search]{font-size:.9375rem}.customer{width:100%;text-align:left;display:flex;flex-direction:column;gap:9px;margin-top:9px;border:1px solid transparent;background:transparent;padding:15px 12px}.customer span{font-size:.9375rem;overflow-wrap:anywhere}.customer.selected{background:#fff;border-color:#adc3e2;color:#174798}.customer.selected small{color:#345c93}.customer small{font-size:.8125rem}.directory-note{margin-top:auto;padding:60px 8px 4px;font-size:.875rem;color:#526570}.directory-note strong{color:#263f4d}.directory-note p{margin:10px 0 18px}.directory-note span{font-size:.8125rem}main{padding:32px 32px 48px;min-width:0;max-width:1800px;width:100%;margin:0 auto;align-self:start}.record-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.breadcrumb{font-size:.875rem;color:var(--muted);margin-bottom:12px}.breadcrumb span{padding:0 10px}.record-header p{font-size:.9375rem;color:var(--muted);margin-top:12px}.record-header p>span{margin:0 9px}.header-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;max-width:220px;padding-top:30px;flex-shrink:0}.account-summary{display:grid;grid-template-columns:1fr 1fr 1fr;border-block:1px solid var(--line);padding:18px 0;margin:26px 0 0;gap:12px}.account-summary>button{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;border-color:transparent;background:transparent;padding:12px;border-radius:6px;min-width:0}.account-summary>button:hover{background:#e6edf7;border-color:#aec3e1}.account-summary span{font-size:.875rem;color:var(--muted);font-weight:600}.account-summary strong{font-size:1.875rem;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.account-summary small{font-size:.8125rem;font-weight:400}.account-summary .owner-summary strong{font-size:1.1875rem;margin:6px 0}.record-nav{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:28px;padding-top:14px;overflow:auto}.record-nav button{border:0;background:transparent;white-space:nowrap;padding:14px 16px;border-radius:5px 5px 0 0;color:var(--muted)}.record-nav button[aria-current=page]{color:#174aa8;background:#e6eefb;box-shadow:inset 0 -3px 0 var(--accent)}.record-nav button:hover{color:#174aa8;background:#e6eefb}.record-nav button span{margin-left:6px;font-size:.875rem}.record-body{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:28px;align-items:start}.ledger{min-width:0;scroll-margin-top:20px}.ledger section+section{margin-top:32px}.section-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:15px;min-height:44px}.section-heading h2 span{font-size:.9375rem;margin-left:7px;color:var(--muted);font-weight:400}.section-heading>span{font-size:.8125rem;color:var(--muted)}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff}table{border-collapse:collapse;width:100%;font-size:.9375rem;line-height:1.6;min-width:620px}th{text-align:left;background:#edf1f3;font-size:.8125rem;color:#405866;font-weight:600;padding:14px;white-space:nowrap}td{padding:18px 14px;border-top:1px solid #dce4e8;vertical-align:top}td:first-child{min-width:170px}td small{display:block;max-width:230px;margin-top:5px;font-size:.8125rem;font-weight:400}td.numeric,th.numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td.numeric{font-weight:600}tr[data-row-invoice],tr[data-row-payment]{cursor:pointer}tbody tr:hover td{background:#f1f5fb}.active-row td{background:#edf3ff}.text-button{color:var(--accent);border:0;background:none;padding:3px 0;min-height:32px;border-radius:2px;font-weight:600;text-align:left;font-size:.9375rem;text-decoration:underline;text-decoration-color:#a3b9e1;text-underline-offset:4px;white-space:normal;overflow-wrap:anywhere}.text-button:hover{background:#dce8fe;text-decoration-color:var(--accent)}.badge{font-size:.8125rem;line-height:1.6;white-space:nowrap;background:#e9eef1;color:#405762;border-radius:4px;padding:4px 8px;display:inline-block}.warning{background:#f8eed9;color:#78530d}.settled{background:#e1efe6;color:#22603f}.review-button{min-height:40px;padding:7px 10px;font-size:.875rem;color:var(--accent);border-color:#b9cbe9;background:#fff}.detail{background:#fff;border:1px solid #c7d4df;border-radius:8px;padding:24px;min-width:0;position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow-y:auto;scrollbar-width:thin;scroll-margin-top:16px}.detail-title{display:flex;gap:12px;align-items:center;justify-content:space-between}.detail>p{font-size:.875rem;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}.detail-amount{font-size:2.25rem;letter-spacing:-.03em;font-weight:600;margin:24px 0 20px;font-variant-numeric:tabular-nums}.detail-amount small{display:block;font-weight:400;font-size:.875rem;letter-spacing:0;margin-top:4px}dl{font-size:.875rem;margin:0 0 24px;display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px;border-bottom:1px solid var(--line);padding-bottom:22px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere;text-align:right;font-weight:600}dd .text-button{font-size:.875rem;text-align:right}.detail label:not(.confirmation),dialog label{display:block;font-size:.9375rem;font-weight:600;margin:19px 0 8px}.match-note{font-size:.875rem;color:var(--muted);margin-top:10px}.match-note .text-button{font-size:.875rem}.difference{padding:15px;background:#f5f2e9;border-radius:6px;margin:18px 0;font-size:.875rem;color:#665120}.difference strong{font-size:.9375rem}.difference p{margin-top:6px}.calculation{font-size:.875rem;display:grid;gap:10px;margin:15px 0;color:var(--muted)}.calculation span{display:flex;justify-content:space-between;gap:8px}.calculation strong{font-variant-numeric:tabular-nums;color:#243d4c}.operator{font-size:.875rem;color:var(--muted);margin:18px 0}.confirmation{display:flex;align-items:flex-start;gap:10px;font-size:.9375rem;line-height:1.6;cursor:pointer}.confirmation input{width:19px;height:19px;min-height:19px;flex-shrink:0;margin:3px 0;accent-color:var(--accent)}.primary{background:var(--accent);color:#fff;border-color:var(--accent);padding:13px 16px}.primary:hover{background:#1849a7;color:#fff}.full{width:100%;margin-top:16px}.error{color:#96352b;background:#fbedeb;border-radius:6px;padding:14px;font-size:.9375rem;line-height:1.6}.error:empty{display:none}.error:not(:empty){margin-top:14px}.success{color:#205b3b;background:#e2f0e7;padding:14px 16px;border-radius:6px;font-size:.9375rem}#notice{margin:0 0 24px}.empty{font-size:.9375rem;color:var(--muted);padding:20px 0;line-height:1.7}.history ol{list-style:none;padding:0;margin:0}.history li{border-top:1px solid var(--line)}.history time{font-size:.875rem;color:var(--muted)}.linked{border-top:1px solid var(--line);margin-top:24px}.linked p,.detail h3+p{font-size:.9375rem;color:var(--muted)}.allocation{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:12px 0;border-bottom:1px solid #e2e8eb;font-size:.9375rem}.allocation small{grid-column:1/-1;font-size:.8125rem}.allocation strong{align-self:center;font-variant-numeric:tabular-nums}.available{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0;text-align:left;font-size:.875rem}.available small{display:block;font-size:.8125rem;margin-top:5px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}dialog{border:0;border-radius:12px;padding:28px;width:min(570px,calc(100% - 32px));color:#172b36;box-shadow:0 20px 60px #10202b40}dialog::backdrop{background:#142b3b80}dialog p{font-size:1rem;margin:14px 0}dialog input{margin:8px 0}.detail-navigation{display:flex;justify-content:space-between;gap:8px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--line)}.detail-navigation button{font-size:.8125rem;min-height:38px;padding:7px 10px}.detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.detail-actions button{font-size:.875rem}.filter-label{font-size:.875rem;color:var(--muted);display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}.filter-label select{width:auto;font-size:.875rem;min-height:42px}.record-list{border-block:1px solid var(--line)}.record-link{border:0;border-radius:0;border-bottom:1px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:20px 8px;text-align:left}.record-link:last-child{border-bottom:0}.record-link>span:first-child{min-width:0}.record-link strong{font-size:1rem;font-weight:600}.record-link>strong{font-variant-numeric:tabular-nums;white-space:nowrap}.record-link small{display:block;margin-top:7px;font-size:.875rem;font-weight:400}.record-link.is-selected{background:#e6eefb}.context-copy{padding:20px 0;border-block:1px solid var(--line)}.context-copy>p{font-size:1rem;max-width:65ch;color:#344f5e;white-space:pre-wrap;overflow-wrap:anywhere}.contact-link{margin-top:20px;text-align:left;display:flex;flex-direction:column;gap:5px;background:transparent;border-color:transparent;padding:10px 0;width:100%}.contact-link span{font-size:.9375rem;color:#345f9c;overflow-wrap:anywhere}.contact-link small{font-weight:400}.overview-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.activity-link{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;width:100%;border:0;border-radius:0;background:none;padding:18px 8px;font-weight:400;font-size:1rem}.activity-link small{color:var(--accent)}.event-copy{margin-top:22px;overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap}.audit-note{margin-top:22px!important;font-size:.875rem!important}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-pair>div{min-width:0}
#customer-select{display:none}
@media(min-width:1700px){.record-body{grid-template-columns:minmax(0,1fr) 440px}main{padding-inline:42px}.detail{padding:28px}}
@media(max-width:1350px){.workspace{grid-template-columns:220px minmax(0,1fr)}main{padding-inline:24px}.record-body{grid-template-columns:minmax(0,1fr) 370px;gap:22px}.detail{padding:22px}.record-header{flex-wrap:wrap}.header-actions{max-width:none;padding-top:0;justify-content:flex-start}.section-heading>span{display:none}.account-summary strong{font-size:1.625rem}.account-summary .owner-summary strong{font-size:1.125rem}}
@media(max-width:1150px){.record-body{grid-template-columns:minmax(0,1fr)}.detail{position:static;max-height:none;overflow:visible}.account-summary{grid-template-columns:1fr 1fr}.owner-summary{grid-column:1/-1}.account-summary .owner-summary strong{margin:0}.detail-amount{font-size:2.125rem}.detail dl{grid-template-columns:120px 1fr}.detail{max-width:760px;width:100%}}
@media(max-width:650px){.topbar{padding:15px 18px;gap:12px;flex-wrap:wrap}.brand{font-size:1rem;flex:1;min-width:0}.brand svg{width:21px;flex-shrink:0}.environment{order:3;width:100%;margin:0;font-size:.8125rem}.light{font-size:.8125rem;padding:8px;min-height:40px}.workspace{display:block}.directory{padding:18px;border-right:0;border-bottom:1px solid var(--line);gap:6px}.directory h2{font-size:1.125rem;margin:0 0 5px}.search-label{font-size:.8125rem}#customers{display:flex;gap:8px;overflow:auto;padding:3px 3px 7px;margin:0 -3px}.customer{flex:0 0 255px;margin-top:6px;padding:12px;gap:5px}.customer span{font-size:.9375rem}.customer small{font-size:.8125rem}.directory-note{display:none}.directory #customers,.directory #search,.directory .search-label{display:none}#customer-select{display:block;font-size:.9375rem}.directory{padding:16px 18px;gap:8px}main{padding:24px 18px 36px}.record-header{gap:16px;flex-wrap:wrap}h1{font-size:1.875rem}.breadcrumb{font-size:.8125rem;margin-bottom:10px}.record-header p{font-size:.9375rem}.account-summary{margin:22px 0 0;padding:14px 0;gap:10px}.account-summary>button{padding:10px 4px}.account-summary strong{font-size:1.5rem}.account-summary span{font-size:.8125rem}.account-summary small{font-size:.8125rem}.account-summary .owner-summary{grid-column:1/-1}.account-summary .owner-summary strong{font-size:1.125rem}.record-body{gap:26px}.record-nav{margin-bottom:24px;gap:2px}.record-nav button{padding:13px 12px;font-size:.9375rem}.section-heading{margin-bottom:12px;flex-wrap:wrap}h2{font-size:1.25rem}.detail{padding:20px;max-width:none}.detail h2{font-size:1.375rem}.detail dl{grid-template-columns:82px 1fr;gap:14px 9px}.table-scroll{scrollbar-width:thin}.ledger section+section{margin-top:28px}.actions{flex-wrap:wrap}dialog{padding:23px}.record-link{padding:18px 2px;gap:12px;flex-wrap:wrap}.record-link>span:first-child{flex:1 1 185px}.record-link strong{font-size:.9375rem}.record-link small{font-size:.875rem}.record-link .badge{max-width:100%;white-space:normal}.overview-actions button{width:100%}.form-pair{grid-template-columns:1fr}.detail-navigation{gap:6px}.header-actions button{font-size:.875rem}.detail-amount{font-size:2rem}}
@media(prefers-reduced-motion:no-preference){.detail{animation:detail-enter 220ms cubic-bezier(.16,1,.3,1)}@keyframes detail-enter{from{transform:translateY(5px);background:#f0f5fd}to{transform:translateY(0);background:#fff}}}
/* Additional working pages inherit the readable scale and existing surfaces. */
.record-nav{flex-wrap:wrap;overflow:visible}.page-picker{display:none}.page-intro{max-width:65ch;font-size:1rem;color:var(--muted);margin:0 0 22px}.page-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin:22px 0}.page-filters label{font-size:.875rem;display:flex;flex-direction:column;gap:7px;flex:1 1 180px;color:var(--muted)}.page-filters label>input,.page-filters label>select{font-size:.9375rem}.page-filters>button{flex-shrink:0}.customer-directory-row{border-bottom:1px solid var(--line);padding-bottom:12px}.customer-directory-row:last-child{border-bottom:0}.customer-directory-row>.record-link{border:0;padding-bottom:9px}.customer-directory-row>.text-button{margin-left:8px}.contact-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 0;border-block:1px solid var(--line)}.contact-summary p{overflow-wrap:anywhere;color:var(--muted);margin:6px 0}.note-excerpt{display:block;line-height:1.6;font-size:.9375rem;font-weight:400;margin-top:12px;overflow-wrap:anywhere}.link-hint{color:var(--accent);font-size:.875rem;white-space:nowrap}.case-history{border-top:1px solid var(--line);padding:15px 0;font-size:.875rem}.case-history small{display:block;margin:5px 0 10px}.case-history p,.record-link strong,.activity-link span,td small{overflow-wrap:anywhere}.age-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}.age-groups button{display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-align:left;background:transparent;border-color:var(--line)}.age-groups button[aria-pressed=true]{background:#e6eefb;border-color:#adc3e2}.age-groups span{font-size:.875rem;color:var(--muted)}.age-groups strong{font-size:1.1875rem;font-variant-numeric:tabular-nums}.report-total{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:24px;flex-wrap:wrap}.report-total strong{font-variant-numeric:tabular-nums}.guide-steps{padding-left:22px;color:var(--muted);font-size:.9375rem}.guide-steps li{margin:15px 0}.report-filters label{flex-basis:135px}
@media(max-width:650px){.record-nav{display:none}.page-picker{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:600;margin:20px 0 26px}.page-picker select{font-size:1rem}.page-filters{gap:12px}.page-filters label{flex-basis:100%}.page-filters>button{width:100%}.contact-summary{flex-wrap:wrap}.age-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.age-groups strong{font-size:1.125rem}.customer-directory-row>.text-button{margin-left:2px}}
