.ledger-preview-grid {
  display:grid;
  grid-template-columns:minmax(0,2.25fr) minmax(255px,1fr);
  align-items:stretch;
  gap:12px;
  flex:1;
  min-height:0;
}
.ledger-preview-grid > .data-panel,.ledger-preview-grid .table-frame { min-width:0; }
.ledger-preview-grid .trading-table { min-width:690px; }
.ledger-preview-grid .trading-table td.right { white-space:nowrap; font-variant-numeric:tabular-nums; }
.ledger-preview-grid .trading-table td:nth-child(3) > .badge { display:table; margin-top:3px; }
.expense-selected > td { background:var(--accent-soft); }
.ledger-preview-stack { min-width:0; min-height:0; overflow:auto; display:grid; gap:10px; align-content:start; }
.ledger-preview-card { display:grid; gap:7px; align-content:start; padding:12px 14px; }
.ledger-preview-card h2,.ledger-preview-card h3 { margin:0; }
.content .ledger-preview-card h2 { font-size:16px; }
.content .ledger-preview-card h3 { font-size:15px; overflow-wrap:anywhere; }
.ledger-preview-card p { margin:0; color:var(--muted); overflow-wrap:anywhere; }
.ledger-preview-card dl { display:grid; gap:5px; margin:1px 0; font-size:13px; }
.ledger-preview-card dl > div { display:flex; justify-content:space-between; gap:6px; padding-top:5px; border-top:1px solid var(--line); }
.ledger-preview-card dt { color:var(--muted); }
.ledger-preview-card dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.ledger-preview-card .btn { justify-self:start; }
.expense-receipt { display:block; width:100%; height:auto; max-height:370px; object-fit:contain; border-radius:7px; background:var(--ground); }
.expense-receipt[hidden],.expense-receipt-error[hidden] { display:none; }
.balance-sheet { min-width:720px; }
.fixed-sheet { min-width:680px; }
:is(.balance-sheet,.fixed-sheet) :is(th,td).right { display:table-cell; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.balance-inline-payments { display:grid; gap:4px; border-top:1px solid var(--line); padding-top:6px; }
.balance-inline-payments p { display:flex; justify-content:space-between; gap:6px; }
.balance-inline-payments b { color:var(--ink); white-space:nowrap; }
.sale-ledger-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); }
.expense-ledger-grid,.fixed-ledger-grid { grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); }
.paired-detail { display:flex; flex-direction:column; min-width:0; min-height:0; overflow:auto; }
.sale-ledger-grid .trading-table,.expense-ledger-grid .trading-table { min-width:610px; }
.sale-ledger-grid .trading-table :is(th,td),.expense-ledger-grid .trading-table :is(th,td) { padding-inline:9px; }
#sale-ledger-preview .sales-popup-body { flex:1; min-height:0; overflow:auto; }
#sale-ledger-preview .sales-popup-metric { padding:9px; }
#sale-ledger-preview .sales-popup-metric > strong { font-size:clamp(17px,1.3vw,25px); }
#sale-ledger-preview .sales-popup-table .sheet-table { min-width:630px; }
#sale-ledger-preview .sales-popup-head { flex-wrap:wrap; gap:8px; }
.sales-ledger-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; border-top:1px solid var(--line); padding:8px 12px; }
.sale-selection { display:flex; flex:1 1 100%; justify-content:space-between; flex-wrap:wrap; gap:4px 8px; color:var(--muted); font-size:13px; }
.sale-selection strong { color:var(--ink); }
#sale-ledger-preview .selected-sale-entry > td { background:var(--accent-soft); }
.sales-ledger-actions .receive-action { background:#176749; border-color:#176749; color:#fff; }
.sales-ledger-actions .receive-action:hover { background:#12543c; border-color:#12543c; }
.trade-row-links { display:grid; gap:2px; justify-items:start; }
.trade-company-link { padding:0; background:none; color:var(--accent-dark); text-align:left; text-decoration:underline; text-underline-offset:3px; font-weight:750; overflow-wrap:anywhere; }
.preview-name { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px; }
#transaction-company-dialog { width:min(500px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); }
#transaction-company-dialog .directory-profile { align-self:stretch; }
.fixed-schedule,.inline-payment { border-top:1px solid var(--line); padding-top:8px; }
.fixed-schedule > .form-stack { gap:7px; margin-top:6px; }
.fixed-schedule .choice-stack { display:flex; flex-wrap:wrap; gap:5px; }
.fixed-schedule .choice-stack button { min-height:33px; }
#balance-preview .balance-evidence { border-top:1px solid var(--line); padding-block:6px; }
#balance-preview .balance-evidence > summary { cursor:pointer; font-weight:700; }
#balance-payment-slot { display:grid; gap:6px; margin-top:5px; }
#balance-payment-slot #payment-form { gap:6px; }
#balance-payment-slot #payment-form .notice { display:none; }
#balance-payment-slot #payment-form .lookup-button { min-height:28px; }
#balance-payment-slot .form-summary { padding:6px 8px; }
#balance-payment-slot #save-payment-inline { justify-self:end; }
.owner-member-filters { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.owner-member-filters input { flex:1 1 170px; min-width:0; }
.owner-member-filters [aria-pressed=true] { background:var(--accent-soft); border-color:var(--accent); color:var(--accent-dark); }
.owner-list h2 small { color:var(--muted); font-size:13px; }
.trade-inline-editor { border-top:1px solid var(--line); padding-top:9px; }
.trade-inline-editor .dialog-layout { height:auto; }
.trade-inline-editor :is(.dialog-header,.dialog-body,.dialog-footer) { padding:7px 0; }
.trade-inline-editor :is(label,input,select) { display:block; width:100%; min-width:0; }
.trade-inline-editor .row-actions { margin-top:9px; }
.expense-ledger-grid #expense-preview { gap:0; }
.expense-ledger-grid #expense-preview > section + section { border-top:1px solid var(--line); }
.directory-profile-actions { margin:12px 16px; flex-wrap:wrap; }
.directory-workspace .directory-table th:last-child { width:auto; }
.directory-table .cell-button strong { max-width:none; }
:is(.sheet-table,.trading-table) tbody tr:is(:hover,:focus-within) > td {
  background:color-mix(in srgb,var(--accent) 8%,var(--paper));
}
[data-select-row] { cursor:pointer; }
[data-select-row] [data-row-select] { width:100%; }
:is(.sheet-table,.trading-table) tbody .btn:not(.primary):not(.danger) { background:var(--paper); color:var(--ink); border-color:var(--line); }
:is(.sheet-table,.trading-table) tbody .btn:not(.primary):not(.danger):hover { border-color:var(--accent); }
.dashboard-studio .insight-legend .dashboard-profit-key,.dashboard-studio #insight-trend-exact b:last-child { color:var(--profit); }
.owner-admin-content { min-height:0; flex:1; overflow:auto; }
.owner-split,.owner-ai-grid { display:grid; min-height:0; gap:12px; align-items:start; grid-template-columns:minmax(260px,.72fr) minmax(0,1.4fr); }
.owner-ai-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.owner-card-stack { display:grid; align-content:start; gap:12px; min-width:0; }
.owner-inline-card,.owner-list { display:grid; gap:9px; align-content:start; min-width:0; padding:14px 16px; }
.owner-list { max-height:100%; overflow:auto; }
.owner-list .owner-card { min-height:57px; padding:8px 11px; width:100%; }
.owner-list .owner-card[aria-pressed=true] { border-color:var(--accent); background:var(--accent-soft); }
.owner-inline-card h2,.owner-list h2 { margin:0; overflow-wrap:anywhere; }
.owner-inline-card .form-stack { gap:8px; }
.owner-inline-card .form-stack > label { display:grid; gap:4px; }
.owner-inline-card .form-stack :is(input,select,textarea) { min-width:0; }
.owner-inline-card .erp-button-row { flex-wrap:wrap; }
.owner-inline-card .erp-member-fields { margin:0; padding-block:6px; }
.owner-inline-card .member-credit-section { padding-top:7px; }
.owner-inline-card [data-account-status]:empty,.erp-admin-status:empty { display:none; }
.owner-members-workspace {
  display:grid; grid-template-columns:minmax(190px,.8fr) minmax(300px,1.35fr) minmax(210px,1fr);
  gap:12px; align-items:start; min-height:0;
}
.owner-members-workspace > .owner-list { grid-template-rows:auto auto minmax(0,1fr); max-height:min(66dvh,650px); overflow:hidden; }
.owner-member-results { display:grid; gap:7px; min-height:0; overflow:auto; overscroll-behavior:contain; padding:2px; }
.owner-member-profile { overflow:visible; }
.owner-member-profile .member-identity-fields {
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 13px; font-size:13px;
}
.member-identity-fields dt { color:var(--muted); font-size:12px; }
.member-identity-fields .member-wide-field { grid-column:1/-1; }
.member-ip-label { display:inline-block; padding:1px 5px; border-radius:5px; background:var(--accent-soft); color:var(--accent-dark); font-size:11px; }
.member-card-actions { padding-top:8px; border-top:1px solid var(--line); }
.member-card-actions .btn { min-height:36px; white-space:normal; }
.owner-member-history .member-credit-history { max-height:min(56dvh,540px); overscroll-behavior:contain; }
.owner-member-history .member-credit-history span { min-width:0; overflow-wrap:anywhere; }
.owner-signup-ip summary { cursor:pointer; font-weight:700; overflow-wrap:anywhere; }
.owner-signup-ip ul { list-style:none; padding:0; margin:8px 0 0; max-height:180px; overflow:auto; }
.owner-signup-ip li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px 9px; padding:5px 0; overflow-wrap:anywhere; }
.owner-signup-ip li span { color:var(--muted); }
.owner-usage-details h3 { margin:8px 0 2px; }
#erp-account-dialog:has(.member-edit-form) { width:min(490px,calc(100vw - 24px)); }
#erp-account-dialog .member-edit-form :is(input[type=number],input[type=date]) { width:min(100%,184px); min-height:39px; }
#erp-account-dialog .member-edit-form textarea { min-height:52px; max-height:8rem; resize:vertical; }
#erp-account-dialog .member-edit-form > button { justify-self:start; }
#erp-account-dialog .member-edit-form [data-account-status]:empty { display:none; }
[data-assistant-owner] input:is([type=time],[type=number]),#credit-policy input[type=number] { width:min(100%,184px); }
@media(max-width:1210px) {
  .owner-members-workspace { grid-template-columns:minmax(175px,.8fr) minmax(0,1.5fr); }
  .owner-members-workspace > .owner-list { grid-row:span 2; }
}
@media(max-width:680px) {
  .owner-members-workspace { grid-template-columns:minmax(0,1fr); }
  .owner-members-workspace > .owner-list { grid-row:auto; max-height:36dvh; }
}

#transaction-dialog { width:min(826px,calc(100vw - 20px)); max-height:calc(100dvh - 22px); overflow:hidden; }
#transaction-dialog .dialog-header { padding:13px 18px; }
#transaction-dialog .dialog-header p { display:block; margin-top:3px; }
#transaction-dialog .dialog-body { padding:9px 18px; }
#transaction-dialog .dialog-footer { padding:10px 18px; }
#transaction-form { gap:8px; }
#transaction-form .tx-kind-picker { display:flex; align-items:center; gap:12px; }
#transaction-form .tx-kind-picker .segmented { min-width:190px; }
#transaction-form .transaction-columns { grid-template-columns:minmax(0,1.18fr) minmax(0,1fr); }
#transaction-form .tx-entry-block { gap:7px 9px; padding:12px; }
#transaction-form .tx-entry-block h3 { display:flex; align-items:center; gap:6px; }
#transaction-form :is(.tx-entry-block h3,#tx-advanced summary,.tx-photo-fields summary) > .od-icon { color:var(--accent-dark); }
#transaction-form .tx-basic-fields > .field:has(#tx-content) { grid-column:auto; }
#transaction-form .tx-settlement-fields { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; background:var(--ground); }
#transaction-form .tx-settlement-fields > .field:has(#settlement-label,#tx-due),#tx-credit-row { grid-column:1/-1; }
#transaction-form #tx-method-field:has(~ #tx-due-field[hidden]) { grid-column:1/-1; }
#transaction-form #tx-method-field .helper { font-size:11px; line-height:1.4; }
#transaction-form .amount-input { position:relative; }
#transaction-form .amount-input input { padding-right:34px; }
#transaction-form .amount-input > span { inset:auto 10px auto auto; top:50%; transform:translateY(-50%); }
#transaction-form :is(#tx-advanced,.tx-photo-fields) { display:block; border:1px solid var(--line); padding:0; border-radius:10px; min-width:0; }
#transaction-form :is(#tx-advanced,.tx-photo-fields) > summary { display:flex; align-items:center; gap:8px; padding:7px 11px; list-style:none; }
#transaction-form :is(#tx-advanced,.tx-photo-fields) > summary::-webkit-details-marker { display:none; }
#transaction-form :is(#tx-advanced,.tx-photo-fields) > summary::after { content:'⌄'; }
#transaction-form :is(#tx-advanced,.tx-photo-fields)[open] > summary { border-bottom:1px solid var(--line); }
#transaction-form :is(#tx-advanced,.tx-photo-fields)[open] > summary::after { transform:rotate(180deg); }
#transaction-form .tx-optional-summary { margin-left:auto; color:var(--muted); font-size:12px; text-align:right; }
#transaction-form #tx-advanced > .form-stack { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:7px; padding:8px 11px; }
#transaction-form #tx-advanced > .form-stack > .field-pair { display:contents; }
#transaction-form #tx-advanced .field:has(#tx-evidence) { grid-row:1; grid-column:3; }
#transaction-form #tx-advanced .field > small { font-size:11px; color:var(--muted); }
#transaction-form .tx-photo-fields > .erp-photo { margin:4px 8px; padding:5px 8px; gap:5px; border:0; }
#transaction-form #tx-photo .photo-heading { display:none; }
#transaction-form #tx-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
#tx-summary > div { display:grid; gap:2px; padding-inline:7px; border-left:1px solid var(--line); }
#tx-summary > div:first-child { border:0; }
#tx-summary span { color:var(--muted); font-size:12px; }
#tx-summary strong { font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
#tx-summary > div:nth-child(3) strong { color:var(--accent-dark); }
#tx-summary > p { grid-column:1/-1; }

@media(max-width:700px) {
  .ledger-preview-grid { display:flex; flex-direction:column; overflow:auto; }
  .ledger-preview-grid > .data-panel { flex:none; max-height:48dvh; }
  .paired-detail { flex:none; overflow:visible; }
  .ledger-preview-stack { flex:none; overflow:visible; }
  .owner-split,.owner-ai-grid { grid-template-columns:1fr; }
  #transaction-form .transaction-columns { grid-template-columns:1fr; }
  #transaction-form #tx-advanced > .form-stack { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #transaction-form #tx-advanced .field:has(#tx-evidence) { grid-area:auto; }
  #transaction-dialog :is(.dialog-body,.dialog-header,.dialog-footer) { padding-inline:10px; }
}
