/* Portal de NFS-e -- R. Martins. Paleta e tipografia do site institucional. */
:root{
  --verde:#013438; --verde2:#2C3637; --vermelho:#681612;
  --branco:#ffffff; --bege:#daad9e; --bege-claro:#f7f0eb;
  --cinza-bg:#f5f5f3; --txt:#1c1c1c; --txt2:#555;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Kanit',sans-serif;color:var(--txt);background:var(--cinza-bg)}
.topo{background:var(--verde);padding:12px 5%;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.topo-logo{height:46px;width:auto;display:block}
.topo-nome{color:#fff;font-size:13px;font-weight:400}
.topo-tel{color:var(--bege);font-size:13px}
.topo-acoes{display:flex;gap:18px;align-items:center}
.link-topo{color:#fff;font-size:13px;text-decoration:underline;cursor:pointer;background:none;border:0;padding:0;font-family:inherit}

.wrap{max-width:640px;margin:0 auto;padding:32px 16px 64px}
.wrap-login{min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;padding:32px 16px}
.form-card{background:var(--bege-claro);border-radius:10px;padding:36px 32px;margin-bottom:20px}
.form-card.estreito{max-width:420px;width:100%;padding:40px 36px;margin-bottom:0}
.form-card h1{font-size:19px;font-weight:600;color:var(--verde);margin:0 0 20px}
.form-card.estreito h1{font-size:20px;margin:0 0 6px}
.sub{font-size:13px;color:var(--txt2);margin:0 0 26px;font-weight:300}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:12px;font-weight:500;color:var(--verde);margin-bottom:6px;letter-spacing:.04em;text-transform:uppercase}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:13px 14px;border:1px solid #d8d2cc;border-radius:4px;
  font-family:'Kanit',sans-serif;font-size:14px;color:var(--txt);background:#fff;transition:border-color .2s;outline:none;
}
.form-group textarea{resize:vertical;min-height:70px}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--verde)}
.linha-campo{display:flex;gap:10px}
.linha-campo input{flex:1}
.row2{display:grid;grid-template-columns:2fr 1fr;gap:14px}

.btn-form{
  background:var(--vermelho);color:#fff;border:none;padding:15px 30px;border-radius:3px;
  font-family:'Kanit',sans-serif;font-size:14px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .2s;
}
.btn-form:hover{background:#8a1a17}
.btn-form:disabled{background:#b0a8a3;cursor:default}
.btn-full{width:100%;padding:16px 34px}
.btn-sec{
  background:#fff;color:var(--verde);border:1px solid var(--verde);padding:13px 20px;border-radius:3px;
  font-family:'Kanit',sans-serif;font-size:13px;font-weight:500;cursor:pointer;
}
.btn-sec:disabled{opacity:.5;cursor:default}
.btn-link{text-decoration:none;display:inline-block}
.linha-btn{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.linha-btn.centro{justify-content:center}

.msg{margin-top:16px;font-size:13px;line-height:1.5;padding:14px 16px;border-radius:6px;display:none}
.msg.ok{display:block;background:#e4f0e6;color:#1e4620}
.msg.erro{display:block;background:#f6e2e0;color:var(--vermelho)}
.msg.info{display:block;background:#e8eef0;color:var(--verde)}
.alerta-geral{margin:0 0 20px}

.resumo{background:#fff;border:1px solid #e6e6e4;border-radius:8px;padding:24px 26px;font-size:14px;line-height:1.9;overflow-wrap:anywhere}
.resumo b{color:var(--verde)}
.resultado{text-align:center;padding:24px 0}
.resultado .num{font-size:32px;font-weight:700;color:var(--verde);margin:6px 0}
.andamento{text-align:center;padding:28px 0}
.andamento .estado{font-size:16px;font-weight:500;color:var(--verde);margin-top:14px}
.andamento .detalhe{font-size:13px;color:var(--txt2);margin-top:8px}
.girando{width:34px;height:34px;border:4px solid #d8d2cc;border-top-color:var(--verde);border-radius:50%;margin:0 auto;animation:gira 1s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.hidden{display:none !important}
.link-lote{font-size:13px;color:var(--verde);text-decoration:underline;cursor:pointer;display:inline-block;margin-bottom:20px;background:none;border:0;padding:0;font-family:inherit}
.ajuda{font-size:13px;color:var(--txt2);margin-top:-10px}
.tabela-scroll{overflow-x:auto;margin-top:16px}
table.tabela-lote{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
table.tabela-lote th,table.tabela-lote td{padding:10px 12px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}
table.tabela-lote th{color:var(--verde);font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.03em}
table.tabela-lote tr.linha-erro td{background:#f6e2e0}
table.tabela-lote td.quebra{white-space:normal;max-width:260px}
.badge-erro{color:var(--vermelho);font-size:12px}
.badge-ok{color:#1e4620;font-size:12px}
.badge-espera{color:var(--txt2);font-size:12px}
input[type=file]{width:100%;padding:10px;border:1px solid #d8d2cc;border-radius:4px;background:#fff}

@media (max-width:520px){
  .form-card{padding:26px 18px}
  .form-card.estreito{padding:30px 22px}
  .row2{grid-template-columns:1fr}
  .topo{padding:12px 16px}
  .topo-logo{height:40px}
}
