/* Painel RC Caminhões & Carretas. Celular primeiro (375 px), alvo de toque de 48 px, uma mão.
   Cores, fontes e medidas vêm do bloco de tokens abaixo (gerado de contrato/tokens.json). */

/* tokens:inicio (gerado por ferramentas/gerar-css.mjs a partir de contrato/tokens.json; não edite à mão) */
/* contrato/tokens.json versão 1.0.0 */
:root{color-scheme:light dark;--cor-fundo:#f7f7f7;--cor-superficie:#ffffff;--cor-superficie-2:#ededed;--cor-linha:#dcdcdc;--cor-texto:#262626;--cor-texto-suave:#555555;--cor-texto-desativado:#8a8a8a;--cor-marca:#f20505;--cor-sobre-marca:#ffffff;--cor-primaria:#d40404;--cor-primaria-hover:#a80303;--cor-sobre-primaria:#ffffff;--cor-secundaria:#262626;--cor-sobre-secundaria:#ffffff;--cor-destaque:#f20505;--cor-destaque-hover:#d40404;--cor-sobre-destaque:#ffffff;--cor-preco:#d40404;--cor-link:#d40404;--cor-whatsapp-botao:#14783f;--cor-sobre-whatsapp:#ffffff;--cor-foco:#262626;--estado-sucesso:#15803d;--estado-sucesso-fundo:#e7f5ec;--estado-erro:#a51d14;--estado-erro-fundo:#fdecea;--estado-aviso:#8a4b06;--estado-aviso-fundo:#fff4d1;--estado-info:#1f5fbf;--estado-info-fundo:#eaf1fb;--estado-vendido:#262626;--fonte-titulo:"Montserrat", "Gotham", "Helvetica Neue", Arial, sans-serif;--fonte-texto:"Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;--fonte-numero:"Montserrat", "Helvetica Neue", Arial, sans-serif;--peso-texto:400;--peso-medio:500;--peso-forte:600;--peso-negrito:700;--peso-titulo:800;--peso-titulo-pesado:900;--espacamento-titulo:0.01em;--espacamento-rotulo:0.18em;--texto-display:clamp(2.5rem, 8vw, 4.5rem);--texto-h1:clamp(2rem, 6vw, 3rem);--texto-h2:clamp(1.625rem, 4.5vw, 2.25rem);--texto-h3:1.5rem;--texto-h4:1.25rem;--texto-preco-cartao:1.75rem;--texto-preco-pagina:clamp(2.25rem, 7vw, 3rem);--texto-lead:1.125rem;--texto-corpo:1rem;--texto-pequeno:0.875rem;--texto-rotulo:0.8125rem;--altura-linha-titulo:1.05;--altura-linha-texto:1.5;--espaco-0:0;--espaco-1:4px;--espaco-2:8px;--espaco-3:12px;--espaco-4:16px;--espaco-5:20px;--espaco-6:24px;--espaco-8:32px;--espaco-10:40px;--espaco-12:48px;--espaco-16:64px;--espaco-24:96px;--espaco-margem-celular:16px;--espaco-alvo-toque-min:48px;--raio-selo:2px;--raio-controle:6px;--raio-botao:8px;--raio-cartao:10px;--raio-pilula:999px;--sombra-suave:0 1px 2px rgba(18,18,18,.06), 0 6px 16px -8px rgba(18,18,18,.20);--sombra-cartao:0 2px 4px rgba(18,18,18,.08), 0 12px 28px -12px rgba(18,18,18,.28);--sombra-alta:0 24px 48px -20px rgba(18,18,18,.40);--sombra-foco:0 0 0 2px #ffffff, 0 0 0 4px #262626;--sombra-foco-escuro:0 0 0 2px #121212, 0 0 0 4px #ffffff;--sombra-barra-whatsapp:0 -4px 16px rgba(18,18,18,.18);--movimento-rapido:150ms;--movimento-normal:220ms;--movimento-curva:cubic-bezier(.2,.7,.2,1);--cor-whatsapp-marca:#25d366;}
@media (prefers-color-scheme:dark){:root{--cor-fundo:#121212;--cor-superficie:#1e1e1e;--cor-superficie-2:#262626;--cor-linha:#3c3c3c;--cor-texto:#f2f2f2;--cor-texto-suave:#b0b0b0;--cor-texto-desativado:#8a8a8a;--cor-marca:#f20505;--cor-sobre-marca:#ffffff;--cor-primaria:#ff5c5c;--cor-primaria-hover:#ff8a8a;--cor-sobre-primaria:#121212;--cor-secundaria:#3c3c3c;--cor-sobre-secundaria:#ffffff;--cor-destaque:#ff5c5c;--cor-destaque-hover:#ff8a8a;--cor-sobre-destaque:#121212;--cor-preco:#ff5c5c;--cor-link:#ff8a8a;--cor-whatsapp-botao:#25d366;--cor-sobre-whatsapp:#121212;--cor-foco:#ffffff;--estado-sucesso:#4ade80;--estado-erro:#f87171;--estado-aviso:#fbbf24;--estado-info:#7fb0ee;--estado-vendido:#3c3c3c;--estado-sucesso-fundo:#262626;--estado-erro-fundo:#262626;--estado-aviso-fundo:#262626;--estado-info-fundo:#262626;--sombra-foco:0 0 0 2px #121212, 0 0 0 4px #ffffff;}}
/* tokens:fim */

/* Montserrat (SIL Open Font License, fontes/OFL.txt), fonte variável de 400 a 900, servida daqui (a CSP só permite 'self'). */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400 900;font-display:swap;src:url(fontes/montserrat-latin-normal.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400 900;font-display:swap;src:url(fontes/montserrat-latin-ext-normal.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Montserrat";font-style:italic;font-weight:400 900;font-display:swap;src:url(fontes/montserrat-latin-italic.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Montserrat";font-style:italic;font-weight:400 900;font-display:swap;src:url(fontes/montserrat-latin-ext-italic.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--cor-fundo);color:var(--cor-texto);font-family:var(--fonte-texto);font-size:var(--texto-corpo);line-height:var(--altura-linha-texto);-webkit-tap-highlight-color:transparent}
body.com-abas{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
img{max-width:100%;display:block}
a{color:var(--cor-link);text-underline-offset:3px}
h1,h2,h3{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);line-height:var(--altura-linha-titulo);letter-spacing:var(--espacamento-titulo);text-transform:uppercase;margin:0}
p{margin:0 0 var(--espaco-3)}
small{font-size:var(--texto-pequeno)}
code,pre{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--texto-rotulo)}
:focus-visible{outline:3px solid var(--cor-foco);outline-offset:2px}
.topo :focus-visible{outline-color:var(--cor-sobre-secundaria)}
.ic{width:24px;height:24px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.so-leitor{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pular{position:absolute;left:-999px;top:0;background:var(--cor-secundaria);color:var(--cor-sobre-secundaria);padding:var(--espaco-3);z-index:50}
.pular:focus{left:var(--espaco-2)}
[hidden]{display:none!important}

/* Topo */
.topo{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--espaco-3);min-height:56px;padding:var(--espaco-2) var(--espaco-margem-celular);padding-top:calc(var(--espaco-2) + env(safe-area-inset-top));background:var(--cor-secundaria);color:var(--cor-sobre-secundaria)}
/* Logo: só os SVG oficiais (estrutura.md 3.4). No topo, abaixo de 120 px, só o símbolo. */
.logo{display:inline-flex;align-items:center;flex:0 0 auto;min-height:var(--espaco-alvo-toque-min)}
.logo img{display:block;width:48px;height:32px}
.topo-marca{justify-content:center;min-height:0;padding-top:calc(var(--espaco-8) + env(safe-area-inset-top));padding-bottom:var(--espaco-8);border-bottom:4px solid var(--cor-marca)}
.topo-marca img{width:168px;height:auto}
.topo-titulo{flex:1;min-width:0;font-size:1.0625rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topo-usuario{display:none;font-size:var(--texto-pequeno);opacity:.85}
.topo-voltar{display:inline-flex;align-items:center;justify-content:center;width:var(--espaco-alvo-toque-min);height:var(--espaco-alvo-toque-min);margin-left:calc(var(--espaco-2) * -1);color:inherit;border-radius:var(--raio-botao)}
.topo-voltar + .logo{display:none}

main{display:block;width:100%;max-width:720px;margin:0 auto;padding:var(--espaco-4) var(--espaco-margem-celular) var(--espaco-8)}
main:focus{outline:none}

/* Abas de baixo (alcance do polegar) */
.abas{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:var(--cor-superficie);border-top:1px solid var(--cor-linha);padding-bottom:env(safe-area-inset-bottom);box-shadow:var(--sombra-suave)}
.aba{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;padding:var(--espaco-1);color:var(--cor-texto-suave);text-decoration:none;font-size:var(--texto-rotulo);font-weight:var(--peso-forte);list-style:none;cursor:pointer}
.aba summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;width:100%;list-style:none;cursor:pointer}
.aba summary::-webkit-details-marker{display:none}
.aba.ativa,.aba[aria-current]{color:var(--cor-primaria)}
.aba.ativa::before{content:"";position:absolute;top:0;left:25%;right:25%;height:3px;background:var(--cor-destaque);border-radius:0 0 3px 3px}
.aba-mais{padding:0}
.menu-mais{position:absolute;right:var(--espaco-2);bottom:calc(100% + var(--espaco-2));min-width:220px;display:flex;flex-direction:column;background:var(--cor-superficie);border:1px solid var(--cor-linha);border-radius:var(--raio-cartao);box-shadow:var(--sombra-alta);padding:var(--espaco-2)}
.menu-mais a,.menu-mais .botao{display:flex;align-items:center;min-height:var(--espaco-alvo-toque-min);padding:0 var(--espaco-3);color:var(--cor-texto);text-decoration:none;font-size:var(--texto-corpo);font-weight:var(--peso-medio);border-radius:var(--raio-controle);width:100%;justify-content:flex-start}
.menu-mais a:hover{background:var(--cor-superficie-2)}
.form-sair{margin:0}

/* Cartões e blocos */
.cartao{background:var(--cor-superficie);border:1px solid var(--cor-linha);border-radius:var(--raio-cartao);padding:var(--espaco-4);margin:0 0 var(--espaco-4);box-shadow:var(--sombra-suave)}
.secao-titulo{font-size:var(--texto-h4);margin:0 0 var(--espaco-3);color:var(--cor-texto)}
.secao-titulo small{font-family:var(--fonte-texto);text-transform:none;letter-spacing:0;font-weight:var(--peso-medio);color:var(--cor-texto-suave);font-size:var(--texto-pequeno);margin-left:var(--espaco-1)}
details>summary{cursor:pointer;list-style:none;min-height:var(--espaco-alvo-toque-min);display:flex;align-items:center;flex-wrap:wrap;gap:0 var(--espaco-2)}
details>summary::-webkit-details-marker{display:none}
details.cartao>summary .secao-titulo{margin:0}
details.cartao>summary::after{content:"+";margin-left:auto;font:var(--peso-titulo) 1.5rem var(--fonte-titulo);color:var(--cor-texto-suave)}
details.cartao[open]>summary::after{content:"\2212"}
details.cartao[open]>summary{margin-bottom:var(--espaco-3)}
details.cartao>summary small{width:100%;color:var(--cor-texto-suave);order:3}
.vazio{text-align:center;padding:var(--espaco-8) var(--espaco-4);color:var(--cor-texto-suave);border:2px dashed var(--cor-linha);border-radius:var(--raio-cartao);margin:0 0 var(--espaco-4)}
.vazio .botao{margin-top:var(--espaco-3)}
.contagem{color:var(--cor-texto-suave);font-size:var(--texto-pequeno);margin:var(--espaco-2) 0}
.ajuda{display:block;color:var(--cor-texto-suave);font-size:var(--texto-pequeno);margin-top:var(--espaco-1)}

/* Avisos */
.aviso{border-radius:var(--raio-botao);padding:var(--espaco-3) var(--espaco-4);margin:0 0 var(--espaco-3);border-left:4px solid currentColor}
.aviso-info{background:var(--estado-info-fundo);color:var(--estado-info)}
.aviso-erro{background:var(--estado-erro-fundo);color:var(--estado-erro)}
.aviso-aviso{background:var(--estado-aviso-fundo);color:var(--estado-aviso)}
.aviso-sucesso{background:var(--estado-sucesso-fundo);color:var(--estado-sucesso)}
#mensagem{position:sticky;top:64px;z-index:15;box-shadow:var(--sombra-cartao)}

/* Botões: todos com pelo menos 48 px de altura */
.botao{display:inline-flex;align-items:center;justify-content:center;gap:var(--espaco-2);min-height:var(--espaco-alvo-toque-min);padding:0 var(--espaco-5);border:2px solid transparent;border-radius:var(--raio-botao);font-family:var(--fonte-texto);font-size:var(--texto-corpo);font-weight:var(--peso-forte);line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color var(--movimento-rapido) var(--movimento-curva),border-color var(--movimento-rapido) var(--movimento-curva);touch-action:manipulation;user-select:none;-webkit-user-select:none}
.botao:disabled,.botao[aria-busy=true]{opacity:.6;cursor:progress}
.botao.largo{width:100%}
.primario{background:var(--cor-primaria);color:var(--cor-sobre-primaria)}
.primario:hover{background:var(--cor-primaria-hover)}
/* Botão com texto: vermelho de interface (o oficial com texto branco não passa em texto pequeno, contrato/marca.md). */
.destaque{background:var(--cor-primaria);color:var(--cor-sobre-primaria)}
.destaque:hover{background:var(--cor-primaria-hover)}
.secundario{background:var(--cor-superficie);color:var(--cor-primaria);border-color:var(--cor-primaria)}
.secundario:hover{background:var(--cor-superficie-2)}
.fantasma{background:transparent;color:var(--cor-texto);border-color:var(--cor-linha)}
.fantasma:hover{background:var(--cor-superficie-2)}
.perigo{background:var(--cor-superficie);color:var(--estado-erro);border-color:var(--estado-erro)}
.perigo:hover{background:var(--estado-erro-fundo)}
.botao-icone{display:inline-flex;align-items:center;justify-content:center;width:var(--espaco-alvo-toque-min);height:var(--espaco-alvo-toque-min);padding:0;border:0;border-radius:var(--raio-botao);background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}
.botao-icone:disabled{opacity:.35;cursor:default}
.botao-icone.perigo{border:0;background:transparent}
.acoes-pilha{display:flex;flex-direction:column;gap:var(--espaco-3)}
.acoes-pilha .botao{width:100%}
.acoes-linha{display:flex;flex-wrap:wrap;gap:var(--espaco-2);margin-top:var(--espaco-3)}
.acoes-linha .botao{flex:1 1 140px}
.botao-flutuante{position:fixed;right:var(--espaco-4);bottom:calc(80px + env(safe-area-inset-bottom));z-index:25;display:inline-flex;align-items:center;gap:var(--espaco-2);min-height:56px;padding:0 var(--espaco-5);border-radius:var(--raio-pilula);background:var(--cor-primaria);color:var(--cor-sobre-primaria);font-weight:var(--peso-negrito);text-decoration:none;box-shadow:var(--sombra-alta)}
.barra-salvar{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:10;padding:var(--espaco-3) 0;background:linear-gradient(to top,var(--cor-fundo) 70%,transparent)}
.sem-abas .barra-salvar{bottom:0}

/* Formulários */
.campo{margin:0 0 var(--espaco-4);border:0;padding:0;min-width:0}
.campo label,.campo legend{display:block;font-weight:var(--peso-forte);font-size:var(--texto-pequeno);margin:0 0 var(--espaco-1);padding:0;color:var(--cor-texto)}
.obrig{color:var(--estado-erro)}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{display:block;width:100%;min-height:var(--espaco-alvo-toque-min);padding:var(--espaco-3);border:1px solid var(--cor-texto-desativado);border-radius:var(--raio-controle);background:var(--cor-superficie);color:var(--cor-texto);font:inherit;font-size:max(16px,var(--texto-corpo))}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--cor-primaria);box-shadow:var(--sombra-foco);outline:none}
.campo.com-erro input,.campo.com-erro select,.campo.com-erro textarea,[aria-invalid=true]{border-color:var(--estado-erro)!important}
.erro-campo{display:block;color:var(--estado-erro);font-size:var(--texto-pequeno);font-weight:var(--peso-forte)}
.erro-campo:empty{display:none}
.campos-lado{display:grid;grid-template-columns:1fr 1fr;gap:var(--espaco-3)}
.chips-escolha{display:flex;flex-wrap:wrap;gap:var(--espaco-2)}
.chip-escolha{position:relative;display:inline-flex}
.chip-escolha input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip-escolha span{display:inline-flex;align-items:center;min-height:var(--espaco-alvo-toque-min);padding:0 var(--espaco-4);border:1px solid var(--cor-texto-desativado);border-radius:var(--raio-pilula);background:var(--cor-superficie);font-weight:var(--peso-medio)}
.chip-escolha input:checked+span{background:var(--cor-primaria);border-color:var(--cor-primaria);color:var(--cor-sobre-primaria)}
.chip-escolha input:focus-visible+span{box-shadow:var(--sombra-foco)}
.chip-escolha input:disabled+span{opacity:.45}
.interruptor{display:flex;align-items:center;gap:var(--espaco-3);min-height:var(--espaco-alvo-toque-min);margin:0 0 var(--espaco-3);cursor:pointer;position:relative}
.interruptor input{position:absolute;opacity:0;width:52px;height:32px;margin:0;cursor:pointer}
.interruptor-trilho{flex:0 0 52px;height:32px;border-radius:var(--raio-pilula);background:var(--cor-texto-desativado);position:relative;transition:background-color var(--movimento-rapido)}
.interruptor-trilho::after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:var(--cor-superficie);transition:transform var(--movimento-rapido) var(--movimento-curva)}
.interruptor input:checked+.interruptor-trilho{background:var(--estado-sucesso)}
.interruptor input:checked+.interruptor-trilho::after{transform:translateX(20px)}
.interruptor input:focus-visible+.interruptor-trilho{box-shadow:var(--sombra-foco)}
.interruptor-texto{font-weight:var(--peso-medio)}
.interruptor-texto small{display:block;font-weight:var(--peso-texto);color:var(--cor-texto-suave)}
.horarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--espaco-2)}
.horarios input[type=time][data-chave]{min-width:0;padding-left:var(--espaco-2);padding-right:var(--espaco-1)}
.expediente{display:flex;flex-direction:column;gap:var(--espaco-2)}
.dia-expediente{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 var(--espaco-2);align-items:center}
.dia-expediente .dia-aberto{grid-column:1/-1}
.campo .dia-aberto{position:relative;display:flex;margin:var(--espaco-1) 0 0;align-items:center;gap:var(--espaco-2);min-height:var(--espaco-alvo-toque-min);font-weight:var(--peso-medio);cursor:pointer}
.dia-aberto input{width:22px;height:22px;margin:0;accent-color:var(--cor-primaria)}
.dia-expediente input[type=time]{min-width:0;padding-left:var(--espaco-2);padding-right:var(--espaco-1)}
.dia-expediente:has(.dia-aberto input:not(:checked)) input[type=time]{opacity:.45}
.form-busca{margin-top:var(--espaco-3)}
.form-linha{display:flex;gap:var(--espaco-2);align-items:flex-end;margin-bottom:var(--espaco-4)}
.form-linha .campo{flex:1;margin:0}

/* Chips de filtro (rolagem lateral) */
.chips{display:flex;gap:var(--espaco-2);overflow-x:auto;padding:var(--espaco-1) 0 var(--espaco-3);margin:0 calc(var(--espaco-margem-celular) * -1);padding-left:var(--espaco-margem-celular);padding-right:var(--espaco-margem-celular);scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;display:inline-flex;align-items:center;min-height:var(--espaco-alvo-toque-min);padding:0 var(--espaco-4);border:1px solid var(--cor-linha);border-radius:var(--raio-pilula);background:var(--cor-superficie);color:var(--cor-texto);text-decoration:none;font-weight:var(--peso-medio);white-space:nowrap}
.chip.ativo{background:var(--cor-secundaria);border-color:var(--cor-secundaria);color:var(--cor-sobre-secundaria)}
.busca{background:var(--cor-superficie);border:1px solid var(--cor-linha);border-radius:var(--raio-cartao);padding:0 var(--espaco-4);margin:0 0 var(--espaco-3)}
.busca[open]{padding-bottom:var(--espaco-4)}
.busca summary{font-weight:var(--peso-forte);color:var(--cor-texto-suave)}

/* Selos */
.selo{display:inline-flex;align-items:center;padding:2px var(--espaco-2);border-radius:var(--raio-selo);font-size:var(--texto-rotulo);font-weight:var(--peso-negrito);text-transform:uppercase;letter-spacing:.03em;background:var(--cor-superficie-2);color:var(--cor-texto);white-space:nowrap}
.selo.ok{background:var(--estado-sucesso-fundo);color:var(--estado-sucesso)}
.selo.erro{background:var(--estado-erro-fundo);color:var(--estado-erro)}
.selo.atencao{background:var(--estado-aviso-fundo);color:var(--estado-aviso)}
.selo.info{background:var(--estado-info-fundo);color:var(--estado-info)}
.selo.apagado{background:var(--cor-superficie-2);color:var(--cor-texto-suave)}
.selo.destaque{background:var(--cor-primaria);color:var(--cor-sobre-primaria)}
.selo.vendido{background:var(--estado-vendido);color:var(--cor-sobre-secundaria)}
.selo.temp.quente{background:var(--cor-primaria);color:var(--cor-sobre-primaria)}
.selo.temp.morno{background:var(--estado-aviso-fundo);color:var(--estado-aviso)}
.selo.temp.frio{background:var(--estado-info-fundo);color:var(--estado-info)}

/* Lista de caminhões */
.lista-caminhoes,.lista-leads,.lista-pubs,.lista-usuarios,.lista-simples,.lista-eventos{list-style:none;margin:0;padding:0}
.lista-caminhoes li+li,.lista-leads li+li{margin-top:var(--espaco-3)}
.cartao-caminhao{display:flex;gap:var(--espaco-3);padding:var(--espaco-3);background:var(--cor-superficie);border:1px solid var(--cor-linha);border-radius:var(--raio-cartao);color:var(--cor-texto);text-decoration:none;box-shadow:var(--sombra-suave);min-height:108px}
.cartao-caminhao:active{background:var(--cor-superficie-2)}
.cc-capa{flex:0 0 112px;height:84px;border-radius:var(--raio-controle);overflow:hidden;background:var(--cor-superficie-2)}
.cc-capa img{width:100%;height:100%;object-fit:cover}
.cc-sem-foto{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--cor-texto-suave)}
.cc-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.cc-titulo{font-family:var(--fonte-titulo);font-weight:var(--peso-negrito);font-size:1rem;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cc-linha{display:flex;flex-wrap:wrap;gap:0 var(--espaco-2);font-size:var(--texto-pequeno);color:var(--cor-texto-suave)}
.cc-ref{font-family:var(--fonte-numero);font-weight:var(--peso-titulo);color:var(--cor-texto-suave);letter-spacing:.04em}
.cc-preco{font-family:var(--fonte-numero);font-weight:var(--peso-titulo-pesado);font-size:1.375rem;color:var(--cor-preco);font-variant-numeric:tabular-nums;line-height:1.1}
.cc-oculto{font-family:var(--fonte-texto);font-weight:var(--peso-medio);font-size:var(--texto-rotulo);color:var(--cor-texto-suave)}
.cc-selos{display:flex;flex-wrap:wrap;gap:var(--espaco-1);margin-top:2px}
.paginacao{display:flex;align-items:center;justify-content:space-between;gap:var(--espaco-2);margin:var(--espaco-4) 0}
.pag-atual{font-size:var(--texto-pequeno);color:var(--cor-texto-suave)}

/* Cadastro e fotos */
.bloco-situacao .situacao-topo{display:flex;align-items:center;gap:var(--espaco-2);margin-bottom:var(--espaco-3);font-weight:var(--peso-forte)}
.bloco-situacao .cc-ref{margin-left:auto}
.link-site{display:inline-flex;align-items:center;min-height:var(--espaco-alvo-toque-min);margin-top:var(--espaco-2);font-weight:var(--peso-forte)}
.fotos-botoes{display:grid;grid-template-columns:1fr;gap:var(--espaco-2);margin:var(--espaco-3) 0}
.botao-arquivo{position:relative;cursor:pointer;min-height:56px}
.fotos-progresso{font-weight:var(--peso-forte);color:var(--estado-info)}
.fotos-grade,.fotos-fila{list-style:none;margin:var(--espaco-3) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--espaco-3)}
.fotos-fila:empty{display:none}
.foto{position:relative;border-radius:var(--raio-controle);overflow:hidden;background:var(--cor-superficie-2);border:2px solid transparent;touch-action:pan-y}
.foto.capa{border-color:var(--cor-destaque)}
.foto img{width:100%;aspect-ratio:4/3;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.foto.arrastando{opacity:.85;box-shadow:var(--sombra-alta);transform:scale(1.03);z-index:5}
.foto.na-fila img{opacity:.75}
.foto-arrastar{position:absolute;top:var(--espaco-1);left:var(--espaco-1);display:inline-flex;align-items:center;justify-content:center;width:var(--espaco-alvo-toque-min);height:var(--espaco-alvo-toque-min);border-radius:var(--raio-controle);background:rgba(18,20,23,.6);color:#fff;cursor:grab;touch-action:none}
.foto-selo-capa{position:absolute;top:var(--espaco-2);right:var(--espaco-2);background:var(--cor-primaria);color:var(--cor-sobre-primaria);font:var(--peso-titulo) var(--texto-rotulo) var(--fonte-texto);text-transform:uppercase;padding:2px var(--espaco-2);border-radius:var(--raio-selo)}
/* 2 x 2: no cartão de foto (cerca de 160 px no celular) 4 colunas dariam botões de 36 px */
.foto-acoes{display:grid;grid-template-columns:repeat(2,minmax(var(--espaco-alvo-toque-min),1fr));background:var(--cor-superficie)}
.foto-acoes .botao-icone{width:100%;min-width:var(--espaco-alvo-toque-min);border-radius:0}
.foto-estado{position:absolute;left:0;right:0;bottom:0;padding:var(--espaco-1) var(--espaco-2);background:rgba(18,20,23,.75);color:#fff;font-size:var(--texto-rotulo)}
.fotos-vazio{color:var(--cor-texto-suave);margin:var(--espaco-3) 0 0}
.lista-simples li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--espaco-2);padding:var(--espaco-3) 0;border-top:1px solid var(--cor-linha)}
.lista-simples li:first-child{border-top:0}
.lista-simples small{color:var(--cor-texto-suave);margin-left:auto}

/* Fila de postagens */
.secao-fila{margin-bottom:var(--espaco-6)}
.cartao-pub{display:grid;grid-template-columns:96px 1fr;gap:var(--espaco-3);padding:var(--espaco-3)}
.pub-previa{position:relative;border-radius:var(--raio-controle);overflow:hidden;background:var(--cor-secundaria);aspect-ratio:9/16;align-self:start}
.pub-post .pub-previa{aspect-ratio:4/5}
.pub-previa img{width:100%;height:100%;object-fit:cover}
.pub-previa .pub-capa{opacity:.45}
.pub-sem-arte{position:absolute;inset:auto 0 0 0;padding:var(--espaco-1);font-size:var(--texto-rotulo);color:#fff;text-align:center;background:rgba(18,20,23,.7)}
.pub-titulo{font-family:var(--fonte-titulo);font-weight:var(--peso-negrito);font-size:1rem;line-height:1.2;margin-bottom:var(--espaco-1)}
.pub-titulo a{display:inline-flex;align-items:center;min-height:var(--espaco-alvo-toque-min);color:var(--cor-texto);text-decoration:none}
.pub-linha{margin:0 0 var(--espaco-1);font-size:var(--texto-pequeno);color:var(--cor-texto-suave);display:flex;flex-wrap:wrap;align-items:center;gap:var(--espaco-2)}
.pub-erro{color:var(--estado-erro);font-size:var(--texto-pequeno)}
.pub-motivo{color:var(--cor-texto-suave);font-size:var(--texto-pequeno)}
.pub-conferir{display:block;margin:0 0 var(--espaco-1);padding:var(--espaco-1) var(--espaco-2);border-radius:var(--raio-controle);background:var(--estado-aviso-fundo);color:var(--estado-aviso);font-size:var(--texto-pequeno)}
.lista-simples .pub-conferir,.lista-simples .pub-motivo{width:100%;margin:0}
.pub-legenda p{white-space:normal;font-size:var(--texto-pequeno);background:var(--cor-superficie-2);padding:var(--espaco-2);border-radius:var(--raio-controle)}
.cartao-pub .acoes-linha{grid-column:1/-1}

/* Leads */
.cartao-lead{display:flex;flex-direction:column;gap:var(--espaco-1);padding:var(--espaco-4);background:var(--cor-superficie);border:1px solid var(--cor-linha);border-radius:var(--raio-cartao);color:var(--cor-texto);text-decoration:none;box-shadow:var(--sombra-suave)}
.cl-topo{display:flex;align-items:center;justify-content:space-between;gap:var(--espaco-2)}
.cl-nome{font-weight:var(--peso-negrito);font-size:1.0625rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-linha{font-size:var(--texto-pequeno);color:var(--cor-texto-suave);display:flex;align-items:center;gap:var(--espaco-1)}
.cl-linha b{color:var(--cor-texto)}
.cl-linha .ic{width:18px;height:18px}
.cl-data{font-size:var(--texto-rotulo);color:var(--cor-texto-suave)}
.lead-topo{display:flex;align-items:center;justify-content:space-between;gap:var(--espaco-3);margin-bottom:var(--espaco-3)}
.lead-nome{font-size:var(--texto-h3)}
.dados{margin:0}
.dado{display:grid;grid-template-columns:42% 1fr;gap:var(--espaco-2);padding:var(--espaco-2) 0;border-top:1px solid var(--cor-linha)}
.dado dt{color:var(--cor-texto-suave);font-size:var(--texto-pequeno)}
.dado dd{margin:0;overflow-wrap:anywhere}
.lead-resumo{background:var(--cor-superficie-2);padding:var(--espaco-3);border-radius:var(--raio-controle)}

/* Usuários e histórico */
.lista-usuarios .cartao{margin-bottom:var(--espaco-3)}
.cartao-usuario.inativo{opacity:.7}
.cu-nome{font-weight:var(--peso-negrito);margin:0}
.cu-email{color:var(--cor-texto-suave);font-size:var(--texto-pequeno);overflow-wrap:anywhere}
.cu-selos{display:flex;flex-wrap:wrap;gap:var(--espaco-1)}
.dialogo{border:0;border-radius:var(--raio-cartao);padding:var(--espaco-6);max-width:min(420px,calc(100vw - 32px));background:var(--cor-superficie);color:var(--cor-texto);box-shadow:var(--sombra-alta)}
.dialogo::backdrop{background:rgba(18,20,23,.6)}
.dialogo h2{font-size:var(--texto-h3);margin-bottom:var(--espaco-3)}
.senha-provisoria{font:var(--peso-negrito) 1.375rem/1.4 ui-monospace,Menlo,monospace;letter-spacing:.08em;padding:var(--espaco-4);border:2px dashed var(--cor-destaque);border-radius:var(--raio-botao);background:var(--estado-aviso-fundo);color:var(--cor-texto);text-align:center;word-break:break-all;user-select:all;-webkit-user-select:all}
.lista-eventos{border-top:1px solid var(--cor-linha)}
.evento{padding:var(--espaco-3) 0;border-bottom:1px solid var(--cor-linha)}
.ev-topo{display:flex;justify-content:space-between;gap:var(--espaco-2);margin:0}
.ev-topo small,.ev-linha{color:var(--cor-texto-suave);font-size:var(--texto-pequeno)}
.ev-linha{margin:0}
.ev-dados{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--cor-superficie-2);padding:var(--espaco-2);border-radius:var(--raio-controle);margin:var(--espaco-2) 0 0}

/* Acesso e erro */
.tela-acesso main,.sem-abas main{max-width:440px}
.tela-acesso .cartao-acesso{margin-top:var(--espaco-4)}
.cartao-acesso{margin-top:var(--espaco-6)}
.acesso-titulo{font-size:var(--texto-h3);margin:0 0 var(--espaco-2)}
.acesso-intro{color:var(--cor-texto-suave)}
.form-acesso{margin-top:var(--espaco-4)}
.form-sair .botao{width:100%;margin-top:var(--espaco-3)}
.cartao-erro{text-align:center;margin-top:var(--espaco-8)}
.erro-logo{display:flex;justify-content:center;margin:0 0 var(--espaco-4)}
.erro-logo img{width:144px;height:auto}
.erro-status{font:var(--peso-titulo-pesado) var(--texto-display)/1 var(--fonte-numero);color:var(--cor-primaria);margin:0}
.cartao-erro h2{font-size:var(--texto-h2);margin:var(--espaco-2) 0 var(--espaco-4)}

/* Telas maiores */
@media (min-width:480px){
  .fotos-botoes{grid-template-columns:1fr 1fr}
  .fotos-grade,.fotos-fila{grid-template-columns:repeat(3,1fr)}
  .cartao-pub{grid-template-columns:128px 1fr}
}
@media (min-width:768px){
  .topo-usuario{display:inline}
  .topo-voltar + .logo{display:inline-flex}
  main{padding-top:var(--espaco-6)}
  .cartao{padding:var(--espaco-6)}
  .fotos-grade,.fotos-fila{grid-template-columns:repeat(4,1fr)}
  .abas{left:50%;right:auto;transform:translateX(-50%);width:min(560px,100%);border:1px solid var(--cor-linha);border-bottom:0;border-radius:var(--raio-cartao) var(--raio-cartao) 0 0}
  .acoes-pilha{flex-direction:row;flex-wrap:wrap}
  .acoes-pilha .botao{width:auto;flex:1 1 180px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
