body.consulta-body { --route: #0a7b69; --route-dark: #075348; --route-soft: #e5f6f2; }
.login-explanation { margin: 0 0 18px; color: var(--muted); line-height: 1.55; }
.google-login-wrap { display: flex; justify-content: center; min-height: 44px; }
.consulta-panel { margin-top: 10px; }
.overview-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 12px; margin-bottom: 22px; }
.overview-grid .kpi strong { font-size: 1.55rem; }
.dashboard-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.span-2 { grid-column: 1 / -1; }
#mapa-demanda { width: 100%; height: 420px; border-radius: 12px; background: #eef2f5; }
.chart-list { display: grid; gap: 13px; }
.chart-row { display: grid; grid-template-columns: minmax(110px,1fr) minmax(150px,2fr) 38px; align-items: center; gap: 10px; font-size: .82rem; }
.chart-row > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.chart-row strong { text-align: right; }
.fleet-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.fleet-card { padding: 18px; border: 1px solid var(--line); border-top: 5px solid var(--bus-color); border-radius: 14px; background: #fff; }
.fleet-card h3 { margin: 0 0 4px; }
.fleet-card > p { margin: 0 0 14px; color: var(--muted); font-size: .82rem; }
.mini-matrix { width: 100%; min-width: 0; }
.mini-matrix th,.mini-matrix td { padding: 8px 6px; text-align: center; font-size: .75rem; }
.mini-matrix th:first-child,.mini-matrix td:first-child { text-align: left; font-weight: 800; }
.filter-toolbar { display: grid; grid-template-columns: 1.4fr repeat(5,1fr); gap: 10px; margin-bottom: 14px; }
.filter-toolbar input,.filter-toolbar select { width: 100%; padding: 11px 12px; border: 1px solid #cbd4db; border-radius: 9px; background: #fff; color: var(--ink); }
.result-count { margin: 0 0 10px; color: var(--muted); font-size: .82rem; font-weight: 700; }
.status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.status.aprovado { color: #146b3a; background: #dff4e7; }
.status.analise,.status.pendente { color: #866100; background: #fff1c7; }
.status.reprovado { color: #8a2632; background: #fde5e8; }
.status.prioridade { color: #68428f; background: #efe5f8; }
.route-chip { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; }
.route-chip::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--chip); }
.loading-line { display: inline-block; width: 16px; height: 16px; margin-right: 8px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: girar .8s linear infinite; vertical-align: -3px; }
@keyframes girar { to { transform: rotate(360deg); } }
@media(max-width:1050px){.overview-grid{grid-template-columns:repeat(3,1fr)}.filter-toolbar{grid-template-columns:repeat(3,1fr)}.filter-toolbar input{grid-column:span 2}}
@media(max-width:780px){.dashboard-layout,.fleet-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.filter-toolbar{grid-template-columns:1fr 1fr}.filter-toolbar input{grid-column:1/-1}}
@media(max-width:520px){.overview-grid{grid-template-columns:1fr 1fr}.filter-toolbar{grid-template-columns:1fr}#mapa-demanda{height:330px}}