/* ==========================================================================
   INTERFACES DE ALTA PERFORMANCE - MOPAR 2026
   ========================================================================== */

:root {
    --azul-mopar: #0f2a4a;
    --azul-gradient: linear-gradient(135deg, #091b30 0%, #12335a 100%);
    --amarelo-mopar: #ffbc00;
    --cinza-fundo: #0b111e;
    --cinza-card: #162235;
    --texto-claro: #f1f5f9;
    --borda-grid: #24364f;
    --modal-bg: rgba(5, 9, 16, 0.92);
    
    /* Cores de Status */
    --status-vermelho-bg: #5c191d;
    --status-vermelho-txt: #ff949a;
    --status-amarelo-bg: #5c4308;
    --status-amarelo-txt: #ffdd73;
    --status-azul-bg: #0c294a;
    --status-azul-txt: #7ce2ff;
    --status-verde-bg: #14381e;
    --status-verde-txt: #5cb85c;
}

/* ========================================================================== 
   MAPAS DE CARREGAMENTO · JAT A / JAT B
   ========================================================================== */
.mapas-topo { border-bottom: 1px solid #193852; background: radial-gradient(circle at 88% 20%, rgba(34, 172, 210, .13), transparent 30%), linear-gradient(135deg, #071728, #0b2236); }
.mapas-topo-controle { min-height: 82px; padding: 12px 22px; }
.mapas-identidade { flex: 1; }.mapas-identidade > span { color: #49c0e6; font-size: 8px; font-weight: 900; letter-spacing: .19em; }.mapas-identidade h1 { margin: 2px 0; color: #eef8ff; font-size: 21px; letter-spacing: .035em; }.mapas-identidade p { color: #7794aa; font-size: 9px; }
.mapas-badge { display: flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #24516c; border-radius: 8px; background: rgba(9, 37, 57, .8); color: #84bad2; font-size: 8px; font-weight: 900; letter-spacing: .09em; }.mapas-badge i { width: 7px; height: 7px; border-radius: 50%; background: #32d696; box-shadow: 0 0 10px #32d696; }
.mapas-container { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 20px 28px; background: #07111d; }
.mapas-toolbar { display: flex; align-items: stretch; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.mapas-jat-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 5px; border: 1px solid #1d354b; border-radius: 11px; background: #0a1927; }
.mapas-jat-tabs button { display: flex; align-items: center; gap: 8px; min-width: 130px; border: 1px solid transparent; border-radius: 8px; padding: 8px 12px; background: transparent; color: #718ba0; cursor: pointer; font-size: 12px; font-weight: 950; }.mapas-jat-tabs button small { display: block; color: #526a7d; font-size: 6px; letter-spacing: .12em; }.mapas-jat-tabs button span { margin-left: auto; min-width: 23px; border-radius: 999px; padding: 3px 6px; background: #13293a; color: #78a5bd; font-size: 7px; }.mapas-jat-tabs button.ativo { border-color: #24779c; background: linear-gradient(135deg, #0d4160, #0d3049); color: #e9f8ff; box-shadow: 0 6px 18px rgba(6, 84, 123, .24); }.mapas-jat-tabs button.ativo small, .mapas-jat-tabs button.ativo span { color: #6ed7f4; }
.mapas-toolbar-acoes { display: flex; align-items: stretch; justify-content: flex-end; gap: 8px; flex: 1; }.mapas-busca { display: flex; align-items: center; width: min(430px, 100%); border: 1px solid #1f3b51; border-radius: 9px; background: #0b1b29; }.mapas-busca span { padding-left: 12px; color: #4b7189; font-size: 17px; }.mapas-busca input { width: 100%; border: 0; padding: 11px 12px 11px 8px; background: transparent; color: #d8e8f3; outline: 0; font-size: 10px; }.mapas-busca:focus-within { border-color: #2c8fb8; box-shadow: 0 0 0 3px rgba(44, 143, 184, .1); }
.mapas-novo-btn { align-items: center; gap: 8px; border: 0; border-radius: 9px; padding: 8px 13px; background: linear-gradient(135deg, #148457, #20aa70); color: #fff; cursor: pointer; font-size: 9px; font-weight: 950; text-align: left; box-shadow: 0 7px 18px rgba(22, 154, 98, .18); }.mapas-novo-btn > span { font-size: 20px; }.mapas-novo-btn small { display: block; color: #bdf2d8; font-size: 6px; letter-spacing: .08em; }
.mapas-legenda { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; padding: 8px 11px; border: 1px solid #172e41; border-radius: 8px; background: #091826; color: #648095; font-size: 8px; }.mapas-legenda span { display: flex; align-items: center; gap: 5px; }.mapas-legenda p { margin-left: auto; }.mapa-cor { width: 9px; height: 9px; border-radius: 3px; }.mapa-cor.verde { background: #91d34d; }.mapa-cor.amarelo { background: #ffd938; }
.mapas-lista { display: flex; flex-direction: column; gap: 17px; }.mapas-estado-vazio { display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 230px; border: 1px dashed #244158; border-radius: 13px; background: #0a1825; color: #668197; text-align: center; }.mapas-estado-vazio > span { margin-bottom: 7px; color: #2b7899; font-size: 30px; }.mapas-estado-vazio strong { color: #aac0d1; font-size: 12px; }.mapas-estado-vazio small { margin-top: 5px; font-size: 8px; }.mapas-estado-vazio.erro { color: #ef7f89; }
.mapa-card { overflow: hidden; border: 1px solid #27445a; border-radius: 13px; background: #0b1927; box-shadow: 0 14px 35px rgba(0,0,0,.2); }.mapa-card.arquivado { opacity: .58; filter: saturate(.7); }
.mapa-card-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 15px; border-bottom: 1px solid #27445a; background: linear-gradient(135deg, #0c2940, #0b1d2d); }.mapa-card-header > div:first-child > span { color: #55c9ea; font-size: 7px; font-weight: 950; letter-spacing: .15em; }.mapa-card-header h2 { margin: 2px 0; color: #f1f8fc; font-size: 16px; }.mapa-card-header p { color: #6f899d; font-size: 8px; }.mapa-card-header-direita { display: flex; align-items: center; gap: 9px; }.mapa-card-header-direita > em { border-radius: 999px; padding: 4px 8px; background: rgba(42, 194, 126, .12); color: #5bd59a; font-size: 7px; font-style: normal; font-weight: 950; }.mapa-card.arquivado .mapa-card-header-direita > em { background: #253443; color: #899baa; }
.mapa-card-acoes { display: flex; gap: 5px; }.mapa-card-acoes button { border: 1px solid #2e5873; border-radius: 6px; padding: 6px 9px; background: #102f45; color: #a9d5e8; cursor: pointer; font-size: 7px; font-weight: 950; }.mapa-card-acoes button.arquivar { border-color: #62434a; background: #321e25; color: #e7a0a8; }
.mapa-diagrama-scroll { overflow-x: auto; padding: 13px; background: #07131f; scrollbar-color: #31536b #0b1b28; scrollbar-width: thin; }.mapa-diagrama { display: flex; min-width: max-content; border: 1px solid #75808a; background: #f8fafb; color: #111b24; }
.mapa-extremidade { display: flex; align-items: center; justify-content: center; flex: 0 0 64px; position: relative; min-height: 305px; background: #eef2f4; }.mapa-extremidade.cabine { border-right: 1px solid #75808a; }.mapa-extremidade.porta { border-left: 1px solid #75808a; }.mapa-extremidade span { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 13px; font-weight: 950; letter-spacing: .04em; }.mapa-extremidade i { position: absolute; bottom: 12px; width: 27px; height: 11px; border: 2px solid #19242d; border-radius: 3px; }.mapa-extremidade.cabine i::before { content: ''; position: absolute; left: -9px; bottom: -2px; width: 8px; height: 8px; border: 2px solid #19242d; border-right: 0; border-radius: 4px 0 0 4px; }
.mapa-carregamentos-grade { display: flex; min-width: max-content; }.mapa-carregamento-coluna { flex: 0 0 245px; border-right: 1px solid #75808a; }.mapa-carregamento-coluna:last-child { border-right: 0; }.mapa-carregamento-ordem { height: 33px; padding: 7px; border-bottom: 1px solid #75808a; background: #e9eef1; text-align: center; font-size: 9px; font-weight: 900; }.mapa-carregamento-ordem span { font-size: 13px; }.mapa-carregamento-dados { display: flex; flex-direction: column; min-height: 272px; text-align: center; }.mapa-carregamento-dados > strong { margin-top: 15px; font-size: 24px; line-height: 1.05; }.mapa-carregamento-dados > b { min-height: 27px; padding: 4px 8px; font-size: 14px; }.mapa-cidade { display: block; margin: 2px 0 8px; padding: 5px 7px; background: #e5ebef; font-size: 11px; font-weight: 900; }.mapa-cidade.verde { background: #91d34d; }.mapa-cidade.amarelo { background: #ffe330; }.mapa-cidade.azul { background: #75c6f1; }.mapa-cidade.vermelho { background: #f08d93; }.mapa-carregamento-dados h4 { min-height: 38px; padding: 4px 8px; font-size: 13px; }.mapa-cnpj { margin-top: auto; padding: 8px; border-top: 1px solid #a7afb5; border-bottom: 1px solid #a7afb5; font-size: 9px; }.mapa-carregamento-dados p { display: flex; align-items: center; justify-content: center; min-height: 63px; padding: 8px; color: #1f5a80; font-size: 8px; line-height: 1.35; }
.mapa-card > footer { display: flex; gap: 10px; padding: 10px 14px; border-top: 1px solid #233c50; color: #7890a3; font-size: 8px; }.mapa-card > footer strong { color: #c5d4df; }

/* Editor MASTER */
.mapa-editor-modal { z-index: 700; }.mapa-editor-conteudo { display: flex; flex-direction: column; width: min(96vw, 1120px); max-height: 94vh; overflow: hidden; border: 1px solid #31536c; border-radius: 14px; background: #0a1825; box-shadow: 0 28px 80px rgba(0,0,0,.65); }.mapa-editor-header { display: flex; align-items: center; justify-content: space-between; padding: 15px 18px; border-bottom: 2px solid #e1ae19; background: linear-gradient(135deg, #0d3653, #0a2438); }.mapa-editor-header span { color: #5bc6e5; font-size: 7px; font-weight: 950; letter-spacing: .15em; }.mapa-editor-header h2 { margin: 2px 0; color: #f0f8fd; font-size: 16px; }.mapa-editor-header p { color: #7896aa; font-size: 8px; }.mapa-editor-header > button { border: 0; background: transparent; color: #8ca6b8; cursor: pointer; font-size: 26px; }.mapa-editor-corpo { flex: 1; min-height: 0; overflow-y: auto; padding: 16px 18px 22px; }.mapa-editor-geral { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding: 13px; border: 1px solid #233f54; border-radius: 10px; background: #0c1d2c; }.mapa-editor-geral .span-2 { grid-column: span 2; }.mapa-editor-geral label, .mapa-editor-item label { display: block; margin-bottom: 4px; color: #7890a3; font-size: 7px; font-weight: 950; letter-spacing: .07em; }.mapa-editor-geral input, .mapa-editor-geral select, .mapa-editor-geral textarea, .mapa-editor-item input, .mapa-editor-item select, .mapa-editor-item textarea { width: 100%; border: 1px solid #29465b; border-radius: 6px; padding: 8px 9px; background: #071521; color: #dcebf4; outline: 0; font-size: 10px; }.mapa-editor-geral input:focus, .mapa-editor-geral select:focus, .mapa-editor-geral textarea:focus, .mapa-editor-item input:focus, .mapa-editor-item select:focus, .mapa-editor-item textarea:focus { border-color: #339ac1; box-shadow: 0 0 0 3px rgba(51,154,193,.1); }
.mapa-editor-carregamentos-topo { display: flex; align-items: center; justify-content: space-between; margin: 18px 0 8px; }.mapa-editor-carregamentos-topo small { color: #4f9dbc; font-size: 7px; font-weight: 950; letter-spacing: .13em; }.mapa-editor-carregamentos-topo h3 { color: #e8f3fa; font-size: 15px; }.mapa-editor-carregamentos-topo button { border: 0; border-radius: 7px; padding: 8px 11px; background: #16734e; color: #eafff5; cursor: pointer; font-size: 8px; font-weight: 950; }.mapa-editor-orientacao { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; color: #7991a3; font-size: 7px; font-weight: 950; letter-spacing: .08em; }.mapa-editor-orientacao i { flex: 1; height: 1px; position: relative; background: #2a4d63; }.mapa-editor-orientacao i::after { content: '›'; position: absolute; right: -2px; top: -10px; color: #3e839f; font-size: 18px; }.mapa-editor-orientacao strong { color: #9dafbc; }
.mapa-editor-carregamentos { display: flex; flex-direction: column; gap: 9px; }.mapa-editor-item { display: grid; grid-template-columns: 92px 1fr 42px; gap: 11px; padding: 11px; border: 1px solid #27465b; border-radius: 9px; background: linear-gradient(135deg, #0c2030, #0a1a27); }.mapa-editor-item-numero { display: flex; align-items: center; justify-content: center; flex-direction: column; border-right: 1px solid #284559; color: #7590a3; }.mapa-editor-item-numero small { font-size: 6px; letter-spacing: .1em; }.mapa-editor-item-numero strong { color: #5fd0ed; font-size: 23px; }.mapa-editor-item-numero span { font-size: 6px; font-weight: 950; }.mapa-editor-item-campos { display: grid; grid-template-columns: .55fr .7fr 1fr 1.1fr .9fr .8fr; gap: 7px; }.mapa-editor-item-campos .span-2 { grid-column: 1 / -1; }.mapa-editor-item-acoes { display: flex; align-items: stretch; justify-content: center; flex-direction: column; gap: 4px; }.mapa-editor-item-acoes button { flex: 1; border: 1px solid #2a5067; border-radius: 5px; background: #102e42; color: #91bed2; cursor: pointer; }.mapa-editor-item-acoes button:disabled { opacity: .25; cursor: default; }.mapa-editor-item-acoes button.remover { border-color: #613844; background: #321c24; color: #ef9ea7; font-size: 17px; }
.mapa-editor-rodape { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 18px; border-top: 1px solid #29465b; background: #0b1c2a; }.mapa-editor-rodape > span { color: #7690a3; font-size: 8px; }.mapa-editor-rodape > span.erro { color: #f08b94; }.mapa-editor-rodape > span.salvando { color: #e5bd57; }.mapa-editor-rodape > div { display: flex; gap: 7px; }.mapa-editor-rodape button { border: 0; border-radius: 7px; padding: 9px 15px; cursor: pointer; font-size: 8px; font-weight: 950; }.mapa-editor-rodape button.secundario { background: #233747; color: #9bb0be; }.mapa-editor-rodape button.salvar { background: linear-gradient(135deg, #168355, #24ae70); color: white; }
@media (max-width: 850px) { .mapas-toolbar { flex-direction: column; }.mapas-toolbar-acoes { justify-content: stretch; }.mapas-busca { width: 100%; }.mapas-legenda p { display: none; }.mapa-editor-item { grid-template-columns: 70px 1fr 38px; }.mapa-editor-item-campos { grid-template-columns: repeat(2, 1fr); }.mapa-editor-item-campos .span-2 { grid-column: span 2; } }
@media (max-width: 580px) { .mapas-container { padding: 12px 10px 22px; }.mapas-topo-controle { padding-left: 58px; }.mapas-identidade h1 { font-size: 16px; }.mapas-identidade p, .mapas-badge { display: none; }.mapas-toolbar-acoes { flex-direction: column; }.mapas-novo-btn { justify-content: center; }.mapas-legenda { flex-wrap: wrap; }.mapa-card-header { align-items: flex-start; flex-direction: column; }.mapa-card-header-direita { width: 100%; justify-content: space-between; }.mapa-editor-conteudo { width: 100%; max-height: 97vh; border-radius: 13px 13px 0 0; }.mapa-editor-modal { align-items: flex-end; }.mapa-editor-geral { grid-template-columns: 1fr; }.mapa-editor-geral .span-2 { grid-column: span 1; }.mapa-editor-item { grid-template-columns: 1fr; }.mapa-editor-item-numero { padding-bottom: 7px; border-right: 0; border-bottom: 1px solid #284559; }.mapa-editor-item-campos { grid-template-columns: 1fr; }.mapa-editor-item-campos .span-2 { grid-column: span 1; }.mapa-editor-item-acoes { flex-direction: row; }.mapa-editor-item-acoes button { min-height: 32px; }.mapa-editor-rodape { align-items: stretch; flex-direction: column; }.mapa-editor-rodape > div, .mapa-editor-rodape button { flex: 1; } }

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--fonte-base, 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif);
    -webkit-font-smoothing: antialiased;
}

html, body {
    margin: 0;
    padding: 0;
    height: 100vh;
    overflow: hidden;
}

body {
    background-color: var(--cinza-fundo);
    color: var(--texto-claro);
    display: flex;
    flex-direction: column;
}
html { background-color: var(--cinza-fundo); } /* evita "faixa" ao aplicar zoom de tamanho */

/* ==========================================================================
   TEMA POR USUÁRIO (só visual, guardado no navegador via localStorage).
   Eixos independentes que se combinam: data-tema (fundo), data-acento (cor de
   destaque), data-fonte (família) e data-tamanho (zoom). Padrão = Azul Mopar.
   ========================================================================== */

/* ---- FUNDO / TEMA ----
   Aplicado como FILTRO no elemento raiz (<html>): transforma TODAS as cores de
   uma vez (inclusive as centenas de tons fixos espalhados pelo CSS), o que a
   troca de variáveis não conseguia. Por spec, filtro no elemento RAIZ não cria
   containing block para descendentes position:fixed — então modais/toasts/
   botões flutuantes continuam ancorados corretamente na viewport. */
html[data-tema="ardosia"]   { filter: saturate(0.68) brightness(0.95); }
html[data-tema="grafite"]   { filter: saturate(0.16) brightness(0.99); }
html[data-tema="oled"]      { filter: brightness(0.5) contrast(1.07); }
html[data-tema="contraste"] { filter: contrast(1.4) brightness(1.08) saturate(1.12); }

/* ---- ACENTO (cor de destaque, usada em botões/realces em todo o painel) ---- */
html[data-acento="azul"]  { --amarelo-mopar: #4cc7fb; }
html[data-acento="verde"] { --amarelo-mopar: #00d68f; }
html[data-acento="roxo"]  { --amarelo-mopar: #a78bff; }
html[data-acento="ciano"] { --amarelo-mopar: #43d7d0; }
html[data-acento="rosa"]  { --amarelo-mopar: #ff6fb3; }
html[data-acento="laranja"] { --amarelo-mopar: #ff8a3d; }

/* ---- FONTE (família) ---- */
html[data-fonte="serifada"]    { --fonte-base: Georgia, 'Times New Roman', 'Noto Serif', serif; }
html[data-fonte="mono"]        { --fonte-base: 'Consolas', 'SF Mono', 'Courier New', monospace; }
html[data-fonte="arredondada"] { --fonte-base: 'Segoe UI Rounded', 'Nunito', 'Trebuchet MS', system-ui, sans-serif; }
html[data-fonte="compacta"]    { --fonte-base: 'Roboto Condensed', 'Arial Narrow', 'Segoe UI', sans-serif; }

/* ---- TAMANHO (zoom global). html rola quando passa de 100% p/ não cortar. ---- */
html[data-tamanho="compacto"]    body { zoom: 0.94; }
html[data-tamanho="confortavel"] body { zoom: 1.08; }
html[data-tamanho="grande"]      body { zoom: 1.16; }
html[data-tamanho="confortavel"],
html[data-tamanho="grande"] { overflow-y: auto; overflow-x: hidden; }

/* ---- CARD "MEU TEMA" (aba de perfil) ---- */
.tema-grupo { margin-top: 14px; }
.tema-grupo > label { display: block; font-size: 9px; letter-spacing: 1px; font-weight: 900; color: #7c8fa3; text-transform: uppercase; margin-bottom: 8px; }
.tema-opcoes { display: flex; flex-wrap: wrap; gap: 8px; }
/* swatches de fundo */
.tema-swatch { display: flex; align-items: center; gap: 7px; padding: 7px 11px 7px 8px; border-radius: 9px; border: 1.5px solid var(--borda-grid); background: rgba(255,255,255,.03); color: #cdd9e5; font-size: 11px; font-weight: 700; cursor: pointer; transition: border-color .15s, transform .1s; }
/* amostra = "mini app" (fundo + card + acento) com o MESMO filtro do tema */
.tema-swatch span { width: 26px; height: 26px; border-radius: 6px; border: 1px solid rgba(255,255,255,.12); flex: 0 0 auto; background: linear-gradient(135deg, #0b111e 0%, #0b111e 42%, #162235 42%, #162235 100%); position: relative; overflow: hidden; }
.tema-swatch span::after { content: ""; position: absolute; right: 3px; bottom: 3px; width: 8px; height: 8px; border-radius: 2px; background: #ffbc00; }
.tema-swatch[data-valor="ardosia"] span   { filter: saturate(0.68) brightness(0.95); }
.tema-swatch[data-valor="grafite"] span   { filter: saturate(0.16) brightness(0.99); }
.tema-swatch[data-valor="oled"] span       { filter: brightness(0.5) contrast(1.07); }
.tema-swatch[data-valor="contraste"] span  { filter: contrast(1.4) brightness(1.08) saturate(1.12); }
.tema-swatch:hover { transform: translateY(-1px); }
.tema-swatch.ativo { border-color: var(--amarelo-mopar); box-shadow: 0 0 0 1px var(--amarelo-mopar); }
/* bolinhas de cor de destaque */
.tema-cor { width: 30px; height: 30px; border-radius: 50%; border: 2px solid transparent; background: var(--cor); cursor: pointer; padding: 0; outline: 2px solid var(--borda-grid); outline-offset: 1px; transition: transform .1s; }
.tema-cor:hover { transform: scale(1.1); }
.tema-cor.ativo { outline-color: #fff; border-color: var(--cinza-card); box-shadow: 0 0 0 2px var(--cor); }
/* chips de fonte/tamanho */
.tema-chip { padding: 8px 14px; border-radius: 20px; border: 1.5px solid var(--borda-grid); background: rgba(255,255,255,.03); color: #cdd9e5; font-size: 12px; font-weight: 700; cursor: pointer; transition: border-color .15s, background .15s; }
.tema-chip:hover { border-color: #4a5f78; }
.tema-chip.ativo { border-color: var(--amarelo-mopar); background: color-mix(in srgb, var(--amarelo-mopar) 14%, transparent); color: var(--texto-claro); }
.tema-acoes { justify-content: flex-start !important; margin-top: 16px; }
.tema-restaurar { background: transparent !important; border: 1.5px solid var(--borda-grid) !important; color: #9fb0c3 !important; font-size: 12px !important; padding: 8px 14px !important; }
.tema-restaurar:hover { border-color: #ff5c6c !important; color: #ff8a94 !important; }

/* ==========================================================================
   SOLICITAÇÃO DE MANOBRA (aba dentro do Tráfego)
   ========================================================================== */
.manobras-filtro-status { display: flex; flex-direction: column; gap: 3px; }
.manobras-filtro-status small { font-size: 8px; letter-spacing: 1px; color: #7c8fa3; font-weight: 800; }
.manobras-filtro-status select { background: var(--cinza-card); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 8px; padding: 8px 10px; font-size: 12px; }
.manobras-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; overflow-y: auto; padding: 4px 2px 12px; align-content: start; }
.manobras-vazio { grid-column: 1 / -1; text-align: center; color: #60768e; padding: 30px; font-size: 13px; }
.manobra-card { background: var(--cinza-card); border: 1px solid var(--borda-grid); border-left: 4px solid #5a6b82; border-radius: 10px; padding: 12px 13px; display: flex; flex-direction: column; gap: 8px; }
.manobra-card.status-pend { border-left-color: var(--amarelo-mopar); }
.manobra-card.status-ok { border-left-color: #00d68f; }
.manobra-card.status-prob { border-left-color: #ff5c6c; }
.manobra-card-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.manobra-card-piranga { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.manobra-card-piranga strong { color: var(--texto-claro); font-size: 14px; }
.manobra-card-piranga span { color: #8da2bb; font-size: 11px; font-weight: 700; letter-spacing: .5px; }
.manobra-badge { font-size: 10px; font-weight: 900; letter-spacing: .8px; padding: 4px 9px; border-radius: 20px; white-space: nowrap; flex: 0 0 auto; }
.manobra-badge.pend { background: var(--status-amarelo-bg); color: var(--status-amarelo-txt); }
.manobra-badge.ok { background: var(--status-verde-bg); color: var(--status-verde-txt); }
.manobra-badge.prob { background: var(--status-vermelho-bg); color: var(--status-vermelho-txt); }
.manobra-card-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 11.5px; color: #b7c6d8; align-items: center; }
.manobra-tempo { margin-left: auto; font-weight: 800; color: var(--amarelo-mopar); }
.manobra-card.status-ok .manobra-tempo, .manobra-card.status-prob .manobra-tempo { color: #8da2bb; }
.manobra-card-obs { font-size: 12px; color: #9fb0c3; background: rgba(255,255,255,.03); border-radius: 6px; padding: 7px 9px; word-break: break-word; }
.manobra-card-acoes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.manobra-card-acoes button { background: rgba(255,255,255,.05); border: 1px solid var(--borda-grid); color: #cdd9e5; border-radius: 7px; padding: 6px 10px; font-size: 11px; font-weight: 700; cursor: pointer; }
.manobra-card-acoes button:hover { border-color: #4a5f78; }
.manobra-card-acoes button.ok:hover { border-color: #00d68f; color: #5cffb0; }
.manobra-card-acoes button.prob:hover { border-color: #ff5c6c; color: #ff949a; }
.manobra-card-acoes button.excluir { margin-left: auto; color: #ff8a94; padding: 6px 9px; }

/* Modal de manobra */
.manobra-modal-conteudo .manobra-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.manobra-campo { display: flex; flex-direction: column; gap: 5px; }
.manobra-campo-full { grid-column: 1 / -1; }
.manobra-campo label { font-size: 9px; letter-spacing: 1px; font-weight: 900; color: #7c8fa3; text-transform: uppercase; }
.manobra-campo input, .manobra-campo select, .manobra-campo textarea { background: rgba(0,0,0,.28); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 8px; padding: 9px 11px; font-size: 13px; outline: none; }
.manobra-campo input:focus, .manobra-campo select:focus, .manobra-campo textarea:focus { border-color: var(--amarelo-mopar); }
.manobra-hint { font-size: 11px; color: #ffb454; }
.manobra-puxados { font-size: 11.5px; color: #8da2bb; background: rgba(0,0,0,.22); border: 1px dashed var(--borda-grid); border-radius: 8px; padding: 10px; }
.manobra-puxados .erro { color: #ff949a; }
.manobra-puxados-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px 12px; }
.manobra-puxados-grid div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.manobra-puxados-grid small { font-size: 8px; letter-spacing: .8px; font-weight: 900; color: #62788f; }
.manobra-puxados-grid b { font-size: 12px; color: var(--texto-claro); word-break: break-word; }

/* Dados puxados do manifesto no card da lista */
.manobra-card-puxados { display: flex; flex-wrap: wrap; gap: 5px 10px; font-size: 11px; color: #8da2bb; border-top: 1px dashed var(--borda-grid); padding-top: 7px; }

/* CARRETAS NA RUA — carreta parqueada fora, aguardando engate: risco, destaca. */
.manobra-card.na-rua { border-left-color: #ff8a3d; background: linear-gradient(180deg, rgba(255,138,61,.10) 0%, transparent 55%), var(--cinza-card); border-color: #6b4526; }
.manobra-alerta-rua { font-size: 10px; font-weight: 900; letter-spacing: .6px; color: #ffb07a; background: rgba(255,138,61,.14); border: 1px solid rgba(255,138,61,.35); border-radius: 6px; padding: 5px 8px; text-align: center; }

/* Pendência arrastada do dia anterior */
.manobra-arrastada { font-size: 10px; font-weight: 800; color: #9fb0c3; background: rgba(255,255,255,.05); border-radius: 6px; padding: 4px 8px; }

/* Manobra conferida e travada pelo MASTER */
.manobra-card-selos { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: 0 0 auto; }
.manobra-badge.travada { background: rgba(120,140,170,.18); color: #b9c8da; border: 1px solid var(--borda-grid); }
.manobra-card.travada { opacity: .82; }
.manobra-card.travada .manobra-card-piranga strong { color: #b9c8da; }
.manobra-travada-aviso { font-size: 10.5px; color: #8da2bb; font-style: italic; align-self: center; }
.manobra-card-acoes button.finalizar:hover { border-color: #8da2bb; color: #eef5fc; }

/* Métricas de manobra (tempo médio por tipo / por pirangueiro) */
.manobras-metricas { background: var(--cinza-card); border: 1px solid var(--borda-grid); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; flex: 0 0 auto; }
.metricas-cabecalho { font-size: 12px; color: #cdd9e5; font-weight: 700; margin-bottom: 10px; }
.metricas-cabecalho small { color: #60768e; font-weight: 400; }
.metricas-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.metrica-bloco h4 { font-size: 9px; letter-spacing: 1px; text-transform: uppercase; color: var(--amarelo-mopar); margin-bottom: 6px; font-weight: 900; }
.metrica-vazio { font-size: 11px; color: #60768e; }
.metrica-tabela { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.metrica-tabela th { text-align: left; font-size: 8px; letter-spacing: .8px; text-transform: uppercase; color: #7c8fa3; padding: 4px 6px; border-bottom: 1px solid var(--borda-grid); }
.metrica-tabela th:not(:first-child), .metrica-tabela td:not(:first-child) { text-align: right; white-space: nowrap; }
.metrica-tabela td { padding: 5px 6px; border-bottom: 1px solid rgba(255,255,255,.04); color: #cdd9e5; }
.metrica-tabela td:first-child { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.metrica-tabela b { color: var(--amarelo-mopar); }

/* Modal de problema / log */
.manobra-problema-conteudo { max-width: 520px; }

/* Chips de filtro rápido (clica filtra, clica de novo tira) */
.manobras-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.mchip { background: rgba(255,255,255,.04); border: 1.5px solid var(--borda-grid); color: #cdd9e5; border-radius: 20px; padding: 7px 12px; font-size: 11.5px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.mchip:hover { border-color: #4a5f78; }
.mchip.ativo { border-color: var(--amarelo-mopar); background: rgba(255,188,0,.14); color: var(--texto-claro); }
.mchip.ok.ativo { border-color: #00d68f; background: rgba(0,214,143,.14); }
.mchip.prob.ativo { border-color: #ff5c6c; background: rgba(255,92,108,.14); }
.mchip.rua.ativo { border-color: #ff8a3d; background: rgba(255,138,61,.16); }

/* Cabeçalho do painel de métricas com período */
.metricas-topo { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin-bottom: 12px; }
.metricas-topo strong { font-size: 12px; color: #cdd9e5; margin-right: auto; }
.metricas-topo label { display: flex; flex-direction: column; gap: 3px; }
.metricas-topo small { font-size: 8px; letter-spacing: 1px; font-weight: 900; color: #7c8fa3; }
.metricas-topo input { background: var(--cinza-card); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 8px; padding: 7px 9px; font-size: 12px; }

/* Lista de piranga (linha clicável = filtro) */
.piranga-lista { display: flex; flex-direction: column; gap: 6px; max-height: 220px; overflow-y: auto; }
.piranga-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--borda-grid); border-radius: 8px; background: rgba(255,255,255,.03); cursor: pointer; font-size: 11.5px; }
.piranga-linha:hover { border-color: #4a5f78; }
.piranga-linha.ativo { border-color: var(--amarelo-mopar); background: rgba(255,188,0,.12); }
.piranga-nome { font-weight: 800; color: var(--texto-claro); margin-right: auto; }
.piranga-num { color: #8da2bb; }
.piranga-media { color: var(--amarelo-mopar); font-weight: 800; }
.piranga-prob { color: #ff949a; font-weight: 800; }

/* ==========================================================================
   REFEIÇÕES — liberação de almoço/janta
   ========================================================================== */
.refeicoes-painel { overflow-y: auto; }
.refeicoes-area { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(300px, 1.1fr); gap: 16px; align-items: start; }
@media (max-width: 900px) { .refeicoes-area { grid-template-columns: 1fr; } }
.refeicao-form, .refeicao-preview { background: var(--cinza-card); border: 1px solid var(--borda-grid); border-radius: 10px; padding: 14px 16px; }
.refeicao-form h3, .refeicao-preview h3 { font-size: 9px; letter-spacing: 1px; text-transform: uppercase; color: var(--amarelo-mopar); font-weight: 900; margin-bottom: 10px; }
.refeicao-form .manobra-campo { margin-bottom: 10px; }
.refeicao-datahora { background: rgba(0,0,0,.28); border: 1px solid var(--borda-grid); border-radius: 8px; padding: 9px 11px; font-size: 14px; font-weight: 800; color: var(--amarelo-mopar); font-variant-numeric: tabular-nums; }
.refeicao-tipo-botoes { display: flex; gap: 8px; }
.refeicao-tipo-botoes button { flex: 1; padding: 10px; border-radius: 8px; border: 1.5px solid var(--borda-grid); background: rgba(255,255,255,.04); color: #cdd9e5; font-size: 12px; font-weight: 800; cursor: pointer; }
.refeicao-tipo-botoes button.ativo { border-color: var(--amarelo-mopar); background: rgba(255,188,0,.15); color: var(--texto-claro); }
.refeicao-acoes { display: flex; gap: 8px; margin-top: 12px; }
.refeicao-acoes button { flex: 1; padding: 11px; border-radius: 8px; border: none; font-size: 12px; font-weight: 800; cursor: pointer; }
.refeicao-salvar { background: var(--amarelo-mopar); color: #1a1a1a; }
.refeicao-imprimir { background: rgba(255,255,255,.06); border: 1.5px solid var(--borda-grid) !important; color: #cdd9e5; }
.refeicao-imprimir:disabled { opacity: .45; cursor: not-allowed; }
.refeicao-imprimir:not(:disabled):hover { border-color: #00d68f !important; color: #5cffb0; }
.refeicao-msg { font-size: 11.5px; margin-top: 8px; min-height: 14px; color: #8da2bb; }
.refeicao-msg.ok { color: #5cffb0; } .refeicao-msg.erro { color: #ff949a; } .refeicao-msg.aviso { color: #ffb454; }

/* Comprovante (o preview é exatamente o que sai na impressão).
   print-color-adjust: exact obriga o navegador a IMPRIMIR os fundos coloridos —
   sem isso as faixas azuis saem brancas no papel. */
.comprovante {
    background: #ffffff; border: 1px solid #97a9bb; padding: 0; color: #000;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.comprovante * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.comp-titulo { background: #1f3864; color: #fff; font-weight: 800; text-align: center; padding: 8px; font-size: 13px; letter-spacing: .4px; }
.comp-tabela { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.comp-tabela td { border: 1px solid #1f3864; padding: 6px 8px; }
.comp-rotulo { font-weight: 800; width: 40%; color: #000; background: #eef1f7; }
.comp-valor { text-align: center; font-weight: 700; color: #000; }
.comp-destaque { background: #fdf3d6; font-weight: 800; letter-spacing: .5px; }
.comp-secao { background: #1f3864; color: #fff; font-weight: 800; font-size: 11px; letter-spacing: .3px; text-align: center; }
/* Assinatura: rótulo centralizado no topo e espaço embaixo para o visto */
.comp-assina-rot { font-weight: 800; color: #000; font-size: 10.5px; text-align: center; letter-spacing: 1px; }
.comp-assina-linha { min-height: 40px; }

/* Linha com dois campos lado a lado no formulário */
.refeicao-linha-dupla { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rot-opcional { color: #7c8fa3; font-weight: 600; letter-spacing: 0; }

/* Histórico */
.refeicoes-historico { margin-top: 16px; }
.refeicoes-historico-topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.refeicoes-historico-topo h3 { font-size: 9px; letter-spacing: 1px; text-transform: uppercase; color: var(--amarelo-mopar); font-weight: 900; }
.refeicoes-historico-topo label { display: flex; flex-direction: column; gap: 3px; }
.refeicoes-filtro-dia { display: flex; align-items: flex-end; gap: 8px; }
.refeicoes-historico-topo small { font-size: 8px; letter-spacing: 1px; font-weight: 900; color: #7c8fa3; }
.refeicoes-historico-topo input { background: var(--cinza-card); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 8px; padding: 7px 9px; font-size: 12px; }
.refeicoes-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.refeicao-item { background: var(--cinza-card); border: 1px solid var(--borda-grid); border-left: 4px solid var(--amarelo-mopar); border-radius: 9px; padding: 10px 12px; display: flex; flex-direction: column; gap: 5px; }
.refeicao-item-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.refeicao-item-top strong { color: var(--texto-claro); font-size: 13px; }
.refeicao-tag { font-size: 9.5px; font-weight: 900; padding: 3px 8px; border-radius: 20px; white-space: nowrap; }
.refeicao-tag.almoco { background: var(--status-amarelo-bg); color: var(--status-amarelo-txt); }
.refeicao-tag.janta { background: var(--status-azul-bg); color: var(--status-azul-txt); }
.refeicao-item-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 11px; color: #8da2bb; }
.refeicao-item-log { font-size: 10.5px; color: #62788f; border-top: 1px dashed var(--borda-grid); padding-top: 5px; }
.refeicao-item-log b { color: #9fb0c3; }
.refeicao-item-acoes { display: flex; gap: 6px; }
.refeicao-item-acoes button { background: rgba(255,255,255,.05); border: 1px solid var(--borda-grid); color: #cdd9e5; border-radius: 7px; padding: 5px 9px; font-size: 10.5px; font-weight: 700; cursor: pointer; }
.refeicao-item-acoes button.excluir { margin-left: auto; color: #ff8a94; }

/* ==========================================================================
   CONTROLE DE DOCA — cabecalho de comando fixo + tabela rolando por baixo.
   Desenhado para leitura em painel/TV e para o print da passagem de turno.
   ========================================================================== */
.docas-painel { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }

.docas-header {
    flex: 0 0 auto;
    background: linear-gradient(180deg, #12233b 0%, #0e1a2c 100%);
    border: 1px solid var(--borda-grid); border-radius: 14px;
    padding: 16px 18px; margin-bottom: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.28);
}
.dh-topo { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.dh-marca { display: flex; align-items: center; gap: 14px; flex: 1 1 240px; min-width: 0; }
.dh-icone {
    display: flex; align-items: center; justify-content: center;
    width: 52px; height: 52px; border-radius: 13px; flex: 0 0 auto;
    background: linear-gradient(135deg, var(--amarelo-mopar) 0%, #d89400 100%);
    color: #1a1206; font-size: 26px; box-shadow: 0 6px 16px rgba(224,165,0,.32);
}
.dh-kicker { display: block; font-size: 10px; letter-spacing: 2px; font-weight: 900; color: var(--amarelo-mopar); }
.dh-marca h2 { font-size: 25px; color: #f3f8ff; font-weight: 800; line-height: 1.1; margin: 1px 0; letter-spacing: .3px; }
.dh-marca p { font-size: 12.5px; color: #8da2bb; margin: 0; }
.dh-relogio {
    text-align: center; padding: 8px 16px; border-radius: 11px; flex: 0 0 auto;
    background: rgba(255,255,255,.04); border: 1px solid var(--borda-grid);
}
.dh-relogio small { display: block; font-size: 9px; letter-spacing: 1.4px; font-weight: 900; color: #8da2bb; margin-bottom: 2px; }
.dh-relogio b { font-size: 17px; color: var(--amarelo-mopar); font-variant-numeric: tabular-nums; font-weight: 800; }
.dh-acoes { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.dh-btn {
    background: rgba(255,255,255,.05); border: 1px solid var(--borda-grid); color: #dfe8f2;
    border-radius: 11px; padding: 12px 15px; font-size: 12.5px; font-weight: 800; cursor: pointer;
    letter-spacing: .4px; transition: border-color .15s, background .15s, transform .1s;
}
.dh-btn:hover { border-color: #4a5f78; background: rgba(255,255,255,.09); }
.dh-btn:active { transform: scale(.97); }
.dh-btn.primario {
    background: linear-gradient(135deg, #1c4b7d 0%, #12335a 100%);
    border-color: #2d6398; color: #eaf3ff;
}
.dh-btn.primario:hover { border-color: var(--amarelo-mopar); }

.docas-resumo { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; margin-top: 14px; }
.dk {
    position: relative; overflow: hidden;
    background: rgba(255,255,255,.035); border: 1px solid var(--borda-grid);
    border-radius: 12px; padding: 11px 15px;
}
.dk::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; border-radius: 4px 0 0 4px; }
.dk small { display: block; font-size: 9.5px; letter-spacing: 1.2px; font-weight: 900; color: #8da2bb; }
.dk strong { font-size: 32px; font-weight: 800; color: #f3f8ff; line-height: 1.1; font-variant-numeric: tabular-nums; }
.dk.ocup::before { background: var(--amarelo-mopar); }
.dk.livre::before { background: #00d68f; }
.dk.inter::before { background: #ff5c6c; }
.dk.semcalco::before { background: #4cc7fb; }
.dk.ocup strong { color: var(--amarelo-mopar); }
.dk.livre strong { color: #4fe0aa; }
.dk.inter strong { color: #ff8a94; }
.dk.semcalco strong { color: #7fdcff; }

.docas-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.docas-chips .mchip { font-size: 12px; padding: 9px 15px; border-radius: 22px; }
.docas-legenda-inline { display: inline-flex; gap: 14px; margin-left: auto; font-size: 11.5px; color: #8da2bb; }
.docas-legenda-inline .leg { display: inline-block; width: 11px; height: 11px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }
.docas-legenda-inline .leg.ok { background: #5cffb0; }
.docas-legenda-inline .leg.pend { background: #ffbc00; }
.docas-legenda-inline .leg.inter { background: #ff5c6c; }

.docas-tabela-wrap {
    flex: 1 1 auto; min-height: 0; overflow-y: auto;
    border: 1px solid var(--borda-grid); border-radius: 14px; background: var(--cinza-card);
}
.docas-tabela { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.docas-tabela thead th {
    position: sticky; top: 0; z-index: 2; background: #16324f; color: #eaf3ff;
    font-size: 11px; letter-spacing: 1px; font-weight: 800; text-align: left;
    padding: 13px 14px; border-bottom: 2px solid #2d6398;
}
.docas-tabela th.num, .docas-tabela td.num { text-align: right; }
.docas-tabela th.cen, .docas-tabela td.cen { text-align: center; }
.docas-tabela td { padding: 12px 14px; border-bottom: 1px solid var(--borda-grid); color: #dfe8f2; }
.docas-tabela tbody tr:last-child td { border-bottom: none; }
.docas-tabela tbody tr { transition: background .12s; }
.docas-tabela tbody tr:hover { background: rgba(255,188,0,.06); }
.doca-nome { font-weight: 800; color: #f3f8ff; white-space: nowrap; font-size: 15px; letter-spacing: .3px; }
.doca-placa { font-variant-numeric: tabular-nums; letter-spacing: .6px; font-weight: 700; font-size: 14.5px; }
.doca-msg { color: #7c8fa3; font-style: italic; }
.doca-livre td { background: rgba(0,214,143,.045); }
.doca-livre .doca-nome { color: #8da2bb; }
.doca-livre .doca-msg { color: #4fe0aa; font-style: normal; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; font-size: 12px; }
.doca-interditada td { background: rgba(255,92,108,.14); color: #ff9aa2; font-weight: 700; }
.doca-interditada .doca-nome { color: #ff9aa2; }
.doca-ok { color: #4fe0aa; font-weight: 900; font-size: 20px; }
.doca-pend { color: #ffbc00; font-weight: 900; font-size: 20px; }
.doca-editar {
    background: rgba(255,255,255,.06); border: 1px solid var(--borda-grid); color: #cdd9e5;
    border-radius: 8px; padding: 7px 13px; font-size: 12px; font-weight: 700; cursor: pointer;
    text-transform: uppercase; letter-spacing: .5px;
}
.doca-editar:hover { border-color: var(--amarelo-mopar); color: var(--amarelo-mopar); }
.docas-vazio { text-align: center; color: #7c8fa3; padding: 30px; font-style: italic; font-size: 14px; }
.tag-veic { font-size: 11.5px; font-weight: 800; padding: 4px 11px; border-radius: 6px; white-space: nowrap; letter-spacing: .3px; }
.tag-veic.jat { background: #0c294a; color: #7ce2ff; }
.tag-veic.terceiro { background: #5c4308; color: #ffdd73; }
.tag-veic.truck { background: #2b2352; color: #c0b6ff; }
.tag-veic.toco { background: #14381e; color: #7ee2a8; }
.tag-veic.outro { background: rgba(255,255,255,.07); color: #9fb0c3; }

@media (max-width: 720px) {
    .dh-relogio, .dh-acoes { flex-basis: 100%; }
    .dh-acoes { justify-content: flex-end; }
    .docas-legenda-inline { margin-left: 0; flex-basis: 100%; margin-top: 4px; }
}

.doca-interdita, .doca-check { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: #cdd9e5; cursor: pointer; margin-bottom: 12px; }
.doca-interdita input, .doca-check input { width: 17px; height: 17px; accent-color: var(--amarelo-mopar); }
.doca-interdita b { color: #ff949a; }
.turno-historico { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; max-height: 210px; overflow-y: auto; }
.turno-item { background: rgba(255,255,255,.03); border: 1px solid var(--borda-grid); border-left: 3px solid var(--amarelo-mopar); border-radius: 8px; padding: 10px 12px; }
.turno-item-txt { font-size: 13px; color: #cdd9e5; white-space: pre-wrap; word-break: break-word; }
.turno-item-meta { font-size: 11px; color: #7c8fa3; margin-top: 5px; }

.docas-config-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; margin-bottom: 10px; }
.doca-linha { display: flex; gap: 5px; }
.doca-linha input { flex: 1; min-width: 0; background: rgba(0,0,0,.28); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 7px; padding: 8px 9px; font-size: 13px; font-weight: 700; text-align: center; }
.doca-linha button { background: rgba(255,92,108,.12); border: 1px solid #5c2a2f; color: #ff949a; border-radius: 7px; cursor: pointer; font-size: 15px; width: 30px; }

/* Topo da aba: NOVO TICKET + atualizar */
.refeicoes-topo-acoes { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
/* Modal do ticket: largo o bastante para o formulário e o comprovante lado a lado */
.ticket-modal-conteudo { max-width: 1000px; width: 96vw; }
.ticket-modal-conteudo .refeicoes-area { margin: 0; }
.ticket-modal-conteudo .refeicao-form,
.ticket-modal-conteudo .refeicao-preview { background: transparent; border: none; padding: 0; }
.ticket-modal-conteudo .refeicao-preview { border-left: 1px solid var(--borda-grid); padding-left: 16px; }
@media (max-width: 900px) { .ticket-modal-conteudo .refeicao-preview { border-left: none; padding-left: 0; border-top: 1px solid var(--borda-grid); padding-top: 14px; } }
/* Histórico passa a ser o conteúdo principal da aba */
.refeicoes-painel .refeicoes-historico { margin-top: 0; flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.refeicoes-painel .refeicoes-lista { overflow-y: auto; align-content: start; padding-bottom: 8px; }

/* Barra de totais do mês — sempre visível na aba Refeições */
.refeicoes-resumo { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; background: var(--cinza-card); border: 1px solid var(--borda-grid); border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; }
.refeicoes-resumo small { display: block; font-size: 8px; letter-spacing: 1px; font-weight: 900; color: #7c8fa3; }
.refeicoes-resumo strong { font-size: 20px; font-weight: 800; color: var(--texto-claro); line-height: 1.1; }
.rr-total { padding-right: 14px; border-right: 1px solid var(--borda-grid); }
.rr-total strong { font-size: 30px; color: var(--amarelo-mopar); }
.rr-item { min-width: 74px; }
.rr-mes { margin-left: auto; }
.rr-mes input { background: rgba(0,0,0,.28); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 8px; padding: 7px 9px; font-size: 12px; }
.rr-btn { background: rgba(255,255,255,.05); border: 1.5px solid var(--borda-grid); color: #cdd9e5; border-radius: 8px; padding: 9px 12px; font-size: 11.5px; font-weight: 800; cursor: pointer; }
.rr-btn:hover { border-color: var(--amarelo-mopar); color: var(--amarelo-mopar); }
.refeicoes-relatorio { background: var(--cinza-card); border: 1px solid var(--borda-grid); border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; }

/* Busca de motorista com sugestões */
.refeicao-busca-campo { position: relative; }
.refeicao-sugestoes {
    position: absolute; top: 100%; left: 0; right: 0; z-index: 40;
    background: var(--cinza-card); border: 1px solid var(--borda-grid);
    border-radius: 9px; margin-top: 4px; overflow: hidden;
    box-shadow: 0 10px 26px rgba(0,0,0,.45); max-height: 260px; overflow-y: auto;
}
.refeicao-sug { display: flex; flex-direction: column; gap: 2px; width: 100%; text-align: left; background: transparent; border: none; border-bottom: 1px solid rgba(255,255,255,.05); padding: 9px 11px; cursor: pointer; }
.refeicao-sug:last-child { border-bottom: none; }
.refeicao-sug:hover { background: rgba(255,188,0,.12); }
.refeicao-sug strong { color: var(--texto-claro); font-size: 12.5px; }
.refeicao-sug span { color: #8da2bb; font-size: 10.5px; }
.refeicao-sug-vazio { padding: 10px 11px; font-size: 11.5px; color: #7c8fa3; }
.refeicao-limpar { flex: 0 0 auto !important; width: 44px; background: rgba(255,255,255,.06) !important; border: 1.5px solid var(--borda-grid) !important; color: #9fb0c3 !important; font-size: 15px !important; }
.refeicao-limpar:hover { border-color: var(--amarelo-mopar) !important; color: var(--amarelo-mopar) !important; }

/* IMPRESSÃO: papel VERTICAL (retrato) e comprovante compacto, no canto superior */
@media print {
    @page { size: A4 portrait; margin: 12mm; }
    body.imprimindo-refeicao * { visibility: hidden !important; }
    body.imprimindo-refeicao #comprovante-refeicao,
    body.imprimindo-refeicao #comprovante-refeicao * { visibility: visible !important; }
    body.imprimindo-refeicao #comprovante-refeicao {
        position: fixed; left: 0; top: 0;
        width: 110mm;                      /* compacto: não precisa ocupar a folha */
        margin: 0; box-shadow: none; border: 1px solid #1f3864;
    }
    body.imprimindo-refeicao #comprovante-refeicao .comp-titulo { font-size: 10.5pt; padding: 4pt; }
    body.imprimindo-refeicao #comprovante-refeicao .comp-tabela { font-size: 8.5pt; }
    body.imprimindo-refeicao #comprovante-refeicao .comp-tabela td { padding: 3.5pt 5pt; }
    body.imprimindo-refeicao #comprovante-refeicao .comp-assina-linha { min-height: 26pt; }
    /* Garante que as faixas azuis realmente saiam coloridas no papel */
    body.imprimindo-refeicao #comprovante-refeicao,
    body.imprimindo-refeicao #comprovante-refeicao * {
        -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important;
    }
    body.imprimindo-refeicao #comprovante-refeicao .comp-titulo,
    body.imprimindo-refeicao #comprovante-refeicao .comp-secao {
        background: #1f3864 !important; color: #fff !important;
    }
    body.imprimindo-refeicao #comprovante-refeicao .comp-rotulo { background: #eef1f7 !important; }
    body.imprimindo-refeicao #comprovante-refeicao .comp-destaque { background: #fdf3d6 !important; }
    body.imprimindo-refeicao { background: #fff !important; }
    html[data-tema] { filter: none !important; }   /* tema pessoal não afeta o papel */
    html[data-tamanho] body { zoom: 1 !important; }
}

/* Log de alterações */
.manobra-conferida-por { font-size: 10.5px; color: #8da2bb; border-top: 1px dashed var(--borda-grid); padding-top: 6px; }
.manobra-conferida-por b { color: #cdd9e5; }
.manobra-log-lista { display: flex; flex-direction: column; gap: 8px; }
.manobra-log-item { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; background: rgba(255,255,255,.03); border: 1px solid var(--borda-grid); border-radius: 8px; padding: 9px 11px; font-size: 12px; }
.manobra-log-item .log-acao { color: var(--texto-claro); font-weight: 700; }
.manobra-log-item .log-quem { color: #8da2bb; font-size: 11px; }
.manobra-log-item .log-quando { color: #62788f; font-size: 10.5px; text-align: right; grid-row: 1 / 3; align-self: center; white-space: nowrap; }

/* Config → Manobras: pirangueiros */
.pirangueiros-lista { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.pirangueiro-linha { display: grid; grid-template-columns: 1fr 130px 36px; gap: 8px; }
.pirangueiro-linha input { background: rgba(0,0,0,.28); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 8px; padding: 8px 10px; font-size: 13px; }
.pirangueiro-linha button { background: rgba(255,92,108,.12); border: 1px solid #5c2a2f; color: #ff949a; border-radius: 8px; cursor: pointer; font-size: 16px; font-weight: 700; }
.pirangueiro-add { background: rgba(255,255,255,.04); border: 1px dashed var(--borda-grid); color: #9fb0c3; border-radius: 8px; padding: 9px; width: 100%; cursor: pointer; font-size: 12px; font-weight: 700; }
.pirangueiro-add:hover { border-color: var(--amarelo-mopar); color: var(--amarelo-mopar); }

/* ==========================================================================
   BLOCO SUPERIOR (FIXO)
   ========================================================================== */
.bloco-topo-fixo {
    position: relative;
    flex-shrink: 0;
    z-index: 200;
    background-color: var(--cinza-fundo);
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 25px rgba(0,0,0,0.5);
}

.topo-controle {
    background: var(--azul-gradient);
    padding: 18px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 2px solid var(--borda-grid);
}

#titulo-painel {
    font-size: 22px;
    color: #ffffff;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
}

.barra-pesquisa-container {
    padding: 8px 16px;
    background-color: #0d1726;
    border-bottom: 1px solid var(--borda-grid);
}

#busca-manifesto {
    width: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    border: 1px solid var(--borda-grid);
    border-radius: 6px;
    padding: 10px 14px;
    color: white;
    font-size: 13px;
    font-weight: 600;
    outline: none;
    text-align: center;
}

.placar-contadores {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-color: #0b121f;
    border-bottom: 2px solid var(--amarelo-mopar);
}

.card-contador {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 0;
    border-right: 1px solid var(--borda-grid);
}

.card-contador:last-child { 
    border-right: none; 
}

.label-contador { 
    font-size: 10px; 
    font-weight: 800; 
    letter-spacing: 0.5px; 
}

.emitidos .label-contador { color: #5cb85c; }
.pendencias .label-contador { color: #d9534f; }

.num-contador { 
    font-size: 20px; 
    font-weight: 900; 
    margin-top: 2px; 
}

.emitidos .num-contador { color: #72f291; }
.pendencias .num-contador { color: #ff949a; }

.barra-acoes-topo {
    padding: 10px 16px;
    background-color: #0e1929;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid var(--borda-grid);
    flex-wrap: wrap;
}

.btn-adicionar {
    background-color: #2eb85c;
    color: white;
    border: none;
    padding: 10px 16px;
    font-size: 12px;
    font-weight: 700;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-adicionar:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.btn-organizar {
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    color: white;
    border: none;
    padding: 10px 20px;
    font-size: 12px;
    font-weight: 700;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3);
}

.btn-organizar:hover {
    background: linear-gradient(135deg, #1e40af, #2563eb);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4);
}

.filtro-mes-container {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: rgba(0, 0, 0, 0.25);
    padding: 6px 12px;
    border-radius: 6px;
    border: 1px solid var(--borda-grid);
    margin-left: auto;
}

.filtro-mes-container label { 
    color: var(--amarelo-mopar); 
    font-size: 10px; 
    font-weight: 800; 
}

.filtro-mes-container select { 
    background-color: transparent; 
    color: #ffffff; 
    font-size: 12px; 
    font-weight: 700; 
    border: none; 
    outline: none; 
    cursor: pointer; 
}

/* ==========================================================================
   CONTAINER PRINCIPAL + TABELA
   ========================================================================== */
.container-principal {
    display: flex;
    padding: 14px;
    gap: 14px;
    flex: 1;
    overflow: hidden;
    min-height: 0;
}

.conteudo {
    flex: 3;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 0;
}

.tabela-wrapper {
    background-color: var(--cinza-card);
    border-radius: 8px;
    overflow: auto;
    border: 1px solid var(--borda-grid);
    box-shadow: 0 8px 30px rgba(0,0,0,0.3);
    flex: 1;
    min-height: 0;
}

#tabela-dados {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    white-space: nowrap;
}

#cabecalho-tabela th {
    position: sticky;
    top: 0;
    background-color: #0b1523;
    color: #8da2bb;
    font-weight: 700;
    padding: 12px 14px;
    text-transform: uppercase;
    font-size: 11px;
    border-right: 1px solid var(--borda-grid);
    border-bottom: 3px solid var(--borda-grid);
    z-index: 100;
    text-align: center;
}

#corpo-tabela td {
    padding: 0 !important;
    border-right: 1px solid var(--borda-grid);
    border-bottom: 1px solid var(--borda-grid);
    min-width: 115px;
    height: 40px;
    text-align: center;
    vertical-align: middle;
}

#corpo-tabela input[type="text"],
#corpo-tabela select {
    width: 100%;
    height: 100%;
    border: none;
    outline: none;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 600;
    color: #ffffff;
    background-color: transparent;
    text-align: center;
}

#corpo-tabela input[type="text"]:focus,
#corpo-tabela select:focus {
    background-color: #ffffff !important;
    color: #0b111e !important;
    box-shadow: inset 0 0 0 2px var(--amarelo-mopar);
}

/* ==========================================================================
   RANKING LATERAL
   ========================================================================== */
.painel-ranking-lateral {
    flex: 1;
    max-width: 320px;
    background-color: var(--cinza-card);
    border: 1px solid var(--borda-grid);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}

.ranking-header {
    background: var(--azul-gradient);
    border-bottom: 2px solid var(--borda-grid);
    padding: 14px;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
    color: #ffffff;
    border-radius: 8px 8px 0 0;
}

.ranking-filtros-topo {
    padding: 12px 14px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    background-color: #0d1624;
    border-bottom: 1px solid var(--borda-grid);
}

.ranking-filtros-topo select {
    background-color: rgba(0, 0, 0, 0.4);
    border: 1px solid var(--borda-grid);
    border-radius: 5px;
    padding: 8px 4px;
    color: white;
    font-size: 11px;
    font-weight: 700;
    outline: none;
    cursor: pointer;
}

.divisor-ranking {
    font-size: 10px;
    font-weight: 800;
    color: var(--amarelo-mopar);
    text-align: center;
    letter-spacing: 1px;
    padding: 10px 0 4px 0;
    background-color: #111b2b;
}

.ranking-corpo {
    padding: 4px 14px 14px 14px;
    overflow-y: auto;
    flex: 1;
    background-color: #111b2b;
}

.item-ranking {
    color: #f1f5f9;
    font-weight: 700;
    font-size: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    list-style-position: inside;
    padding-left: 4px;
}

.item-ranking-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rank-nome {
    color: #ffffff;
    text-transform: uppercase;
}

.rank-detalhe {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.tag-categoria {
    font-size: 8px;
    font-weight: 900;
    padding: 2px 6px;
    border-radius: 3px;
    text-transform: uppercase;
}

.tag-categoria.emissao { background-color: var(--status-verde-bg); color: var(--status-verde-txt); }
.tag-categoria.notas { background-color: var(--status-amarelo-bg); color: var(--status-amarelo-txt); }
.tag-categoria.emails { background-color: var(--status-azul-bg); color: var(--status-azul-txt); }
.tag-categoria.estrela { 
    background-color: #2b0c3f; 
    color: #ffd700; 
    border: 1px solid #ffd700;
}

/* ==========================================================================
   STATUS E LINHAS FINALIZADAS
   ========================================================================== */
.linha-processo-finalizado td {
    background-color: #1b4728 !important;
    color: #72f291 !important;
    opacity: 0.9;
}

.st-vermelho, .st-vermelho input, .st-vermelho select { 
    background-color: var(--status-vermelho-bg) !important; 
    color: var(--status-vermelho-txt) !important; 
}
.st-amarelo, .st-amarelo input, .st-amarelo select { 
    background-color: var(--status-amarelo-bg) !important; 
    color: var(--status-amarelo-txt) !important; 
}
.st-azul, .st-azul input, .st-azul select { 
    background-color: var(--status-azul-bg) !important; 
    color: var(--status-azul-txt) !important; 
}
.st-verde, .st-verde input, .st-verde select { 
    background-color: var(--status-verde-bg) !important; 
    color: var(--status-verde-txt) !important; 
}

/* Botões da tabela */
.btn-settings { 
    background-color: #3b5270; 
    color: white; 
    border: none; 
    padding: 4px 10px; 
    font-size: 11px; 
    font-weight: 700; 
    border-radius: 4px; 
    cursor: pointer; 
}

.btn-deletar { 
    background: transparent; 
    border: none; 
    font-size: 16px; 
    cursor: pointer; 
    width: 100%; 
    height: 100%; 
}

/* ==========================================================================
   MODAIS
   ========================================================================== */
.modal { 
    position: fixed; 
    top: 0; left: 0; 
    width: 100%; height: 100%; 
    background-color: var(--modal-bg); 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    z-index: 500; 
    backdrop-filter: blur(8px); 
}

.modal-conteudo { 
    background: linear-gradient(180deg, #101d2d 0%, #0c1725 100%); 
    border: 1px solid #28435e; 
    border-radius: 14px; 
    width: min(94%, 720px); 
    max-width: 720px; 
    max-height: 92vh; 
    overflow-y: auto; 
    box-shadow: 0 24px 70px rgba(0, 0, 0, .55), 0 0 0 1px rgba(68, 137, 190, .08); 
}

.modal-header { 
    background: var(--azul-gradient); 
    padding: 15px 20px; 
    border-bottom: 2px solid var(--amarelo-mopar); 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    position: sticky;
    top: 0;
    z-index: 8;
}

.modal-header h2 { 
    font-size: 15px; 
    font-weight: 800; 
    color: #fff; 
}
.modal-header p { margin-top: 3px; color: #8fb0cc; font-size: 9px; font-weight: 600; letter-spacing: .03em; }

.fechar-modal { 
    font-size: 22px; 
    font-weight: bold; 
    color: #8da2bb; 
    cursor: pointer; 
}

#form-complemento { 
    padding: 16px 20px 20px; 
}

.divisao-modal { 
    font-size: 9px; 
    font-weight: 800; 
    color: var(--amarelo-mopar); 
    letter-spacing: 1px; 
    margin: 17px 0 10px; 
    text-transform: uppercase; 
    border: 1px solid rgba(94, 130, 161, .2); 
    border-left: 3px solid var(--amarelo-mopar);
    border-radius: 7px;
    padding: 7px 10px;
    text-align: center;
    background: rgba(18, 43, 65, .72);
}

#form-complemento label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    color: #8da2bb;
    margin-bottom: 4px;
    text-align: center;
}
/* Textos de ajuda (small) também centralizados, para consistência no card */
#form-complemento small { display: block; text-align: center; }

/* ABAS DO CARD (Emissão / Tráfego / Atividades) */
.modal-abas { display: flex; gap: 5px; position: sticky; top: 0; z-index: 6; padding: 10px 0; margin-bottom: 6px; background: #101d2d; border-bottom: 1px solid #22364d; }
.modal-aba { display:flex;align-items:center;justify-content:center;gap:8px;flex:1;background:#122338;color:#8da2bb;border:1px solid #263b54;border-radius:9px;padding:10px 4px;font-size:11px;font-weight:900;letter-spacing:.5px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease; }
.modal-aba span { display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.05);font-size:7px; }
.modal-aba:hover { border-color: #3a8ec5; color: #cfe3f5; }
.modal-aba.ativa { background: linear-gradient(145deg, #1a4e79, #123a5c); color: #fff; border-color: #3a8ec5; }
.modal-aba.ativa span { background:rgba(76,199,251,.17);color:#84ddff; }
.modal-aba > b { min-width:18px;border-radius:999px;padding:3px 5px;background:#532b37;color:#ff9da7;font-size:7px; }
.modal-aba > b.completo { background:#174d3b;color:#6fe0ad; }
.modal-aba-painel[hidden] { display: none; }
.card-manifesto-resumo { display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) 1.25fr;gap:1px;margin:8px 0 12px;overflow:hidden;border:1px solid #28435b;border-radius:10px;background:#28435b; }
.card-manifesto-resumo>div { min-width:0;padding:9px 10px;background:#0b1b2a; }
.card-manifesto-resumo small { color:#607c92!important;font-size:6.5px!important;font-weight:900;letter-spacing:.7px; }
.card-manifesto-resumo strong { display:block;overflow:hidden;margin-top:3px;color:#dcebf3;font-size:10px;text-overflow:ellipsis;white-space:nowrap; }
.card-resumo-progresso i { display:block;height:3px;margin-top:5px;overflow:hidden;border-radius:3px;background:#1e3446; }
.card-resumo-progresso i span { display:block;height:100%;background:linear-gradient(90deg,#3e93c7,#35d39b);transition:width .2s ease; }
.campo-card-invalido { border-color:#ed6674!important;box-shadow:0 0 0 3px rgba(237,102,116,.1)!important; }
.md-sugestao-placa.alerta { color:#f2a14f!important; }

/* TIPO DE PROCESSO */
.tipo-processo-seletor { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 8px; }
.tp-btn { background: #122338; color: #8da2bb; border: 1px solid #263b54; border-radius: 9px; padding: 10px 6px; font-size: 12px; font-weight: 800; cursor: pointer; transition: border-color .15s ease, color .15s ease, background .15s ease; }
.tp-btn:hover { border-color: #3a8ec5; color: #cfe3f5; }
.tp-btn.ativo[data-tipo="viagem"] { background: linear-gradient(145deg, #1a4e79, #123a5c); color: #fff; border-color: #3a8ec5; }
.tp-btn.ativo[data-tipo="baldeio"] { background: linear-gradient(145deg, #7a4a12, #5c3a12); color: #fff; border-color: #fba94c; }
.tp-btn.ativo[data-tipo="garagem"] { background: linear-gradient(145deg, #6a1f2a, #4d1520); color: #fff; border-color: #f75a68; }
.tp-btn.ativo[data-tipo="dedicado"] { background:linear-gradient(145deg,#493786,#30265e);color:#fff;border-color:#9d87ef; }
.filtro-tipo-btn.tipo-dedicado.ativo,.badge-tipo.tipo-dedicado { background:rgba(122,96,211,.2);color:#c2b5ff;border-color:#7a60d3; }

.card-area-emissao .divisao-modal { border-left-color:#4cc7fb;color:#7bdcff; }
.card-area-trafego .divisao-modal { border-left-color:#32d296;color:#63e5b3; }
.card-area-atividades .divisao-modal { border-left-color:#f5b942;color:#ffd073; }
.card-area-trafego .ordem-carregamento-grid { padding:11px;border:1px solid rgba(50,210,150,.22);border-radius:10px;background:rgba(22,119,84,.055); }
.card-packing-unico { grid-template-columns:1fr; }
.card-area-emissao > input#md-motorista,.card-area-emissao > input#md-comentario-rota { width:100%;box-sizing:border-box; }
.md-lib-acoes { display:flex;justify-content:flex-end;gap:7px;padding:10px 14px;border-top:1px solid rgba(42,210,151,.18); }
.md-lib-acoes button { border:1px solid #297559;border-radius:7px;padding:7px 10px;background:rgba(24,137,94,.08);color:#74d9b1;font-size:8px;font-weight:900;cursor:pointer; }
.card-checklist { margin:10px 0 14px;overflow:hidden;border:1px solid #2b455a;border-radius:10px;background:#0a1a28; }
.card-checklist>header { display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #263e52; }
.card-checklist>header small { color:#68859a!important;font-size:6.5px!important;font-weight:900;letter-spacing:.8px; }
.card-checklist>header b { display:block;margin-top:2px;color:#dbe8ef;font-size:11px; }
.card-checklist>header>strong { color:#ffd073;font-size:15px; }
#card-checklist-itens { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#22394b; }
#card-checklist-itens>div { display:flex;align-items:center;gap:8px;padding:8px 10px;background:#0b1d2c; }
#card-checklist-itens span { display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:8px;font-weight:900; }
#card-checklist-itens b { color:#91a7b5;font-size:8px; }
#card-checklist-itens .ok span { background:#174c39;color:#65dca8; }#card-checklist-itens .pendente span { background:#56313a;color:#ff9ba4; }
.historico-filtros { display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px; }
.historico-filtros button { border:1px solid #2b4358;border-radius:999px;padding:5px 8px;background:#0e2030;color:#748ea1;font-size:7px;font-weight:900;cursor:pointer; }
.historico-filtros button.ativo { border-color:#367fa9;background:#153b55;color:#a8dcf4; }
.modal-acoes-fixas { gap:8px; }
.btn-salvar-area { border:1px solid #34719a;border-radius:8px;padding:9px 13px;background:#153b57;color:#bce5f8;font-size:9px;font-weight:900;cursor:pointer; }
.btn-salvar-area.salvo { border-color:#39b681;background:#174d39;color:#8aebc1; }
.btn-card-atalho { border:1px solid #2a4258;border-radius:8px;padding:9px 11px;background:#0f2131;color:#8fa7b8;font-size:8px;font-weight:900;cursor:pointer; }
.btn-card-atalho:hover { border-color:#3f769c;color:#c3e0ef; }
.btn-card-atalho.copiado { border-color:#348a64;background:#164a37;color:#83e6b9; }
.card-rascunho-status { margin-right:auto;color:#71899a;font-size:7.5px;white-space:nowrap; }
.card-rascunho-status.salvando { color:#e1b65d; }
.card-rascunho-status.salvo { color:#6dcfa7; }
.card-rascunho-status.recuperado { color:#7cccf0; }
.card-rascunho-status.bloqueado { color:#8b9aa6; }
@media(max-width:900px){.card-rascunho-status{width:100%;margin-bottom:2px}.modal-acoes-fixas{flex-wrap:wrap}}

/* Meu Perfil - painel pessoal */
#view-perfil { background:radial-gradient(circle at 82% 0,rgba(31,103,158,.14),transparent 34%),linear-gradient(160deg,#07121e,#0a1826 58%,#081521); }
#view-perfil .perfil-topo-controle { min-height:82px;padding-top:15px;padding-bottom:15px;border-bottom-color:#24435d;background:radial-gradient(circle at 78% -70%,rgba(61,152,205,.2),transparent 44%),linear-gradient(110deg,#0a1d30,#0d2941);box-shadow:0 8px 26px rgba(0,0,0,.18); }
#view-perfil .perfil-identidade>span { color:#70ccef; }
#view-perfil .perfil-identidade h1 { font-size:23px;letter-spacing:.3px; }
#view-perfil .perfil-identidade p { color:#7893a8; }
#view-perfil .perfil-topo-nivel { border-radius:999px;padding:8px 13px; }
#view-perfil .perfil-container { grid-template-columns:290px minmax(0,1fr);gap:18px;width:min(1320px,100%);padding:22px 24px 34px; }
#view-perfil .perfil-resumo-card { top:16px;padding:24px 19px 18px;border-color:#2e526d;border-radius:17px;background:radial-gradient(circle at 50% 0,rgba(67,165,215,.15),transparent 32%),linear-gradient(160deg,#112b40,#0a1b2b 68%);box-shadow:0 18px 42px rgba(0,0,0,.24); }
#view-perfil .perfil-avatar-inicial { width:78px;height:78px;margin-bottom:14px;border:1px solid #5eb7df;background:linear-gradient(145deg,#1e7fad,#174f79);font-size:28px;box-shadow:0 0 0 7px rgba(76,199,251,.055),0 12px 25px rgba(0,55,91,.3); }
#view-perfil .perfil-resumo-card>strong { font-size:17px; }
#view-perfil .perfil-resumo-card>span { color:#8ba3b7; }
#view-perfil .perfil-resumo-divisor { margin:20px 0 15px;background:linear-gradient(90deg,transparent,#34556d,transparent); }
#view-perfil .perfil-resumo-item { padding:8px 9px;margin-top:5px;border-radius:8px;background:rgba(255,255,255,.018); }
#view-perfil .perfil-resumo-item small { color:#5e8199; }
#view-perfil .perfil-resumo-item b { color:#d2e1ea;font-size:9.5px; }
#view-perfil .perfil-sessao-segura { margin-top:14px;border-radius:10px; }
.perfil-atalhos { display:flex;flex-direction:column;gap:5px;margin-top:14px;padding-top:13px;border-top:1px solid #29455b; }
.perfil-atalhos button { display:flex;align-items:center;gap:9px;width:100%;border:1px solid transparent;border-radius:8px;padding:8px 9px;background:transparent;color:#7892a6;font-size:8px;font-weight:900;text-align:left;cursor:pointer;transition:.15s ease; }
.perfil-atalhos button span { display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#142f45;color:#65b9df;font-size:6.5px; }
.perfil-atalhos button:hover { border-color:#2c5672;background:rgba(65,146,190,.06);color:#c9e2ed;transform:translateX(2px); }
#view-perfil .perfil-conteudo { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px; }
#view-perfil .perfil-card { min-width:0;margin:0;border-color:#29475e;border-radius:15px;padding:18px;background:linear-gradient(150deg,rgba(18,43,62,.96),rgba(9,25,39,.97));box-shadow:0 10px 28px rgba(0,0,0,.17);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;scroll-margin-top:95px; }
#view-perfil .perfil-card:hover { transform:translateY(-1px);border-color:#38647f;box-shadow:0 15px 34px rgba(0,0,0,.22); }
#view-perfil .perfil-card-largo,#view-perfil .perfil-master-card,#view-perfil .perfil-master-confirmado { grid-column:1/-1; }
#view-perfil .perfil-card-cabecalho { margin-bottom:17px; }
#view-perfil .perfil-card-icone { width:40px;height:40px;flex-basis:40px;border-radius:11px;font-size:18px; }
#view-perfil .perfil-card-cabecalho h2 { font-size:15px; }
#view-perfil .perfil-card-cabecalho p { max-width:620px;line-height:1.4; }
#view-perfil .perfil-form-grid { gap:10px; }
#view-perfil .perfil-form-grid input,#view-perfil .perfil-master-acao input,#view-perfil .perfil-apikey-linha input { min-height:42px;border-color:#2d4a62;border-radius:9px;background:#071827;transition:border-color .15s ease,box-shadow .15s ease; }
#view-perfil .perfil-form-grid input:focus,#view-perfil .perfil-master-acao input:focus,#view-perfil .perfil-apikey-linha input:focus { border-color:#4da9d0;box-shadow:0 0 0 3px rgba(77,169,208,.09); }
#view-perfil .perfil-card-acoes { margin-top:16px; }
#view-perfil .perfil-card button { border-radius:8px; }
.perfil-indicadores-cabecalho { align-items:center; }
.perfil-indicadores-cabecalho>div:nth-child(2) { flex:1; }
#view-perfil .perfil-card-icone.desempenho { color:#76d9ff;background:linear-gradient(145deg,rgba(42,150,205,.25),rgba(22,89,132,.3));border-color:#347ca3; }
.perfil-indicadores-periodo { flex:0 0 auto;border:1px solid #2b526c;border-radius:9px;padding:8px 11px;background:#081a29;text-align:right; }
.perfil-indicadores-periodo small { display:block;color:#52778f;font-size:6.5px;font-weight:900;letter-spacing:.8px; }
.perfil-indicadores-periodo b { display:block;margin-top:3px;color:#a8d9ec;font-size:9px;letter-spacing:.35px; }
.perfil-indicadores-loading { min-height:105px;align-items:center;justify-content:center;border:1px dashed #2a4b62;border-radius:11px;color:#65869d;font-size:10px;font-weight:800; }
.perfil-kpis { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }
.perfil-kpi { position:relative;overflow:hidden;min-height:118px;border:1px solid #294a61;border-radius:12px;padding:14px;background:linear-gradient(145deg,#0b2234,#081824); }
.perfil-kpi::after { content:"";position:absolute;right:-26px;bottom:-34px;width:92px;height:92px;border-radius:50%;background:currentColor;opacity:.045; }
.perfil-kpi span { display:block;color:#67879d;font-size:7px;font-weight:900;letter-spacing:.6px; }
.perfil-kpi strong { display:block;margin:13px 0 5px;color:#e7f5fb;font-size:29px;line-height:1; }
.perfil-kpi small { color:#658096;font-size:8px; }
.perfil-kpi.azul { border-top-color:#3fa6d2;color:#55bde8; }
.perfil-kpi.verde { border-top-color:#35bf83;color:#48d99b; }
.perfil-kpi.amarelo { border-top-color:#d6a643;color:#efbe58; }
.perfil-kpi.roxo { border-top-color:#8b75d5;color:#aa96eb; }
.perfil-desempenho-rodape { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:11px; }
.perfil-progresso { border:1px solid #28475d;border-radius:10px;padding:11px 13px;background:rgba(5,20,31,.55); }
.perfil-progresso>span { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px; }
.perfil-progresso b { color:#aac2d1;font-size:7px;letter-spacing:.55px; }
.perfil-progresso small { color:#607f94;font-size:8px; }
.perfil-progresso>div { height:6px;overflow:hidden;border-radius:999px;background:#142d3e; }
.perfil-progresso i { display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#248bc0,#43d095);transition:width .55s ease; }
.perfil-tempo-medio { display:flex;align-items:center;gap:10px;min-width:190px;border:1px solid #28475d;border-radius:10px;padding:10px 13px;background:rgba(5,20,31,.55); }
.perfil-tempo-medio>span { display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#132e43;color:#64bce2;font-size:16px; }
.perfil-tempo-medio small { display:block;color:#607f94;font-size:6.5px;font-weight:900;letter-spacing:.5px; }
.perfil-tempo-medio b { display:block;margin-top:3px;color:#d7ebf4;font-size:13px; }
#view-perfil .perfil-apikey-stats>div { min-height:64px;justify-content:center;border-color:#2b4a62;background:linear-gradient(145deg,#091d2d,#0b1724); }
#view-perfil .perfil-apikey-stats b { font-size:17px; }
#view-perfil .perfil-tema-card .tema-grupo { padding:12px 0;border-bottom:1px solid rgba(53,79,102,.38); }
#view-perfil .perfil-tema-card .tema-grupo:last-of-type { border-bottom:0; }
.perfil-card-destaque { animation:perfil-card-foco .9s ease; }
@keyframes perfil-card-foco { 35%{border-color:#54b8df;box-shadow:0 0 0 4px rgba(84,184,223,.08),0 16px 34px rgba(0,0,0,.24)} }
@media(max-width:1050px){#view-perfil .perfil-container{grid-template-columns:245px minmax(0,1fr)}#view-perfil .perfil-conteudo{grid-template-columns:1fr}#view-perfil .perfil-card-largo,#view-perfil .perfil-master-card,#view-perfil .perfil-master-confirmado{grid-column:auto}}
@media(max-width:1100px){.perfil-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:760px){#view-perfil .perfil-container{grid-template-columns:1fr;padding:12px}#view-perfil .perfil-resumo-card{position:static}.perfil-atalhos{display:grid;grid-template-columns:1fr 1fr}#view-perfil .perfil-conteudo{grid-template-columns:1fr}#view-perfil .perfil-topo-controle{min-height:68px}.perfil-whatsapp-card .perfil-apikey-linha{flex-direction:column}}
@media(max-width:620px){.perfil-kpis{grid-template-columns:1fr 1fr}.perfil-desempenho-rodape{grid-template-columns:1fr}.perfil-tempo-medio{min-width:0}.perfil-indicadores-cabecalho{align-items:flex-start;flex-wrap:wrap}.perfil-indicadores-periodo{margin-left:50px}}
@media(max-width:640px){.tipo-processo-seletor{grid-template-columns:1fr 1fr}.modal-aba{gap:4px;font-size:9px}.modal-aba span{display:none}}
@media(max-width:760px){.card-manifesto-resumo{grid-template-columns:1fr 1fr 1fr}#card-checklist-itens{grid-template-columns:1fr}}

/* Relatório gerencial de refeições */
.refeicoes-relatorio { background:linear-gradient(150deg,#0e2538,#091925);border:1px solid #31536a;border-radius:14px;padding:16px;margin-bottom:14px;box-shadow:0 14px 34px rgba(0,0,0,.22); }
.rr-btn.ativo { border-color:#58bde4;background:rgba(55,145,190,.16);color:#86d9f5; }
.rr-relatorio-header { display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid #29475c; }
.rr-relatorio-header small,.rr-grafico-card header small,.rr-ranking-card header small { display:block;color:#55b9df;font-size:7px;font-weight:900;letter-spacing:1px; }
.rr-relatorio-header h3 { margin:3px 0;color:#edf8fc;font-size:16px; }.rr-relatorio-header p { color:#718da1;font-size:9px; }
.rr-periodo { border:1px solid #37637e;border-radius:999px;padding:7px 11px;background:#102c42;color:#a4d9eb;font-size:9px;font-weight:900; }
.rr-relatorio-kpis { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:13px 0; }
.rr-relatorio-kpis article { min-width:0;border:1px solid #29485e;border-top:2px solid #428eb2;border-radius:10px;padding:11px;background:linear-gradient(145deg,#102a3e,#0a1b29); }
.rr-relatorio-kpis article.almoco { border-top-color:#e6af3c; }.rr-relatorio-kpis article.janta { border-top-color:#4b9ee0; }.rr-relatorio-kpis article.motoristas { border-top-color:#a27de0; }.rr-relatorio-kpis article.media { border-top-color:#42c690; }.rr-relatorio-kpis article.pico { border-top-color:#df725e; }
.rr-relatorio-kpis small { display:block;color:#668499;font-size:6.5px;font-weight:900;letter-spacing:.55px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.rr-relatorio-kpis strong { display:block;margin:8px 0 4px;color:#eaf6fb;font-size:23px;line-height:1; }.rr-relatorio-kpis span { display:block;color:#698499;font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.rr-alerta-tipo { margin-bottom:11px;border:1px solid #705c2d;border-radius:8px;padding:8px 10px;background:rgba(171,125,25,.1);color:#d9b75f;font-size:9px;font-weight:700; }
.rr-relatorio-grid { display:grid;grid-template-columns:minmax(300px,.85fr) minmax(430px,1.35fr);gap:11px; }
.rr-grafico-card,.rr-ranking-card { min-width:0;border:1px solid #29485e;border-radius:11px;padding:12px;background:rgba(5,19,29,.58); }
.rr-grafico-card>header,.rr-ranking-card>header { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px; }.rr-grafico-card h4,.rr-ranking-card h4 { margin-top:3px;color:#dcebf2;font-size:11px; }.rr-grafico-card header>span { color:#7997a9;font-size:7px;font-weight:900; }
.rr-grafico-barras { display:flex;align-items:flex-end;gap:4px;height:155px;overflow-x:auto;padding:12px 2px 2px; }.rr-barra-item { display:grid;grid-template-rows:13px 1fr 13px;flex:1 0 17px;min-width:17px;height:100%;text-align:center; }.rr-barra-item>b { color:#7894a6;font-size:6.5px; }.rr-barra-item>div { position:relative;overflow:hidden;border-radius:4px 4px 2px 2px;background:rgba(52,83,102,.2); }.rr-barra-item i { position:absolute;bottom:0;left:2px;right:2px;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,#60c4e8,#217ca9);transition:height .3s ease; }.rr-barra-item:hover i { filter:brightness(1.25); }.rr-barra-item small { align-self:end;color:#627f92;font-size:6.5px; }
.rr-ranking-busca { display:flex;align-items:center;gap:5px;width:min(205px,45%);border:1px solid #2c5169;border-radius:8px;padding:0 8px;background:#071925; }.rr-ranking-busca span { color:#5d91ae; }.rr-ranking-busca input { width:100%;border:0;outline:0;padding:7px 2px;background:transparent;color:#d8e9f1;font-size:9px; }
.rr-ranking-tabela { max-height:190px;overflow:auto;border:1px solid #233f52;border-radius:8px; }.rr-ranking-tabela table { width:100%;border-collapse:collapse; }.rr-ranking-tabela th { position:sticky;top:0;z-index:1;padding:7px 8px;background:#102b40;color:#68889c;font-size:6.5px;text-align:center;letter-spacing:.45px; }.rr-ranking-tabela th:nth-child(2) { text-align:left; }.rr-ranking-tabela td { border-top:1px solid rgba(43,71,89,.55);padding:7px 8px;color:#8da7b8;font-size:8.5px;text-align:center; }.rr-ranking-tabela td:nth-child(2) { max-width:210px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.rr-ranking-tabela td b { color:#cfe1e9; }.rr-ranking-tabela td strong { color:#72d5f2;font-size:10px; }
.rr-posicao { display:grid;place-items:center;width:20px;height:20px;margin:auto;border-radius:6px;background:#143249;color:#71bede;font-size:7px;font-weight:900; }.rr-ranking-tabela tr:nth-child(1) .rr-posicao { background:#5f4b1d;color:#ffd56a; }.rr-ranking-tabela tr:nth-child(2) .rr-posicao { background:#344956;color:#d6e1e7; }.rr-ranking-tabela tr:nth-child(3) .rr-posicao { background:#543a2a;color:#dda77f; }
@media(max-width:1150px){.rr-relatorio-kpis{grid-template-columns:repeat(3,1fr)}.rr-relatorio-grid{grid-template-columns:1fr}}
@media(max-width:650px){.rr-relatorio-kpis{grid-template-columns:1fr 1fr}.rr-relatorio-header{align-items:flex-start}.rr-periodo{white-space:nowrap}.rr-ranking-card>header{align-items:flex-start;flex-direction:column}.rr-ranking-busca{width:100%}}

/* Sugestão de auto-preenchimento por placa */
.md-sugestao-placa { display: block; color: #62dea8 !important; font-size: 10px; margin: -2px 0 8px; min-height: 12px; }

/* Mini barra de progresso na linha da tabela */
.mini-progresso { height: 4px; border-radius: 3px; background: rgba(255, 255, 255, .08); overflow: hidden; margin-top: 5px; }
.mini-progresso span { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg, #fba94c, #4cc7fb); transition: width .3s ease; }
.mini-progresso.completo span { background: linear-gradient(90deg, #43c98a, #72e8b4); }

/* Botão "Minha fila" ativo */
.filtro-tipo-btn.filtro-minha-fila.ativo { background: linear-gradient(145deg, #2a6a4a, #1c4a33); color: #fff; border-color: #43c98a; }

/* Botões flutuantes de rolagem (topo/final) — só aparecem na tela de processos */
.scroll-tabela-botoes { position: fixed; bottom: 22px; right: 22px; display: flex; flex-direction: column; gap: 8px; z-index: 50; }
.scroll-tabela-botoes button { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #3a8ec5; background: rgba(18, 35, 56, .94); color: #cfe3f5; font-size: 14px; font-weight: 800; cursor: pointer; box-shadow: 0 5px 16px rgba(0, 0, 0, .45); }
.scroll-tabela-botoes button:hover { background: #1a4e79; color: #fff; }

/* SLA estourado (> 2h) — linha em vermelho + selo */
#view-processos .linha-atrasada-sla td { background-color: rgba(247, 90, 104, 0.10) !important; }
#view-processos .linha-atrasada-sla td:first-child { border-left: 3px solid #f75a68; }
.badge-sla { display: inline-block; padding: 1px 6px; border-radius: 20px; font-size: 8px; font-weight: 800; letter-spacing: .3px; background: rgba(247, 90, 104, .2); color: #ff8e98; }
.badge-liberacao-tabela { display:inline-flex;align-items:center;margin-top:4px;border:1px solid #40566b;border-radius:999px;padding:2px 6px;background:#142638;color:#7d94a7;font-size:6.5px;font-weight:900;letter-spacing:.35px;white-space:nowrap; }
.badge-liberacao-tabela.liberado { border-color:#287b59;background:rgba(35,151,103,.13);color:#67dca9; }
.badge-liberacao-tabela.aguardando { border-color:#705f36;background:rgba(188,143,41,.08);color:#c9a95c; }
.badge-retrabalho { display: inline-block; padding: 1px 6px; border-radius: 20px; font-size: 8px; font-weight: 800; background: rgba(251, 169, 76, .2); color: #ffc078; }

/* Selo de tipo na tabela de processos */
.badge-tipo { display: inline-block; margin-top: 3px; padding: 1px 7px; border-radius: 20px; font-size: 8px; font-weight: 800; letter-spacing: .5px; }
.badge-tipo.tipo-viagem { background: rgba(58, 142, 197, .16); color: #6fd0f5; }
.badge-tipo.tipo-baldeio { background: rgba(251, 169, 76, .18); color: #ffc078; }
.badge-tipo.tipo-garagem { background: rgba(247, 90, 104, .16); color: #ff8e98; }

/* Filtro por tipo (toolbar) */
.filtro-tipo-container { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.filtro-tipo-btn { background: #122338; color: #8da2bb; border: 1px solid #263b54; border-radius: 8px; padding: 8px 12px; font-size: 11px; font-weight: 800; cursor: pointer; white-space: nowrap; transition: border-color .15s ease, color .15s ease, background .15s ease; }
.filtro-tipo-btn:hover { border-color: #3a8ec5; color: #cfe3f5; }
.filtro-tipo-btn.ativo.tipo-viagem { background: linear-gradient(145deg, #1a4e79, #123a5c); color: #fff; border-color: #3a8ec5; }
.filtro-tipo-btn.ativo.tipo-baldeio { background: linear-gradient(145deg, #7a4a12, #5c3a12); color: #fff; border-color: #fba94c; }
.filtro-tipo-btn.ativo.tipo-garagem { background: linear-gradient(145deg, #6a1f2a, #4d1520); color: #fff; border-color: #f75a68; }

/* ORDEM DE CARREGAMENTO (8 tags de descarga) */
.ordem-carreg-dica { color: #6e849d !important; font-size: 10px; margin-bottom: 8px; }
.ordem-carregamento-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.ordem-item { display: flex; align-items: center; gap: 8px; }
.ordem-item label { flex: 0 0 auto; width: 22px; height: 22px; display: grid; place-items: center; margin: 0; border-radius: 6px; background: rgba(58,142,197,.16); color: #6fd0f5; font-size: 11px; font-weight: 800; }
.ordem-item input { margin-bottom: 0 !important; text-transform: uppercase; }

#form-complemento input[type="text"], 
#form-complemento input[type="url"], 
#form-complemento textarea, 
#form-complemento select { 
    width: 100%; 
    background-color: rgba(0, 0, 0, 0.3); 
    border: 1px solid var(--borda-grid); 
    border-radius: 6px; 
    padding: 9px 11px; 
    color: white; 
    font-size: 13px; 
    font-weight: 600; 
    outline: none;
    margin-bottom: 8px;
    text-align: center;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
#form-complemento input:focus, #form-complemento textarea:focus, #form-complemento select:focus { border-color: #3a8ec5; background-color: rgba(7, 18, 30, .78); box-shadow: 0 0 0 3px rgba(58, 142, 197, .12); }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.grid-rastreamento { display: grid; grid-template-columns: 1.2fr 0.9fr 0.9fr; gap: 8px; }
.modal-prealerta-card { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 13px; border: 1px solid #225975; border-radius: 10px; background: linear-gradient(135deg, rgba(12, 54, 78, .82), rgba(9, 32, 50, .92)); box-shadow: inset 0 1px rgba(255,255,255,.025); }
.modal-prealerta-card small { display: block; margin: -3px 1px 2px; color: #6f8ba1; font-size: 8px; line-height: 1.35; }
.divisao-modal.destaque-prealerta { border-color: rgba(47, 171, 211, .3); border-left-color: #3ab6df; color: #61d2f5; background: rgba(12, 65, 88, .55); }
.modal-acoes-fixas { position: sticky; bottom: -20px; z-index: 6; margin: 17px -20px -20px; padding: 12px 20px 14px; border-top: 1px solid #243b50; background: rgba(10, 23, 36, .96); backdrop-filter: blur(10px); }

.btn-salvar-modal { 
    background: linear-gradient(135deg, #18a765, #2ec777); 
    color: white; 
    border: none; 
    padding: 12px 20px; 
    font-size: 13px; 
    font-weight: 700; 
    border-radius: 8px; 
    cursor: pointer; 
    width: 100%; 
    margin-bottom: 6px;
}
.btn-salvar-modal:hover { filter: brightness(1.08); transform: translateY(-1px); box-shadow: 0 8px 20px rgba(26, 177, 104, .22); }

.btn-reabrir-modal { 
    background-color: #e55353; 
    color: white; 
    border: none; 
    padding: 10px 20px; 
    font-size: 13px; 
    font-weight: 700; 
    border-radius: 6px; 
    cursor: pointer; 
    width: 100%; 
}

@media (max-width: 620px) {
    .modal { align-items: flex-end; }
    .modal-conteudo { width: 100%; max-height: 96vh; border-radius: 14px 14px 0 0; }
    .modal-header { padding: 13px 15px; }
    #form-complemento { padding: 12px 14px 18px; }
    .grid-2, .grid-3, .grid-rastreamento, .modal-prealerta-card { grid-template-columns: 1fr; gap: 5px; }
    .modal-acoes-fixas { margin-left: -14px; margin-right: -14px; padding-left: 14px; padding-right: 14px; }
}

/* ==========================================================================
   MODAL DE AUTENTICAÇÃO - MELHORADO
   ========================================================================== */
.modal-auth { 
    position: fixed; 
    top: 0; left: 0; 
    width: 100%; height: 100%; 
    background-color: rgba(5, 9, 16, 0.95); 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    z-index: 999; 
    backdrop-filter: blur(10px);
}

.auth-conteudo { 
    background-color: #162235; 
    border: 2px solid var(--amarelo-mopar); 
    border-radius: 14px; 
    padding: 28px 32px; 
    width: 360px; 
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
    text-align: center;
}

.auth-conteudo h3 { 
    font-size: 16px; 
    font-weight: 800; 
    color: #ffffff; 
    margin-bottom: 20px; 
    letter-spacing: 0.5px;
}

.auth-conteudo label { 
    font-size: 12.5px; 
    font-weight: 700; 
    color: #8da2bb; 
    display: block; 
    text-align: left; 
    margin-bottom: 6px;
}

.auth-conteudo select, 
.auth-conteudo input[type="password"] { 
    width: 100%; 
    background-color: #0f1724; 
    border: 1px solid #334155; 
    color: white; 
    padding: 12px 14px; 
    font-size: 14px; 
    font-weight: 600; 
    border-radius: 8px; 
    margin-bottom: 16px; 
    outline: none;
    transition: all 0.2s;
}

.auth-conteudo select:focus, 
.auth-conteudo input[type="password"]:focus { 
    border-color: var(--amarelo-mopar); 
    box-shadow: 0 0 0 3px rgba(255, 188, 0, 0.15);
}

.auth-conteudo button { 
    width: 100%; 
    padding: 12px; 
    font-weight: 700; 
    border-radius: 8px; 
    cursor: pointer;
    font-size: 14px;
    margin-top: 8px;
    transition: all 0.2s;
}

.auth-conteudo button:first-of-type { 
    background-color: #22c55e; 
    color: white; 
    border: none; 
}

.auth-conteudo button:first-of-type:hover { 
    background-color: #16a34a; 
    transform: translateY(-1px);
}

.auth-conteudo button:last-of-type { 
    background-color: #475569; 
    color: white; 
    border: none; 
}

.auth-conteudo button:last-of-type:hover { 
    background-color: #334155; 
}

/* Scrollbar */
::-webkit-scrollbar { 
    width: 6px; 
    height: 6px; 
}

::-webkit-scrollbar-track { 
    background: var(--cinza-fundo); 
}

::-webkit-scrollbar-thumb { 
    background: #3b5270; 
    border-radius: 3px; 
}

/* Responsivo */
@media (max-width: 1024px) {
    .container-principal { 
        flex-direction: column; 
    }
    .painel-ranking-lateral { 
        max-width: 100%; 
        max-height: 280px; 
    }
    .barra-acoes-topo {
        justify-content: center;
    }
}
/* ==========================================================================
   CORREÇÕES DE BUGS DE LAYOUT (cronômetro, seletores de cor, célula quebrada)
   ========================================================================== */
.wrapper-tempo-decorrido {
    margin: 2px 0 15px;
    padding: 12px 14px;
    background: linear-gradient(135deg, #181c29, #111b29);
    border: 1px solid #323b4c;
    border-radius: 9px;
    text-align: center;
    box-shadow: inset 0 1px rgba(255,255,255,.025);
}
.tempo-decorrido-titulo {
    font-size: 11px;
    color: #7c7c8a;
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: 8px;
}
.tempo-decorrido-linha {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    font-size: 13px;
    color: #e1e1e6;
    flex-wrap: wrap;
    gap: 8px;
}
.tempo-decorrido-linha > div { min-width: 0; padding: 4px 8px; border-right: 1px solid rgba(255,255,255,.07); }
.tempo-decorrido-linha > div:last-child { border-right: 0; }
.tempo-decorrido-label {
    color: #7c7c8a;
    font-size: 11px;
    display: block;
}
.tempo-decorrido-label.soma { color: #00b37e; }
.tempo-decorrido-soma { color: #00ff88; font-size: 15px; }
.tempo-decorrido-andamento { color: #fba94c; font-style: italic; }
.tempo-auditoria-pendente {
    display: block;
    margin-top: 4px;
    color: #f6c85f;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.7px;
}
@media (max-width: 620px) { .tempo-decorrido-linha { grid-template-columns: 1fr; }.tempo-decorrido-linha > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.07); }.tempo-decorrido-linha > div:last-child { border-bottom: 0; } }

.seletor-cor-vermelho { background-color: #421c20 !important; color: var(--status-vermelho-txt, #f75a68) !important; }
.seletor-cor-amarelo { background-color: #4a3b12 !important; color: var(--status-amarelo-txt, #fba94c) !important; }
.seletor-cor-azul { background-color: #122a4a !important; color: var(--status-azul-txt, #4cc7fb) !important; }
.seletor-cor-verde { background-color: #12382c !important; color: var(--status-verde-txt, #00b37e) !important; }
.seletor-cor-neutro { background-color: #121214 !important; color: #ffffff !important; }

/* A tabela agora quebra corretamente em telas menores em vez de estourar a largura */
.tabela-wrapper { max-width: 100%; }
#tabela-dados td, #tabela-dados th { white-space: nowrap; }
.barra-acoes-topo .btn-organizar,
.barra-acoes-topo .btn-adicionar { margin: 0; }

/* ==========================================================================
   TELA DE LOGIN / CADASTRO
   ========================================================================== */
.tela-auth {
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--azul-gradient);
    padding: 20px;
}
.auth-card {
    width: 100%;
    max-width: 380px;
    background: var(--cinza-card);
    border: 1px solid var(--borda-grid);
    border-radius: 12px;
    padding: 28px 24px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}
.auth-logo {
    text-align: center;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 1px;
    color: var(--texto-claro);
    margin-bottom: 20px;
    text-transform: uppercase;
}
.auth-logo span { color: var(--amarelo-mopar); }
.auth-tabs {
    display: flex;
    margin-bottom: 18px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--borda-grid);
}
.auth-tab {
    flex: 1;
    padding: 10px;
    background: #0b121f;
    color: #8da2bb;
    border: none;
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
}
.auth-tab.ativo {
    background: var(--amarelo-mopar);
    color: #0b121f;
}
.auth-form label {
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.5px;
    color: #8da2bb;
    margin: 12px 0 4px;
}
.auth-form label .opcional { text-transform: none; font-weight: 400; color: #5a6b82; }
.auth-form input,
.auth-form select {
    width: 100%;
    background: rgba(0,0,0,0.4);
    border: 1px solid var(--borda-grid);
    border-radius: 6px;
    padding: 10px 12px;
    color: white;
    font-size: 13px;
    outline: none;
}
.btn-auth-principal {
    width: 100%;
    margin-top: 20px;
    padding: 12px;
    background: var(--amarelo-mopar);
    color: #0b121f;
    border: none;
    border-radius: 6px;
    font-weight: 800;
    font-size: 13px;
    cursor: pointer;
}
.btn-auth-principal:hover { opacity: 0.9; }
.auth-erro {
    color: #ff949a;
    font-size: 12px;
    margin-top: 10px;
    min-height: 14px;
    text-align: center;
}

/* ==========================================================================
   APP SHELL + SIDEBAR HAMBÚRGUER
   ========================================================================== */
#app-shell {
    display: flex;
    height: 100vh;
    width: 100%;
    overflow: hidden;
}
.area-conteudo {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
}
.view { height: 100%; display: flex; flex-direction: column; overflow: hidden; min-height: 0; }

.btn-hamburguer {
    font-size: 22px;
    cursor: pointer;
    margin-right: 14px;
    color: var(--amarelo-mopar);
    user-select: none;
}

.overlay-sidebar {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 900;
    display: none;
}
.overlay-sidebar.visivel { display: block; }

.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 280px;
    background: #0b121f;
    border-right: 1px solid var(--borda-grid);
    z-index: 950;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 10px 0 40px rgba(0,0,0,0.5);
}
.sidebar.aberta { transform: translateX(0); }

.sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 18px;
    border-bottom: 1px solid var(--borda-grid);
}
.sidebar-titulo { font-weight: 900; letter-spacing: 1px; color: var(--amarelo-mopar); }
.sidebar-fechar { font-size: 24px; cursor: pointer; color: #8da2bb; }

.sidebar-usuario {
    padding: 14px 18px;
    border-bottom: 1px solid var(--borda-grid);
}
.sidebar-usuario-nome { font-weight: 700; color: var(--texto-claro); font-size: 14px; }
.sidebar-usuario-nivel { font-size: 11px; color: var(--amarelo-mopar); margin-top: 2px; font-weight: 700; }

.sidebar-menu {
    list-style: none;
    padding: 10px 0;
    flex: 1;
    overflow-y: auto;
}
.sidebar-menu li {
    padding: 14px 18px;
    font-size: 13px;
    font-weight: 700;
    color: #c5d3e4;
    cursor: pointer;
    border-left: 3px solid transparent;
    transition: background 0.15s;
}
.sidebar-menu li:hover { background: rgba(255,255,255,0.05); }
.sidebar-menu li.ativo {
    background: rgba(255,188,0,0.1);
    border-left-color: var(--amarelo-mopar);
    color: var(--amarelo-mopar);
}
.sidebar-menu li.sidebar-sair {
    margin-top: auto;
    color: #ff949a;
    border-top: 1px solid var(--borda-grid);
}

/* ---- Grupo expansível (TRÁFEGO) ---- */
.menu-grupo { padding: 0 !important; display: block; }
.menu-grupo-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 18px; }
.menu-grupo.ativo { background: rgba(255,188,0,0.1); border-left-color: var(--amarelo-mopar); }
.menu-grupo.ativo .menu-grupo-head { color: var(--amarelo-mopar); }
.menu-grupo-seta { font-size: 11px; transition: transform 0.2s; opacity: .8; }
.menu-grupo.expandido .menu-grupo-seta { transform: rotate(90deg); }
.menu-sub { list-style: none; margin: 0; padding: 0; max-height: 0; overflow: hidden; transition: max-height 0.25s ease; background: rgba(0,0,0,0.18); }
.menu-sub.aberto { max-height: 320px; }
.menu-sub li {
    padding: 12px 18px 12px 30px; font-size: 12px; font-weight: 700; color: #a9bacf;
    cursor: pointer; border-left: 3px solid transparent; transition: background 0.15s, color 0.15s;
}
.menu-sub li:hover { background: rgba(255,255,255,0.05); color: #dfe8f2; }
.menu-sub li.ativo { background: rgba(255,188,0,0.12); border-left-color: var(--amarelo-mopar); color: var(--amarelo-mopar); }

/* Painel "em construção" das áreas ainda não feitas */
.trafego-em-breve { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 10px; color: #8da2bb; padding: 40px 20px; }
.trafego-em-breve .teb-icone { font-size: 54px; opacity: .55; }
.trafego-em-breve h2 { font-size: 22px; color: #eef5fc; font-weight: 800; }
.trafego-em-breve p { font-size: 13px; color: #8da2bb; line-height: 1.6; max-width: 420px; }

/* ==========================================================================
   RELATÓRIOS / CONFIGURAÇÕES / PERFIL
   ========================================================================== */
.container-relatorios {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
.relatorio-fixo-topo {
    flex-shrink: 0;
    padding: 20px 20px 12px;
}
.relatorio-scroll-area {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0 20px 20px;
}
.container-config {
    padding: 20px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}
.relatorio-filtros {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}
.relatorio-filtros select {
    background: var(--cinza-card);
    color: white;
    border: 1px solid var(--borda-grid);
    border-radius: 6px;
    padding: 8px 12px;
}
.relatorio-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}
.relatorio-cards .card-contador {
    background: var(--cinza-card);
    border: 1px solid var(--borda-grid);
    border-radius: 8px;
    padding: 16px 0;
}
.tabela-relatorio {
    width: 100%;
    border-collapse: collapse;
    background: var(--cinza-card);
    border: 1px solid var(--borda-grid);
    border-radius: 8px;
    overflow: hidden;
}
.tabela-relatorio th, .tabela-relatorio td {
    padding: 10px 14px;
    text-align: left;
    border-bottom: 1px solid var(--borda-grid);
    font-size: 13px;
}
.tabela-relatorio th { color: #8da2bb; background: #0b1523; }

.aviso-bloqueado {
    background: #421c20;
    color: #ff949a;
    padding: 16px;
    border-radius: 8px;
    font-weight: 700;
    text-align: center;
}
.config-secao {
    background: var(--cinza-card);
    border: 1px solid var(--borda-grid);
    border-radius: 8px;
    padding: 18px;
    margin-bottom: 18px;
}
.config-secao h2 { font-size: 15px; margin-bottom: 14px; color: var(--amarelo-mopar); }
.config-secao label {
    display: block;
    font-size: 10px;
    font-weight: 800;
    color: #8da2bb;
    margin: 10px 0 4px;
}
.config-secao input[type="text"],
.config-secao input[type="password"] {
    width: 100%;
    max-width: 320px;
    background: rgba(0,0,0,0.4);
    border: 1px solid var(--borda-grid);
    border-radius: 6px;
    padding: 8px 10px;
    color: white;
}
.config-secao button {
    margin-top: 12px;
    background: var(--amarelo-mopar);
    color: #0b121f;
    border: none;
    padding: 9px 16px;
    border-radius: 6px;
    font-weight: 800;
    cursor: pointer;
    font-size: 12px;
}
.config-linha-add { display: flex; gap: 8px; margin-bottom: 12px; }
.config-linha-add input { flex: 1; }
.config-linha-add button { margin-top: 0; }
.config-lista { list-style: none; max-height: 220px; overflow-y: auto; }
.config-lista li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    border-bottom: 1px solid var(--borda-grid);
    font-size: 13px;
}
.config-lista-vazia { color: #5a6b82; text-align: center; padding: 12px 0; }
.btn-remover-item {
    background: transparent;
    border: none;
    color: #ff949a;
    cursor: pointer;
    font-size: 15px;
}
.config-cores-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 14px;
    margin-bottom: 10px;
}
.config-cores-grid input[type="color"] {
    width: 100%;
    height: 38px;
    border: 1px solid var(--borda-grid);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
}

/* Responsivo adicional para as novas telas */
@media (max-width: 768px) {
    .relatorio-cards { grid-template-columns: 1fr; }
    .sidebar { width: 85%; }
    .auth-card { padding: 22px 18px; }
}

/* ==========================================================================
   ÚLTIMA EDIÇÃO (rastreio de quem mexeu por último no processo)
   ========================================================================== */
.celula-ultima-edicao {
    text-align: center;
    font-size: 11px;
    color: #8da2bb;
    min-width: 120px;
}
.badge-ultima-edicao {
    display: inline-block;
    background: rgba(255, 188, 0, 0.12);
    color: var(--amarelo-mopar);
    border: 1px solid rgba(255, 188, 0, 0.35);
    border-radius: 10px;
    padding: 2px 8px;
    font-weight: 700;
    font-size: 11px;
}

/* ==========================================================================
   FILTROS DE RELATÓRIO E TEXTO DE AJUDA NO PERFIL
   ========================================================================== */
.relatorio-filtros {
    flex-wrap: wrap;
    align-items: flex-end;
}
.relatorio-filtros label {
    display: block;
    font-size: 10px;
    font-weight: 800;
    color: #8da2bb;
    margin-bottom: 4px;
}
.relatorio-filtros select,
.relatorio-busca input {
    background: var(--cinza-card);
    color: white;
    border: 1px solid var(--borda-grid);
    border-radius: 6px;
    padding: 8px 12px;
}
.relatorio-busca input { min-width: 240px; }
.btn-filtrar-relatorio,
.btn-exportar-csv {
    width: auto;
    margin-top: 0;
    padding: 9px 16px;
    font-size: 12px;
}
.btn-exportar-csv { background: #2eb85c; color: white; }
.config-texto-ajuda {
    font-size: 12px;
    color: #8da2bb;
    margin-bottom: 4px;
}

/* ==========================================================================
   DASHBOARD DE RELATÓRIOS: KPIs EXPANDIDOS E GRÁFICOS
   ========================================================================== */
.relatorio-cards-kpi {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.relatorio-cards-kpi .card-contador {
    background: var(--cinza-card);
    border: 1px solid var(--borda-grid);
    border-radius: 8px;
    padding: 14px 6px;
}
.dash-graficos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 460px));
    justify-content: center;
    gap: 18px;
    margin: 20px 0;
}
.dash-grafico-card {
    background: var(--cinza-card);
    border: 1px solid var(--borda-grid);
    border-radius: 8px;
    padding: 16px;
    height: 360px;
    display: flex;
    flex-direction: column;
}
.dash-grafico-card h3 {
    font-size: 13px;
    color: var(--amarelo-mopar);
    margin-bottom: 10px;
    font-weight: 700;
    flex: 0 0 auto;
}
.grafico-canvas-wrap {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
}
.grafico-canvas-wrap canvas {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
}

@media (max-width: 900px) {
    .dash-graficos-grid { grid-template-columns: 1fr; }
    .dash-grafico-card { height: 280px; }
}

/* Comparativo mês a mês */
.comparativo-mes {
    max-width: 1600px;
    margin: 0 auto 18px;
    background: var(--cinza-card);
    border: 1px solid var(--borda-grid);
    border-radius: 10px;
    padding: 14px 16px;
}
.cmp-cabecalho { font-size: 12px; color: #cdd9e5; margin-bottom: 12px; }
.cmp-cabecalho strong { color: var(--amarelo-mopar); }
.cmp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.cmp-card {
    background: rgba(255,255,255,.03);
    border: 1px solid var(--borda-grid);
    border-radius: 8px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.cmp-rotulo { font-size: 8px; letter-spacing: 1px; font-weight: 900; color: #7c8fa3; text-transform: uppercase; }
.cmp-valor { font-size: 26px; font-weight: 800; color: #eef5fc; line-height: 1.1; }
.cmp-anterior { font-size: 10px; color: #60768e; }
.cmp-var { font-size: 12px; font-weight: 800; margin-top: 4px; }
.cmp-bom { color: #00d68f; }
.cmp-ruim { color: #ff5c6c; }
.cmp-neutro { color: #7c8fa3; }
@media (max-width: 700px) { .cmp-grid { grid-template-columns: 1fr; } }

/* Tabela de tempo médio por rota */
.tabela-rotas-wrap { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.tabela-rotas { width: 100%; border-collapse: collapse; font-size: 12px; }
.tabela-rotas th {
    position: sticky; top: 0;
    background: var(--cinza-card);
    text-align: left;
    color: #7c8fa3;
    font-size: 8px;
    letter-spacing: .8px;
    text-transform: uppercase;
    padding: 6px 8px;
    border-bottom: 1px solid var(--borda-grid);
}
.tabela-rotas th:nth-child(2), .tabela-rotas th:nth-child(3),
.tabela-rotas td:nth-child(2), .tabela-rotas td:nth-child(3) { text-align: right; white-space: nowrap; }
.tabela-rotas td { padding: 6px 8px; border-bottom: 1px solid rgba(255,255,255,.04); color: #cdd9e5; }
.tabela-rotas td:first-child { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tabela-rotas tr.rota-lenta td:nth-child(3) { color: var(--amarelo-mopar); font-weight: 700; }

/* ==========================================================================
   CHAT GLOBAL (passagem de plantão)
   ========================================================================== */
.chat-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 14px;
    gap: 10px;
    min-height: 0;
}
.chat-corpo {
    flex: 1;
    overflow-y: auto;
    background: #0b141a;
    border: 1px solid var(--borda-grid);
    border-radius: 8px;
    padding: 14px;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.chat-mensagem {
    max-width: 78%;
    align-self: flex-start;
    background: #202c33;
    border-radius: 10px 10px 10px 2px;
    padding: 7px 10px 6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.4);
    position: relative;
}
.chat-mensagem-propria {
    align-self: flex-end;
    background: #025c4c;
    border-radius: 10px 10px 2px 10px;
}
.chat-mensagem-autor {
    font-size: 11.5px;
    font-weight: 800;
    color: #ffbc00;
    margin-bottom: 3px;
}
.chat-mensagem-propria .chat-mensagem-autor { color: #6be3c9; }
.chat-mensagem-texto {
    font-size: 14.5px;
    color: #e9edef;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 1.35;
}
.chat-mensagem-apagada {
    font-style: italic;
    color: #8696a0;
    font-size: 13px;
}
.chat-mensagem-rodape {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 2px;
}
.chat-mensagem-hora {
    font-size: 10px;
    color: rgba(233,237,239,0.5);
}
.chat-btn-apagar {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 11px;
    opacity: 0.55;
    padding: 0;
    line-height: 1;
}
.chat-btn-apagar:hover { opacity: 1; }
.chat-caixa-envio {
    display: flex;
    gap: 10px;
    align-items: flex-end;
    flex-shrink: 0;
}
.chat-caixa-envio textarea {
    flex: 1;
    resize: none;
    background: #202c33;
    border: 1px solid var(--borda-grid);
    border-radius: 22px;
    padding: 11px 18px;
    color: white;
    font-size: 14px;
    max-height: 120px;
    font-family: inherit;
}
.chat-caixa-envio button {
    background: #00a884;
    color: white;
    border: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-weight: 800;
    cursor: pointer;
    font-size: 0;
    flex-shrink: 0;
    position: relative;
}
.chat-caixa-envio button::after {
    content: "➤";
    font-size: 17px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-48%, -50%);
}
.chat-caixa-envio button:hover { background: #06cf9c; }

/* Badge de notificação na sidebar */
.sidebar-menu li { position: relative; }
.badge-notificacao {
    display: inline-block;
    background: #ff4c5e;
    color: white;
    border-radius: 10px;
    width: 9px;
    height: 9px;
    margin-left: 6px;
    box-shadow: 0 0 0 2px #0b121f;
    animation: pulso-notificacao 1.4s infinite;
}
@keyframes pulso-notificacao {
    0% { box-shadow: 0 0 0 0 rgba(255,76,94,0.5); }
    70% { box-shadow: 0 0 0 6px rgba(255,76,94,0); }
    100% { box-shadow: 0 0 0 0 rgba(255,76,94,0); }
}

@media (max-width: 600px) {
    .chat-mensagem { max-width: 92%; }
}

/* Indicador de "pronto, aguardando aprovação" (corrige a divergência de tempo médio) */
.badge-aguardando-aprovacao {
    display: inline-block;
    font-size: 15px;
    cursor: help;
    animation: pulso-aguardando 1.6s infinite;
}
@keyframes pulso-aguardando {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

/* Barra de busca no topo do chat */
.chat-busca-container {
    flex-shrink: 0;
}
.chat-busca-container input {
    width: 100%;
    background: rgba(0,0,0,0.4);
    border: 1px solid var(--borda-grid);
    border-radius: 8px;
    padding: 10px 14px;
    color: white;
    font-size: 13px;
    outline: none;
}
.tag-nivel-master {
    font-size: 11px;
}

/* ==========================================================================
   FICHA DO COLABORADOR (relatório por usuário)
   ========================================================================== */
.ficha-colaborador {
    background: linear-gradient(135deg, #14233a, #0f1c2e);
    border: 1px solid rgba(255,188,0,0.35);
    border-radius: 10px;
    padding: 18px;
    margin-bottom: 20px;
}
.ficha-colaborador h3 {
    color: var(--amarelo-mopar);
    font-size: 15px;
    margin-bottom: 14px;
}
.ficha-colaborador-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
}
.ficha-item {
    background: rgba(0,0,0,0.25);
    border: 1px solid var(--borda-grid);
    border-radius: 8px;
    padding: 10px 12px;
    text-align: center;
}
.ficha-item span {
    display: block;
    font-size: 9.5px;
    font-weight: 800;
    color: #8da2bb;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}
.ficha-item b {
    font-size: 17px;
    color: #72f291;
}

.relatorio-carregando {
    color: var(--amarelo-mopar);
    font-size: 12px;
    font-weight: 700;
    align-self: center;
}

/* Coluna "Criado por" (antes ficava em branco) */
.celula-criado-por {
    text-align: center;
    font-size: 11px;
    white-space: nowrap;
    min-width: 90px;
}
.badge-criado-por {
    display: inline-block;
    background: rgba(76, 199, 251, 0.12);
    color: #4cc7fb;
    border: 1px solid rgba(76, 199, 251, 0.3);
    border-radius: 10px;
    padding: 2px 8px;
    font-weight: 700;
    font-size: 10.5px;
}

.chat-carregando {
    color: #8696a0;
    font-size: 13px;
    text-align: center;
    padding: 20px;
    font-style: italic;
}

/* Mensagem automática do bot de processo parado */
.chat-mensagem-sistema {
    align-self: center;
    max-width: 90%;
    background: rgba(255, 188, 0, 0.1);
    border: 1px dashed rgba(255, 188, 0, 0.4);
    border-radius: 8px;
    padding: 8px 14px;
    font-size: 12.5px;
    color: #ffd873;
    text-align: center;
}
.chat-mensagem-sistema-hora {
    display: block;
    font-size: 10px;
    color: rgba(255, 216, 115, 0.6);
    margin-top: 3px;
}

/* ==========================================================================
   HISTÓRICO DE ALTERAÇÕES (log completo por processo)
   ========================================================================== */
.historico-toggle {
    float: right;
    font-size: 10px;
    color: var(--amarelo-mopar);
    cursor: pointer;
    text-transform: none;
    letter-spacing: 0;
}
.historico-lista {
    max-height: 220px;
    overflow-y: auto;
    background: rgba(0,0,0,0.25);
    border: 1px solid var(--borda-grid);
    border-radius: 6px;
    padding: 8px 10px;
    margin-bottom: 10px;
}
.historico-item {
    padding: 6px 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    font-size: 11.5px;
}
.historico-item:last-child { border-bottom: none; }
.historico-campo {
    display: block;
    color: var(--amarelo-mopar);
    font-weight: 800;
    font-size: 10px;
    letter-spacing: 0.5px;
}
.historico-mudanca {
    display: block;
    color: #e1e1e6;
    margin: 2px 0;
}
.historico-meta {
    display: block;
    color: #5a6b82;
    font-size: 10px;
}
.historico-vazio {
    color: #5a6b82;
    font-size: 12px;
    text-align: center;
    padding: 10px 0;
}

/* ==========================================================================
   MODO TV (tela cheia para monitor da operação)
   ========================================================================== */
.view-tv {
    background: #05070d;
    padding: 24px 32px;
}
.tv-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    flex-shrink: 0;
}
.tv-titulo {
    font-size: 28px;
    font-weight: 900;
    color: white;
    letter-spacing: 1px;
    text-align: center;
    flex: 1;
}
.tv-btn-sair {
    background: rgba(255,255,255,0.08);
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    color: #ff949a;
}
.tv-relogio {
    font-size: 22px;
    font-weight: 800;
    color: var(--amarelo-mopar);
    font-variant-numeric: tabular-nums;
}
.tv-kpis {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-bottom: 24px;
    flex-shrink: 0;
}
.tv-kpi {
    background: var(--cinza-card);
    border: 1px solid var(--borda-grid);
    border-radius: 10px;
    padding: 18px;
    text-align: center;
}
.tv-kpi-label {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: #8da2bb;
    letter-spacing: 1px;
    margin-bottom: 8px;
}
.tv-kpi-valor {
    display: block;
    font-size: 42px;
    font-weight: 900;
    color: white;
}
.tv-kpi-verde { color: #72f291; }
.tv-kpi-vermelho { color: #ff949a; }
.tv-graficos {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    min-height: 0;
}
.tv-grafico-card {
    background: var(--cinza-card);
    border: 1px solid var(--borda-grid);
    border-radius: 10px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.tv-grafico-card h3 {
    color: var(--amarelo-mopar);
    font-size: 18px;
    margin-bottom: 12px;
    flex-shrink: 0;
}
.tv-rodape {
    text-align: center;
    color: #5a6b82;
    font-size: 12px;
    margin-top: 16px;
    flex-shrink: 0;
}
@media (max-width: 1100px) {
    .tv-kpis { grid-template-columns: repeat(2, 1fr); }
    .tv-graficos { grid-template-columns: 1fr; }
}

/* Indicador flutuante do Modo TV (aparece em cima de Emissão/Relatórios enquanto ativo) */
.indicador-modo-tv {
    position: fixed;
    top: 10px;
    right: 16px;
    z-index: 999;
    background: rgba(255, 188, 0, 0.95);
    color: #0b121f;
    font-weight: 800;
    font-size: 12px;
    padding: 8px 14px;
    border-radius: 20px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,0.4);
    animation: pulso-notificacao 2s infinite;
}

/* Edição inline de usuários (Configurações) */
.linha-usuario-editando input {
    width: 100%;
    background: rgba(0,0,0,0.4);
    border: 1px solid var(--amarelo-mopar);
    border-radius: 4px;
    padding: 5px 8px;
    color: white;
    font-size: 12px;
}
.acoes-usuario {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.acoes-usuario button { white-space: nowrap; }

/* ==========================================================================
   TOAST DE NOTIFICAÇÃO DO CHAT (prévia lateral, some sozinha em 3s)
   ========================================================================== */
.chat-toast-container {
    position: fixed;
    top: 70px;
    right: 16px;
    z-index: 998;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 300px;
    pointer-events: none;
}
.chat-toast {
    background: #182533;
    border: 1px solid var(--borda-grid);
    border-left: 4px solid var(--amarelo-mopar);
    border-radius: 8px;
    padding: 10px 14px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.5);
    cursor: pointer;
    pointer-events: auto;
    animation: chat-toast-entrar 0.3s ease-out;
}
.chat-toast-saindo {
    animation: chat-toast-sair 0.3s ease-in forwards;
}
.chat-toast-autor {
    font-size: 11.5px;
    font-weight: 800;
    color: var(--amarelo-mopar);
    margin-bottom: 3px;
}
.chat-toast-texto {
    font-size: 12.5px;
    color: #e1e1e6;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
@keyframes chat-toast-entrar {
    from { transform: translateX(120%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
@keyframes chat-toast-sair {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(120%); opacity: 0; }
}
@media (max-width: 480px) {
    .chat-toast-container { left: 12px; right: 12px; max-width: none; }
}

/* ==========================================================================
   RELATÓRIOS OPERACIONAIS 2.0
   ========================================================================== */
#view-relatorios {
    background:
        radial-gradient(circle at 6% 0, rgba(31, 93, 160, 0.13), transparent 30%),
        #09111d;
}

#view-relatorios .relatorio-topo { box-shadow: 0 12px 32px rgba(0,0,0,0.28); }
#view-relatorios .relatorio-topo-controle {
    min-height: 74px;
    justify-content: flex-start;
    padding: 12px 22px 12px 66px;
    position: relative;
    background: linear-gradient(100deg, rgba(7,28,51,0.98), rgba(13,46,79,0.97));
    border-bottom: 1px solid #28435f;
}

#view-relatorios .relatorio-topo-controle .btn-hamburguer {
    position: absolute;
    left: 18px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 9px;
    background: rgba(255,255,255,0.05);
}

.relatorio-identidade { display: flex; flex-direction: column; align-items: flex-start; }
.relatorio-kicker { color: #8a7cff; font-size: 8px; line-height: 1; font-weight: 900; letter-spacing: 1.7px; }
.relatorio-identidade h1 { margin-top: 4px; color: #fff; font-size: 21px; line-height: 23px; letter-spacing: 0.8px; }
.relatorio-identidade p { margin-top: 3px; color: #8ea5bf; font-size: 10px; font-weight: 600; }

.relatorio-atualizacao {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid #2d4763;
    border-radius: 10px;
    background: rgba(255,255,255,0.035);
}

.relatorio-atualizacao > span { width: 8px; height: 8px; border-radius: 50%; background: #8a7cff; box-shadow: 0 0 10px rgba(138,124,255,0.6); }
.relatorio-atualizacao > div { display: flex; flex-direction: column; }
.relatorio-atualizacao small { color: #647b95; font-size: 6px; font-weight: 900; letter-spacing: 0.8px; }
.relatorio-atualizacao strong { margin-top: 2px; color: #b7c9db; font-size: 8px; }

#view-relatorios .container-relatorios { background: transparent; }
#view-relatorios .relatorio-fixo-topo { padding: 12px 16px 9px; background: #0a1523; border-bottom: 1px solid #21354b; }

.relatorio-filtros-card {
    max-width: 1800px;
    margin: 0 auto 9px;
    overflow: hidden;
    border: 1px solid #293e57;
    border-radius: 12px;
    background: #101e30;
}

.relatorio-filtros-titulo {
    min-height: 44px;
    padding: 7px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #293e57;
    background: linear-gradient(90deg, #13263c, #101f31);
}

.relatorio-filtros-titulo > div:first-child { display: flex; align-items: center; gap: 8px; }
.relatorio-filtros-titulo > div:first-child > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; background: rgba(138,124,255,0.09); color: #a49aff; font-size: 18px; }
.relatorio-filtros-titulo > div:first-child > div { display: flex; flex-direction: column; }
.relatorio-filtros-titulo small { color: #647b94; font-size: 6px; font-weight: 900; letter-spacing: 0.9px; }
.relatorio-filtros-titulo strong { margin-top: 2px; color: #e8f0f9; font-size: 10px; }

.relatorio-periodos-rapidos { display: flex; gap: 4px; }
.relatorio-periodos-rapidos button {
    height: 27px;
    padding: 0 9px;
    border: 1px solid #304760;
    border-radius: 7px;
    background: #122338;
    color: #7288a1;
    cursor: pointer;
    font-size: 6px;
    font-weight: 900;
    letter-spacing: 0.5px;
    transition: 0.15s ease;
}

.relatorio-periodos-rapidos button:hover { color: #dcecff; border-color: #486b91; }
.relatorio-periodos-rapidos button.ativo { color: #c8c1ff; border-color: rgba(138,124,255,0.45); background: rgba(138,124,255,0.1); }

#view-relatorios .relatorio-filtros {
    min-height: 58px;
    margin: 0;
    padding: 7px 10px;
    display: grid;
    grid-template-columns: 140px 18px 140px minmax(200px, 1fr) minmax(150px, 210px) 108px 118px auto;
    gap: 7px;
    align-items: center;
}

.relatorio-campo { min-width: 0; }
#view-relatorios .relatorio-filtros label { margin: 0 0 3px; color: #667c95; font-size: 6px; letter-spacing: 0.7px; }
#view-relatorios .relatorio-filtros select,
#view-relatorios .relatorio-busca > div {
    width: 100%;
    height: 34px;
    border: 1px solid #2b425c;
    border-radius: 8px;
    background: #0c1928;
}

#view-relatorios .relatorio-filtros select { padding: 0 9px; color: #d8e5f2; outline: 0; font-size: 9px; font-weight: 750; }
#view-relatorios .relatorio-filtros select option { color: white; background: #101e30; }
.relatorio-periodo-seta { padding-top: 11px; color: #4d6680; text-align: center; font-size: 14px; }
#view-relatorios .relatorio-busca > div { display: flex; align-items: center; gap: 5px; padding: 0 8px; }
#view-relatorios .relatorio-busca > div > span { color: #65c4ec; font-size: 17px; transform: rotate(-12deg); }
#view-relatorios .relatorio-busca input { width: 100%; min-width: 0; padding: 0; border: 0; background: transparent; color: #e7f0fa; outline: 0; font-size: 9px; }

#view-relatorios .btn-filtrar-relatorio,
#view-relatorios .btn-exportar-csv {
    height: 34px;
    margin: 11px 0 0;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border-radius: 8px;
    font-size: 7px;
    font-weight: 900;
    letter-spacing: 0.45px;
}

#view-relatorios .btn-filtrar-relatorio { border: 1px solid #3473a0; background: linear-gradient(135deg, #1c6090, #2376a9); }
#view-relatorios .btn-exportar-csv { border: 1px solid rgba(52,211,153,0.3); background: linear-gradient(135deg, #147b4d, #1d9b63); }
#view-relatorios .btn-filtrar-relatorio span,
#view-relatorios .btn-exportar-csv span { font-size: 13px; font-weight: 500; }

#view-relatorios .relatorio-carregando { margin-top: 11px; display: flex; align-items: center; gap: 5px; color: #82a0bc; font-size: 7px; white-space: nowrap; }
#view-relatorios .relatorio-carregando i { width: 8px; height: 8px; border: 1px solid #385a79; border-top-color: #66c9f1; border-radius: 50%; animation: relatorio-girar 0.7s linear infinite; }
@keyframes relatorio-girar { to { transform: rotate(360deg); } }

#view-relatorios .relatorio-cards-kpi {
    max-width: 1800px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    gap: 8px;
}

#view-relatorios .relatorio-cards-kpi .card-contador {
    min-height: 60px;
    padding: 8px 10px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 9px;
    border: 1px solid #283e57;
    border-radius: 10px;
    background: linear-gradient(145deg, #122238, #0f1d2f);
}

.rel-kpi-icone { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; border-radius: 9px; background: rgba(76,199,251,0.08); color: #69c9f1; font-size: 15px; font-weight: 900; }
#view-relatorios .relatorio-cards-kpi .card-contador > div { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
#view-relatorios .relatorio-cards-kpi .label-contador { color: #6e849d; font-size: 6px; letter-spacing: 0.6px; }
#view-relatorios .relatorio-cards-kpi .num-contador { margin: 1px 0 0; color: #f2f7fc; font-size: 18px; line-height: 19px; }
#view-relatorios .relatorio-cards-kpi small { color: #536980; font-size: 6px; }
#view-relatorios .card-contador.concluidos { border-color: rgba(52,211,153,0.22); }
#view-relatorios .card-contador.concluidos .rel-kpi-icone { background: rgba(52,211,153,0.09); color: #69dda9; }
#view-relatorios .card-contador.concluidos .num-contador { color: #74e5b3; }
#view-relatorios .card-contador.pendentes { border-color: rgba(247,90,104,0.2); }
#view-relatorios .card-contador.pendentes .rel-kpi-icone { background: rgba(247,90,104,0.09); color: #ff929c; }
#view-relatorios .card-contador.pendentes .num-contador { color: #ff959e; }
#view-relatorios .card-contador.tempo .rel-kpi-icone { background: rgba(255,188,0,0.08); color: #ffd056; }
#view-relatorios .card-contador.media .rel-kpi-icone { background: rgba(138,124,255,0.09); color: #afa7ff; }

#view-relatorios .relatorio-scroll-area { padding: 15px 16px 22px; background: transparent; }
.relatorio-secao-titulo { max-width: 1600px; margin: 0 auto 10px; display: flex; align-items: flex-end; justify-content: space-between; }
.relatorio-secao-titulo span { color: #8a7cff; font-size: 7px; font-weight: 900; letter-spacing: 1.3px; }
.relatorio-secao-titulo h2 { margin-top: 2px; color: #eef5fc; font-size: 16px; }
.relatorio-secao-titulo > small { color: #60768e; font-size: 8px; }

#view-relatorios .dash-graficos-grid {
    max-width: 1600px;
    margin: 0 auto 15px;
    grid-template-columns: repeat(2, minmax(340px, 1fr));
    gap: 12px;
}

#view-relatorios .dash-grafico-card {
    height: 330px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #283e57;
    border-radius: 12px;
    background: linear-gradient(145deg, #111f31, #0e1a2a);
    box-shadow: 0 12px 28px rgba(0,0,0,0.17);
}

#view-relatorios .dash-grafico-card h3 {
    min-height: 46px;
    margin: 0;
    padding: 0 14px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #293e56;
    background: linear-gradient(90deg, #13253a, #101e30);
    color: #c7d7e7;
    font-size: 9px;
    letter-spacing: 0.2px;
}

#view-relatorios .dash-grafico-card h3::before { content: '◈'; margin-right: 7px; color: #6cc8ee; font-size: 11px; }
#view-relatorios .dash-grafico-card:nth-child(4) h3::before,
#view-relatorios .dash-grafico-card:nth-child(5) h3::before { color: #ffca38; }
#view-relatorios .grafico-canvas-wrap { margin: 10px 12px 12px; width: calc(100% - 24px); }

.relatorio-tabela-card {
    max-width: 1600px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #293e57;
    border-radius: 12px;
    background: #101d2d;
}

.relatorio-tabela-titulo { min-height: 52px; padding: 9px 13px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #293e57; background: linear-gradient(90deg, #13253a, #101e30); }
.relatorio-tabela-titulo > div { display: flex; flex-direction: column; }
.relatorio-tabela-titulo span { color: #6bc5eb; font-size: 6px; font-weight: 900; letter-spacing: 1px; }
.relatorio-tabela-titulo strong { margin-top: 2px; color: #e9f1fa; font-size: 11px; }
.relatorio-tabela-titulo > small { color: #60768e; font-size: 7px; }
#view-relatorios .relatorio-tabela-card .tabela-relatorio { border: 0; border-radius: 0; background: #0e1a29; }
#view-relatorios .relatorio-tabela-card .tabela-relatorio th { padding: 10px; background: #0b1726; color: #71869e; font-size: 7px; letter-spacing: 0.5px; }
#view-relatorios .relatorio-tabela-card .tabela-relatorio td { padding: 10px; border-top: 1px solid #23364c; color: #b9c9da; font-size: 9px; }

#view-relatorios .ficha-colaborador { max-width: 1800px; margin: 9px auto 0; padding: 12px; border-radius: 11px; background: linear-gradient(135deg, #13263c, #101e30); }
#view-relatorios .ficha-colaborador h3 { margin-bottom: 9px; font-size: 11px; }
#view-relatorios .ficha-colaborador-grid { grid-template-columns: repeat(9, minmax(90px, 1fr)); gap: 6px; }
#view-relatorios .ficha-item { padding: 7px; border-radius: 8px; }
#view-relatorios .ficha-item span { font-size: 6px; }
#view-relatorios .ficha-item b { font-size: 13px; }

@media (max-width: 1250px) {
    #view-relatorios .relatorio-filtros { grid-template-columns: 130px 16px 130px minmax(180px,1fr) 160px 100px 110px; }
    #view-relatorios .relatorio-carregando { display: none !important; }
    #view-relatorios .relatorio-cards-kpi { display: flex; overflow-x: auto; }
    #view-relatorios .relatorio-cards-kpi .card-contador { min-width: 170px; }
    #view-relatorios .ficha-colaborador-grid { grid-template-columns: repeat(5, minmax(100px,1fr)); }
}

@media (max-width: 900px) {
    #view-relatorios .container-relatorios { overflow-y: auto; }
    #view-relatorios .relatorio-fixo-topo { flex-shrink: 0; }
    #view-relatorios .relatorio-scroll-area { overflow: visible; flex: none; }
    #view-relatorios .relatorio-filtros { grid-template-columns: 1fr 18px 1fr; }
    #view-relatorios .relatorio-busca,
    #view-relatorios .relatorio-campo.colaborador { grid-column: span 3; }
    #view-relatorios .btn-filtrar-relatorio,
    #view-relatorios .btn-exportar-csv { grid-column: span 1; margin-top: 0; }
    #view-relatorios .dash-graficos-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    #view-relatorios .relatorio-topo-controle { min-height: 64px; padding-left: 60px; }
    .relatorio-identidade h1 { font-size: 16px; }
    .relatorio-identidade p { display: none; }
    .relatorio-atualizacao { display: none; }
    #view-relatorios .relatorio-fixo-topo { padding: 9px; }
    .relatorio-filtros-titulo { align-items: flex-start; gap: 7px; flex-direction: column; }
    .relatorio-periodos-rapidos { width: 100%; }
    .relatorio-periodos-rapidos button { flex: 1; padding: 0 4px; }
    #view-relatorios .relatorio-filtros { grid-template-columns: 1fr; }
    .relatorio-periodo-seta { display: none; }
    #view-relatorios .relatorio-busca,
    #view-relatorios .relatorio-campo.colaborador,
    #view-relatorios .btn-filtrar-relatorio,
    #view-relatorios .btn-exportar-csv { grid-column: auto; }
    .relatorio-secao-titulo > small { display: none; }
    #view-relatorios .dash-grafico-card { height: 285px; }
}

/* ==========================================================================
   CHAT GLOBAL 2.0
   ========================================================================== */
#view-chat {
    background:
        radial-gradient(circle at 8% 0, rgba(31, 93, 160, 0.13), transparent 30%),
        #09111d;
}

#view-chat .chat-topo { box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28); }
#view-chat .chat-topo-controle {
    min-height: 74px;
    justify-content: flex-start;
    padding: 12px 22px 12px 66px;
    position: relative;
    background: linear-gradient(100deg, rgba(7, 28, 51, 0.98), rgba(13, 46, 79, 0.97));
    border-bottom: 1px solid #28435f;
}

#view-chat .chat-topo-controle .btn-hamburguer {
    position: absolute;
    left: 18px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 9px;
    background: rgba(255,255,255,0.05);
}

.chat-identidade { display: flex; flex-direction: column; align-items: flex-start; }
.chat-kicker { color: #61c9f5; font-size: 8px; line-height: 1; font-weight: 900; letter-spacing: 1.7px; }
.chat-identidade h1 { margin-top: 4px; color: #fff; font-size: 21px; line-height: 23px; letter-spacing: 1px; }
.chat-identidade p { margin-top: 3px; color: #8ea5bf; font-size: 10px; font-weight: 600; }

.chat-conexao-status {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(52,211,153,0.2);
    border-radius: 20px;
    background: rgba(52,211,153,0.06);
    color: #75e3b2;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.7px;
}

.chat-conexao-status span { width: 7px; height: 7px; border-radius: 50%; background: #3cdb94; box-shadow: 0 0 10px rgba(60,219,148,0.75); }
.chat-conexao-status.offline { color: #ffbd73; border-color: rgba(251,169,76,0.24); background: rgba(251,169,76,0.06); }
.chat-conexao-status.offline span { background: #fba94c; box-shadow: none; }

#view-chat .chat-container {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 16px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 275px;
    gap: 13px;
}

.chat-painel-principal {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #273c55;
    border-radius: 14px;
    background: #0d1928;
    box-shadow: 0 15px 34px rgba(0,0,0,0.22);
}

.chat-canal-header {
    min-height: 64px;
    padding: 9px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    border-bottom: 1px solid #283d55;
    background: linear-gradient(90deg, #12243a, #101e30);
}

.chat-canal-avatar {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: grid;
    place-items: center;
    border: 1px solid #376284;
    border-radius: 12px;
    background: linear-gradient(145deg, #1c5680, #173a5d);
    color: #d8f1ff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.5px;
}

.chat-canal-info { display: flex; flex-direction: column; min-width: 125px; }
.chat-canal-info strong { color: #eef6ff; font-size: 11px; }
.chat-canal-info span { margin-top: 3px; display: flex; align-items: center; gap: 5px; color: #71869e; font-size: 8px; }
.chat-canal-info i { width: 5px; height: 5px; border-radius: 50%; background: #42d99a; }

#view-chat .chat-busca-container {
    width: min(380px, 43%);
    min-height: 38px;
    margin-left: auto;
    padding: 6px 10px;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 5px;
    border: 1px solid #2c425c;
    border-radius: 9px;
    background: #0c1827;
}

#view-chat .chat-busca-container > span { color: #6fc9f1; font-size: 18px; transform: rotate(-12deg); }
#view-chat .chat-busca-container input { min-width: 0; padding: 2px; border: 0; border-radius: 0; background: transparent; color: #eaf3fd; font-size: 10px; }
#view-chat .chat-busca-container small { color: #617790; font-size: 7px; white-space: nowrap; }

#view-chat .chat-corpo {
    padding: 18px max(18px, 5%);
    gap: 9px;
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 1px 1px, rgba(116, 143, 172, 0.055) 1px, transparent 0) 0 0 / 18px 18px,
        #0b1624;
    scroll-behavior: smooth;
}

#view-chat .chat-mensagem {
    width: fit-content;
    max-width: min(78%, 720px);
    padding: 0;
    display: flex;
    align-items: flex-end;
    gap: 7px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#view-chat .chat-mensagem-propria {
    align-self: flex-end;
    flex-direction: row-reverse;
    background: transparent;
}

.chat-avatar {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: grid;
    place-items: center;
    border: 1px solid #36536f;
    border-radius: 9px;
    background: #19344f;
    color: #a9d8f5;
    font-size: 8px;
    font-weight: 900;
}

.chat-mensagem-propria .chat-avatar { border-color: #34765f; background: #174536; color: #9aebc7; }

.chat-bolha {
    min-width: 105px;
    padding: 8px 10px 6px;
    border: 1px solid #2a415b;
    border-radius: 11px 11px 11px 3px;
    background: linear-gradient(145deg, #17283c, #142337);
    box-shadow: 0 5px 14px rgba(0,0,0,0.16);
}

.chat-mensagem-propria .chat-bolha {
    border-color: rgba(53, 170, 126, 0.3);
    border-radius: 11px 11px 3px 11px;
    background: linear-gradient(145deg, #125744, #104b3d);
}

#view-chat .chat-mensagem-autor { display: flex; align-items: center; gap: 5px; color: #66c8f0; font-size: 8px; letter-spacing: 0.15px; }
#view-chat .chat-mensagem-propria .chat-mensagem-autor { color: #8ee7c1; }
#view-chat .tag-nivel-master { padding: 2px 4px; border: 1px solid rgba(255,188,0,0.3); border-radius: 4px; background: rgba(255,188,0,0.08); color: #ffd254; font-size: 5px; letter-spacing: 0.5px; }
#view-chat .chat-mensagem-texto { color: #edf4fb; font-size: 12px; line-height: 1.45; }
#view-chat .chat-mensagem-hora { color: rgba(215,229,242,0.47); font-size: 7px; }
#view-chat .chat-btn-apagar { color: #ff939c; filter: grayscale(1); font-size: 9px; }
#view-chat .chat-mensagem-apagada { color: #8192a4; font-size: 10px; }

.chat-separador-data {
    width: 100%;
    margin: 5px 0 2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.chat-separador-data::before,
.chat-separador-data::after { content: ''; width: min(130px, 16%); height: 1px; background: #25384e; }
.chat-separador-data span { margin: 0 9px; padding: 4px 8px; border: 1px solid #293e56; border-radius: 12px; background: #101e30; color: #71869e; font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.45px; }

#view-chat .chat-mensagem-sistema {
    max-width: min(90%, 760px);
    padding: 8px 13px;
    border: 1px solid rgba(255,188,0,0.23);
    border-radius: 9px;
    background: rgba(255,188,0,0.065);
    color: #dfc576;
    font-size: 10px;
}

#view-chat .chat-mensagem-sistema-hora { font-size: 7px; }

.chat-estado-vazio {
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.chat-estado-vazio > span { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid #293e57; border-radius: 17px; background: #101f31; color: #56738f; font-size: 24px; }
.chat-estado-vazio strong { margin-top: 11px; color: #8ca0b7; font-size: 12px; }
.chat-estado-vazio small { margin-top: 4px; color: #576b81; font-size: 9px; }

#view-chat .chat-caixa-envio {
    min-height: 78px;
    padding: 10px 12px;
    gap: 9px;
    align-items: center;
    border-top: 1px solid #283c54;
    background: #101e2f;
}

.chat-composer {
    flex: 1;
    min-width: 0;
    padding: 7px 11px 5px;
    border: 1px solid #2b425d;
    border-radius: 11px;
    background: #0c1827;
}

#view-chat .chat-caixa-envio textarea {
    width: 100%;
    min-height: 23px;
    padding: 3px 1px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #edf5fd;
    outline: 0;
    font-size: 11px;
    line-height: 1.4;
}

.chat-composer:focus-within { border-color: #3e7198; box-shadow: 0 0 0 2px rgba(76,199,251,0.055); }
.chat-composer-rodape { margin-top: 3px; display: flex; justify-content: space-between; gap: 10px; color: #52677e; font-size: 6px; }
.chat-composer-rodape strong { color: #61778f; font-size: 6px; }
.chat-composer-rodape strong.limite { color: #ff9aa3; }

#view-chat .chat-caixa-envio > button {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(52,211,153,0.3);
    border-radius: 12px;
    background: linear-gradient(145deg, #16815a, #159267);
    box-shadow: 0 6px 16px rgba(21,146,103,0.2);
    font-size: 0;
}

#view-chat .chat-caixa-envio > button::after { display: none; }
#view-chat .chat-caixa-envio > button span { color: white; font-size: 16px; transform: translateX(1px); }
#view-chat .chat-caixa-envio > button:hover { background: linear-gradient(145deg, #18966a, #1aaa78); transform: translateY(-1px); }
#view-chat .chat-caixa-envio > button:disabled { opacity: 0.5; cursor: wait; transform: none; }

.chat-painel-info {
    min-height: 0;
    overflow-y: auto;
    padding: 12px;
    border: 1px solid #273c55;
    border-radius: 14px;
    background: linear-gradient(145deg, #111f31, #0e1a2a);
    box-shadow: 0 15px 34px rgba(0,0,0,0.18);
}

.chat-info-destaque { padding: 8px 5px 15px; border-bottom: 1px solid #263a52; }
.chat-info-destaque > span { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 11px; background: rgba(76,199,251,0.09); font-size: 18px; }
.chat-info-destaque small { display: block; margin-top: 12px; color: #5ebfe9; font-size: 7px; font-weight: 900; letter-spacing: 1.1px; }
.chat-info-destaque strong { display: block; margin-top: 3px; color: #edf5fd; font-size: 13px; }
.chat-info-destaque p { margin-top: 7px; color: #72869d; font-size: 9px; line-height: 1.45; }

.chat-info-metricas { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 12px 0; border-bottom: 1px solid #263a52; }
.chat-info-metricas div { padding: 9px; display: flex; flex-direction: column; border: 1px solid #293e57; border-radius: 9px; background: #0d1928; }
.chat-info-metricas span { color: #f1f7fe; font-size: 18px; font-weight: 900; }
.chat-info-metricas small { margin-top: 2px; color: #60758d; font-size: 6px; font-weight: 900; letter-spacing: 0.7px; }

.chat-ultima-atividade { padding: 12px 2px; display: flex; flex-direction: column; border-bottom: 1px solid #263a52; }
.chat-ultima-atividade small { color: #60758d; font-size: 6px; font-weight: 900; letter-spacing: 0.8px; }
.chat-ultima-atividade strong { margin-top: 4px; color: #9eb1c6; font-size: 8px; line-height: 1.4; }

.chat-info-regras { padding: 13px 2px 4px; display: flex; flex-direction: column; gap: 9px; }
.chat-info-regras > strong { margin-bottom: 2px; color: #dce8f5; font-size: 10px; }
.chat-info-regras > span { display: flex; align-items: center; gap: 7px; color: #71869d; font-size: 8px; line-height: 1.35; }
.chat-info-regras i { width: 18px; height: 18px; flex: 0 0 18px; display: grid; place-items: center; border-radius: 6px; background: #172a40; color: #69c7ee; font-size: 7px; font-style: normal; font-weight: 900; }

@media (max-width: 1000px) {
    #view-chat .chat-container { grid-template-columns: 1fr; }
    .chat-painel-info { display: none; }
}

@media (max-width: 650px) {
    #view-chat .chat-topo-controle { min-height: 64px; padding-left: 60px; }
    .chat-identidade h1 { font-size: 17px; }
    .chat-identidade p { display: none; }
    .chat-conexao-status { padding: 6px 8px; font-size: 7px; }
    #view-chat .chat-container { padding: 9px; }
    .chat-canal-info { min-width: 0; }
    .chat-canal-info span { display: none; }
    #view-chat .chat-busca-container { width: auto; flex: 1; }
    #view-chat .chat-busca-container small { display: none; }
    #view-chat .chat-corpo { padding: 14px 10px; }
    #view-chat .chat-mensagem { max-width: 94%; }
    .chat-avatar { display: none; }
    .chat-composer-rodape span { display: none; }
}

/* Mantém a identidade dos mapas acima das regras genéricas do sistema. */
#view-mapas .mapas-topo { background: radial-gradient(circle at 88% 20%, rgba(34, 172, 210, .13), transparent 30%), linear-gradient(135deg, #071728, #0b2236); }
#view-mapas .mapas-topo-controle { min-height: 82px; padding: 12px 22px; }

@media (max-width: 430px) {
    .chat-conexao-status { display: none; }
    .chat-canal-avatar { width: 34px; height: 34px; flex-basis: 34px; }
    .chat-canal-info strong { font-size: 9px; }
    #view-chat .chat-busca-container { grid-template-columns: 20px 1fr; }
}

/* ==========================================================================
   ESCALA DE FOLGAS
   ========================================================================== */
#view-escala {
    background:
        radial-gradient(circle at 12% 0%, rgba(37, 99, 235, 0.12), transparent 34%),
        radial-gradient(circle at 90% 16%, rgba(255, 188, 0, 0.06), transparent 26%),
        #0b111e;
}

.escala-topo {
    flex-shrink: 0;
    z-index: 10;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.28);
}

.escala-topo-titulo {
    justify-content: flex-start;
    min-height: 76px;
    padding-left: 64px;
    position: relative;
}

.escala-topo-titulo .btn-hamburguer {
    position: absolute;
    left: 18px;
}

.escala-topo-titulo h1 {
    color: #fff;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: 1.3px;
}

.escala-topo-titulo p {
    color: #91a7c2;
    font-size: 11px;
    margin-top: 5px;
    font-weight: 600;
    letter-spacing: 0.4px;
}

.escala-navegacao {
    min-height: 68px;
    padding: 10px 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: rgba(12, 24, 41, 0.96);
    border-bottom: 1px solid #233750;
}

.escala-btn-nav,
.escala-btn-hoje {
    border: 1px solid #2b4565;
    color: #dbe9fa;
    background: #14243a;
    cursor: pointer;
    transition: 0.18s ease;
}

.escala-btn-nav {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    font-size: 28px;
    line-height: 30px;
}

.escala-btn-hoje {
    height: 38px;
    border-radius: 10px;
    padding: 0 14px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.5px;
}

.escala-btn-nav:hover,
.escala-btn-hoje:hover {
    color: #fff;
    border-color: #4c78ac;
    background: #1a3150;
    transform: translateY(-1px);
}

.escala-periodo {
    min-width: 265px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.escala-periodo span {
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0.9px;
    color: #fff;
}

.escala-periodo small {
    margin-top: 3px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.4px;
    color: var(--amarelo-mopar);
}

.escala-status {
    position: absolute;
    right: 22px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 20px;
    color: #9cb0c8;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 10px;
    font-weight: 800;
}

.escala-status span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #7c8da2;
}

.escala-status.salvo span { background: #35d07f; box-shadow: 0 0 10px rgba(53, 208, 127, 0.7); }
.escala-status.alterado span { background: #ffbc00; box-shadow: 0 0 10px rgba(255, 188, 0, 0.65); }
.escala-status.erro span { background: #ff6570; }
.escala-status.carregando span { background: #4cc7fb; animation: escala-pulsar 0.9s infinite alternate; }

@keyframes escala-pulsar { to { opacity: 0.25; transform: scale(0.75); } }

.escala-turnos {
    min-height: 72px;
    padding: 9px 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    background: #0a1524;
    border-bottom: 1px solid #263a53;
}

.escala-turnos-label {
    color: #617791;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.1px;
}

.escala-turnos-botoes {
    display: grid;
    grid-template-columns: repeat(3, minmax(130px, 180px));
    gap: 7px;
}

.escala-turnos-botoes button {
    min-height: 48px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 7px 14px;
    border: 1px solid #263b55;
    border-radius: 10px;
    background: #111f31;
    color: #8499b1;
    cursor: pointer;
    transition: 0.18s ease;
}

.escala-turnos-botoes button small {
    font-size: 7px;
    font-weight: 900;
    letter-spacing: 1.1px;
    opacity: 0.75;
}

.escala-turnos-botoes button strong {
    margin-top: 2px;
    font-size: 12px;
    letter-spacing: 0.4px;
}

.escala-turnos-botoes button:hover { border-color: #3f638b; color: #dcecff; }
.escala-turnos-botoes button.ativo {
    color: #fff;
    border-color: #3473b5;
    background: linear-gradient(135deg, #153d69, #102d50);
    box-shadow: 0 5px 15px rgba(24, 91, 158, 0.22), inset 3px 0 0 #ffbc00;
}

.escala-acesso-badge {
    padding: 7px 10px;
    border: 1px solid #39495d;
    border-radius: 20px;
    color: #8091a6;
    background: rgba(255, 255, 255, 0.025);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.6px;
}

.escala-acesso-badge.master {
    color: #7ce5ad;
    border-color: rgba(53, 208, 127, 0.32);
    background: rgba(53, 208, 127, 0.07);
}

.escala-conteudo {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 22px;
}

.escala-grade-dias {
    display: grid;
    grid-template-columns: repeat(6, minmax(180px, 1fr));
    gap: 12px;
    max-width: 1800px;
    margin: 0 auto;
}

.escala-dia-card {
    min-width: 0;
    min-height: 280px;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, rgba(23, 38, 59, 0.98), rgba(17, 29, 46, 0.98));
    border: 1px solid #273c57;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.18);
    transition: transform 0.18s ease, border-color 0.18s ease;
}

.escala-dia-card:hover { transform: translateY(-2px); border-color: #395775; }
.escala-dia-card.hoje { border-color: rgba(255, 188, 0, 0.78); box-shadow: 0 0 0 1px rgba(255, 188, 0, 0.14), 0 14px 28px rgba(0, 0, 0, 0.22); }

.escala-dia-header {
    min-height: 70px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, #102e54, #0b2241);
    border-bottom: 1px solid #2b486a;
}

.escala-dia-card.hoje .escala-dia-header { background: linear-gradient(135deg, #5a4308, #342b13); }
.escala-dia-header div { display: flex; flex-direction: column; }
.escala-dia-header span { color: #a9bdd5; font-size: 9px; font-weight: 900; letter-spacing: 0.6px; }
.escala-dia-header strong { color: #fff; font-size: 27px; line-height: 30px; }
.escala-dia-header small { color: var(--amarelo-mopar); font-size: 11px; font-weight: 900; letter-spacing: 1px; }

.escala-dia-lista {
    flex: 1;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.escala-vazio,
.escala-equipe-vazia {
    color: #60738c;
    font-size: 11px;
    text-align: center;
    padding: 28px 8px;
    border: 1px dashed #2c3e55;
    border-radius: 9px;
}

.escala-item {
    padding: 9px;
    background: rgba(7, 15, 26, 0.48);
    border: 1px solid #263a53;
    border-radius: 10px;
}

.escala-item-pessoa {
    display: flex;
    align-items: center;
    gap: 7px;
}

.escala-avatar {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #274c78, #173251);
    color: #bfe0ff;
    font-size: 10px;
    font-weight: 900;
}

.escala-item input,
.escala-pessoa-sabado input {
    width: 100%;
    min-width: 0;
    border: 0;
    border-bottom: 1px solid transparent;
    background: transparent;
    color: #eef6ff;
    outline: none;
    padding: 4px 1px;
    font-size: 11px;
    font-weight: 700;
}

.escala-item input:focus,
.escala-pessoa-sabado input:focus { border-bottom-color: #4cc7fb; }
.escala-item input:disabled,
.escala-pessoa-sabado input:disabled,
.escala-item select:disabled { opacity: 1; cursor: default; }

.escala-item-acoes {
    display: flex;
    gap: 5px;
    margin-top: 7px;
}

.escala-item-acoes select {
    flex: 1;
    min-width: 0;
    padding: 5px 6px;
    border-radius: 7px;
    border: 1px solid #39506d;
    background: #17283e;
    color: #9ec8f2;
    outline: none;
    font-size: 9px;
    font-weight: 900;
}

.escala-item-acoes select.tipo-feriado { color: #ffdd73; border-color: #6b551b; }
.escala-item-acoes select.tipo-frias { color: #8de8b6; border-color: #266647; }
.escala-item-acoes select.tipo-compensao { color: #cfb7ff; border-color: #59447a; }

.escala-item-acoes button,
.escala-pessoa-sabado button {
    width: 25px;
    border: 0;
    border-radius: 7px;
    background: rgba(247, 90, 104, 0.1);
    color: #ff8993;
    cursor: pointer;
    font-size: 16px;
}

.escala-item-acoes button:hover,
.escala-pessoa-sabado button:hover { background: rgba(247, 90, 104, 0.22); }

.escala-btn-adicionar,
.escala-btn-adicionar-equipe {
    border: 0;
    border-top: 1px solid #263b55;
    background: rgba(37, 99, 235, 0.06);
    color: #73bff1;
    padding: 11px;
    cursor: pointer;
    font-size: 10px;
    font-weight: 900;
    transition: 0.15s ease;
}

.escala-btn-adicionar:hover,
.escala-btn-adicionar-equipe:hover { color: #fff; background: rgba(37, 99, 235, 0.15); }

.escala-sabado-card,
.escala-rodape-card {
    max-width: 1800px;
    margin: 18px auto 0;
    background: linear-gradient(145deg, rgba(22, 36, 55, 0.98), rgba(14, 25, 40, 0.98));
    border: 1px solid #293e58;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.18);
}

.escala-sabado-cabecalho {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 17px 20px;
    background: linear-gradient(100deg, #0e2c52, #102442);
    border-bottom: 1px solid #2b4769;
}

.escala-kicker { color: var(--amarelo-mopar); font-size: 9px; letter-spacing: 1.5px; font-weight: 900; }
.escala-sabado-cabecalho h2 { color: white; font-size: 18px; margin-top: 3px; letter-spacing: 0.6px; }
.escala-sabado-data { color: #d8e9fb; font-size: 13px; font-weight: 900; padding: 8px 12px; background: rgba(255,255,255,0.06); border-radius: 9px; }

.escala-equipes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    padding: 15px;
}

.escala-equipe-card {
    border: 1px solid #2a405b;
    background: rgba(7, 15, 26, 0.35);
    border-radius: 12px;
    overflow: hidden;
}

.escala-equipe-titulo {
    min-height: 62px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 14px;
    border-bottom: 1px solid #293f59;
}

.escala-equipe-titulo > span {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(76, 199, 251, 0.11);
}

.escala-equipe-card.emissao .escala-equipe-titulo > span { background: rgba(255, 188, 0, 0.11); }
.escala-equipe-titulo div { display: flex; flex-direction: column; }
.escala-equipe-titulo small { color: #7288a3; font-size: 8px; font-weight: 900; letter-spacing: 1.2px; }
.escala-equipe-titulo strong { color: #fff; font-size: 13px; letter-spacing: 0.5px; }
.escala-equipe-lista { padding: 10px; min-height: 64px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.escala-equipe-lista .escala-equipe-vazia { grid-column: 1 / -1; padding: 15px; }

.escala-pessoa-sabado {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px;
    border-radius: 9px;
    background: #111f31;
    border: 1px solid #263b54;
}

.escala-pessoa-sabado > span {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #244666;
    color: #b9dcf7;
    font-size: 10px;
    font-weight: 900;
}

.escala-btn-adicionar-equipe { width: 100%; }

.escala-rodape-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 18px;
    padding: 18px;
    margin-bottom: 6px;
}

.escala-observacao-wrap label { display: block; margin-bottom: 7px; color: #8297b0; font-size: 9px; font-weight: 900; letter-spacing: 1px; }
.escala-observacao-wrap textarea { width: 100%; resize: vertical; min-height: 58px; max-height: 130px; padding: 10px 12px; border-radius: 10px; border: 1px solid #2b415d; background: #0e1a2a; color: #e8f1fc; outline: none; font-size: 12px; }
.escala-observacao-wrap textarea:focus { border-color: #3f75ad; }

.escala-salvar-wrap { min-width: 250px; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-end; gap: 9px; }
.escala-salvar-wrap span { color: #7388a1; font-size: 9px; text-align: right; }
.escala-btn-salvar { min-width: 210px; border: 0; border-radius: 10px; padding: 13px 17px; background: linear-gradient(135deg, #147d4e, #20a568); color: white; cursor: pointer; font-size: 11px; font-weight: 900; letter-spacing: 0.5px; box-shadow: 0 7px 18px rgba(21, 143, 87, 0.24); transition: 0.18s ease; }
.escala-btn-salvar:hover { transform: translateY(-1px); filter: brightness(1.08); }
.escala-btn-salvar.pendente { background: linear-gradient(135deg, #a87800, #d59e0b); box-shadow: 0 7px 18px rgba(255, 188, 0, 0.17); }
.escala-btn-salvar:disabled { opacity: 0.6; cursor: wait; transform: none; }

@media (max-width: 1400px) {
    .escala-grade-dias { grid-template-columns: repeat(3, minmax(220px, 1fr)); }
}

@media (max-width: 850px) {
    .escala-navegacao { justify-content: flex-start; padding: 10px 12px; overflow-x: auto; }
    .escala-periodo { min-width: 205px; }
    .escala-periodo span { font-size: 13px; }
    .escala-status { position: static; flex: 0 0 auto; }
    .escala-turnos { justify-content: flex-start; overflow-x: auto; padding: 9px 12px; }
    .escala-turnos-label { display: none; }
    .escala-turnos-botoes { grid-template-columns: repeat(3, 125px); }
    .escala-acesso-badge { flex: 0 0 auto; }
    .escala-conteudo { padding: 12px; }
    .escala-grade-dias { grid-template-columns: repeat(2, minmax(230px, 1fr)); }
    .escala-equipes { grid-template-columns: 1fr; }
    .escala-rodape-card { grid-template-columns: 1fr; }
    .escala-salvar-wrap { align-items: stretch; min-width: 0; }
    .escala-salvar-wrap span { text-align: left; }
    .escala-btn-salvar { width: 100%; }
}

@media (max-width: 560px) {
    .escala-topo-titulo { min-height: 65px; }
    .escala-topo-titulo h1 { font-size: 17px; }
    .escala-btn-hoje { display: none; }
    .escala-grade-dias { grid-template-columns: 1fr; }
    .escala-dia-card { min-height: 240px; }
    .escala-equipe-lista { grid-template-columns: 1fr; }
    .escala-sabado-cabecalho { align-items: flex-end; }
    .escala-sabado-cabecalho h2 { font-size: 15px; }
    .escala-sabado-data { font-size: 11px; }
}

/* ==========================================================================
   CENTRO DE EMISSÃO 2.0
   ========================================================================== */
#view-processos {
    background:
        radial-gradient(circle at 0 0, rgba(31, 93, 160, 0.13), transparent 30%),
        #09111d;
}

#view-processos .bloco-topo-fixo {
    background: #0a1422;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.32);
}

#view-processos .emissao-topo-controle {
    min-height: 74px;
    justify-content: flex-start;
    padding: 12px 22px 12px 66px;
    position: relative;
    background:
        linear-gradient(100deg, rgba(7, 28, 51, 0.97), rgba(13, 46, 79, 0.96)),
        var(--azul-gradient);
    border-bottom: 1px solid #28435f;
}

#view-processos .emissao-topo-controle::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 188, 0, 0.75), transparent);
}

#view-processos .emissao-topo-controle .btn-hamburguer {
    position: absolute;
    left: 18px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.05);
}

.emissao-identidade { display: flex; flex-direction: column; align-items: flex-start; }
.emissao-kicker { color: #ffca2f; font-size: 8px; line-height: 1; font-weight: 900; letter-spacing: 1.7px; }
#view-processos #titulo-painel { margin-top: 4px; font-size: 21px; line-height: 23px; letter-spacing: 1px; }
.emissao-identidade p { margin-top: 3px; color: #8ea5bf; font-size: 10px; font-weight: 600; }

.emissao-realtime {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(52, 211, 153, 0.2);
    border-radius: 20px;
    background: rgba(52, 211, 153, 0.06);
    color: #75e3b2;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.7px;
}

.emissao-realtime span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #3cdb94;
    box-shadow: 0 0 10px rgba(60, 219, 148, 0.75);
    animation: emissao-live 1.4s infinite alternate;
}

.emissao-realtime b { font: inherit; }
.emissao-realtime.offline { color: #ffbd73; border-color: rgba(251, 169, 76, 0.24); background: rgba(251, 169, 76, 0.06); }
.emissao-realtime.offline span { background: #fba94c; box-shadow: none; }

@keyframes emissao-live { to { opacity: 0.4; } }

.emissao-toolbar {
    min-height: 64px;
    padding: 9px 18px;
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 340px 205px;
    gap: 10px;
    align-items: stretch;
    background: rgba(9, 20, 34, 0.98);
    border-bottom: 1px solid #21344b;
}

#view-processos .barra-pesquisa-container {
    min-width: 0;
    padding: 7px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #101f32;
    border: 1px solid #293f59;
    border-radius: 10px;
}

.emissao-busca-icone {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(76, 199, 251, 0.09);
    color: #70cdf4;
    font-size: 23px;
    transform: rotate(-15deg);
}

#view-processos .barra-pesquisa-container > div { flex: 1; min-width: 0; }
#view-processos .barra-pesquisa-container label,
#view-processos .filtro-mes-container label { display: block; margin-bottom: 2px; color: #70869f; font-size: 7px; font-weight: 900; letter-spacing: 1.1px; }

#view-processos #busca-manifesto {
    height: auto;
    padding: 2px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #eef6ff;
    text-align: left;
    font-size: 11px;
    font-weight: 600;
}

#view-processos #busca-manifesto::placeholder { color: #61758e; }

#view-processos .filtro-mes-container {
    margin: 0;
    padding: 8px 12px;
    display: grid;
    grid-template-columns: 31px minmax(105px, 1fr) auto;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid #293f59;
    border-radius: 10px;
    background: #101f32;
}

#view-processos .periodo-calendario {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(255, 188, 0, 0.09);
    color: #ffca38;
    font-size: 14px;
}

#view-processos .periodo-conteudo {
    min-width: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.periodo-valor {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    line-height: 1;
}

.periodo-valor strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #f4f8fd;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.35px;
}

.periodo-valor span {
    padding: 3px 5px;
    border: 1px solid #314a65;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.035);
    color: #88a3bd;
    font-size: 8px;
    font-weight: 800;
}

.periodo-valor i {
    margin-left: auto;
    color: #68809a;
    font-size: 13px;
    font-style: normal;
    transition: 0.15s ease;
}

#view-processos .periodo-conteudo:hover .periodo-valor strong { color: #fff; }
#view-processos .periodo-conteudo:hover .periodo-valor i { color: #70cdf4; transform: translateY(1px); }
#view-processos .periodo-conteudo:focus-within .periodo-valor strong { color: #78d5fb; }

#view-processos .filtro-mes-container select {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    opacity: 0;
    cursor: pointer;
    appearance: none;
}

#view-processos .filtro-mes-container select option { color: white; background: #101f32; }

.periodo-acoes {
    display: flex;
    align-items: center;
    gap: 3px;
    padding-left: 8px;
    border-left: 1px solid #2a4059;
}

.periodo-acoes button {
    min-width: 27px;
    height: 29px;
    padding: 0 6px;
    border: 1px solid #304862;
    border-radius: 7px;
    background: #14263b;
    color: #a9bfd6;
    cursor: pointer;
    font-size: 19px;
    line-height: 1;
    transition: 0.15s ease;
}

.periodo-acoes button:hover:not(:disabled) { color: #fff; border-color: #4b7198; background: #1a324d; }
.periodo-acoes button:disabled { opacity: 0.25; cursor: default; }
.periodo-acoes button.periodo-hoje { min-width: 39px; font-size: 6px; font-weight: 900; letter-spacing: 0.5px; color: #71cffa; }
#view-processos .filtro-mes-container.periodo-atual { border-color: rgba(76, 199, 251, 0.43); box-shadow: inset 0 0 0 1px rgba(76, 199, 251, 0.05); }
#view-processos .filtro-mes-container.periodo-atual .periodo-hoje { color: #68e0ad; border-color: rgba(53, 208, 127, 0.3); background: rgba(53, 208, 127, 0.07); }

#view-processos .btn-adicionar {
    min-height: 46px;
    padding: 7px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid rgba(52, 211, 153, 0.28);
    border-radius: 10px;
    background: linear-gradient(135deg, #147b4d, #1d9b63);
    box-shadow: 0 7px 18px rgba(19, 129, 80, 0.19);
}

#view-processos .btn-adicionar > span { font-size: 21px; font-weight: 400; }
#view-processos .btn-adicionar > div { display: flex; flex-direction: column; align-items: flex-start; font-size: 10px; letter-spacing: 0.3px; }
#view-processos .btn-adicionar small { color: rgba(255,255,255,0.62); font-size: 7px; letter-spacing: 0.9px; }

#view-processos .placar-contadores {
    padding: 9px 18px 10px;
    display: grid;
    grid-template-columns: repeat(5, minmax(128px, 1fr)) minmax(180px, 1.2fr);
    gap: 9px;
    background: #0b1726;
    border: 0;
    border-bottom: 1px solid #22364d;
}

#view-processos .card-contador {
    min-height: 62px;
    padding: 8px 11px;
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    align-items: center;
    justify-items: center;
    text-align: center;
    row-gap: 2px;
    border: 1px solid #263b54;
    border-radius: 11px;
    background: linear-gradient(145deg, #122338, #0f1d2e);
}

#view-processos .card-contador::before { display: none; }
#view-processos .card-contador .kpi-icone {
    grid-row: auto;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(76, 199, 251, 0.08);
    color: #67c9f2;
    font-size: 16px;
    font-weight: 900;
}

#view-processos .card-contador > div:not(.kpi-progresso-topo):not(.kpi-progresso-trilha) { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; }
#view-processos .label-contador { color: #8297b0; font-size: 7px; letter-spacing: 0.8px; }
#view-processos .num-contador { margin: 0; color: #fff; font-size: 21px; line-height: 22px; }
#view-processos .card-contador > small { grid-column: 1; color: #5f7289; font-size: 7px; font-weight: 600; }
#view-processos .card-contador.emitidos { border-color: rgba(52, 211, 153, 0.24); }
#view-processos .card-contador.emitidos .kpi-icone { background: rgba(52, 211, 153, 0.09); color: #62dea8; }
#view-processos .card-contador.emitidos .num-contador { color: #72e8b4; }
#view-processos .card-contador.andamento { border-color: rgba(251, 169, 76, 0.22); }
#view-processos .card-contador.andamento .kpi-icone { background: rgba(251, 169, 76, 0.09); color: #ffc078; }
#view-processos .card-contador.andamento .num-contador { color: #ffc078; }
#view-processos .card-contador.pendencias { border-color: rgba(247, 90, 104, 0.22); }
#view-processos .card-contador.pendencias .kpi-icone { background: rgba(247, 90, 104, 0.09); color: #ff8e98; }
#view-processos .card-contador.pendencias .num-contador { color: #ff919a; }
#view-processos .card-contador.tempo-medio { border-color: rgba(138, 124, 255, 0.22); }
#view-processos .card-contador.tempo-medio .kpi-icone { background: rgba(138, 124, 255, 0.09); color: #afa7ff; }
#view-processos .card-contador.tempo-medio .num-contador { color: #c3bcff; font-size: 17px; }

#view-processos .card-contador.progresso {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 6px;
}

.kpi-progresso-topo { display: flex; justify-content: center; align-items: center; gap: 8px; }
.kpi-progresso-topo strong { color: #70d8ff; font-size: 15px; }
.kpi-progresso-trilha { height: 5px; overflow: hidden; border-radius: 5px; background: #07111d; }
.kpi-progresso-trilha span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2387c5, #52d2ff); transition: width 0.45s ease; }
#view-processos .card-contador.progresso > small { color: #5f7289; font-size: 7px; }

#view-processos .container-principal {
    padding: 14px 16px 16px;
    gap: 12px;
}

#view-processos .conteudo {
    border: 1px solid #263a53;
    border-radius: 13px;
    background: #101d2e;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.21);
}

.painel-tabela-header {
    min-height: 56px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #293d56;
    background: linear-gradient(90deg, #12243a, #101e30);
}

.painel-tabela-kicker { color: #5abfe9; font-size: 7px; font-weight: 900; letter-spacing: 1.3px; }
.painel-tabela-header h2 { margin-top: 2px; color: #f2f7fd; font-size: 14px; letter-spacing: 0.2px; }
.painel-tabela-meta { padding: 6px 9px; border: 1px solid #2c425c; border-radius: 8px; background: #0d1929; color: #7e93ab; font-size: 8px; font-weight: 800; }
.painel-tabela-meta span { color: #dcecff; font-size: 11px; margin-right: 3px; }

#view-processos .tabela-wrapper {
    border: 1px solid #36516f;
    border-top: 0;
    border-radius: 0 0 13px 13px;
    background: #0d1928;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(108, 151, 193, 0.04);
}

#view-processos #tabela-dados { font-size: 11px; }
#view-processos #cabecalho-tabela th {
    padding: 10px 12px;
    border-right: 1px solid #3a5674;
    border-bottom: 2px solid #466586;
    background: #0b1726;
    color: #71869e;
    font-size: 8px;
    letter-spacing: 0.5px;
}

#view-processos #corpo-tabela td {
    height: 44px;
    min-width: 112px;
    border-right: 1px solid #304966;
    border-bottom: 1px solid #304966;
    background-color: #101d2d;
    transition: filter 0.12s ease;
}

#view-processos #corpo-tabela tr:nth-child(even) td { background-color: #0e1a29; }
#view-processos #corpo-tabela tr:hover td { filter: brightness(1.15); }
#view-processos #corpo-tabela input[type="text"],
#view-processos #corpo-tabela select { color: #dce7f4; font-size: 10px; font-weight: 650; }

#view-processos #cabecalho-tabela th:first-child,
#view-processos #corpo-tabela td:first-child {
    position: sticky;
    left: 0;
    z-index: 6;
    box-shadow: 5px 0 12px rgba(0, 0, 0, 0.13);
}

#view-processos #cabecalho-tabela th:first-child { z-index: 105; }
#view-processos .linha-processo-finalizado td {
    border-top: 1px solid #39785e;
    border-bottom: 1px solid #39785e;
    background-color: #123223 !important;
    color: #86edb9 !important;
    opacity: 1;
}
#view-processos .linha-processo-finalizado td:first-child { border-left: 3px solid #43c98a; }
#view-processos .linha-processo-finalizado td:last-child { border-right: 2px solid #39785e; }
#view-processos .st-vermelho, #view-processos .st-vermelho input, #view-processos .st-vermelho select { background-color: #3b1c24 !important; }
#view-processos .st-amarelo, #view-processos .st-amarelo input, #view-processos .st-amarelo select { background-color: #3b3219 !important; }
#view-processos .st-azul, #view-processos .st-azul input, #view-processos .st-azul select { background-color: #152f48 !important; }
#view-processos .st-verde, #view-processos .st-verde input, #view-processos .st-verde select { background-color: #173527 !important; }

#view-processos .btn-settings {
    padding: 6px 9px;
    border: 1px solid #365675;
    border-radius: 7px;
    background: #19334d;
    color: #a9d7f5;
    font-size: 9px;
}

#view-processos .btn-settings:hover { background: #214563; color: white; }
#view-processos .btn-deletar { font-size: 13px; opacity: 0.65; }
#view-processos .btn-deletar:hover { opacity: 1; }

.tabela-estado-vazio td { height: 210px !important; background: #0e1a29 !important; }
.tabela-estado-vazio td:first-child { position: static !important; }
.tabela-estado-vazio td > span { display: block; color: #3c526c; font-size: 34px; transform: rotate(-15deg); }
.tabela-estado-vazio td > strong { display: block; margin-top: 5px; color: #8fa3b9; font-size: 12px; }
.tabela-estado-vazio td > small { display: block; margin-top: 4px; color: #53677e; font-size: 9px; }

#view-processos .painel-ranking-lateral {
    width: 305px;
    max-width: 305px;
    border-color: #283d56;
    border-radius: 13px;
    background: #101d2d;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.21);
    overflow: hidden;
}

#view-processos .ranking-header {
    min-height: 64px;
    padding: 11px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: left;
    border: 0;
    border-bottom: 1px solid #2b415b;
    border-radius: 0;
    background: linear-gradient(120deg, #17365b, #112944);
}

.ranking-trofeu { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 11px; background: rgba(255, 188, 0, 0.11); font-size: 18px; }
#view-processos .ranking-header div { display: flex; flex-direction: column; }
#view-processos .ranking-header strong { color: #fff; font-size: 10px; letter-spacing: 0.7px; }
#view-processos .ranking-header small { margin-top: 3px; color: #829bb7; font-size: 8px; font-weight: 600; }

#view-processos .ranking-filtros-topo {
    padding: 10px;
    gap: 7px;
    background: #0d1928;
    border-bottom-color: #263a52;
}

#view-processos .ranking-filtros-topo select {
    min-width: 0;
    padding: 7px 5px;
    border-color: #2c425c;
    border-radius: 7px;
    background: #132339;
    color: #a9bdd3;
    font-size: 8px;
}

#view-processos .divisor-ranking {
    padding: 9px 12px;
    display: flex;
    justify-content: space-between;
    background: #111f31;
    border-bottom: 1px solid #263a52;
    color: #748ba5;
    font-size: 7px;
    letter-spacing: 0.8px;
}

#view-processos .divisor-ranking small { color: #536980; font-size: 7px; }
#view-processos .ranking-corpo { padding: 5px 10px 10px; background: #101d2d; }
#view-processos #lista-ranking { list-style: none; }
#view-processos .item-ranking { padding: 7px 3px; border-bottom-color: rgba(255,255,255,0.055); list-style: none; }
#view-processos .item-ranking-content { display: grid; grid-template-columns: 25px minmax(70px, 1fr) auto; gap: 7px; }
.rank-posicao { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 7px; background: #182a40; color: #70869f; font-size: 9px; font-weight: 900; }
.rank-posicao.top-1 { background: rgba(255, 188, 0, 0.15); color: #ffd354; border: 1px solid rgba(255, 188, 0, 0.28); }
.rank-posicao.top-2 { background: rgba(190, 205, 222, 0.11); color: #d5e1ef; }
.rank-posicao.top-3 { background: rgba(205, 127, 50, 0.12); color: #e8a665; }
#view-processos .rank-nome { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: 9px; }
#view-processos .rank-detalhe { justify-content: flex-end; gap: 3px; }
#view-processos .tag-categoria { padding: 2px 4px; border-radius: 5px; font-size: 6px; }
#view-processos .rank-pontos { color: #dce9f7; font-size: 8px; white-space: nowrap; }

@media (max-width: 1250px) {
    #view-processos .placar-contadores { grid-template-columns: repeat(4, minmax(130px, 1fr)); overflow-x: auto; }
    #view-processos .card-contador.progresso { min-width: 190px; }
    #view-processos .painel-ranking-lateral { width: 280px; max-width: 280px; }
}

@media (max-width: 1024px) {
    #view-processos .container-principal { flex-direction: column; overflow-y: auto; }
    #view-processos .conteudo { min-height: 430px; flex: 0 0 430px; }
    #view-processos .painel-ranking-lateral { width: 100%; max-width: 100%; min-height: 260px; flex: 0 0 260px; }
}

@media (max-width: 760px) {
    #view-processos .emissao-topo-controle { min-height: 64px; padding-left: 60px; }
    #view-processos #titulo-painel { font-size: 17px; }
    .emissao-identidade p { display: none; }
    .emissao-realtime { padding: 6px 8px; font-size: 7px; }
    .emissao-toolbar { grid-template-columns: 1fr; padding: 8px 10px; }
    #view-processos .btn-adicionar { min-height: 42px; }
    #view-processos .placar-contadores { padding: 8px 10px; display: flex; overflow-x: auto; }
    #view-processos .card-contador { min-width: 170px; }
    #view-processos .container-principal { padding: 10px; }
}

@media (max-width: 480px) {
    .emissao-realtime { display: none; }
    .emissao-toolbar { grid-template-columns: 1fr; }
    #view-processos .filtro-mes-container { min-height: 45px; }
    .periodo-acoes button.periodo-hoje { display: none; }
    #view-processos .card-contador { min-width: 155px; }
}

/* Ajustes de navegação horizontal, rotas extensas e exclusão */
#view-processos #cabecalho-tabela .coluna-rota,
#view-processos #corpo-tabela .coluna-rota {
    min-width: 240px;
    width: 240px;
}

#view-processos #corpo-tabela .coluna-rota select {
    padding: 0 14px;
    text-align: center;
    text-align-last: center;
    text-overflow: ellipsis;
    cursor: pointer;
}

#view-processos #cabecalho-tabela th,
#view-processos #corpo-tabela td,
#view-processos #corpo-tabela input[type="text"],
#view-processos #corpo-tabela select {
    text-align: center;
}

#view-processos .tabela-wrapper {
    scrollbar-width: auto;
    scrollbar-color: #456987 #09131f;
    scrollbar-gutter: stable;
}

#view-processos .tabela-wrapper::-webkit-scrollbar {
    width: 11px;
    height: 13px;
}

#view-processos .tabela-wrapper::-webkit-scrollbar-track {
    background: #08131f;
    border-top: 1px solid #21364b;
}

#view-processos .tabela-wrapper::-webkit-scrollbar-thumb {
    min-width: 70px;
    border: 3px solid #08131f;
    border-radius: 10px;
    background: linear-gradient(90deg, #345873, #4a7897);
}

#view-processos .tabela-wrapper::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(90deg, #467695, #62a1c5);
}

#view-processos .tabela-wrapper::-webkit-scrollbar-corner { background: #08131f; }

#view-processos #cabecalho-tabela .coluna-acao-fixa,
#view-processos #corpo-tabela .coluna-acao-fixa {
    position: sticky;
    right: 0;
    min-width: 66px;
    width: 66px;
    text-align: center;
    z-index: 7;
    box-shadow: -6px 0 14px rgba(0,0,0,0.2);
}

#view-processos #cabecalho-tabela .coluna-acao-fixa {
    z-index: 106;
    background: #0b1726;
}

#view-processos #corpo-tabela .coluna-acao-fixa { background: #101d2d; }
#view-processos #corpo-tabela tr:nth-child(even) .coluna-acao-fixa { background: #0e1a29; }
#view-processos #corpo-tabela .linha-processo-finalizado .coluna-acao-fixa { background: #123223 !important; }

#view-processos .btn-deletar {
    width: 29px;
    height: 29px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(247,90,104,0.28);
    border-radius: 8px;
    background: rgba(247,90,104,0.07);
    color: #ff8994;
    opacity: 0.78;
    transition: 0.16s ease;
}

#view-processos .btn-deletar span {
    display: block;
    margin-top: -2px;
    font-size: 20px;
    line-height: 1;
    font-weight: 300;
}

#view-processos .btn-deletar:hover {
    border-color: rgba(247,90,104,0.58);
    background: rgba(247,90,104,0.16);
    color: #ffb0b7;
    opacity: 1;
    transform: scale(1.06);
}

/* ==========================================================================
   CENTRAL DE CONFIGURAÇÕES MASTER
   ========================================================================== */
#view-config { background: #091421; }
.config-topo { flex: 0 0 auto; }
.config-topo-controle {
    min-height: 72px;
    padding: 12px 22px 12px 68px;
    border-bottom: 1px solid #29425d;
    background: linear-gradient(110deg, #0d1d2f 0%, #10243a 58%, #142c42 100%);
}
.config-identidade { display: flex; flex-direction: column; align-items: flex-start; }
.config-identidade > span { color: #f3c54d; font-size: 8px; font-weight: 900; letter-spacing: 1.6px; }
.config-identidade h1 { margin-top: 3px; color: #f4f8fc; font-size: 20px; letter-spacing: 0.7px; }
.config-identidade p { margin-top: 2px; color: #8299b2; font-size: 10px; font-weight: 600; }
.config-master-badge {
    margin-left: auto;
    padding: 8px 11px;
    border: 1px solid rgba(243, 197, 77, 0.35);
    border-radius: 9px;
    background: rgba(243, 197, 77, 0.08);
    color: #f5cc62;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.8px;
}
#view-config .container-config { padding: 16px 20px 24px; }
.config-admin-shell { width: min(1480px, 100%); margin: 0 auto; }
.config-tabs {
    display: flex;
    gap: 5px;
    padding: 5px;
    overflow-x: auto;
    border: 1px solid #29415b;
    border-radius: 12px;
    background: #0d1a2a;
    box-shadow: 0 8px 24px rgba(0,0,0,0.14);
}
.config-tabs button {
    min-width: max-content;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #8297ae;
    cursor: pointer;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.55px;
    transition: 0.16s ease;
}
.config-tabs button span { margin-right: 6px; color: #5ebfe8; font-size: 13px; }
.config-tabs button:hover { color: #dbe8f5; background: #13263a; }
.config-tabs button.ativo {
    border-color: #3a607d;
    background: linear-gradient(135deg, #17364f, #153047);
    color: #fff;
    box-shadow: inset 0 -2px 0 #4cc7fb;
}
.config-panel { display: none; padding-top: 16px; }
.config-panel.ativo { display: block; animation: config-panel-entrada 0.18s ease; }
@keyframes config-panel-entrada { from { opacity: 0; transform: translateY(4px); } }
.config-panel-titulo {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding: 0 3px;
}
.config-panel-titulo span { color: #54bce7; font-size: 7px; font-weight: 900; letter-spacing: 1.4px; }
.config-panel-titulo h2 { margin-top: 3px; color: #eef5fc; font-size: 17px; }
.config-panel-titulo > small { color: #71869e; font-size: 9px; }
.config-grid-geral { display: grid; grid-template-columns: 1.15fr 1fr; gap: 12px; }
.config-colaboradores-card { grid-column: 1 / -1; }
.config-card-admin {
    padding: 16px;
    border: 1px solid #29435f;
    border-radius: 12px;
    background: linear-gradient(145deg, #101f31, #0d1a29);
    box-shadow: 0 10px 24px rgba(0,0,0,0.13);
}
.config-card-admin h3 { margin-bottom: 11px; color: #e2edf8; font-size: 12px; letter-spacing: 0.25px; }
.config-card-admin > p { margin: -4px 0 11px; color: #71869c; font-size: 10px; }
.config-form-grid { display: grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); gap: 11px; }
.config-form-grid.compacto { grid-template-columns: repeat(3, minmax(110px, 1fr)); margin-top: 13px; }
.config-form-grid.usuario { grid-template-columns: 1.1fr 1.35fr 1fr 1fr .7fr auto; align-items: end; }
.config-form-grid label,
.config-card-admin label:not(.config-switch) {
    display: block;
    margin-bottom: 5px;
    color: #7189a2;
    font-size: 7px;
    font-weight: 900;
    letter-spacing: 0.8px;
}
.config-card-admin input:not([type="color"]):not([type="checkbox"]),
.config-card-admin select,
.config-card-admin textarea {
    width: 100%;
    border: 1px solid #304a66;
    border-radius: 8px;
    outline: none;
    background: #0a1725;
    color: #e1edf8;
    font: inherit;
    font-size: 11px;
    transition: 0.15s ease;
}
.config-card-admin input:not([type="color"]):not([type="checkbox"]), .config-card-admin select { min-height: 38px; padding: 0 10px; }
.config-card-admin textarea { min-height: 132px; padding: 10px 11px; resize: vertical; line-height: 1.55; }
.config-card-admin input:focus, .config-card-admin select:focus, .config-card-admin textarea:focus {
    border-color: #4ba8d2;
    box-shadow: 0 0 0 3px rgba(75, 168, 210, 0.1);
}
.config-card-admin button, .config-btn-principal, .config-barra-salvar button {
    min-height: 36px;
    padding: 0 13px;
    border: 1px solid #386583;
    border-radius: 8px;
    background: #173a54;
    color: #bce8fb;
    cursor: pointer;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.4px;
}
.config-card-admin button:hover, .config-btn-principal:hover { background: #20506f; color: #fff; }
.config-switch { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.config-switch input { position: absolute; opacity: 0; pointer-events: none; }
.config-switch > span { position: relative; flex: 0 0 40px; height: 21px; border-radius: 20px; background: #26394d; transition: .18s; }
.config-switch > span::after { content: ''; position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #8193a7; transition: .18s; }
.config-switch input:checked + span { background: #176744; }
.config-switch input:checked + span::after { left: 22px; background: #67e4a9; }
.config-switch div { display: flex; flex-direction: column; }
.config-switch strong { color: #dce9f5; font-size: 11px; }
.config-switch small { margin-top: 2px; color: #6f849a; font-size: 8px; }
.config-barra-salvar {
    position: sticky;
    bottom: 0;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #34516c;
    border-radius: 11px;
    background: rgba(11, 25, 40, 0.96);
    backdrop-filter: blur(8px);
}
.config-barra-salvar span { color: #7d92a9; font-size: 9px; }
.config-barra-salvar span.sucesso, .config-lista-editor-rodape small.sucesso { color: #62dca5; }
.config-barra-salvar span.erro, .config-lista-editor-rodape small.erro { color: #ff8792; }
.config-barra-salvar button { border-color: #287a58; background: #176140; color: #8ce9bb; }
.config-listas-grid { display: grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 12px; margin-top: 12px; }
.config-lista-editor-topo, .config-lista-editor-rodape { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.config-lista-editor-topo { margin-bottom: 9px; }
.config-lista-editor-topo h3 { margin: 2px 0 0; }
.config-lista-editor-topo small { color: #548aaa; font-size: 7px; font-weight: 900; letter-spacing: 1px; }
.config-lista-editor-topo > span { padding: 4px 7px; border-radius: 6px; background: #162c40; color: #79aac8; font-size: 8px; }
.config-lista-editor-rodape { margin-top: 9px; }
.config-lista-editor-rodape small { color: #687e95; font-size: 8px; }
.config-lista-carregando { grid-column: 1 / -1; padding: 28px; border: 1px dashed #30485f; border-radius: 10px; color: #7890a8; text-align: center; }
.config-lista-carregando.erro { color: #ff8792; }
.config-rotas-card .config-lista { max-height: 280px; display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 5px; }
.config-rotas-card .config-lista li { border: 1px solid #263f58; border-radius: 7px; background: #0c1928; }
.config-dados-grid { display: grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap: 12px; }
.config-exportacoes { display: flex; flex-wrap: wrap; gap: 8px; }
.config-exportacoes label {
    display: inline-flex !important;
    min-height: 36px;
    align-items: center;
    padding: 0 13px;
    border: 1px solid #386583;
    border-radius: 8px;
    background: #173a54;
    color: #bce8fb !important;
    cursor: pointer;
    font-size: 9px !important;
}
.config-exportacoes input { display: none; }
.config-alerta-seguranca { margin-top: 12px; padding: 10px; border: 1px solid #294b42; border-radius: 8px; background: rgba(38, 113, 80, 0.08); color: #78aa94; font-size: 9px; }
.config-usuarios-tabela { margin-top: 12px; overflow-x: auto; padding: 0; }
.config-usuarios-tabela table { border: 0; background: transparent; }
.config-usuarios-tabela th { color: #758ca4; font-size: 8px; letter-spacing: .55px; }
.config-usuarios-tabela td { color: #bed0e1; font-size: 10px; vertical-align: middle; }
.config-usuarios-tabela td strong { color: #edf5fc; }
.config-usuarios-tabela input { min-width: 130px; }
.acoes-usuario { display: flex; flex-wrap: wrap; gap: 5px; min-width: 230px; }
.acoes-usuario button { min-height: 29px; padding: 0 8px; font-size: 8px; }
.acoes-usuario .btn-usuario-excluir { border-color: rgba(247,90,104,.4); background: rgba(247,90,104,.1); color: #ff98a1; }
.config-voce { display: inline-block; margin-left: 6px; padding: 2px 5px; border-radius: 5px; background: rgba(76,199,251,.12); color: #72cdf2; font-size: 6px; font-weight: 900; }

@media (max-width: 900px) {
    .config-grid-geral, .config-dados-grid { grid-template-columns: 1fr; }
    .config-form-grid.usuario { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
    .config-listas-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    #view-config .container-config { padding: 11px; }
    .config-topo-controle { padding-left: 60px; }
    .config-identidade h1 { font-size: 16px; }
    .config-identidade p, .config-master-badge { display: none; }
    .config-form-grid, .config-form-grid.compacto, .config-form-grid.usuario { grid-template-columns: 1fr; }
    .config-panel-titulo { align-items: flex-start; flex-direction: column; }
    .config-rotas-card .config-lista { grid-template-columns: 1fr; }
    .config-barra-salvar { align-items: stretch; flex-direction: column; }
}

/* ==========================================================================
   MEU PERFIL
   ========================================================================== */
#view-perfil { background: #091421; }
.perfil-topo-controle {
    min-height: 72px;
    padding: 12px 22px 12px 68px;
    border-bottom: 1px solid #29425d;
    background: linear-gradient(110deg, #0d1d2f 0%, #10243a 58%, #142c42 100%);
}
.perfil-identidade { display: flex; flex-direction: column; align-items: flex-start; }
.perfil-identidade > span { color: #5dc4ee; font-size: 8px; font-weight: 900; letter-spacing: 1.6px; }
.perfil-identidade h1 { margin-top: 3px; color: #f4f8fc; font-size: 20px; letter-spacing: .7px; }
.perfil-identidade p { margin-top: 2px; color: #8299b2; font-size: 10px; font-weight: 600; }
.perfil-topo-nivel {
    margin-left: auto;
    padding: 8px 11px;
    border: 1px solid #35536f;
    border-radius: 9px;
    background: #13273a;
    color: #87a7c0;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .8px;
}
.perfil-topo-nivel.master { border-color: rgba(243,197,77,.38); background: rgba(243,197,77,.08); color: #f5cc62; }
.perfil-container {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 14px;
    width: min(1220px, 100%);
    margin: 0 auto;
    padding: 18px 20px 28px;
    overflow-y: auto;
}
.perfil-resumo-card {
    position: sticky;
    top: 0;
    align-self: start;
    padding: 22px 18px 18px;
    border: 1px solid #2d4863;
    border-radius: 14px;
    background: linear-gradient(155deg, #12263a, #0d1b2b 70%);
    box-shadow: 0 14px 30px rgba(0,0,0,.18);
    text-align: center;
}
.perfil-avatar-inicial {
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    margin: 0 auto 12px;
    border: 2px solid #4fc3ed;
    border-radius: 20px;
    background: linear-gradient(145deg, #1d5675, #173b56);
    box-shadow: 0 0 0 5px rgba(76,199,251,.07);
    color: #e8f8ff;
    font-size: 27px;
    font-weight: 900;
}
.perfil-resumo-card > strong { display: block; overflow: hidden; color: #f0f7fd; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.perfil-resumo-card > span { display: block; margin-top: 4px; color: #7f97ae; font-size: 10px; }
.perfil-resumo-divisor { height: 1px; margin: 18px 0 13px; background: #294158; }
.perfil-resumo-item { margin-top: 12px; text-align: left; }
.perfil-resumo-item small { display: block; margin-bottom: 3px; color: #57718a; font-size: 7px; font-weight: 900; letter-spacing: .9px; }
.perfil-resumo-item b { display: block; overflow: hidden; color: #c8d8e7; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.perfil-sessao-segura { display: flex; align-items: center; gap: 9px; margin-top: 18px; padding: 10px; border: 1px solid #285041; border-radius: 9px; background: rgba(35,121,82,.08); text-align: left; }
.perfil-sessao-segura > i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #55db9e; box-shadow: 0 0 8px rgba(85,219,158,.55); }
.perfil-sessao-segura span { display: flex; flex-direction: column; }
.perfil-sessao-segura strong { color: #78caa3; font-size: 7px; letter-spacing: .7px; }
.perfil-sessao-segura small { margin-top: 2px; color: #668579; font-size: 7px; }
.perfil-conteudo { display: flex; min-width: 0; flex-direction: column; gap: 12px; }
.perfil-card {
    padding: 17px;
    border: 1px solid #2b455f;
    border-radius: 13px;
    background: linear-gradient(145deg, #101f31, #0d1a29);
    box-shadow: 0 10px 24px rgba(0,0,0,.13);
}
.perfil-card-cabecalho { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 15px; }
.perfil-card-icone { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px; border: 1px solid #326581; border-radius: 9px; background: rgba(76,199,251,.08); color: #68c8ee; font-size: 17px; }
.perfil-card-icone.seguranca { border-color: #376d58; background: rgba(64,190,128,.07); color: #65dca0; }
.perfil-card-icone.master { border-color: #806a36; background: rgba(243,197,77,.08); color: #f0c95f; }
.perfil-card-cabecalho small { color: #5795b4; font-size: 7px; font-weight: 900; letter-spacing: 1.2px; }
.perfil-card-cabecalho h2 { margin-top: 2px; color: #edf5fc; font-size: 14px; }
.perfil-card-cabecalho p { margin-top: 3px; color: #71869c; font-size: 9px; }
.perfil-form-grid { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 11px; }
.perfil-form-grid.senha { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
.perfil-form-grid label, .perfil-master-acao label { display: block; margin-bottom: 5px; color: #7189a2; font-size: 7px; font-weight: 900; letter-spacing: .8px; }
.perfil-form-grid input, .perfil-master-acao input {
    width: 100%;
    min-height: 39px;
    padding: 0 11px;
    border: 1px solid #304a66;
    border-radius: 8px;
    outline: none;
    background: #0a1725;
    color: #e1edf8;
    font-size: 11px;
    transition: .15s ease;
}
.perfil-form-grid input:disabled { border-color: #25394e; background: #0c1723; color: #60758a; cursor: not-allowed; }
.perfil-form-grid input:focus, .perfil-master-acao input:focus { border-color: #4ba8d2; box-shadow: 0 0 0 3px rgba(75,168,210,.1); }
.perfil-card-acoes { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #253b51; }
.perfil-card button {
    min-height: 37px;
    padding: 0 14px;
    border: 1px solid #287a58;
    border-radius: 8px;
    background: #176140;
    color: #9aebc2;
    cursor: pointer;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .45px;
}
.perfil-card button:hover { background: #207951; color: #fff; }
.perfil-feedback { min-height: 14px; color: #71879d; font-size: 9px; }
.perfil-feedback.sucesso { color: #62dca5; }
.perfil-feedback.erro { color: #ff8792; }
.perfil-feedback.salvando { color: #6cc8ed; }
.perfil-master-card { border-color: #5d502e; background: linear-gradient(145deg, #211f1a, #121b25); }
.perfil-master-acao { display: grid; grid-template-columns: minmax(220px, 1fr) auto; align-items: end; gap: 10px; }
.perfil-master-acao button { border-color: #78642f; background: #564719; color: #f4d878; }
.perfil-master-acao button:hover { background: #715e21; }
.perfil-master-confirmado { display: flex; align-items: center; gap: 13px; border-color: #5d502e; background: linear-gradient(120deg, rgba(112,89,28,.25), #101e2c); }
.perfil-master-confirmado > span { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid #806a36; border-radius: 11px; color: #f0c95f; font-size: 20px; }
.perfil-master-confirmado small { color: #b69a50; font-size: 7px; font-weight: 900; letter-spacing: 1px; }
.perfil-master-confirmado h2 { margin-top: 2px; color: #f5e8bd; font-size: 13px; }
.perfil-master-confirmado p { margin-top: 3px; color: #8d8468; font-size: 9px; }
.perfil-master-confirmado.recem-ativado { animation: perfil-master-pulso .8s ease; }
@keyframes perfil-master-pulso { 50% { box-shadow: 0 0 25px rgba(243,197,77,.22); } }

@media (max-width: 860px) {
    .perfil-container { grid-template-columns: 1fr; }
    .perfil-resumo-card { position: static; }
    .perfil-form-grid.senha { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .perfil-topo-controle { padding-left: 60px; }
    .perfil-identidade h1 { font-size: 16px; }
    .perfil-identidade p, .perfil-topo-nivel { display: none; }
    .perfil-container { padding: 11px; }
    .perfil-form-grid, .perfil-master-acao { grid-template-columns: 1fr; }
    .perfil-card-acoes { align-items: stretch; flex-direction: column; }
}

/* ==========================================================================
   DADOS ESL + CENTRAL DE PRÉ-ALERTA
   ========================================================================== */
#view-esl, #view-prealerta { background: #091421; }
.esl-topo-controle, .prealerta-topo-controle {
    min-height: 72px;
    padding: 12px 22px 12px 68px;
    border-bottom: 1px solid #29425d;
    background: linear-gradient(110deg, #0d1d2f 0%, #10243a 58%, #142c42 100%);
}
.esl-identidade, .prealerta-identidade { display: flex; flex-direction: column; align-items: flex-start; }
.esl-identidade > span, .prealerta-identidade > span { color: #5dc4ee; font-size: 8px; font-weight: 900; letter-spacing: 1.6px; }
.esl-identidade h1, .prealerta-identidade h1 { margin-top: 3px; color: #f4f8fc; font-size: 20px; letter-spacing: .7px; }
.esl-identidade p, .prealerta-identidade p { margin-top: 2px; color: #8299b2; font-size: 10px; font-weight: 600; }
.esl-formato-badge, .prealerta-outlook-badge {
    margin-left: auto; padding: 8px 11px; border: 1px solid #38627d; border-radius: 9px;
    background: rgba(76,199,251,.07); color: #7ccff0; font-size: 8px; font-weight: 900; letter-spacing: .9px;
}
.prealerta-outlook-badge { border-color: #39755a; background: rgba(51,181,116,.08); color: #74d9a6; }
.esl-container, .prealerta-container {
    width: min(1440px, 100%); margin: 0 auto; padding: 16px 20px 28px; overflow-y: auto;
}
.esl-card, .prealerta-card {
    margin-bottom: 12px; padding: 16px; border: 1px solid #2b455f; border-radius: 13px;
    background: linear-gradient(145deg, #101f31, #0d1a29); box-shadow: 0 10px 24px rgba(0,0,0,.13);
}
.esl-card-titulo, .prealerta-card-titulo { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.esl-card-titulo small, .prealerta-card-titulo small { color: #5795b4; font-size: 7px; font-weight: 900; letter-spacing: 1.2px; }
.esl-card-titulo h2, .prealerta-card-titulo h2 { margin-top: 2px; color: #edf5fc; font-size: 14px; }
.esl-card-titulo p { margin-top: 3px; color: #71869c; font-size: 9px; }
.esl-card-titulo > span, .prealerta-card-titulo > span { padding: 5px 7px; border-radius: 6px; background: #152b40; color: #78a9c6; font-size: 7px; font-weight: 900; }
.esl-card-titulo > span.sucesso, .prealerta-card-titulo > span.sucesso { background: rgba(49,178,111,.1); color: #67d99e; }
.esl-card-titulo > span.erro { background: rgba(247,90,104,.1); color: #ff8e98; }
.esl-card button, .prealerta-card button, .prealerta-barra-manifesto button {
    min-height: 36px; padding: 0 13px; border: 1px solid #386583; border-radius: 8px;
    background: #173a54; color: #bce8fb; cursor: pointer; font-size: 9px; font-weight: 850; letter-spacing: .4px;
}
.esl-card button:hover, .prealerta-card button:hover, .prealerta-barra-manifesto button:hover { background: #20506f; color: #fff; }
.esl-colagem-card textarea, .prealerta-email-card textarea {
    width: 100%; padding: 11px; border: 1px solid #304a66; border-radius: 9px; outline: none;
    background: #081523; color: #dbe8f5; font: 10px/1.55 Consolas, monospace; resize: vertical;
}
.esl-colagem-card textarea:focus, .prealerta-email-card textarea:focus { border-color: #4ba8d2; box-shadow: 0 0 0 3px rgba(75,168,210,.1); }
.esl-limpar { min-height: 29px !important; border-color: #4d3d45 !important; background: #251b24 !important; color: #d9949b !important; }
.esl-colagem-rodape, .esl-acoes { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
.esl-colagem-rodape span, .esl-acoes span { color: #70869c; font-size: 9px; }
.esl-acoes { padding-top: 12px; border-top: 1px solid #263c52; }
.esl-acoes span.sucesso { color: #65dba2; }.esl-acoes span.erro { color: #ff8792; }.esl-acoes span.salvando { color: #6cc8ed; }
.esl-form-grid, .prealerta-dados-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 10px; }
.esl-form-grid .span-2, .prealerta-dados-grid .span-2 { grid-column: span 2; }
.esl-form-grid label, .prealerta-dados-grid label, .prealerta-email-card label, .prealerta-barra-manifesto label {
    display: block; margin-bottom: 5px; color: #7189a2; font-size: 7px; font-weight: 900; letter-spacing: .8px;
}
.esl-form-grid input, .prealerta-dados-grid input, .prealerta-email-card input, .prealerta-busca input, .esl-busca input {
    width: 100%; min-height: 38px; padding: 0 10px; border: 1px solid #304a66; border-radius: 8px;
    outline: none; background: #0a1725; color: #e1edf8; font-size: 10px;
}
.esl-form-grid input:focus, .prealerta-dados-grid input:focus, .prealerta-email-card input:focus { border-color: #4ba8d2; box-shadow: 0 0 0 3px rgba(75,168,210,.1); }
.esl-busca { position: relative; min-width: 260px; }.esl-busca input { padding-right: 34px; }.esl-busca span { position: absolute; right: 11px; top: 9px; color: #6495b2; }
.esl-tabela-wrap, .config-pa-tabela-wrap { overflow-x: auto; border: 1px solid #293f57; border-radius: 9px; }
.esl-tabela-wrap table, .config-pa-tabela-wrap table { width: 100%; border-collapse: collapse; }
.esl-tabela-wrap th, .config-pa-tabela-wrap th { padding: 9px 10px; background: #0a1725; color: #7189a2; font-size: 7px; letter-spacing: .6px; text-align: left; }
.esl-tabela-wrap td, .config-pa-tabela-wrap td { max-width: 250px; padding: 8px 10px; border-top: 1px solid #263b51; color: #b9cbdb; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.esl-tabela-wrap td:last-child { display: flex; gap: 4px; max-width: none; }
.esl-tabela-wrap td button { min-height: 27px; padding: 0 7px; font-size: 7px; }.esl-tabela-wrap td button.excluir { border-color: #633642; background: #351d27; color: #fa929b; }
.esl-vazio { padding: 25px !important; color: #70869c !important; text-align: center !important; }.esl-vazio.erro { color: #ff8792 !important; }

.prealerta-barra-manifesto {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 12px; padding: 12px 14px;
    border: 1px solid #2c4862; border-radius: 12px; background: #0e1d2d;
}
.prealerta-busca { display: flex; gap: 7px; }.prealerta-busca input { min-width: 260px; }
.prealerta-proxima-sexta { text-align: right; }.prealerta-proxima-sexta small { display: block; color: #648098; font-size: 7px; font-weight: 900; letter-spacing: .8px; }.prealerta-proxima-sexta strong { display: block; margin-top: 3px; color: #f1c860; font-size: 15px; }
.prealerta-entregas-cabecalho, .prealerta-entrega-linha { display: grid; grid-template-columns: minmax(190px, .9fr) 100px minmax(260px, 1.8fr) 34px; gap: 8px; align-items: center; }
.prealerta-entregas-cabecalho { padding: 0 7px 6px; color: #637d94; font-size: 7px; font-weight: 900; letter-spacing: .7px; }
.prealerta-entrega-linha { min-height: 40px; padding: 5px 7px; border-top: 1px solid #253b50; }
.prealerta-entrega-linha select { width: 100%; height: 32px; border: 1px solid #304a66; border-radius: 7px; background: #0a1725; color: #dce8f3; font-size: 9px; }
.prealerta-entrega-linha strong { color: #e0b94f; font-size: 8px; }.prealerta-entrega-linha div { overflow: hidden; color: #b9cad9; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.prealerta-entrega-linha button { min-height: 28px; width: 28px; padding: 0; border-color: #58333d; background: #2c1b23; color: #fa9099; font-size: 16px; }
.prealerta-grid-principal { display: grid; grid-template-columns: 1.05fr .95fr; gap: 12px; }.prealerta-grid-principal .prealerta-card { margin-bottom: 12px; }
.prealerta-email-card > label { margin-top: 9px; }.prealerta-email-card textarea { font-family: inherit; }
.prealerta-email-acoes { display: flex; justify-content: flex-end; gap: 8px; margin-top: 11px; }.prealerta-email-acoes .outlook { border-color: #287a58; background: #176140; color: #9aebc2; }.prealerta-email-acoes .secundario { background: #142b40; }
.prealerta-aviso { display: block; margin-top: 8px; color: #6e8398; font-size: 8px; text-align: right; }
.prealerta-historico-card { margin-bottom: 0; }.prealerta-historico-vazio { padding: 17px; color: #6e8399; font-size: 9px; text-align: center; }
.prealerta-historico-item { display: flex; gap: 9px; padding: 9px 5px; border-top: 1px solid #263c52; }.prealerta-historico-item > span { color: #62c9ee; }.prealerta-historico-item div { display: flex; flex-direction: column; }.prealerta-historico-item strong { color: #ccdae7; font-size: 9px; }.prealerta-historico-item small { margin-top: 2px; color: #6e849a; font-size: 8px; }.prealerta-historico-item p { margin-top: 3px; color: #7895aa; font-size: 8px; }

/* Ficha operacional do Pré-alerta */
.prealerta-ficha {
    overflow: hidden;
    margin-bottom: 12px;
    border: 1px solid #2b536f;
    border-radius: 12px;
    background: #f7f9fb;
    box-shadow: 0 16px 36px rgba(0, 8, 18, .2);
}
.prealerta-ficha-faixa {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 66px;
    padding: 12px 20px;
    background: linear-gradient(100deg, #062c6b, #0a397c);
    color: #fff;
}
.prealerta-ficha-faixa small { color: #8dc7f0; font-size: 7px; font-weight: 900; letter-spacing: 1.5px; }
.prealerta-ficha-faixa h2 { margin-top: 2px; font-size: 25px; letter-spacing: 1.2px; }
.prealerta-ficha-faixa > span { padding: 6px 9px; border: 1px solid rgba(255,255,255,.22); border-radius: 6px; font-size: 8px; font-weight: 900; }
.prealerta-ficha .prealerta-entregas-cabecalho,
.prealerta-ficha .prealerta-entrega-linha {
    grid-template-columns: 150px 120px minmax(360px, 1fr);
    gap: 0;
    padding: 0;
}
.prealerta-ficha .prealerta-entregas-cabecalho {
    min-height: 34px;
    background: #082d69;
    color: #fff;
}
.prealerta-ficha .prealerta-entregas-cabecalho span {
    display: grid;
    place-items: center;
    height: 100%;
    padding: 9px;
    border-right: 1px solid rgba(255,255,255,.18);
    font-size: 9px;
}
.prealerta-ficha .prealerta-entrega-linha { min-height: 55px; border-top: 1px solid #aeb9c3; }
.prealerta-ficha .prealerta-entrega-linha > * { border-right: 1px solid #aeb9c3; }
.prealerta-tag-input {
    width: 100%;
    min-width: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #102234;
    font-size: 15px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
}
.prealerta-ficha .prealerta-entrega-linha > strong {
    display: grid;
    place-items: center;
    color: #152637;
    font-size: 12px;
}
.prealerta-destino-linha {
    display: grid !important;
    grid-template-columns: 150px 1fr;
    align-items: center;
    min-width: 0;
    color: #142536 !important;
}
.prealerta-destino-linha > span { padding: 8px 14px; overflow: hidden; font-size: 13px; font-weight: 800; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.prealerta-destino-linha small { display: block; margin-top: 3px; color: #607182; font-size: 8px; font-weight: 600; }
.prealerta-incluir {
    display: flex;
    align-items: center;
    gap: 7px;
    height: 100%;
    padding: 8px 11px;
    border-right: 1px solid #c2cbd3;
    color: #32495c;
    font-size: 8px;
    font-weight: 900;
    cursor: pointer;
}
.prealerta-incluir input { width: 17px; height: 17px; accent-color: #14824e; }
.prealerta-entregas-vazio { padding: 22px; color: #607384; font-size: 10px; text-align: center; }
.prealerta-packing-linha {
    display: grid;
    grid-template-columns: 270px 1fr;
    align-items: stretch;
    min-height: 54px;
    border-top: 1px solid #aeb9c3;
}
.prealerta-packing-linha label { display: grid; place-items: center; color: #13283b; font-size: 13px; font-weight: 900; }
.prealerta-packing-linha input { border: 0; border-left: 1px solid #aeb9c3; border-radius: 0; background: #fff; color: #172a3c; }
.prealerta-dados-titulo { padding: 11px 16px; background: #082d69; color: #fff; font-size: 16px; letter-spacing: .8px; text-align: center; }
.prealerta-dados-ficha { display: grid; grid-template-columns: 1fr; }
.prealerta-dados-ficha label {
    display: grid;
    grid-template-columns: 190px 1fr;
    min-height: 45px;
    border-bottom: 1px solid #aeb9c3;
    color: #142536;
}
.prealerta-dados-ficha label:nth-child(odd) { border-right: 0; }
.prealerta-dados-ficha label > span { display: grid; place-items: center; padding: 8px; border-right: 1px solid #aeb9c3; font-size: 10px; font-weight: 900; }
.prealerta-dados-ficha input { min-width: 0; border: 0; border-radius: 0; background: #fff; color: #132536; font-size: 12px; text-align: center; }
.prealerta-dados-ficha input[readonly] { background: #edf1f4; color: #586a79; }
.prealerta-dados-ficha label.destaque { background: #dceecb; }
.prealerta-dados-ficha label.destaque input { background: #eaf6df; font-weight: 900; }
.prealerta-dados-ficha label.prealerta-campo-pendente { box-shadow: inset 4px 0 #e2a72b; }
.prealerta-dados-ficha label.prealerta-campo-pendente input { background: #fff9e9; }
.prealerta-destinatarios-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.prealerta-destinatarios-grid label { display: grid; gap: 5px; }
.prealerta-email-card input[readonly] { border-color: #28445c; background: #0b1a29; color: #8eabc0; cursor: default; }
.prealerta-acoes-fixas {
    position: sticky;
    z-index: 6;
    bottom: 10px;
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 10px;
    margin: 14px 0 8px;
    padding: 12px 14px;
    border: 1px solid #31536d;
    border-radius: 11px;
    background: rgba(8, 24, 39, .97);
    box-shadow: 0 15px 38px rgba(0,0,0,.35);
    backdrop-filter: blur(12px);
}
.prealerta-acoes-fixas small { color: #66849c; font-size: 7px; font-weight: 900; letter-spacing: 1px; }
.prealerta-acoes-fixas strong { display: block; margin-top: 2px; color: #f0bd4d; font-size: 11px; }
.prealerta-acoes-fixas strong[data-estado="sincronizado"] { color: #65d89c; }
.prealerta-acoes-fixas p { margin-top: 2px; color: #7890a3; font-size: 8px; }
.prealerta-acoes-fixas button { min-height: 40px; padding: 0 16px; border: 1px solid #32617d; border-radius: 8px; font-size: 9px; font-weight: 900; }
.prealerta-acoes-fixas button.salvar { background: #173d58; color: #a9d8ef; }
.prealerta-acoes-fixas button.outlook { border-color: #287a58; background: #176140; color: #a6edc7; }
.prealerta-acoes-fixas button:disabled { border-color: #263949; background: #172533; color: #536879; cursor: not-allowed; filter: grayscale(.4); opacity: .72; }
.prealerta-tag-input:focus-visible, .prealerta-incluir input:focus-visible, .prealerta-acoes-fixas button:focus-visible { outline: 3px solid rgba(56,174,224,.38); outline-offset: -3px; }
@media (max-width: 820px) {
    .prealerta-ficha .prealerta-entregas-cabecalho { display: none; }
    .prealerta-ficha .prealerta-entrega-linha { grid-template-columns: 90px 105px 1fr; }
    .prealerta-destino-linha { grid-template-columns: 1fr; }
    .prealerta-incluir { min-height: 38px; border-right: 0; border-bottom: 1px solid #c2cbd3; }
    .prealerta-packing-linha { grid-template-columns: 1fr; }
    .prealerta-packing-linha label { min-height: 36px; }
    .prealerta-packing-linha input { border-left: 0; border-top: 1px solid #aeb9c3; }
    .prealerta-dados-ficha { grid-template-columns: 1fr; }
    .prealerta-dados-ficha label:nth-child(odd) { border-right: 0; }
    .prealerta-destinatarios-grid { grid-template-columns: 1fr; }
    .prealerta-acoes-fixas { position: static; grid-template-columns: 1fr; }
    .prealerta-acoes-fixas button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .prealerta-ficha *, .prealerta-acoes-fixas * { scroll-behavior: auto; transition: none !important; }
}

/* Configuração MASTER do pré-alerta */
.config-prealerta-modelo { margin-bottom: 12px; }.config-pa-corpo { margin-top: 11px; }.config-pa-corpo small { display: block; margin-top: 6px; color: #658096; font-size: 8px; line-height: 1.5; }
.config-pa-rotas-topo { display: flex; justify-content: space-between; gap: 10px; }.config-pa-rotas-topo h3 { margin-bottom: 3px; }.config-pa-rotas-topo p { color: #71869c; font-size: 9px; }.config-pa-rotas-topo > span { padding: 5px 7px; border-radius: 6px; background: #152b40; color: #78a9c6; font-size: 7px; font-weight: 900; }
.config-pa-cadastro-shell { display: grid; gap: 10px; margin: 14px 0; }
.config-pa-secao { border: 1px solid #2a4259; border-radius: 11px; padding: 13px; background: linear-gradient(145deg,#0d2032,#0a1928); }
.config-pa-secao-titulo { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }.config-pa-secao-titulo > span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 1px solid #31546d; border-radius: 9px; background: #102c42; color: #6fc9e9; font-size: 9px; font-weight: 950; }.config-pa-secao-titulo div { display: flex; flex-direction: column; }.config-pa-secao-titulo small { color: #57a8c8; font-size: 7px; font-weight: 950; letter-spacing: 1.1px; }.config-pa-secao-titulo strong { margin-top: 2px; color: #e0ebf5; font-size: 11px; }
.config-pa-campos { display: grid; gap: 9px; }.config-pa-campos.grade-3 { grid-template-columns: minmax(180px,1fr) 105px minmax(240px,1.2fr); }.config-pa-campos.grade-2,.config-pa-emails-grid { grid-template-columns: repeat(2,minmax(220px,1fr)); }.config-pa-campos.grade-endereco { grid-template-columns: repeat(4,minmax(150px,1fr)); }.config-pa-campos.grade-endereco .concessionaria,.config-pa-campos.grade-endereco .logradouro { grid-column: span 2; }.config-pa-campos .span-2 { grid-column: span 2; }
.config-pa-campos label { display: block; margin-bottom: 5px; color: #8399ac; font-size: 7.5px; font-weight: 950; letter-spacing: .09em; }.config-pa-campos input,.config-pa-campos select { width: 100%; min-height: 38px; border: 1px solid #304a66; border-radius: 7px; padding: 0 10px; outline: 0; background: #081725; color: #dce8f3; font-size: 9px; }.config-pa-campos input:focus,.config-pa-campos select:focus { border-color: #4ba8d2; box-shadow: 0 0 0 3px rgba(75,168,210,.1); }
.config-pa-secao-endereco { border-left: 3px solid #367ba0; }.config-pa-secao-operacional { border-left: 3px solid #88713b; }
.config-pa-adicionar, .config-pa-extra-campos { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 9px; margin: 12px 0; }.config-pa-adicionar label, .config-pa-extra-campos label { display: block; margin-bottom: 5px; color: #8097ab; font-size: 8px; font-weight: 900; letter-spacing: .08em; }.config-pa-adicionar .span-2, .config-pa-extra-campos .span-2 { grid-column: span 2; }
.config-pa-adicionar select { width: 100%; min-height: 38px; border: 1px solid #304a66; border-radius: 7px; padding: 0 10px; outline: 0; background: #091a2a; color: #dce8f3; font-size: 9px; font-weight: 850; }
.config-pa-adicionar select:focus { border-color: #4ba8d2; box-shadow: 0 0 0 3px rgba(75,168,210,.1); }
.config-pa-emails-bloco { margin: 0; border-color: #2c5770; background: linear-gradient(135deg,rgba(13,46,67,.96),rgba(8,29,45,.98)); box-shadow: inset 3px 0 #39acd2; }
.config-pa-emails-titulo { display: flex; align-items: center; gap: 10px; margin-bottom: 11px; }.config-pa-emails-titulo > span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #347392; border-radius: 8px; background: #0e3852; color: #7bd5f3; font-size: 15px; }.config-pa-emails-titulo div { display: flex; flex-direction: column; }.config-pa-emails-titulo small { color: #55bde2; font-size: 7px; font-weight: 950; letter-spacing: 1.2px; }.config-pa-emails-titulo strong { margin-top: 2px; color: #e1edf6; font-size: 11px; }
.config-pa-emails-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.config-pa-emails-grid label { display: block; margin-bottom: 5px; color: #94adbf; font-size: 8px; font-weight: 950; letter-spacing: .08em; }.config-pa-emails-grid input { width: 100%; }
.config-pa-finalidade { display: inline-flex; border-radius: 999px; padding: 4px 7px; font-size: 7px; font-weight: 950; letter-spacing: .35px; }.config-pa-finalidade.entrega { border: 1px solid #397a61; background: rgba(42,151,103,.12); color: #6cdda8; }.config-pa-finalidade.email { border: 1px solid #396c8b; background: rgba(49,126,169,.12); color: #73c9ed; }
[data-config-panel="prealerta"] > .config-barra-salvar { position: static; }
.config-pa-extra-toggle { display: flex; align-items: center; gap: 9px; margin: 13px 0 8px; padding: 11px; border: 1px solid #29435b; border-radius: 8px; background: #10263a; color: #a9c3d8; font-size: 9px; font-weight: 900; cursor: pointer; }.config-pa-extra-toggle input { width: 16px; height: 16px; accent-color: #24b982; }
.config-pa-extra-campos { padding: 12px; border: 1px solid #2b5367; border-radius: 9px; background: #0b2134; }.config-pa-form-acoes { display: flex; justify-content: flex-end; gap: 8px; margin: 12px 0 15px; }.config-pa-form-acoes button { min-height: 38px; padding: 0 18px; }
.config-pa-tabela-wrap table { min-width: 1080px; }.config-pa-tabela-wrap td:nth-child(3), .config-pa-tabela-wrap td:nth-child(4) { min-width: 230px; }.config-pa-tabela-wrap td:nth-child(5) { min-width: 190px; }.config-pa-tabela-wrap td:last-child { min-width: 125px; text-align: center; }.config-pa-tabela-wrap .config-pa-acoes-linha { display: flex; justify-content: center; gap: 5px; }.config-pa-link-curto { display: inline-block; max-width: 180px; overflow: hidden; color: #63c6ea; text-overflow: ellipsis; white-space: nowrap; }.config-pa-extra-sim { color: #52d6a3; font-weight: 900; }.config-pa-extra-nao { color: #657b8e; }

@media (max-width: 980px) {
    .prealerta-grid-principal { grid-template-columns: 1fr; }
    .esl-form-grid, .prealerta-dados-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
    .config-pa-adicionar, .config-pa-extra-campos, .config-pa-emails-grid, .config-pa-campos.grade-3, .config-pa-campos.grade-endereco { grid-template-columns: repeat(2, minmax(170px, 1fr)); }.config-pa-campos .span-2 { grid-column: span 2; }
}
@media (max-width: 650px) {
    .esl-topo-controle, .prealerta-topo-controle { padding-left: 60px; }.esl-identidade h1, .prealerta-identidade h1 { font-size: 16px; }.esl-identidade p, .prealerta-identidade p, .esl-formato-badge, .prealerta-outlook-badge { display: none; }
    .esl-container, .prealerta-container { padding: 11px; }.esl-card-titulo, .prealerta-card-titulo, .prealerta-barra-manifesto { align-items: stretch; flex-direction: column; }.prealerta-proxima-sexta { text-align: left; }
    .esl-form-grid, .prealerta-dados-grid, .config-pa-adicionar, .config-pa-extra-campos, .config-pa-emails-grid, .config-pa-campos.grade-2, .config-pa-campos.grade-3, .config-pa-campos.grade-endereco { grid-template-columns: 1fr; }.esl-form-grid .span-2, .prealerta-dados-grid .span-2, .config-pa-adicionar .span-2, .config-pa-extra-campos .span-2, .config-pa-campos .span-2 { grid-column: span 1; }
    .prealerta-entregas-cabecalho { display: none; }.prealerta-entrega-linha { grid-template-columns: 1fr 80px 30px; }.prealerta-entrega-linha div { grid-column: 1 / -1; grid-row: 2; }.prealerta-entrega-linha button { grid-column: 3; grid-row: 1; }
    .prealerta-busca, .esl-colagem-rodape, .esl-acoes { align-items: stretch; flex-direction: column; }.prealerta-busca input, .esl-busca { min-width: 0; width: 100%; }
}

/* ==========================================================================
   API KEY PESSOAL (Meu Perfil)
   ========================================================================== */
.perfil-apikey-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.perfil-apikey-stats > div { background: rgba(7,18,30,.6); border: 1px solid #263b54; border-radius: 9px; padding: 9px 10px; display: flex; flex-direction: column; gap: 3px; align-items: center; text-align: center; }
.perfil-apikey-stats small { color: #6e849d; font-size: 8px; font-weight: 800; letter-spacing: .5px; }
.perfil-apikey-stats b { color: #6fd0f5; font-size: 15px; }
.perfil-apikey-linha { display: flex; gap: 8px; align-items: stretch; }
#perfil-apikey-valor { flex: 1; min-width: 0; background: rgba(0,0,0,.35); border: 1px solid var(--borda-grid); border-radius: 8px; padding: 10px 12px; color: #8ee6b4; font-family: Consolas, "Courier New", monospace; font-size: 12px; font-weight: 600; outline: none; }
.perfil-apikey-linha button { background: #1a3350; color: #bfe0f5; border: 1px solid #2f5a86; border-radius: 8px; padding: 0 14px; font-size: 11px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.perfil-apikey-linha button:hover { background: #22456b; }
.perfil-apikey-exemplo { display: block; margin-top: 8px; color: #5f7289; font-size: 10px; word-break: break-all; }
@media (max-width: 640px) {
    .perfil-apikey-stats { grid-template-columns: 1fr; }
    .perfil-apikey-linha { flex-direction: column; }
    .perfil-apikey-linha button { padding: 10px; }
}

/* ==========================================================================
   CONSULTA RÁPIDA (view-consulta)
   ========================================================================== */
.consulta-barra { padding: 10px 18px 12px; background: #0b1726; border-bottom: 1px solid #22364d; display: flex; flex-direction: column; gap: 10px; }
.consulta-tipos { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.consulta-tipo { background: #122338; color: #8da2bb; border: 1px solid #263b54; border-radius: 9px; padding: 8px 15px; font-size: 12px; font-weight: 700; cursor: pointer; transition: border-color .15s ease, color .15s ease, background .15s ease; }
.consulta-tipo:hover { border-color: #3a8ec5; color: #cfe3f5; }
.consulta-tipo.ativo { background: linear-gradient(145deg, #1a4e79, #123a5c); color: #fff; border-color: #3a8ec5; }
.consulta-input-linha { display: flex; gap: 8px; }
#consulta-termo { flex: 1; background: rgba(0,0,0,.3); border: 1px solid var(--borda-grid); border-radius: 8px; padding: 11px 14px; color: #fff; font-size: 14px; font-weight: 600; outline: none; text-align: center; transition: border-color .15s ease, box-shadow .15s ease; }
#consulta-termo:focus { border-color: #3a8ec5; box-shadow: 0 0 0 3px rgba(58,142,197,.12); }
.consulta-btn-buscar { background: linear-gradient(145deg, #2387c5, #1a6ba0); color: #fff; border: 0; border-radius: 8px; padding: 0 20px; font-size: 13px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.consulta-btn-buscar:hover { filter: brightness(1.1); }
.consulta-btn-get { background: #122338; color: #8ee6b4; border: 1px solid #2f5a86; border-radius: 8px; padding: 0 16px; font-size: 12px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.consulta-btn-get:hover { background: #1a3350; border-color: #3a8ec5; }
.consulta-get-url { display: flex; align-items: center; gap: 8px; background: rgba(7,18,30,.6); border: 1px solid #263b54; border-radius: 8px; padding: 7px 10px; margin-bottom: 4px; }
.consulta-get-url > span { background: rgba(52,211,153,.14); color: #72e8b4; font-size: 9px; font-weight: 800; padding: 3px 7px; border-radius: 5px; }
.consulta-get-url code { flex: 1; min-width: 0; color: #7f95ad; font-family: Consolas, "Courier New", monospace; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.consulta-get-url button { background: #1a3350; color: #bfe0f5; border: 1px solid #2f5a86; border-radius: 6px; padding: 4px 9px; font-size: 11px; cursor: pointer; }
.consulta-get-url button:hover { background: #22456b; }
.consulta-get-url.sem-chave { color: #8da2bb; font-size: 11px; display: block; }
.consulta-conteudo { flex: 1; overflow-y: auto; min-height: 0; padding: 14px 18px 24px; }
.consulta-resultados { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.consulta-contagem { color: #8da2bb; font-size: 12px; padding: 2px 2px 4px; }
.consulta-vazio { text-align: center; color: #5f7289; padding: 50px 20px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.consulta-vazio span { font-size: 34px; }
.consulta-vazio strong { color: #8da2bb; font-size: 15px; }
.consulta-card { background: linear-gradient(145deg, #122338, #0f1d2e); border: 1px solid #263b54; border-radius: 12px; overflow: hidden; }
.consulta-card-topo { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px; background: rgba(11,21,35,.5); border-bottom: 1px solid #22364d; }
.consulta-card-topo > div { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.consulta-card-topo strong { color: #eaf2fb; font-size: 14px; }
.consulta-card-topo small { color: #7f95ad; font-size: 11px; }
.consulta-card-badge { background: rgba(58,142,197,.16); color: #6fd0f5; font-size: 10px; font-weight: 800; padding: 3px 8px; border-radius: 20px; }
.consulta-copiar { background: #1a3350; color: #bfe0f5; border: 1px solid #2f5a86; border-radius: 8px; padding: 7px 12px; font-size: 12px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.consulta-copiar:hover { background: #22456b; }
.consulta-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1px; background: #22364d; }
.consulta-campo { background: #0f1d2e; padding: 8px 12px; display: flex; flex-direction: column; gap: 2px; }
.consulta-campo-label { color: #6e849d; font-size: 8px; font-weight: 800; letter-spacing: .5px; }
.consulta-campo-valor { color: #dbe7f4; font-size: 13px; font-weight: 600; word-break: break-word; }
@media (max-width: 640px) {
    .consulta-grid { grid-template-columns: 1fr 1fr; }
    .consulta-input-linha { flex-direction: column; }
    .consulta-btn-buscar { padding: 11px; }
}

/* ========================================================================== 
   MAPAS DE CARREGAMENTO · REFINAMENTO VISUAL FINAL
   ========================================================================== */
#view-mapas {
    --mapa-acento: #43c7ee;
    --mapa-acento-rgb: 67, 199, 238;
    background: #07111d;
}
#view-mapas[data-jat="B"] {
    --mapa-acento: #f2b84b;
    --mapa-acento-rgb: 242, 184, 75;
}
#view-mapas .mapas-topo {
    position: relative;
    overflow: hidden;
    border-bottom-color: rgba(var(--mapa-acento-rgb), .28);
    background:
        radial-gradient(circle at 82% 15%, rgba(var(--mapa-acento-rgb), .18), transparent 31%),
        linear-gradient(118deg, #061321 0%, #0b2437 62%, #0b1c2b 100%);
}
#view-mapas .mapas-topo::after {
    content: '';
    position: absolute;
    right: 6%;
    bottom: -62px;
    width: 280px;
    height: 110px;
    border: 1px solid rgba(var(--mapa-acento-rgb), .16);
    border-radius: 50%;
    pointer-events: none;
}
#view-mapas .mapas-identidade > span { color: var(--mapa-acento); }
#view-mapas .mapas-badge {
    border-color: rgba(var(--mapa-acento-rgb), .3);
    background: rgba(var(--mapa-acento-rgb), .08);
}
#view-mapas .mapas-container {
    display: flex;
    flex-direction: column;
    padding: 20px clamp(12px, 2vw, 28px) 32px;
    background:
        linear-gradient(rgba(35, 65, 88, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(35, 65, 88, .055) 1px, transparent 1px),
        radial-gradient(circle at 8% 0%, rgba(var(--mapa-acento-rgb), .06), transparent 25%),
        #07111d;
    background-size: 28px 28px, 28px 28px, auto, auto;
}
#view-mapas .mapas-toolbar { order: 1; }
#view-mapas .mapas-resumo { order: 2; }
#view-mapas .mapas-legenda { order: 3; }
#view-mapas .mapas-lista { order: 4; }
#view-mapas .mapas-toolbar {
    padding: 10px;
    border: 1px solid #1b354a;
    border-radius: 14px;
    background: rgba(9, 25, 39, .9);
    box-shadow: 0 14px 32px rgba(0, 0, 0, .2);
}
#view-mapas .mapas-jat-tabs { border: 0; background: #06131f; }
#view-mapas .mapas-jat-tabs button { transition: transform .18s ease, border-color .18s ease, background .18s ease; }
#view-mapas .mapas-jat-tabs button:hover { transform: translateY(-1px); color: #b8d1df; }
#view-mapas .mapas-jat-tabs button.ativo {
    border-color: rgba(var(--mapa-acento-rgb), .55);
    background: linear-gradient(135deg, rgba(var(--mapa-acento-rgb), .26), rgba(var(--mapa-acento-rgb), .1));
    box-shadow: 0 8px 22px rgba(var(--mapa-acento-rgb), .13), inset 0 1px rgba(255,255,255,.06);
}
#view-mapas .mapas-jat-tabs button.ativo small,
#view-mapas .mapas-jat-tabs button.ativo span { color: var(--mapa-acento); }
#view-mapas .mapas-busca { border-color: #203c51; background: #071521; transition: border-color .18s ease, box-shadow .18s ease; }
#view-mapas .mapas-busca:focus-within { border-color: var(--mapa-acento); box-shadow: 0 0 0 3px rgba(var(--mapa-acento-rgb), .1); }
#view-mapas .mapas-resumo {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr;
    gap: 10px;
    margin: 14px 0;
}
#view-mapas .mapas-resumo-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 86px;
    position: relative;
    overflow: hidden;
    padding: 14px 16px;
    border: 1px solid #1d384d;
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(15, 38, 55, .96), rgba(8, 24, 37, .96));
    box-shadow: 0 10px 26px rgba(0,0,0,.17);
}
#view-mapas .mapas-resumo-card::after {
    content: '';
    position: absolute;
    right: -24px;
    bottom: -36px;
    width: 95px;
    height: 95px;
    border: 18px solid rgba(var(--mapa-acento-rgb), .035);
    border-radius: 50%;
}
#view-mapas .mapas-resumo-operacao { border-color: rgba(var(--mapa-acento-rgb), .38); }
#view-mapas .mapas-resumo-icone {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    height: 42px;
    border: 1px solid rgba(var(--mapa-acento-rgb), .32);
    border-radius: 11px;
    background: rgba(var(--mapa-acento-rgb), .1);
    color: var(--mapa-acento);
    font-size: 14px;
    font-weight: 950;
    box-shadow: inset 0 1px rgba(255,255,255,.05);
}
#view-mapas .mapas-resumo-card div { display: flex; flex-direction: column; position: relative; z-index: 1; }
#view-mapas .mapas-resumo-card small { color: #658095; font-size: 7px; font-weight: 900; letter-spacing: .12em; }
#view-mapas .mapas-resumo-card strong { margin: 2px 0 1px; color: #eef8fd; font-size: 23px; line-height: 1; }
#view-mapas .mapas-resumo-card p { color: #617a8d; font-size: 8px; }
#view-mapas .mapas-resumo-operacao strong { color: var(--mapa-acento); }
#view-mapas .mapas-legenda {
    margin-bottom: 14px;
    border-color: #1a3448;
    background: rgba(8, 23, 35, .84);
}
#view-mapas .mapas-lista { gap: 20px; }
#view-mapas .mapa-card {
    position: relative;
    border-color: #27485f;
    border-radius: 16px;
    background: #091825;
    box-shadow: 0 18px 48px rgba(0,0,0,.27);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
#view-mapas .mapa-card::before {
    content: '';
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 4px;
    height: 73px;
    background: var(--mapa-acento);
    box-shadow: 0 0 18px rgba(var(--mapa-acento-rgb), .45);
}
#view-mapas .mapa-card:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--mapa-acento-rgb), .45);
    box-shadow: 0 22px 56px rgba(0,0,0,.32);
}
#view-mapas .mapa-card-header {
    min-height: 73px;
    padding: 13px 17px 13px 19px;
    border-bottom-color: #244359;
    background:
        radial-gradient(circle at 72% 0%, rgba(var(--mapa-acento-rgb), .1), transparent 30%),
        linear-gradient(125deg, #0d2b40, #0a1c2a);
}
#view-mapas .mapa-card-header > div:first-child > span { color: var(--mapa-acento); }
#view-mapas .mapa-card-header h2 { font-size: 17px; letter-spacing: .015em; }
#view-mapas .mapa-card-header-direita > em {
    border: 1px solid rgba(50, 214, 150, .22);
    background: rgba(50, 214, 150, .09);
}
#view-mapas .mapa-card-acoes button { transition: filter .15s ease, transform .15s ease; }
#view-mapas .mapa-card-acoes button:hover { filter: brightness(1.2); transform: translateY(-1px); }
#view-mapas .mapa-diagrama-area { padding: 12px; background: #06121d; }
#view-mapas .mapa-scroll-hint {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 3px 8px;
    color: #648095;
}
#view-mapas .mapa-scroll-hint span { color: #94adbd; font-size: 7px; font-weight: 950; letter-spacing: .12em; }
#view-mapas .mapa-scroll-hint small { font-size: 8px; }
#view-mapas .mapa-scroll-hint b { margin-left: auto; color: var(--mapa-acento); font-size: 17px; }
#view-mapas .mapa-diagrama-scroll {
    padding: 0 0 9px;
    border: 1px solid #30495a;
    border-radius: 11px;
    background: #dfe6ea;
    box-shadow: inset 0 0 0 4px rgba(255,255,255,.32), inset 0 0 24px rgba(18,38,49,.16);
}
#view-mapas .mapa-diagrama-scroll::-webkit-scrollbar { height: 11px; }
#view-mapas .mapa-diagrama-scroll::-webkit-scrollbar-track { border-radius: 0 0 10px 10px; background: #0b1c29; }
#view-mapas .mapa-diagrama-scroll::-webkit-scrollbar-thumb {
    border: 3px solid #0b1c29;
    border-radius: 99px;
    background: var(--mapa-acento);
}
#view-mapas .mapa-diagrama { border: 0; background: #f4f6f7; }
#view-mapas .mapa-extremidade {
    background: linear-gradient(90deg, #e5eaed, #f4f6f7);
    color: #263541;
}
#view-mapas .mapa-extremidade.porta { background: linear-gradient(90deg, #f4f6f7, #dfe6ea); }
#view-mapas .mapa-carregamento-coluna { position: relative; border-right-color: #93a0a9; background: #fbfcfc; }
#view-mapas .mapa-carregamento-coluna:nth-child(even) { background: #f3f6f7; }
#view-mapas .mapa-carregamento-ordem {
    border-bottom-color: #95a2ab;
    background: linear-gradient(#eef2f4, #e2e8eb);
    color: #354650;
    letter-spacing: .04em;
}
#view-mapas .mapa-carregamento-ordem span { color: #102d40; }
#view-mapas .mapa-carregamento-dados > strong { color: #071c2b; }
#view-mapas .mapa-carregamento-dados > b { color: #36505f; }
#view-mapas .mapa-cidade { position: relative; box-shadow: inset 0 -1px rgba(0,0,0,.12), inset 0 1px rgba(255,255,255,.35); }
#view-mapas .mapa-cidade::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: rgba(0,0,0,.18); }
#view-mapas .mapa-carregamento-dados h4 { color: #182b37; }
#view-mapas .mapa-cnpj { color: #53636d; background: rgba(218,226,230,.42); }
#view-mapas .mapa-carregamento-dados p { color: #165d87; font-weight: 650; }
#view-mapas .mapa-card > footer { background: #0b1c2a; }

@media (max-width: 850px) {
    #view-mapas .mapas-resumo { grid-template-columns: 1fr 1fr; }
    #view-mapas .mapas-resumo-operacao { grid-column: 1 / -1; }
}
@media (max-width: 580px) {
    #view-mapas .mapas-container { padding: 12px 9px 24px; }
    #view-mapas .mapas-toolbar { padding: 8px; }
    #view-mapas .mapas-resumo { grid-template-columns: 1fr 1fr; gap: 7px; }
    #view-mapas .mapas-resumo-operacao { grid-column: 1 / -1; }
    #view-mapas .mapas-resumo-card { min-height: 75px; padding: 11px; }
    #view-mapas .mapas-resumo-icone { flex-basis: 36px; height: 36px; }
    #view-mapas .mapas-resumo-card strong { font-size: 19px; }
    #view-mapas .mapas-resumo-card p { display: none; }
    #view-mapas .mapa-scroll-hint small { display: none; }
    #view-mapas .mapa-diagrama-area { padding: 8px; }
}

.campo-link-copiavel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
}
.campo-link-copiavel input { min-width: 0; }
.campo-link-copiavel button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 74px;
    border: 1px solid #2e6683;
    border-radius: 6px;
    padding: 0 9px;
    background: linear-gradient(145deg, #123750, #0e2a3e);
    color: #70d1f1;
    cursor: pointer;
    font-size: 14px;
    font-weight: 900;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.campo-link-copiavel button span { font-size: 7px; letter-spacing: .04em; }
.campo-link-copiavel button:hover {
    transform: translateY(-1px);
    border-color: #58c9eb;
    background: #17435d;
}
.campo-link-copiavel button.copiado {
    border-color: #42d49a;
    background: rgba(35, 137, 92, .22);
    color: #71e8b8;
}
.campo-link-copiavel input.campo-link-vazio {
    border-color: #f0b84c !important;
    box-shadow: 0 0 0 3px rgba(240,184,76,.12) !important;
}

/* ========================================================================== 
   TRÁFEGO - MOPAR
   ========================================================================== */
#view-trafego { flex-direction: column; min-height: 0; background: #07111c; --trafego-acento: #f0b93e; }
.trafego-topo {
    border-bottom: 1px solid rgba(240,185,62,.25);
    background: radial-gradient(circle at 84% 20%, rgba(240,185,62,.14), transparent 28%), linear-gradient(120deg, #071522, #0b2436 66%, #10283a);
}
.trafego-topo-controle { min-height: 82px; padding: 12px 22px; }
.trafego-identidade { flex: 1; }
.trafego-identidade > span { color: #efbc4b; font-size: 8px; font-weight: 950; letter-spacing: .18em; }
.trafego-identidade h1 { margin: 2px 0; color: #f4f8fb; font-size: 21px; letter-spacing: .035em; }
.trafego-identidade p { color: #7991a3; font-size: 9px; }
.trafego-status { display: flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid #315267; border-radius: 9px; background: rgba(7,25,38,.72); }
.trafego-status > i { width: 8px; height: 8px; border-radius: 50%; background: #3dd799; box-shadow: 0 0 12px rgba(61,215,153,.7); }
.trafego-status span { color: #b7c8d3; font-size: 8px; font-weight: 900; }
.trafego-status small { display: block; color: #607b8e; font-size: 6px; letter-spacing: .1em; }
.trafego-container {
    display: flex; flex: 1; min-height: 0; flex-direction: column; gap: 12px; overflow: hidden; padding: 15px 18px 22px;
    background: linear-gradient(rgba(39,68,89,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(39,68,89,.045) 1px, transparent 1px), #07111c;
    background-size: 30px 30px;
}
.trafego-abas { display: grid; grid-template-columns: repeat(6, minmax(145px, 1fr)); gap: 7px; flex: 0 0 auto; overflow-x: auto; padding: 1px 1px 6px; scrollbar-width: thin; }
.trafego-abas button {
    display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 7px; min-width: 145px; min-height: 52px; border: 1px solid #203a4e; border-radius: 10px; padding: 8px 9px;
    background: linear-gradient(145deg, #0d2131, #091926); color: #7991a3; cursor: pointer; text-align: left; transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.trafego-abas button > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: #122b3e; color: #7297ad; font-size: 15px; }
.trafego-abas button div { color: #a9bcc9; font-size: 8px; font-weight: 950; line-height: 1.15; }
.trafego-abas button small { display: block; margin-bottom: 2px; color: #587285; font-size: 6px; letter-spacing: .08em; }
.trafego-abas button b { min-width: 21px; border-radius: 99px; padding: 3px 5px; background: #132c3e; color: #7699ad; font-size: 7px; text-align: center; }
.trafego-abas button:hover { transform: translateY(-1px); border-color: #355a70; }
.trafego-abas button.ativo { border-color: rgba(240,185,62,.55); background: linear-gradient(145deg, rgba(91,70,23,.64), #102638); box-shadow: 0 9px 24px rgba(0,0,0,.2); }
.trafego-abas button.ativo > span { background: rgba(240,185,62,.16); color: #f2c55d; }
.trafego-abas button.ativo div { color: #f3f7fa; }
.trafego-abas button.ativo small, .trafego-abas button.ativo b { color: #efbd4d; }
.trafego-painel { display: flex; flex: 1; min-height: 0; flex-direction: column; overflow: hidden; border: 1px solid #244157; border-radius: 14px; background: rgba(9,24,36,.96); box-shadow: 0 18px 45px rgba(0,0,0,.25); }
.trafego-painel-topo { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 16px; border-bottom: 1px solid #213b50; background: radial-gradient(circle at 75% 0, rgba(240,185,62,.07), transparent 27%), linear-gradient(125deg, #0d293d, #0a1c2a); }
.trafego-painel-topo small { color: #dba942; font-size: 7px; font-weight: 950; letter-spacing: .13em; }
.trafego-painel-topo h2 { margin: 2px 0; color: #eff7fb; font-size: 17px; }
.trafego-painel-topo p { color: #71899a; font-size: 8px; }
.trafego-novo { display: flex; align-items: center; gap: 8px; border: 0; border-radius: 9px; padding: 8px 13px; background: linear-gradient(135deg, #168156, #21ad71); color: #fff; cursor: pointer; text-align: left; box-shadow: 0 8px 20px rgba(24,155,99,.2); }
.trafego-novo > span { font-size: 20px; }.trafego-novo div { font-size: 9px; font-weight: 950; }.trafego-novo small { display: block; color: #b9efd4; font-size: 6px; }
.trafego-filtros { display: flex; align-items: stretch; gap: 8px; padding: 10px 13px; border-bottom: 1px solid #1c3548; background: #091a28; }
.trafego-busca { display: flex; align-items: center; flex: 1; max-width: 520px; border: 1px solid #29465a; border-radius: 8px; background: #06131e; }
.trafego-busca span { padding-left: 11px; color: #57788d; font-size: 16px; }.trafego-busca input { width: 100%; border: 0; padding: 9px; background: transparent; color: #dceaf2; outline: 0; font-size: 10px; }
.trafego-busca:focus-within { border-color: #d9a53a; box-shadow: 0 0 0 3px rgba(217,165,58,.09); }
.trafego-periodo { display: flex; align-items: center; gap: 9px; border: 1px solid #29465a; border-radius: 8px; padding: 5px 9px; background: #0b2030; }
.trafego-periodo small { color: #607c90; font-size: 6px; font-weight: 900; letter-spacing: .08em; }.trafego-periodo input { border: 0; background: transparent; color: #d8e6ed; outline: 0; font-size: 10px; color-scheme: dark; }
.trafego-atualizar { width: 36px; border: 1px solid #2b4c61; border-radius: 8px; background: #102b3e; color: #83b5cc; cursor: pointer; font-size: 16px; }
.trafego-atualizar:hover { border-color: #d5a43e; color: #f0c25b; }
.trafego-resumo { display: grid; grid-template-columns: 150px 150px 210px 1fr; gap: 1px; border-bottom: 1px solid #213b4f; background: #213b4f; }
.trafego-resumo > div { min-height: 56px; padding: 9px 13px; background: #0b1d2b; }
.trafego-resumo small { color: #60798b; font-size: 6px; font-weight: 900; letter-spacing: .08em; }.trafego-resumo strong { display: block; margin-top: 3px; color: #eef6fa; font-size: 16px; }
.trafego-resumo-legenda { display: flex; align-items: center; justify-content: flex-end; gap: 8px; text-align: right; }.trafego-resumo-legenda i { width: 7px; height: 7px; border-radius: 50%; background: #3bd295; box-shadow: 0 0 9px #3bd295; }.trafego-resumo-legenda span { color: #8da2b0; font-size: 7px; font-weight: 900; }.trafego-resumo-legenda span small { font-weight: 500; }
.trafego-tabela-wrap { flex: 1; min-height: 0; overflow: auto; scrollbar-color: #365c70 #0a1b28; scrollbar-width: thin; }
.trafego-tabela { width: 100%; min-width: 1050px; border-collapse: separate; border-spacing: 0; table-layout: auto; }
.trafego-tabela th { position: sticky; z-index: 3; top: 0; height: 34px; border-right: 1px solid #2b475b; border-bottom: 1px solid #35566c; padding: 7px 9px; background: #102b3f; color: #86a5b7; font-size: 7px; letter-spacing: .05em; text-align: center; white-space: nowrap; }
.trafego-tabela td { max-width: 250px; height: 39px; overflow: hidden; border-right: 1px solid #20394c; border-bottom: 1px solid #20394c; padding: 6px 9px; background: #0b1b29; color: #cbd8e0; font-size: 9px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.trafego-tabela tbody tr:nth-child(even) td { background: #0d1f2e; }.trafego-tabela tbody tr:hover td { background: #12283a; }
.trafego-badge { display: inline-block; min-width: 60px; border-radius: 99px; padding: 4px 7px; background: #1b3040; color: #9bb1bf; font-size: 7px; font-weight: 950; }
.trafego-badge.positivo { background: rgba(46,190,128,.13); color: #65dda5; }.trafego-badge.negativo { background: rgba(236,84,99,.14); color: #f09099; }.trafego-badge.atencao { background: rgba(235,178,57,.14); color: #efc15d; }
.trafego-atualizado strong { display: block; color: #9bb0bd; font-size: 7px; }.trafego-atualizado small { color: #5f7788; font-size: 6px; }
.trafego-acoes { min-width: 100px; }.trafego-acoes button { border: 1px solid #31586f; border-radius: 6px; padding: 5px 8px; background: #123149; color: #8fc7df; cursor: pointer; font-size: 7px; font-weight: 950; }.trafego-acoes button.arquivar { margin-left: 4px; border-color: #633a44; background: #331e25; color: #e9959e; }
.trafego-vazio { height: 210px !important; color: #657f91 !important; text-align: center !important; }.trafego-vazio span { display: block; font-size: 29px; }.trafego-vazio strong { display: block; color: #99afbd; font-size: 11px; }.trafego-vazio small { display: block; margin-top: 4px; font-size: 8px; }.trafego-vazio.erro { color: #ef8a94 !important; }

.trafego-modal { z-index: 720; align-items: center; justify-content: center; padding: 16px; }
.trafego-modal-conteudo { display: flex; width: min(94vw, 880px); max-height: 92vh; overflow: hidden; flex-direction: column; border: 1px solid #33566c; border-radius: 15px; background: #091824; box-shadow: 0 30px 90px rgba(0,0,0,.65); }
.trafego-modal-conteudo > header { display: flex; align-items: center; justify-content: space-between; padding: 14px 17px; border-bottom: 2px solid #d9a83d; background: radial-gradient(circle at 75% 0, rgba(237,183,66,.11), transparent 30%), linear-gradient(125deg, #0d334c, #0a2234); }
.trafego-modal-conteudo > header span { color: #eabb4e; font-size: 7px; font-weight: 950; letter-spacing: .14em; }.trafego-modal-conteudo > header h2 { margin: 2px 0; color: #f1f7fb; font-size: 16px; }.trafego-modal-conteudo > header p { color: #7892a3; font-size: 8px; }.trafego-modal-conteudo > header button { border: 0; background: transparent; color: #86a0b0; cursor: pointer; font-size: 26px; }
.trafego-modal-corpo { flex: 1; min-height: 0; overflow-y: auto; padding: 15px 17px 22px; }
.trafego-editor-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding: 13px; border: 1px solid #244155; border-radius: 11px; background: #0b1e2d; }
.trafego-editor-campos label { display: block; }.trafego-editor-campos label.span-2 { grid-column: 1 / -1; }.trafego-editor-campos label > span { display: block; margin-bottom: 4px; color: #7991a2; font-size: 7px; font-weight: 950; letter-spacing: .06em; }
.trafego-editor-campos input, .trafego-editor-campos select, .trafego-editor-campos textarea { width: 100%; border: 1px solid #2b485c; border-radius: 7px; padding: 9px 10px; background: #061521; color: #deebf2; outline: 0; font-size: 10px; color-scheme: dark; }.trafego-editor-campos textarea { resize: vertical; }.trafego-editor-campos input:focus, .trafego-editor-campos select:focus, .trafego-editor-campos textarea:focus { border-color: #d6a43d; box-shadow: 0 0 0 3px rgba(214,164,61,.09); }
.trafego-editor-historico { margin-top: 14px; }.trafego-editor-historico > div:first-child small { color: #d4a540; font-size: 7px; font-weight: 950; letter-spacing: .1em; }.trafego-editor-historico h3 { color: #dce8ee; font-size: 13px; }
#trafego-historico-lista { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }.trafego-editor-historico article { display: flex; gap: 9px; padding: 9px 11px; border: 1px solid #223d50; border-radius: 8px; background: #0a1d2b; }.trafego-editor-historico article i { flex: 0 0 7px; height: 7px; margin-top: 3px; border-radius: 50%; background: #4abedf; }.trafego-editor-historico article strong { color: #bcd0db; font-size: 8px; }.trafego-editor-historico article p { color: #708797; font-size: 8px; }.trafego-editor-historico article small { color: #526b7c; font-size: 7px; }
.trafego-modal-conteudo > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 17px; border-top: 1px solid #29475b; background: #0b1c2a; }.trafego-modal-conteudo > footer > span { color: #728b9c; font-size: 8px; }.trafego-modal-conteudo > footer > span.erro { color: #f18b95; }.trafego-modal-conteudo > footer > span.salvando { color: #efbf57; }.trafego-modal-conteudo > footer > div { display: flex; gap: 7px; }.trafego-modal-conteudo > footer button { border: 0; border-radius: 7px; padding: 9px 14px; cursor: pointer; font-size: 8px; font-weight: 950; }.trafego-modal-conteudo > footer button.secundario { background: #233a4b; color: #9bb0bd; }.trafego-modal-conteudo > footer button.salvar { background: linear-gradient(135deg, #168257, #22ae72); color: #fff; }

@media (max-width: 900px) {
    .trafego-abas { grid-template-columns: repeat(6, 160px); }
    .trafego-resumo { grid-template-columns: repeat(3, 1fr); }.trafego-resumo-legenda { display: none !important; }
}
@media (max-width: 580px) {
    .trafego-topo-controle { padding-left: 58px; }.trafego-identidade h1 { font-size: 16px; }.trafego-identidade p, .trafego-status { display: none; }
    .trafego-container { padding: 10px 8px 18px; }.trafego-abas { grid-template-columns: repeat(6, 145px); }
    .trafego-painel-topo { align-items: flex-start; }.trafego-painel-topo p { display: none; }.trafego-novo div { display: none; }.trafego-novo { padding: 8px 10px; }
    .trafego-filtros { flex-wrap: wrap; }.trafego-busca { min-width: 100%; }.trafego-periodo { flex: 1; }.trafego-resumo { grid-template-columns: 1fr 1fr; }.trafego-resumo > div:nth-child(3) { grid-column: 1 / -1; }
    .trafego-modal { align-items: flex-end; padding: 0; }.trafego-modal-conteudo { width: 100%; max-height: 96vh; border-radius: 14px 14px 0 0; }.trafego-editor-campos { grid-template-columns: 1fr; }.trafego-editor-campos label.span-2 { grid-column: auto; }
    .trafego-modal-conteudo > footer { align-items: stretch; flex-direction: column; }.trafego-modal-conteudo > footer > div, .trafego-modal-conteudo > footer button { flex: 1; }
}

/* ==========================================================================
   CENTRO DE PARQUEAMENTO — carretas na rua em formato de caminhãozinho
   ========================================================================== */
.pq-lista-wrap { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.pq-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 22px 16px; align-content: start; padding: 6px 4px 20px; }
#pq-chips .chip-n { display: inline-block; min-width: 17px; padding: 0 5px; margin-left: 3px; border-radius: 10px; background: rgba(255,255,255,.12); font-size: 10px; font-weight: 900; }

/* O caminhãozinho: cabine (à esquerda no topo) + baú + rodas embaixo */
.pq-truck { position: relative; margin-top: 14px; }
.pq-truck.tem-aviso .pq-bau { border-color: #a5641c; box-shadow: 0 0 0 1px #a5641c inset; }

/* Faixa de aviso acima do caminhão */
.pq-aviso {
    background: #4a2d08; color: #ffcf8a; border: 1px solid #a5641c; border-radius: 8px;
    padding: 7px 10px; font-size: 11px; font-weight: 700; text-align: center; margin-bottom: 8px;
    line-height: 1.35;
}

/* Cabine */
.pq-cab {
    position: relative; width: 60px; height: 26px; margin-left: 8px;
    background: var(--cor-cab, #33455e); border: 2px solid var(--borda-grid); border-bottom: none;
    border-radius: 10px 14px 0 0;
}
.pq-cab .pq-janela { position: absolute; top: 5px; left: 9px; right: 14px; height: 11px; background: #9fd6ff; border-radius: 3px 6px 0 0; opacity: .85; }
.pq-cab .pq-farol { position: absolute; bottom: 3px; right: 4px; width: 6px; height: 6px; border-radius: 50%; background: #ffe08a; box-shadow: 0 0 5px #ffd257; }

/* Baú (corpo) — leva a cor do status na borda esquerda */
.pq-bau {
    background: var(--cinza-card); border: 2px solid var(--borda-grid);
    border-left: 6px solid #5a6b82; border-radius: 4px 12px 12px 12px;
    padding: 12px 13px 14px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center;
}
.pq-truck.status-disp .pq-bau { border-left-color: #8da2bb; }
.pq-truck.status-viagem .pq-bau { border-left-color: #00d68f; }
.pq-truck.status-baldeio .pq-bau { border-left-color: #4cc7fb; }
.pq-truck.status-carregada .pq-bau { border-left-color: var(--amarelo-mopar); }
.pq-truck.status-vazia .pq-bau { border-left-color: #9fb0c3; }
.pq-truck.status-manut .pq-bau { border-left-color: #ff5c6c; }

/* Placa como uma chapinha */
.pq-placa-chapa {
    background: #eef3f8; color: #10233b; font-weight: 800; font-size: 18px; letter-spacing: 2px;
    font-variant-numeric: tabular-nums; padding: 4px 14px; border-radius: 6px; border: 2px solid #0d1a2b;
}
.pq-status { font-size: 10px; font-weight: 900; letter-spacing: .6px; padding: 4px 12px; border-radius: 20px; }
.pq-status.disp { background: rgba(141,162,187,.18); color: #b9c8da; }
.pq-status.viagem { background: var(--status-verde-bg); color: var(--status-verde-txt); }
.pq-status.baldeio { background: var(--status-azul-bg); color: var(--status-azul-txt); }
.pq-status.carregada { background: var(--status-amarelo-bg); color: var(--status-amarelo-txt); }
.pq-status.vazia { background: rgba(255,255,255,.08); color: #b9c8da; }
.pq-status.manut { background: var(--status-vermelho-bg); color: var(--status-vermelho-txt); }
.pq-tags { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.pq-cond { font-size: 10.5px; font-weight: 800; padding: 3px 9px; border-radius: 5px; }
.pq-cond.boa { background: #14381e; color: #7ee2a8; }
.pq-cond.ruim { background: #5c1f24; color: #ff949a; }
.pq-eixos { font-size: 11.5px; color: #9fb0c3; }
.pq-tipocarreta { font-size: 10.5px; font-weight: 800; padding: 3px 9px; border-radius: 5px; background: rgba(76,199,251,.14); color: #7fdcff; letter-spacing: .3px; }
.pq-local { font-size: 11.5px; color: #7fdcff; font-weight: 700; }
.pq-obs { font-size: 11.5px; color: #cdd9e5; background: rgba(255,255,255,.04); border-radius: 6px; padding: 6px 8px; width: 100%; box-sizing: border-box; word-break: break-word; }
.pq-meta { display: flex; flex-direction: column; gap: 2px; font-size: 10.5px; color: #8da2bb; }
.pq-meta .pq-tempo { color: var(--amarelo-mopar); font-weight: 700; }
.pq-acoes { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; margin-top: 3px; }
.pq-acoes button { background: rgba(255,255,255,.05); border: 1px solid var(--borda-grid); color: #cdd9e5; border-radius: 7px; padding: 6px 10px; font-size: 11px; font-weight: 700; cursor: pointer; }
.pq-acoes button:hover { border-color: #4a5f78; }
.pq-acoes .pq-baixa:hover { border-color: #00d68f; color: #5cffb0; }
.pq-acoes .excluir { color: #ff8a94; }

/* Rodas */
.pq-rodas { display: flex; justify-content: center; gap: 40px; margin-top: -2px; }
.pq-rodas i { width: 20px; height: 20px; border-radius: 50%; background: #10151d; border: 3px solid #2b3a4d; box-shadow: 0 3px 4px rgba(0,0,0,.4); }

/* Modal de avisos por placa */
.avisos-novo { display: grid; grid-template-columns: 120px 1fr auto; gap: 8px; margin-bottom: 14px; }
.avisos-novo input { background: rgba(0,0,0,.28); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 8px; padding: 9px 11px; font-size: 13px; }
.avisos-novo .salvar { padding: 0 16px; }
.avisos-lista { display: flex; flex-direction: column; gap: 8px; max-height: 300px; overflow-y: auto; }
.aviso-item { background: rgba(255,207,138,.06); border: 1px solid #6b4a1e; border-radius: 8px; padding: 9px 11px; }
.aviso-item-cab { display: flex; align-items: center; justify-content: space-between; }
.aviso-item-cab b { color: #ffcf8a; font-size: 13px; letter-spacing: 1px; }
.aviso-item-cab .excluir { background: rgba(255,92,108,.12); border: 1px solid #5c2a2f; color: #ff949a; border-radius: 6px; cursor: pointer; font-size: 15px; width: 26px; }
.aviso-item-txt { font-size: 12.5px; color: #eaddb9; margin-top: 4px; }
.aviso-item-meta { font-size: 10.5px; color: #8a7a5a; margin-top: 3px; }
@media (max-width: 560px) { .avisos-novo { grid-template-columns: 1fr; } }

/* ==========================================================================
   TEMPO DE PERMANÊNCIA — cards com o tempo em destaque (ao vivo)
   ========================================================================== */
.pm-card { background: var(--cinza-card); border: 1px solid var(--borda-grid); border-top: 4px solid #5a6b82; border-radius: 12px; padding: 13px; display: flex; flex-direction: column; gap: 9px; text-align: center; align-items: center; transition: transform .1s; }
.pm-card:hover { transform: translateY(-2px); }
.pm-card.nivel-atencao { border-top-color: var(--amarelo-mopar); }
.pm-card.nivel-critico { border-top-color: #ff5c6c; }
.pm-card.prio-urgente { box-shadow: 0 0 0 1px #ff5c6c inset; }
.pm-topo { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; }
.pm-placa { font-size: 19px; font-weight: 800; color: #f3f8ff; letter-spacing: 1.5px; font-variant-numeric: tabular-nums; }
.pm-prio { font-size: 9.5px; font-weight: 900; padding: 3px 8px; border-radius: 20px; letter-spacing: .5px; }
.pm-prio.alta { background: var(--status-amarelo-bg); color: var(--status-amarelo-txt); }
.pm-prio.urgente { background: var(--status-vermelho-bg); color: var(--status-vermelho-txt); }
.pm-tempo { font-size: 17px; font-weight: 800; color: #8da2bb; font-variant-numeric: tabular-nums; letter-spacing: .3px; padding: 6px 10px; border-radius: 9px; background: rgba(255,255,255,.04); width: 100%; box-sizing: border-box; }
.pm-card.nivel-atencao .pm-tempo { color: var(--amarelo-mopar); background: rgba(255,188,0,.1); }
.pm-card.nivel-critico .pm-tempo { color: #ff949a; background: rgba(255,92,108,.12); }
.pm-tags { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.pm-status { font-size: 10px; font-weight: 900; padding: 4px 10px; border-radius: 20px; letter-spacing: .4px; }
.pm-status.aguard { background: rgba(141,162,187,.18); color: #b9c8da; }
.pm-status.carreg { background: var(--status-amarelo-bg); color: var(--status-amarelo-txt); }
.pm-status.carregado { background: var(--status-azul-bg); color: var(--status-azul-txt); }
.pm-status.liberado { background: var(--status-verde-bg); color: var(--status-verde-txt); }
.pm-area { font-size: 10.5px; font-weight: 800; padding: 4px 10px; border-radius: 5px; }
.pm-area.jata { background: #0c294a; color: #7ce2ff; }
.pm-area.jatb { background: #2b2352; color: #c0b6ff; }
.pm-tipo { font-size: 10.5px; font-weight: 700; padding: 4px 9px; border-radius: 5px; background: rgba(255,255,255,.06); color: #9fb0c3; }
.pm-meta { display: flex; flex-direction: column; gap: 2px; font-size: 10.5px; color: #8da2bb; }
.pm-acoes { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.pm-acoes button { background: rgba(255,255,255,.05); border: 1px solid var(--borda-grid); color: #cdd9e5; border-radius: 7px; padding: 6px 10px; font-size: 11px; font-weight: 700; cursor: pointer; }
.pm-acoes button:hover { border-color: #4a5f78; }
.pm-acoes .pm-baixa:hover { border-color: #00d68f; color: #5cffb0; }
.pm-acoes .excluir { color: #ff8a94; }


/* ==========================================================================
   MAPEAMENTO DE DOCAS — cards + passagem de turno lateral
   ========================================================================== */
.docas-split { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 1fr 300px; gap: 14px; }
@media (max-width: 860px) { .docas-split { grid-template-columns: 1fr; } }
.docas-cards-wrap { min-height: 0; overflow-y: auto; padding-right: 2px; }
.docas-cards { display: block; }
.docas-area-titulo { font-size: 12px; font-weight: 900; letter-spacing: 1.5px; color: var(--amarelo-mopar); margin: 4px 0 8px; padding-bottom: 5px; border-bottom: 1px solid var(--borda-grid); }
.docas-area-titulo:not(:first-child) { margin-top: 18px; }
.docas-area-titulo small { color: #7c8fa3; font-weight: 700; letter-spacing: .5px; }
.docas-area-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(235px, 1fr)); gap: 14px; align-content: start; }

.doca-card {
    text-align: left; cursor: pointer; color: inherit; font: inherit;
    background: var(--cinza-card); border: 1px solid var(--borda-grid);
    border-top: 4px solid #5a6b82; border-radius: 12px; padding: 12px 13px;
    display: flex; flex-direction: column; gap: 7px; min-height: 96px;
    transition: transform .1s, border-color .12s, box-shadow .12s;
}
.doca-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.28); }
.doca-card.livre { border-top-color: #00d68f; }
.doca-card.ocup { border-top-color: var(--amarelo-mopar); }
.doca-card.manut { border-top-color: #ff5c6c; background: rgba(255,92,108,.08); }
.doca-card-topo { display: flex; align-items: center; justify-content: space-between; }
.doca-card-num { font-size: 20px; font-weight: 800; color: #f3f8ff; letter-spacing: .5px; }
.doca-card.livre .doca-card-num, .doca-card.manut .doca-card-num { color: #cdd9e5; }
.doca-card-tag { font-size: 11px; font-weight: 800; letter-spacing: 1px; }
.doca-card.livre .doca-card-tag { color: #4fe0aa; }
.doca-card.manut .doca-card-tag { color: #ff9aa2; }
.doca-card-placa { font-size: 16px; font-weight: 800; color: #eef3f8; letter-spacing: 1.5px; font-variant-numeric: tabular-nums; }
.doca-card-rota { font-size: 11px; color: #8da2bb; }
.doca-card-obs { font-size: 11px; color: #ff9aa2; }
.doca-card .tag-veic { align-self: flex-start; }
.doca-dot { width: 12px; height: 12px; border-radius: 50%; flex: 0 0 auto; }
.doca-dot.ok { background: #4fe0aa; box-shadow: 0 0 6px #4fe0aa88; }
.doca-dot.pend { background: #ffbc00; box-shadow: 0 0 6px #ffbc0088; }
.docas-vazio { grid-column: 1/-1; text-align: center; color: #7c8fa3; padding: 26px; font-style: italic; }

/* Passagem de turno lateral (espaço em branco fixo ao lado) */
.docas-turno { background: var(--cinza-card); border: 1px solid var(--borda-grid); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; min-height: 0; }
.docas-turno-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.docas-turno-head span { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 9px; background: rgba(255,188,0,.15); color: var(--amarelo-mopar); font-size: 18px; flex: 0 0 auto; }
.docas-turno-head small { display: block; font-size: 8px; letter-spacing: 1.2px; font-weight: 900; color: #8da2bb; }
.docas-turno-head h3 { font-size: 14px; color: #f3f8ff; font-weight: 800; margin: 0; }
.docas-turno textarea { width: 100%; box-sizing: border-box; background: rgba(0,0,0,.28); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 9px; padding: 10px; font-size: 12.5px; resize: vertical; }
.docas-turno-btn { margin-top: 8px; background: linear-gradient(135deg,#1c4b7d,#12335a); border: 1px solid #2d6398; color: #eaf3ff; border-radius: 9px; padding: 10px; font-size: 12px; font-weight: 800; cursor: pointer; }
.docas-turno-btn:hover { border-color: var(--amarelo-mopar); }
.docas-turno-hist-titulo { font-size: 8px; letter-spacing: 1.5px; font-weight: 900; color: #7c8fa3; margin: 14px 0 6px; }
.docas-turno .turno-historico { flex: 1 1 auto; min-height: 60px; overflow-y: auto; margin-top: 0; }

/* ==========================================================================
   CONTROLE DE ISCAS
   ========================================================================== */
.isca-busca { flex: 1 1 220px; margin-left: auto; }
.isca-busca input { width: 100%; box-sizing: border-box; background: var(--cinza-card); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 20px; padding: 8px 14px; font-size: 12.5px; }
.isca-card { background: var(--cinza-card); border: 1px solid var(--borda-grid); border-left: 4px solid #5a6b82; border-radius: 11px; padding: 13px; display: flex; flex-direction: column; gap: 9px; }
.isca-card.disp { border-left-color: #00d68f; }
.isca-card.uso { border-left-color: var(--amarelo-mopar); }
.isca-card-topo { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.isca-cod { display: inline-flex; align-items: center; gap: 7px; font-family: 'Consolas','SF Mono',monospace; font-size: 15px; font-weight: 700; color: #f3f8ff; letter-spacing: .5px; white-space: nowrap; }
.isca-badge { font-size: 9px; font-weight: 900; letter-spacing: .8px; padding: 4px 10px; border-radius: 20px; white-space: nowrap; }
.isca-badge.disp { background: var(--status-verde-bg); color: var(--status-verde-txt); }
.isca-badge.uso { background: var(--status-amarelo-bg); color: var(--status-amarelo-txt); }
.isca-card-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 11px; color: #8da2bb; }
.isca-naocad { font-size: 10.5px; color: #ffb454; font-style: italic; }
.isca-acoes { display: flex; }
.isca-acoes .excluir { background: rgba(255,92,108,.1); border: 1px solid #5c2a2f; color: #ff949a; border-radius: 7px; padding: 5px 10px; font-size: 10.5px; font-weight: 700; cursor: pointer; }

/* ==========================================================================
   QUERYS — gerador de clausulas SQL para o ECOLD
   ========================================================================== */
.querys-wrap { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 4px 2px 16px; }
.querys-intro { font-size: 12.5px; color: #8da2bb; margin: 4px 2px 14px; }
.querys-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.query-card { background: var(--cinza-card); border: 1px solid var(--borda-grid); border-top: 4px solid #5a6b82; border-radius: 12px; padding: 13px; display: flex; flex-direction: column; gap: 9px; }
.query-card.cor-azul { border-top-color: #4cc7fb; }
.query-card.cor-verde { border-top-color: #00d68f; }
.query-card.cor-roxo { border-top-color: #a78bff; }
.query-card.cor-ambar { border-top-color: var(--amarelo-mopar); }
.query-card.cor-ciano { border-top-color: #43d7d0; }
.query-card-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.query-card-cab small { display: block; font-size: 8px; letter-spacing: 1px; font-weight: 900; color: #7c8fa3; font-family: 'Consolas',monospace; }
.query-card-cab h3 { font-size: 15px; color: #f3f8ff; font-weight: 800; margin: 1px 0 0; }
.query-count { min-width: 26px; text-align: center; padding: 3px 8px; border-radius: 20px; background: rgba(255,255,255,.08); color: #cdd9e5; font-size: 12px; font-weight: 800; }
.query-in, .query-out { width: 100%; box-sizing: border-box; background: rgba(0,0,0,.28); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 9px; padding: 9px 11px; font-size: 12px; font-family: 'Consolas','SF Mono',monospace; resize: vertical; }
.query-in { min-height: 80px; }
.query-out { min-height: 70px; color: #7fdcff; background: rgba(76,199,251,.06); }
.query-saida-cab { display: flex; align-items: center; justify-content: space-between; }
.query-saida-cab span { font-size: 8px; letter-spacing: 1.2px; font-weight: 900; color: #7c8fa3; }
.query-copiar { background: rgba(255,255,255,.06); border: 1px solid var(--borda-grid); color: #cdd9e5; border-radius: 7px; padding: 5px 11px; font-size: 11px; font-weight: 800; cursor: pointer; }
.query-copiar:hover { border-color: var(--amarelo-mopar); color: var(--amarelo-mopar); }

/* QUERYS — refinamento visual */
.querys-hero { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
    background: linear-gradient(180deg,#12233b 0%,#0e1a2c 100%); border: 1px solid var(--borda-grid);
    border-radius: 14px; padding: 14px 16px; margin: 4px 2px 14px; box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.querys-hero-txt { display: flex; align-items: center; gap: 13px; }
.querys-hero-ic { width: 46px; height: 46px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
    border-radius: 12px; background: linear-gradient(135deg, var(--amarelo-mopar), #d89400); font-size: 22px; }
.querys-hero-txt strong { font-size: 15px; color: #f3f8ff; display: block; }
.querys-hero-txt p { font-size: 12px; color: #8da2bb; margin: 2px 0 0; max-width: 640px; line-height: 1.5; }
.querys-limpar-tudo { background: rgba(255,92,108,.1); border: 1px solid #5c2a2f; color: #ff949a; border-radius: 10px;
    padding: 10px 15px; font-size: 12.5px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.querys-limpar-tudo:hover { background: rgba(255,92,108,.18); }
.querys-intro { display: none; }

.query-card-cab { display: flex; align-items: center; gap: 10px; }
.query-ic { width: 34px; height: 34px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border-radius: 9px; background: rgba(255,255,255,.06); font-size: 17px; }
.query-card-tit { flex: 1 1 auto; min-width: 0; }
.query-card-tit small { display: block; font-size: 8px; letter-spacing: 1px; font-weight: 900; color: #7c8fa3; font-family: 'Consolas',monospace; }
.query-card-tit h3 { font-size: 15px; color: #f3f8ff; font-weight: 800; margin: 1px 0 0; }
.query-saida-acoes { display: flex; gap: 6px; }
.query-btn { background: rgba(255,255,255,.06); border: 1px solid var(--borda-grid); color: #cdd9e5; border-radius: 7px; padding: 5px 11px; font-size: 11px; font-weight: 800; cursor: pointer; }
.query-btn.copiar:hover { border-color: var(--amarelo-mopar); color: var(--amarelo-mopar); }
.query-btn.limpar:hover { border-color: #ff5c6c; color: #ff949a; }

/* Doca card enriquecido (tipo carregamento, MVM, tempo na doca) */
.doca-card.dedicado { border-top-color: #a78bff; }
.doca-card-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.doca-tc { font-size: 9.5px; font-weight: 900; letter-spacing: .4px; padding: 2px 8px; border-radius: 5px; }
.doca-tc.norm { background: rgba(141,162,187,.16); color: #b9c8da; }
.doca-tc.ded { background: rgba(167,139,255,.18); color: #c9bbff; }
.doca-card-info { display: flex; flex-wrap: wrap; gap: 3px 10px; font-size: 11px; color: #8da2bb; }
.doca-card-tempo { font-size: 11px; font-weight: 800; color: var(--amarelo-mopar); margin-top: 2px; }

/* ==========================================================================
   DOCA CARD — reformulado e centralizado
   ========================================================================== */
.doca-card { align-items: center; text-align: center; gap: 8px; padding: 14px 12px; min-height: 110px; justify-content: flex-start; }
.doca-card .doca-card-topo { display: none; }
/* Número da doca como plaquinha central */
.doca-card-num { display: inline-block; background: rgba(255,255,255,.06); border: 1px solid var(--borda-grid); color: #f3f8ff; font-size: 17px; font-weight: 800; letter-spacing: 1px; padding: 4px 14px; border-radius: 8px; }
.doca-card.livre .doca-card-num { background: rgba(0,214,143,.12); border-color: #1c6b4f; color: #7ee2a8; }
.doca-card.manut .doca-card-num { background: rgba(255,92,108,.12); border-color: #6b2a30; color: #ff9aa2; }
.doca-card.dedicado .doca-card-num { border-color: #4a3d7a; }
/* Selo (LIVRE / MANUTENÇÃO) */
.doca-card-selo { font-size: 12px; font-weight: 900; letter-spacing: 1.5px; }
.doca-card.livre .doca-card-selo { color: #4fe0aa; }
.doca-card.manut .doca-card-selo { color: #ff9aa2; }
.doca-card-obs { font-size: 11px; color: #ff9aa2; }
/* Placa em destaque, centralizada */
.doca-card-placa { font-size: 19px; font-weight: 800; color: #eef3f8; letter-spacing: 2px; font-variant-numeric: tabular-nums; }
.doca-card-tags { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.doca-card .tag-veic { align-self: center; }
.doca-card-rota, .doca-card-mvm { font-size: 11.5px; color: #8da2bb; }
.doca-card-mvm { font-family: 'Consolas',monospace; }
.doca-card-tempo { font-size: 12px; font-weight: 800; color: var(--amarelo-mopar); }
/* Linha do calço centralizada */
.doca-calco-linha { margin-top: 2px; }
.doca-calco { font-size: 10.5px; font-weight: 800; padding: 3px 10px; border-radius: 20px; }
.doca-calco.ok { background: rgba(0,214,143,.14); color: #7ee2a8; }
.doca-calco.pend { background: rgba(255,188,0,.15); color: #ffcf6a; }

/* Entrada da doca em dois campos livres (data - hora) */
.doca-entrada-linha { display: flex; align-items: center; gap: 8px; }
.doca-entrada-linha input { flex: 1; min-width: 0; background: rgba(0,0,0,.28); border: 1px solid var(--borda-grid); color: var(--texto-claro); border-radius: 8px; padding: 9px 11px; font-size: 13px; text-align: center; }
.doca-entrada-sep { color: #7c8fa3; font-weight: 800; }

/* Editor de doca — modal operacional */
.doca-modal-conteudo { width: min(94vw, 780px); max-height: 94vh; }
.doca-modal-conteudo > header { position: relative; padding: 18px 22px; overflow: hidden; }
.doca-modal-conteudo > header::after { content: ''; position: absolute; right: 72px; top: -55px; width: 180px; height: 130px; border: 22px solid rgba(255,188,0,.035); border-radius: 50%; pointer-events: none; }
.doca-modal-identidade { position: relative; z-index: 1; }
.doca-modal-identidade > div { display: flex; align-items: center; gap: 11px; }
.doca-modal-identidade > div h2 { font-size: 20px; letter-spacing: .3px; }
.doca-modal-estado { display: inline-flex; align-items: center; gap: 5px; border: 1px solid currentColor; border-radius: 20px; padding: 4px 9px; font-size: 8px !important; letter-spacing: 1px !important; }
.doca-modal-estado::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 6px currentColor; }
.doca-modal-estado.livre { color: #5cffb0 !important; background: rgba(0,214,143,.1); }
.doca-modal-estado.ocup { color: #ffd264 !important; background: rgba(255,188,0,.1); }
.doca-modal-estado.manut { color: #ff919b !important; background: rgba(255,92,108,.1); }
.doca-modal-fechar { position: relative; z-index: 2; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid transparent !important; border-radius: 9px; transition: background .15s,border-color .15s,color .15s; }
.doca-modal-fechar:hover { color: #fff !important; border-color: #36566c !important; background: rgba(255,255,255,.06) !important; }
.doca-modal-conteudo .trafego-modal-corpo { padding: 18px 22px 24px; }
.doca-modal-conteudo .manobra-form { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 14px; }
.doca-modal-conteudo .manobra-campo input,
.doca-modal-conteudo .manobra-campo select,
.doca-modal-conteudo .manobra-campo textarea { min-height: 42px; border-color: #28465a; background: #071722; transition: border-color .15s,box-shadow .15s,background .15s; }
.doca-modal-conteudo .manobra-campo textarea { min-height: 76px; resize: vertical; }
.doca-modal-conteudo .manobra-campo input:hover,
.doca-modal-conteudo .manobra-campo select:hover,
.doca-modal-conteudo .manobra-campo textarea:hover { border-color: #3a5c72; }
.doca-modal-conteudo .manobra-campo input:focus,
.doca-modal-conteudo .manobra-campo select:focus,
.doca-modal-conteudo .manobra-campo textarea:focus { border-color: var(--amarelo-mopar); box-shadow: 0 0 0 3px rgba(255,188,0,.09); background: #091d2a; }
.doca-form-secao { display: flex; align-items: center; gap: 10px; margin: 5px 0 -2px; padding-top: 12px; border-top: 1px solid #203b4e; }
.doca-form-secao:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.doca-form-secao > span { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 auto; border-radius: 8px; background: rgba(255,188,0,.12); color: var(--amarelo-mopar); font-size: 10px; font-weight: 950; }
.doca-form-secao b { display: block; color: #dce8f2; font-size: 10px; letter-spacing: 1px; }
.doca-form-secao small { display: block; margin-top: 2px; color: #698397; font-size: 9px; }
.doca-interdita,.doca-check { position: relative; margin: 0 0 16px; padding: 11px 12px; border: 1px solid #304b5f; border-radius: 10px; background: rgba(255,255,255,.025); }
.doca-interdita { border-color: #56333c; background: rgba(255,92,108,.055); }
.doca-interdita input,.doca-check input { position: absolute; opacity: 0; pointer-events: none; }
.doca-interdita > span:last-child,.doca-check > span:last-child { flex: 1; }
.doca-interdita b,.doca-check b { display: block; font-size: 10px; letter-spacing: .8px; }
.doca-interdita small,.doca-check small { display: block; margin-top: 2px; color: #738b9d; font-size: 9px; font-weight: 500; }
.doca-toggle-icone,.doca-check-icone { display: grid; place-items: center; width: 27px; height: 27px; flex: 0 0 auto; border: 1px solid #526878; border-radius: 8px; color: #738b9d; font-weight: 950; transition: .15s; }
.doca-interdita:has(input:checked) { border-color: #a94854; background: rgba(255,92,108,.12); box-shadow: 0 0 0 3px rgba(255,92,108,.06); }
.doca-interdita:has(input:checked) .doca-toggle-icone { color: #fff; border-color: #ff5c6c; background: #c64654; }
.doca-check:has(input:checked) { border-color: #287557; background: rgba(0,214,143,.08); }
.doca-check:has(input:checked) .doca-check-icone { color: #071b14; border-color: #5cffb0; background: #5cffb0; }
.doca-modal-conteudo.interditando .doca-interdita { animation: docaInterditaPulso .28s ease; }
@keyframes docaInterditaPulso { 50% { transform: scale(1.008); } }
.doca-modal-conteudo .doca-entrada-linha input { min-height: 42px; }
.doca-modal-conteudo .manobra-hint { margin-top: 1px; color: #d4a94c; font-size: 9px; }
.doca-modal-conteudo > footer { padding: 13px 22px; }
.doca-modal-conteudo > footer > span { max-width: 48%; line-height: 1.4; }
.doca-modal-conteudo > footer button { min-height: 36px; padding: 9px 15px; letter-spacing: .3px; }
.doca-liberar-btn { border: 1px solid #35536a !important; }
.doca-liberar-btn:hover { color: #e5f1f8 !important; border-color: #5e8097 !important; }
.doca-salvar-btn { min-width: 150px; box-shadow: 0 7px 18px rgba(18,157,99,.2); }
@media (max-width: 640px) {
    .doca-modal-conteudo { width: 100%; }
    .doca-modal-conteudo .manobra-form { grid-template-columns: 1fr; }
    .doca-modal-conteudo .manobra-campo-full,.doca-form-secao { grid-column: auto; }
    .doca-modal-conteudo > header,.doca-modal-conteudo .trafego-modal-corpo,.doca-modal-conteudo > footer { padding-left: 15px; padding-right: 15px; }
    .doca-modal-conteudo > footer > span { max-width: none; }
}

/* Controle de docas — leitura operacional em camadas */
.docas-cards-wrap { padding: 4px 6px 18px 2px; scrollbar-color: #34516a transparent; }
.docas-area-titulo {
    display: flex; align-items: center; gap: 9px; margin: 8px 0 10px;
    border: 0; padding: 0; color: #edf5fc; font-size: 13px;
}
.docas-area-titulo::before { content: ''; width: 4px; height: 18px; border-radius: 3px; background: var(--amarelo-mopar); }
.docas-area-titulo::after { content: ''; height: 1px; flex: 1; background: linear-gradient(90deg,#365066,transparent); }
.docas-area-titulo small { order: 2; background: rgba(255,255,255,.055); border: 1px solid #2a4255; border-radius: 20px; padding: 3px 9px; white-space: nowrap; }
.docas-area-titulo:not(:first-child) { margin-top: 22px; }
.doca-card {
    position: relative; align-items: stretch; text-align: left; min-height: 218px;
    padding: 15px; gap: 11px; overflow: hidden; border: 1px solid #294458;
    border-top: 1px solid #294458; border-left: 4px solid var(--amarelo-mopar);
    border-radius: 14px; background:
        radial-gradient(circle at 100% 0,rgba(255,188,0,.09),transparent 42%),
        linear-gradient(145deg,#112c40,#0b1f2f);
    box-shadow: 0 7px 20px rgba(0,0,0,.18);
    transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.doca-card:hover { transform: translateY(-3px); border-color: #4c6b82; box-shadow: 0 14px 30px rgba(0,0,0,.32); }
.doca-card:focus-visible { outline: 2px solid var(--amarelo-mopar); outline-offset: 2px; }
.doca-card.livre { border-left-color: #00d68f; background: radial-gradient(circle at 100% 0,rgba(0,214,143,.11),transparent 45%),linear-gradient(145deg,#102c34,#0b202b); }
.doca-card.manut { border-left-color: #ff5c6c; background: radial-gradient(circle at 100% 0,rgba(255,92,108,.12),transparent 45%),linear-gradient(145deg,#30202a,#171d29); }
.doca-card.dedicado { border-left-color: #a78bff; }
.doca-card-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; width: 100%; }
.doca-card-num { padding: 0; border: 0; background: none !important; color: #f4f8fc !important; font-size: 14px; letter-spacing: .9px; }
.doca-card-estado { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 20px; font-size: 9px; font-weight: 950; letter-spacing: .8px; }
.doca-card-estado i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 7px currentColor; }
.doca-card-estado.ocup { color: #ffd264; background: rgba(255,188,0,.12); }
.doca-card-estado.livre { color: #5cffb0; background: rgba(0,214,143,.12); }
.doca-card-estado.manut { color: #ff919b; background: rgba(255,92,108,.13); }
.doca-card-placa {
    align-self: flex-start; margin-top: 1px; padding: 6px 12px; border: 1px solid #50647a;
    border-radius: 7px; background: linear-gradient(#f3f5f6,#d7dce0); color: #172432;
    font-family: 'Consolas','SF Mono',monospace; font-size: 20px; line-height: 1;
    letter-spacing: 2px; box-shadow: inset 0 0 0 2px #bcc4ca,0 3px 8px rgba(0,0,0,.25);
}
.doca-card-tags { justify-content: flex-start; min-height: 21px; }
.doca-card-dados { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; }
.doca-card-dados div { min-width: 0; padding: 8px 9px; border: 1px solid #243e52; border-radius: 8px; background: rgba(0,0,0,.16); }
.doca-card-dados small { display: block; color: #6f899d; font-size: 8px; font-weight: 900; letter-spacing: 1px; }
.doca-card-dados b { display: block; margin-top: 2px; overflow: hidden; color: #dce8f2; font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.doca-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: auto; padding-top: 10px; border-top: 1px solid #243e52; }
.doca-card-tempo { margin: 0; color: #ffcf65; font-size: 10.5px; }
.doca-card-tempo.neutro { color: #7890a3; font-weight: 650; }
.doca-calco-linha { margin: 0; white-space: nowrap; }
.doca-calco { padding: 4px 8px; font-size: 9.5px; }
.doca-card-vazio-icone { display: grid; place-items: center; width: 52px; height: 52px; margin: 20px auto 0; border-radius: 50%; font-size: 23px; }
.doca-card.livre .doca-card-vazio-icone { color: #5cffb0; background: rgba(0,214,143,.1); border: 1px solid rgba(0,214,143,.25); }
.doca-card.manut .doca-card-vazio-icone { color: #ff919b; background: rgba(255,92,108,.1); border: 1px solid rgba(255,92,108,.25); }
.doca-card-mensagem { display: block; text-align: center; color: #dce8f2; font-size: 12.5px; }
.doca-card-obs { text-align: center; max-height: 34px; overflow: hidden; line-height: 1.45; }
.doca-card-obs.neutra { color: #637d91; }
.doca-card-editar { margin-top: auto; padding-top: 10px; border-top: 1px solid #243e52; color: #8da6ba; font-size: 10.5px; font-weight: 800; text-align: center; }
@media (max-width: 620px) {
    .docas-area-grid { grid-template-columns: 1fr; }
    .doca-card { min-height: 205px; }
    .docas-split { gap: 10px; }
}

/* ==========================================================================
   PARQUEAMENTO — cards operacionais
   ========================================================================== */
.pq-busca { display: flex; align-items: center; gap: 7px; min-width: 235px; margin-left: auto; padding: 6px 11px; border: 1px solid #29475b; border-radius: 20px; background: #071722; }
.pq-busca span { color: #668196; font-size: 17px; }
.pq-busca input { width: 100%; border: 0; outline: 0; background: transparent; color: #dce8f2; font-size: 11.5px; }
.pq-lista-wrap { padding: 5px 7px 18px 2px; scrollbar-color: #34516a transparent; }
#pq-lista.pq-lista { grid-template-columns: repeat(auto-fill,minmax(285px,1fr)); gap: 15px; padding-top: 4px; }
.pq-truck { min-width: 0; margin: 0; border-radius: 14px; }
.pq-truck .pq-bau {
    min-height: 250px; align-items: stretch; gap: 11px; padding: 15px; text-align: left;
    border: 1px solid #294458; border-left: 4px solid #8da2bb; border-radius: 14px;
    background: radial-gradient(circle at 100% 0,rgba(141,162,187,.08),transparent 40%),linear-gradient(145deg,#112c40,#0b1f2f);
    box-shadow: 0 8px 22px rgba(0,0,0,.2); transition: transform .16s,border-color .16s,box-shadow .16s;
}
.pq-truck:hover .pq-bau { transform: translateY(-3px); border-color: #48677d; box-shadow: 0 15px 32px rgba(0,0,0,.3); }
.pq-truck.status-viagem .pq-bau { border-left-color: #00d68f; }
.pq-truck.status-baldeio .pq-bau { border-left-color: #4cc7fb; }
.pq-truck.status-carregada .pq-bau { border-left-color: var(--amarelo-mopar); }
.pq-truck.status-vazia .pq-bau { border-left-color: #9fb0c3; }
.pq-truck.status-manut .pq-bau { border-left-color: #ff5c6c; }
.pq-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pq-placa-chapa { padding: 6px 11px; border: 1px solid #54677a; border-radius: 7px; box-shadow: inset 0 0 0 2px #c2c9ce,0 3px 8px rgba(0,0,0,.25); font-family: Consolas,monospace; font-size: 18px; line-height: 1; }
.pq-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; font-size: 8.5px; white-space: nowrap; }
.pq-status i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 6px currentColor; }
.pq-tags { justify-content: flex-start; min-height: 23px; }
.pq-eixos { display: inline-flex; align-items: center; padding: 3px 8px; border-radius: 5px; background: rgba(255,255,255,.055); color: #9fb0c3; font-size: 9.5px; font-weight: 800; }
.pq-operacao { display: grid; grid-template-columns: 1.2fr .8fr; gap: 8px; }
.pq-operacao > div { min-width: 0; padding: 9px 10px; border: 1px solid #243f52; border-radius: 9px; background: rgba(0,0,0,.16); }
.pq-operacao small { display: block; margin-bottom: 3px; color: #698397; font-size: 8px; font-weight: 900; letter-spacing: .8px; }
.pq-operacao b { display: block; overflow: hidden; color: #d9e6ef; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.pq-operacao .pq-tempo { color: #ffca58; }
.pq-obs { padding: 8px 9px; border: 1px solid #284458; background: rgba(255,255,255,.025); color: #aebfcb; line-height: 1.4; }
.pq-meta { gap: 3px; padding-top: 2px; color: #718a9d; font-size: 9.5px; }
.pq-meta b { color: #9fb2c0; }
.pq-acoes { justify-content: flex-start; margin-top: auto; padding-top: 10px; border-top: 1px solid #243e52; }
.pq-acoes button { padding: 7px 10px; font-size: 9px; letter-spacing: .4px; }
.pq-acoes .pq-baixa { margin-left: auto; border-color: #29684f; color: #72dcaa; background: rgba(0,214,143,.07); }
.pq-acoes .pq-baixa:hover { background: rgba(0,214,143,.13); }
.pq-aviso { margin: 0 0 7px; border-radius: 10px; text-align: left; }
.pq-truck.tem-aviso .pq-bau { border-color: #9d672b; box-shadow: 0 0 0 1px rgba(255,180,84,.2) inset; }
.parqueamento-modal-conteudo { width: min(94vw,720px); }
.parqueamento-modal-conteudo .manobra-form { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 14px; }
.parqueamento-modal-conteudo .manobra-campo input,.parqueamento-modal-conteudo .manobra-campo select,.parqueamento-modal-conteudo .manobra-campo textarea { min-height: 42px; border-color: #28465a; background: #071722; }
.parqueamento-modal-conteudo .manobra-campo textarea { min-height: 76px; }
.pq-form-secao { display: flex; align-items: center; gap: 10px; margin: 5px 0 -2px; padding-top: 12px; border-top: 1px solid #203b4e; }
.pq-form-secao:first-child { margin-top: 0; padding-top: 0; border: 0; }
.pq-form-secao > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: rgba(76,199,251,.12); color: #7fdcff; font-size: 10px; font-weight: 950; }
.pq-form-secao b { display: block; color: #dce8f2; font-size: 10px; letter-spacing: 1px; }
.pq-form-secao small { display: block; margin-top: 2px; color: #698397; font-size: 9px; }

/* ==========================================================================
   ISCAS — estoque e vínculo operacional
   ========================================================================== */
.isca-resumo { display: grid; grid-template-columns: 160px 180px 1fr; gap: 10px; margin-top: 13px; }
.isca-kpi,.isca-fluxo-info { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 10px 12px; border: 1px solid #284458; border-radius: 11px; background: rgba(7,23,34,.65); }
.isca-kpi > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; font-size: 16px; font-weight: 900; }
.isca-kpi.disp > span { color: #5cffb0; background: rgba(0,214,143,.12); }
.isca-kpi.uso > span { color: #ffcf65; background: rgba(255,188,0,.12); }
.isca-kpi small { display: block; color: #71899b; font-size: 7.5px; font-weight: 900; letter-spacing: .8px; }
.isca-kpi strong { display: block; color: #edf5fa; font-size: 20px; line-height: 1.1; }
.isca-fluxo-info > span { color: #7fdcff; font-size: 20px; }
.isca-fluxo-info p { margin: 0; color: #7891a3; font-size: 9.5px; line-height: 1.4; }
.isca-fluxo-info b { display: block; color: #b8cad6; font-size: 10px; }
#isca-lista.pq-lista { grid-template-columns: repeat(auto-fill,minmax(285px,1fr)); gap: 14px; }
.isca-card { min-height: 190px; padding: 15px; gap: 12px; border: 1px solid #294458; border-left: 4px solid #5a6b82; border-radius: 14px; background: radial-gradient(circle at 100% 0,rgba(76,199,251,.07),transparent 43%),linear-gradient(145deg,#112c40,#0b1f2f); box-shadow: 0 8px 22px rgba(0,0,0,.18); transition: transform .16s,border-color .16s,box-shadow .16s; }
.isca-card:hover { transform: translateY(-3px); border-color: #48677d; box-shadow: 0 15px 30px rgba(0,0,0,.28); }
.isca-card.disp { border-left-color: #00d68f; }
.isca-card.uso { border-left-color: var(--amarelo-mopar); }
.isca-card-topo { flex-direction: row; align-items: center; gap: 10px; width: 100%; }
.isca-card-topo > div { flex: 1; min-width: 0; }
.isca-card-topo small { display: block; color: #698397; font-size: 8px; font-weight: 900; letter-spacing: .8px; }
.isca-icone { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 auto; border: 1px solid #31536b; border-radius: 10px; color: #7fdcff; background: rgba(76,199,251,.08); font-size: 20px; }
.isca-cod { display: block; overflow: hidden; margin-top: 2px; color: #eff7fb; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.isca-badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; font-size: 8px; }
.isca-badge i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 6px currentColor; }
.isca-vinculo { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.isca-vinculo > div { min-width: 0; padding: 9px 10px; border: 1px solid #284458; border-radius: 9px; background: rgba(0,0,0,.16); }
.isca-vinculo small { display: block; color: #698397; font-size: 8px; font-weight: 900; letter-spacing: .8px; }
.isca-vinculo b { display: block; overflow: hidden; margin-top: 2px; color: #dce8f2; font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.isca-pronta { display: flex; align-items: center; gap: 10px; padding: 11px; border: 1px solid #28674f; border-radius: 9px; background: rgba(0,214,143,.065); }
.isca-pronta > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; color: #092219; background: #5cffb0; font-weight: 950; }
.isca-pronta b { display: block; color: #94e9bf; font-size: 10.5px; }
.isca-pronta small { display: block; margin-top: 2px; color: #718e82; font-size: 9px; }
.isca-card-meta { margin-top: auto; padding-top: 9px; border-top: 1px solid #243e52; font-size: 9.5px; }
.isca-card-meta b { color: #a8bbc8; }
.isca-cadastrada,.isca-naocad { padding: 6px 8px; border-radius: 7px; font-size: 9px; font-style: normal; font-weight: 800; }
.isca-cadastrada { color: #72dca9; background: rgba(0,214,143,.07); }
.isca-naocad { color: #ffbd6a; background: rgba(255,180,84,.08); }
.isca-acoes { justify-content: flex-end; margin-top: -3px; }
.isca-acoes .excluir:hover { background: rgba(255,92,108,.18); }
.isca-modal-conteudo { width: min(92vw,480px); }
.isca-modal-ilustra { display: flex; align-items: center; gap: 11px; margin-bottom: 15px; padding: 12px; border: 1px solid #29475b; border-radius: 10px; background: rgba(76,199,251,.055); }
.isca-modal-ilustra > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: rgba(76,199,251,.1); font-size: 19px; }
.isca-modal-ilustra b { display: block; color: #dce8f2; font-size: 11px; }
.isca-modal-ilustra small { display: block; margin-top: 2px; color: #70899b; font-size: 9px; line-height: 1.35; }
.isca-modal-conteudo #isca-codigo { min-height: 46px; border-color: #315269; background: #071722; font-family: Consolas,monospace; font-size: 15px; letter-spacing: 1px; text-align: center; }
@media (max-width: 700px) {
    .isca-resumo { grid-template-columns: 1fr 1fr; }
    .isca-fluxo-info { grid-column: 1/-1; }
}
@media (max-width: 620px) {
    .pq-busca { min-width: 100%; margin-left: 0; box-sizing: border-box; }
    #pq-lista.pq-lista,#isca-lista.pq-lista { grid-template-columns: 1fr; }
    .parqueamento-modal-conteudo .manobra-form { grid-template-columns: 1fr; }
    .pq-form-secao,.parqueamento-modal-conteudo .manobra-campo-full { grid-column: auto; }
    .isca-resumo { grid-template-columns: 1fr 1fr; }
}

/* ==========================================================================
   QUERYS — SQL Workspace
   ========================================================================== */
#view-querys { background: #07111d; }
#view-querys > .bloco-topo-fixo {
    border-bottom-color: #1d394e;
    background: radial-gradient(circle at 80% 0,rgba(67,199,238,.1),transparent 31%),linear-gradient(118deg,#061321,#0a2437 66%,#0b1c2b);
}
.querys-wrap {
    padding: 18px clamp(12px,2vw,28px) 34px;
    background:
        linear-gradient(rgba(35,65,88,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(35,65,88,.045) 1px,transparent 1px),
        radial-gradient(circle at 8% 0,rgba(67,199,238,.05),transparent 24%),#07111d;
    background-size: 28px 28px,28px 28px,auto,auto;
}
.querys-hero {
    position: relative; overflow: hidden; margin: 0 0 12px; padding: 17px 18px;
    border-color: #24475e; background: radial-gradient(circle at 78% 0,rgba(76,199,251,.11),transparent 34%),linear-gradient(135deg,#102d43,#0a1e2e);
    box-shadow: 0 14px 35px rgba(0,0,0,.22);
}
.querys-hero::after { content: 'SQL'; position: absolute; right: 26%; bottom: -27px; color: rgba(255,255,255,.025); font-family: Consolas,monospace; font-size: 94px; font-weight: 950; pointer-events: none; }
.querys-hero-txt { position: relative; z-index: 1; }
.querys-hero-ic {
    width: 52px; height: 52px; border: 1px solid rgba(76,199,251,.3);
    background: linear-gradient(135deg,rgba(76,199,251,.2),rgba(67,215,208,.08));
    color: #7fdcff; font-family: Consolas,monospace; font-size: 16px; font-weight: 900;
    box-shadow: inset 0 1px rgba(255,255,255,.08),0 9px 22px rgba(0,0,0,.2);
}
.querys-hero-txt small { display: block; margin-bottom: 2px; color: #54c6ec; font-size: 8px; font-weight: 950; letter-spacing: 1.3px; }
.querys-hero-txt strong { font-size: 17px; }
.querys-hero-txt p { max-width: 690px; color: #829bad; font-size: 11.5px; }
.querys-hero-acoes { position: relative; z-index: 1; display: flex; gap: 8px; }
.querys-hero-acoes button { min-height: 38px; border-radius: 9px; padding: 9px 13px; font-size: 9px; font-weight: 950; letter-spacing: .5px; cursor: pointer; }
.querys-copiar-tudo { border: 1px solid #277454; background: rgba(0,214,143,.1); color: #72e2ad; }
.querys-copiar-tudo:hover:not(:disabled) { background: rgba(0,214,143,.17); border-color: #42ad80; }
.querys-copiar-tudo:disabled { cursor: default; opacity: .35; }
.querys-limpar-tudo { border: 1px solid #5c3540; background: rgba(255,92,108,.08); color: #e9929a; }
.querys-dashboard { display: grid; grid-template-columns: 180px 205px 180px 1fr; gap: 10px; margin-bottom: 14px; }
.querys-kpi,.querys-dica { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 10px 12px; border: 1px solid #1f3b50; border-radius: 11px; background: rgba(8,25,38,.9); box-shadow: 0 7px 18px rgba(0,0,0,.12); }
.querys-kpi > span,.querys-dica > span { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; border-radius: 9px; color: #7fdcff; background: rgba(76,199,251,.1); font-size: 17px; }
.querys-kpi.duplicados > span { color: #ffca68; background: rgba(255,188,0,.1); }
.querys-kpi.gerados > span { color: #65dfaa; background: rgba(0,214,143,.1); }
.querys-kpi small { display: block; color: #698296; font-size: 7.5px; font-weight: 950; letter-spacing: .8px; }
.querys-kpi strong { display: block; color: #edf6fb; font-size: 21px; line-height: 1.1; }
.querys-dica p { margin: 0; color: #718b9e; font-size: 9px; line-height: 1.4; }
.querys-dica b { display: block; color: #afc3d0; font-size: 10px; }
.querys-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: start; }
.query-card {
    position: relative; min-width: 0; padding: 15px; gap: 12px; overflow: hidden;
    border: 1px solid #244258; border-top: 1px solid #244258; border-left: 4px solid #5a6b82;
    border-radius: 14px; background: radial-gradient(circle at 100% 0,rgba(76,199,251,.06),transparent 40%),linear-gradient(145deg,#102b40,#0a1c2b);
    box-shadow: 0 10px 25px rgba(0,0,0,.18); transition: transform .16s,border-color .16s,box-shadow .16s;
}
.query-card:hover { transform: translateY(-2px); border-color: #3c6077; box-shadow: 0 15px 32px rgba(0,0,0,.27); }
.query-card.cor-azul { border-left-color: #4cc7fb; }
.query-card.cor-verde { border-left-color: #00d68f; }
.query-card.cor-roxo { border-left-color: #a78bff; }
.query-card.cor-ambar { border-left-color: var(--amarelo-mopar); }
.query-card.cor-ciano { border-left-color: #43d7d0; }
.query-card.tem-resultado { box-shadow: 0 0 0 1px rgba(76,199,251,.08) inset,0 12px 28px rgba(0,0,0,.22); }
.query-card.expandido { grid-column: 1/-1; transform: none; }
.query-card.expandido .query-in { min-height: 150px; }
.query-card.expandido .query-out { min-height: 210px; }
.query-card-cab { align-items: flex-start; }
.query-ic { width: 40px; height: 40px; border: 1px solid #31536a; color: #9fdcf1; background: rgba(76,199,251,.07); font-size: 18px; }
.query-card-tit small { color: #5f8199; }
.query-card-tit h3 { margin-top: 2px; font-size: 15px; }
.query-card-tit p { margin: 3px 0 0; color: #71899b; font-size: 9.5px; line-height: 1.4; }
.query-card-indicador { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 45px; padding: 6px 7px; border: 1px solid #2c485c; border-radius: 9px; background: rgba(0,0,0,.15); }
.query-card-indicador .query-count { min-width: 0; padding: 0; background: none; color: #e5f2f8; font-size: 17px; line-height: 1; }
.query-card-indicador small { color: #627e91; font-size: 6.5px; font-weight: 950; letter-spacing: .8px; }
.query-editor-bloco { overflow: hidden; border: 1px solid #29475b; border-radius: 10px; background: #061521; transition: border-color .15s,box-shadow .15s; }
.query-editor-bloco:focus-within { border-color: #3982a4; box-shadow: 0 0 0 3px rgba(76,199,251,.07); }
.query-editor-label,.query-saida-cab { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px; border-bottom: 1px solid #203a4d; background: rgba(255,255,255,.025); }
.query-editor-label > span,.query-saida-cab > span { display: inline-flex; align-items: center; gap: 6px; color: #8098a9; font-size: 7.5px; font-weight: 950; letter-spacing: 1px; }
.query-editor-label i,.query-saida-cab i { width: 6px; height: 6px; border-radius: 50%; background: #4cc7fb; box-shadow: 0 0 6px #4cc7fb; }
.query-editor-label > small { color: #526f83; font-size: 8px; }
.query-in,.query-out {
    display: block; border: 0; border-radius: 0; padding: 11px 12px; resize: vertical;
    background: #061521; color: #d8e6ef; font-size: 11.5px; line-height: 1.55; outline: 0;
    scrollbar-color: #315269 transparent;
}
.query-in { min-height: 100px; }
.query-in::placeholder,.query-out::placeholder { color: #456074; }
.query-analise { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 10px; border-top: 1px solid #1c3547; color: #607d91; background: #081a27; font-size: 8px; }
.query-analise b { color: #6b9d8a; font-weight: 800; }
.query-saida-cab { padding: 0; border: 0; background: transparent; }
.query-saida-cab > span i { background: #00d68f; box-shadow: 0 0 6px #00d68f; }
.query-saida-acoes { margin-left: auto; }
.query-btn { min-height: 30px; padding: 6px 9px; border-color: #2c495e; background: rgba(255,255,255,.035); color: #8fa7b7; font-size: 8px; letter-spacing: .35px; }
.query-btn.expandir { width: 30px; padding: 0; font-size: 13px; }
.query-btn.copiar { border-color: #276449; color: #68d4a0; background: rgba(0,214,143,.06); }
.query-btn.copiar:hover { background: rgba(0,214,143,.12); }
.query-out { min-height: 105px; border: 1px solid #24465a; border-radius: 10px; color: #70d7f3; background: linear-gradient(145deg,rgba(76,199,251,.055),rgba(0,0,0,.12)),#061521; white-space: pre; }
@media (max-width: 1000px) {
    .querys-dashboard { grid-template-columns: repeat(3,1fr); }
    .querys-dica { grid-column: 1/-1; }
}
@media (max-width: 760px) {
    .querys-grid { grid-template-columns: 1fr; }
    .query-card.expandido { grid-column: auto; }
    .querys-hero { align-items: flex-start; }
    .querys-hero-acoes { width: 100%; }
    .querys-hero-acoes button { flex: 1; }
}
@media (max-width: 560px) {
    .querys-wrap { padding: 12px 10px 26px; }
    .querys-dashboard { grid-template-columns: 1fr 1fr; }
    .querys-kpi.gerados { grid-column: 1/-1; }
    .querys-hero-txt { align-items: flex-start; }
    .querys-hero-ic { width: 42px; height: 42px; }
    .querys-hero-txt p { font-size: 10px; }
    .querys-hero-acoes { flex-direction: column; }
    .query-card { padding: 12px; }
    .query-saida-cab { align-items: flex-start; flex-direction: column; gap: 8px; }
    .query-saida-acoes { width: 100%; margin-left: 0; }
    .query-saida-acoes .query-btn { flex: 1; }
}

/* ==========================================================================
   LIBERAÇÃO DE VEÍCULOS — portaria, manifesto e sincronização com Emissão
   ========================================================================== */
.liberacoes-header { background: radial-gradient(circle at 88% 0,rgba(0,214,143,.08),transparent 35%),linear-gradient(125deg,#0b2838,#091d2b); }
.liberacoes-header .dh-icone { color: #5cffb0; background: rgba(0,214,143,.11); border-color: rgba(0,214,143,.25); }
.lib-resumo { display: flex; align-items: center; gap: 9px; margin-top: 13px; padding: 10px; border: 1px solid #254257; border-radius: 11px; background: rgba(6,20,30,.55); }
.lib-resumo > div { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.lib-resumo > div > span { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 auto; border-radius: 8px; color: #64ddb0; background: rgba(0,214,143,.1); font-size: 8px; font-weight: 950; }
.lib-resumo p { min-width: 0; margin: 0; }
.lib-resumo small { display: block; color: #637e91; font-size: 7px; font-weight: 900; letter-spacing: .8px; }
.lib-resumo b { display: block; overflow: hidden; color: #afc2ce; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.lib-resumo > i { color: #3b596d; font-style: normal; }
.lib-busca { display: flex; align-items: center; gap: 8px; max-width: 520px; margin-top: 11px; padding: 8px 12px; border: 1px solid #29485c; border-radius: 20px; background: #061723; }
.lib-busca span { color: #668398; font-size: 17px; }
.lib-busca input { flex: 1; border: 0; outline: 0; background: transparent; color: #dce8f2; font-size: 11.5px; }
.lib-lista { display: grid; grid-template-columns: repeat(auto-fill,minmax(300px,1fr)); gap: 14px; align-content: start; padding: 5px 2px 20px; }
.lib-card { display: flex; min-width: 0; min-height: 285px; flex-direction: column; gap: 11px; padding: 15px; border: 1px solid #29465a; border-left: 4px solid #00d68f; border-radius: 14px; background: radial-gradient(circle at 100% 0,rgba(0,214,143,.08),transparent 42%),linear-gradient(145deg,#102b3c,#091d2b); box-shadow: 0 9px 24px rgba(0,0,0,.19); transition: transform .16s,border-color .16s,box-shadow .16s; }
.lib-card:hover { transform: translateY(-3px); border-color: #41677d; box-shadow: 0 15px 32px rgba(0,0,0,.28); }
.lib-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lib-card-head small,.lib-card-motorista small,.lib-card-grid small { display: block; color: #698397; font-size: 7.5px; font-weight: 950; letter-spacing: .9px; }
.lib-card-head strong { display: block; margin-top: 1px; color: #eff8fb; font-family: Consolas,monospace; font-size: 20px; }
.lib-card-head > span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 20px; color: #66dfad; background: rgba(0,214,143,.1); font-size: 8px; font-weight: 950; letter-spacing: .7px; }
.lib-card-head > span i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 6px currentColor; }
.lib-card-motorista { padding: 8px 10px; border: 1px solid #28465a; border-radius: 9px; background: rgba(0,0,0,.14); }
.lib-card-motorista b { display: block; margin-top: 2px; color: #d7e4ec; font-size: 11.5px; }
.lib-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.lib-card-grid > div { min-width: 0; padding: 8px 9px; border: 1px solid #243f52; border-radius: 8px; background: rgba(255,255,255,.02); }
.lib-card-grid b { display: block; overflow: hidden; margin-top: 2px; color: #aebfcb; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.lib-card-entregas { display: grid; grid-template-columns: 25px 1fr; gap: 1px 8px; padding: 9px; border: 1px solid #31536a; border-radius: 9px; background: rgba(76,199,251,.055); }
.lib-card-entregas > span { grid-row: 1/3; color: #7fdcff; font-size: 18px; }
.lib-card-entregas b { color: #aed5e5; font-size: 9.5px; }
.lib-card-entregas small { overflow: hidden; color: #68879a; font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.lib-card-meta { margin-top: auto; color: #688194; font-size: 8.5px; }
.lib-card-meta b { color: #91a8b7; }
.lib-card-acoes { display: flex; gap: 7px; padding-top: 9px; border-top: 1px solid #243e51; }
.lib-card-acoes button { flex: 1; border: 1px solid #315269; border-radius: 8px; padding: 7px; background: rgba(255,255,255,.035); color: #a4bac7; font-size: 8.5px; font-weight: 900; cursor: pointer; }
.lib-card-acoes button:last-child { border-color: #28694f; color: #68d7a4; background: rgba(0,214,143,.06); }
.jat-marca { display: flex; width: 58px; height: 48px; flex: 0 0 auto; flex-direction: column; align-items: center; justify-content: center; border-radius: 7px; background: linear-gradient(145deg,#104a91,#062d67); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18),0 7px 18px rgba(0,38,93,.24); }
.jat-marca b { font-family: Arial Black,Arial,sans-serif; font-size: 20px; font-style: italic; letter-spacing: -2px; line-height: 18px; }
.jat-marca small { margin-top: 3px; font-size: 5.5px; font-weight: 900; letter-spacing: .8px; }
.jat-marca.grande { width: 72px; height: 58px; border-radius: 5px; }.jat-marca.grande b { font-size: 26px; line-height: 22px; }.jat-marca.grande small { font-size: 6px; }
.lib-modal-identidade { display: flex; align-items: center; gap: 14px; }
.lib-modal-identidade { flex: 1; }
.lib-aviao { display: flex; width: 82px; margin-left: auto; align-items: center; justify-content: center; }
.lib-aviao svg { width: 72px; fill: transparent; stroke: #9ba5ae; stroke-width: 2.4; stroke-linejoin: round; transform: rotate(-5deg); }
.lib-modal-identidade > div:last-child > span { color: #08296a; font-size: 8px; font-weight: 900; letter-spacing: 1.1px; }
.lib-card-comentario { padding: 8px 9px; border-left: 2px solid #d7a928; background: rgba(215,169,40,.06); }
.lib-card-comentario small { color: #997f36; font-size: 7px; font-weight: 900; letter-spacing: .7px; }
.lib-card-comentario p { overflow: hidden; margin: 3px 0 0; color: #aebfcb; font-size: 9px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
#liberacoes-painel { background: radial-gradient(circle at 8% 0,rgba(28,92,156,.13),transparent 30%),#06131e; }
#liberacoes-painel .liberacoes-header { border-bottom-color: #123d70; background: linear-gradient(115deg,#071a2a,#082846); }
#liberacoes-painel .dh-kicker { color: #66afe8; }
#liberacoes-painel .dh-relogio { border-color: #1e5488; background: #071b2d; }
#liberacoes-painel .dh-relogio b { color: #76bdf1; }
#liberacoes-painel .dh-btn.primario { background: linear-gradient(135deg,#185a9b,#0d3c78); box-shadow: 0 8px 20px rgba(0,54,120,.25); }
#liberacoes-painel .lib-resumo > div span { border-color: #245f98; background: #0a3157; color: #77bff1; }
#liberacoes-painel .lib-busca { border-color: #23517c; background: rgba(2,16,29,.65); }
.liberacao-modal-conteudo { width: min(96vw,960px); max-height: 95vh; }
.liberacao-modal-conteudo { border-color: rgba(58,177,218,.34); background: linear-gradient(165deg,#0b2230 0,#071722 52%,#06131d 100%); box-shadow: 0 30px 90px rgba(0,0,0,.62),0 0 0 1px rgba(91,202,239,.06) inset; }
.liberacao-modal-conteudo > header { background: radial-gradient(circle at 82% -30%,rgba(45,187,222,.18),transparent 48%),linear-gradient(110deg,#0c3042,#0a2230); }
.liberacao-modal-conteudo > header > div > span { color: #64d9f4; }
.lib-fluxo-editor { display: grid; grid-template-columns: repeat(3,1fr); position: relative; margin-bottom: 14px; padding: 11px 12px; border: 1px solid rgba(77,139,166,.23); border-radius: 13px; background: rgba(3,17,26,.62); }
.lib-fluxo-editor::before { content: ""; position: absolute; top: 29px; left: 17%; right: 17%; height: 1px; background: linear-gradient(90deg,#24bde4,#32748d,#24b985); }
.lib-fluxo-editor span { position: relative; z-index: 1; display: grid; grid-template-columns: 30px 1fr; grid-template-rows: 15px 14px; column-gap: 9px; align-items: center; }
.lib-fluxo-editor i { grid-row: 1/3; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #32677d; border-radius: 50%; background: #092433; color: #7fa6b8; font-size: 9px; font-style: normal; font-weight: 900; }
.lib-fluxo-editor .ativo i { border-color: #26c6eb; background: #1485aa; color: white; box-shadow: 0 0 0 4px rgba(38,198,235,.08); }
.lib-fluxo-editor b { color: #dcebf2; font-size: 8px; letter-spacing: .8px; }
.lib-fluxo-editor small { color: #668697; font-size: 7.5px; }
.lib-manifesto-busca { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px; border: 1px solid #2c4b60; border-radius: 12px; background: radial-gradient(circle at 90% 0,rgba(76,199,251,.08),transparent 50%),#081c29; }
.lib-manifesto-busca small,.lib-entregas-topo small { color: #65cbed; font-size: 7.5px; font-weight: 950; letter-spacing: 1px; }
.lib-manifesto-busca b { display: block; margin-top: 2px; color: #e4eef4; font-size: 13px; }
.lib-manifesto-busca p { margin: 3px 0 0; color: #6c879a; font-size: 9.5px; }
.lib-manifesto-input { display: flex; min-width: 330px; }
.lib-manifesto-input input { flex: 1; min-width: 0; border: 1px solid #355a70; border-radius: 9px 0 0 9px; padding: 10px 12px; outline: 0; background: #05131e; color: #eff8fb; font-family: Consolas,monospace; font-size: 15px; letter-spacing: 1px; }
.lib-manifesto-input button { border: 0; border-radius: 0 9px 9px 0; padding: 0 17px; background: linear-gradient(135deg,#237fae,#196084); color: #fff; font-size: 9px; font-weight: 950; cursor: pointer; }
#lib-editor-corpo { margin-top: 15px; }
.lib-form-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.lib-form-grid label,.lib-observacao { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.lib-form-grid small,.lib-observacao small,.lib-sincroniza small { color: #698397; font-size: 7.5px; font-weight: 950; letter-spacing: .8px; }
.lib-form-grid input,.lib-observacao textarea { min-height: 39px; box-sizing: border-box; border: 1px solid #29485d; border-radius: 8px; padding: 8px 10px; outline: 0; background: #061722; color: #dbe7ef; font-size: 11px; }
.lib-form-grid input:focus,.lib-observacao textarea:focus,.lib-sincroniza input:focus { border-color: #4cc7fb; box-shadow: 0 0 0 3px rgba(76,199,251,.07); }
.lib-sincroniza { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0; padding: 12px; border: 1px solid #27634d; border-radius: 11px; background: rgba(0,214,143,.055); }
.lib-sincroniza label { display: flex; align-items: center; gap: 9px; min-width: 0; }
.lib-sincroniza label > span { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 9px; background: rgba(0,214,143,.1); }
.lib-sincroniza label > div { flex: 1; min-width: 0; }
.lib-sincroniza input { width: 100%; min-height: 36px; box-sizing: border-box; border: 1px solid #307058; border-radius: 7px; padding: 7px 9px; outline: 0; background: #061b18; color: #bcebd4; font-size: 11px; }
.lib-sincroniza > p { grid-column: 1/-1; margin: 0; color: #5e967e; font-size: 8.5px; text-align: center; }
.lib-entregas-topo { display: flex; align-items: center; justify-content: space-between; margin: 14px 0 8px; }
.lib-entregas-topo h3 { margin: 2px 0 0; color: #dce8ef; font-size: 13px; }
.lib-entregas-topo button { border: 1px solid #31536a; border-radius: 8px; padding: 7px 10px; background: rgba(76,199,251,.07); color: #7fdcff; font-size: 8px; font-weight: 950; cursor: pointer; }
.lib-entregas { display: flex; flex-direction: column; gap: 7px; }
.lib-entrega { display: grid; grid-template-columns: 34px 145px 1fr 28px; align-items: center; gap: 9px; padding: 9px; border: 1px solid #29485c; border-radius: 9px; background: #071a27; }
.lib-entrega.pendente { border-color: #76562a; background: rgba(255,188,0,.05); }
.lib-entrega-num { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: #7fdcff; background: rgba(76,199,251,.09); font-size: 9px; font-weight: 950; }
.lib-entrega label small,.lib-entrega-destino small { display: block; color: #658095; font-size: 7px; font-weight: 950; letter-spacing: .7px; }
.lib-entrega select { width: 100%; border: 1px solid #315269; border-radius: 7px; padding: 7px; background: #061521; color: #c9d9e3; font-size: 9.5px; }
.lib-entrega-destino { min-width: 0; }
.lib-entrega-destino b { display: block; overflow: hidden; margin-top: 2px; color: #aebfca; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.lib-entrega > button { width: 27px; height: 27px; border: 1px solid #613541; border-radius: 7px; background: rgba(255,92,108,.08); color: #f18b95; cursor: pointer; }
.lib-entregas-vazio { padding: 18px; border: 1px dashed #365368; border-radius: 9px; color: #6b8597; font-size: 10px; text-align: center; }
.lib-observacao { margin-top: 12px; }
.lib-observacao textarea { min-height: 67px; resize: vertical; }
.liberacao-modal-conteudo > footer button:disabled { cursor: default; opacity: .38; }
.liberacao-modal-conteudo > footer .salvar:not(:disabled) { background: linear-gradient(135deg,#16a974,#0b835a); box-shadow: 0 7px 20px rgba(13,148,99,.2); }
.liberacao-modal-conteudo .trafego-modal-corpo { scrollbar-color: #2d687e transparent; }

/* Ficha de liberação: linguagem visual baseada no formulário operacional original. */
.liberacao-modal-conteudo { border: 2px solid #08296a; border-radius: 4px; background: #f4f5f7; box-shadow: 0 26px 80px rgba(0,0,0,.58); }
.liberacao-modal-conteudo > header { border-bottom: 4px solid #08296a; border-radius: 0; background: #fff; }
.liberacao-modal-conteudo > header > div > span { color: #08296a; }
.liberacao-modal-conteudo > header h2 { color: #111; font-size: 22px; letter-spacing: .3px; }
.liberacao-modal-conteudo > header p { color: #5d6570; }
.liberacao-modal-conteudo > header > button { border-color: #c3c7cc; background: #fff; color: #111; }
.liberacao-modal-conteudo .trafego-modal-corpo { background: #eef0f3; scrollbar-color: #173d77 #e3e6e9; }
.lib-manifesto-busca { border: 2px solid #08296a; border-radius: 2px; background: #fff; }
.lib-manifesto-busca small { color: #08296a; }.lib-manifesto-busca b { color: #111; font-size: 14px; }.lib-manifesto-busca p { color: #666; }
.lib-manifesto-input input { border: 2px solid #08296a; border-radius: 0; background: #fff; color: #111; }
.lib-manifesto-input button { border-radius: 0; background: #08296a; font-size: 9px; }
#lib-editor-corpo { border: 2px solid #171717; background: #fff; }
.lib-form-grid { grid-template-columns: 1fr 1fr; gap: 0; }
.lib-form-grid label { display: grid; grid-template-columns: 118px 1fr; min-height: 44px; gap: 0; border-right: 1px solid #111; border-bottom: 1px solid #111; }
.lib-form-grid label:nth-child(2n) { border-right: 0; }
.lib-form-grid .lib-campo-comentario { grid-column: 1/-1; border-right: 0; }
.lib-form-grid small { display: flex; align-items: center; padding: 8px 10px; border-right: 1px solid #111; background: #f5f5f5; color: #111; font-size: 8.5px; font-weight: 900; letter-spacing: .2px; }
.lib-form-grid input { min-height: 42px; border: 0; border-radius: 0; padding: 8px 12px; background: #fff; color: #111; font-size: 12px; font-weight: 700; }
.lib-form-grid input:focus,.lib-observacao textarea:focus,.lib-sincroniza input:focus { box-shadow: inset 0 0 0 2px #2c6bb2; border-color: transparent; }
.lib-sincroniza { grid-template-columns: 1fr 1fr; gap: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: #fff; }
.lib-sincroniza label { display: grid; grid-template-columns: 42px 1fr; gap: 0; min-height: 52px; border-right: 1px solid #111; border-bottom: 1px solid #111; }
.lib-sincroniza label:nth-child(2) { border-right: 0; }
.lib-sincroniza label > span { width: auto; height: 100%; border-radius: 0; background: #e8eff8; }
.lib-sincroniza label > div { display: grid; grid-template-columns: 105px 1fr; align-items: stretch; }
.lib-sincroniza small { display: flex; align-items: center; padding: 7px 9px; border-right: 1px solid #111; color: #111; font-size: 8.5px; }
.lib-sincroniza input { min-height: 50px; border: 0; border-radius: 0; background: #fff; color: #111; font-weight: 800; }
.lib-sincroniza > p { padding: 7px 10px; border-bottom: 1px solid #111; background: #fff8df; color: #5d4b16; font-size: 8px; }
.lib-entregas-topo { margin: 0; padding: 10px 12px; background: #08296a; }
.lib-entregas-topo small,.lib-entregas-topo h3 { color: #fff; }.lib-entregas-topo h3 { font-size: 15px; text-transform: uppercase; }
.lib-entregas-topo button { border: 1px solid #fff; border-radius: 2px; background: #2169ad; color: #fff; }
.lib-entregas { gap: 0; }
.lib-entrega { grid-template-columns: 42px 150px 1fr 34px; gap: 0; padding: 0; border: 0; border-bottom: 1px solid #111; border-radius: 0; background: #fff; }
.lib-entrega.pendente { border-color: #111; background: #fff9e8; }
.lib-entrega-num { width: 100%; height: 100%; min-height: 46px; border-right: 1px solid #111; border-radius: 0; background: #f2f2f2; color: #111; }
.lib-entrega label { height: 100%; padding: 5px 7px; border-right: 1px solid #111; }
.lib-entrega label small,.lib-entrega-destino small { color: #08296a; }
.lib-entrega select { border: 0; border-radius: 0; background: #fff; color: #111; font-weight: 800; }
.lib-entrega-destino { padding: 7px 10px; }.lib-entrega-destino b { color: #111; white-space: normal; }
.lib-entrega > button { width: 100%; height: 100%; min-height: 46px; border: 0; border-left: 1px solid #111; border-radius: 0; background: #fff; color: #a30000; }
.lib-entregas-vazio { border: 0; border-bottom: 1px solid #111; border-radius: 0; background: #fff; color: #555; }
.lib-observacao { display: grid; grid-template-columns: 118px 1fr; gap: 0; margin: 0; border-bottom: 1px solid #111; }
.lib-observacao small { display: flex; align-items: center; padding: 10px; border-right: 1px solid #111; color: #111; }
.lib-observacao textarea { min-height: 65px; border: 0; border-radius: 0; background: #fff; color: #111; }
.liberacao-modal-conteudo > footer { border-top: 3px solid #08296a; background: #fff; color: #333; }
.liberacao-modal-conteudo > footer .salvar:not(:disabled) { border-radius: 2px; background: #08296a; box-shadow: none; }
.enderecos-modal-conteudo { width: min(96vw,1050px); }
.end-form { display: grid; grid-template-columns: 90px 1.4fr 1.5fr 85px 1fr 1fr 110px 120px auto; gap: 6px; margin-bottom: 12px; }
.end-form input { min-width: 0; border: 1px solid #29485c; border-radius: 7px; padding: 8px; outline: 0; background: #061722; color: #d7e5ed; font-size: 9.5px; text-transform: uppercase; }
.end-form button { border: 0; border-radius: 7px; padding: 8px 11px; background: #168258; color: #fff; font-size: 8px; font-weight: 950; cursor: pointer; }
.end-busca { display: flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #29485c; border-radius: 9px; background: #071722; }
.end-busca span { color: #668398; }
.end-busca input { flex: 1; border: 0; outline: 0; background: transparent; color: #dce8f2; font-size: 11px; }
.end-lista { display: flex; max-height: 470px; flex-direction: column; gap: 5px; margin-top: 10px; overflow-y: auto; }
.end-item { display: grid; grid-template-columns: 70px 1fr 100px 28px 28px; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid #263f52; border-radius: 8px; background: rgba(255,255,255,.02); }
.end-item > b { color: #7fdcff; font-family: Consolas,monospace; font-size: 11px; }
.end-item div { min-width: 0; }
.end-item strong,.end-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.end-item strong { color: #b8c9d4; font-size: 9.5px; }.end-item small { margin-top: 2px; color: #698397; font-size: 8.5px; }
.end-item > span { color: #8da5b5; font-size: 8px; }
.end-item button { width: 27px; height: 27px; border: 1px solid #315269; border-radius: 7px; background: rgba(255,255,255,.035); color: #9db4c2; cursor: pointer; }
.end-item button.excluir { border-color: #5c3540; color: #ed929a; }
@media (max-width: 900px) {
    .lib-resumo { display: grid; grid-template-columns: 1fr 1fr; }.lib-resumo > i { display: none; }
    .lib-form-grid { grid-template-columns: 1fr 1fr; }
    .end-form { grid-template-columns: repeat(4,1fr); }.end-form button { grid-column: 1/-1; }
}
@media (max-width: 640px) {
    .lib-lista { grid-template-columns: 1fr; }
    .lib-manifesto-busca { align-items: stretch; flex-direction: column; }
    .lib-fluxo-editor { grid-template-columns: 1fr; gap: 9px; }
    .lib-fluxo-editor::before { display: none; }
    .lib-manifesto-input { min-width: 0; }
    .lib-form-grid,.lib-sincroniza { grid-template-columns: 1fr; }
    .lib-sincroniza > p { grid-column: auto; }
    .lib-aviao { display: none; }
    .lib-modal-identidade { gap: 9px; }
    .jat-marca.grande { width: 56px; height: 48px; }
    .liberacao-modal-conteudo > header h2 { font-size: 16px; }
    .lib-form-grid label,.lib-form-grid .lib-campo-comentario { grid-column: auto; grid-template-columns: 105px 1fr; border-right: 0; }
    .lib-sincroniza label { border-right: 0; }
    .lib-entrega { grid-template-columns: 32px 1fr 28px; }
    .lib-entrega-destino { grid-column: 2/4; }
    .end-form { grid-template-columns: 1fr 1fr; }
    .end-item { grid-template-columns: 55px 1fr 28px 28px; }.end-item > span { display: none; }
}
.md-liberacao-trafego{margin:18px 0 6px;border:1px solid rgba(42,210,151,.35);border-radius:14px;background:linear-gradient(145deg,rgba(12,50,54,.82),rgba(7,25,38,.92));overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.md-liberacao-trafego[hidden]{display:none}
.md-liberacao-trafego>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(42,210,151,.18)}
.md-liberacao-trafego>header small{display:block;color:#6fe0b7;font-size:9px;font-weight:800;letter-spacing:1.2px}
.md-liberacao-trafego>header h3{margin:3px 0 0;color:#eafff7;font-size:16px}
.md-liberacao-trafego>header span{padding:6px 10px;border-radius:999px;background:#20b77b;color:#031c16;font-size:9px;font-weight:900;letter-spacing:.8px}
.md-lib-resumo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(42,210,151,.12)}
.md-lib-resumo>div{min-width:0;padding:12px 14px;background:#0a2130}
.md-lib-resumo small,.md-lib-entregas>small,.md-lib-entregas aside small{display:block;color:#7095a8;font-size:8px;font-weight:800;letter-spacing:1px}
.md-lib-resumo b{display:block;margin-top:4px;color:#f3fbff;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md-lib-entregas{padding:13px 15px}
.md-lib-entregas>div{display:grid;grid-template-columns:30px 70px 1fr;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:8px;background:rgba(1,14,23,.48)}
.md-lib-entregas>div span{color:#55dca9;font-size:10px;font-weight:900}.md-lib-entregas>div b{color:#f2f8fb;font-size:10px}.md-lib-entregas>div p{margin:0;color:#9bb2be;font-size:10px}
.md-lib-entregas aside{margin-top:10px;padding:10px 12px;border-left:2px solid #e9ba38;background:rgba(233,186,56,.06)}
.md-lib-entregas aside p{margin:4px 0 0;color:#dce8ed;font-size:11px;white-space:pre-wrap}
@media(max-width:760px){.md-lib-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}.md-lib-entregas>div{grid-template-columns:26px 60px 1fr}}

/* Liberação digital - acabamento visual premium, sem alterar a ficha impressa. */
#liberacoes-painel .docas-header { padding: 20px 22px 16px; }
#liberacoes-painel .dh-topo { gap: 18px; }
#liberacoes-painel .dh-marca { min-width: 0; }
#liberacoes-painel .dh-marca h2 { margin-top: 2px; font-size: 22px; letter-spacing: -.35px; }
#liberacoes-painel .dh-marca p { margin-top: 4px; color: #7894a8; }
#liberacoes-painel .jat-marca { width: 64px; height: 54px; border-radius: 10px; }
#liberacoes-painel .jat-marca b { font-size: 23px; }
#liberacoes-painel .dh-relogio { min-width: 90px; padding: 10px 16px; border-radius: 12px; text-align: center; }
#liberacoes-painel .dh-relogio b { font-size: 24px; }
#liberacoes-painel .dh-acoes { flex-wrap: wrap; justify-content: flex-end; }
#liberacoes-painel .dh-btn { min-height: 38px; border-radius: 9px; padding: 0 13px; }
#liberacoes-painel .lib-resumo { margin-top: 16px; border: 1px solid rgba(59,118,167,.24); border-radius: 13px; padding: 10px 14px; background: rgba(2,18,31,.48); }
#liberacoes-painel .lib-resumo > div { min-width: 0; }
#liberacoes-painel .lib-resumo > div b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#liberacoes-painel .lib-busca { margin-top: 12px; min-height: 42px; border-radius: 11px; }
#liberacoes-painel .pq-lista-wrap { padding: 18px 20px 24px; }
#liberacoes-painel .lib-lista { grid-template-columns: repeat(auto-fill,minmax(305px,1fr)); gap: 14px; }

#liberacoes-painel .lib-card { position: relative; gap: 11px; padding: 0; overflow: hidden; border: 1px solid #23445d; border-radius: 14px; background: linear-gradient(155deg,#0b2232,#071722 72%); box-shadow: 0 10px 28px rgba(0,0,0,.2); transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
#liberacoes-painel .lib-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(#368bd2,#1bb27c); }
#liberacoes-painel .lib-card:hover { transform: translateY(-2px); border-color: #356b8f; box-shadow: 0 16px 34px rgba(0,0,0,.28); }
#liberacoes-painel .lib-card-head { margin: 0; padding: 15px 16px 11px 18px; border-bottom: 1px solid rgba(71,119,148,.2); background: rgba(255,255,255,.018); }
.lib-card-manifesto small { display: block; color: #66889e; font-size: 7px; font-weight: 900; letter-spacing: 1.1px; }
.lib-card-manifesto strong { display: block; margin-top: 2px; color: #fff; font-family: Consolas,monospace; font-size: 21px; letter-spacing: .5px; }
.lib-card-status { display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(38,192,132,.28); border-radius: 999px; padding: 5px 9px; background: rgba(26,160,108,.09); color: #65dfad; font-size: 7px; font-weight: 900; letter-spacing: .7px; }
.lib-card-status i { width: 6px; height: 6px; border-radius: 50%; background: #31d592; box-shadow: 0 0 0 4px rgba(49,213,146,.08); }
#liberacoes-painel .lib-card-motorista { padding: 0 16px 0 18px; }
#liberacoes-painel .lib-card-motorista small,.lib-card-rota small,.lib-card-seguranca small { color: #607f92; font-size: 7px; font-weight: 900; letter-spacing: .8px; }
#liberacoes-painel .lib-card-motorista b { margin-top: 3px; color: #e8f1f5; font-size: 12px; }
#liberacoes-painel .lib-card-grid { margin: 0 16px 0 18px; overflow: hidden; border: 1px solid #27465a; border-radius: 9px; }
#liberacoes-painel .lib-card-grid > div { padding: 9px 11px; border: 0; background: rgba(1,13,21,.33); }
#liberacoes-painel .lib-card-grid > div + div { border-left: 1px solid #27465a; }
#liberacoes-painel .lib-card-grid b { color: #d8e5eb; font-family: Consolas,monospace; font-size: 11px; letter-spacing: .4px; }
.lib-card-rota { margin: 0 16px 0 18px; padding: 9px 11px; border-left: 2px solid #397fb4; background: rgba(38,102,149,.07); }
.lib-card-rota b { display: block; overflow: hidden; margin-top: 3px; color: #a9c9dc; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.lib-card-seguranca { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 0 16px 0 18px; }
.lib-card-seguranca > div { display: grid; grid-template-columns: 28px 1fr; align-items: center; min-width: 0; padding: 8px 9px; border: 1px solid rgba(40,152,109,.25); border-radius: 9px; background: rgba(18,123,84,.06); }
.lib-card-seguranca > div > span { color: #4fd19f; font-size: 16px; }
.lib-card-seguranca p { min-width: 0; margin: 0; }
.lib-card-seguranca b { display: block; overflow: hidden; margin-top: 2px; color: #a9dfc9; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
#liberacoes-painel .lib-card-entregas { display: grid; grid-template-columns: 30px 1fr; margin: 0 16px 0 18px; padding: 9px 10px; }
#liberacoes-painel .lib-card-entregas > span { grid-row: auto; }
#liberacoes-painel .lib-card-entregas p { min-width: 0; margin: 0; }
#liberacoes-painel .lib-card-comentario { margin: 0 16px 0 18px; }
#liberacoes-painel .lib-card-meta { margin: 0; padding: 0 16px 0 18px; }
#liberacoes-painel .lib-card-acoes { gap: 0; margin-top: 2px; padding: 0; border-top: 1px solid #223e51; }
#liberacoes-painel .lib-card-acoes button { min-height: 42px; border: 0; border-radius: 0; background: rgba(255,255,255,.018); transition: background .15s ease,color .15s ease; }
#liberacoes-painel .lib-card-acoes button + button { border-left: 1px solid #223e51; }
#liberacoes-painel .lib-card-acoes button:hover { background: rgba(72,150,197,.09); color: #d8effc; }
#liberacoes-painel .lib-card-acoes button:last-child { background: rgba(18,134,89,.04); }

.liberacao-modal-conteudo { width: min(97vw,1020px); }
.liberacao-modal-conteudo > header { padding: 14px 18px; }
.liberacao-modal-conteudo .trafego-modal-corpo { padding: 16px 18px 20px; }
.liberacao-modal-conteudo #lib-editor-msg:not(:empty) { margin-top: 12px; border-radius: 7px; padding: 9px 11px; }
.liberacao-modal-conteudo .lib-manifesto-busca { transition: border-color .2s ease,box-shadow .2s ease; }
#modal-liberacao.manifesto-carregado .lib-manifesto-busca { border-color: #16865f; box-shadow: 0 0 0 3px rgba(22,134,95,.08); }
#modal-liberacao.manifesto-carregado .lib-manifesto-busca::after { content: "DADOS LOCALIZADOS"; align-self: center; border-radius: 999px; padding: 5px 8px; background: #e6f6ef; color: #10714f; font-size: 7px; font-weight: 900; letter-spacing: .6px; }
.liberacao-modal-conteudo > footer { min-height: 60px; padding: 10px 18px; }
.liberacao-modal-conteudo > footer button { min-height: 36px; }

@media(max-width:760px){
    #liberacoes-painel .docas-header{padding:15px}
    #liberacoes-painel .dh-topo{align-items:flex-start}
    #liberacoes-painel .dh-relogio{order:3}
    #liberacoes-painel .lib-resumo{display:none}
    #liberacoes-painel .pq-lista-wrap{padding:12px}
    #liberacoes-painel .lib-lista{grid-template-columns:1fr}
}

@media (max-width: 820px) {
    .prealerta-ficha .prealerta-entrega-linha { grid-template-columns: 90px 105px 1fr; }
    .prealerta-ficha .prealerta-entrega-linha .prealerta-destino-linha { grid-column: 3; grid-row: 1; }
}
