:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#193740;background:#f1f5f7;font-synthesis:none}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;background:#f1f5f7}
header{min-height:84px;padding:12px max(4vw,20px);display:flex;flex-wrap:wrap;align-items:center;gap:22px;background:#fff;border-bottom:1px solid #dbe4e8}
.brand{font-size:32px;font-weight:650;letter-spacing:-2px;color:#085a66;line-height:1}.brand span{display:block;font-size:9px;letter-spacing:2.5px;margin:7px 0 0 3px}
.division{border-left:1px solid #ccdadd;padding-left:22px;font-size:15px}
.portal{margin-left:auto;font-size:14px}a{color:#085a66;text-decoration:none}a:hover{text-decoration:underline}
.amb{font-size:13px;font-weight:700;padding:7px 12px;border-radius:30px;border:1px solid #eddfb6;background:#fff5d9;color:#775814;letter-spacing:.5px}
.amb.prod{background:#fde8e8;border-color:#f3b7b7;color:#9b1c1c}
main{max-width:1180px;margin:36px auto;padding:0 20px}
.alerta{background:#fde8e8;border:1px solid #f3b7b7;color:#9b1c1c;border-radius:10px;padding:12px 16px;margin-bottom:20px;font-size:14px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;color:#57717a;margin:0 0 10px}
p{font-size:15px;line-height:1.55;color:#58707a;margin:8px 0}
.layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px}
.card{background:#fff;border:1px solid #dce5e9;border-radius:16px;overflow:hidden;box-shadow:0 6px 20px #163b4508}
.cardhead{display:flex;gap:16px;align-items:center;padding:22px 26px;border-bottom:1px solid #e7eef0}
.step{font-size:14px;border-radius:12px;background:#e7f2f3;color:#085a66;padding:13px;font-weight:700}
h2{font-size:20px;margin:0 0 4px}h3{font-size:16px;margin:0 0 12px}.cardhead p{font-size:14px;margin:0}
form{padding:24px 26px}label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
input,textarea,select{width:100%;font:inherit;font-size:15px;border:1px solid #cbd9de;border-radius:8px;color:#193740;background:#fff;padding:11px 12px;margin-bottom:18px;outline:none}
input:focus,textarea:focus,select:focus{border-color:#087484;box-shadow:0 0 0 3px #08748418}
textarea{resize:vertical}.row,.row3{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row3{grid-template-columns:1fr 1fr 1fr}
.money{display:flex;align-items:center;border:1px solid #cbd9de;border-radius:8px;overflow:hidden}.money span{padding:0 0 0 14px;color:#617883}.money input{margin:0;border:0;font-size:22px;font-weight:600;box-shadow:none}
.error{display:block;color:#b42318;font-size:13px;margin:-12px 0 12px;min-height:0}
.actions,.modalactions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;align-items:center}
button,.secondary{font:inherit;font-size:14px;border-radius:8px;padding:11px 17px;cursor:pointer;font-weight:600;display:inline-block;text-align:center}
button:focus-visible,a:focus-visible{outline:3px solid #0b96a7;outline-offset:3px}
.primary{background:#085a66;border:1px solid #085a66;color:#fff}.primary:hover{background:#064651}
.secondary{border:1px solid #cbd9de;color:#36545e;background:#fff}
.danger{background:#b42318;border:1px solid #b42318;color:#fff}
.textbutton{border:0;background:none;color:#085a66;padding:6px 4px}
button:disabled{opacity:.6;cursor:wait}
.privacy{font-size:12px;line-height:1.5;margin:14px 0 0}
.summary{background:#123e4a;color:#fff;border-radius:16px;padding:26px}.summary .eyebrow{color:#afd0d8}
.total{font-size:36px;color:#fff;font-weight:550;margin:18px 0}.rule{height:1px;background:#ffffff26;margin:0 0 16px}
.summary dl{margin:0}.summary dt{font-size:12px;color:#afd0d8;margin-top:12px}.summary dd{margin:3px 0 0;font-size:14px;overflow-wrap:anywhere}
.records{margin-top:24px}.records .cardhead{justify-content:space-between;flex-wrap:wrap}
.filtros{display:flex;gap:10px;align-items:center}.filtros select{margin:0;width:auto}
.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;color:#57717a;font-weight:700;letter-spacing:.4px;padding:12px 14px;border-bottom:1px solid #e1e9ec;white-space:nowrap}
td{padding:12px 14px;border-bottom:1px solid #eef3f5;vertical-align:top}.num{text-align:right;white-space:nowrap}
td small{display:block;color:#6b8189;font-size:12px;margin-top:2px}
.st{display:inline-block;font-size:12px;font-weight:700;padding:4px 9px;border-radius:20px;white-space:nowrap}
.st.EMITIDA{background:#e3f4ea;color:#166534}.st.REJEITADA,.st.ERRO{background:#fde8e8;color:#9b1c1c}.st.A_CONFERIR,.st.PROCESSANDO{background:#fff5d9;color:#775814}.st.CANCELADA{background:#eceff1;color:#4b5b62}
.tag{font-size:11px;font-weight:700;color:#775814}.tag.prod{color:#9b1c1c}
.acoes{display:flex;flex-wrap:wrap;gap:4px}.acoes a,.acoes button{font-size:13px;padding:4px 8px;border:1px solid #d5e1e5;border-radius:6px;background:#fff;color:#085a66;font-weight:600}
.erros{color:#9b1c1c;font-size:12px;max-width:380px;margin-top:6px}
.empty{padding:20px 26px;color:#58707a}
dialog{border:0;border-radius:16px;padding:28px;max-width:640px;width:calc(100% - 32px);box-shadow:0 20px 60px #0004}
dialog::backdrop{background:#0b2a3366}
#settings-dialog{max-width:760px;max-height:92vh}#settings-dialog form{padding:20px 0;border-top:1px solid #dce5e9}
.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:26px;color:#58707a;padding:4px 10px}
dialog dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px}dialog dt{color:#57717a;font-weight:600}dialog dd{margin:0;overflow-wrap:anywhere}
.amb-box{font-weight:700;padding:10px 14px;border-radius:8px;background:#fff5d9;color:#775814}.amb-box.prod{background:#fde8e8;color:#9b1c1c}
.check-label{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-weight:400;font-size:14px}.check-label input{width:18px;height:18px;flex:0 0 auto;margin:2px 0 0}
.fiscal-summary{font-size:13px;background:#eef4f6;padding:12px;border-radius:8px;margin:0 0 16px}
.pair{display:grid;grid-template-columns:1fr 2fr;gap:8px}
.settings-message{font-weight:600;color:#085a66;min-height:1em}
#emit-status,#cancel-status{font-weight:600}
footer{margin:30px 0;font-size:13px;color:#58707a}footer span{margin-left:8px}
@media (max-width:820px){.layout,.row,.row3{grid-template-columns:1fr}.division{display:none}}
.abas{display:flex;gap:6px;margin:0 0 20px;border-bottom:1px solid #dce5e9}
.aba{border:0;background:none;padding:12px 16px;border-bottom:3px solid transparent;border-radius:0;color:#58707a}
.aba.ativa{color:#085a66;border-bottom-color:#085a66}
#aba-lote .card{margin-bottom:22px}
.mapa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:4px 18px;margin-bottom:10px}
.mapa-grid .grupo{grid-column:1/-1;font-size:12px;font-weight:700;letter-spacing:1px;color:#57717a;margin:10px 0 6px;border-top:1px solid #e7eef0;padding-top:12px}
.mapa-grid .obrig{color:#b42318}
details{margin:6px 0 10px}summary{cursor:pointer;font-size:14px;font-weight:600;color:#085a66}
#lote-amostra td,#lote-amostra th{font-size:12px;padding:6px 10px;white-space:nowrap}
.lote-barra{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 26px;flex-wrap:wrap}
.lote-barra .check-label{margin:0}
#lote-progresso{display:flex;align-items:center;gap:10px;min-width:280px}
.barra{flex:1;height:10px;background:#e7eef0;border-radius:6px;overflow:hidden;min-width:160px}#lote-barra-int{height:100%;width:0;background:#085a66;transition:width .3s}
.lote-acoes{padding:18px 26px 24px}
tr.invalida td{background:#fff8f8}tr.aviso td{background:#fffcf0}
.msgs{font-size:12px;margin-top:4px}.msgs .e{color:#9b1c1c}.msgs .a{color:#775814}
td input[type=checkbox]{width:18px;height:18px;margin:0}
.tag.lote{color:#085a66}
.acoes button.remover{color:#9b1c1c;border-color:#f3c4c4}
.split{background:#f4f8f9;border:1px solid #dce5e9;border-radius:12px;padding:16px 18px;margin:0 0 20px}
.split-head{display:flex;justify-content:space-between;align-items:center}.split-head label{margin:0}#split-pct{font-weight:700;color:#085a66;font-size:14px}
.split input[type=range]{width:100%;padding:0;margin:14px 0 4px;border:0;box-shadow:none;accent-color:#085a66;height:24px}
.split-legenda{display:flex;justify-content:space-between;font-size:12px;color:#6b8189}
.split-valores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.sv{background:#fff;border:1px solid #dce5e9;border-radius:10px;padding:10px 14px}.sv small{display:block;font-size:11px;font-weight:700;letter-spacing:1px;color:#57717a}.sv strong{font-size:20px}
.sv.serv{border-left:4px solid #085a66}.sv.prod{border-left:4px solid #b7791f}.sv.off{opacity:.45}
fieldset{border:1px solid #ecd9b0;background:#fffcf3;border-radius:12px;padding:16px 18px 4px;margin:0 0 20px}
legend{font-weight:700;font-size:15px;padding:0 6px;color:#775814}legend small{font-weight:400;color:#8a6d2b}
.row-end{display:grid;grid-template-columns:3fr 1fr;gap:16px}.row-uf{display:grid;grid-template-columns:1fr 3fr;gap:16px}
.hint{display:block;font-size:12px;color:#6b8189;margin:-12px 0 12px;min-height:0}
.tipo{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:12px;white-space:nowrap}.tipo.NFSE{background:#e7f2f3;color:#085a66}.tipo.NFE{background:#fbefd5;color:#7a5410}
.st.DENEGADA{background:#3b0d0d;color:#fff}
@media (max-width:820px){.row-end,.row-uf,.split-valores{grid-template-columns:1fr}}
.tela-login{min-height:100vh;background:linear-gradient(135deg,#0d3f4a 0%,#085a66 55%,#0e7280 100%)}
.login-wrap{max-width:1000px;margin:0 auto;min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:40px 24px}
.login-marca{color:#fff}.login-marca .brand{color:#fff;font-size:44px}.login-marca .brand span{color:#bfe1e6}
.login-marca h1{font-size:34px;margin:34px 0 10px;color:#fff}.login-marca p{color:#d6eef1;font-size:16px;max-width:420px}
.login-marca ul{margin:22px 0 0;padding:0;list-style:none}.login-marca li{color:#e6f5f7;padding:6px 0 6px 26px;position:relative;font-size:15px}.login-marca li::before{content:'✓';position:absolute;left:0;color:#8fd3dc;font-weight:700}
.login-card{padding:8px 0 10px}.login-card .abas{padding:0 24px;margin:0}.login-card form{padding:22px 26px 8px}
.largo{width:100%;margin-top:6px;padding:13px}
.login-msg{min-height:1.2em;padding:0 26px 14px;font-size:14px;font-weight:600}.login-msg.erro{color:#b42318}.login-msg.ok{color:#166534}
.usuario-topo{display:flex;align-items:center;gap:10px;font-size:14px;color:#36545e}.usuario-topo strong{color:#193740}
.filtros-notas{display:flex;flex-wrap:wrap;gap:10px;padding:14px 26px;border-bottom:1px solid #e7eef0;align-items:end;background:#fafcfd}
.filtros-notas label{font-size:12px;margin:0 0 4px;color:#57717a}.filtros-notas input,.filtros-notas select{margin:0;padding:8px 10px;font-size:14px}
.filtros-notas .busca{flex:1;min-width:220px}.filtros-notas > div{display:flex;flex-direction:column}
.por{display:block;font-size:11px;color:#6b8189;margin-top:3px}
@media (max-width:820px){.login-wrap{grid-template-columns:1fr;gap:20px}.login-marca h1{margin-top:16px}.login-marca ul{display:none}}
button.amb{cursor:pointer;font:inherit;font-size:13px;font-weight:700}button.amb::after{content:' ▾';font-size:10px}
.amb-opcao{display:flex;gap:12px;align-items:flex-start;border:1px solid #dce5e9;border-radius:10px;padding:12px 14px;margin:0 0 10px;cursor:pointer;font-weight:400}
.amb-opcao input{width:18px;height:18px;margin:3px 0 0;flex:0 0 auto}.amb-opcao strong{display:block}.amb-opcao small{color:#58707a}
.amb-opcao.prod strong{color:#9b1c1c}#amb-avisos div{margin:3px 0}
#cfg-toast{position:sticky;bottom:0;margin:12px -28px -28px;padding:12px 18px;font-weight:600;font-size:14px;border-top:1px solid #dce5e9}
#cfg-toast.ok{background:#e3f4ea;color:#166534}#cfg-toast.erro{background:#fde8e8;color:#9b1c1c}
