/* Same card shell and shared controls as the stock card; only the field layout is partner-specific. */
.record-detail-dialog .record-detail-shell[data-kind="partner"] { padding:0; --erp-control-height-compact:28px; }
.record-detail-shell[data-kind="partner"] .record-card-panels { padding-block:var(--erp-space-2); }
.partner-general-layout { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); grid-template-areas:"identity identity" "classification address" "tax communication" "electronic electronic"; gap:6px; align-content:start; }
.partner-general-layout.has-financial-summary { grid-template-areas:"financial financial" "identity identity" "classification address" "tax communication" "electronic electronic"; }
.partner-financial-summary { grid-area:financial; }
.partner-general-layout.has-financial-summary { gap:4px; }
.partner-general-layout.has-financial-summary .record-card-field-grid { gap:4px 12px; padding:4px 8px; }
.partner-general-layout .partner-financial-summary { display:flex; align-items:center; min-height:34px; padding:2px 8px; gap:12px; }
.partner-general-layout .partner-financial-summary .erp-panel-header { background:transparent; border:0; padding:0; min-height:0; flex:0 0 auto; }
.partner-financial-values { display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
.partner-financial-values > select { width:76px!important; flex:0 0 auto; min-height:28px; height:28px; padding:2px 8px; line-height:normal; font-size:12px; }
.partner-financial-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; flex:1; }
.partner-financial-metrics > div { display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0; font-size:12px; }
.partner-financial-metrics span { color:var(--muted); white-space:nowrap; }
.partner-financial-metrics output { font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap; }
.partner-financial-metrics output[data-balance-type="Debit"] { color:var(--erp-danger,#b43e35); }
.partner-financial-metrics output[data-balance-type="Credit"] { color:var(--erp-accent,#28747b); }
@media (max-width:700px) { .partner-financial-values { flex-wrap:wrap; }.partner-financial-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); flex-basis:100%; }.partner-general-layout .partner-financial-summary { align-items:flex-start; }.partner-financial-metrics > div { flex-direction:column;align-items:flex-start; } }
.partner-financial-table { width:100%; border-collapse:collapse; font-size:12px; }
.partner-financial-table th,.partner-financial-table td { padding:3px 10px; border-bottom:1px solid var(--erp-border); text-align:left; }
.partner-financial-table th:not(:first-child):not(:last-child),.partner-financial-table td.partner-money-cell { text-align:right; font-variant-numeric:tabular-nums; }
.partner-financial-table th { background:var(--erp-surface-muted); }
.partner-financial-table td[data-balance-type="Debit"] { color:var(--erp-danger,#b43e35); font-weight:700; }
.partner-financial-table td[data-balance-type="Credit"] { color:var(--erp-accent,#28747b); font-weight:700; }
.partner-financial-note { margin:0; padding:4px 10px; color:var(--muted); font-size:11px; }
@media (max-width:700px) { .partner-general-layout.has-financial-summary { grid-template-areas:"financial" "identity" "classification" "tax" "address" "communication" "electronic"; } }
.partner-general-identity { grid-area:identity; }
.partner-general-classification { grid-area:classification; }
.partner-general-tax { grid-area:tax; }
.partner-general-address { grid-area:address; }
.partner-general-communication { grid-area:communication; }
.partner-general-electronic { grid-area:electronic; }
.partner-general-layout .erp-panel { min-width:0; overflow:hidden; border:1px solid var(--erp-border); border-radius:var(--erp-radius-md); background:var(--erp-surface); }
.partner-general-layout .erp-panel-header { display:flex; align-items:center; justify-content:flex-start; gap:8px; min-height:26px; padding:4px 10px; border-bottom:1px solid var(--erp-border); background:var(--erp-surface-muted); }
.partner-general-layout .erp-panel-header svg { width:16px; height:16px; fill:none; stroke:var(--erp-accent); stroke-width:1.7; }
.partner-general-layout .erp-panel-title { margin:0; color:var(--brand-navy); font-size:12px; }
.partner-general-layout .record-card-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 12px; padding:6px 8px; border:0; border-radius:0; box-shadow:none; background:var(--erp-surface); align-content:start; }
.partner-general-layout .wide { grid-column:1 / -1; }
.partner-general-identity .record-card-field-grid { grid-template-columns:minmax(220px,1fr) 240px 210px 150px; grid-template-areas:"code type sales status" "name name name name" "secondary secondary secondary secondary"; }
.partner-general-identity .erp-field:has([name="code"]) { grid-area:code; }
.partner-general-identity .erp-field:has([name="name"]) { grid-area:name; }
.partner-general-identity .erp-field:has([name="secondaryName"]) { grid-area:secondary; }
.partner-general-identity .erp-field:has([name="type"]) { grid-area:type; }
.partner-general-identity .erp-field:has([name="salesType"]) { grid-area:sales; }
.partner-general-identity .erp-field:has([name="isActive"]) { grid-area:status; }
.product-erp-card .partner-general-layout .erp-field { min-width:0; display:grid; grid-template-columns:82px minmax(0,1fr); align-items:center; gap:4px 8px; }
.product-erp-card .partner-general-layout .erp-field-label { grid-column:1; grid-row:1; text-align:left; line-height:1.25; }
.product-erp-card .partner-general-layout .erp-control { grid-column:2; grid-row:1; }
.product-erp-card .partner-general-layout .field-validation-message { grid-column:2; text-align:left; }
.product-erp-card .partner-general-identity .erp-field { grid-template-columns:82px minmax(0,1fr); align-content:center; }
.product-erp-card .partner-general-identity .erp-field:has([name="type"]) { grid-template-columns:54px minmax(0,1fr); }
.product-erp-card .partner-general-identity .erp-field:has([name="isActive"]) { grid-template-columns:44px minmax(0,1fr); }
.partner-general-communication .record-card-field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.partner-general-electronic .record-card-field-grid { grid-template-columns:minmax(130px,.55fr) minmax(230px,1fr) minmax(245px,1fr) minmax(260px,1.3fr); }
.product-erp-card .partner-general-electronic .erp-field { grid-template-columns:112px minmax(0,1fr); }
.product-erp-card .partner-general-electronic .record-checkbox { grid-template-columns:90px minmax(0,1fr); min-height:28px; padding:0; border:0; background:transparent; }
.partner-general-electronic .erp-control[type="checkbox"] { width:18px; height:18px; min-height:18px; justify-self:start; }
.partner-general-layout .erp-control { width:100%; min-width:0; box-sizing:border-box; }
.partner-email-control { grid-column:2; grid-row:1; display:flex; align-items:center; gap:4px; min-width:0; }
.partner-email-control > .erp-control { flex:1; width:0; }
.partner-email-list-button { flex:0 0 auto; height:28px; min-width:38px; display:flex; align-items:center; justify-content:center; gap:3px; padding:0 5px; border:1px solid var(--erp-border); border-radius:var(--erp-radius-sm); background:var(--erp-surface); color:var(--brand-navy); cursor:pointer; }
.partner-email-list-button svg { width:15px; height:15px; fill:none; stroke:var(--erp-accent); stroke-width:1.7; }
.partner-email-list-button span { font:700 11px var(--ui-font); }
.partner-email-list-button:focus-visible { outline:2px solid var(--erp-focus-border); outline-offset:2px; }
.partner-email-dialog { width:min(820px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid var(--erp-border); border-radius:var(--erp-radius-lg); color:var(--ink); background:var(--erp-surface); }
.partner-email-dialog::backdrop { background:rgb(8 20 40 / .4); }
.partner-email-dialog form { display:flex; flex-direction:column; gap:12px; padding:18px; }
.partner-email-dialog header h2 { margin:0 0 6px; font-size:20px; }
.partner-email-dialog p { margin:0; font-size:12px; color:var(--muted); }
.partner-email-toolbar,.partner-email-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.partner-email-toolbar > span { font-size:12px; color:var(--muted); }
.partner-email-dialog footer { justify-content:flex-end; }
.partner-email-table-scroll { max-height:45vh; overflow:auto; border:1px solid var(--erp-border); border-radius:var(--erp-radius-sm); }
.partner-email-dialog table { width:100%; min-width:590px; table-layout:fixed; border-collapse:collapse; font-size:12px; }
.partner-email-dialog th,.partner-email-dialog td { padding:6px; border-bottom:1px solid var(--erp-border); text-align:left; }
.partner-email-dialog th { position:sticky; top:0; z-index:1; background:var(--erp-surface-muted); }
.partner-email-dialog th:nth-child(1) { width:25%; }.partner-email-dialog th:nth-child(2) { width:23%; }.partner-email-dialog th:last-child { width:64px; }
.partner-email-dialog input { width:100%; min-width:0; height:32px; padding:5px 7px; box-sizing:border-box; font:inherit; color:var(--ink); background:var(--erp-surface); border:1px solid var(--erp-border); border-radius:var(--erp-radius-sm); }
.partner-email-dialog input[readonly] { background:var(--erp-surface-muted); }
.partner-email-dialog .erp-button-secondary,.partner-email-list-button { color:var(--ink); }
.partner-definition-dialog { width:min(480px,calc(100vw - 32px)); max-height:80vh; padding:20px; color:var(--ink); background:var(--erp-surface); border:1px solid var(--erp-border); border-radius:var(--erp-radius-lg); }
.partner-definition-dialog::backdrop { background:rgb(8 20 40 / .4); }
.partner-definition-dialog form,.partner-definition-dialog label,.partner-definition-dialog details { display:grid; gap:8px; }
.partner-definition-dialog h2 { margin:0 0 8px; font-size:18px; }
.partner-definition-dialog input,.partner-definition-dialog button { padding:8px; color:var(--ink); background:var(--erp-surface); border:1px solid var(--erp-border); border-radius:var(--erp-radius-sm); font:inherit; }
.partner-definition-results { display:grid; max-height:250px; overflow:auto; gap:4px; }
.partner-definition-results button { text-align:left; cursor:pointer; }
.partner-definition-dialog nav { display:flex; justify-content:space-between; }
.partner-definition-dialog [role=status] { font-size:12px; }
.partner-taxpayer-status { margin:0; padding:6px 10px; font-size:12px; color:var(--ink); background:var(--erp-surface-muted); border-top:1px solid var(--erp-border); overflow-wrap:anywhere; }
.partner-taxpayer-status.error { color:var(--erp-danger, #b42318); }
.partner-taxpayer-dialog { box-sizing:border-box; width:min(620px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow:auto; padding:18px; color:var(--ink); background:var(--erp-surface); border:1px solid var(--erp-border); border-radius:var(--erp-radius-md); font:13px var(--ui-font); }
.partner-taxpayer-dialog::backdrop { background:rgb(8 20 40 / .4); }
.partner-taxpayer-dialog h2 { margin:0 0 10px; font-size:18px; }
.partner-taxpayer-dialog h3 { margin:0 0 6px; font-size:14px; }
.partner-taxpayer-dialog p { margin:8px 0; overflow-wrap:anywhere; }
.partner-taxpayer-dialog section { padding:10px; margin:10px 0; border:1px solid var(--erp-border); border-radius:var(--erp-radius-sm); }
.partner-taxpayer-dialog label { display:grid; gap:5px; }
.partner-taxpayer-dialog select { min-width:0; width:100%; height:32px; font:inherit; color:var(--ink); background:var(--erp-surface); border:1px solid var(--erp-border); }
.partner-taxpayer-dialog footer { display:flex; justify-content:flex-end; gap:8px; position:sticky; bottom:-18px; padding:10px 0; background:var(--erp-surface); }
:root[data-theme="dark"] #recordCardForm[data-kind="partner"] { --brand-navy:var(--ink); --erp-border:var(--line); --erp-surface-muted:#102b40; }
:root[data-theme="dark"] #recordCardForm[data-kind="partner"] .partner-general-layout .erp-control { color:var(--ink); background:#102b40; border-color:var(--line); }
:root[data-theme="dark"] #recordCardForm[data-kind="partner"] .partner-general-layout .erp-control[readonly],
:root[data-theme="dark"] #recordCardForm[data-kind="partner"] .partner-general-layout .erp-control:disabled { color:#b7c9d3; background:#0b1c2b; }
@media(max-width:1100px) {
  .partner-general-layout .record-card-field-grid { grid-template-columns:minmax(0,1fr); }
  .partner-general-identity .record-card-field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"code status" "type sales" "name name" "secondary secondary"; }
  .partner-general-electronic .record-card-field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) { .partner-general-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"identity" "classification" "tax" "address" "communication" "electronic"; } .partner-general-identity .record-card-field-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"code" "type" "sales" "status" "name" "secondary"; } .partner-general-electronic .record-card-field-grid { grid-template-columns:minmax(0,1fr); } }
