/* ── Rastreio NF – Public CSS ───────────────────────────────────────────── */
.rnf-consulta-wrap { font-family: inherit; max-width: 700px; margin: 0 auto; }

/* Form box */
.rnf-form-box { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:32px; box-shadow:0 2px 12px rgba(0,0,0,.07); }
.rnf-titulo   { font-size:1.5rem; margin:0 0 6px; }
.rnf-subtitulo{ color:#64748b; margin:0 0 24px; font-size:.95rem; }

.rnf-field       { margin-bottom:18px; }
.rnf-field label { display:block; font-weight:600; margin-bottom:6px; font-size:.9rem; }
.rnf-field input { width:100%; padding:10px 14px; border:1px solid #cbd5e1; border-radius:8px; font-size:1rem; box-sizing:border-box; transition:border-color .2s; }
.rnf-field input:focus { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.12); }

/* Botão rastrear */
.rnf-btn-rastrear { display:inline-flex; align-items:center; gap:8px; background:#1d4ed8; color:#fff; border:none; padding:12px 28px; border-radius:8px; font-size:1rem; font-weight:600; cursor:pointer; transition:background .2s; width:100%; justify-content:center; margin-top:6px; }
.rnf-btn-rastrear:hover { background:#1e40af; }
.rnf-btn-rastrear:disabled { opacity:.6; cursor:not-allowed; }

/* Mensagem pub */
.rnf-pub-msg { margin-top:14px; padding:12px 16px; border-radius:8px; font-weight:500; }
.rnf-pub-msg.error   { background:#fee2e2; color:#991b1b; border:1px solid #fecaca; }
.rnf-pub-msg.success { background:#dcfce7; color:#166534; }

/* Resultado */
.rnf-resultado { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:28px; margin-top:20px; box-shadow:0 2px 12px rgba(0,0,0,.07); }
.rnf-resultado-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:24px; flex-wrap:wrap; }
.rnf-resultado-header h3 { margin:0 0 4px; font-size:1.25rem; }
.rnf-muted { color:#64748b; margin:2px 0; font-size:.88rem; }

/* Badge grande */
.rnf-badge-grande { padding:7px 18px; border-radius:999px; font-weight:700; font-size:.95rem; white-space:nowrap; }
.rnf-badge-grande.coletado     { background:#fef3c7; color:#92400e; }
.rnf-badge-grande.em_andamento { background:#dbeafe; color:#1e40af; }
.rnf-badge-grande.entregue     { background:#dcfce7; color:#166534; }

/* Progress */
.rnf-progress { display:flex; align-items:flex-start; gap:0; margin:24px 0; }
.rnf-step     { display:flex; flex-direction:column; align-items:center; text-align:center; flex:0 0 auto; min-width:90px; }
.rnf-step-dot { width:44px; height:44px; border-radius:50%; background:#e2e8f0; display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:6px; transition:background .3s; }
.rnf-step span { font-size:.8rem; font-weight:600; color:#94a3b8; }
.rnf-step small{ font-size:.72rem; color:#94a3b8; margin-top:2px; }
.rnf-step.ativo .rnf-step-dot { background:#dbeafe; }
.rnf-step.ativo span          { color:#1e40af; }
.rnf-step.concluido .rnf-step-dot { background:#dcfce7; }
.rnf-step.concluido span          { color:#166534; }
.rnf-step-line { flex:1; height:3px; background:#e2e8f0; margin-top:20px; border-radius:2px; transition:background .3s; }
.rnf-step-line.ativa { background:#2563eb; }

/* Obs */
.rnf-obs-box { background:#f8fafc; border-left:4px solid #94a3b8; padding:12px 16px; border-radius:0 8px 8px 0; margin:16px 0; font-size:.92rem; }

/* Canhoto */
.rnf-canhoto-box { background:#f0fdf4; border:1px solid #bbf7d0; border-radius:8px; padding:18px; margin:16px 0; text-align:center; }
.rnf-canhoto-box h4 { margin:0 0 12px; }
.rnf-btn-canhoto { display:inline-block; background:#16a34a; color:#fff !important; padding:10px 22px; border-radius:8px; font-weight:600; text-decoration:none; }
.rnf-btn-canhoto:hover { background:#15803d; }

/* Histórico público */
.rnf-historico-box { margin-top:20px; }
.rnf-historico-box h4 { margin:0 0 14px; }
.rnf-timeline-pub   { list-style:none; padding:0; margin:0; }
.rnf-timeline-pub li{ display:flex; gap:12px; margin-bottom:16px; }
.rnf-tl-pub-dot { width:12px; height:12px; border-radius:50%; background:#cbd5e1; flex-shrink:0; margin-top:5px; }
.rnf-tl-pub-dot.coletado     { background:#d97706; }
.rnf-tl-pub-dot.em_andamento { background:#2563eb; }
.rnf-tl-pub-dot.entregue     { background:#16a34a; }
.rnf-tl-pub-body strong { font-size:.9rem; }
.rnf-tl-pub-body time   { display:block; font-size:.78rem; color:#94a3b8; }
.rnf-tl-pub-body p      { margin:4px 0 0; font-size:.85rem; color:#475569; }

/* Nova consulta */
.rnf-btn-secondary { background:none; border:1px solid #cbd5e1; color:#475569; padding:9px 20px; border-radius:8px; cursor:pointer; margin-top:20px; font-size:.9rem; }
.rnf-btn-secondary:hover { background:#f1f5f9; }

@media(max-width:520px){
  .rnf-form-box, .rnf-resultado { padding:20px 16px; }
  .rnf-progress { gap:0; }
  .rnf-step { min-width:70px; }
  .rnf-step-dot { width:36px; height:36px; font-size:1rem; }
}
