
/* Cadastro NF-e: telas compactas, responsivas e com texto escuro. */
.nfe-draft-editor{color:#28384b;max-width:100%}
.nfe-main{display:grid;grid-template-columns:minmax(240px,25%) minmax(0,1fr);gap:18px;margin-bottom:18px}
.nfe-number,.nfe-emit,.nfe-card{background:#fff;border:1px solid #e0e6ee;
 box-shadow:0 2px 9px #1931480b;border-radius:3px;padding:19px 20px}
.nfe-number{display:flex;flex-direction:column;text-align:center;gap:8px}
.nfe-number>strong{font-size:23px;color:#086acc}
.nfe-number>small{font-size:12px;color:#66778b}
.nfe-number .nfe-grid{margin-top:auto}
.nfe-emit{display:grid;grid-template-columns:2fr 1fr 1fr;align-items:center;gap:18px}
.nfe-emit small{font-size:12px;color:#556980;display:block;margin-bottom:9px}
.nfe-emit b{font-size:14px;color:#27374a;line-height:1.3}
.nfe-grid{display:grid;gap:15px 17px;align-items:end}
.nfe-grid.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nfe-grid.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
.nfe-grid.cols6{grid-template-columns:repeat(6,minmax(0,1fr))}
.nfe-field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#3b4e65;font-weight:500;min-width:0}
.nfe-field input,.nfe-field select,.nfe-field textarea{width:100%;border:1px solid #ccd5e0;
 border-radius:3px;padding:10px 12px;min-height:41px;color:#26384b;background:#fff;font-size:13px;font-weight:500}
.nfe-field input:disabled{background:#f1f4f8;color:#55677e;opacity:1}
.nfe-field textarea{min-height:92px;resize:vertical}
.nfe-card{margin:0 0 18px;padding:20px 24px}
.nfe-card>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:15px}
.nfe-card>header h3{font-size:16px;font-weight:600;color:#2d3b4e;margin:0}
.nfe-card>header h3 small{font-size:11px;font-weight:400;color:#5a6b80}
.nfe-lookup{display:flex;align-items:stretch}
.nfe-lookup input{flex:1;border-radius:3px 0 0 3px}
.nfe-lookup button{width:43px;border:1px solid #b6c7d9;background:#f1f6fc;border-radius:0 3px 3px 0;
 font-size:19px;color:#096fcb;cursor:pointer}
.nfe-field select{margin-top:3px}
.nfe-prod-grid{grid-template-columns:minmax(200px,2.7fr) minmax(95px,.7fr) minmax(130px,1fr) 110px 115px}
.nfe-action-add{height:41px!important;min-width:0!important;padding:0 10px!important}
.nfe-extra{background:#f8fafc;margin:16px 0 12px;padding:10px;text-align:center;color:#5b6c83;border-radius:2px}
.nfe-extra summary{cursor:pointer;font-size:13px}
.nfe-extra p{font-size:12px;color:#51637b}
.nfe-scroll{overflow-x:auto;margin-top:15px}
.nfe-scroll table{width:100%;border-collapse:collapse;min-width:630px;font-size:13px}
.nfe-scroll th{background:#eef2f7;font-size:12px;color:#35465b;padding:12px 10px;font-weight:600;text-align:left}
.nfe-scroll td{padding:12px 10px;border-bottom:1px solid #e5ebf2;color:#26384b}
.nfe-scroll td b{font-weight:700}
.nfe-scroll td button{border:1px solid #df777e;background:#fff;color:#ba333f;padding:5px 9px;border-radius:3px;cursor:pointer}
.nfe-scroll input{min-height:37px;padding:5px 10px;border:1px solid #cbd7e4}
.nfe-grand input{font-weight:700;color:#23354a}
.nfe-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.nfe-card h4{font-size:13px;font-weight:600;margin:16px 0;color:#4b5e76}
.nfe-toggle{font-size:12px;display:flex;align-items:center;gap:7px;color:#3b5a7c}
.nfe-toggle input{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;accent-color:#086dd0}
.nfe-tabs{display:flex;margin:-5px 0 17px;border-bottom:1px solid #dbe4ee}
.nfe-tabs button{font-size:13px;background:none;border:0;border-bottom:3px solid transparent;color:#536780;
 padding:10px 15px;cursor:pointer}
.nfe-tabs button.active{color:#086fcd;border-bottom-color:#086fcd;font-weight:700}
.nfe-footer{display:flex;gap:8px;justify-content:flex-end;margin:0 0 25px}
.nfe-footer button{min-width:170px;height:42px;font-size:13px}
.nfe-footer button:disabled{opacity:.55}
.nfe-card .hidden{display:none!important}
@media(max-width:1100px){
 .nfe-main{grid-template-columns:minmax(0,1fr)}
 .nfe-grid.cols6{grid-template-columns:repeat(3,minmax(0,1fr))}
 .nfe-prod-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .nfe-prod-search{grid-column:span 3}
 .nfe-columns{grid-template-columns:1fr}
}
@media(max-width:720px){
 .nfe-card{padding:15px}
 .nfe-emit,.nfe-grid.cols3,.nfe-grid.cols6{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nfe-prod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nfe-prod-search{grid-column:span 2}
 .nfe-grid.cols2{grid-template-columns:1fr}
 .nfe-footer{flex-wrap:wrap}
}

#nfeItemExtra{text-align:left;background:#f7fafe;border:1px solid #cddfed;padding:15px}#nfeItemExtra summary{font-weight:650;color:#1269bd}#nfeProductExtraFields{padding-top:15px}#nfeItemRows button.nfe-edit-item{color:#1466b1;border-color:#7eb5e8;margin-right:3px}

#nfeTransportFields.hidden,#nfePaymentFields.hidden{display:none!important}
.nfe-optional-note{font-size:12px;color:#4a5b70;line-height:1.5;margin:0 0 14px;padding:12px 14px;background:#f1f6fd;border:1px solid #d6e4f4}

/* Diagnóstico SEFAZ em contexto; status não pode desaparecer após o toast. */
.nfe-fiscal-return{margin:18px 0;padding:17px 20px;border:1px solid #bfcfe1;background:#eef4fb;border-left:4px solid #377cc4;border-radius:6px;color:#213c56}
.nfe-fiscal-return.hidden{display:none!important}
.nfe-fiscal-return h3{font-size:16px;margin:0 0 9px}
.nfe-fiscal-return p{font-size:13px;line-height:1.55;margin:6px 0}
.nfe-fiscal-return.error{border-left-color:#be394a;background:#fff4f5}
.nfe-fiscal-return.warning{border-left-color:#cd9d3e;background:#fff9ee}
.nfe-fiscal-return.success{border-left-color:#23865b;background:#effaf3}

.nfe-cfop-hint{font-size:11px;display:block;color:#2c6d55;line-height:1.4;margin-top:4px}.nfe-cfop-hint.nfe-cfop-attention{color:#b46417}

/* Opções da edição compacta */
.nfe-item-reference{background:#f6fafd;padding:13px 16px;border:1px solid #cfddec;border-radius:5px;margin:12px 0}
.nfe-item-reference h4{margin:0 0 10px;color:#284968}
.nfe-header-ref-suppressed{display:none}
.nfe-footer .nfe-hidden-actions{display:none!important}
.nfe-footer{justify-content:space-between;align-items:center;flex-wrap:wrap}
.nfe-footer-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-left:auto;flex-wrap:wrap}
.nfe-footer .nfe-footer-actions button{min-width:165px}
.nfe-footer .nfe-footer-actions .nfe-green-send{background:#23864a!important;border-color:#23864a!important;color:#fff!important}
.nfe-footer .nfe-footer-actions .nfe-green-send:hover{background:#1a6d3b!important}
@media(max-width:640px){.nfe-footer-actions{width:100%;display:grid;grid-template-columns:1fr}.nfe-footer-actions button{width:100%}}

.nfe-footer>button{flex:0 1 220px}
.nfe-toggle input[type=checkbox]{appearance:auto!important;accent-color:#117bea!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0}
.nfe-consumer-final{align-self:center;min-height:43px;font-size:13px;font-weight:600}
@media(max-width:640px){.nfe-footer{display:grid;grid-template-columns:1fr;gap:9px}.nfe-footer>button{width:100%;max-width:none}}


.nfe-transport-combo{display:flex;flex-direction:column;gap:8px;align-self:end}
.nfe-transport-combo .nfe-field{flex:1;min-width:0}
.nfe-transport-combo>button{min-height:38px;align-self:start;font-size:12px;padding:6px 12px}
.nfe-transport-combo select{max-width:100%}
.nfe-carrier-sources{font-size:12px;color:#657891;margin:0 0 3px;line-height:1.5}
.nfe-volumes-grid{align-items:end}
.nfe-volumes-grid .nfe-field{min-width:0}
.nfe-volumes-grid .nfe-field input{width:100%;box-sizing:border-box}
.nfe-transport-combo{justify-content:end}
.nfe-transport-combo>button{border-radius:5px}
.nfe-transport-combo select{min-height:49px}
@media(max-width:900px){.nfe-volumes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.nfe-volumes-grid{grid-template-columns:minmax(0,1fr)}}


/* Valores fiscais somente de XML efetivamente preparado ou protocolado. */
.nfe-draft-editor .nfe-tax-description{color:#304158;font-size:13px;line-height:1.5;margin:0 0 17px}
.nfe-draft-editor [data-nfe-tax]{font-variant-numeric:tabular-nums;color:#142438!important;font-size:14px!important;font-weight:600!important;opacity:1!important}
.nfe-draft-editor [data-nfe-tax]:disabled{background:#f5f7fa;color:#142438!important;-webkit-text-fill-color:#142438!important}
@media(max-width:1200px){.nfe-draft-editor .nfe-grid.cols6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.nfe-draft-editor .nfe-grid.cols6{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Situação da regra fiscal e edição restrita das alíquotas do item. */
.nfe-tax-rule-hint{padding:10px 14px;margin:10px 0 15px;border-left:3px solid #dc9b35;background:#fff8e9;color:#664a24;line-height:1.5;font-size:13px}
.nfe-tax-rule-hint.ok{border-color:#397f54;background:#f2faf4;color:#244d38}
.nfe-tax-limits{font-size:12px;line-height:1.6;color:#41516a;margin:15px 0 0}

/* Painel de tributos da NF-e, acessível e sem borda de foco permanente. */
#nfeItemExtra{border-radius:5px;background:#f9fbfe}
#nfeItemExtra summary{display:list-item;padding:10px 12px;background:#eff5fc;border:1px solid #d8e5f5;border-radius:4px;cursor:pointer;line-height:1.5;color:#135da8}
#nfeItemExtra summary:not(:focus-visible){outline:none}
#nfeItemExtra summary:focus-visible{outline:2px solid #116ace;outline-offset:2px}
#nfeProductExtraFields .nfe-field input{min-height:43px}
#nfeProductExtraFields .nfe-field input:focus{outline:2px solid #8ebcfa;outline-offset:0}


/* Destinatário/Cliente expandível — referência Nota Smart, 19/10/2026 */
.nfe-draft-editor .nfe-card:has(>header #nfeRecipientExpand){border-radius:3px}
.nfe-recipient-top{display:grid;grid-template-columns:minmax(260px,2.5fr) minmax(170px,1fr) minmax(165px,1fr) minmax(125px,.85fr) 44px;
 gap:22px;align-items:end}
.nfe-recipient-search{min-width:0}
.nfe-recipient-top .nfe-field{gap:8px;font-size:12.5px}
.nfe-recipient-top .nfe-field input{height:43px;min-height:43px}
.nfe-recipient-top .nfe-field input[readonly]{background:#f1f3f6;color:#34485f;font-weight:500;border-color:#e5e9ee}
.nfe-recipient-top .nfe-lookup-combo{min-width:0}
.nfe-recipient-top .nfe-recipient-usage{display:flex;align-items:center;justify-content:center;gap:9px;flex-direction:column;
 font-size:12.5px;color:#445873;white-space:nowrap;min-height:67px;cursor:pointer}
.nfe-recipient-usage input{position:absolute;opacity:0;width:1px;height:1px}
.nfe-recipient-switch{height:23px;width:49px;border-radius:30px;background:#c8cdd3;position:relative;
 display:block;transition:background .15s}
.nfe-recipient-switch:before{position:absolute;content:"";height:17px;width:17px;background:white;
 top:3px;left:3px;border-radius:50%;box-shadow:0 1px 4px #3442;transition:transform .15s}
.nfe-recipient-usage input:checked+.nfe-recipient-switch{background:#0875d8}
.nfe-recipient-usage input:checked+.nfe-recipient-switch:before{transform:translateX(26px)}
.nfe-recipient-usage input:focus-visible+.nfe-recipient-switch{outline:2px solid #086acc;outline-offset:3px}
.nfe-recipient-expand{height:43px!important;min-height:43px!important;min-width:40px!important;
 display:flex;align-items:center;justify-content:center;background:transparent!important;border:0!important;
 color:#365c81!important;font-size:27px!important;cursor:pointer;padding:0!important}
.nfe-recipient-expand span{display:inline-block;transition:transform .2s}
.nfe-recipient-expand[aria-expanded=true] span{transform:rotate(180deg)}
.nfe-recipient-details{padding:25px 3px 0}
.nfe-recipient-tabs{display:flex;align-items:stretch;gap:0;border-bottom:1px solid #e4e9f0;flex-wrap:wrap}
.nfe-recipient-tabs button{height:43px;min-height:43px!important;background:transparent!important;
 border:0!important;border-top:4px solid transparent!important;cursor:pointer;
 color:#64748b!important;font-weight:500!important;padding:8px 19px!important;font-size:12.5px!important}
.nfe-recipient-tabs button.active{border-top-color:#0875df!important;color:#0868c9!important;background:#fff!important}
.nfe-recipient-tabs button:focus-visible{outline:2px solid #0768cf}
.nfe-recipient-panel{padding:18px!important;background:#fff;box-shadow:0 2px 12px #2033480d;
 border:1px solid #eef1f5;border-top:0}
.nfe-recipient-help{margin:0 0 13px!important;color:#65768c;font-size:12px;line-height:1.4}
.nfe-recipient-address-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px 19px}
.nfe-recipient-address-grid .nfe-field{grid-column:span 3;gap:7px;font-weight:400}
.nfe-recipient-address-grid .nfe-address-cep{grid-column:span 2}
.nfe-recipient-address-grid .nfe-address-logradouro{grid-column:span 6}
.nfe-recipient-address-grid .nfe-address-numero{grid-column:span 1}
.nfe-recipient-address-grid .nfe-address-complemento{grid-column:span 3}
.nfe-recipient-address-grid .nfe-address-bairro{grid-column:span 3}
.nfe-recipient-address-grid .nfe-address-uf{grid-column:span 2}
.nfe-recipient-address-grid .nfe-address-cidade{grid-column:span 4}
.nfe-recipient-address-grid .nfe-address-pais{grid-column:span 3}
.nfe-recipient-address-grid input[readonly]{background:#f6f8fb;color:#374960}
.nfe-recipient-delivery-check{display:flex;align-items:center;gap:9px;font-weight:550;font-size:13px;margin-bottom:9px}
.nfe-recipient-delivery-check input{width:17px!important;height:17px!important;min-height:17px!important}
.nfe-delivery-doc{margin-top:14px;max-width:470px}
.nfe-recipient-other{display:flex;align-items:start;flex-direction:column;gap:7px}
.nfe-recipient-other .nfe-consumer-final{margin-bottom:5px}
@media(max-width:1160px){
 .nfe-recipient-top{grid-template-columns:minmax(200px,2fr) minmax(150px,1fr) minmax(130px,1fr) 110px 36px;gap:12px}
 .nfe-recipient-address-grid .nfe-address-cep{grid-column:span 3}
 .nfe-recipient-address-grid .nfe-address-logradouro{grid-column:span 5}
 .nfe-recipient-address-grid .nfe-address-numero{grid-column:span 2}
 .nfe-recipient-address-grid .nfe-address-complemento{grid-column:span 2}
}
@media(max-width:870px){
 .nfe-recipient-top{grid-template-columns:minmax(0,2fr) minmax(0,1fr) 44px}
 .nfe-recipient-search{grid-column:span 2}
 .nfe-recipient-top .nfe-recipient-usage{grid-column:span 2;flex-direction:row;justify-content:flex-start;min-height:36px}
 .nfe-recipient-expand{grid-column:3;grid-row:1}
 .nfe-recipient-address-grid .nfe-field{grid-column:span 6!important}
 .nfe-recipient-address-grid .nfe-address-logradouro{grid-column:span 9!important}
 .nfe-recipient-address-grid .nfe-address-numero{grid-column:span 3!important}
}
@media(max-width:540px){
 .nfe-recipient-top{grid-template-columns:1fr 44px}
 .nfe-recipient-search{grid-column:1}
 .nfe-recipient-top>.nfe-field:not(.nfe-recipient-search){grid-column:1/-1}
 .nfe-recipient-top .nfe-recipient-usage{grid-column:1}
 .nfe-recipient-expand{grid-column:2}
 .nfe-recipient-tabs button{flex:1;padding:7px 8px!important;font-size:11px!important}
 .nfe-recipient-address-grid .nfe-field{grid-column:1/-1!important}
 .nfe-recipient-panel{padding:13px!important}
}

.nfe-recipient-title{display:inline-flex;align-items:center;gap:10px;color:#253951}
.nfe-recipient-title .modelo-person-icon{width:20px;height:23px;flex:0 0 20px;color:#405e79}


/* Destinatário: busca legível, telefone ao lado do documento e dados do cadastro. */
.nfe-draft-editor .nfe-recipient-top{
 display:grid!important;
 grid-template-columns:minmax(260px,2.4fr) minmax(145px,.75fr)
  minmax(158px,.95fr) minmax(145px,.85fr) minmax(105px,.58fr) 36px!important;
 column-gap:16px!important;
 row-gap:13px!important;
 align-items:end!important;
}
.nfe-draft-editor .nfe-recipient-top > .nfe-field{min-width:0}
.nfe-draft-editor .nfe-recipient-search .nfe-lookup-combo{
 position:relative!important;
 display:flex!important;
 align-items:stretch!important;
}
.nfe-draft-editor .nfe-recipient-search .nfe-lookup-combo > #nfeClientSearch{
 padding-left:13px!important;
 padding-right:32px!important;
 min-width:0!important;
 text-overflow:ellipsis;
 width:100%;
 box-sizing:border-box;
 background-image:none!important;
}
.nfe-draft-editor .nfe-recipient-search .nfe-lookup-combo > .nfe-search-icon{
 position:absolute!important;
 left:auto!important;
 right:54px!important;
 top:50%!important;
 transform:translateY(-50%)!important;
 color:#8b9bad!important;
 font:500 20px/1 Arial,sans-serif!important;
 height:22px!important;
 width:18px!important;
 text-align:center!important;
 z-index:1;
 pointer-events:none!important;
}
.nfe-draft-editor .nfe-recipient-search .nfe-lookup-combo > #nfeNewCustomer{
 position:relative;
 z-index:2;
 flex:0 0 43px;
}
.nfe-draft-editor .nfe-recipient-contact-grid{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 column-gap:24px!important;
 row-gap:14px!important;
 align-items:start!important;
 width:100%;
}
.nfe-draft-editor .nfe-recipient-contact-grid .nfe-field{min-width:0;width:100%}
.nfe-draft-editor .nfe-recipient-contact-grid .nfe-field input{
 width:100%;
 min-height:42px;
 box-sizing:border-box;
 background:#fff;
 color:#243c54;
 border:1px solid #d8e1ea;
 font-weight:400;
 cursor:default;
}
.nfe-draft-editor .nfe-operation-consumer{margin-top:13px}
.nfe-draft-editor .nfe-operation-consumer .nfe-consumer-final{
 display:inline-flex!important;
 align-items:center;
 gap:8px;
 margin:0;
}
@media(max-width:1150px){
 .nfe-draft-editor .nfe-recipient-top{
  grid-template-columns:minmax(230px,2fr) minmax(130px,1fr)
   minmax(140px,1fr) minmax(140px,1fr) 100px 36px!important;
  column-gap:10px!important;
 }
}
@media(max-width:980px){
 .nfe-draft-editor .nfe-recipient-top{
  grid-template-columns:repeat(2,minmax(0,1fr)) 40px!important;
  column-gap:13px!important;
 }
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-search{grid-column:1/3;grid-row:1}
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-phone{grid-column:1;grid-row:2}
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-document{grid-column:2;grid-row:2}
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-ie{grid-column:1;grid-row:3}
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-usage{
  grid-column:2;grid-row:3;
  justify-content:center;
  flex-direction:row;
  min-height:43px;
 }
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-expand{grid-column:3;grid-row:1}
}
@media(max-width:620px){
 .nfe-draft-editor .nfe-recipient-contact-grid{grid-template-columns:1fr!important;gap:12px!important}
}
@media(max-width:480px){
 .nfe-draft-editor .nfe-recipient-top{grid-template-columns:minmax(0,1fr) 40px!important}
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-search{grid-column:1;grid-row:1}
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-phone,
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-document,
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-ie{grid-column:1/3;grid-row:auto}
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-usage{grid-column:1;grid-row:auto;justify-content:flex-start}
 .nfe-draft-editor .nfe-recipient-top .nfe-recipient-expand{grid-column:2;grid-row:1}
}

/* Evidencia a composição de frete e desconto por item vs. global. */
.nfe-total-breakdown{margin:12px 0 0;padding:12px 14px;background:#f3f7fc;border:1px solid #dae5f2;color:#284263;border-radius:6px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
#nfeFreightTotal,#nfeDiscountTotal,#nfeItemOtherTotal{background:#eef5fe;color:#123f77;font-weight:700}

/* Indicador fiscal da NF-e visível junto ao destinatário, independente de uso/consumo. */
.nfe-draft-editor .nfe-recipient-fiscal-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:14px 2px 0;padding:12px 14px;border:1px solid #dae5f2;border-radius:6px;background:#f7faff;color:#284263}
.nfe-draft-editor .nfe-recipient-fiscal-switch{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;cursor:pointer;white-space:normal}
.nfe-draft-editor #nfeConsumerFinal{width:18px;height:18px;accent-color:#096ac8;flex:0 0 18px}
.nfe-draft-editor .nfe-recipient-fiscal-info{font-size:12px;line-height:1.5}
.nfe-draft-editor .nfe-recipient-fiscal-info.nfe-recipient-fiscal-warning{color:#9b4d00;font-weight:600}
