
/* R35.4.19 single shared commercial detail layout. */
#quotationModal .cd-document, #invoiceDetailPage .cd-document {
 --commercial-title-size:24px;--commercial-section-size:16px;
 --commercial-page-x:24px;--commercial-panel-padding:20px;
 font-family:inherit;color:#172033;
}
.cd-detail-host{margin:0;padding:0}
.cd-detail-layout{margin:0;padding:0;width:100%}
#quotationModal .cd-canonical-header,#invoiceDetailPage .cd-canonical-header{margin:0;top:auto;position:relative}
#quotationModal .cd-header-shell,#invoiceDetailPage .cd-header-shell{max-width:1500px;width:100%;margin:0 auto;padding:12px var(--commercial-page-x);gap:9px}
#quotationModal .cd-breadcrumb,#invoiceDetailPage .cd-breadcrumb{font-size:13px;line-height:20px;color:#64748b;margin:0}
#quotationModal .cd-document-number,#invoiceDetailPage .cd-document-number{font-size:var(--commercial-title-size);font-weight:750;line-height:1.3;letter-spacing:-.025em}
#quotationModal .cd-meta,#invoiceDetailPage .cd-meta{font-size:14px;line-height:22px;color:#64748b}
#quotationModal .cd-navigation button,#invoiceDetailPage .cd-navigation button{min-height:40px;border-radius:6px}
#quotationModal .cd-toolbar,#invoiceDetailPage .cd-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:5px 0 3px}
#quotationModal .cd-toolbar button,#invoiceDetailPage .cd-toolbar button{min-height:40px;border-radius:6px;font-size:13px;font-weight:650}
#quotationModal .cd-workflow-stage,#invoiceDetailPage .cd-workflow-stage{min-height:32px;font-size:11px;font-weight:700}
#invoiceDetailPage .cd-document main>div{padding:14px var(--commercial-page-x) 24px;max-width:1500px;margin:auto;gap:12px}
#quotationModal .cd-summary>div,#invoiceDetailPage .cd-summary>div{padding:16px;min-height:98px;border:1px solid #e2e8f0;border-radius:6px;background:white}
#quotationModal main .cd-section,#invoiceDetailPage main .cd-section{border:1px solid #e2e8f0;border-radius:6px;background:white;padding:var(--commercial-panel-padding);box-shadow:none}
#quotationModal main .cd-section-heading,#invoiceDetailPage main .cd-section-heading{font-size:var(--commercial-section-size);line-height:1.4;font-weight:700}
#quotationModal .cd-lines,#invoiceDetailPage .cd-lines{width:100%;border-collapse:collapse;font-size:14px}
#quotationModal .cd-lines th,#invoiceDetailPage .cd-lines th{font-size:12px;font-weight:700;line-height:1.4;padding:12px;text-transform:uppercase}
#quotationModal .cd-lines td,#invoiceDetailPage .cd-lines td{padding:12px;line-height:1.45;vertical-align:middle;border-bottom:1px solid #e2e8f0}
#quotationModal .cd-lines .cd-numeric,#invoiceDetailPage .cd-lines .cd-numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#invoiceDetailPage .dm-invoice-product-name{font-size:14px;font-weight:700;line-height:1.35}
#invoiceDetailPage .dm-invoice-line-description{margin-top:3px;font-size:12px;line-height:1.4;color:#64748b}
#quotationModal .cd-financial-row,#invoiceDetailPage .cd-financial-row{font-size:14px;line-height:1.5;padding:7px 0}
@media(max-width:768px){#quotationModal .cd-header-shell,#invoiceDetailPage .cd-header-shell{padding:12px 16px}#invoiceDetailPage .cd-document main>div{padding:12px 16px 20px}#quotationModal main .cd-section,#invoiceDetailPage main .cd-section{padding:16px}}
@media(max-width:420px){#quotationModal .cd-document-number,#invoiceDetailPage .cd-document-number{font-size:21px}#invoiceDetailPage .dm-commercial-summary{grid-template-columns:1fr}}

/* Shared structural geometry: both domain renderers use the same root and content layout. */
.cd-detail-layout{display:flex;flex-direction:column;min-height:100%;background:#f8fafc}
.cd-detail-layout>.cd-canonical-header{flex:0 0 auto}
.cd-detail-layout>main{flex:1 1 auto;min-width:0}
.cd-detail-layout .cd-detail-content{width:100%;max-width:1500px;margin-inline:auto;padding:14px 24px 24px;display:flex;flex-direction:column;gap:12px}
.cd-detail-layout .cd-header-shell{width:100%;max-width:1500px;margin-inline:auto;padding:12px 24px;gap:9px}
.cd-detail-layout .cd-section{height:auto;min-height:0}
.cd-detail-layout .cd-product-name{display:block;visibility:visible;opacity:1;font-weight:700;color:#172033;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.cd-detail-layout .cd-product-description{display:block;margin-top:3px;font-size:12px;line-height:1.4;color:#64748b;white-space:normal;overflow-wrap:anywhere}
.cd-detail-layout .cd-lines td:first-child{min-width:180px;vertical-align:middle}
.cd-detail-layout .cd-lines-scroll,.cd-detail-layout .dm-record-list-shell{max-width:100%;overflow-x:auto}
@media(max-width:768px){.cd-detail-layout .cd-detail-content{padding:12px 16px 20px}.cd-detail-layout .cd-header-shell{padding:12px 16px}}
/* R35.4.25 canonical main: transparent slots retain domain form DOM identity. */
.cd-detail-layout .cd-content-slot{display:contents}
.cd-detail-layout .cd-canonical-main{display:block;min-width:0}

/* R35.4.36: canonical layout parity and text-flow repair. Scoped to commercial detail only. */
:is(#quotationModal,#invoiceDetailPage) .cd-detail-layout {
  --commercial-page-x:24px;
  --commercial-panel-padding:20px;
  width:100%; min-width:0; margin:0; padding:0;
}
:is(#quotationModal,#invoiceDetailPage) .cd-detail-layout .cd-header-shell,
:is(#quotationModal,#invoiceDetailPage) .cd-detail-layout .cd-detail-content {
  box-sizing:border-box; width:100%; max-width:1500px;
  margin-inline:auto; padding-inline:var(--commercial-page-x);
}
:is(#quotationModal,#invoiceDetailPage) .cd-detail-layout .cd-header-shell {padding-block:16px 12px;}
:is(#quotationModal,#invoiceDetailPage) .cd-detail-layout .cd-detail-content {padding-block:14px 24px;}
:is(#quotationModal,#invoiceDetailPage) .cd-summary,
:is(#quotationModal,#invoiceDetailPage) .dm-commercial-summary,
:is(#quotationModal,#invoiceDetailPage) .quotation-summary-cards {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;
  min-width:0; width:100%;
}
:is(#quotationModal,#invoiceDetailPage) .cd-summary-card,
:is(#quotationModal,#invoiceDetailPage) .cd-summary > div {
  display:flex; flex-direction:column; align-items:flex-start;
  justify-content:flex-start; gap:7px; min-width:0;
  min-height:100px; padding:16px; overflow-wrap:anywhere;
}
:is(#quotationModal,#invoiceDetailPage) .cd-summary-card > *,
:is(#quotationModal,#invoiceDetailPage) .cd-summary > div > * {
  display:block; position:static; margin:0; padding:0; max-width:100%;
  min-width:0; white-space:normal; overflow-wrap:anywhere;
}
:is(#quotationModal,#invoiceDetailPage) .cd-summary-label,
:is(#quotationModal,#invoiceDetailPage) .cd-summary-card > small:first-child {
  font-size:12px; line-height:1.4; font-weight:500; color:#64748b;
}
:is(#quotationModal,#invoiceDetailPage) .cd-summary-value,
:is(#quotationModal,#invoiceDetailPage) .cd-summary-card > strong {
  font-size:19px; line-height:1.3; font-weight:700; color:#172033;
  font-variant-numeric:tabular-nums;
}
:is(#quotationModal,#invoiceDetailPage) .cd-summary-note,
:is(#quotationModal,#invoiceDetailPage) .cd-summary-card > small:last-child:not(:first-child) {
  font-size:12px; line-height:1.4; font-weight:400; color:#64748b;
}
:is(#quotationModal,#invoiceDetailPage) .cd-information-panel .cd-fields {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:24px; row-gap:18px; min-width:0;
}
:is(#quotationModal,#invoiceDetailPage) .cd-information-panel .cd-field {
  display:flex; flex-direction:column; gap:5px; min-width:0;
}
:is(#quotationModal,#invoiceDetailPage) .cd-information-panel .cd-field-label {
  display:block; font-size:12px; line-height:1.45; color:#64748b; margin:0;
}
:is(#quotationModal,#invoiceDetailPage) .cd-information-panel .cd-field-value {
  display:block; font-size:14px; line-height:1.45; font-weight:600;
  color:#172033; margin:0; overflow-wrap:anywhere;
}
:is(#quotationModal,#invoiceDetailPage) .cd-information-panel {position:relative;min-width:0;}
:is(#quotationModal,#invoiceDetailPage) .cd-information-panel .cd-section-icon {
  position:absolute; top:18px; right:20px; margin:0;
}
:is(#quotationModal,#invoiceDetailPage) .cd-header-top {min-width:0;}
:is(#quotationModal,#invoiceDetailPage) .cd-toolbar {align-items:center;gap:8px;}
@media(max-width:900px){
  :is(#quotationModal,#invoiceDetailPage) .cd-summary,
  :is(#quotationModal,#invoiceDetailPage) .dm-commercial-summary,
  :is(#quotationModal,#invoiceDetailPage) .quotation-summary-cards {grid-template-columns:repeat(2,minmax(0,1fr));}
  :is(#quotationModal,#invoiceDetailPage) .cd-information-panel .cd-fields {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  :is(#quotationModal,#invoiceDetailPage) .cd-detail-layout {--commercial-page-x:16px;--commercial-panel-padding:16px;}
  :is(#quotationModal,#invoiceDetailPage) .cd-summary,
  :is(#quotationModal,#invoiceDetailPage) .dm-commercial-summary,
  :is(#quotationModal,#invoiceDetailPage) .quotation-summary-cards {grid-template-columns:1fr;}
  :is(#quotationModal,#invoiceDetailPage) .cd-information-panel .cd-fields {grid-template-columns:1fr;}
}

/* R35.4.37 — Quotation document header scrolls; only global ERP navigation remains sticky.
   The legacy theme forces quotation headers to sticky with !important. */
#quotationModal > div > header,
#quotationModal header.cd-canonical-header,
#quotationModal .cd-detail-layout > header,
#quotationModal .cd-document .cd-canonical-header {
  position:relative !important; top:auto !important; z-index:auto !important;
  backdrop-filter:none;
}
/* R35.4.37 — Domain-owned editor controls inside canonical panels.
   Quotation form's nested Tailwind grids were being squeezed into one grid cell.
   Preserve original inputs, names, IDs, callbacks and validation. */
#quotationModal .cd-information-panel > .cd-fields {
  display:block; min-width:0; width:100%; margin-top:16px;
}
#quotationModal .cd-information-panel > .cd-fields > .grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px 24px; width:100%; padding:0; margin:0;
}
#quotationModal .cd-information-panel > .cd-fields > .grid > * {
  grid-column:auto !important; min-width:0;
}
#quotationModal .cd-information-panel > .cd-fields > .grid > label {
  display:flex; flex-direction:column; align-items:stretch; gap:5px;
  font-size:12px; font-weight:500; line-height:1.45; color:#64748b;
}
#quotationModal .cd-information-panel > .cd-fields > .grid > label > input,
#quotationModal .cd-information-panel > .cd-fields > .grid > label > select {
  min-width:0; max-width:100%; margin-top:0; font-size:14px;
}
#quotationModal .cd-information-panel > .cd-fields > .grid > div {
  display:flex; flex-direction:column; gap:5px;
}
#quotationModal .cd-information-panel > .cd-fields > .grid > div > span {
  display:block; font-size:12px; line-height:1.45; font-weight:500; color:#64748b;
}
#quotationModal .cd-information-panel > .cd-fields > .grid > div > div {
  margin-top:0; font-size:14px; line-height:1.45; font-weight:600; color:#172033;
}
#quotationModal #quotationProductionInfo {width:100%;min-width:0;}
#quotationModal #quotationProductionInfo > * {max-width:100%;}
@media(max-width:900px){
  #quotationModal .cd-information-panel > .cd-fields > .grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  #quotationModal .cd-information-panel > .cd-fields > .grid {grid-template-columns:minmax(0,1fr);}
}

/* R35.4.38 — Scoped quotation runtime layout recovery; Invoice remains unchanged. */
#quotationModal > .cd-detail-layout > .cd-canonical-header {
  display:block !important; visibility:visible !important; opacity:1 !important;
  position:relative !important; top:auto !important; height:auto !important;
  min-height:0; overflow:visible; flex-shrink:0;
  background:var(--dm-surface,#fff); border-bottom:1px solid var(--dm-border,#dfe5ec);
}
#quotationModal .cd-header-shell {display:flex;flex-direction:column;gap:12px;}
#quotationModal .cd-header-top {display:flex;justify-content:space-between;align-items:center;gap:16px;}
#quotationModal .cd-navigation {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
#quotationModal .cd-toolbar {display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:40px;}
#quotationModal .cd-information-panel .cd-fields > .grid > label,
#quotationModal .cd-information-panel .cd-fields > .grid > div {min-width:0;line-height:1.45;}
#quotationModal .cd-information-panel .cd-fields > .grid > label {font-size:12px;color:var(--dm-muted,#64748b);font-weight:600;}
#quotationModal .cd-information-panel input:not([type=checkbox]),
#quotationModal .cd-information-panel select,
#quotationModal .cd-information-panel textarea {width:100%;min-height:42px;box-sizing:border-box;border:1px solid var(--dm-border,#cbd5e1);border-radius:6px;background:var(--dm-surface,#fff);color:var(--dm-text,#172033);font-size:14px;}
#quotationModal .cd-information-panel input:focus-visible,
#quotationModal .cd-information-panel select:focus-visible,
#quotationModal .cd-information-panel textarea:focus-visible {outline:2px solid var(--dm-color-primary,#714b67);outline-offset:1px;}
#quotationModal .quotation-form-tab.active {color:var(--dm-color-primary,#714b67)!important;border-bottom-color:var(--dm-color-primary,#714b67)!important;}
#quotationModal .dm-command-primary,
#quotationModal .cd-primary-action {background:var(--dm-color-primary,#714b67)!important;border-color:var(--dm-color-primary,#714b67)!important;color:#fff!important;}
#quotationModal .dm-command-success {background:var(--dm-color-primary,#714b67)!important;border-color:var(--dm-color-primary,#714b67)!important;color:#fff!important;}
#quotationModal #quotationTabOrderLines button[onclick="addQuotationItem()"]:not([disabled]) {background:var(--dm-color-primary,#714b67)!important;color:#fff!important;}
#quotationModal .cd-financial {display:flex;flex-direction:column;gap:0;min-width:280px;}
#quotationModal .cd-financial-row {display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto);align-items:baseline;column-gap:20px;}
#quotationModal .cd-financial-row > span {min-width:0;}
#quotationModal .cd-financial-row > strong {text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
#quotationModal .cd-history-entry {display:grid;grid-template-columns:minmax(170px,max-content) minmax(0,1fr);align-items:baseline;gap:12px;overflow-wrap:anywhere;}
#quotationModal .cd-history-entry time {font-size:12px;color:var(--dm-muted,#64748b);}
#quotationModal .cd-history-entry > span {font-size:14px;}
@media(max-width:600px){
  #quotationModal .cd-header-top{align-items:flex-start;flex-direction:column;}
  #quotationModal .cd-history-entry{grid-template-columns:1fr;gap:4px;}
  #quotationModal .cd-financial{min-width:0;}
}

/* R35.4.39 — preserve business-owned Quotation header and normal document scrolling. */
#quotationModal { overflow-anchor:none; }
#quotationModal .cd-quotation-preserved-header {
  display:block !important; visibility:visible !important; opacity:1 !important;
  position:relative !important; top:auto !important; height:auto !important;
  min-height:150px; overflow:visible !important; flex:0 0 auto;
  background:var(--dm-surface,#fff);
}
#quotationModal .cd-quotation-preserved-header .odoo-action-row {display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
#quotationModal #quotationItemsEditor .cd-lines-scroll {display:block;min-height:64px;}
#quotationModal #quotationItemsEditor .cd-lines {display:table;width:100%;}
#quotationModal .cd-quotation-preserved-header .dm-command-primary,
#quotationModal .cd-quotation-preserved-header .dm-command-success {accent-color:var(--dm-accent,#7d4f73);}

/* R35.4.42 — consolidated quotation header layout; no shrinking action buttons. */
#quotationModal .cd-quotation-preserved-header {min-height:0!important;}
#quotationModal > div > header {margin-top:20px;}
#quotationModal .dm-quotation-header-inner {box-sizing:border-box;padding:10px 18px;display:flex;flex-direction:column;gap:8px;}
#quotationModal .dm-quotation-header-row {display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-width:0;margin:0;}
#quotationModal .dm-quotation-header-identity,
#quotationModal .dm-quotation-header-navigation,
#quotationModal .dm-quotation-toolbar-row .odoo-action-row,
#quotationModal .dm-quotation-workflow {display:flex;align-items:center;gap:8px;min-width:0;margin:0;padding:0;}
#quotationModal .dm-quotation-header-identity {flex:1 1 auto;}
#quotationModal .dm-quotation-header-navigation {flex:0 0 auto;margin-left:auto;}
#quotationModal .dm-quotation-header-navigation > button {width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:6px;}
#quotationModal .dm-quotation-header-navigation > .relative > button {width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:6px;}
#quotationModal .dm-quotation-toolbar-row {justify-content:flex-start;align-items:center;column-gap:16px;row-gap:8px;flex-wrap:wrap;}
#quotationModal .dm-quotation-toolbar-row .odoo-action-row {flex:0 0 auto;flex-wrap:wrap;width:auto;max-width:100%;min-width:0;}
#quotationModal .dm-quotation-toolbar-row .dm-command-button {flex:0 0 auto;width:auto;min-width:max-content;min-height:38px;white-space:nowrap;}
#quotationModal .dm-quotation-workflow {flex:0 0 auto;margin-left:0;white-space:nowrap;max-width:100%;width:auto;}
#quotationModal .dm-quotation-workflow .odoo-statusbar {display:flex;align-items:center;flex-wrap:nowrap;max-width:100%;}
#quotationModal .dm-quotation-workflow .odoo-status-step {font-size:11px;min-height:30px;display:flex;align-items:center;justify-content:center;white-space:nowrap;}
#quotationModal .dm-quotation-workflow .odoo-status-step.current {color:var(--dm-color-primary,var(--dm-accent));border-color:var(--dm-color-primary,var(--dm-accent));}
@media(max-width:1199px) {
  #quotationModal .dm-quotation-toolbar-row {flex-wrap:wrap;}
  #quotationModal .dm-quotation-toolbar-row .odoo-action-row {flex-wrap:wrap;}
  #quotationModal .dm-quotation-workflow {margin-left:0;max-width:100%;}
}
@media(max-width:767px) {
  #quotationModal .dm-quotation-header-inner {padding:10px 12px;}
  #quotationModal .dm-quotation-header-primary {flex-wrap:wrap;}
  #quotationModal .dm-quotation-header-identity {flex-wrap:wrap;}
  #quotationModal .dm-quotation-header-navigation {margin-left:auto;}
  #quotationModal .dm-quotation-workflow {width:100%;overflow-x:auto;}
  #quotationModal .dm-quotation-toolbar-row .odoo-action-row {width:100%;}
}
