.cp-page,.cp-dialog { --cp-text:#20242b; --cp-muted:#5d6570; --cp-border:#dce0e5; --cp-surface:#f7f8fa; --cp-bg:#fff; --cp-info:#1765ad; --cp-success:#14714d; --cp-warning:#8c580f; --cp-danger:#b72939; color:var(--cp-text); letter-spacing:0; }
.dark .cp-page,.dark .cp-dialog { --cp-text:#f5f6f8; --cp-muted:#b0b6c1; --cp-border:#30333b; --cp-surface:#191b22; --cp-bg:#111218; --cp-info:#91c8ff; --cp-success:#79d9aa; --cp-warning:#efd08b; --cp-danger:#ff9fa9; color-scheme:dark; }
.cp-page { padding:26px 32px; max-width:1800px; margin:auto; min-width:0; font-size:15px; }
.cp-page *,.cp-dialog * { box-sizing:border-box; letter-spacing:0; }
.cp-heading,.cp-heading>div,.cp-actions,.cp-toolbar,.cp-pagination,.cp-pagination>div,.cp-section>header,.cp-session>header,.cp-receipt>header,.cp-dialog>header { display:flex; align-items:center; gap:12px; }
.cp-heading,.cp-section>header,.cp-session>header,.cp-dialog>header { justify-content:space-between; }
.cp-heading { margin-bottom:20px; flex-wrap:wrap; }
.cp-heading>div { min-width:0; }
.cp-heading>div>svg { color:var(--cp-info); flex-shrink:0; }
.cp-heading h1 { font-size:24px; line-height:1.25; font-weight:650; overflow-wrap:anywhere; }
.cp-heading p,.cp-table small,.cp-receipt small,.cp-session-orders small,.cp-audit small { display:block; margin-top:5px; color:var(--cp-muted); font-size:13px; overflow-wrap:anywhere; }
.cp-button,.cp-icon { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:7px 11px; border:1px solid var(--cp-border); border-radius:5px; background:var(--cp-bg); color:var(--cp-text); font-size:14px; line-height:1.4; cursor:pointer; text-decoration:none; }
.cp-button svg,.cp-icon svg { flex-shrink:0; }
.cp-icon { width:36px; height:36px; padding:0; flex:0 0 36px; }
.cp-button:hover,.cp-icon:hover { border-color:var(--cp-muted); background:var(--cp-surface); }
.cp-primary { background:#246baf; color:#fff; border-color:#246baf; }
.cp-primary:hover { background:#1f5e9b; color:#fff; }
.cp-page button:disabled,.cp-dialog button:disabled { opacity:.5; cursor:not-allowed; }
.cp-page :is(button,a,input,select,summary):focus-visible,.cp-dialog :is(button,a,input,summary):focus-visible { outline:2px solid var(--cp-info); outline-offset:3px; }
.cp-balances { border-block:1px solid var(--cp-border); padding:15px 0 20px; }
.cp-scope { display:flex; flex-wrap:wrap; gap:8px 18px; color:var(--cp-muted); font-size:13px; margin-bottom:16px; }
.cp-scope span { margin-left:auto; }
.cp-balances dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:20px; }
.cp-credit { color:var(--cp-success); margin:12px 0; }
.cp-balances dt { color:var(--cp-muted); font-size:13px; margin-bottom:7px; }
.cp-balances dd { font-size:22px; line-height:1.3; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.cp-balances dl>div:nth-child(2) dd { color:var(--cp-success); }
.cp-balances dl>div:nth-child(3) dd { color:var(--cp-warning); }
.cp-recorded { border-top:1px solid var(--cp-border); margin-top:18px; padding-top:14px; font-size:14px; }
.cp-recorded summary,.cp-advanced summary { cursor:pointer; color:var(--cp-warning); font-size:13px; }
.cp-recorded>span { display:block; margin-top:10px; }
.cp-advanced { padding:16px 0; border-bottom:1px solid var(--cp-border); }
.cp-advanced summary { color:var(--cp-muted); }
.cp-saved { color:var(--cp-success); padding:14px 0; }
.cp-payment-details { margin-top:12px; }
.cp-payment-details>summary { cursor:pointer; color:var(--cp-info); font-size:13px; }
.cp-payment-details>p { margin-top:10px; font-size:13px; white-space:pre-wrap; }
.cp-recorded strong { margin-left:10px; font-variant-numeric:tabular-nums; }
.cp-reconcile { color:var(--cp-warning); }
.cp-review-details { margin:16px 0; border-left:3px solid var(--cp-warning); padding:10px 14px; color:var(--cp-warning); font-size:14px; }
.cp-review-details summary { cursor:pointer; font-weight:600; }
.cp-review-details p { margin-top:10px; max-width:900px; line-height:1.6; }
.cp-account-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:18px 0 0; border-bottom:1px solid var(--cp-border); }
.cp-account-nav>.cp-button { margin-bottom:12px; }
.cp-tabs { display:flex; flex-wrap:wrap; gap:4px; min-width:0; }
.cp-tabs [role=tab] { display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:10px 14px; border-bottom:3px solid transparent; color:var(--cp-text); font-size:15px; font-weight:500; }
.cp-tabs [aria-selected=true] { border-bottom-color:var(--cp-info); color:var(--cp-info); }
.cp-tabs span { font-size:13px; font-variant-numeric:tabular-nums; }
.cp-page [hidden] { display:none !important; }
.cp-text-link { display:block; text-align:left; color:var(--cp-info); margin-top:5px; font-size:14px; overflow-wrap:anywhere; }
.cp-text-link:hover { text-decoration:underline; }
.cp-toolbar { padding:18px 0; flex-wrap:wrap; }
.cp-search { display:flex; flex:1 1 240px; align-items:center; gap:10px; min-width:0; min-height:38px; border:1px solid var(--cp-border); border-radius:5px; padding:0 11px; color:var(--cp-muted); background:var(--cp-bg); }
.cp-search input { width:100%; min-width:0; background:transparent; color:var(--cp-text); outline:none; padding:9px 0; font-size:15px; }
.cp-search:focus-within { outline:2px solid var(--cp-info); outline-offset:2px; }
.cp-filter { display:flex; align-items:center; gap:8px; color:var(--cp-muted); font-size:13px; }
.cp-filter select,.cp-form input:not([type=checkbox]) { color:var(--cp-text); background:var(--cp-bg); border:1px solid var(--cp-border); border-radius:5px; min-height:38px; padding:8px 10px; min-width:0; font-size:15px; }
.cp-table-wrap { position:relative; overflow:auto; max-width:100%; border-bottom:1px solid var(--cp-border); }
.cp-table { width:100%; border-collapse:collapse; text-align:left; font-size:15px; }
.cp-table th { background:var(--cp-surface); color:var(--cp-muted); font-weight:500; font-size:13px; padding:11px 12px; white-space:nowrap; }
.cp-table td { padding:13px 12px; border-top:1px solid var(--cp-border); vertical-align:middle; }
.cp-table th:first-child,.cp-table td:first-child { padding-left:10px; }
.cp-table td:first-child,.cp-orders td:nth-child(2) { min-width:190px; max-width:330px; overflow-wrap:anywhere; }
.cp-table tbody tr:hover,.cp-selected { background:var(--cp-surface); }
.cp-table .cp-numeric { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.cp-name { font-weight:600; color:var(--cp-text); }
.cp-name:hover,.cp-back:hover { color:var(--cp-info); text-decoration:underline; }
.cp-status { display:inline-flex; align-items:center; padding:3px 7px; border:1px solid var(--cp-border); border-radius:4px; color:var(--cp-text); font-size:13px; font-weight:500; white-space:nowrap; }
.cp-status.cp-paid { color:var(--cp-success); }
.cp-status.cp-partial,.cp-status.cp-review { color:var(--cp-warning); }
.cp-pagination { justify-content:space-between; flex-wrap:wrap; padding-top:16px; color:var(--cp-muted); font-size:13px; }
.cp-directory-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin:4px 0 16px; }
.cp-directory-heading h2 { font-size:16px; font-weight:600; }
.cp-directory-heading h2 span { margin-left:7px; font-weight:400; }
.cp-directory-heading>span,.cp-directory-heading h2 span { color:var(--cp-muted); font-size:13px; }
.cp-client-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:16px; list-style:none; padding:0; margin:0; }
.cp-client-card { position:relative; display:flex; flex-direction:column; min-width:0; border:1px solid var(--cp-border); border-radius:8px; padding:20px; background:var(--cp-bg); transition:border-color .15s; }
.cp-client-card:hover,.cp-client-card:focus-within { border-color:var(--cp-info); }
.cp-client-identity { display:flex; align-items:center; gap:12px; min-width:0; }
.cp-client-avatar { display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex:0 0 42px; border-radius:50%; background:var(--cp-surface); color:var(--cp-info); font-weight:600; font-size:16px; }
.cp-client-card:nth-child(3n+2) .cp-client-avatar { color:var(--cp-success); }
.cp-client-card:nth-child(3n+3) .cp-client-avatar { color:var(--cp-warning); }
.cp-client-identity>div { min-width:0; }
.cp-client-identity h3 { font-size:17px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.cp-client-link { color:var(--cp-text); text-decoration:none; }
.cp-client-link::after { content:''; position:absolute; inset:0; border-radius:8px; }
.cp-client-link:focus-visible { outline:none !important; }
.cp-client-link:focus-visible::after { outline:2px solid var(--cp-info); outline-offset:3px; }
.cp-client-identity p { margin-top:3px; color:var(--cp-muted); font-size:13px; overflow-wrap:anywhere; }
.cp-client-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:18px 0; color:var(--cp-muted); font-size:13px; }
.cp-client-figures { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; margin:0; padding-top:16px; border-top:1px solid var(--cp-border); }
.cp-client-figures dt { color:var(--cp-muted); font-size:12px; margin-bottom:6px; }
.cp-client-figures dd { color:var(--cp-text); font-size:15px; line-height:1.4; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.cp-client-figures>div:nth-child(2) dd { color:var(--cp-success); }
.cp-client-figures .cp-client-remaining { grid-column:1/-1; display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.cp-client-remaining dt { margin:0; }
.cp-client-remaining dd { font-size:20px; color:var(--cp-warning); text-align:right; }
.cp-client-remaining.cp-client-settled dd { color:var(--cp-success); }
.cp-client-figures .cp-client-credit { grid-column:1/-1; display:flex; justify-content:space-between; gap:12px; }
.cp-client-credit dt,.cp-client-credit dd { color:var(--cp-success); font-size:13px; }
.cp-client-credit dt { margin:0; }
.cp-client-open { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:18px; margin-top:auto; color:var(--cp-info); font-size:13px; font-weight:500; }
.cp-message { min-height:200px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:16px; color:var(--cp-muted); text-align:center; overflow-wrap:anywhere; }
.cp-message h1,.cp-message h2 { font-size:17px; color:var(--cp-text); }
.cp-error { color:var(--cp-danger); padding:12px 0; }
.cp-back { display:inline-flex; align-items:center; gap:7px; color:var(--cp-muted); margin-bottom:18px; font-size:13px; }
.cp-section { padding:22px 0; border-bottom:1px solid var(--cp-border); }
.cp-section h2 { font-size:15px; font-weight:600; }
.cp-section h2>.cp-muted { margin-left:6px; font-weight:400; }
.cp-section>header { flex-wrap:wrap; margin-bottom:14px; }
.cp-section>h2 { margin-bottom:14px; }
.cp-actions { flex-wrap:wrap; }
.cp-muted,.cp-empty-line { color:var(--cp-muted); font-size:13px; }
.cp-empty-line { padding:14px 0; }
.cp-notice { color:var(--cp-warning); font-size:13px; padding-top:14px; }
.cp-table td.cp-check,.cp-table th.cp-check { min-width:40px; width:40px; max-width:40px; }
.cp-page input[type=checkbox],.cp-dialog input[type=checkbox] { width:16px; height:16px; accent-color:var(--cp-info); flex-shrink:0; cursor:pointer; }
.cp-page input[type=checkbox]:disabled { cursor:not-allowed; opacity:.45; }
.cp-session,.cp-receipt { padding:16px 0; border-top:1px solid var(--cp-border); overflow-wrap:anywhere; }
.cp-session h3,.cp-receipt h3 { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:15px; font-weight:600; }
.cp-session-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px 24px; max-width:720px; margin-top:14px; }
.cp-session-metrics dt { color:var(--cp-muted); font-size:13px; margin-bottom:4px; }
.cp-session-metrics dd { color:var(--cp-text); font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.cp-session-metrics>div:nth-child(2) dd { color:var(--cp-success); }
.cp-session-metrics>div:nth-child(3) dd { color:var(--cp-warning); }
.cp-session>header>div,.cp-receipt>header>div { min-width:0; }
.cp-receipt>header { flex-wrap:wrap; }
.cp-receipt>header>strong { margin-left:auto; font-variant-numeric:tabular-nums; }
.cp-receipt>p { font-size:13px; margin:10px 0; white-space:pre-wrap; }
.cp-allocations { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:8px 24px; padding:14px 0; }
.cp-allocations li { display:flex; justify-content:space-between; gap:12px; font-size:13px; }
.cp-allocations strong { font-variant-numeric:tabular-nums; font-weight:500; }
.cp-audit { margin-top:12px; font-size:13px; }
.cp-audit summary { display:flex; align-items:center; gap:7px; color:var(--cp-muted); cursor:pointer; width:fit-content; }
.cp-audit[open] summary { color:var(--cp-info); }
.cp-audit>div { border-left:2px solid var(--cp-border); padding:3px 12px; margin-top:12px; }
.cp-audit p { margin-top:8px; overflow-wrap:anywhere; }
.cp-timeline { list-style:none; padding:0; margin:16px 0; }
.cp-event { border-top:1px solid var(--cp-border); padding:20px 0; overflow-wrap:anywhere; }
.cp-event header { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:12px; }
.cp-event h3 { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:15px; font-weight:600; }
.cp-event p { font-size:14px; margin-top:8px; white-space:pre-wrap; }
.cp-event-recorded { color:var(--cp-success); }
.cp-event-corrected { color:var(--cp-warning); }
.cp-event-voided { color:var(--cp-danger); }
.cp-event-reason { border-left:2px solid var(--cp-info); padding-left:12px; }
.cp-event-changes { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px 32px; margin-top:16px; }
.cp-event-snapshot { min-width:0; border-left:2px solid var(--cp-border); padding-left:12px; }
.cp-event-snapshot h4 { font-size:13px; margin-bottom:6px; }
.cp-event-snapshot>strong { font-size:20px; font-variant-numeric:tabular-nums; }
.cp-event-snapshot ul { padding:8px 0 0; }
.cp-event-snapshot li { display:flex; justify-content:space-between; gap:16px; padding:6px 0; font-size:14px; }
.cp-event-snapshot li strong { flex-shrink:0; font-variant-numeric:tabular-nums; }
.cp-page .cp-filter { min-width:0; max-width:100%; }
.cp-page .cp-filter select { max-width:280px; flex:1; }
.cp-dialog { margin:auto; padding:0; width:min(560px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); background:var(--cp-bg); border:1px solid var(--cp-border); border-radius:8px; overflow:auto; }
.cp-dialog::backdrop { background:#000a; }
.cp-dialog-wide { width:min(1120px,calc(100vw - 24px)); }
.cp-dialog>header { padding:16px 20px; border-bottom:1px solid var(--cp-border); }
.cp-dialog>header h2 { font-size:17px; font-weight:600; overflow-wrap:anywhere; }
.cp-dialog .order-payments { --vs-bg:var(--cp-bg); --vs-ink:var(--cp-text); --vs-muted:var(--cp-muted); --vs-border:var(--cp-border); margin:0; padding:20px; border:0; border-radius:0; }
.cp-form { padding:20px; }
.cp-form fieldset { display:grid; gap:16px; min-width:0; }
.cp-form label { display:grid; gap:7px; color:var(--cp-muted); font-size:13px; }
.cp-form footer { display:flex; justify-content:flex-end; margin-top:20px; }
.cp-form input:not([type=checkbox]) { width:100%; }
.cp-session-orders { max-height:300px; overflow:auto; }
.cp-session-orders label { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--cp-border); color:var(--cp-text); overflow-wrap:anywhere; }
.cp-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.cp-spin { animation:cp-spin 1s linear infinite; }
.cp-date-range { display:flex; flex-wrap:wrap; gap:12px; min-width:0; max-width:100%; }
.cp-page .cp-filter input { min-width:0; max-width:100%; min-height:38px; padding:8px 10px; border:1px solid var(--cp-border); border-radius:5px; color:var(--cp-text); background:var(--cp-bg); font-size:14px; }
.cp-page .cp-filter input[type=text] { width:130px; }
.cp-monthly-report { min-width:0; }
.cp-monthly-report .cp-toolbar { padding-top:0; }
.cp-segmented { display:inline-flex; flex-wrap:wrap; border:1px solid var(--cp-border); border-radius:5px; max-width:100%; }
.cp-segmented button { min-height:38px; padding:8px 12px; font-size:13px; color:var(--cp-muted); }
.cp-segmented button[aria-pressed=true] { color:var(--cp-info); background:var(--cp-surface); box-shadow:inset 0 -2px var(--cp-info); }
.cp-report-basis { margin-bottom:10px; color:var(--cp-muted); font-size:13px; }
.cp-report-basis summary,.cp-report-breakdown summary { cursor:pointer; width:fit-content; }
.cp-report-basis p { margin-top:8px; max-width:850px; line-height:1.6; }
.cp-report-scope { color:var(--cp-muted); font-size:13px; margin-top:12px; }
.cp-report-warning { border-left:3px solid var(--cp-warning); color:var(--cp-warning); padding:10px 14px; margin-top:14px; font-size:13px; line-height:1.6; }
.cp-report-warning ul { list-style:disc; padding-left:18px; }
.cp-report-totals { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:20px 0; }
.cp-report-totals dt { color:var(--cp-muted); font-size:13px; margin-bottom:6px; }
.cp-report-totals dd { font-size:20px; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.cp-report-totals>div:last-child dd { color:var(--cp-success); }
.cp-chart-scroll { max-width:100%; overflow-x:auto; margin-top:16px; }
.cp-report-chart { width:100%; height:280px; }
.cp-report-legend { display:flex; flex-wrap:wrap; gap:16px; margin:12px 0; list-style:none; font-size:13px; color:var(--cp-muted); }
.cp-report-legend li { display:flex; align-items:center; gap:7px; }
.cp-report-legend li>span { width:10px; height:10px; flex-shrink:0; }
.cp-report-breakdown { margin-top:16px; font-size:13px; }
.cp-report-breakdown .cp-table-wrap { margin-top:12px; }
.cp-report-breakdown th[scope=row] { white-space:nowrap; }
.cp-monthly-report>.cp-error { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
@keyframes cp-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .cp-spin { animation:none; } }
@media(max-width:760px) {
  .cp-report-totals { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cp-report-totals dd { font-size:18px; }
  .cp-date-range { width:100%; }
  .cp-date-range>.cp-filter { flex:1 1 145px; }
  .cp-date-range input { width:100%; }
  .cp-page { padding:20px 16px; }
  .cp-heading h1 { font-size:21px; }
  .cp-balances dl { gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cp-balances dd { font-size:19px; }
  .cp-session-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cp-scope span { margin-left:0; }
  .cp-table { min-width:780px; }
  .cp-heading,.cp-section>header { gap:16px; }
  .cp-dialog>header,.cp-form,.cp-dialog .order-payments { padding:16px; }
  .cp-receipt>header>.cp-actions { width:100%; }
  .cp-receipt>header>strong { margin-left:0; }
}
/*$vite$:1*/