/* Balance Sheet only. Existing theme and accounting values remain authoritative. */
#p23-balance-host,
.p23-overlay[data-module="balance"] {
  --bs-xs: clamp(.8125rem, .79rem + .08vw, .875rem);
  --bs-sm: clamp(.875rem, .84rem + .1vw, .9375rem);
  --bs-base: 1rem;
  --bs-heading: clamp(1.125rem, 1.04rem + .2vw, 1.25rem);
  --bs-title: clamp(1.5rem, 1.35rem + .4vw, 1.75rem);
  --bs-number: clamp(1.25rem, 1.08rem + .3vw, 1.625rem);
  --bs-control: clamp(.875rem, 14px, 1rem);
  --bs-touch: 48px;
  --bs-space-1: .25rem;
  --bs-space-2: .5rem;
  --bs-space-3: .75rem;
  --bs-space-4: 1rem;
  --bs-space-5: 1.25rem;
  --bs-space-6: 1.5rem;
  --bs-border: color-mix(in srgb, #64748b 22%, transparent);
  --bs-muted: #526176;
  --bs-surface: rgba(255, 255, 255, .94);
  --bs-soft: #f5f8fd;
  --bs-text: #18263a;
  --bs-accent: #315fc1;
  --bs-focus: #2461cf;
  --bs-selected: #edf3ff;
  color: var(--bs-text);
  font-family: Inter, sans-serif;
  line-height: 1.5;
}
#p23-balance-host { position: relative; z-index: 0; isolation: isolate; min-width: 0; max-width: 100%; }
#p23-balance-host .p23 { gap: var(--bs-space-6); min-width: 0; grid-template-columns: minmax(0,1fr); color: var(--bs-text); --p23-ink: var(--bs-text); }
#p23-balance-host .p23 > * { min-width: 0; max-width: 100%; }
#p23-balance-host .p23-heading { z-index: 2; padding: var(--bs-space-2) 0 var(--bs-space-4); align-items: flex-start; gap: var(--bs-space-4); }
#p23-balance-host .p23-heading h1 { font-size: var(--bs-title) !important; font-weight: 700; line-height: 1.2; }
#p23-balance-host .p23-heading p,
#p23-balance-host .p23 .t-muted { font-size: var(--bs-sm); color: var(--bs-muted) !important; }
#p23-balance-host .p23 h2,
.p23-overlay[data-module="balance"] .p23-dialog h2 { font-size: var(--bs-heading) !important; }
#p23-balance-host .p23 h3,
.p23-overlay[data-module="balance"] h3 { font-size: var(--bs-base); line-height: 1.4; }
#p23-balance-host .p23 .card { background: var(--bs-surface); color: var(--bs-text); border-color: var(--bs-border) !important; border-radius: 14px !important; box-shadow: 0 2px 8px rgb(31 57 91 / .035) !important; }
#p23-balance-host .p23-scopebar { padding: var(--bs-space-4) var(--bs-space-5); border: 1px solid var(--bs-border); background: var(--bs-surface); gap: var(--bs-space-4); border-radius: 14px; }
#p23-balance-host .p23-scopebar > div { flex-wrap: wrap; gap: var(--bs-space-2) var(--bs-space-3); min-width: 0; }
#p23-balance-host .p23-scopebar b { font-size: var(--bs-base); overflow-wrap: anywhere; }
#p23-balance-host .p23-scopebar small { font-size: var(--bs-xs); color: var(--bs-muted); }
#p23-balance-host .p23-mode { font-size: var(--bs-xs); letter-spacing: .02em; padding: var(--bs-space-1) var(--bs-space-2); }
#p23-balance-host .p23-kpis6 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bs-space-4); }
#p23-balance-host .p23-kpis > .card { min-width: 0; padding: var(--bs-space-5) !important; border-top-color: color-mix(in srgb, var(--bs-accent) 24%, var(--bs-border)) !important; }
#p23-balance-host .p23-kpis > .card > span { display: block; font-size: var(--bs-sm); color: var(--bs-muted); margin-bottom: var(--bs-space-2); }
#p23-balance-host .p23-kpis strong { display: block; font-size: var(--bs-number) !important; line-height: 1.35; letter-spacing: -.02em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; color: var(--bs-text); }
#p23-balance-host .p23-kpis strong .p23-amt { font-size: inherit; }
#p23-balance-host .p23-kpis small { display: block; font-size: var(--bs-xs); color: var(--bs-muted); margin-top: var(--bs-space-3); line-height: 1.5; }
#p23-balance-host .p23-recon { padding: var(--bs-space-4) var(--bs-space-5); border-radius: 12px; border: 1px solid var(--bs-border); background: color-mix(in srgb, var(--bs-accent) 3%, white); gap: var(--bs-space-3); flex-wrap: wrap; }
#p23-balance-host .p23-recon small { font-size: var(--bs-xs); color: var(--bs-muted); line-height: 1.5; }
#p23-balance-host .p23-recon b { font-size: var(--bs-base); font-variant-numeric: tabular-nums; }
#p23-balance-host .p23-fold > summary,
#p23-balance-host .p23-help > summary { padding: var(--bs-space-4) var(--bs-space-5) !important; font-size: var(--bs-base); min-height: 52px; }
#p23-balance-host .p23-fold-content { padding: 0 var(--bs-space-5) var(--bs-space-5); }
#p23-balance-host .p23-table { overflow: auto; overscroll-behavior-x: contain; border-color: var(--bs-border); scrollbar-width: thin; scrollbar-color: #a8b7ce transparent; }
#p23-balance-host .p23-table table { font-size: var(--bs-sm); }
#p23-balance-host .p23-table th { font-size: var(--bs-xs); padding: var(--bs-space-3) var(--bs-space-4); font-weight: 650; letter-spacing: .01em; color: var(--bs-muted); background: var(--bs-soft); vertical-align: middle; }
#p23-balance-host .p23-table td { padding: var(--bs-space-4); vertical-align: top; line-height: 1.5; }
#p23-balance-host .p23-txt { min-width: 900px; }
#p23-balance-host .p23-c-note { display: table-cell; min-width: 180px; }
#p23-balance-host .p23-table small { font-size: var(--bs-xs); color: var(--bs-muted); line-height: 1.5; margin-top: var(--bs-space-1); }
#p23-balance-host .p23-people { min-width: 1120px; }
#p23-balance-host .p23-people th:first-child,
#p23-balance-host .p23-people td:first-child { min-width: 175px; position: sticky; left: 0; z-index: 1; background: var(--bs-surface); box-shadow: 1px 0 0 var(--bs-border); }
#p23-balance-host .p23-people th:first-child { background: var(--bs-soft); }
#p23-balance-host .p23-people .p23-selected td { background: var(--bs-selected) !important; }
#p23-balance-host .p23-person { min-height: 44px; padding: var(--bs-space-1) 0; text-align: left; color: var(--bs-text); }
#p23-balance-host .p23-selected .p23-person { color: #214d9f; text-decoration: underline; text-underline-offset: 4px; }
#p23-balance-host .p23-num,
#p23-balance-host .p23-pair { white-space: nowrap; font-variant-numeric: tabular-nums; }
#p23-balance-host .p23-pair { gap: var(--bs-space-2); }
#p23-balance-host .p23-amt.pos { color: #14634c; }
#p23-balance-host .p23-amt.neg { color: #a33143; }
#p23-balance-host .p23-fineprint,
#p23-balance-host .p23-nr { font-size: var(--bs-xs); color: var(--bs-muted); line-height: 1.6; }
#p23-balance-host .p23-fineprint { margin-top: var(--bs-space-4); }
#p23-balance-host .p23-accgroup { margin-top: var(--bs-space-5); }
#p23-balance-host .p23-accgroup h3 { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--bs-space-2) var(--bs-space-3); margin-bottom: var(--bs-space-4); }
#p23-balance-host .p23-accgroup h3 span,
#p23-balance-host .p23-accgroup h3 small { font-size: var(--bs-xs); color: var(--bs-muted); }
#p23-balance-host .p23-accgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bs-space-4); }
#p23-balance-host .p23-acc { min-width: 0; padding: var(--bs-space-5); background: var(--bs-surface); border: 1px solid var(--bs-border); border-radius: 12px; }
#p23-balance-host .p23-acc > header { display: flex; flex-wrap: wrap; gap: var(--bs-space-3); align-items: flex-start; }
#p23-balance-host .p23-acc > header > div { min-width: 0; flex: 1 1 200px; }
#p23-balance-host .p23-acc b,
#p23-balance-host .p23-acc-line { overflow-wrap: anywhere; }
#p23-balance-host .p23-acc strong { font-size: var(--bs-number); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
#p23-balance-host .p23-acc small,
#p23-balance-host .p23-acc-trace dt,
#p23-balance-host .p23-status,
#p23-balance-host .p23-kind { font-size: var(--bs-xs); line-height: 1.5; }
#p23-balance-host .p23-acc-trace { margin-block: var(--bs-space-4); }
#p23-balance-host .p23-acc-trace > div { gap: var(--bs-space-2); }
#p23-balance-host .p23-acc-trace dd { font-size: var(--bs-sm); overflow-wrap: anywhere; }
#p23-balance-host .p23-acc footer { flex-wrap: wrap; gap: var(--bs-space-2); }
#p23-balance-host .p23-acc-moves summary { min-height: 44px; display: flex; align-items: center; font-size: var(--bs-sm); }
#p23-balance-host .p23-detail { padding: var(--bs-space-5); }
#p23-balance-host .p23-props > div { padding-block: var(--bs-space-2); gap: var(--bs-space-3); }
#p23-balance-host .p23-props dt { font-size: var(--bs-xs); color: var(--bs-muted); }
#p23-balance-host .p23-props dd { font-size: var(--bs-sm); overflow-wrap: anywhere; }
#p23-balance-host .p23-txsec { padding: var(--bs-space-5); }
#p23-balance-host .p23-quick-filters { gap: var(--bs-space-3); align-items: end; margin-block: var(--bs-space-4); }
#p23-balance-host .p23-quick-filters label > span { font-size: var(--bs-sm); }
#p23-balance-host .p23-quick-filters .input { min-height: 44px; font-size: var(--bs-sm); }
#p23-balance-host .p23-pagination { padding-top: var(--bs-space-4); }
#p23-balance-host :is(.p23-fold,.p23-txsec) { scroll-margin-top: 72px; }
#p23-balance-host .p23-feedback { padding: var(--bs-space-4); background: #edf7f3; color: #155a44; border: 1px solid #c2e1d4; border-radius: 10px; font-size: var(--bs-sm); line-height: 1.6; }
#p23-balance-host .p23-feedback.error { color: #8e263b; background: #fff2f4; border-color: #ecc5ce; }
#p23-balance-host .p23 :is(button, .p23-more > summary, .p23-filter-more > summary) { font-size: var(--bs-control) !important; min-height: var(--bs-touch); }
#p23-balance-host .p23 :is(.btn-primary,.btn-secondary) { padding: var(--bs-space-2) var(--bs-space-4); }
#p23-balance-host .p23 .btn-primary,
.p23-overlay[data-module="balance"] .btn-primary { background: var(--bs-accent) !important; background-image: none !important; border-color: var(--bs-accent); color: white; box-shadow: none !important; }
#p23-balance-host .p23 .btn-secondary,
.p23-overlay[data-module="balance"] .btn-secondary { background: var(--bs-surface) !important; color: var(--bs-text); border-color: var(--bs-border); }
#p23-balance-host .p23 .btn-primary:hover,
.p23-overlay[data-module="balance"] .btn-primary:hover { background: #244f9e !important; }
#p23-balance-host .p23 :is(button,input,select,textarea,summary,tr[tabindex]):focus-visible,
.p23-overlay[data-module="balance"] :is(button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--bs-focus); outline-offset: 3px; }
#p23-balance-host .p23 button:disabled { opacity: .65; cursor: not-allowed; }
#p23-balance-host .p23-more > div { min-width: 220px; }
.p23-overlay[data-module="balance"] { padding: var(--bs-space-6); }
.p23-overlay[data-module="balance"] .p23-dialog { max-width: 800px; width: 100%; max-height: calc(100dvh - 3rem); background: var(--bs-surface) !important; color: var(--bs-text); overflow: auto; overscroll-behavior: contain; border-radius: 16px !important; }
.p23-overlay[data-module="balance"] .p23-dialog > header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: var(--bs-space-4); padding: var(--bs-space-5) !important; margin: 0 !important; background: var(--bs-surface) !important; border-bottom: 1px solid var(--bs-border) !important; }
.p23-overlay[data-module="balance"] .p23-dialog > header h2 { flex: 1; overflow-wrap: anywhere; }
.p23-overlay[data-module="balance"] .p23-dialog form { padding: var(--bs-space-5); }
.p23-overlay[data-module="balance"] .p23-form { gap: var(--bs-space-5) var(--bs-space-4); }
.p23-overlay[data-module="balance"] .p23-form label { gap: var(--bs-space-2); min-width: 0; }
.p23-overlay[data-module="balance"] .p23-form label > span { font-size: var(--bs-sm); font-weight: 550; line-height: 1.5; }
.p23-overlay[data-module="balance"] .p23-form .input { min-height: 46px; font-size: var(--bs-base); padding: var(--bs-space-3); border: 1px solid var(--bs-border); border-radius: 8px; background: white; color: var(--bs-text); }
.p23-overlay[data-module="balance"] :is(.t-muted,.p23-notice,.p23-field-error,.p23-error,small) { font-size: var(--bs-sm); line-height: 1.6; }
.p23-overlay[data-module="balance"] .t-muted { color: var(--bs-muted) !important; }
.p23-overlay[data-module="balance"] .p23-check { display: flex; flex-direction: row; align-items: center; min-height: 44px; gap: var(--bs-space-3); }
.p23-overlay[data-module="balance"] .p23-check input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--bs-accent); }
.p23-overlay[data-module="balance"] .p23-dialog footer { position: sticky; bottom: calc(-1 * var(--bs-space-5)); z-index: 2; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--bs-space-3); background: var(--bs-surface); padding: var(--bs-space-4) 0 0; border-top: 1px solid var(--bs-border); margin-top: var(--bs-space-5); }
.p23-overlay[data-module="balance"] button { min-height: var(--bs-touch) !important; font-size: var(--bs-control) !important; }
.p23-overlay[data-module="balance"] :is(.p23-trade-info,.p23-confirmation) { padding: var(--bs-space-4); margin-top: var(--bs-space-4); background: var(--bs-soft); border: 1px solid var(--bs-border); border-radius: 10px; }
.p23-overlay[data-module="balance"] :is(.p23-trade-info,.p23-confirmation) h3 { margin: 0 0 var(--bs-space-2); }
.p23-overlay[data-module="balance"] :is(.p23-trade-info,.p23-confirmation) p { font-size: var(--bs-sm); color: var(--bs-muted); }
.p23-overlay[data-module="balance"] :is(.p23-trade-info,.p23-confirmation) dl > div { display: grid; grid-template-columns: minmax(140px,1fr) minmax(0,1fr); gap: var(--bs-space-3); padding-block: var(--bs-space-2); border-bottom: 1px solid var(--bs-border); }
.p23-overlay[data-module="balance"] :is(.p23-trade-info,.p23-confirmation) dt { font-size: var(--bs-xs); color: var(--bs-muted); }
.p23-overlay[data-module="balance"] :is(.p23-trade-info,.p23-confirmation) dd { margin: 0; font-size: var(--bs-sm); overflow-wrap: anywhere; }
#p23-balance-host [hidden],.p23-overlay[data-module="balance"] [hidden] { display: none !important; }
:is(html.dark,html.theme-dark,html[data-theme="dark"]) #p23-balance-host,
:is(html.dark,html.theme-dark,html[data-theme="dark"]) .p23-overlay[data-module="balance"] {
  --bs-surface: #192638; --bs-soft: #203149; --bs-text: #e5edf8;
  --bs-muted: #b8c5d8; --bs-border: #40516a; --bs-selected: #253f66;
  --bs-focus: #91b8ff; --bs-accent: #315fc1;
}
:is(html.dark,html.theme-dark,html[data-theme="dark"]) #p23-balance-host .p23-recon { background: var(--bs-soft); }
:is(html.dark,html.theme-dark,html[data-theme="dark"]) #p23-balance-host .p23-amt.pos { color: #7ddebb; }
:is(html.dark,html.theme-dark,html[data-theme="dark"]) #p23-balance-host .p23-amt.neg { color: #ffacb7; }
:is(html.dark,html.theme-dark,html[data-theme="dark"]) #p23-balance-host .p23-selected .p23-person { color: #b8d2ff; }
:is(html.dark,html.theme-dark,html[data-theme="dark"]) #p23-balance-host .p23-mode { color: #c1d6ff; background: #273d60; }
:is(html.dark,html.theme-dark,html[data-theme="dark"]) .p23-overlay[data-module="balance"] .input { background: var(--bs-soft); }
:is(html.dark,html.theme-dark,html[data-theme="dark"]) #p23-balance-host .p23-feedback { background: #193a32; color: #abe4d1; border-color: #3b7163; }
:is(html.dark,html.theme-dark,html[data-theme="dark"]) #p23-balance-host .p23-feedback.error { background: #432631; color: #ffd0d8; border-color: #895163; }
@media (max-width: 1100px) {
  #p23-balance-host .p23-kpis6 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  #p23-balance-host .p23 { gap: var(--bs-space-4); }
  #p23-balance-host .p23-heading { flex-direction: column; }
  #p23-balance-host .p23-actions { width: 100%; flex-wrap: wrap; }
  #p23-balance-host .p23-scopebar { padding: var(--bs-space-4); flex-direction: column; align-items: stretch; }
  #p23-balance-host .p23-kpis6 { grid-template-columns: minmax(0,1fr); gap: var(--bs-space-3); }
  #p23-balance-host .p23-kpis > .card { padding: var(--bs-space-4) !important; }
  #p23-balance-host .p23-fold-content { padding: 0 var(--bs-space-3) var(--bs-space-4); }
  #p23-balance-host .p23-fold > summary { padding: var(--bs-space-4) !important; }
  #p23-balance-host .p23-accgrid { grid-template-columns: minmax(0,1fr); }
  #p23-balance-host .p23-acc { padding: var(--bs-space-4); }
  #p23-balance-host .p23-people th:first-child,
  #p23-balance-host .p23-people td:first-child { min-width: 145px; max-width: 175px; }
  #p23-balance-host .p23-txsec { padding: var(--bs-space-4); }
  #p23-balance-host .p23-quick-filters { display: flex; flex-wrap: wrap; }
  #p23-balance-host .p23-quick-filters > label { flex: 1 1 100%; }
  #p23-balance-host .p23-quick-filters .input { font-size: var(--bs-base); }
  #p23-balance-host .p23-filter-more { position: static; }
  #p23-balance-host .p23-filter-fields { max-width: calc(100vw - 3rem); }
  .p23-overlay[data-module="balance"] { padding: var(--bs-space-3); align-items: center; }
  .p23-overlay[data-module="balance"] .p23-dialog { max-height: calc(100dvh - 1.5rem); border-radius: 14px !important; }
  .p23-overlay[data-module="balance"] .p23-dialog > header,
  .p23-overlay[data-module="balance"] .p23-dialog form { padding: var(--bs-space-4) !important; }
  .p23-overlay[data-module="balance"] .p23-form { grid-template-columns: minmax(0,1fr); }
  .p23-overlay[data-module="balance"] .p23-dialog footer { bottom: calc(-1 * var(--bs-space-4)); }
  .p23-overlay[data-module="balance"] .p23-dialog footer button { flex: 1; }
  .p23-overlay[data-module="balance"] :is(.p23-trade-info,.p23-confirmation) dl > div { grid-template-columns: minmax(0,1fr); gap: var(--bs-space-1); }
}
@media (prefers-reduced-motion: reduce) {
  #p23-balance-host *, .p23-overlay[data-module="balance"] * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
