/* Base do Correta: fonte local, ponte com o Bootstrap e as peças do design system.
   Toda cor vem de tokens.css. Nenhum endereço externo. */

@font-face{font-family:"Noto Sans";font-style:normal;font-weight:var(--peso-leve);font-display:swap;src:url("../vendor/fontes/noto-sans-5.3.0/noto-sans-latin-400-normal.876b269d87ea.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:"Noto Sans";font-style:normal;font-weight:var(--peso-corpo);font-display:swap;src:url("../vendor/fontes/noto-sans-5.3.0/noto-sans-latin-500-normal.03e3200a759d.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:"Noto Sans";font-style:normal;font-weight:var(--peso-forte);font-display:swap;src:url("../vendor/fontes/noto-sans-5.3.0/noto-sans-latin-600-normal.4d5bf5348b83.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:"Noto Sans";font-style:normal;font-weight:var(--peso-titulo);font-display:swap;src:url("../vendor/fontes/noto-sans-5.3.0/noto-sans-latin-700-normal.8a4f634102a0.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:"Noto Sans";font-style:normal;font-weight:var(--peso-leve);font-display:swap;src:url("../vendor/fontes/noto-sans-5.3.0/noto-sans-latin-ext-400-normal.a64effad9802.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:"Noto Sans";font-style:normal;font-weight:var(--peso-corpo);font-display:swap;src:url("../vendor/fontes/noto-sans-5.3.0/noto-sans-latin-ext-500-normal.cff472a58b81.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:"Noto Sans";font-style:normal;font-weight:var(--peso-forte);font-display:swap;src:url("../vendor/fontes/noto-sans-5.3.0/noto-sans-latin-ext-600-normal.89ab3c88f670.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:"Noto Sans";font-style:normal;font-weight:var(--peso-titulo);font-display:swap;src:url("../vendor/fontes/noto-sans-5.3.0/noto-sans-latin-ext-700-normal.1dbd8dd47934.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}

/* Fontes variáveis (Fontsource 5.3.0, só o subconjunto latino, que cobre o português) */
@font-face{font-family:"Manrope Variable";font-style:normal;font-weight:200 800;font-display:swap;src:url("../vendor/fontes/manrope-5.3.0/manrope-latin-wght-normal.938c6e8019b6.woff2") format("woff2-variations");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:"Source Serif 4 Variable";font-style:normal;font-weight:200 900;font-display:swap;src:url("../vendor/fontes/source-serif-4-5.3.0/source-serif-4-latin-wght-normal.197cc326af6d.woff2") format("woff2-variations");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:"JetBrains Mono Variable";font-style:normal;font-weight:100 800;font-display:swap;src:url("../vendor/fontes/jetbrains-mono-5.3.0/jetbrains-mono-latin-wght-normal.b058178d7f30.woff2") format("woff2-variations");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}

/* ---------- Ponte com o Bootstrap ---------- */
:root{
  --bs-font-sans-serif:var(--font);
  --bs-body-font-family:var(--font);
  --bs-body-font-size:var(--t-texto);
  --bs-body-font-weight:var(--peso-corpo);
  --bs-body-line-height:var(--lh-texto);
  --bs-body-bg:var(--bg);
  --bs-body-color:var(--ink);
  --bs-secondary-color:var(--muted);
  --bs-border-color:var(--line);
  --bs-border-radius:var(--r-campo);
  --bs-link-color:var(--link);
  --bs-link-hover-color:var(--link);
  --bs-link-color-rgb:18,60,96;
  --bs-focus-ring-color:var(--focus);
  --bs-form-invalid-color:var(--erro);
  --bs-form-invalid-border-color:var(--erro);
  --bs-emphasis-color:var(--ink);
  --bs-heading-color:var(--ink);
}
*{box-sizing:border-box}
html,body{background:var(--bg)}
/* Barras de rolagem com a paleta do sistema, nos dois temas: alça no tom do contorno de controle (3:1), azul do realce ao passar
   o mouse; a trilha some. Nos contêineres que rolam por dentro (cards da Mesa, janelas, menus) a barra é fina. */
html{scrollbar-color:var(--scroll-polegar) var(--scroll-trilho)}
.mesa-corpo,.dialogo,.painel-avisos,.menu-conta,.corry-msgs,#corry-msgs,textarea,.multi-lista{scrollbar-width:thin}
.side{scrollbar-width:thin;scrollbar-color:var(--sidebar-anel-forte) transparent}  /* sobre o marinho do menu lateral */
@supports not (scrollbar-color:auto){
  ::-webkit-scrollbar{width:var(--e2-5);height:var(--e2-5)}
  ::-webkit-scrollbar-track{background:var(--scroll-trilho)}
  ::-webkit-scrollbar-thumb{background:var(--scroll-polegar);border:2px solid transparent;border-radius:var(--r-pilula);background-clip:padding-box}
  ::-webkit-scrollbar-thumb:hover{background:var(--scroll-polegar-hover);background-clip:padding-box}
  .side::-webkit-scrollbar-thumb{background:var(--sidebar-anel-forte);background-clip:padding-box}
}
body{margin:0;color:var(--ink);font-family:var(--font);font-size:var(--t-texto);font-weight:var(--peso-corpo);line-height:var(--lh-texto);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{text-wrap:balance;color:var(--ink);margin:0}
h1,h2,.brand strong,.numero-grande,.imovel .preco b{font-family:var(--font-display)} /* família de título e de número de destaque */
h1{font-size:var(--t-titulo);font-weight:var(--peso-titulo);letter-spacing:-.6px;line-height:var(--lh-titulo)}
h2{font-size:var(--t-secao);font-weight:var(--peso-titulo);letter-spacing:-.3px;line-height:var(--lh-titulo)}
h3{font-size:var(--t-sub);font-weight:var(--peso-forte);line-height:var(--lh-compacto)}
p{margin:0}
a{color:var(--link)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.sobre{font-size:var(--t-sobre);font-weight:var(--peso-titulo);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.rot{font-size:var(--t-pequeno);font-weight:var(--peso-forte);color:var(--muted)}
.dica{font-size:var(--t-pequeno);color:var(--muted)}
svg.i{width:var(--icone);height:var(--icone);flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
code{font-family:var(--mono);font-size:var(--t-pequeno);color:var(--ink);background:var(--surface-2);padding:1px var(--e1-5);border-radius:var(--r-etiqueta)}

/* ---------- Casca: menu lateral no computador, barra de 5 botões no celular ---------- */
.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;min-height:100dvh}
.shell.recolhido{grid-template-columns:76px minmax(0,1fr)}
.side{background:var(--sidebar);color:var(--sidebar-text);padding:var(--e6) var(--e3-5) var(--e4-5);display:flex;flex-direction:column;gap:var(--e6);position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden}
.marca-lateral{display:flex;align-items:center;justify-content:space-between;gap:var(--e1-5)}
/* Marca branca (a mesma da home pública): só o símbolo com o menu fechado; o nome "Correta" aparece junto ao abrir.
   O menu nasce fechado; a transição só liga depois do primeiro clique (.animado), para a página não "abrir" ao carregar. */
.brand{display:flex;align-items:center;padding:0 var(--e1);text-decoration:none;min-width:0}
.brand .marca-simbolo{display:block;height:var(--e8);width:auto;flex:none}
.brand .nome{display:block;overflow:hidden;max-width:140px;margin-left:var(--e3);opacity:1}
.brand .marca-nome{display:block;height:var(--e4-5);width:auto;max-width:none}
.shell.animado{transition:grid-template-columns var(--dur-media)}
.shell.animado .brand .nome{transition:max-width var(--dur-media),margin-left var(--dur-media),opacity var(--dur-media)}
.grupo-menu{display:block;margin-top:var(--e4);padding:var(--e3) var(--e3) var(--e1);border-top:1px solid var(--sidebar-tinta-forte);font-size:var(--t-sobre);font-weight:var(--peso-forte);letter-spacing:1.2px;text-transform:uppercase;color:var(--sidebar-text);opacity:var(--op-apagado)}
.side .versao{grid-column:1 / -1;padding-left:var(--e2);color:var(--sidebar-text);opacity:var(--op-apagado);font-size:var(--t-sobre);letter-spacing:.3px}
.side nav{display:grid;gap:var(--e1)}
.side nav a{display:flex;align-items:center;gap:var(--e3);min-height:var(--toque);padding:var(--e2-5) var(--e3);border-radius:var(--r-campo);color:var(--sidebar-text);text-decoration:none;font-size:var(--t-controle);font-weight:var(--peso-forte);transition:background var(--dur-rapida),color var(--dur-rapida)}
.side nav a:hover{background:var(--sidebar-hover);color:var(--branco)}
.side nav a.ativo{background:var(--sidebar-ativo-bg);color:var(--sidebar-ativo)}
.side nav a[aria-disabled="true"]{opacity:var(--op-apagado);pointer-events:none}
.side .foot{margin-top:auto;display:grid;gap:var(--e2-5)}
.recolher{flex:none;width:28px;height:28px;border-radius:50%;border:0;background:transparent;color:var(--sidebar-text);display:grid;place-items:center;cursor:pointer;opacity:var(--op-apagado);transition:opacity var(--dur-rapida),background var(--dur-rapida)}
.recolher:hover,.recolher:focus-visible{opacity:1;background:var(--sidebar-hover)}
.recolher svg{width:var(--icone);height:var(--icone);transition:transform var(--dur-rapida)}
.pe-item{display:flex;align-items:center;gap:var(--e3);width:100%;min-height:40px;border:0;background:transparent;color:var(--sidebar-text);border-radius:var(--r-campo);padding:var(--e2) var(--e3);font-size:var(--t-rotulo);font-weight:var(--peso-forte);text-decoration:none;cursor:pointer;opacity:.85}
.pe-item:hover{color:var(--branco);background:var(--sidebar-hover);opacity:1}
.side .foot form{margin:0}
.recolhido .brand .nome{max-width:0;margin-left:0;opacity:0}
.recolhido .side .rotulo,.recolhido .side .versao{display:none}
.recolhido .grupo-menu{padding:var(--e3) 0 0}
.recolhido .side nav a,.recolhido .pe-item{justify-content:center;padding-inline:0}
.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;overflow:hidden;flex:none;background:var(--avatar-bg);color:var(--avatar-ink);font-size:var(--t-rotulo);font-weight:var(--peso-titulo);letter-spacing:.3px}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.grande{width:88px;height:88px;font-size:var(--t-numero)}
.botao-conta{flex:none;display:inline-flex;align-items:center;gap:var(--e2);height:40px;max-width:180px;border:0;padding:0 var(--e2) 0 var(--e1);background:transparent;color:var(--ink);border-radius:var(--r-pilula);font-size:var(--t-controle);font-weight:var(--peso-forte);cursor:pointer;transition:background var(--dur-rapida)}
.botao-conta:hover,.botao-conta[aria-expanded="true"]{background:var(--surface-2)}
.botao-conta .avatar{width:32px;height:32px;font-size:var(--t-sobre)}
.botao-conta .conta-nome{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.botao-conta svg.i{width:var(--icone-m);height:var(--icone-m);color:var(--muted);transition:transform var(--dur-rapida)}
.botao-conta[aria-expanded="true"] svg.i{transform:rotate(180deg)}
.menu-conta{position:fixed;z-index:var(--z-menu);min-width:230px;background:var(--surface);color:var(--ink);border-radius:var(--r-cartao);box-shadow:var(--sombra-2);padding:var(--e1-5);display:grid;gap:var(--e0-5)}
.menu-conta[hidden]{display:none}
.menu-conta-cab{display:flex;align-items:center;gap:var(--e2-5);padding:var(--e2) var(--e2-5) var(--e2-5);border-bottom:1px solid var(--line);margin-bottom:var(--e1)}
.menu-conta-cab span{display:grid;min-width:0;line-height:var(--lh-titulo)}
.menu-conta-cab small{color:var(--muted);font-size:var(--t-pequeno);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-conta a,.menu-conta button{display:flex;align-items:center;gap:var(--e2-5);width:100%;padding:var(--e2) var(--e2-5);border:0;background:transparent;color:inherit;border-radius:var(--r-campo);font-size:var(--t-controle);font-weight:var(--peso-forte);text-decoration:none;text-align:left;cursor:pointer}
.menu-conta a:hover,.menu-conta button:hover,.menu-conta a:focus-visible,.menu-conta button:focus-visible{background:var(--surface-2)}
.menu-conta svg{width:var(--icone);height:var(--icone)}
.menu-conta form{margin:0}
.menu-conta .sair{color:var(--erro)}
.perfil-topo{display:flex;align-items:center;gap:var(--e5);flex-wrap:wrap;margin-bottom:var(--e3)}
.perfil-foto{display:grid;gap:var(--e1-5);flex:1;min-width:220px}
.perfil-foto .btn{justify-self:start}
.recolhido .recolher svg{transform:rotate(180deg)}
.side .foot{grid-template-columns:auto auto;justify-content:space-between;align-items:center}
.tema{display:inline-flex;justify-self:start;margin:0 0 0 var(--e2);background:var(--sidebar-tinta);border-radius:var(--r-pilula);padding:var(--e0-5);gap:var(--e0-5)}
.tema button{border:0;background:transparent;color:var(--sidebar-text);width:28px;height:24px;border-radius:var(--r-pilula);display:grid;place-items:center;cursor:pointer;opacity:.7}
.tema button svg{width:var(--icone-p);height:var(--icone-p)}
.tema button[aria-pressed="true"]{background:var(--sidebar-tinta-forte);color:var(--branco);opacity:1}
.recolhido .tema{flex-direction:column;justify-self:center;margin-left:0}
.recolhido .side .foot{grid-template-columns:1fr;justify-items:center}
.recolhido .brand{padding:0}
.recolhido .marca-lateral{justify-content:center}
.principal{min-width:0;display:flex;flex-direction:column}
.cab-app{position:sticky;top:0;z-index:var(--z-cabecalho);display:flex;align-items:center;gap:var(--e3);column-gap:var(--e2);flex-wrap:wrap;min-height:64px;padding:var(--e2-5) var(--margem-pagina);background:var(--surface)}
.cab-app .voltar{display:grid;place-items:center;width:40px;height:40px;margin-left:-8px;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;flex:0 0 auto}
.cab-app .voltar:hover{background:var(--surface-2)}
.cab-app .voltar svg{width:var(--icone-g);height:var(--icone-g)}
.cab-app .titulo{display:flex;align-items:baseline;gap:var(--e3);margin-right:auto;min-width:0;flex-wrap:wrap}
.cab-acoes{display:flex;align-items:center;gap:var(--e2);min-width:0}
.cab-acoes:not(:has(*)){display:none}
.cab-acoes > :not(.busca){flex:none;white-space:nowrap} /* só a busca encolhe; botão nunca quebra o texto */
.cab-conta{display:flex;align-items:center;gap:var(--e1);flex:none}
.cab-acoes:has(*) + .cab-conta{margin-left:var(--e2);padding-left:var(--e3);border-left:1px solid var(--line)} /* fio entre o que é da tela e o que é da conta */
.cab-app h1{font-size:var(--t-cabecalho);font-weight:var(--peso-titulo);letter-spacing:-.4px;margin:0;min-width:0;overflow-wrap:anywhere}
.cab-app .local{font-size:var(--t-sobre);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-weight:var(--peso-forte)}
.conteudo{padding:var(--margem-pagina);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap-pagina);align-content:start;min-width:0} /* coluna com mínimo zero: conteúdo largo rola dentro da própria peça, nunca a página */
.abas{display:none}

@media (max-width:767.98px){
  .shell,.shell.recolhido{grid-template-columns:1fr}
  .side{display:none}
  .cab-app{row-gap:var(--e2)}
  .cab-app .voltar,.cab-conta .botao-avisos,.cab-conta .botao-moedas{min-width:var(--toque);height:var(--toque)}
  .cab-app .titulo{flex:1 1 0;flex-wrap:nowrap}
  .cab-app h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cab-app .local{display:none} /* no celular o título vem antes da região */
  .cab-app .titulo .ajuda{flex:none}
  .cab-acoes{order:1;flex:1 1 100%;flex-wrap:wrap}
  .cab-app .cab-acoes .busca{flex:1 1 200px;max-width:none}
  .cab-acoes:has(*) + .cab-conta{margin-left:0;padding-left:0;border-left:0}
  .botao-conta{height:var(--toque);padding:0 var(--e1-5)}
  .botao-conta .conta-nome,.botao-conta svg.i{display:none}
  .conteudo{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))} /* espaço para a barra de 5 botões */
  .abas{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:var(--z-barra);background:var(--surface);padding:4px 4px calc(6px + env(safe-area-inset-bottom,0px))}
  .abas a{display:grid;justify-items:center;align-content:center;gap:var(--e0-5);min-height:52px;font-size:var(--t-sobre);font-weight:var(--peso-forte);color:var(--muted);text-decoration:none}
  .abas a.ativo{color:var(--link)}
  .abas a[aria-disabled="true"]{opacity:var(--op-apagado);pointer-events:none}
}

/* ---------- Superfícies ---------- */
.painel{background:var(--surface);border-radius:var(--r-cartao);padding:var(--inset-amplo);min-width:0}
.selecionado{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--realce)} /* item escolhido ou aberto: tom + barra de 3 px */
.selecionado.pede-acao{box-shadow:inset 3px 0 0 var(--laranja)}
.numero-grande{font-size:var(--t-numero);font-weight:var(--peso-titulo);line-height:var(--lh-numero);font-variant-numeric:tabular-nums}
/* Lista com mais de ~10 itens: uma superfície só, itens separados por fio fino (não cartões soltos) */
.lista-agrupada{background:var(--surface);border-radius:var(--r-cartao);padding:0 var(--e3);display:grid;min-width:0}
.lista-agrupada > *{padding:var(--e2-5) 0;border-top:1px solid var(--line);min-width:0}
.lista-agrupada > :first-child{border-top:0}
/* Laranja = precisa de você: o que pede uma ação do corretor agora */
.acao-pendente{display:inline-flex;align-items:center;gap:var(--e1-5);color:var(--laranja-texto);font-weight:var(--peso-titulo)}
.acao-pendente::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--laranja);flex:none}
.grade{display:grid;gap:var(--gap-grupo);grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}
.fila{display:flex;flex-wrap:wrap;gap:var(--gap-padrao);align-items:center}

.inicio-atalho{display:flex;align-items:center;gap:var(--e3);text-decoration:none;color:var(--ink);font-size:var(--t-destaque);min-height:72px}
.inicio-atalho svg.i{width:24px;height:24px;color:var(--link);flex:none}
.inicio-txt{display:grid;gap:var(--e0-5);line-height:var(--lh-titulo)}
.inicio-txt small{color:var(--muted);font-size:var(--t-rotulo);font-weight:var(--peso-leve)}
.inicio-atalho[aria-disabled="true"]{opacity:var(--op-apagado)}
.inicio-atalho:hover{background:var(--surface-2)}

/* ---------- Botões (Bootstrap .btn com as cores do Correta) ---------- */
.btn{--bs-btn-font-weight:var(--peso-forte);--bs-btn-font-size:var(--t-controle);--bs-btn-padding-x:var(--e4);--bs-btn-padding-y:var(--e2);--bs-btn-border-radius:var(--r-campo);--bs-btn-color:var(--ink);--bs-btn-bg:var(--surface-2);--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--ink);--bs-btn-hover-bg:color-mix(in srgb,var(--surface-2) 85%,var(--ink));--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--ink);--bs-btn-active-bg:color-mix(in srgb,var(--surface-2) 85%,var(--ink));--bs-btn-active-border-color:transparent;--bs-btn-disabled-opacity:var(--op-desabilitado);--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg);--bs-btn-disabled-border-color:var(--bs-btn-border-color);--bs-btn-focus-box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--e2);min-height:40px;transition:background var(--dur-rapida),border-color var(--dur-rapida),color var(--dur-rapida)}
.btn-primary{--bs-btn-color:var(--on-primary);--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-color:var(--on-primary);--bs-btn-hover-bg:var(--primary-hover);--bs-btn-hover-border-color:var(--primary-hover);--bs-btn-active-color:var(--on-primary);--bs-btn-active-bg:var(--primary-hover);--bs-btn-active-border-color:var(--primary-hover);--bs-btn-disabled-color:var(--on-primary);--bs-btn-disabled-bg:var(--primary);--bs-btn-disabled-border-color:var(--primary)}
.btn-fantasma{--bs-btn-color:var(--link);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--link);--bs-btn-hover-bg:var(--selecao);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--link);--bs-btn-active-bg:color-mix(in srgb,var(--selecao) 80%,var(--ink));--bs-btn-active-border-color:transparent}
.btn-perigo{--bs-btn-color:var(--erro);--bs-btn-border-color:var(--erro);--bs-btn-hover-color:var(--erro);--bs-btn-hover-bg:var(--erro-bg);--bs-btn-hover-border-color:var(--erro);--bs-btn-active-color:var(--erro);--bs-btn-active-bg:color-mix(in srgb,var(--erro-bg) 80%,var(--erro));--bs-btn-active-border-color:var(--erro)}
.btn-whats{--bs-btn-color:var(--branco);--bs-btn-bg:var(--whats);--bs-btn-border-color:var(--whats);--bs-btn-hover-color:var(--branco);--bs-btn-hover-bg:color-mix(in srgb,var(--whats) 85%,var(--ink));--bs-btn-hover-border-color:color-mix(in srgb,var(--whats) 85%,var(--ink));--bs-btn-active-color:var(--branco);--bs-btn-active-bg:color-mix(in srgb,var(--whats) 72%,var(--ink));--bs-btn-active-border-color:color-mix(in srgb,var(--whats) 72%,var(--ink))}
.btn-lg{min-height:48px;--bs-btn-font-size:var(--t-texto);--bs-btn-padding-y:var(--e3);--bs-btn-padding-x:var(--e5)}
@media (max-width:767.98px){.btn{min-height:var(--toque)}}

/* ---------- Campos: erro escrito no próprio campo ---------- */
.campo{display:grid;gap:var(--e1-5);min-width:0}
.campo > label,.rotulo-campo{font-size:var(--t-rotulo);font-weight:var(--peso-forte);color:var(--muted)}
.campo-opcoes{grid-column:1/-1}
.opcoes > div{display:flex;flex-wrap:wrap;gap:var(--e2)}
.opcoes label{display:inline-flex;align-items:center;gap:var(--e2);min-height:40px;padding:var(--e1-5) var(--e3-5) var(--e1-5) var(--e2-5);border-radius:var(--r-pilula);background:var(--surface-2);font-size:var(--t-rotulo);font-weight:var(--peso-forte);cursor:pointer}
.opcoes label:has(input:checked){background:color-mix(in srgb,var(--primary) 14%,var(--surface));box-shadow:inset 0 0 0 2px var(--primary)}
.opcoes input{margin:0;width:18px;height:18px;accent-color:var(--primary)}
.form-control,.form-select{min-height:var(--toque);font-size:var(--t-texto);color:var(--ink);background-color:var(--surface);border:1px solid var(--campo-borda);border-radius:var(--r-campo)}
.form-control:focus,.form-select:focus{color:var(--ink);background-color:var(--surface);border-color:var(--primary);box-shadow:none}
.form-control::placeholder{color:var(--muted)}
.form-control:disabled,.form-select:disabled{background-color:var(--surface-2);color:var(--muted);border-color:var(--line-forte);opacity:1}
.form-control.is-invalid{border-color:var(--erro);background-color:var(--erro-bg);background-image:none;padding-right:.75rem}
.invalid-feedback{display:flex;gap:var(--e1-5);align-items:flex-start;font-size:var(--t-rotulo);color:var(--erro);line-height:var(--lh-compacto)}
.invalid-feedback svg.i{width:var(--icone-m);height:var(--icone-m);margin-top:1px}
.senha{position:relative}
.senha .form-control{padding-right:var(--e12)}
.senha .olho{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:transparent;color:var(--muted);border-radius:var(--r-campo);display:grid;place-items:center;cursor:pointer}
.senha .olho:hover{color:var(--ink);background:var(--surface-2)}

/* ---------- Etiquetas, pílulas, chips ---------- */
.etiqueta{display:inline-flex;align-items:center;gap:var(--e1-5);padding:var(--e1) var(--e2);border-radius:var(--r-etiqueta);font-size:var(--t-pequeno);font-weight:var(--peso-forte);line-height:var(--lh-compacto);border-left:5px solid var(--seg);background:color-mix(in srgb,var(--seg) 14%,var(--surface));color:var(--ink);white-space:nowrap}
.seg-mcmv{--seg:var(--seg-mcmv)} .seg-f12{--seg:var(--seg-f12)} .seg-f3{--seg:var(--seg-f3)} .seg-f4{--seg:var(--seg-f4)} .seg-medio{--seg:var(--seg-medio)}
.seg-alto{--seg:var(--seg-alto)} .seg-litoral{--seg:var(--seg-litoral)} .seg-aluguel{--seg:var(--seg-aluguel)} .seg-repasse{--seg:var(--seg-repasse)} .seg-nd{--seg:var(--seg-nd)}
.pilula{display:inline-flex;align-items:center;gap:var(--e1-5);padding:var(--e1) var(--e2-5);border-radius:var(--r-pilula);font-size:var(--t-pequeno);font-weight:var(--peso-forte)}
.pilula.ok{background:var(--ok-bg);color:var(--ok)} .pilula.erro{background:var(--erro-bg);color:var(--erro)}
.pilula.aviso{background:var(--alerta-bg);color:var(--alerta)} .pilula.info{background:var(--info-bg);color:var(--info)}
.chip{border:0;display:inline-flex;align-items:center;gap:var(--e2);min-height:36px;padding:var(--e1-5) var(--e3-5) var(--e1-5) var(--e2);border-radius:var(--r-pilula);background:var(--surface-2);color:var(--muted);font-size:var(--t-rotulo);font-weight:var(--peso-forte);cursor:pointer;--c:var(--m500)}
.chip .marca{width:20px;height:20px;border-radius:50%;background:var(--line-forte);display:grid;place-items:center}
.chip .marca svg.i{width:12px;height:12px;stroke:var(--branco);stroke-width:3;visibility:hidden}
.chip[aria-pressed="true"]{color:var(--ink);background:color-mix(in srgb,var(--c) 14%,var(--surface));box-shadow:inset 0 0 0 2px var(--c)}
.chip[aria-pressed="true"] .marca{background:var(--c)}
.chip[aria-pressed="true"] .marca svg.i{visibility:visible}

/* Filtro de várias escolhas */
.multi{position:relative;display:inline-block}
.multi-botao{border:0;display:inline-flex;align-items:center;gap:var(--e2);min-height:36px;padding:var(--e1-5) var(--e3) var(--e1-5) var(--e3-5);border-radius:var(--r-pilula);color:var(--ink);background:var(--surface-2);font-size:var(--t-rotulo);font-weight:var(--peso-forte);cursor:pointer}
.multi-botao .qtd{background:var(--primary);color:var(--on-primary);border-radius:var(--r-pilula);font-size:var(--t-sobre);padding:1px var(--e2)}
.multi.on .multi-botao{background:var(--selecao);box-shadow:inset 0 0 0 2px var(--primary)}
.multi-lista{position:absolute;left:0;top:calc(100% + 6px);z-index:var(--z-lista);width:250px;max-width:calc(100vw - 32px);background:var(--surface);border-radius:var(--r-cartao);box-shadow:var(--sombra-2);padding:var(--e1-5);display:grid;transform-origin:top left}
.multi-lista label{display:flex;align-items:center;gap:var(--e2-5);min-height:40px;padding:var(--e1-5) var(--e2-5);border-radius:var(--r-campo);font-size:var(--t-controle);cursor:pointer}
.multi-lista label:hover{background:var(--selecao)}
.multi-lista input{width:17px;height:17px;accent-color:var(--primary);margin:0}
.multi-lista .conta{margin-left:auto;font-size:var(--t-pequeno);color:var(--muted)}

/* ---------- Cartão de imóvel ---------- */
.imoveis{display:grid;gap:var(--gap-grupo);grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr))}
@media (min-width:1200px){#vitrine .imoveis{grid-template-columns:repeat(4,minmax(0,1fr))}}
.imovel{background:var(--surface);border-radius:var(--r-cartao);overflow:hidden;display:flex;flex-direction:column;transition:background var(--dur-rapida)}
.imovel:hover{background:var(--surface-2)}
.capa{aspect-ratio:16/10;max-width:100%;position:relative;background:linear-gradient(160deg,var(--capa-a),var(--capa-b));display:grid;place-items:center;overflow:hidden;color:var(--texto-sobre-midia)}
.capa > svg.i{width:64px;height:64px;stroke-width:1.4}
.capa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.capa .etiqueta{position:absolute;left:10px;top:10px;background:color-mix(in srgb,var(--seg) 22%,var(--branco));color:var(--tinta-sobre-claro)}
.capa .sigla{position:absolute;right:10px;top:10px;background:var(--sobre-midia-escuro);color:var(--branco);font-size:var(--t-sobre);font-weight:var(--peso-titulo);letter-spacing:.6px;border-radius:var(--r-etiqueta);padding:var(--e1) var(--e2)}
.imovel .corpo{padding:var(--e3-5) var(--e4) var(--e4);display:grid;gap:var(--e1);flex:1}
.imovel .nome{font-size:var(--t-destaque);font-weight:var(--peso-titulo);line-height:var(--lh-titulo)}
.imovel .local{font-size:var(--t-rotulo);color:var(--muted)}
.imovel .preco{font-size:var(--t-rotulo);color:var(--muted);margin-top:var(--e1-5)}
.imovel .preco b{display:block;font-size:var(--t-cabecalho);color:var(--ink);font-weight:var(--peso-titulo)}
.imovel .acoes{display:flex;gap:var(--e2);padding:0 var(--e4) var(--e4)}
.imovel .acoes .btn{flex:1}
.imovel .acoes-vitrine{flex-wrap:wrap;align-items:center;gap:var(--e1-5)}
.imovel .acoes-vitrine .btn{flex:none;white-space:nowrap}
.imovel .acoes-vitrine .btn svg{width:var(--icone-m);height:var(--icone-m);margin-right:var(--e1)}
.imovel .acoes-vitrine .tirar-vitrine{margin:0 0 0 auto}
.imovel .acoes-vitrine .tirar-vitrine .btn svg{margin:0}

/* ---------- Esteira ---------- */
.esteira{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(calc(var(--toque) * 5),1fr);grid-auto-rows:minmax(0,1fr);gap:var(--gap-padrao);overflow-x:auto;padding-bottom:var(--e1)}
.coluna{background:var(--surface-2);border-radius:var(--r-cartao);padding:var(--inset-compacto);padding-top:0;display:grid;gap:var(--gap-padrao);align-content:start;min-width:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.coluna > header{position:sticky;top:0;z-index:1;background:var(--surface-2);padding-block:var(--e1-5);display:flex;justify-content:space-between;align-items:center;font-size:var(--t-rotulo);font-weight:var(--peso-titulo)}
.coluna > header span{font-weight:var(--peso-forte);color:var(--muted)}
.cartao{background:var(--surface);border-radius:var(--r-cartao);padding:var(--e2-5) var(--e3);font-size:var(--t-rotulo);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--e1);min-width:0}
.cartao .topo{display:flex;align-items:center;gap:var(--e2)}
.cartao .topo b{font-size:var(--t-controle);font-weight:var(--peso-titulo);flex:1;min-width:0}
.cartao .linha{color:var(--muted);display:flex;flex-wrap:wrap;gap:var(--e0-5) var(--e1-5);align-items:center;min-width:0}
.cartao .linha > *{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.temp{display:inline-flex;align-items:center;gap:var(--e1);font-size:var(--t-pequeno);font-weight:var(--peso-titulo);color:var(--ink);white-space:nowrap}
.temp svg{width:var(--icone-p);height:var(--icone-p);flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.temp.quente svg{color:var(--quente)} .temp.morno svg{color:var(--morno)} .temp.frio svg{color:var(--frio)}
.cartao .mover{display:none}
@media (max-width:767.98px){
  .esteira{grid-auto-flow:row;grid-auto-columns:auto;grid-auto-rows:auto;overflow:visible}
  .coluna{overflow-y:visible;min-height:0}
  .coluna > header{position:static;padding-block:0}
  .coluna:not(:has(.cartao)){display:none}
  .cartao .mover{display:inline-flex;min-width:var(--toque);min-height:var(--toque)}
}

/* ---------- Alfinete do mapa ---------- */
.pino{display:grid;justify-items:center}
.gota{width:44px;height:44px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;box-shadow:var(--sombra-pino);border:2px solid var(--branco);background:var(--seg,var(--m500))}
.gota > *{transform:rotate(45deg)}
.gota b{font-size:var(--t-sobre);font-weight:var(--peso-titulo);color:var(--branco);letter-spacing:.3px}
.gota.claro b{color:var(--tinta-sobre-claro)}
.gota svg.i{width:var(--icone);height:var(--icone);stroke:var(--branco);stroke-width:2.2}
.pino.emp .gota{width:52px;height:52px}

/* ---------- Avisos fixos e simulação ---------- */
.alerta{display:flex;gap:var(--e2-5);align-items:flex-start;padding:var(--e3) var(--e3-5);border-radius:var(--r-campo);font-size:var(--t-controle);line-height:var(--lh-compacto)}
.alerta svg.i{margin-top:var(--e0-5)}
.alerta.ok{background:var(--ok-bg);color:var(--ok)} .alerta.erro{background:var(--erro-bg);color:var(--erro)}
.alerta.aviso{background:var(--alerta-bg);color:var(--alerta)} .alerta.info{background:var(--info-bg);color:var(--info)}
.faixa-teste{align-items:center} .faixa-teste .teste-perto{font-weight:var(--peso-forte)}
.sim-resultado{display:grid;gap:var(--e3);grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));margin:0}
.sim-resultado div{background:var(--surface-2);border-radius:var(--r-campo);padding:var(--e2-5) var(--e3)}
.sim-resultado dt{font-size:var(--t-pequeno);color:var(--muted);font-weight:var(--peso-forte)}
.sim-resultado dd{margin:var(--e0-5) 0 0;font-size:var(--t-sub);font-weight:var(--peso-titulo);font-variant-numeric:tabular-nums}
.sim-resultado dd.numero-grande{font-size:var(--t-numero);line-height:var(--lh-numero)}
.sim-resultado dd small{display:block;font-size:var(--t-sobre);font-weight:var(--peso-forte);color:var(--muted)}

/* ---------- Tela vazia ---------- */
.vazio{display:grid;justify-items:center;text-align:center;gap:var(--e2-5);padding:var(--e8) var(--e4);background:var(--surface-2);border-radius:var(--r-cartao)}
.vazio > svg.i{width:34px;height:34px;color:var(--muted)}
.vazio-corry{width:64px;height:80px} /* proposta: Corry no estado vazio (a decidir) */

/* ---------- Toast ---------- */
#toasts{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);display:grid;gap:var(--e2-5);width:min(380px,calc(100vw - 32px));pointer-events:none}
@media (max-width:767.98px){#toasts{right:50%;transform:translateX(50%);bottom:calc(76px + env(safe-area-inset-bottom,0px))}}
.tst{position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:var(--e3);padding:var(--e3) var(--e3) var(--e3-5) var(--e3-5);background:var(--surface);border-left:4px solid var(--tc);border-radius:var(--r-cartao);box-shadow:var(--sombra-2);min-width:0;pointer-events:auto}
.tst.ok{--tc:var(--ok);--tb:var(--ok-bg)} .tst.erro{--tc:var(--erro);--tb:var(--erro-bg)}
.tst.aviso{--tc:var(--alerta);--tb:var(--alerta-bg)} .tst.info{--tc:var(--info);--tb:var(--info-bg)}
.tst-ic{width:30px;height:30px;border-radius:50%;background:var(--tb);color:var(--tc);display:grid;place-items:center;flex:none}
.tst-ic svg.i{width:var(--icone);height:var(--icone)}
.tst-txt{display:grid;gap:1px;flex:1;min-width:0;font-size:var(--t-rotulo);line-height:var(--lh-compacto)}
.tst-txt b{font-size:var(--t-controle);font-weight:var(--peso-titulo);color:var(--ink)}
.tst-txt span{color:var(--muted)}
.tst-acao{border:0;background:transparent;color:var(--tc);font-weight:var(--peso-titulo);font-size:var(--t-rotulo);padding:var(--e1-5) var(--e1-5);border-radius:var(--r-etiqueta);cursor:pointer;white-space:nowrap;align-self:center}
.tst-acao:hover{background:var(--tb)}
.tst-x{border:0;background:transparent;color:var(--muted);width:28px;height:28px;border-radius:var(--r-etiqueta);cursor:pointer;flex:none;display:grid;place-items:center}
.tst-x:hover{background:var(--surface-2);color:var(--ink)}
.tst-x svg.i{width:var(--icone-p);height:var(--icone-p)}
.tst-barra{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--tc);opacity:var(--op-apagado);transform-origin:left}
.tst-gira{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--tb);border-top-color:var(--tc);flex:none;align-self:center}

/* ---------- Carregamento ---------- */
.carga{display:grid;justify-items:center;align-content:center;gap:var(--e3-5);padding:var(--e6);min-height:220px}
.logo-placa{background:var(--logo-placa);border-radius:var(--r-grande);padding:var(--e2-5);display:grid;place-items:center}
.logo-anim{display:block;width:132px;height:auto}
.carga.menor{min-height:160px}
.carga.menor .logo-anim{width:64px}
.carga.menor .logo-placa{border-radius:var(--r-grande);padding:var(--e1-5)}
.carga-txt{font-size:var(--t-controle);font-weight:var(--peso-forte);color:var(--muted);display:flex;align-items:baseline;gap:1px}
.carga-txt i{font-style:normal;display:inline-block}
#carregando{position:fixed;inset:0;z-index:var(--z-veu);background:var(--veu);display:grid;place-content:center;justify-items:center;gap:var(--e4)}
#carregando .logo-anim{width:150px}
#carregando[hidden]{display:none}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- Livro de regras e tabelas ---------- */
.regra-cartao{display:grid;gap:var(--e2);text-decoration:none;color:var(--ink)}
.regra-cartao:hover{background:var(--surface-2)}
.regra-vigente,.regra-form{display:grid;gap:var(--e4)}
.regra-json{max-height:420px;overflow:auto;font-family:var(--mono);font-size:var(--t-pequeno);background:var(--surface-2);border-radius:var(--r-campo);padding:var(--e3);color:var(--ink)}
textarea.mono,.form-control.mono{font-family:var(--mono);font-size:var(--t-pequeno)}
details > summary{cursor:pointer;font-weight:var(--peso-forte);color:var(--link)}
.tabela-rolagem{overflow-x:auto}
.tabela{--bs-table-bg:var(--surface);--bs-table-color:var(--ink);--bs-table-border-color:var(--line);--bs-table-hover-bg:var(--selecao);--bs-table-hover-color:var(--ink);font-size:var(--t-controle);margin:0}
.tabela td.num,.tabela th.num{text-align:right;font-variant-numeric:tabular-nums}
.tabela th{font-size:var(--t-pequeno);color:var(--muted);font-weight:var(--peso-forte)}

/* ---------- Sininho de avisos (o que aconteceu enquanto o corretor não olhava) ---------- */
.cantos{display:flex;align-items:center;gap:var(--e2)}
.recolhido .cantos{flex-direction:column}
.botao-avisos{position:relative;flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--sidebar-text);text-decoration:none;transition:background var(--dur-rapida),color var(--dur-rapida)}
.botao-avisos:hover,.botao-avisos[aria-expanded="true"]{background:var(--sidebar-hover);color:var(--branco)}
.botao-avisos svg{width:var(--icone-g);height:var(--icone-g)}
.cab-app .botao-avisos{color:var(--ink);width:40px;height:40px}
.botao-moedas{border:0;flex:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--e1-5);height:40px;padding:0 var(--e3) 0 var(--e2);border-radius:var(--r-pilula);background:var(--surface-2);color:var(--ink);font-weight:var(--peso-titulo);cursor:pointer;transition:background var(--dur-rapida)}
.botao-moedas:hover,.botao-moedas[aria-expanded="true"]{background:color-mix(in srgb,var(--surface-2) 85%,var(--ink))}
svg.moeda{width:var(--icone-g);height:var(--icone-g);flex:none}
.painel-moedas{width:300px;padding-bottom:var(--e3)}
.painel-moedas p{margin:var(--e2) var(--e3-5) var(--e3);font-size:var(--t-controle);line-height:var(--lh-compacto)}
.painel-moedas .btn{margin:0 var(--e3-5);width:calc(100% - 28px);justify-content:center}
.cab-app .botao-avisos:hover,.cab-app .botao-avisos[aria-expanded="true"]{background:var(--surface-2);color:var(--ink)}
.avisos-n{position:absolute;top:0;right:-2px;min-width:18px;height:18px;padding:0 var(--e1-5);border-radius:var(--r-pilula);background:var(--erro);color:var(--branco);font-size:var(--t-sobre);font-weight:var(--peso-titulo);line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--sidebar)}
.cab-app .avisos-n{box-shadow:0 0 0 2px var(--surface)}
.avisos-n[hidden]{display:none}
.painel-avisos{position:fixed;z-index:var(--z-menu);width:min(380px,calc(100vw - 16px));max-height:min(520px,calc(100vh - 80px));display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border-radius:var(--r-cartao);box-shadow:var(--sombra-2);overflow:hidden}
.painel-avisos[hidden]{display:none}
.avisos-cab{display:flex;align-items:center;justify-content:space-between;gap:var(--e2);padding:var(--e3) var(--e3-5);border-bottom:1px solid var(--line)}
.avisos-cab .btn svg{width:var(--icone-m);height:var(--icone-m);margin-right:var(--e1)}
.avisos-lista{overflow-y:auto;padding:var(--e1-5);display:grid;gap:var(--e0-5)}
.avisos-vazio{margin:0;padding:var(--e4-5) var(--e3);text-align:center}
.avisos-todos{display:block;padding:var(--e2-5) var(--e3-5);border-top:1px solid var(--line);text-align:center;font-size:var(--t-controle);font-weight:var(--peso-forte);color:var(--link);text-decoration:none}
.aviso-item{display:flex;gap:var(--e3);align-items:flex-start;padding:var(--e2-5);border-radius:var(--r-campo);color:inherit;text-decoration:none;position:relative}
.aviso-item:hover,.aviso-item:focus-visible{background:var(--surface-2)}
.aviso-icone{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--muted)}
.aviso-icone svg{width:var(--icone);height:var(--icone)}
.aviso-item.novo .aviso-icone{color:var(--link)}
.aviso-item.erro .aviso-icone{color:var(--erro)}
.aviso-txt{display:grid;gap:var(--e0-5);min-width:0;font-size:var(--t-controle);line-height:var(--lh-titulo)}
.aviso-txt b{font-weight:var(--peso-forte)}
.aviso-item.novo .aviso-txt b{font-weight:var(--peso-titulo)}
.aviso-txt small{color:var(--muted);font-size:var(--t-rotulo)}
.aviso-txt time{color:var(--muted);font-size:var(--t-pequeno)}
.aviso-item.novo::after{content:"";position:absolute;right:10px;top:16px;width:8px;height:8px;border-radius:50%;background:var(--laranja)}
.avisos-pagina{padding:var(--e1-5);display:grid;gap:var(--e0-5)}

/* ---------- Acabamentos (03/10/2026) ---------- */
/* Controle em pílula e passo da esteira: passar o mouse também responde, como o botão */
.chip:not([aria-pressed="true"]):hover,.multi-botao:hover,.passo:not(.cheio):hover,.contador:not(.ativo):hover,.opcoes label:hover:not(:has(input:checked)){background:color-mix(in srgb,var(--surface-2) 85%,var(--ink))}

/* Esqueleto: o formato do que está chegando, enquanto o conteúdo carrega (proposta; ainda não ligado a nenhuma tela) */
.esqueleto{display:block;background:var(--surface-2);border-radius:var(--r-campo);min-height:var(--e4);animation:esqueleto 1.4s ease-in-out infinite}
.esqueleto.linha{height:var(--e3);width:60%}
.esqueleto.cartao{height:96px;border-radius:var(--r-cartao)}
.esqueleto.redondo{width:36px;height:36px;border-radius:50%}
@keyframes esqueleto{50%{opacity:var(--op-apagado)}}

/* Modo de alto contraste do sistema: o que era dito só por tom ou por anel interno ganha contorno do próprio sistema */
@media (forced-colors:active){.brand img{filter:invert(1)}
  .chip[aria-pressed="true"],.multi.on .multi-botao,.opcoes label:has(input:checked),.contador.ativo,.passo.cheio,.selecionado,.plano:has(input:checked),.doc-cliente[open],.visoes a[aria-selected="true"],.guias a[aria-current="page"],.paginacao .atual{outline:2px solid Highlight;outline-offset:-2px}
  .btn,.chip,.multi-botao,.passo,.contador{border:1px solid ButtonText}
  .tst,.menu-conta,.painel-avisos,.dialogo,.cartao-mapa,.painel,.imovel,.cartao{border:1px solid CanvasText}
}

/* ---------- Moedas e conquistas (proposta: ainda não ligadas a nenhuma tela; ver docs/design-system/componentes.md) ---------- */
/* Conquista: medalha com ícone e nome. Feita é ouro; a fazer é neutra; bloqueada fica apagada. Nunca vermelho (conquista não pune). */
.conquista{display:inline-grid;justify-items:center;gap:var(--e1);max-width:calc(var(--toque) * 2);text-align:center;font-size:var(--t-pequeno);font-weight:var(--peso-forte);line-height:var(--lh-compacto);color:var(--ink)}
.conquista-medalha{display:grid;place-items:center;width:calc(var(--toque) * 1.5);height:calc(var(--toque) * 1.5);border-radius:50%;background:var(--surface-2);color:var(--muted)}
.conquista-medalha svg.i{width:var(--icone-destaque);height:var(--icone-destaque)}
.conquista.feita .conquista-medalha{background:var(--moeda);color:var(--moeda-ink)}
.conquista.bloqueada{opacity:var(--op-apagado)}
/* Meta: título, "3 de 5" e a barra de progresso marinho de sempre */
.meta{display:grid;gap:var(--e2)}
.meta-cab{display:flex;justify-content:space-between;align-items:baseline;gap:var(--gap-padrao);font-size:var(--t-controle);font-weight:var(--peso-forte)}
.meta-cab .num{color:var(--muted);font-weight:var(--peso-corpo)}
/* Sequência de dias: um círculo por dia; feito é ouro, hoje tem contorno */
.sequencia{display:flex;flex-wrap:wrap;gap:var(--gap-apertado)}
.sequencia span{display:grid;place-items:center;width:var(--e8);height:var(--e8);border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:var(--t-pequeno);font-weight:var(--peso-forte)}
.sequencia span.feito{background:var(--moeda);color:var(--moeda-ink)}
.sequencia span.hoje{box-shadow:inset 0 0 0 2px var(--realce);color:var(--ink)}

/* ---------- Campo com busca: o estado da consulta escrito logo abaixo do campo ---------- */
.busca-status{display:flex;align-items:flex-start;gap:var(--gap-apertado);font-size:var(--t-rotulo);line-height:var(--lh-compacto);color:var(--muted)}
.busca-status:empty{display:none}
.busca-status svg.i{width:var(--icone-m);height:var(--icone-m);margin-top:var(--e0-5);flex:none}
.busca-status.ok{color:var(--ok)}
.busca-status.aviso{color:var(--alerta)}
.busca-status.erro{color:var(--erro)}
.busca-status.buscando::before{content:"";flex:none;width:var(--icone-m);height:var(--icone-m);border-radius:50%;border:2px solid var(--line-forte);border-top-color:var(--realce);animation:busca-gira .8s linear infinite}
@keyframes busca-gira{to{transform:rotate(360deg)}}
/* Campo preenchido pela consulta: um tom a mais até a pessoa mexer nele */
.form-control[data-auto]{background-color:var(--selecao)}
.form-control[data-auto]:focus{background-color:var(--surface)}
