/* Ouvidoria (portal) — celular primeiro */
.ouv { padding:18px 0 48px; background:#F1F5F9; }
.ouv-abas { display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; border-bottom:2px solid #15803D; margin-bottom:18px; padding:0 2px; }
.ouv-abas::-webkit-scrollbar { display:none; }
.ouv-abas a { flex:none; padding:10px 16px; border-radius:10px 10px 0 0; background:#E2E8F0; color:#334155 !important; font-weight:700; font-size:13.5px; text-transform:uppercase; letter-spacing:.02em; text-decoration:none !important; }
.ouv-abas a[aria-current=page] { background:#15803D; color:#fff !important; }
.ouv-abas a:focus-visible { outline:3px solid #1e4fa8; outline-offset:2px; }
.ouv-intro { margin:0 0 16px; color:#334155; }
.ouv-grade { display:grid; gap:16px; grid-template-columns:repeat(3, minmax(0, 1fr)); }
.ouv-card { background:#fff; border-radius:14px; padding:20px; box-shadow:0 1px 3px rgba(15,23,42,.08); min-width:0; }
.ouv-card h2 { font-size:19px; margin:0 0 12px; color:#0F172A; }
.ouv-card p { color:#334155; }
.ouv-info { margin:0; }
.ouv-info div { padding:8px 0; border-bottom:1px solid #E2E8F0; }
.ouv-info div:last-child { border:0; }
.ouv-info dt { font-weight:700; font-size:14px; color:#0F172A; }
.ouv-info dd { margin:2px 0 0; color:#475569; font-size:14px; overflow-wrap:anywhere; }
.ouv-tipos { display:flex; flex-direction:column; gap:10px; }
.ouv-tipo { display:flex; align-items:stretch; border:1px solid #E2E8F0; border-radius:12px; overflow:hidden; text-decoration:none !important; color:#0F172A !important; min-height:58px; background:#fff; }
.ouv-tipo:hover, .ouv-tipo:focus-visible { border-color:#15803D; box-shadow:0 2px 8px rgba(22,163,74,.18); }
.ouv-tipo__ico { width:62px; flex:none; display:flex; align-items:center; justify-content:center; color:#fff; background:#15803D; }
.ouv-tipo__txt { display:flex; flex-direction:column; justify-content:center; padding:8px 14px; }
.ouv-tipo__txt strong { font-size:17px; }
.ouv-tipo__txt small { color:#475569; font-size:12.5px; line-height:1.3; }
.ouv-campo { display:flex; flex-direction:column; gap:5px; margin-bottom:14px; }
.ouv-campo > span, .ouv-campo > label, .ouv-leg { font-weight:700; font-size:14.5px; color:#0F172A; }
.ouv-campo input, .ouv-campo select, .ouv-campo textarea { width:100%; border:1px solid #94A3B8; border-radius:10px; padding:11px 12px; font-size:16px; background:#fff; color:#0F172A; }
.ouv-campo input:focus, .ouv-campo select:focus, .ouv-campo textarea:focus, .ouv-busca:focus { outline:3px solid #1e4fa8; outline-offset:1px; }
.ouv-ajuda { font-size:13px; color:#475569; font-weight:400; }
.ouv-erro-campo input, .ouv-erro-campo select, .ouv-erro-campo textarea { border-color:#DC2626; }
.ouv-msg-erro { color:#B91C1C; font-size:13.5px; font-weight:600; }
.ouv-botao { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:10px; background:#15803D; color:#fff !important; font-weight:700; font-size:16px; padding:12px 22px; min-height:48px; cursor:pointer; text-decoration:none !important; }
.ouv-botao:hover { background:#166534; }
.ouv-botao:disabled { opacity:.6; cursor:not-allowed; }
.ouv-botao--contorno { background:#fff; color:#166534 !important; border:2px solid #15803D; }
.ouv-botao--contorno:hover { background:var(--c-primaria-fraca, #EAF5EE); }
.ouv-botao:focus-visible { outline:3px solid #1e4fa8; outline-offset:2px; }
.ouv-bar { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:6px; font-size:14.5px; }
.ouv-barra { height:9px; background:#E2E8F0; border-radius:99px; overflow:hidden; margin-bottom:12px; }
.ouv-barra i { display:block; height:100%; border-radius:99px; }
.ouv-regs { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.ouv-regs a { display:flex; justify-content:space-between; gap:10px; border:1px solid #E2E8F0; border-radius:10px; padding:12px 14px; color:#0F172A !important; text-decoration:none !important; font-size:14px; }
.ouv-regs a:hover { border-color:#15803D; }
.ouv-prazo h3 { font-size:15px; margin:12px 0 4px; color:#0F172A; }
.ouv-prazo p { margin:0; font-size:14px; line-height:1.55; }

/* formulário em passos */
.ouv-form-wrap { max-width:760px; margin:0 auto; }
.ouv-form-wrap h1 { font-size:24px; margin:0 0 6px; color:#0F172A; }
.ouv-passos { list-style:none; display:flex; align-items:center; gap:8px; margin:16px 0; padding:0; counter-reset:passo; }
.ouv-passos li { display:flex; align-items:center; gap:8px; color:#64748B; font-weight:700; font-size:14.5px; flex:1; }
.ouv-passos li:not(:last-child)::after { content:""; flex:1; height:2px; background:#CBD5E1; min-width:12px; }
.ouv-passos li span { width:30px; height:30px; border-radius:50%; border:2px solid #CBD5E1; display:inline-flex; align-items:center; justify-content:center; flex:none; font-size:14px; }
.ouv-passos li[aria-current=step] { color:#166534; }
.ouv-passos li[aria-current=step] span { background:#15803D; border-color:#15803D; color:#fff; }
.ouv-passos li.feito { color:#166534; }
.ouv-passos li.feito span { border-color:#15803D; color:#15803D; }
.ouv-assuntos { border:1px solid #94A3B8; border-radius:10px; overflow:hidden; }
.ouv-busca { width:100%; border:0; border-bottom:1px solid #E2E8F0; padding:11px 12px; font-size:16px; }
.ouv-assuntos ul { list-style:none; margin:0; padding:4px; max-height:220px; overflow-y:auto; }
.ouv-assuntos label { display:flex; gap:10px; align-items:center; padding:9px 10px; border-radius:8px; cursor:pointer; font-size:15px; }
.ouv-assuntos label:hover { background:var(--c-primaria-fraca, #EAF5EE); }
.ouv-assuntos input { width:18px; height:18px; accent-color:#15803D; }
.ouv-assuntos li[hidden] { display:none; }
.ouv-extras { border:1px solid #E2E8F0; border-radius:10px; padding:10px 14px; margin-bottom:14px; }
.ouv-extras summary { font-weight:700; cursor:pointer; color:#0F172A; }
.ouv-duas { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.ouv-marcar { display:flex; gap:10px; align-items:flex-start; margin:10px 0; font-size:15px; color:#0F172A; }
.ouv-marcar input { width:20px; height:20px; accent-color:#15803D; flex:none; margin-top:2px; }
.ouv-acoes { display:flex; justify-content:space-between; gap:12px; margin-top:16px; }
.ouv-resumo { margin:0; }
.ouv-resumo div { padding:8px 0; border-bottom:1px solid #E2E8F0; }
.ouv-resumo dt { font-size:12.5px; text-transform:uppercase; letter-spacing:.03em; color:#64748B; font-weight:700; }
.ouv-resumo dd { margin:2px 0 0; color:#0F172A; white-space:pre-wrap; overflow-wrap:anywhere; }
.ouv-sucesso { text-align:center; }
.ouv-sucesso__ico { width:64px; height:64px; border-radius:50%; background:#DCFCE7; color:#166534; display:inline-flex; align-items:center; justify-content:center; margin-bottom:8px; }
.ouv-codigos { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0; text-align:left; }
.ouv-codigo { border:2px dashed #94A3B8; border-radius:12px; padding:12px; }
.ouv-codigo small { display:block; font-size:12.5px; color:#475569; font-weight:700; text-transform:uppercase; }
.ouv-codigo strong { display:block; font-size:22px; letter-spacing:.04em; color:#0F172A; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ouv-copiar { border:0; background:none; color:#166534; font-weight:700; padding:4px 0; cursor:pointer; text-decoration:underline; }
.ouv-armadilha { position:absolute; left:-9999px; }

/* acompanhar */
.ouv-status { display:flex; gap:6px; flex-wrap:wrap; margin:8px 0 14px; }
.ouv-selo { display:inline-block; padding:4px 12px; border-radius:99px; font-weight:700; font-size:13px; color:#fff; }
.ouv-linha { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.ouv-linha li { border:1px solid #E2E8F0; border-radius:12px; padding:12px 14px; background:#fff; }
.ouv-linha li.ouv-equipe { background:#F0FDF4; border-color:#BBF7D0; }
.ouv-linha small { display:block; color:#475569; font-size:12.5px; margin-bottom:4px; font-weight:700; }
.ouv-anexos { list-style:none; margin:8px 0 0; padding:0; display:flex; gap:8px; flex-wrap:wrap; }
.ouv-anexos a { font-size:13.5px; border:1px solid #CBD5E1; border-radius:8px; padding:6px 10px; color:#0F172A !important; text-decoration:none !important; }
.ouv-notas { display:flex; gap:8px; }
.ouv-notas label { flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; border:1px solid #CBD5E1; border-radius:12px; padding:10px 4px; cursor:pointer; font-size:12.5px; text-align:center; }
.ouv-notas label:has(input:checked) { border-color:var(--c-primaria, #1e7e34); background:var(--c-primaria-fraca, #EAF5EE); }
.ouv-notas strong { font-size:20px; }
.ouv-notas input { accent-color:#15803D; }
.ouv-kpis { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; margin-bottom:16px; }
.ouv-kpi { background:#fff; border-radius:14px; padding:14px 16px; box-shadow:0 1px 3px rgba(15,23,42,.08); }
.ouv-kpi small { display:block; font-size:12.5px; color:#475569; font-weight:700; text-transform:uppercase; }
.ouv-kpi strong { font-size:26px; color:#0F172A; }

@media (max-width: 991px) {
  .ouv-grade { grid-template-columns:1fr 1fr; }
  .ouv-kpis { grid-template-columns:1fr 1fr; }
}
@media (max-width: 767px) {
  .ouv { padding:12px 0 110px; }
  .ouv-grade { grid-template-columns:1fr; gap:12px; }
  .ouv-card { padding:16px; }
  .ouv-novo { order:-2; } .ouv-acomp { order:-1; }
  .ouv-duas { grid-template-columns:1fr; }
  .ouv-passos li { font-size:0; gap:4px; } .ouv-passos li span { font-size:14px; }
  .ouv-passos li[aria-current=step] { font-size:14px; }
  .ouv-acoes { position:fixed; left:0; right:0; bottom:0; z-index:9980; background:#fff; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); margin:0; box-shadow:0 -6px 20px rgba(15,23,42,.1); }
  .ouv-acoes .ouv-botao { flex:1; }
  .ouv-codigos { grid-template-columns:1fr; }
}
.ouv-assuntos .ouv-busca { display:block; width:100% !important; height:46px !important; -webkit-appearance:none; appearance:none; border:0 !important; border-bottom:1px solid #E2E8F0 !important; border-radius:0; padding:0 12px; background:#F8FAFC; }
