/* ND155 · Orçamentos completos, propostas sem estouro, automações alinhadas e Master estável */

/* 1) Central Comercial: o editor de proposta nunca pode ultrapassar o card. */
.nb-proposal-workspace,
.nb-proposal-workspace > *,
.nb-proposal-items,
.nb-proposal-item,
.nb-proposal-item > * { min-width:0; box-sizing:border-box; }
.nb-proposal-workspace { grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important; align-items:start; }
body.nf-redesign .nb-proposal-item,
.nb-proposal-item {
  width:100%!important; max-width:100%!important; overflow:hidden!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(82px,.46fr) minmax(108px,.58fr) minmax(100px,.52fr) 42px!important;
  gap:10px!important;
}
.nb-proposal-item label,.nb-proposal-item input,.nb-proposal-item select { min-width:0!important; width:100%!important; max-width:100%!important; box-sizing:border-box!important; }
.nb-proposal-item .icon-btn { align-self:end; width:42px; min-width:42px; height:46px; }
@media(max-width:1500px){
  .nb-proposal-workspace{grid-template-columns:minmax(0,1fr)!important}
  body.nf-redesign .nb-proposal-item,.nb-proposal-item{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}
  .nb-proposal-item .icon-btn{align-self:end}
}
@media(max-width:700px){body.nf-redesign .nb-proposal-item,.nb-proposal-item{grid-template-columns:minmax(0,1fr)!important}}

/* 2) Central Financeira: controle da automação com hierarquia e alinhamento consistentes. */
.automation-control-grid{align-items:start!important}
.automation-toggle-field{display:grid;align-content:start;gap:7px;min-width:0}
.automation-toggle-label{font-size:12px;font-weight:750;color:var(--text,var(--nf-text,#14213a))}
.automation-toggle-field>.checkbox-line{align-self:start!important;min-height:50px!important;margin:0!important;box-sizing:border-box}
.automation-toggle-field>small{line-height:1.35}

/* 3) Painel Master: uma única coluna estável no desktop e drawer real no mobile. */
body.platform-admin-body{min-height:100dvh;overflow-x:hidden!important}
body.platform-admin-body .platform-shell{
  display:grid!important; grid-template-columns:286px minmax(0,1fr)!important;
  width:100%!important; max-width:100%!important; min-height:100dvh!important; overflow:visible!important;
}
body.platform-admin-body .platform-sidebar{
  position:sticky!important; inset:auto!important; top:0!important;
  display:grid!important; grid-template-rows:auto auto minmax(0,1fr) auto!important;
  width:286px!important; min-width:286px!important; max-width:286px!important;
  height:100dvh!important; max-height:100dvh!important; overflow:hidden!important;
  padding:24px 18px 14px!important; box-sizing:border-box!important;
  transform:none!important; visibility:visible!important; pointer-events:auto!important;
}
body.platform-admin-body .platform-brand{min-height:62px;margin:0!important}
body.platform-admin-body .platform-authority{margin:16px 0 14px!important}
body.platform-admin-body .platform-nav{
  display:grid!important; grid-auto-flow:row!important; align-content:start!important;
  min-height:0!important; overflow-x:hidden!important; overflow-y:auto!important;
  overscroll-behavior:contain; padding:4px 5px 14px 0!important; gap:14px!important;
  scrollbar-gutter:stable;
}
body.platform-admin-body .platform-nav-section{display:grid!important;gap:5px!important;min-width:0!important}
body.platform-admin-body .platform-nav-section>small{display:block!important;padding:0 12px!important}
body.platform-admin-body .platform-nav-section a{display:flex!important;min-height:43px!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1.25!important}
body.platform-admin-body .platform-nav-section a.active{box-shadow:0 10px 24px rgba(24,97,241,.16)!important}
body.platform-admin-body .platform-sidebar-footer{
  display:grid!important; gap:8px!important; margin:0!important; padding:12px 0 max(2px,env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,rgba(7,26,50,0),#071a32 22%);
}
body.platform-admin-body .platform-workspace{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
body.platform-admin-body .platform-main{width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:hidden!important}
body.platform-admin-body .platform-sidebar-close{display:none!important}
@media(max-width:1180px) and (min-width:981px){
  body.platform-admin-body .platform-shell{grid-template-columns:264px minmax(0,1fr)!important}
  body.platform-admin-body .platform-sidebar{width:264px!important;min-width:264px!important;max-width:264px!important;padding-inline:14px!important}
  body.platform-admin-body .platform-nav-section a{font-size:13px!important}
}
@media(max-width:980px){
  body.platform-admin-body .platform-shell{display:block!important;width:100%!important;max-width:100vw!important}
  body.platform-admin-body .platform-sidebar{
    position:fixed!important; inset:0 auto 0 0!important; top:0!important;
    width:min(88vw,320px)!important; min-width:0!important; max-width:320px!important;
    height:100dvh!important; padding:18px 14px 12px!important;
    transform:translate3d(-108%,0,0)!important; visibility:hidden!important; pointer-events:none!important;
    transition:transform .2s ease,visibility .2s ease!important; z-index:120!important;
  }
  body.platform-admin-body.platform-nav-open .platform-sidebar{transform:translate3d(0,0,0)!important;visibility:visible!important;pointer-events:auto!important}
  body.platform-admin-body.platform-nav-open .platform-sidebar-backdrop{display:block!important;z-index:110!important}
  body.platform-admin-body .platform-sidebar-close{display:grid!important;place-items:center!important;z-index:3}
  body.platform-admin-body .platform-brand{padding-right:48px!important}
  body.platform-admin-body .platform-workspace{width:100%!important;max-width:100vw!important}
  body.platform-admin-body .platform-main{padding-inline:16px!important}
  body.platform-admin-body.platform-nav-open{overflow:hidden!important}
}
@media(max-width:560px){body.platform-admin-body .platform-main{padding-inline:12px!important}}

/* 4) Orçamentos: workspace herdado e simplificado do NowBudget. */
.quote-page{display:grid;gap:20px}
.quote-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:27px 30px;border-radius:25px;background:linear-gradient(125deg,#174fbf 0%,#1861f1 54%,#0ac0fe 100%);color:#fff;box-shadow:0 20px 45px rgba(24,97,241,.16)}
.quote-hero .page-kicker,.quote-hero p{color:rgba(255,255,255,.88)}
.quote-hero h1{margin:5px 0 8px;color:#fff;font-size:clamp(30px,4vw,44px)}
.quote-hero .btn-primary{background:#fff!important;color:#125fe8!important;border-color:#fff!important}
.quote-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.quote-metric{display:grid;gap:5px;padding:16px 18px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}
.quote-metric span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.quote-metric strong{font-size:24px;color:var(--text)}
.quote-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,240px) auto;gap:10px;align-items:end}
.quote-toolbar>*{min-width:0}
.quote-list-card{overflow:hidden}
.quote-list-card .table-wrap{border:0;border-radius:0}
.quote-action-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.quote-action-row form{margin:0}
.quote-action-row input[type=date]{min-width:140px}
.quote-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.quote-builder{display:grid;gap:18px}
.quote-builder-section{display:grid;gap:14px;padding:17px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--primary) 2%,var(--surface))}
.quote-builder-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.quote-builder-section>header h3{margin:0 0 3px;font-size:16px}
.quote-builder-section>header p{margin:0;color:var(--muted);font-size:12px}
.quote-items{display:grid;gap:10px}
.quote-item{display:grid;grid-template-columns:minmax(160px,1.35fr) minmax(100px,.65fr) 90px 100px 120px 120px 42px;gap:9px;align-items:end;min-width:0;padding:13px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}
.quote-item>*{min-width:0}
.quote-item label{display:grid;gap:6px;min-width:0}
.quote-item label>span{font-size:11px;font-weight:750;color:var(--muted)}
.quote-item input,.quote-item select{width:100%;min-width:0;box-sizing:border-box}
.quote-item .quote-item-note{grid-column:1/-2}
.quote-item .icon-btn{width:42px;height:44px}
.quote-summary{position:sticky;top:88px;display:grid;gap:14px}
.quote-summary-card{display:grid;gap:11px;padding:18px;border:1px solid var(--border);border-radius:19px;background:var(--surface)}
.quote-summary-card h3{margin:0;font-size:16px}
.quote-summary-line{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}
.quote-summary-line strong{color:var(--text)}
.quote-summary-total{padding-top:11px;border-top:1px solid var(--border);font-size:15px}
.quote-summary-total strong{font-size:25px;color:var(--primary)}
.quote-help-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.quote-help-list li{display:grid;grid-template-columns:25px 1fr;gap:8px;align-items:start;color:var(--muted);font-size:12px;line-height:1.45}
.quote-help-list li span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-weight:800}
.quote-detail{display:grid;gap:17px}
.quote-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.quote-detail-head h2{margin:3px 0 4px}
.quote-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.quote-detail-grid div{display:grid;gap:3px;padding:12px;border-radius:13px;background:var(--surface-soft)}
.quote-detail-grid span{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted)}
.quote-history{display:grid;gap:9px}
.quote-history article{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--border)}
.quote-history article:last-child{border-bottom:0}
.quote-history i{width:10px;height:10px;margin-top:4px;border-radius:50%;background:var(--primary)}
.quote-history small{color:var(--muted)}
.quote-status-change_requested,.badge.status-negotiating{color:#8a5b00;background:#fff6d8}

/* Documento público e aprovação externa */
.public-document.quote-public{width:min(1040px,calc(100% - 28px));margin:28px auto 60px}
.quote-public-card{padding:0!important;overflow:hidden}
.quote-public-head{padding:28px 30px;background:linear-gradient(125deg,#174fbf,#1861f1 58%,#0ac0fe);color:#fff}
.quote-public-head .page-kicker,.quote-public-head p{color:rgba(255,255,255,.86)}
.quote-public-head h1{margin:5px 0 8px;color:#fff;font-size:clamp(28px,5vw,42px)}
.quote-public-body{display:grid;gap:22px;padding:28px 30px}
.quote-public-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.quote-public-meta div{display:grid;gap:4px;padding:13px 14px;border-radius:14px;background:var(--surface-soft)}
.quote-public-meta span{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted)}
.quote-public-item-note{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}
.quote-public-totals{display:grid;gap:8px;justify-self:end;width:min(100%,360px)}
.quote-public-totals div{display:flex;justify-content:space-between;gap:20px}
.quote-public-totals .total{padding-top:9px;border-top:1px solid var(--border);font-size:18px}
.quote-public-totals .total strong{color:var(--primary);font-size:25px}
.quote-decision-panel{display:grid;gap:13px;padding:18px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--primary) 4%,var(--surface))}
.quote-decision-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.quote-decision-actions button{min-height:48px}
.quote-print-actions{display:flex;justify-content:flex-end;gap:8px}
@media(max-width:1280px){
  .quote-workspace{grid-template-columns:1fr}.quote-summary{position:static;grid-template-columns:1fr 1fr}
  .quote-item{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-item .quote-item-note{grid-column:1/-1}.quote-item .icon-btn{align-self:end}
}
@media(max-width:860px){
  .quote-hero{grid-template-columns:1fr;align-items:start}.quote-metrics{grid-template-columns:1fr 1fr}.quote-toolbar{grid-template-columns:1fr 1fr}.quote-toolbar button{grid-column:1/-1}
  .quote-summary{grid-template-columns:1fr}.quote-detail-grid,.quote-public-meta{grid-template-columns:1fr 1fr}.quote-decision-actions{grid-template-columns:1fr}
}
@media(max-width:620px){
  .quote-hero{padding:22px}.quote-metrics,.quote-toolbar,.quote-detail-grid,.quote-public-meta{grid-template-columns:1fr}.quote-item{grid-template-columns:1fr}.quote-item .quote-item-note{grid-column:auto}.quote-item .icon-btn{width:100%}
  .public-document.quote-public{width:calc(100% - 16px);margin:8px auto 40px}.quote-public-head,.quote-public-body{padding:21px 18px}
}
@media print{
  .quote-print-actions,.quote-decision-panel,.auth-header,.support-fab,.page-help-fab{display:none!important}
  .public-document.quote-public{width:100%;margin:0}.quote-public-card{border:0!important;box-shadow:none!important}.quote-public-head{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .quote-public-item-note{display:none}.table-wrap{overflow:visible!important}table{display:table!important}thead{display:table-header-group!important}tbody{display:table-row-group!important}tr{display:table-row!important}th,td{display:table-cell!important}
}
.quote-modal-card{width:min(1500px,calc(100vw - 32px))!important;max-width:1500px!important;max-height:calc(100dvh - 28px)!important;overflow:auto!important}
.quote-item-actions{display:grid;grid-template-columns:repeat(2,36px);gap:5px;align-self:end;justify-content:end}
.quote-item-actions .icon-btn{width:36px!important;min-width:36px!important;height:34px!important}
.quote-item{grid-template-columns:minmax(160px,1.25fr) minmax(150px,1.25fr) 100px 90px 100px 120px 82px}
@media(max-width:1280px){.quote-item-actions{grid-template-columns:repeat(4,36px);justify-content:start}.quote-item{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-item-actions{grid-column:1/-1}}
@media(max-width:620px){.quote-item-actions{grid-column:auto;grid-template-columns:repeat(4,1fr);width:100%}.quote-item-actions .icon-btn{width:100%!important}}

/* ND155.1 · compartilhamento e identidade do orçamento público */
.quote-share-panel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:18px;align-items:center;padding:18px 20px!important;border-color:color-mix(in srgb,var(--primary) 24%,var(--border))!important;background:color-mix(in srgb,var(--primary) 3%,var(--surface))!important}
.quote-share-panel h2{margin:3px 0 5px;font-size:18px}.quote-share-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;min-width:0}.quote-share-controls input{min-width:0;width:100%;font-size:12px}
.quote-public-head{background:linear-gradient(125deg,color-mix(in srgb,var(--quote-brand-primary,#1861f1) 82%,#082e7a),var(--quote-brand-primary,#1861f1) 62%,#0ac0fe)!important}
.quote-public-brand{display:flex;align-items:center;gap:11px;margin-bottom:22px}.quote-public-brand img{width:48px;height:48px;object-fit:contain;border-radius:13px;background:#fff;padding:5px;box-sizing:border-box}.quote-public-brand div{display:grid;gap:1px}.quote-public-brand strong{font-size:16px;color:#fff}.quote-public-brand small{font-size:11px;color:rgba(255,255,255,.78)}
body.platform-admin-body .platform-main>*{max-width:100%;min-width:0;box-sizing:border-box}
@media(max-width:900px){.quote-share-panel{grid-template-columns:1fr}.quote-share-controls{grid-template-columns:1fr 1fr}.quote-share-controls input{grid-column:1/-1}}
@media(max-width:560px){.quote-share-controls{grid-template-columns:1fr}.quote-share-controls input{grid-column:auto}}
