/* ND164 — coerência global, Central Comercial e contenção responsiva. */
body.nf-redesign :is(.card,.form-stack,.form-grid-2,.form-grid-3,.grid-2,.grid-3,.nb-split,.central-content,.content,.content-area,.page-content,main,section,article,form,label){min-width:0;box-sizing:border-box}
body.nf-redesign :is(input,select,textarea,button){max-width:100%;box-sizing:border-box}
body.nf-redesign form :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){min-width:0;width:100%}
body.nf-redesign :is(.table-wrap,.responsive-table,.nb-table-wrap){max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
body.nf-redesign :is(.form-grid-2,.grid-2){grid-template-columns:repeat(2,minmax(0,1fr))}
body.nf-redesign :is(.form-grid-3,.grid-3){grid-template-columns:repeat(3,minmax(0,1fr))}

/* Fluxo comercial: deixa claro o caminho recomendado sem impedir uso isolado. */
.commercial-flow-map{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.commercial-flow-map>a{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:13px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);text-decoration:none;transition:.18s ease}
.commercial-flow-map>a:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));transform:translateY(-1px)}
.commercial-flow-map .flow-step-number{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--primary) 11%,transparent);color:var(--primary);font-size:12px;font-weight:800}
.commercial-flow-map strong{display:block;font-size:12px}.commercial-flow-map small{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35}
.commercial-definition,.crm-onboarding{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 20px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--primary) 3%,var(--surface))}
.commercial-definition h2,.crm-onboarding h2{margin:2px 0 5px}.commercial-definition p,.crm-onboarding p{margin:0}
.commercial-definition .nb-row-actions,.crm-onboarding .nb-row-actions{justify-content:flex-end}

/* CRM: criação e funil ficam claros, mas cada bloco continua independente. */
.crm-create-and-board{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}
.crm-quick-create{position:sticky;top:88px}
.crm-quick-create .form-grid-2{gap:12px}
.crm-quick-create textarea{min-height:82px}
.crm-quick-create .agenda-integration-fields{margin-top:2px}

/* Proposta no padrão visual da venda: editor ocupa a largura útil e itens permanecem em uma linha quando houver espaço. */
body.nf-redesign .nb-proposal-workspace{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;align-items:start}
.proposal-editor-card{min-width:0;overflow:hidden}
.proposal-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}
.proposal-items-box{min-width:0;padding:14px;border:1px solid var(--border);border-radius:17px;background:var(--surface-soft)}
.proposal-items-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:10px}.proposal-items-head small{color:var(--muted)}
body.nf-redesign .nb-proposal-item.proposal-row-v29{display:grid!important;grid-template-columns:minmax(170px,1.2fr) minmax(200px,1.35fr) minmax(82px,.45fr) minmax(120px,.65fr) minmax(105px,.58fr) 44px!important;gap:10px!important;align-items:end!important;min-width:0!important;overflow:visible!important;padding:12px!important;border-radius:15px!important}
body.nf-redesign .nb-proposal-item.proposal-row-v29>*{min-width:0!important;max-width:100%!important;grid-column:auto!important}
body.nf-redesign .nb-proposal-item.proposal-row-v29 label{width:auto!important}
body.nf-redesign .nb-proposal-item.proposal-row-v29 :is(input,select){min-width:0!important;width:100%!important;max-width:100%!important}
body.nf-redesign .nb-proposal-item.proposal-row-v29 .proposal-remove{width:44px!important;min-width:44px!important;height:48px!important;align-self:end!important}
.proposal-add-item{width:100%;margin-top:10px}
.proposal-list-card{min-width:0}

/* Orçamento: mesmas garantias de contenção, mas continua sendo etapa de estimativa. */
.quote-workspace,.quote-builder,.quote-card,.quote-items,.quote-item{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
body.nf-redesign .quote-item{grid-template-columns:minmax(150px,1.2fr) minmax(180px,1.35fr) minmax(78px,.48fr) minmax(105px,.62fr) minmax(95px,.58fr) minmax(110px,.62fr) auto!important;gap:9px!important;overflow:visible!important}
body.nf-redesign .quote-item>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
body.nf-redesign .quote-item :is(input,select,textarea){min-width:0!important;width:100%!important;max-width:100%!important}
body.nf-redesign .quote-item-actions{min-width:0!important;max-width:100%!important}

/* Ajuda contextual: rótulo e ? nunca empurram o campo para fora. */
.label-help-line{display:inline-flex!important;max-width:100%;align-items:center;gap:7px;flex-wrap:wrap}
.field-help-tip{flex:0 0 auto}
.field-help-floating-v4{position:fixed!important;z-index:100000!important;width:min(360px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:min(300px,calc(100vh - 24px));overflow:auto;overflow-wrap:anywhere;box-sizing:border-box}
.help-popover-panel--viewport{position:fixed!important;z-index:100000!important;width:min(380px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:min(330px,calc(100vh - 24px));overflow:auto;overflow-wrap:anywhere;box-sizing:border-box}

/* Evita estouro recorrente em cards dinâmicos do sistema inteiro. */
body.nf-redesign :is(.nb-order-item,.nb-proposal-item,.quote-item,.commerce-option-row,.modifier-option-row,.item-row,.line-item-row,.form-row)>*{min-width:0;max-width:100%}
body.nf-redesign :is(.nb-order-item,.nb-proposal-item,.quote-item,.commerce-option-row,.modifier-option-row,.item-row,.line-item-row,.form-row) :is(input,select,textarea){min-width:0!important;max-width:100%!important;width:100%!important}

@media(max-width:1380px){
  .commercial-flow-map{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.nf-redesign .nb-proposal-item.proposal-row-v29{grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) minmax(90px,.5fr) minmax(120px,.7fr)!important}
  body.nf-redesign .nb-proposal-item.proposal-row-v29 .proposal-item-discount{grid-column:1/3!important}
  body.nf-redesign .nb-proposal-item.proposal-row-v29 .proposal-remove{grid-column:4!important}
  body.nf-redesign .quote-item{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.nf-redesign .quote-item .quote-item-note,body.nf-redesign .quote-item-actions{grid-column:1/-1!important}
}
@media(max-width:1080px){
  .crm-create-and-board{grid-template-columns:1fr}.crm-quick-create{position:static}
  .commercial-definition,.crm-onboarding{grid-template-columns:1fr}.commercial-definition .nb-row-actions,.crm-onboarding .nb-row-actions{justify-content:flex-start}
}
@media(max-width:820px){
  .commercial-flow-map{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proposal-main-grid,body.nf-redesign :is(.form-grid-2,.form-grid-3,.grid-2,.grid-3){grid-template-columns:1fr!important}
  body.nf-redesign .nb-proposal-item.proposal-row-v29{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.nf-redesign .nb-proposal-item.proposal-row-v29 .proposal-item-discount{grid-column:auto!important}
  body.nf-redesign .nb-proposal-item.proposal-row-v29 .proposal-remove{grid-column:auto!important;width:100%!important}
  body.nf-redesign .quote-item{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .commercial-flow-map{grid-template-columns:1fr}
  .commercial-definition,.crm-onboarding{padding:15px}
  body.nf-redesign .nb-proposal-item.proposal-row-v29,body.nf-redesign .quote-item{grid-template-columns:1fr!important}
  body.nf-redesign .nb-proposal-item.proposal-row-v29 .proposal-remove{width:100%!important}
}
.commercial-flow-map>a>b,.crm-onboarding ol li>b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--primary) 11%,transparent);color:var(--primary);font-size:12px;font-weight:800}
.crm-onboarding ol{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin:0;padding:0;list-style:none}.crm-onboarding ol li{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start}.crm-onboarding ol strong,.crm-onboarding ol small{display:block}.crm-onboarding ol small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35}
@media(max-width:1080px){.crm-onboarding ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.crm-onboarding ol{grid-template-columns:1fr}}
/* Auditoria ND164 de grids históricos com mínimos rígidos. */
body.nf-redesign :is(.security-settings-grid,.investment-overview-grid,.investment-detail-grid,.investment-update-grid,.settings-main-grid,.profile-edit-layout,.plan-editor-grid,.master-plan-detail-grid,.billing-admin-grid,.bank-provider-grid,.supervisor-grid,.commerce-onboarding,.commerce-editor-grid,.quote-toolbar,.quote-workspace,.quote-share-panel){min-width:0;max-width:100%}
body.nf-redesign :is(.security-settings-grid,.investment-overview-grid,.investment-detail-grid,.investment-update-grid,.settings-main-grid,.profile-edit-layout,.plan-editor-grid,.master-plan-detail-grid,.billing-admin-grid,.bank-provider-grid,.supervisor-grid,.commerce-onboarding,.commerce-editor-grid,.quote-toolbar,.quote-workspace,.quote-share-panel)>*{min-width:0;max-width:100%}
@media(max-width:1180px){
 body.nf-redesign :is(.security-settings-grid,.investment-overview-grid,.investment-detail-grid,.investment-update-grid,.settings-main-grid,.profile-edit-layout,.billing-admin-grid,.commerce-onboarding,.commerce-editor-grid,.quote-workspace,.quote-share-panel){grid-template-columns:1fr!important}
 body.nf-redesign :is(.plan-editor-grid,.master-plan-detail-grid,.bank-provider-grid,.supervisor-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.nf-redesign .quote-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,.7fr) auto!important}
}
@media(max-width:700px){
 body.nf-redesign :is(.plan-editor-grid,.master-plan-detail-grid,.bank-provider-grid,.supervisor-grid,.quote-toolbar){grid-template-columns:1fr!important}
 body.nf-redesign .quote-toolbar button{grid-column:auto!important}
}
