:root{--bg:#fff;--bg-alt:#f8fafc;--border:#e2e8f0;--text:#1e293b;--text-mute:#64748b;--primary:#0369a1;--primary-bg:#dbeafe;--siap:#db2777;--siga:#16a34a;--sagres:#7c3aed;--money:#059669;--money-neg:#dc2626}*{box-sizing:border-box}html,body{background:var(--bg-alt);color:var(--text);margin:0;padding:0;font-family:-apple-system,system-ui,BlinkMacSystemFont,sans-serif;font-size:14px}.app{flex-direction:column;max-width:1280px;min-height:100vh;margin:0 auto;padding:0 24px;display:flex}header{border-bottom:1px solid var(--border);flex-direction:column;gap:12px;margin-bottom:24px;padding:24px 0 16px;display:flex}header h1{margin:0;font-size:20px;font-weight:600}header nav{gap:24px;display:flex}header nav a{color:var(--text-mute);border-bottom:2px solid #0000;padding-bottom:4px;font-weight:500;text-decoration:none}header nav a.router-link-exact-active{color:var(--primary);border-bottom-color:var(--primary)}main{flex:1;padding-bottom:32px}footer{border-top:1px solid var(--border);color:var(--text-mute);text-align:center;padding:16px 0}.card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:20px}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:24px;display:grid}.card h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);margin:0 0 12px;font-size:13px}.card h2 .badge{float:right;letter-spacing:0;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:500}.card.siap h2 .badge{color:var(--siap);background:#fce7f3}.card.siga h2 .badge{color:var(--siga);background:#dcfce7}.card.sagres h2 .badge{color:var(--sagres);background:#ede9fe}.card .big{color:var(--text);font-size:28px;font-weight:600;line-height:1.2}.card .stat{border-top:1px dashed var(--border);color:var(--text-mute);justify-content:space-between;margin-top:12px;padding-top:12px;font-size:13px;display:flex}.card .stat strong{color:var(--text);font-weight:600}table{border-collapse:collapse;background:var(--bg);border:1px solid var(--border);border-radius:10px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}th{background:var(--bg-alt);text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);font-size:12px;font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}tr:hover td{background:var(--bg-alt)}.chip{letter-spacing:.02em;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.chip-siap{color:var(--siap);background:#fce7f3}.chip-siga{color:var(--siga);background:#dcfce7}.chip-sagres{color:var(--sagres);background:#ede9fe}.chip-empenho{color:#b45309;background:#fef3c7}.chip-fornecedor{color:#0369a1;background:#e0f2fe}.chip-folha{color:#7c3aed;background:#f3e8ff}.search-bar{gap:8px;margin-bottom:24px;display:flex}.search-bar input{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex:1;padding:10px 14px;font-size:14px}.search-bar input:focus{border-color:var(--primary);outline:none}.search-bar button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:10px 20px;font-weight:600}.search-bar button:hover{filter:brightness(.95)}.hit{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;padding:14px 16px}.hit-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.hit-source{font-weight:600}.hit-snippet{color:var(--text-mute);font-size:13px;line-height:1.4}.hit-meta{color:var(--text-mute);gap:16px;margin-top:6px;font-size:12px;display:flex}.hit-meta .money{color:var(--money);font-weight:600}.loading{text-align:center;color:var(--text-mute);padding:32px}.empty{text-align:center;color:var(--text-mute);padding:48px 24px}.empty p{margin:4px 0}.agente-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:24px}.agente-card h2{margin:0 0 4px;font-size:18px}.agente-card .role{color:var(--text-mute);margin-bottom:24px}.agente-stats{grid-template-columns:1fr 1fr;gap:16px;display:grid}.agente-stats .stat{background:var(--bg-alt);border-radius:8px;padding:16px}.agente-stats .stat label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);margin-bottom:4px;font-size:11px;display:block}.agente-stats .stat .big{font-size:20px;font-weight:600}.agente-stats .stat.empty .big{color:var(--text-mute);font-size:14px;font-weight:400}
