/* V1228 — Formulário Editar/Nova peça no padrão da Confirmação Metrológica (V1192):
   cabeçalho com linha inferior, cada seção num card branco com título azul e barra laranja à esquerda,
   barra de ações fixa à direita. Os botões usam os papéis do padrão global V1118
   (primário laranja, secundário azul contornado, neutro cinza, perigo vermelho contornado)
   e o Excluir da tabela vira o ícone padrão de lixeira. Campos numéricos sem setas. */

.peca-form-v1227{display:flex;flex-direction:column;gap:16px;padding:20px 22px 0!important;margin-bottom:14px;overflow:visible!important;background:#f7faff!important;border:1px solid #d8e5f5!important;border-radius:12px!important}
.peca-form-v1227 .pf-form{display:flex;flex-direction:column;gap:16px;margin:0}

/* cabeçalho interno (metro-unified-heading) */
.peca-form-v1227 .pf-heading{padding:0 0 14px;border-bottom:1px solid #d8e5f5}
#main .peca-form-v1227 .pf-heading h3{margin:0 0 6px!important;padding:0!important;background:none!important;border:0!important;color:#1d4f91!important;font-size:20px!important;font-weight:800!important;line-height:1.35!important;text-transform:none!important;letter-spacing:normal!important}
.peca-form-v1227 .pf-heading p{margin:0 0 6px;color:#637994;font-size:13px;line-height:1.5}
.peca-form-v1227 .pf-heading>strong{display:block;color:#263b56;font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* seções (metro-unified-section) */
.peca-form-v1227 .pf-sec{padding:16px 18px;background:#fff;border:1px solid #d8e5f5;border-radius:10px;min-width:0}
.peca-form-v1227 .pf-sec-tit{margin:0 0 14px;padding-left:10px;border-left:3px solid #f58216;color:#1d4f91;font-size:15px;font-weight:800;line-height:1.4}
.peca-form-v1227 .pf-sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.peca-form-v1227 .pf-sec-head .pf-sec-tit{margin:0}
.peca-form-v1227 .pf-hint{display:block;margin:0 0 12px;color:#637994;font-size:12px;line-height:1.5}
.peca-form-v1227 .pf-req{color:#d93b32;font-weight:700}
.peca-form-v1227 .formula-tag{margin:0!important;padding:7px 11px;border-radius:7px;background:#edf5ff!important;color:#245488!important;font-size:12px}

/* grade */
.peca-form-v1227 .pf-grid{display:grid;gap:12px 14px;align-items:start}
.peca-form-v1227 .pf-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.peca-form-v1227 .pf-grid+.pf-grid{margin-top:12px}
.peca-form-v1227 .pf-span2{grid-column:span 2}
.peca-form-v1227 .pf-span4{grid-column:1/-1}
.peca-form-v1227 .field{margin:0!important;min-width:0}
.peca-form-v1227 .field>label,.peca-form-v1227 .pf-label{display:block;margin:0 0 5px;font-size:12px;font-weight:650;color:#33485f}
.peca-form-v1227 .field input,.peca-form-v1227 .field select,.peca-form-v1227 .field textarea{width:100%;min-width:0;box-sizing:border-box}
.peca-form-v1227 .field input,.peca-form-v1227 .field select{height:38px}
.peca-form-v1227 .field textarea{min-height:60px;resize:vertical}

/* campos numéricos sem setas (padrão do sistema) */
.peca-form-v1227 input[type=number]{-moz-appearance:textfield;appearance:textfield}
.peca-form-v1227 input[type=number]::-webkit-outer-spin-button,.peca-form-v1227 input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* número com unidade e faixas mín. a máx. */
.peca-form-v1227 .pf-un{position:relative;display:flex;align-items:center}
.peca-form-v1227 .pf-un input{padding-right:34px;text-align:right}
.peca-form-v1227 .pf-un>span{position:absolute;right:10px;font-size:12px;color:#637994;pointer-events:none}
.peca-form-v1227 .pf-faixa{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 28px;align-items:center;gap:8px}
.peca-form-v1227 .pf-faixa input{text-align:right}
.peca-form-v1227 .pf-faixa>span,.peca-form-v1227 .pf-faixa>em{font-style:normal;font-size:12px;color:#637994}

/* modalidades de venda (tabela no padrão metro-unified-range-table) */
.peca-form-v1227 .pf-pv-wrap{overflow:visible!important;border:1px solid #d8e5f5;border-radius:9px}
#main .peca-form-v1227 table.pf-pv-table.mp-no-column-picker{width:100%!important;min-width:0!important;table-layout:fixed}
#main .peca-form-v1227 table.pf-pv-table.mp-no-column-picker>thead>tr>th{padding:10px 12px!important;background:#edf3fb!important;color:#244d7d!important;font-size:11px!important}
#main .peca-form-v1227 table.pf-pv-table.mp-no-column-picker>tbody>tr>td{padding:8px 12px!important;border-bottom:1px solid #e4edf7!important}
.peca-form-v1227 .pf-pv-table th:nth-child(3),.peca-form-v1227 .pf-pv-table th:nth-child(4){width:90px}
.peca-form-v1227 .pf-pv-table .pf-c{text-align:center!important}
.peca-form-v1227 .pf-pv-table select{width:100%;max-width:260px;height:36px}
.peca-form-v1227 .pf-preco{max-width:220px}
.peca-form-v1227 .pf-preco input{height:36px;width:100%;padding-left:34px!important;padding-right:10px!important}
.peca-form-v1227 .pf-preco .pf-pre{position:absolute;left:10px;font-size:12px;color:#637994;pointer-events:none}
.peca-form-v1227 .pf-pv-table input[type=checkbox]{width:16px;height:16px;accent-color:#f58216}
.peca-form-v1227 .pf-pv-table td.acoes .mp-icon-action{margin:0!important}

/* foto e forma geométrica */
.peca-form-v1227 .pf-geo-top{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}
.peca-form-v1227 .pf-foto{display:flex;flex-direction:column;gap:10px}
.peca-form-v1227 .pf-foto-box{width:220px;height:220px;border-radius:10px;border:1px solid #d8e5f5;background:#f6f8fb;display:flex;align-items:center;justify-content:center;overflow:hidden}
.peca-form-v1227 .pf-foto-btns{display:grid;grid-template-columns:1fr;gap:8px}
.peca-form-v1227 .pf-foto-btns button{width:100%;min-height:36px}
.peca-form-v1227 .pf-foto-btns [data-action=remover-foto]{grid-column:1/-1}
.peca-form-v1227 .pf-foto .pf-hint{margin:0;font-size:11px}
.peca-form-v1227 .pf-formas-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;margin:0!important;padding:0!important;border:0!important;height:auto!important;max-height:none!important;overflow:visible!important}
.peca-form-v1227 .pf-formas-grid .pill{display:flex;align-items:center;justify-content:center;min-height:36px;margin:0;padding:6px 10px;border-radius:8px;text-align:center;font-size:12px;line-height:1.25;cursor:pointer}
.peca-form-v1227 .pf-formas-grid .pill:focus-visible{outline:2px solid #1766b3;outline-offset:2px}

/* área superficial */
.peca-form-v1227 .pf-area{margin:0;padding:0;border:0}
.peca-form-v1227 .pf-params{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important;gap:12px!important;margin:0 0 14px!important}
.peca-form-v1227 .pf-params input{text-align:right}
.peca-form-v1227 .pf-area-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:stretch}
.peca-form-v1227 .pf-shape{height:230px!important;margin:0!important;border-radius:10px}
.peca-form-v1227 .pf-areas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.peca-form-v1227 .pf-area-card{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 14px;border:1px solid #d8e5f5;border-radius:10px;background:#f7faff}
.peca-form-v1227 .pf-area-card span{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#637994}
.peca-form-v1227 .pf-area-card strong{font-size:17px;font-weight:750;color:#1d4f91;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.peca-form-v1227 .pf-area-card.destaque{background:#fff7ed;border-color:#fbd0ad}
.peca-form-v1227 .pf-area-card.destaque strong{color:#c2410c}

/* barra de ações fixa (metro-unified-actions) */
.peca-form-v1227 .pf-acoes{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 -22px;padding:12px 22px 14px;background:linear-gradient(to bottom,rgba(247,250,255,0),#f7faff 30%);border:0;border-radius:0 0 12px 12px}
.peca-form-v1227 .pf-acoes button{min-height:40px!important;padding-left:16px!important;padding-right:16px!important;font-size:12.5px!important}
.peca-form-v1227 .pf-acoes .pf-excluir{margin-right:auto}

@media(max-width:1100px){
  .peca-form-v1227 .pf-area-body{grid-template-columns:minmax(0,1fr)}
  .peca-form-v1227 .pf-areas{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:860px){
  .peca-form-v1227 .pf-g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .peca-form-v1227 .pf-geo-top{grid-template-columns:minmax(0,1fr)}
  .peca-form-v1227 .pf-areas{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .peca-form-v1227{padding:14px 12px 0!important}
  .peca-form-v1227 .pf-acoes{margin:0 -12px;padding:12px}
  .peca-form-v1227 .pf-g4{grid-template-columns:minmax(0,1fr)}
  .peca-form-v1227 .pf-span2{grid-column:auto}
  .peca-form-v1227 .pf-sec{padding:14px 12px}
  .peca-form-v1227 .pf-foto-box{width:100%;height:200px}
  .peca-form-v1227 .pf-acoes{flex-wrap:wrap}
  .peca-form-v1227 .pf-acoes button{flex:1}
  .peca-form-v1227 .pf-acoes .pf-excluir{flex-basis:100%;margin-right:0}
  .peca-form-v1227 .pf-pv-table th:nth-child(3),.peca-form-v1227 .pf-pv-table th:nth-child(4){width:50px}
  #main .peca-form-v1227 table.pf-pv-table.mp-no-column-picker>thead>tr>th,#main .peca-form-v1227 table.pf-pv-table.mp-no-column-picker>tbody>tr>td{padding:8px 6px!important}
  .peca-form-v1227 .pf-preco input{padding-left:28px!important}
}

/* V1229 — identificação da peça em destaque no cabeçalho */
.peca-form-v1227 .pf-peca-id{display:flex;align-items:center;gap:12px;min-width:0;margin-top:10px;padding:10px 14px;background:#fff;border:1px solid #d8e5f5;border-left:4px solid #f58216;border-radius:8px}
.peca-form-v1227 .pf-peca-cod{flex-shrink:0;padding:4px 10px;border-radius:6px;background:#1d4f91;color:#fff;font-family:"JetBrains Mono",Consolas,monospace;font-size:14px;font-weight:700;letter-spacing:.02em}
.peca-form-v1227 .pf-peca-desc{min-width:0;color:#0c3d78;font-size:17px;font-weight:800;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:560px){.peca-form-v1227 .pf-peca-id{flex-wrap:wrap;gap:6px}.peca-form-v1227 .pf-peca-desc{white-space:normal;font-size:15px}}

/* V1230 — rodapé de ações sólido (o degradê transparente deixava o conteúdo aparecer por trás dos botões) */
.peca-form-v1227 .pf-acoes{margin:4px -22px 0!important;padding:14px 22px!important;background:#fff!important;border-top:1px solid #d8e5f5!important;border-radius:0 0 12px 12px!important;box-shadow:0 -6px 16px rgba(17,43,75,.08)!important;justify-content:space-between!important;gap:16px!important}
.peca-form-v1227 .pf-acoes-esq{display:flex;align-items:center;gap:16px;min-width:0}
.peca-form-v1227 .pf-acoes-dir{display:flex;align-items:center;gap:10px;flex-shrink:0}
.peca-form-v1227 .pf-acoes .pf-excluir{margin-right:0!important}
.peca-form-v1227 .pf-acoes-dir [data-action=cancelar]{min-width:110px}
.peca-form-v1227 .pf-acoes-dir [type=submit]{min-width:150px}
.peca-form-v1227 .pf-estado{display:inline-flex;align-items:center;gap:7px;color:#637994;font-size:12px;white-space:nowrap}
.peca-form-v1227 .pf-estado i{width:8px;height:8px;border-radius:50%;background:#9fb2c8}
.peca-form-v1227 .pf-estado.sujo{color:#b45309;font-weight:700}
.peca-form-v1227 .pf-estado.sujo i{background:#f58216;box-shadow:0 0 0 3px rgba(245,130,22,.18)}
@media(max-width:560px){
  .peca-form-v1227 .pf-acoes{margin:4px -12px 0!important;padding:12px!important;flex-direction:column;align-items:stretch!important}
  .peca-form-v1227 .pf-acoes-esq{justify-content:space-between}
  .peca-form-v1227 .pf-acoes-dir button{flex:1;min-width:0}
  .peca-form-v1227 .pf-acoes .pf-excluir{flex:0 0 auto!important;flex-basis:auto!important}
}

/* V1231 — foto e formas geométricas */
.peca-form-v1227 .pf-geo-top{grid-template-columns:240px minmax(0,1fr)!important}
.peca-form-v1227 .pf-foto-moldura{position:relative;width:240px}
.peca-form-v1227 .pf-foto-box{width:240px!important;height:200px!important;background:#f7faff!important;border:1px dashed #b9cde6!important}
.peca-form-v1227 .pf-foto-box:has(img){border-style:solid!important;background:#fff!important}
.peca-form-v1227 .pf-foto-moldura.arrastando .pf-foto-box{border-color:#f58216!important;background:#fff7ed!important}
.peca-form-v1227 .pf-foto-vazia{display:flex;flex-direction:column;align-items:center;gap:4px;color:#637994;text-align:center;padding:10px}
.peca-form-v1227 .pf-foto-vazia svg{width:34px;height:34px;fill:none;stroke:#9fb2c8;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:4px}
.peca-form-v1227 .pf-foto-vazia strong{font-size:12.5px;color:#33485f}
.peca-form-v1227 .pf-foto-vazia span{font-size:11px}
.peca-form-v1227 .pf-foto-remover{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #f0a8a4;border-radius:8px;background:rgba(255,255,255,.95);color:#dc3939;cursor:pointer;box-shadow:0 1px 4px rgba(17,43,75,.12)}
.peca-form-v1227 .pf-foto-remover:hover{background:#fff1f0;border-color:#dc3939}
.peca-form-v1227 .pf-foto-remover svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.peca-form-v1227 .pf-foto-btns{grid-template-columns:1fr 1fr!important;width:240px}
.peca-form-v1227 .pf-foto-btns button{gap:6px!important;padding-left:8px!important;padding-right:8px!important;white-space:nowrap}
.peca-form-v1227 .pf-foto-btns button svg{width:15px;height:15px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.peca-form-v1227 .pf-formas-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:8px!important}
.peca-form-v1227 .pf-formas-grid .pill.pf-forma{position:relative;display:flex!important;flex-direction:row;align-items:center;justify-content:flex-start!important;gap:10px;min-height:52px!important;padding:8px 12px!important;border:1px solid #d8e5f5!important;border-radius:10px!important;background:#fff!important;color:#33485f!important;text-align:left!important;font-size:12px!important;font-weight:600;line-height:1.25!important;transition:border-color .15s,background .15s,box-shadow .15s}
.peca-form-v1227 .pf-formas-grid .pill.pf-forma:hover{border-color:#8db8f6!important;background:#f5f9ff!important}
.peca-form-v1227 .pf-forma-ico{flex:0 0 28px;width:28px;height:28px;fill:none;stroke:#5b7da6;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.peca-form-v1227 .pf-formas-grid .pill.pf-forma.active{border-color:#f58216!important;background:#fff7ed!important;color:#9a3f07!important;box-shadow:0 0 0 1px #f58216 inset}
.peca-form-v1227 .pf-formas-grid .pill.pf-forma.active .pf-forma-ico{stroke:#f58216}
.peca-form-v1227 .pf-formas-grid .pill.pf-forma.active::after{content:"✓";position:absolute;top:-7px;right:-7px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#f58216;color:#fff;font-size:11px;font-weight:800}
@media(max-width:860px){
  .peca-form-v1227 .pf-geo-top{grid-template-columns:minmax(0,1fr)!important}
  .peca-form-v1227 .pf-foto-moldura,.peca-form-v1227 .pf-foto-box,.peca-form-v1227 .pf-foto-btns{width:100%!important}
}

/* V1232 — peça fora do padrão: área informada e composição de formas */
.peca-form-v1227 .pf-formas-especiais{margin-top:14px;padding-top:12px;border-top:1px dashed #d8e5f5}
.peca-form-v1227 .pf-formas-grid-esp{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important}
.peca-form-v1227 .pf-formas-grid .pill.pf-forma-esp{border-style:dashed!important;min-height:58px!important}
.peca-form-v1227 .pf-formas-grid .pill.pf-forma-esp.active{border-style:solid!important}
.peca-form-v1227 .pf-forma-esp>span{display:flex;flex-direction:column;gap:2px}
.peca-form-v1227 .pf-forma-esp b{font-weight:700}
.peca-form-v1227 .pf-forma-esp small{font-size:11px;font-weight:500;color:#637994}

.peca-form-v1227 .pf-params.pf-params-especial{display:block!important}
.peca-form-v1227 .pf-area-direta-campo{max-width:420px}
.peca-form-v1227 .pf-area-direta{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px}
.peca-form-v1227 .pf-area-direta input{text-align:right;font-size:15px!important;font-weight:700}
.peca-form-v1227 .pf-area-direta-campo .pf-hint{margin:6px 0 0}

.peca-form-v1227 .pf-cmp{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.peca-form-v1227 .pf-cmp .pf-hint{margin:0}
.peca-form-v1227 .pf-cmp-wrap{width:100%;overflow:visible!important;border:1px solid #d8e5f5;border-radius:9px}
#main .peca-form-v1227 table.pf-cmp-table.mp-no-column-picker{width:100%!important;min-width:0!important;table-layout:fixed}
#main .peca-form-v1227 table.pf-cmp-table.mp-no-column-picker>thead>tr>th{padding:9px 10px!important;background:#edf3fb!important;color:#244d7d!important;font-size:11px!important}
#main .peca-form-v1227 table.pf-cmp-table.mp-no-column-picker>tbody>tr>td{padding:8px 10px!important;vertical-align:middle;border-bottom:1px solid #e4edf7!important}
.peca-form-v1227 .pf-cmp-table th:nth-child(1){width:24%}
.peca-form-v1227 .pf-cmp-table th:nth-child(3){width:76px}
.peca-form-v1227 .pf-cmp-table th:nth-child(4){width:140px}
.peca-form-v1227 .pf-cmp-table th:nth-child(5){width:110px}
.peca-form-v1227 .pf-cmp-table th:nth-child(6){width:64px}
.peca-form-v1227 .pf-cmp-table select,.peca-form-v1227 .pf-cmp-table input{width:100%;height:34px;min-width:0;box-sizing:border-box}
.peca-form-v1227 .pf-cmp-table input{text-align:right}
.peca-form-v1227 .pf-cmp-meds{display:flex;flex-wrap:wrap;gap:6px}
.peca-form-v1227 .pf-cmp-med{display:flex;align-items:center;gap:4px;margin:0;flex:1 1 88px;max-width:130px}
.peca-form-v1227 .pf-cmp-med span{font-family:"JetBrains Mono",Consolas,monospace;font-size:11px;font-weight:700;color:#5b7da6;min-width:16px}
.peca-form-v1227 .pf-cmp-sub-total{text-align:right;font-weight:700;color:#1d4f91;font-variant-numeric:tabular-nums}
.peca-form-v1227 tr.pf-cmp-sub .pf-cmp-sub-total{color:#b52e2b}
.peca-form-v1227 tr.pf-cmp-sub>td:first-child{box-shadow:inset 3px 0 0 #dc3939}

.peca-form-v1227 .pf-resumo-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;padding:16px;color:#cfe0f5;text-align:center}
.peca-form-v1227 .pf-resumo-area svg{width:44px;height:44px;fill:none;stroke:#8db8f6;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.peca-form-v1227 .pf-resumo-area strong{color:#fff;font-size:15px}
.peca-form-v1227 .pf-resumo-area span{font-size:13px}
.peca-form-v1227 .pf-resumo-area ul{list-style:none;margin:0;padding:0;font-size:13px;line-height:1.7;text-align:left}
.peca-form-v1227 .pf-resumo-area li.sub{color:#ffb4ae}
@media(max-width:860px){
  .peca-form-v1227 .pf-cmp-table thead{display:none}
  .peca-form-v1227 .pf-cmp-table,.peca-form-v1227 .pf-cmp-table tbody{display:block}
  .peca-form-v1227 .pf-cmp-table tr{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px}
  .peca-form-v1227 .pf-cmp-table tr>td{border:0!important;padding:0!important}
  .peca-form-v1227 .pf-cmp-table tr>td:nth-child(2){grid-column:1/-1}
}

/* V1233 — "Área informada" e "Composição de formas" na mesma grade das formas, ocupando o espaço vazio */
.peca-form-v1227 .pf-formas-grid .pill.pf-forma-esp{min-height:52px!important;background:#fbfdff!important}
.peca-form-v1227 .pf-formas-grid .pill.pf-forma-esp.active{background:#fff7ed!important}

/* V1235 — texto cortado nos campos de seleção das tabelas internas (altura 34px com 9px de espaço interno
   deixava só 14px para o texto). Altura 38px, espaço interno só nas laterais e seta com folga. */
.peca-form-v1227 .pf-cmp-table select,.peca-form-v1227 .pf-pv-table select,
.peca-form-v1227 .pf-cmp-table input,.peca-form-v1227 .pf-pv-table input[type=number]{height:38px!important;min-height:38px;padding-top:0!important;padding-bottom:0!important;line-height:36px!important;font-size:13px!important}
.peca-form-v1227 .pf-cmp-table select,.peca-form-v1227 .pf-pv-table select{padding-left:10px!important;padding-right:30px!important;text-overflow:ellipsis;white-space:nowrap}
.peca-form-v1227 .pf-cmp-table td{vertical-align:middle}
.peca-form-v1227 .pf-cmp-table th:nth-child(4){width:150px}
.peca-form-v1227 .pf-cmp-med input{height:38px!important}
