
:root{--laranja:#FF6400;--escuro:#1f2328;--cinza:#6b7280;--linha:#e5e7eb;--fundo:#f6f7f9;--ok:#1f8a4c;--alerta:#b45309;
--erro:#b91c1c;--azul:#1d4ed8}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--escuro);background:var(--fundo)}
a{color:var(--azul)}header{background:var(--escuro);color:#fff}
.topo{max-width:1180px;margin:0 auto;padding:12px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.marca{font-weight:700;letter-spacing:.2px}.marca span{color:var(--laranja)}.marca small{display:block;font-weight:400;color:#cbd5e1;font-size:12px}
nav{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto;align-items:center}
nav a,nav button{color:#fff;text-decoration:none;padding:7px 11px;border-radius:8px;border:1px solid #3b4148;background:none;font:inherit;cursor:pointer}
nav a.ativo{background:var(--laranja);border-color:var(--laranja)}nav form{margin:0}
main{max-width:1180px;margin:0 auto;padding:16px}
h1{font-size:22px;margin:4px 0 12px}h2{font-size:17px;margin:20px 0 8px}
.faixa{padding:10px 12px;border-radius:10px;margin:0 0 12px;font-size:14px}
.faixa.revisao{background:#fff7ed;border:1px solid #fdba74}.faixa.parcial{background:#fef2f2;border:1px solid #fca5a5;color:var(--erro)}
.faixa.info{background:#eff6ff;border:1px solid #bfdbfe}
.cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.cartao{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px}
.cartao b{display:block;font-size:24px}.cartao span{color:var(--cinza);font-size:13px}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--linha);border-radius:12px;overflow:hidden}
th,td{padding:8px 10px;border-bottom:1px solid var(--linha);text-align:left;vertical-align:top;font-size:14px}
th{background:#f3f4f6;font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:#4b5563}
tr:last-child td{border-bottom:0}.num{text-align:right;white-space:nowrap}
.filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;background:#fff;border:1px solid var(--linha);
border-radius:12px;padding:12px;margin-bottom:12px}
label{font-size:12px;color:#4b5563;display:block;margin-bottom:3px}
input,select{width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;background:#fff}
.botao{display:inline-block;padding:8px 14px;border-radius:8px;border:0;background:var(--laranja);color:#fff;font:inherit;
font-weight:600;text-decoration:none;cursor:pointer;text-align:center}
.botao.sec{background:#fff;color:var(--escuro);border:1px solid #cbd5e1}.botao.whats{background:#1f8a4c}
.acoes{display:flex;gap:8px;align-items:end}
.etq{display:inline-block;font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid var(--linha);color:#374151;background:#f9fafb;margin:1px 2px 1px 0}
.etq.paga{border-color:#fdba74;background:#fff7ed}.etq.teste{border-color:#fca5a5;background:#fef2f2;color:var(--erro)}
.etq.rep{border-color:#c7d2fe;background:#eef2ff}
.pag{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:12px 0;color:var(--cinza);font-size:14px}
.bloco{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px;margin-bottom:12px}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 16px}
.grade div span{display:block;font-size:12px;color:var(--cinza)}
.nota{color:var(--cinza);font-size:13px}.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px;word-break:break-all}
.login{max-width:380px;margin:8vh auto;background:#fff;border:1px solid var(--linha);border-radius:14px;padding:22px}
.login h1{font-size:20px}.login label{margin-top:10px}.erro{color:var(--erro);font-size:14px}
@media (max-width:720px){
 .lista thead{display:none}.lista,.lista tbody,.lista tr,.lista td{display:block;width:100%}
 .lista tr{border-bottom:1px solid var(--linha);padding:8px 4px}.lista td{border:0;padding:3px 8px}
 .lista td[data-r]::before{content:attr(data-r) ": ";color:var(--cinza);font-size:12px}
 nav{margin-left:0;width:100%}.topo{padding:10px 12px}main{padding:12px}
}
