/* =====================================================================
   GESTOR PRUMO - estilo
   Paleta de praca de maquinas: anteparo cinza-verde, papel de formulario
   e latao. A unica cor viva vem das bandeiras do Codigo Internacional de
   Sinais, que identificam os grupos.
   Sem fontes externas: o app precisa abrir sem internet, no mar.
   ===================================================================== */

:root {
  --fundo:        #F4F7FC;
  --superficie:   #FFFFFF;
  --superficie-2: #E6EEF9;
  --borda:        #D3DEEF;
  --borda-forte:  #8FA6C6;
  --tinta:        #0A1A33;
  --tinta-fraca:  #4A5F7E;

  /* --azul e o azul-marinho da casa: barra, navegacao e acao primaria.
     Trocado em 30AGO2026: era o cinza-verde de anteparo da fragata. */
  --azul:         #0F2A50;
  --azul-claro:   #DCE7F7;
  /* --latao ficou com o NOME antigo e cor nova: o latao saiu com a
     fragata, mas o token e chamado em varios lugares. Renomear e
     tarefa da passada de layout, nao desta. */
  --latao:        #1D4E8F;
  --vermelho:     #BF3B2E;
  --vermelho-claro:#FBE9E6;
  --ambar:        #B5771A;
  --ambar-claro:  #FCF0DC;
  --verde:        #1C7A5B;
  --verde-claro:  #E2F2EC;

  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Mono", Menlo, Consolas, monospace;

  --r: 4px;
  --sombra: 0 1px 2px rgba(10,26,51,.10), 0 4px 14px rgba(10,26,51,.06);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--fundo);
  color: var(--tinta);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.45;
  -webkit-text-size-adjust: 100%;
  overscroll-behavior-y: contain;
}

button, input, select, textarea { font: inherit; color: inherit; }

:focus-visible {
  outline: 2px solid var(--azul);
  outline-offset: 2px;
}

.oculto { display: none !important; }

/* ---------------------------------------------------------------- rotulos */
.rotulo {
  color: var(--tinta-fraca);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
}

/* ---------------------------------------------------------------- marca */
.marca { display: flex; align-items: center; gap: 9px; }
.marca-nome {
  font-family: var(--mono);
  font-weight: 700;
  font-size: 17px;
  letter-spacing: .30em;
  text-transform: uppercase;
}
/* Emoji de ancora. line-height 1 evita que ele empurre a linha do titulo. */
.prumo-glifo {
  width: 1.05em; height: 1.15em; display: inline-block;
  vertical-align: -.18em; fill: currentColor;
  flex: none;
  display: block;
  font-size: 1.15em;
  line-height: 1;
  letter-spacing: 0;
}
.entrada-marca .prumo-glifo {
  width: 1.05em; height: 1.15em; display: inline-block;
  vertical-align: -.18em; fill: currentColor; font-size: 1.3em; }

/* ---------------------------------------------------------------- topo */
.topo {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--azul);
  color: #fff;
  padding: calc(10px + env(safe-area-inset-top)) 14px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.topo .marca-nome { color: #fff; }
.topo-acoes { display: flex; align-items: center; gap: 6px; }

.btn-topo {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  border-radius: var(--r);
  padding: 6px 10px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}
.btn-topo:hover { background: rgba(255,255,255,.2); }

/* ---------------------------------------------------------------- sinal de sincronia */
.sinal {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 9px;
  border-radius: var(--r);
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  cursor: pointer;
}
.sinal .ponto {
  width: 7px; height: 7px; border-radius: 50%;
  background: #7fd6a4; flex: none;
}
.sinal[data-estado="pendente"] .ponto { background: #F0C46B; animation: pulsa 1.4s ease-in-out infinite; }
.sinal[data-estado="offline"] .ponto { background: #E39A92; }
.sinal[data-estado="enviando"] .ponto { background: #fff; animation: pulsa .8s linear infinite; }

@keyframes pulsa { 0%,100% { opacity: 1; } 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* ---------------------------------------------------------------- estrutura */
.pagina { max-width: 760px; margin: 0 auto; padding: 0 12px 92px; }

.aviso {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: var(--r);
  border-left: 3px solid var(--ambar);
  background: var(--ambar-claro);
  font-size: 14px;
}
.aviso.erro { border-left-color: var(--vermelho); background: var(--vermelho-claro); }
.aviso.ok   { border-left-color: var(--verde);   background: var(--verde-claro); }
.aviso button {
  margin-top: 8px; background: none; border: 1px solid var(--borda-forte);
  border-radius: var(--r); padding: 4px 10px; font-size: 13px; cursor: pointer;
}

/* ---------------------------------------------------------------- abas */
.abas {
  display: flex;
  margin: 14px 0 0;
  border: 1px solid var(--borda-forte);
  border-radius: var(--r);
  overflow: hidden;
  background: var(--superficie);
}
.abas button {
  flex: 1;
  border: 0;
  background: none;
  padding: 10px 4px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
  cursor: pointer;
  border-right: 1px solid var(--borda);
}
.abas button:last-child { border-right: 0; }
.abas button[aria-selected="true"] {
  background: var(--azul);
  color: #fff;
  box-shadow: inset 0 -3px 0 var(--latao);
}
.abas .conta { display: block; font-size: 15px; letter-spacing: 0; margin-top: 1px; }

/* ---------------------------------------------------------------- filtro de grupo */
.filtros { display: flex; gap: 6px; margin: 12px 0 0; flex-wrap: wrap; }
.chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--superficie);
  border: 1px solid var(--borda-forte);
  border-radius: var(--r);
  padding: 6px 10px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}
.chip[aria-pressed="true"] { background: var(--tinta); color: #fff; border-color: var(--tinta); }
.bandeira { display: block; flex: none; border: 1px solid rgba(15,22,32,.25); }

/* ---------------------------------------------------------------- tarefas */
.lista { margin: 12px 0 0; display: flex; flex-direction: column; gap: 8px; }

.tarefa {
  background: var(--superficie);
  border: 1px solid var(--borda);
  border-left: 3px solid var(--borda-forte);
  border-radius: var(--r);
  padding: 11px 12px;
  cursor: pointer;
  text-align: left;
  width: 100%;
  display: block;
  box-shadow: var(--sombra);
}
.tarefa[data-prioridade="alta"]    { border-left-color: var(--ambar); }
.tarefa[data-prioridade="critica"] { border-left-color: var(--vermelho); }
.tarefa[data-status="concluida"]   { border-left-color: var(--verde); opacity: .78; }
.tarefa[data-status="cancelada"]   { opacity: .6; }
.tarefa[data-status="cancelada"] .tarefa-titulo { text-decoration: line-through; }

.tarefa-topo { display: flex; align-items: center; gap: 7px; margin-bottom: 5px; }
.tarefa-titulo { font-weight: 600; font-size: 15px; line-height: 1.3; }
.tarefa-meta {
  margin-top: 6px;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--tinta-fraca);
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
}

.marca-estado {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 2px;
  border: 1px solid;
  white-space: nowrap;
}
.e-atrasada  { color: var(--ambar); border-color: var(--ambar); background: var(--ambar-claro); }
.e-andamento { color: var(--azul); border-color: var(--azul); background: var(--azul-claro); }
.e-concluida { color: var(--verde); border-color: var(--verde); background: var(--verde-claro); }
.e-critica   { color: var(--vermelho); border-color: var(--vermelho); background: var(--vermelho-claro); }
.e-pendente  { color: var(--tinta-fraca); border-color: var(--borda-forte); background: var(--superficie-2); }

.vazio {
  margin: 26px 0;
  padding: 22px 16px;
  text-align: center;
  border: 1px dashed var(--borda-forte);
  border-radius: var(--r);
  color: var(--tinta-fraca);
  background: var(--superficie-2);
}
.vazio strong { display: block; color: var(--tinta); margin-bottom: 4px; }

/* ---------------------------------------------------------------- botao flutuante */
.novo {
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: 45;
  background: var(--azul);
  color: #fff;
  border: 0;
  border-radius: var(--r);
  padding: 14px 20px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: 0 6px 20px rgba(18,56,108,.35);
  cursor: pointer;
}

/* ---------------------------------------------------------------- formularios */
.campo { margin-bottom: 13px; }
.campo label {
  display: block;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
  margin-bottom: 5px;
}
.campo input, .campo select, .campo textarea {
  width: 100%;
  padding: 11px 10px;
  border: 1px solid var(--borda-forte);
  border-radius: var(--r);
  background: var(--superficie);
  font-size: 16px; /* impede o zoom automatico do iOS */
}
.campo textarea { min-height: 92px; resize: vertical; }
.campo .dica { font-size: 12px; color: var(--tinta-fraca); margin-top: 4px; }

.botoes { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.btn {
  flex: 1;
  min-width: 130px;
  padding: 12px 14px;
  border-radius: var(--r);
  border: 1px solid var(--azul);
  background: var(--azul);
  color: #fff;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}
.btn.secundario { background: var(--superficie); color: var(--tinta); border-color: var(--borda-forte); }
.btn.perigo { background: var(--vermelho); border-color: var(--vermelho); }
.btn:disabled { opacity: .5; cursor: not-allowed; }

/* ---------------------------------------------------------------- painel deslizante */
.painel {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(15,22,32,.45);
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.painel-caixa {
  background: var(--fundo);
  width: 100%;
  max-width: 640px;
  max-height: 92vh;
  overflow-y: auto;
  border-radius: var(--r) var(--r) 0 0;
  padding: 16px 14px calc(20px + env(safe-area-inset-bottom));
}
@media (min-width: 700px) {
  .painel { align-items: center; }
  .painel-caixa { border-radius: var(--r); max-height: 86vh; }
}
.painel-topo {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--borda-forte);
}
.painel-topo h2 { margin: 0; font-size: 16px; font-family: var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.fechar { background: none; border: 0; font-size: 26px; line-height: 1; cursor: pointer; color: var(--tinta-fraca); padding: 0 6px; }

/* ---------------------------------------------------------------- historico */
.historico { margin-top: 6px; font-size: 13px; }
.historico li {
  list-style: none;
  padding: 8px 0;
  border-bottom: 1px solid var(--borda);
}
.historico ul { margin: 0; padding: 0; }
.historico .quando { font-family: var(--mono); font-size: 11px; color: var(--tinta-fraca); }
.historico .nao-valeu { color: var(--ambar); font-family: var(--mono); font-size: 11px; }

/* ---------------------------------------------------------------- pessoas */
.pessoa {
  background: var(--superficie);
  border: 1px solid var(--borda);
  border-radius: var(--r);
  padding: 11px 12px;
  margin-bottom: 8px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}
.mes { opacity: .60; }

.pessoa.inativa { opacity: .55; }
/* O aparelho que espera liberacao e o que pede acao: destaca, nao apaga. */
.pessoa.pendente {
  border-left: 3px solid var(--latao);
  background: var(--ambar-claro);
}
.pessoa.pendente .pessoa-meta { color: #6b4e0d; }
.pessoa.pendente button {
  background: var(--azul); color: #fff; border-color: var(--azul);
}
.pessoa-nome { font-weight: 600; font-size: 15px; }
.pessoa-meta { font-family: var(--mono); font-size: 11px; color: var(--tinta-fraca); margin-top: 3px; }
.pessoa button {
  background: var(--superficie); border: 1px solid var(--borda-forte);
  border-radius: var(--r); padding: 7px 11px; cursor: pointer;
  font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
}


/* Telas baixas: o brasao cede espaco para os campos de entrada. */
@media (max-height: 680px) {
}

/* ---------------------------------------------------------------- entrada */
.entrada {
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  background:
    linear-gradient(180deg, rgba(18,56,108,.06), rgba(18,56,108,0) 45%),
    var(--fundo);
}
.entrada-caixa {
  width: 100%;
  max-width: 380px;
  background: var(--superficie);
  border: 1px solid var(--borda-forte);
  border-radius: var(--r);
  padding: 26px 20px 22px;
  box-shadow: var(--sombra);
}
.entrada-marca { justify-content: center; margin-bottom: 4px; }
.entrada-marca .marca-nome { font-size: 22px; }
.entrada-sub {
  text-align: center;
  margin: 0 0 22px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
}
.entrada .btn { width: 100%; }

/* teclado numerico do PIN */
.pin-visor {
  display: flex; justify-content: center; gap: 12px; margin: 18px 0 22px;
}
.pin-visor span {
  width: 13px; height: 13px; border-radius: 50%;
  border: 1.5px solid var(--borda-forte);
}
.pin-visor span.cheio { background: var(--azul); border-color: var(--azul); }
.teclado { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.teclado button {
  padding: 15px 0;
  font-family: var(--mono);
  font-size: 19px;
  background: var(--superficie-2);
  border: 1px solid var(--borda);
  border-radius: var(--r);
  cursor: pointer;
}
.teclado button.vazia { visibility: hidden; }

/* ------------------------------------------------------------- grupos */
.grupo { margin-bottom: 14px; }
.grupo-cabeca {
  width: 100%; display: flex; align-items: center; gap: 9px;
  background: var(--superficie-2);
  border: 1px solid var(--borda);
  border-left: 3px solid var(--borda-forte);
  border-radius: var(--r);
  padding: 10px 12px; cursor: pointer; text-align: left;
  font-family: var(--mono); font-size: 12px;
  letter-spacing: .12em; text-transform: uppercase; color: var(--tinta);
}
.grupo-cabeca:hover { background: var(--azul-claro); }
.grupo-codigo { font-weight: 700; }
.grupo-nome {
  letter-spacing: .04em; text-transform: none; color: var(--tinta-fraca);
  font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.grupo-conta {
  margin-left: auto; background: var(--azul); color: #fff;
  border-radius: 999px; padding: 2px 9px; font-size: 11px; letter-spacing: .04em;
}
.grupo-seta { transition: transform .15s ease; }
.grupo.fechado .grupo-seta { transform: rotate(-90deg); }
.grupo.fechado .grupo-corpo { display: none; }
.grupo-corpo { margin-top: 8px; }

/* Em telas estreitas o nome do grupo cede lugar ao codigo e a contagem. */
@media (max-width: 430px) { .grupo-nome { display: none; } }

/* -------------------------------------------------- primeiros passos */
.apres-titulo { font-size: 18px; margin: 4px 0 10px; }
.apres-corpo { font-size: 15px; line-height: 1.55; }
.apres-corpo p { margin: 0 0 10px; }
.apres-pontos { display: flex; gap: 6px; justify-content: center; margin: 18px 0 4px; }
.apres-pontos span { width: 7px; height: 7px; border-radius: 50%; background: var(--borda-forte); opacity: .45; }
.apres-pontos span.atual { background: var(--latao); opacity: 1; }

@media (prefers-reduced-motion: reduce) { .grupo-seta { transition: none; } }

/* ------------------------------------------------------ primeiro acesso */
.elo {
  display: block;
  width: 100%;
  margin-top: 12px;
  background: none;
  border: 0;
  padding: 6px;
  cursor: pointer;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.elo:hover { color: var(--tinta); }
.ajuda-primeiro {
  margin-top: 10px;
  padding: 14px 16px;
  background: var(--superficie-2);
  border: 1px solid var(--borda);
  border-left: 3px solid var(--latao);
  border-radius: var(--r);
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}
.ajuda-primeiro ol { margin: 0 0 4px; padding-left: 20px; }
.ajuda-primeiro li { margin-bottom: 9px; }
.ajuda-primeiro p { margin: 0 0 8px; }
.ajuda-primeiro .rotulo { margin-top: 12px; }
.ajuda-primeiro .rotulo:first-child { margin-top: 0; }

/* -------------------------------------------------------------- SITREP */
.sitrep-nav { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.sitrep-nav .btn { flex: none; padding: 8px 12px; font-size: 12px; }
.sitrep-data {
  flex: 1; text-align: center; font-family: var(--mono); font-size: 14px;
  font-weight: 700; letter-spacing: .1em; color: var(--tinta);
}
.sitrep-selo {
  font-family: var(--mono); font-size: 11px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--tinta-fraca);
  padding: 7px 11px; margin-bottom: 10px; border-radius: var(--r);
  background: var(--superficie-2); border-left: 3px solid var(--latao);
}
.sitrep-selo.fechado { border-left-color: var(--verde); background: var(--verde-claro); color: #22503e; }
/* O documento e o texto puro que vai ao comandante: mono, sem enfeite. */
.sitrep-texto, .sitrep-editor {
  width: 100%; background: var(--superficie); border: 1px solid var(--borda);
  border-radius: var(--r); padding: 16px; font-family: var(--mono);
  font-size: 13px; line-height: 1.65; color: var(--tinta);
  white-space: pre-wrap; word-break: break-word; margin: 0 0 12px;
}
.sitrep-editor { min-height: 320px; resize: vertical; }

/* Ao salvar em PDF sai so o documento, sem a interface em volta. */
@media print {
  body { background: #fff; }
  .barra, .abas, .filtros, .sitrep-nav, .botoes, .dica, #btn-nova, #painel { display: none !important; }
  .sitrep-texto { border: 0; padding: 0; font-size: 12px; }
  .sitrep-selo { border: 0; background: none; padding: 0 0 12px; }
}

/* ====================================================================
   ARQUIVO — acrescentado em 06AGO2026
   Calendario, busca com sugestoes e lista corrida por data.
   Bloco no fim do arquivo para nao mexer no meio (regra 5).
   ==================================================================== */

/* Com cinco abas os rotulos apertam: rolagem lateral resolve sem encolher
   a fonte a ponto de atrapalhar a leitura no conves. */
.abas { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.abas::-webkit-scrollbar { display: none; }
.abas button { flex: 0 0 auto; white-space: nowrap; }

.arq-busca { position: relative; margin: 0 0 12px; }
.arq-busca input {
  width: 100%; box-sizing: border-box; padding: 11px 12px;
  border: 1px solid var(--linha, #C6D5EA); border-radius: 10px;
  font-size: 16px; /* 16px evita o zoom automatico do iOS ao focar */
  background: var(--paper, #fff); color: inherit;
}
.arq-sugestoes {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30;
  background: var(--paper, #fff); border: 1px solid var(--linha, #C6D5EA);
  border-radius: 10px; overflow: hidden; box-shadow: 0 6px 18px rgba(0,0,0,.14);
}
.arq-sugestoes button {
  display: block; width: 100%; text-align: left; padding: 10px 12px;
  background: none; border: 0; border-bottom: 1px solid var(--linha, #eee);
  font: inherit; color: inherit; cursor: pointer;
}
.arq-sugestoes button:last-child { border-bottom: 0; }
.arq-sugestoes button:hover, .arq-sugestoes button:focus { background: rgba(0,0,0,.05); }
.arq-sugestoes.oculto { display: none; }

.arq-cal {
  background: var(--paper, #fff); border: 1px solid var(--linha, #C6D5EA);
  border-radius: 12px; padding: 10px; margin: 0 0 14px;
}
.arq-cal-topo { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.arq-nav {
  background: none; border: 1px solid var(--linha, #C6D5EA); border-radius: 8px;
  width: 34px; height: 34px; font-size: 20px; line-height: 1; cursor: pointer; color: inherit;
}
.arq-cal-sem, .arq-cal-grade { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.arq-cal-sem span { text-align: center; font-size: 11px; opacity: .6; padding-bottom: 4px; }
.arq-dia {
  aspect-ratio: 1 / 1; min-height: 34px; border: 0; border-radius: 8px;
  background: transparent; font: inherit; font-size: 13px; color: inherit;
  cursor: pointer; opacity: .45;
}
.arq-dia.tem { opacity: 1; font-weight: 600; background: rgba(27,36,34,.07); }
.arq-dia.aberta { outline: 2px solid var(--acento, #0F2A50); outline-offset: -2px; }
.arq-vazio { aspect-ratio: 1 / 1; }

.arq-dia-bloco { margin: 0 0 16px; }
.arq-data {
  margin: 0 0 6px; font-size: 13px; text-transform: uppercase;
  letter-spacing: .04em; opacity: .7; font-weight: 600;
}
.arq-conta { margin: 0 0 10px; font-size: 13px; opacity: .7; }

/* Eco da conclusao: a tarefa ja aparece cheia no dia em que foi aberta,
   entao aqui basta a linha curta dizendo que naquele dia ela fechou. */
.arq-eco {
  display: block; width: 100%; text-align: left;
  padding: 8px 10px; margin: 0 0 6px;
  background: none; border: 0; border-left: 3px solid var(--acento, #0F2A50);
  font: inherit; font-size: 14px; opacity: .75; color: inherit; cursor: pointer;
}

/* Quanto tempo a tarefa ficou aberta — acrescentado em 07AGO2026 */
.arq-duracao {
  margin: -4px 0 12px; padding: 0 10px;
  font-size: 12px; opacity: .65; font-style: italic;
}

/* Calendário a 2/3 da altura — ajuste pedido em 07AGO2026.
   A célula era quadrada (aspect-ratio 1/1). Passando para 3/2, a altura
   vira exatamente dois terços da largura, então o calendário encolhe um
   terço sem estreitar as colunas — o dedo continua acertando o dia.
   Bloco no fim para sobrepor as regras acima sem editá-las. */
.arq-cal { padding: 7px; margin-bottom: 10px; }
.arq-cal-topo { margin-bottom: 5px; }
.arq-cal-topo strong { font-size: 14px; }
.arq-nav { width: 26px; height: 26px; font-size: 16px; }
.arq-cal-sem, .arq-cal-grade { gap: 2px; }
.arq-cal-sem span { font-size: 10px; padding-bottom: 2px; }
.arq-dia { aspect-ratio: 3 / 2; min-height: 24px; font-size: 12px; border-radius: 6px; }
.arq-vazio { aspect-ratio: 3 / 2; }

/* Abas de volta ao tamanho igual — ajuste pedido em 07AGO2026.
   O bloco do Arquivo tinha trocado flex:1 por flex:0 0 auto para permitir
   rolagem lateral com cinco abas, e com isso cada botao passou a ter a
   largura do proprio texto. Ficou desalinhado. Voltando a repartir a barra
   em cinco partes iguais: a fonte cai de 11px para 9.5px e o espacamento
   entre letras encolhe, o que faz "CONCLUIDAS" caber sem quebrar. */
.abas { overflow-x: visible; }
.abas button {
  flex: 1 1 0;
  min-width: 0;
  padding: 10px 2px;
  font-size: 9.5px;
  letter-spacing: .04em;
  white-space: nowrap;
}
.abas .conta { font-size: 14px; }

/* Legibilidade das cinco abas — ajuste pedido em 08AGO2026.
   Medido na tela real a 360px: sobram 63px por aba e a fonte e monoespacada,
   entao a largura util e so o numero de caracteres. "CONCLUIDAS", com 10,
   travava a fonte em 10px. Tirar as contagens NAO ajudaria: o numero fica
   ABAIXO do rotulo (.conta e display:block) e nunca disputa largura.
   Trocado o rotulo por "PRONTAS", 7 caracteres, o que libera 12px com folga
   ate os divisores e ainda aguenta aparelho mais estreito que 360px.
   Bloco no fim para sobrepor o bloco de 07AGO sem edita-lo (regra 5). */
.abas button {
  font-size: 12px;
  letter-spacing: .06em;
  padding: 10px 3px;
}

/* ====================================================================
   SITREP COLORIDO — acrescentado em 10AGO2026 (carimbo 20260810a)

   Verde para tarefa concluida, ambar para em andamento, cor normal para
   prevista, cinza fraco para cancelada. As classes sao aplicadas pelo
   colorirSitrep() no fim do app-v8.js, uma por tarefa: a linha numerada
   e a nota de rodape recuada que vier debaixo dela ficam da mesma cor.

   Nao ha cor nova aqui. --verde e --ambar ja existem no :root e ja sao
   usadas no resto do app, entao o SITREP casa com o que a guarnicao ja
   ve nas listas de tarefa.
   ==================================================================== */

.sitrep-texto .sit-concluida { color: var(--verde); }
.sitrep-texto .sit-andamento { color: var(--ambar); }
.sitrep-texto .sit-prevista  { color: var(--tinta); }
.sitrep-texto .sit-cancelada { color: var(--tinta-fraca); }

/* O SITREP impresso e o documento que vai ao comandante: sai em preto.
   Verde e ambar numa impressora preto e branco viram o mesmo cinza, e
   duas situacoes diferentes passariam a parecer iguais no papel. Para
   levar a cor ao PDF, apague as duas linhas abaixo. */
@media print {
  .sitrep-texto span { color: #000 !important; }
}


/* ====================================================================
   PRAZOS e o botao GERAL — acrescentado em 16AGO2026 (carimbo 20260816c)

   Nenhuma cor nova. --vermelho, --ambar e --verde ja estao no :root e
   ja pintam as marcas das tarefas, entao os prazos casam com o que a
   guarnicao ja le nas listas.
   ==================================================================== */

/* ------------------------------------------------------- botao GERAL */
.btn-geral { position: relative; }

/* Balao de notificacao, no feitio que todo mundo ja conhece do
   WhatsApp: circulo vermelho, numero em branco, encavalado no canto.
   position:absolute de proposito -- assim ele NAO ocupa largura na
   barra do topo, que ja e apertada em tela de 320px. */
.balao {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 9px;
  background: var(--vermelho);
  color: #fff;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  line-height: 17px;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  box-shadow: 0 0 0 2px var(--azul);
}

/* Dentro do painel Geral o balao anda junto do texto, entao volta a ser
   um elemento normal da linha. */
.prz-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.prz-item .balao {
  position: static;
  box-shadow: none;
  flex: none;
}

/* Em tela estreita a barra do topo passa a ter tres coisas alem da
   marca. Aperta o respiro em vez de deixar quebrar linha. */
@media (max-width: 380px) {
  .topo { padding-left: 10px; padding-right: 10px; gap: 6px; }
  .topo-acoes { gap: 4px; }
  .btn-topo { padding: 6px 7px; }
  .sinal { padding: 5px 7px; }
}

/* Abaixo de 330px nao ha largura para a palavra EM DIA e mais dois
   botoes. O ponto colorido sozinho continua dizendo o estado, que e a
   informacao que importa; o texto volta assim que couber. */
@media (max-width: 330px) {
  .sinal #sinal-texto { display: none; }
  .sinal { padding: 5px 6px; }
}

/* --------------------------------------------------- cartao de prazo */
/* Faixa na lateral esquerda, no lugar de fundo colorido: o cartao de
   tarefa ja usa a cor do fundo para prioridade, e duas cores de fundo
   competindo deixariam a lista suja. */
.prz-cartao { border-left: 3px solid transparent; }
.prz-cartao[data-prz-sit="vencido"] { border-left-color: var(--vermelho); }
.prz-cartao[data-prz-sit="hoje"]    { border-left-color: var(--ambar); }
.prz-cartao[data-prz-sit="amanha"]  { border-left-color: var(--ambar); }
.prz-cartao[data-prz-sit="cumprido"]{ border-left-color: var(--verde); }

/* ------------------------------------------- historico da serie (fita) */
.prz-fita {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 6px 0 0;
}
.prz-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 7px;
  border: 1px solid var(--borda);
  border-radius: var(--r);
  background: var(--superficie-2);
  font-family: var(--mono);
  font-size: 11px;
  color: var(--tinta-fraca);
  white-space: nowrap;
}
.prz-chip.ok {
  background: var(--verde-claro);
  border-color: var(--verde);
  color: var(--verde);
}
.prz-chip.falta {
  background: var(--vermelho-claro);
  border-color: var(--vermelho);
  color: var(--vermelho);
}
.prz-chip.atual { outline: 2px solid var(--latao); outline-offset: 1px; }
.prz-chip .mes { opacity: .75; }

/* ------------------------------------------------- eco no Arquivo */
/* Reaproveita o .arq-eco das tarefas concluidas e so troca a lateral,
   para o olho separar prazo de tarefa sem precisar ler. */
.prz-eco { border-left: 3px solid var(--verde); }
/* ====================================================================
   EVENTOS — acrescentado em 18AGO2026 (carimbo 20260818a)

   Quase nada aqui: o módulo reaproveita .tarefa para o cartão (faixa
   esquerda com a cor do escopo, aplicada inline pelo JS), .arq-cal
   para a grade do calendário e .chip para os envolvidos no formulário.
   As cores dos escopos vivem no EVT_COR do app-v8.js, num lugar só.
   ==================================================================== */

/* O dia do calendário ganha os pontinhos por escopo embaixo do número. */
.evt-dia {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
.evt-pontos {
  display: flex;
  gap: 2px;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 100%;
}
.evt-pt { width: 5px; height: 5px; border-radius: 50%; flex: none; }

/* O dia de HOJE leva um traço de latão embaixo do número — o contorno
   cheio (.aberta) fica para o dia que a pessoa tocou. */
.evt-dia.evt-e-hoje { box-shadow: inset 0 -3px 0 var(--latao); }

/* Cabeçalho de dia na agenda, com a régua que o resto do app já usa. */
.evt-dia-cab {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 16px 0 2px;
}
.evt-dia-cab::after { content: ""; flex: 1; height: 1px; background: var(--borda); }
.evt-dia-cab.evt-hoje { color: var(--ambar); font-weight: 700; }

/* Hora do evento no cartão: negrito quando tem, discreta quando é o
   dia todo. */
.evt-hora { font-family: var(--mono); font-size: 12px; font-weight: 700; }
.evt-hora.evt-sem-hora { color: var(--tinta-fraca); font-weight: 400; }

/* Legenda das cores, embaixo do calendário. */
.evt-legenda {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin: 8px 0 2px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .08em;
  color: var(--tinta-fraca);
}
.evt-legenda span { display: inline-flex; align-items: center; gap: 5px; }
.evt-legenda .evt-pt { width: 8px; height: 8px; }

/* As duas visões (AGENDA | CALENDÁRIO) usam .abas dentro do painel;
   ali o respiro de cima pode ser menor que o da barra principal. */
.evt-abas { margin-top: 4px; }



/* ====================================================================
   AGENDA UNIFICADA — acrescentado em 29AGO2026 (carimbo 20260829d)
   Rascunho v3 aprovado pelo Capitão. A barra tem a MESMA gramática
   das abas: clara fechada (aba não selecionada), azul com fio de
   latão aberta (aba selecionada). Células de calendário PRÓPRIAS —
   as do Arquivo são miúdas de propósito para aquela tela.

   Cores dos pontinhos por TIPO: vencido = --vermelho · prazo =
   --ambar · evento = #1D4E8F (azul fixo, para não depender do
   EVT_COR) · tarefa = --borda-forte · feito = --verde.
   ==================================================================== */

/* ------------------------------------------------------------ barra */
.agd-barra {
  margin: 14px 0 0;
  border: 1px solid var(--borda-forte);
  border-radius: var(--r);
  overflow: hidden;
  background: var(--superficie);
}
/* As abas de baixo chegam mais perto quando a Agenda está em cima. */
.agd-barra + .abas { margin-top: 6px; }

.agd-cab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  border: 0;
  padding: 10px 4px;
  background: var(--superficie);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
  cursor: pointer;
}
.agd-seta { font-size: 11px; }

/* Aberta = aba selecionada: azul de anteparo + fio de latão. */
.agd-aberta .agd-cab {
  background: var(--azul);
  color: #fff;
  font-weight: 700;
  box-shadow: inset 0 -3px 0 var(--latao);
}

.agd-corpo { background: var(--superficie); }

/* ---------------------------------------------------------- filtros */
.agd-filtros { display: flex; gap: 6px; padding: 10px 10px 0; }
.agd-chip {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: var(--superficie);
  border: 1px solid var(--borda-forte);
  border-radius: var(--r);
  padding: 6px 3px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
  cursor: pointer;
  min-width: 0;
  white-space: nowrap;
}
.agd-chip.marcado { background: var(--tinta); color: #fff; border-color: var(--tinta); }
.agd-divs { padding-top: 6px; }
.agd-chip-div { padding: 5px 2px; letter-spacing: .04em; gap: 4px; }
.agd-chip-div .bandeira { flex: none; }

/* Pontinhos. Nas caixinhas de tipo, o pontinho É a legenda. */
.agd-pt { width: 7px; height: 7px; border-radius: 50%; flex: none; display: inline-block; }
.agd-pt-venc  { background: var(--vermelho); }
.agd-pt-prz   { background: var(--ambar); }
.agd-pt-evt   { background: #1D4E8F; }
.agd-pt-tar   { background: var(--borda-forte); }
.agd-pt-feito { background: var(--verde); }

/* ------------------------------------------------------- calendário */
.agd-cal { margin: 10px 10px 0; }
.agd-cal-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7px;
}
.agd-cal-topo strong {
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.agd-nav-dir { display: inline-flex; gap: 6px; align-items: center; }
.agd-nav {
  width: 28px; height: 28px;
  border: 1px solid var(--borda-forte);
  border-radius: var(--r);
  background: var(--superficie);
  font-size: 16px; line-height: 1;
  color: var(--tinta-fraca);
  cursor: pointer;
}
.agd-hoje-btn {
  height: 28px;
  padding: 0 8px;
  border: 1px solid var(--borda-forte);
  border-radius: var(--r);
  background: var(--superficie);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
  cursor: pointer;
}

.agd-sem { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; margin-bottom: 3px; }
.agd-sem span {
  text-align: center;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .05em;
  color: var(--tinta-fraca);
  padding: 2px 0;
}
.agd-grade { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }

/* Células generosas e número vivo — o contrário do calendário do
   Arquivo, que encolhe de propósito. Aqui o calendário É a tela. */
.agd-dia {
  border: 0;
  border-radius: 6px;
  min-height: 42px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 5px 0 4px;
  gap: 3px;
  background: transparent;
  font: inherit;
  font-size: 12.5px;
  color: var(--tinta);
  cursor: pointer;
}
.agd-vaz { visibility: hidden; cursor: default; }
.agd-dia.tem { background: rgba(27, 36, 34, .06); font-weight: 600; }
.agd-dia.agd-hoje { box-shadow: inset 0 -3px 0 var(--latao); font-weight: 700; }
.agd-dia.sel { outline: 2px solid var(--azul); outline-offset: -2px; background: var(--azul-claro); }
.agd-pts { display: flex; gap: 2.5px; justify-content: center; flex-wrap: wrap; max-width: 100%; }
.agd-pts .agd-pt { width: 5.5px; height: 5.5px; }

/* --------------------------------------------------- detalhe do dia */
.agd-detalhe { margin: 10px 10px 0; padding-top: 9px; border-top: 1px solid var(--borda); }
.agd-dia-cab {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 7px;
}
.agd-dia-cab::after { content: ""; flex: 1; height: 1px; background: var(--borda); }
.agd-dia-cab.agd-e-hoje { color: var(--ambar); font-weight: 700; }

.agd-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  background: var(--superficie);
  border: 1px solid var(--borda);
  border-left: 3px solid var(--borda-forte);
  border-radius: var(--r);
  padding: 8px 9px;
  margin: 0 0 6px;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(10, 26, 51, .06);
  color: var(--tinta);
}
.agd-item.venc  { border-left-color: var(--vermelho); background: var(--vermelho-claro); }
.agd-item.prz   { border-left-color: var(--ambar); }
.agd-item.evt   { border-left-color: #1D4E8F; }
.agd-item.tar   { border-left-color: var(--borda-forte); }
.agd-item.feito { border-left-color: var(--verde); opacity: .62; }
.agd-item.feito .agd-tit { text-decoration: line-through; text-decoration-thickness: 1px; }

.agd-hora { font-family: var(--mono); font-size: 11px; font-weight: 700; flex: none; width: 38px; }
.agd-hora.sem { color: var(--tinta-fraca); font-weight: 400; }
.agd-tipo { flex: none; font-size: 12px; }
.agd-tit { flex: 1; min-width: 0; line-height: 1.25; }
.agd-tit small {
  display: block;
  font-family: var(--mono);
  font-size: 10px;
  color: var(--tinta-fraca);
  margin-top: 1px;
}
.agd-esc {
  flex: none;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .06em;
  padding: 2px 5px;
  border-radius: 2px;
  border: 1px solid var(--borda-forte);
  color: var(--tinta-fraca);
}

/* ------------------------------------- o "+" no canto do calendário */
/* Pedido do Capitão em 29AGO: o botão comprido no rodapé ficava longe
   demais. O círculo azul com "+" no canto inferior direito do mês é o
   gesto que todo app de agenda já ensinou — não precisa de rótulo. */
.agd-mais-linha { display: flex; justify-content: flex-end; margin-top: 4px; }
.agd-mais {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: var(--azul);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(10, 26, 51, .30);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 2px;
}

/* ------------------------------------------------- painel + LANÇAR */
.agd-escolha { padding: 13px 12px; margin-bottom: 8px; }
.agd-escolha .agd-tipo { font-size: 17px; }
.agd-escolha .agd-tit {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}
.agd-escolha .agd-tit small {
  font-family: var(--sans);
  font-size: 11.5px;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 400;
  line-height: 1.35;
  margin-top: 2px;
}
.agd-vai { margin-left: auto; color: var(--tinta-fraca); font-size: 16px; flex: none; }

/* Em tela muito estreita as cinco caixinhas de grupo apertam:
   some o rótulo e fica a bandeira, que é o que se lê de longe. */
@media (max-width: 340px) {
  .agd-chip-div { font-size: 0; gap: 0; }
  .agd-chip-div .bandeira { margin: 0 auto; }
}

/* ==================================================== 20260829e ==== */
/* Balao de atrasadas no cabecalho do grupo (aba HOJE): vermelho com o
   numero em branco, a ESQUERDA do contador azul, no feitio do balao do
   GERAL — mas elemento normal da linha, como o .prz-item .balao.
   O margin-left:auto empurra o par (atraso + conta) para a direita; o
   +8px devolve ao contador o respiro que o auto dele daria. */
.grupo-cabeca .grupo-atraso {
  margin-left: auto;
  background: var(--vermelho);
  color: #fff;
  border-radius: 999px;
  padding: 2px 9px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
}
.grupo-cabeca .grupo-atraso + .grupo-conta { margin-left: 8px; }


/* =====================================================================
   20260829f — AUSÊNCIAS
   Reusa .tarefa, .marca-estado, .grupo, .balao e .prz-item; abaixo só
   o que é novo. O roxo é a cor do quarto tipo na Agenda — apagado de
   propósito, como o resto da paleta.
   ===================================================================== */

/* Etiqueta do tipo, no cartão e no detalhe. */
.aus-tipo {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  color: #fff;
  padding: 2px 8px;
  border-radius: 9px;
  flex: none;
}
.aus-tipo[data-t="ferias"]   { background: var(--verde); }
.aus-tipo[data-t="saude"]    { background: #5B4A86; }
.aus-tipo[data-t="curso"]    { background: #1D4E8F; }
.aus-tipo[data-t="destaque"] { background: var(--ambar); }
.aus-tipo[data-t="licenca"]  { background: var(--borda-forte); }
.aus-tipo[data-t="outro"]    { background: var(--tinta-fraca); }

/* Rótulo de grupo dentro do grupo FORA HOJE. */
.aus-divlbl {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--tinta-fraca);
  margin: 10px 0 4px;
}
.grupo-corpo .aus-divlbl:first-child { margin-top: 4px; }

/* Contador CINZA no botão do módulo: informação, não alarme. */
.balao.aus-cinza { background: var(--borda-forte); }

/* O quarto tipo na Agenda. As caixinhas de tipo agora quebram linha
   quando a quarta não cabe. */
.agd-filtros { flex-wrap: wrap; }
.agd-pt-aus { background: #5B4A86; }
.agd-item.aus { border-left-color: #5B4A86; }


/* =====================================================================
   BLOCO DE 29AGO2026 — carimbo 20260829h
   As duas marcas novas da caixa de Aparelhos autorizados.
   Reusa .pessoa e a paleta de sempre; abaixo só o que é novo.
   ===================================================================== */

/* A linha do aparelho de onde o gestor está olhando agora.
   Fio AZUL (o cinza-verde de anteparo), não latão: latão já é o fio do
   pedido pendente, logo acima, e dois sinais iguais para coisas
   diferentes na mesma lista é como se erra de novo. Esta linha não tem
   botão Cancelar — mas quem recusa de verdade é o PHP. */
.pessoa.ap-este {
  border-left: 3px solid var(--azul);
  background: var(--azul-claro);
}

.ap-selo {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 8px;
  font-family: var(--mono);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .06em;
  vertical-align: 1px;
  color: var(--azul);
  border: 1px solid var(--azul);
  background: transparent;
  white-space: nowrap;
}

/* JÁ FOI CANCELADO ANTES: vermelho, e só no pedido pendente. É o aviso
   que impede o gestor de liberar no reflexo o celular que ele mesmo
   tirou do ar semana passada. */
.ap-jacancelado {
  display: inline-block;
  margin-top: 5px;
  padding: 2px 6px;
  border-radius: var(--r);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #fff;
  background: var(--vermelho);
}

/* ------------------------------------------------ o simbolo, 30AGO2026 */
/* Duas penas cruzadas, em SVG: nasce nitido no topo, no favicon e no
   icone do celular, e nao puxa byte de rede -- o app tem de abrir sem
   sinal. A pena de cima leva um contorno da COR DE TRAS: e ele que abre
   a fresta e faz as duas se lerem como DUAS, e nao como uma mancha. */
.marca .prumo-glifo        { --papel-do-glifo: var(--superficie); }
.topo .prumo-glifo         { --papel-do-glifo: var(--azul); }
.entrada-marca .prumo-glifo{ font-size: 1.6em; }

/* --------------------------------------------------- o selo BETA, 30AGO2026 */
/* Primeira versao do produto: o "beta" acompanha o nome em TODA tela onde a
   marca aparece -- entrar, definir senha, PIN e o topo do app. Aparecer numa
   e sumir noutra pareceria defeito, e a fase de testes tem de estar dita onde
   quer que a pessoa olhe.

   Menor que o nome, sem a caixa alta nem o espacamento largo do .marca-nome
   (que ele herdaria), e com opacidade em vez de cor propria: assim ele se
   comporta sozinho no papel claro da tela de entrar e no azul do topo.

   PARA TIRAR quando sair do beta: apagar este bloco e o <span class="marca-beta">
   das quatro linhas do inicio.html. Nada mais depende dele.
   06OUT2026 (20261006a): SAIU, por decisao do Capitao. O inicio.html nao tem
   mais o span; o JS ainda o escreve em tres telas montadas por ele (cadastro,
   escolha do Prumo, digital) e o envelope "A ENTRADA NOVA", no fim deste
   arquivo, o esconde com display:none. Este bloco fica: e o que da a forma
   se um dia alguem religar o selo. */
.marca-beta {
  font-size: .5em;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: lowercase;
  opacity: .62;
  margin-left: .45em;
  vertical-align: .5em;
}

/* =====================================================================
   ENVELOPE 30AGO2026 — A PASSADA DE ESTÉTICA (publicada no carimbo j)

   Pedido do Capitão: menos quadrado, botões apresentáveis, e a fonte
   "San Francisco". A SF não pode ser embutida fora dos aparelhos Apple
   (licença), e nem precisa: a pilha do SISTEMA (--sans, que já existia)
   É a San Francisco no iPhone e no Mac, e a Roboto no Android — cara de
   app nativo em todo aparelho, zero bytes, offline intacto.

   O que muda, e só por cascata (nenhum seletor sai do lugar):
   1. A VOZ DO APP deixa o monoespaçado: --mono passa a apontar para a
      pilha do sistema. O mono DE VERDADE (--mono-real) fica onde
      alinhamento é função: o documento do Resumo, carimbos de hora e o
      teclado do PIN.
   2. O RAIO 4px → 14px pelo token --r (decisão antiga do visual).
   3. BOTÕES: mais altos, caixa natural (chega de CAIXA ALTA), leve
      gradiente do azul da casa, sombra curta e resposta ao toque.
   4. CARTÕES com sombra suave; ETIQUETAS em pastilha.
   5. --latao aposentado: vira apelido de --realce (pendência da poda).
   ===================================================================== */
:root {
  --r: 14px;
  --mono-real: ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Mono", Menlo, Consolas, monospace;
  --mono: var(--sans);
  --realce: #1D4E8F;
  --latao: var(--realce); /* apelido de transição; nada mais aponta para latão */
  --sombra: 0 1px 2px rgba(10,26,51,.08), 0 6px 18px rgba(10,26,51,.07);
}
body { -webkit-font-smoothing: antialiased; }

/* mono de verdade, só onde é função ------------------------------------ */
.sitrep-texto, .sitrep-editor { font-family: var(--mono-real); }
.historico .quando            { font-family: var(--mono-real); }
.teclado button               { font-family: var(--mono-real); }

/* botões ---------------------------------------------------------------- */
.btn {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .01em;
  text-transform: none;
  padding: 13px 16px;
  background: linear-gradient(180deg, #16355F 0%, var(--azul) 100%);
  box-shadow: 0 1px 2px rgba(10,26,51,.22), 0 4px 12px rgba(15,42,80,.16);
  transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.btn:active { transform: translateY(1px); box-shadow: 0 1px 3px rgba(10,26,51,.20); }
.btn:disabled { opacity: .55; transform: none; }
.btn.secundario {
  background: var(--superficie);
  border-color: var(--borda);
  box-shadow: 0 1px 2px rgba(10,26,51,.06), 0 2px 8px rgba(10,26,51,.05);
}
.btn.perigo {
  background: linear-gradient(180deg, #C94A3C 0%, var(--vermelho) 100%);
  border-color: var(--vermelho);
  box-shadow: 0 1px 2px rgba(191,59,46,.25), 0 4px 12px rgba(191,59,46,.15);
}
.btn-topo, .pessoa button, .agd-hoje-btn { border-radius: 999px; }
.elo { text-transform: none; letter-spacing: .01em; font-size: 14px; }

/* campos ---------------------------------------------------------------- */
.campo input, .campo select, .campo textarea {
  border-radius: 12px;
  transition: border-color .12s ease, box-shadow .12s ease;
}
.campo input:focus, .campo select:focus, .campo textarea:focus {
  outline: none;
  border-color: var(--realce);
  box-shadow: 0 0 0 3px var(--azul-claro);
}

/* cartões e painéis ------------------------------------------------------ */
.tarefa { box-shadow: var(--sombra); }
.tarefa, .pessoa { border-radius: var(--r); }

/* etiquetas em pastilha --------------------------------------------------- */
.chip, .marca-estado, .prz-chip, .agd-chip, .aus-tipo, .ap-selo,
.sitrep-selo, .ap-jacancelado, .novo { border-radius: 999px; }

/* o teclado do PIN acompanha o raio novo sem virar bala ------------------- */
.teclado button { border-radius: 16px; }

/* =====================================================================
   MENU EM SEÇÕES — 02SET2026

   O cabeçalho de seção é O MESMO BOTÃO dos outros itens (`btn
   secundario`), a pedido do Capitão: "o layout está bonito, quero
   alterar o menos possível". Daqui saiu tudo o que mudava a aparência —
   a única diferença é a SETA na ponta, que avisa que ali tem mais.

   `justify-content: space-between` empurra a seta para a direita sem
   tocar em cor, tamanho ou forma do botão.
   ===================================================================== */
.menu-secao {
  /* O texto fica CENTRADO como o de todo botão do Menu — era a última
     coisa que ainda denunciava o cabeçalho como diferente. A seta sai do
     fluxo e se ancora na direita, senão ela empurraria o rótulo para a
     esquerda e o "centro" seria falso. */
  position: relative;
  text-align: center;
}
.menu-secao .menu-seta {
  position: absolute;
  right: 14px;                 /* o mesmo respiro lateral do .btn */
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  opacity: .7;
}

/* A caixa de itens da seção. Mora aqui, e não em estilo inline, por um
   defeito que custou uma publicação: o atributo `hidden` esconde através
   da regra `[hidden] { display: none }` do NAVEGADOR, e essa regra PERDE
   para um `display` escrito no atributo `style`. Com `style="display:flex"`
   a seção ficava "fechada" na propriedade e aberta na tela.
   Aqui o `[hidden]` tem classe + atributo, e ganha da classe sozinha. */
.menu-secao-itens { display: flex; flex-direction: column; gap: 8px; }
.menu-secao-itens[hidden] { display: none; }

/* =====================================================================
   02SET2026h — OS ITENS DA SEÇÃO NUM TOM PRÓPRIO (pedido do Capitão)
   Aberta a seção, cabeçalho e itens eram o MESMO botão branco — tudo
   igual, tela poluída. Agora o cabeçalho segue branco (é a capa) e os
   itens de dentro descem meio tom para o --fundo, com borda leve e um
   fio de recuo: a hierarquia se lê sem ler. Botões soltos (Sincronizar,
   Instalar, Sair) não mudam — a diferença é o que orienta.
   ===================================================================== */
.menu-secao-itens {
  margin-left: 10px;
  padding-left: 10px;
  border-left: 2px solid var(--borda);
}
.menu-secao-itens .btn.secundario {
  background: var(--fundo);
  border-color: var(--borda);
}

/* =====================================================================
   03SET2026a — O X DO PAINEL FORA DO TETO DO IPHONE (feedback do beta)
   O defeito, medido: a caixa tem max-height em vh, e no Safari do iPhone
   vh é o viewport GRANDE (barra recolhida). Com a barra visível, 92vh
   passa da tela — e como o painel ancora embaixo, quem paga é o TOPO:
   o X entra na zona do relógio/notch (viewport-fit=cover deixa).
   Três peças, todas só de tela:
   1. max-height em dvh (viewport DINÂMICO) descontando o
      safe-area-inset-top — o topo do painel nunca mais encosta no teto.
      Fallback em vh para navegador sem dvh. Só no celular (<700px):
      no desktop os 86vh centrados continuam como estão.
   2. o painel-topo vira STICKY dentro da caixa que rola: a barra com o
      título e o X fica presa no alto enquanto a tarefa comprida rola
      por baixo — fechar ao alcance em qualquer altura. As margens
      negativas cobrem o padding da caixa para o conteúdo não aparecer
      por trás da barra.
   3. alvo de toque do X maior (padding com margem negativa: cresce o
      dedo, não o layout).
   ===================================================================== */
@media (max-width: 699px) {
  .painel-caixa {
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - 12px);
  }
}
@supports not (height: 100dvh) {
  @media (max-width: 699px) {
    .painel-caixa { max-height: calc(92vh - env(safe-area-inset-top, 0px)); }
  }
}
.painel-topo {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--fundo);
  margin: -16px -14px 14px;
  padding: 16px 14px 10px;
}
.fechar { padding: 8px 12px; margin: -8px -6px; }

/* =====================================================================
   03SET2026b — NOTAS RÁPIDAS (feedback do beta: o grupo de WhatsApp
   consigo mesmo). O botão mora ACIMA do + Tarefa, no mesmo canto e com
   a mesma sombra — par visual do FAB, mas em branco: o azul continua
   sendo o gesto principal. O ícone é o miolo branco da arte do Capitão
   (icone-notas.png), com o rótulo NOTAS do lado, como pedido.
   ===================================================================== */
.btn-notas {
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(18px + env(safe-area-inset-bottom) + 58px);
  z-index: 45;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--azul);
  border: 1px solid var(--borda-forte);
  border-radius: 999px;
  padding: 8px 18px 8px 8px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: 0 6px 20px rgba(18,56,108,.25);
  cursor: pointer;
}
.btn-notas img { width: 28px; height: 28px; display: block; }

/* A lista, no desenho do Notas do Mac: recente em cima, a primeira
   linha é o título. */
.nota-item {
  display: block;
  width: 100%;
  text-align: left;
  background: var(--fundo);
  border: 1px solid var(--borda);
  border-radius: var(--r);
  padding: 10px 12px;
  margin-bottom: 8px;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.nota-item strong { display: block; font-size: 14px; margin-bottom: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nota-item span { display: block; font-size: 12px; color: var(--tinta-fraca);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* O editor: a folha. Sem botão salvar — a gravação é automática. */
.nota-editor textarea {
  width: 100%;
  min-height: 44vh;
  resize: vertical;
  font-size: 15px;
  line-height: 1.5;
}
.nota-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.nota-estado { font-size: 11px; color: var(--tinta-fraca); margin-top: 6px;
  font-family: var(--mono); letter-spacing: .08em; text-transform: uppercase; }

/* =====================================================================
   03SET2026c — O ENVIAR PARA… QUE NÃO ABRIA (defeito publicado no b)
   A armadilha do 20260902d pelo OUTRO lado: o atributo `hidden`
   esconde pela regra [hidden]{display:none} do NAVEGADOR, e regra de
   navegador perde para QUALQUER regra de autor — o display:flex da
   classe .nota-acoes vencia, as três opções nasciam VISÍVEIS e o
   toque no Enviar para… alternava um atributo sem efeito na tela.
   E o jsdom, ao contrário do Safari, honra o [hidden] — por isso o
   teste passou 11/11 sobre o defeito: só a REGRA na folha garante o
   mesmo efeito nos dois mundos. Classe+atributo ganha da classe: */
.nota-acoes[hidden] { display: none; }

/* =====================================================================
   03SET2026d — O RESPONSÁVEL ACORDA (rascunho aprovado pelo Capitão)
   A marca SUA no cartão, e as regras [hidden] EXPLÍCITAS — porque a
   lição do dia foi paga duas vezes: regra de navegador perde para
   regra de autor, então toda caixa que este envelope esconde tem a
   sua própria regra classe+atributo aqui.
   ===================================================================== */
.marca-estado.e-sua { background: var(--azul); color: #fff; }
#f-responsavel-nome[hidden] { display: none; }
.tarefa[hidden], .grupo[hidden] { display: none; }

/* =====================================================================
   04SET2026a — O TOQUE LONGO NO CHIP DO GRUPO (excluir grupo)
   Três regras, cada uma com o seu porquê:
   - user-select/touch-callout: no iPhone, segurar 2s abre seleção de
     texto e callout POR CIMA do gesto; sem isto o timer nunca vence.
   - .chip-segurando: o feedback do gesto armado — o chip "enche" nos
     meio segundo (mesma duração do XG_SEGURAR_MS do app; 04SET2026). Gesto
     invisível que dispara ação destrutiva precisa avisar que armou.
   - .xg-final[hidden]: a caixa da senha que a confirmação extra
     esconde. Regra classe+atributo EXPLÍCITA na folha (lição do
     20260903c: a regra [hidden] do navegador perde para display de
     classe; jsdom honra e Safari não — a checagem que vale nos dois
     mundos é ESTA linha existir).
   ===================================================================== */
#filtros .chip {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
#filtros .chip.chip-segurando {
  animation: chip-segurando .5s linear forwards;
}
@keyframes chip-segurando {
  from { box-shadow: inset 0 -0.1em 0 0 rgba(138, 31, 31, .30); }
  to   { box-shadow: inset 0 -2.4em 0 0 rgba(138, 31, 31, .45); }
}
.xg-final[hidden] { display: none; }

/* =====================================================================
   04SET2026b — EMOJI PURO, CAMPO LIVRE, E A FAIXA DO VIGIA
   - .bandeira-emoji: a etiqueta quando o grupo tem emoji (sem retângulo
     atrás — "só cor OU só emoji"); alinhamento para conviver com texto.
   - .ng-emoji-livre[hidden]: a caixa do teclado que o "✏️ Outro…"
     revela. Regra classe+atributo EXPLÍCITA (lição do 20260903c).
   - .vigia-nova: a faixa "Nova versão" — fixa embaixo, acima da
     safe-area, um toque recarrega. Nasce só quando o servidor tem
     carimbo mais novo; nunca recarrega sozinho.
   ===================================================================== */
.bandeira-emoji {
  display: inline-block;
  line-height: 1;
  vertical-align: -3px;
}
.ng-emoji-livre { margin-top: 6px; }
.ng-emoji-livre[hidden] { display: none; }
.ng-emoji-livre input { font-size: 20px; }
.vigia-nova {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 70;
  border: 0;
  border-radius: 22px;
  padding: 11px 18px;
  background: var(--tinta, #0A1A33);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
  cursor: pointer;
}

/* =====================================================================
   ENVELOPE 06SET2026a - OS CHIPS NUMA LINHA, O GESTO NO CARTAO,
   A FAIXA DESFAZER E A TELA DE PESSOAS AGRUPADA

   Tres pedidos do Capitao (06SET2026), depois do rascunho das 30
   pessoas. O que cada regra existe para resolver:

   - .filtros vira UMA LINHA QUE ROLA. Com 12 grupos o flex-wrap
     empilhava quatro linhas de chip antes da primeira tarefa aparecer -
     a parede que o rascunho mostrou. nowrap + overflow-x resolve as
     CINCO abas de uma vez, porque a barra e uma so.
     -webkit-overflow-scrolling para o embalo do iPhone; scrollbar
     escondida no WebKit (no dedo ela nao serve, e rouba 6px de altura).

   - .item-segurando: o cartao "arma" enquanto o dedo segura. Mesmo
     motivo do .chip-segurando do 04SET2026a: gesto invisivel que
     dispara acao destrutiva precisa avisar que esta armado. O jsdom
     nao ve estilo calculado - o teste pergunta a REGRA, nunca o
     efeito (licao do 20260903c).

   - .xd-faixa: a faixa "Excluido - Desfazer". Nasce como o
     .vigia-nova (elemento proprio no body, fixo acima da safe-area),
     e nao como .aviso, porque a janela dela e de SEIS segundos e o
     aviso comum se apaga aos quatro - faixa que some antes da janela
     fechar e o app mentindo sobre quanto tempo a pessoa tem.

   - .pes-busca / .pes-vazio: a tela de Pessoas agrupada reaproveita
     .grupo / .grupo-cabeca / .grupo-corpo, que ja existem e ja sabem
     abrir e fechar. So a busca e o "nada encontrado" sao novos.
   ===================================================================== */
.filtros {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 2px;
}
.filtros::-webkit-scrollbar { display: none; }
.filtros .chip { flex: 0 0 auto; }

/* MESMA razao do #filtros .chip do 04SET2026a, e a mesma armadilha:
   no iPhone, segurar meio segundo sobre TEXTO abre a selecao e o
   callout POR CIMA do gesto - e o timer nunca vence. O cartao tem
   muito mais texto que o chip, entao aqui isto e obrigatorio, nao
   cortesia. */
.tarefa {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
.tarefa.item-segurando,
.item-segurando {
  outline: 2px solid var(--borda-forte, #94A3B8);
  outline-offset: -2px;
  opacity: .72;
}

.xd-faixa {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 71;
  display: flex;
  align-items: center;
  gap: 14px;
  border: 0;
  border-radius: 22px;
  padding: 10px 12px 10px 18px;
  background: var(--tinta, #0A1A33);
  color: #fff;
  font-size: 14px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
  max-width: calc(100vw - 24px);
}
.xd-faixa-texto {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.xd-faixa button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 16px;
  padding: 7px 14px;
  background: #fff;
  color: var(--tinta, #0A1A33);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.pes-busca { width: 100%; margin-bottom: 10px; }
.pes-vazio {
  color: var(--tinta-fraca, #64748B);
  font-size: 14px;
  padding: 10px 2px;
}

/* =====================================================================
   07SET2026a — A PENA DO TOPO EM PNG (arte do Capitão)
   O glifo do topo deixou de ser o SVG de 30AGO e passou a ser
   pena-branca.png (96 px, fundo transparente). A entrada e o favicon
   continuam com o SVG — decisão do Capitão, e a checagem 19 da bateria
   continua valendo lá. A imagem é quadrada; a caixa do .prumo-glifo
   não é (1.05em × 1.15em): object-fit evita esticar, e a caixa cresce
   um pouco porque a arte tem ar em volta e ficaria miúda no tamanho
   do desenho antigo. fill não faz nada num <img>, mas também não
   atrapalha — o seletor é só do PNG, o SVG da entrada não é tocado.
   ===================================================================== */
.prumo-glifo-png {
  width: 1.32em;
  height: 1.32em;
  object-fit: contain;
  vertical-align: middle;
}

/* =====================================================================
   ENVELOPE 07SET2026c — A CASA (Prumo Family, carimbo 1a)

   A pele da casa e UM bloco de tokens: body[data-modo="familia"] troca
   o azul da casa pelo verde, e tudo o que ja se pinta com --azul,
   --azul-claro e --realce (o topo, as abas, o botao primario, o foco dos
   campos, o selo SUA do cartao) muda de cor sem um seletor novo. Os
   poucos lugares que escreveram o azul por extenso (o gradiente do .btn,
   a sombra do FAB) ganham a linha deles aqui.

   O que a casa NAO tem, a folha esconde — e so esconde: Grupo e Origem
   no formulario da tarefa (o select continua no DOM com o unico valor;
   e ele que o lerFormulario le), a bandeirinha do unico grupo no filtro,
   o "+ grupo". A regra e por modo: fora da casa nada disto se aplica.
   `:has()` e de 2022 (Safari 15.4, Chrome 105); o app ja exige mais que
   isso para o resto.
   ===================================================================== */
body[data-modo="familia"] {
  --azul:       #0E4A38;
  --azul-claro: #DCEFE6;
  --realce:     #2E9B76;
}
body[data-modo="familia"] .btn {
  background: linear-gradient(180deg, #16624C 0%, var(--azul) 100%);
  box-shadow: 0 1px 2px rgba(10,26,51,.22), 0 4px 12px rgba(14,74,56,.18);
}
body[data-modo="familia"] .btn.secundario { background: var(--superficie); }
body[data-modo="familia"] .btn.perigo     { background: linear-gradient(180deg, #C94A3C 0%, var(--vermelho) 100%); }
body[data-modo="familia"] .novo           { box-shadow: 0 6px 20px rgba(14,74,56,.38); }
body[data-modo="familia"] #sinal-texto    { display: none; } /* a marca cresceu; a bolinha ja diz o estado */
body[data-modo="familia"] .campo:has(> #f-grupo),
body[data-modo="familia"] .campo:has(> #f-origem) { display: none; }
body[data-modo="familia"] #btn-grupo-mais { display: none; }
body[data-modo="familia"] #filtros .chip[data-div] { display: none; }

/* a marca: "Family" ao lado, e o ▾ de quem tem mais de um Prumo */
.marca-family {
  font-weight: 600;
  font-size: .78em;
  letter-spacing: .02em;
  text-transform: none;
  margin-left: .35em;
}
.marca-caret { font-size: .6em; opacity: .85; margin-left: 3px; }
.topo .marca[role="button"] { cursor: pointer; }
.topo .marca[role="button"]:focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-radius: 6px; }

/* a tela de escolha: dois cartoes lado a lado, pena branca sobre o
   azul-escuro e sobre o verde-escuro, o nome do espaco embaixo */
.fam-escolha { position: fixed; inset: 0; z-index: 80; overflow-y: auto; min-height: 0; }
.fam-cards { display: flex; gap: 12px; align-items: flex-start; margin: 14px 0 6px; }
.fam-card {
  flex: 1; min-width: 0;
  border: 0; background: none; padding: 0;
  cursor: pointer; text-align: center;
  font: inherit; color: inherit;
}
.fam-card:disabled { opacity: .6; cursor: wait; }
.fam-capa {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  height: 172px; padding: 12px 8px;
  border-radius: var(--r);
  color: #fff;
  box-shadow: 0 8px 22px rgba(10,26,51,.22);
  position: relative;
}
.fam-navy  .fam-capa { background: linear-gradient(180deg, #16355F, #0F2A50); }
.fam-verde .fam-capa { background: linear-gradient(180deg, #16624C, #0E4A38); }
.fam-atual .fam-capa { box-shadow: 0 0 0 3px var(--azul-claro), 0 8px 22px rgba(10,26,51,.22); }
.fam-criar .fam-capa { outline: 2px dashed rgba(255,255,255,.55); outline-offset: -7px; }
.fam-criar .fam-capa img { opacity: .55; }
.fam-capa img { width: 84px; height: 84px; object-fit: contain; display: block; }
.fam-nome {
  margin-top: 8px;
  font-weight: 700; font-size: 13.5px;
  letter-spacing: .2em; text-transform: uppercase;
  line-height: 1.3;
}
.fam-family { display: block; font-weight: 600; font-size: 13px; letter-spacing: .02em; text-transform: none; }
.fam-nome .marca-beta { vertical-align: middle; margin-left: 3px; opacity: .92; }
.fam-mais {
  position: absolute; top: 8px; right: 10px;
  width: 22px; height: 22px; border-radius: 50%;
  background: #fff; color: #0E4A38;
  font-weight: 700; font-size: 16px; line-height: 22px;
}
.fam-sub { display: block; margin-top: 9px; line-height: 1.3; }
.fam-sub b { display: block; font-size: 14px; font-weight: 600; }
.fam-sub small { display: block; font-size: 11.5px; color: var(--tinta-fraca); }
.fam-lembrar { display: flex; align-items: center; gap: 10px; font-size: 13.5px; margin-top: 12px; cursor: pointer; }
.fam-lembrar input { width: 20px; height: 20px; flex: none; accent-color: var(--azul); }
.fam-lembrar small { display: block; font-size: 11.5px; color: var(--tinta-fraca); }
.fam-pe { font-size: 11.5px; color: var(--tinta-fraca); text-align: center; margin: 14px 0 0; }

/* =====================================================================
   ENVELOPE 07SET2026d — O MERCADO DA CASA
   A lista de compras: campo de adicionar em cima, os atalhos "de
   sempre", as secoes, e o carrinho embaixo. Tudo com os tokens da casa
   (a folha ja esta verde por body[data-modo="familia"]). A caixinha e
   a mesma ideia da caixinha verde das contas do rascunho: quadrada,
   grande o bastante para o dedo no corredor do supermercado.
   ===================================================================== */
.mc-add { display: flex; gap: 8px; margin: 12px 0 0; }
.mc-add input {
  flex: 1; min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--borda-forte);
  border-radius: 12px;
  background: var(--superficie);
  font-size: 16px;                   /* impede o zoom automatico do iOS */
}
.mc-add input:focus { outline: none; border-color: var(--realce); box-shadow: 0 0 0 3px var(--azul-claro); }
.mc-add button {
  width: 44px; height: 44px; flex: none;
  border: 0; border-radius: 12px;
  background: var(--azul); color: #fff;
  font-size: 24px; font-weight: 600; line-height: 1;
  cursor: pointer;
}
.mc-sempre {
  display: flex; gap: 6px; align-items: center;
  margin: 10px 0 0;
  overflow-x: auto; overflow-y: hidden; white-space: nowrap;
  -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 2px;
}
.mc-sempre::-webkit-scrollbar { display: none; }
.mc-sempre .chip { flex: 0 0 auto; text-transform: none; letter-spacing: .02em; font-size: 12.5px; }
.mc-rot { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-fraca); flex: none; font-weight: 500; }
.mc-secao {
  margin: 14px 0 6px;
  font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--tinta-fraca); font-weight: 500;
  display: flex; align-items: center; gap: 8px;
}
.mc-secao::after { content: ""; flex: 1; height: 1px; background: var(--borda); }
.mc-item {
  display: flex; align-items: center; gap: 10px;
  background: var(--superficie);
  border: 1px solid var(--borda);
  border-radius: 12px;
  padding: 7px 10px;
  margin-bottom: 6px;
  -webkit-touch-callout: none; -webkit-user-select: none; user-select: none;
}
.mc-item.mc-feito .mc-tx { color: var(--tinta-fraca); text-decoration: line-through; }
.mc-tx { flex: 1; min-width: 0; font-size: 15px; line-height: 1.3; }
.mc-tx small { color: var(--tinta-fraca); font-size: 12.5px; }
.mc-cx {
  width: 28px; height: 28px; flex: none;
  border: 1.5px solid var(--borda-forte); border-radius: 8px;
  background: var(--superficie); color: #fff;
  font-size: 17px; font-weight: 700; line-height: 1;
  cursor: pointer; padding: 0;
}
.mc-cx.ok { background: var(--verde); border-color: var(--verde); }
.mc-quem {
  width: 20px; height: 20px; border-radius: 50%; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--azul-claro); color: var(--azul);
  font-size: 10px; font-weight: 700;
}

/* =====================================================================
   ENVELOPE 07SET2026e — A ABA COMPRAR
   O cartao da compra: a caixinha do mercado (mesma .mc-cx, mesma
   ideia — o dedo no corredor), o titulo com a data na ponta, e a
   linha de meta com onde/quem/quanto. O corpo e BOTAO: toca e abre o
   formulario. Comprada risca o titulo e apaga o cartao, como a tarefa
   concluida ja faz.
   ===================================================================== */
.cp-cartao {
  display: flex; align-items: flex-start; gap: 10px;
  background: var(--superficie);
  border: 1px solid var(--borda);
  border-left: 3px solid var(--borda-forte);
  border-radius: var(--r);
  padding: 10px 12px;
  margin-bottom: 8px;
  box-shadow: var(--sombra);
}
.cp-cartao.cp-feita { border-left-color: var(--verde); opacity: .78; }
.cp-cartao.cp-feita .cp-tit { text-decoration: line-through; }
.cp-cartao .mc-cx { margin-top: 1px; }
.cp-corpo {
  flex: 1; min-width: 0;
  border: 0; background: none; padding: 0; margin: 0;
  text-align: left; font: inherit; color: inherit; cursor: pointer;
  display: block;
}
.cp-topo { display: flex; align-items: baseline; gap: 8px; }
.cp-tit { font-weight: 600; font-size: 15px; line-height: 1.3; flex: 1; min-width: 0; }
.cp-quando {
  flex: none;
  font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase;
  color: var(--tinta-fraca);
  border: 1px solid var(--borda-forte); border-radius: 999px;
  padding: 2px 8px; white-space: nowrap;
}
.cp-meta {
  display: block; margin-top: 5px;
  font-size: 11.5px; color: var(--tinta-fraca); line-height: 1.4;
}

/* =====================================================================
   ENVELOPE 07SET2026f — CONTAS DO MES
   A caixinha e a MESMA do mercado (.mc-cx): quem aprendeu a marcar o
   leite marca a luz. O que muda e a linha: nome em cima, dia e valor
   embaixo, quem pagou (e quando) na ponta direita. Conta vencendo
   ganha o ambar que o app ja usa para "atenção", nunca vermelho —
   conta a vencer nao e erro.
   ===================================================================== */
.ct-nav { display: flex; align-items: center; justify-content: space-between; margin: 2px 0 10px; }
.ct-nav b { font-size: 15px; font-weight: 600; }
.ct-nav button {
  width: 32px; height: 32px; flex: none;
  border: 1px solid var(--borda-forte); border-radius: 999px;
  background: var(--superficie); color: var(--tinta-fraca);
  font-size: 17px; line-height: 1; cursor: pointer; padding: 0;
}
.ct-prog {
  background: var(--superficie); border: 1px solid var(--borda);
  border-radius: var(--r); padding: 9px 12px; margin-bottom: 10px;
}
.ct-prog-n { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; margin-bottom: 6px; flex-wrap: wrap; }
.ct-prog-n b { font-weight: 600; }
.ct-prog-n span { color: var(--tinta-fraca); font-variant-numeric: tabular-nums; }
.ct-prog-bar { height: 8px; border-radius: 999px; background: var(--superficie-2); overflow: hidden; }
.ct-prog-bar i { display: block; height: 100%; background: var(--verde); border-radius: 999px; }

.ct-conta {
  display: flex; align-items: center; gap: 10px;
  background: var(--superficie);
  border: 1px solid var(--borda);
  border-radius: 12px;
  padding: 7px 10px;
  margin-bottom: 6px;
}
.ct-conta.ct-vence { border-color: var(--ambar); background: var(--ambar-claro); }
.ct-conta.ct-paga .ct-nome { color: var(--tinta-fraca); font-weight: 500; }
.ct-corpo {
  flex: 1; min-width: 0;
  border: 0; background: none; padding: 0; margin: 0;
  text-align: left; font: inherit; color: inherit; cursor: pointer; display: block;
}
.ct-nome { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.25; }
.ct-meta { display: block; font-size: 11.5px; color: var(--tinta-fraca); line-height: 1.35; }
.ct-quem {
  flex: none; text-align: right;
  font-size: 11px; color: var(--tinta-fraca); line-height: 1.3;
  font-variant-numeric: tabular-nums;
}

/* =====================================================================
   ENVELOPE 07SET2026g — MINHA FAMÍLIA
   A lista de quem mora na casa: a bolinha com a inicial na cor da
   pessoa (a mesma ideia da bandeirinha do grupo, aplicada a gente), o
   nome com o selo do acesso, e a linha de baixo com a idade e o bolo.
   ===================================================================== */
.fm-pessoa {
  display: flex; align-items: center; gap: 10px;
  background: var(--superficie);
  border: 1px solid var(--borda);
  border-radius: var(--r);
  padding: 9px 11px;
  margin-bottom: 7px;
}
.fm-av {
  width: 30px; height: 30px; flex: none;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-size: 13px; font-weight: 700;
}
.fm-corpo {
  flex: 1; min-width: 0;
  border: 0; background: none; padding: 0; margin: 0;
  text-align: left; font: inherit; color: inherit; cursor: pointer; display: block;
}
.fm-nome { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; }
.fm-meta { display: block; font-size: 11.5px; color: var(--tinta-fraca); line-height: 1.35; }
.fm-selo {
  display: inline-block; vertical-align: 1px;
  font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600;
  border: 1px solid var(--borda-forte); color: var(--tinta-fraca);
  border-radius: 999px; padding: 1px 7px; margin-left: 4px;
}
.fm-selo-acesso { border-color: var(--verde); color: var(--verde); background: var(--verde-claro); }

/* =====================================================================
   ENVELOPE 07SET2026h — A NOTA DA CASA
   O selo na lista, o aviso de quem não escreveu e o interruptor.
   Nada de cor nova: o verde já é o da casa (e na equipe ele é o mesmo
   verde do "pronto"), então o selo funciona nos dois modos sem regra
   por modo.
   ===================================================================== */
.nota-item.nota-casa { border-color: var(--verde); }
.nota-selo {
  float: right;
  font-style: normal;
  font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600;
  border: 1px solid var(--verde); color: var(--verde); background: var(--verde-claro);
  border-radius: 999px; padding: 1px 7px; margin-left: 8px;
  max-width: 55%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.nota-aviso {
  font-size: 12.5px; line-height: 1.4;
  color: var(--tinta-fraca);
  background: var(--verde-claro);
  border: 1px solid var(--verde);
  border-radius: var(--r);
  padding: 7px 10px;
  margin: 0 0 8px;
}
/* O interruptor mora ENTRE o estado e as ações, e é um alvo de toque
   inteiro (a etiqueta clica a caixa). */
.nota-troca {
  display: flex; align-items: center; gap: 9px;
  margin-top: 10px;
  font-size: 13.5px;
  cursor: pointer;
}
.nota-troca input { width: 18px; height: 18px; flex: none; accent-color: var(--verde); }

/* =====================================================================
   ENVELOPE 08SET2026a — A TELA DEIXA DE FALAR EM CÓDIGO

   O rótulo do grupo passou a ser o NOME que o cliente deu ("Time do
   Motor"), e não mais o código ("MOTOR"). Duas consequências de folha:

   1. CAIXA ALTA em código é etiqueta; em nome é grito, e ainda estoura
      a linha ("TIME DO MOTOR" não cabe onde "MOTOR" cabia). Nos lugares
      onde agora vive um nome, o texto fica como a pessoa escreveu.
   2. O cabeçalho do grupo mostrava CÓDIGO + nome, e o nome sumia abaixo
      de 430px (regra de 30AGO). Sem o código, sumir o nome deixaria o
      cabeçalho VAZIO no celular — que é justamente onde o app vive. Por
      isso o cabeçalho tem classe própria (.grupo-titulo), que não
      desaparece em tela nenhuma.
   ===================================================================== */
.tarefa-topo .rotulo,
.agd-esc,
.agd-chip-div,
.chip {
  text-transform: none;
  letter-spacing: .02em;
}
.grupo-titulo {
  font-weight: 700;
  text-transform: none;
  letter-spacing: .04em;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* ENVELOPE 08SET2026b — a linha dos outros aparelhos, na tela de Avisos */
.av-linha {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  border-bottom: 1px solid var(--borda);
  padding: 7px 0; font-size: 14px;
}
.av-linha:last-child { border-bottom: 0; }

/* ENVELOPE 08SET2026d — as chavinhas dos avisos (a linha e a caixinha) */
#av-tipos .chave-linha {
  display: flex; align-items: center; gap: 11px;
  border-bottom: 1px solid var(--borda);
  padding: 10px 0; cursor: pointer;
}
#av-tipos .chave-linha:last-of-type { border-bottom: 0; }
#av-tipos .chave-linha .tx { flex: 1; min-width: 0; }
#av-tipos .chave-linha .tx b { display: block; font-size: 14px; font-weight: 600; }
#av-tipos .chave-linha .tx small { color: var(--tinta-fraca); font-size: 11.5px; }
#av-tipos .av-chave { width: 20px; height: 20px; flex: none; accent-color: var(--verde); }

/* =====================================================================
   ENVELOPE 10SET2026b — CORES FORTES, NOMES, REMOVER PESSOA, MENU COLORIDO
   (o irmão do envelope de mesmo nome no app-v8.js; carimbo 20260910b — o 20260910a
   é o do cartão de Novidades e da Privacidade, que subiu primeiro)
   ===================================================================== */

/* 1) O MENU: os botões SOLTOS vestem a cor da casa, letra branca.
   "Soltos" é exatamente o que o arrumador põe como FILHO DIRETO da caixa
   arrumada: Sincronizar agora, os cabeçalhos das seções e Instalar no
   celular. Os itens de dentro das seções moram em .menu-secao-itens e
   não casam com `>` — ficam como estavam (pedido do Capitão). "Sair do
   app" é .perigo, não .secundario: segue vermelho.
   O id na frente não é enfeite: a pele da casa tem
   `body[data-modo="familia"] .btn.secundario { background: branco }`, e
   sem ele essa regra ganharia na casa. */
#painel-corpo .botoes[data-arrumado="1"] > .btn.secundario {
  background: linear-gradient(180deg, #16355F 0%, var(--azul) 100%);
  border-color: var(--azul);
  color: #fff;
  box-shadow: 0 1px 2px rgba(10,26,51,.22), 0 4px 12px rgba(15,42,80,.16);
}
body[data-modo="familia"] #painel-corpo .botoes[data-arrumado="1"] > .btn.secundario {
  background: linear-gradient(180deg, #16624C 0%, var(--azul) 100%);
  box-shadow: 0 1px 2px rgba(10,26,51,.22), 0 4px 12px rgba(14,74,56,.18);
}
#painel-corpo .botoes[data-arrumado="1"] > .btn.secundario .menu-seta { opacity: .9; }

/* 2) AS CORES FORTES numa linha própria.
   Nas telas NOVAS (Editar grupo) o seletor já nasce em duas linhas.
   No Novo grupo (#ng-cores) e no wizard as bolinhas são pintadas por
   funções de outros envelopes, numa fila só: a quebra e o título "Cores
   fortes" saem daqui, por ORDEM DE FLEX — as de sempre em 1, o título
   (um ::before de largura cheia) em 2, as fortes em 3. Nenhuma função
   tocada. A lista de cores abaixo é a MESMA do CORES_FORTES do app e do
   ESPACO_CORES_FORTES do PHP; o teste-nomes-cores confere as três. */
.nv-cores { display: flex; flex-wrap: wrap; align-items: center; margin-top: 4px; }
.nv-cores-titulo,
#ng-cores::before,
.campo div:has(> button[data-cor])::before {
  font-size: 11.5px; color: var(--tinta-fraca); font-weight: 600;
  letter-spacing: .02em; margin: 6px 0 6px;
}
#ng-cores > [data-ng-cor] { order: 1; }
#ng-cores::before { content: 'Cores fortes'; order: 2; flex-basis: 100%; }
#ng-cores > [data-ng-cor="#8C1D40"], #ng-cores > [data-ng-cor="#F0A878"],
#ng-cores > [data-ng-cor="#E0B52A"], #ng-cores > [data-ng-cor="#6E7B1C"],
#ng-cores > [data-ng-cor="#1F5FD1"], #ng-cores > [data-ng-cor="#7B2FBF"],
#ng-cores > [data-ng-cor="#D0477E"], #ng-cores > [data-ng-cor="#3F4652"] { order: 3; }

/* o wizard: a fila das bolinhas era sem quebra (26px × 20 não cabe) */
.campo div:has(> button[data-cor]) { flex-wrap: wrap !important; row-gap: 6px; }
.campo div:has(> button[data-cor]) > button[data-cor] { order: 1; }
.campo div:has(> button[data-cor])::before { content: 'Cores fortes'; order: 2; flex-basis: 100%; margin: 2px 0 0; }
.campo div:has(> button[data-cor]) > button[data-cor$=":#8C1D40"], .campo div:has(> button[data-cor]) > button[data-cor$=":#F0A878"],
.campo div:has(> button[data-cor]) > button[data-cor$=":#E0B52A"], .campo div:has(> button[data-cor]) > button[data-cor$=":#6E7B1C"],
.campo div:has(> button[data-cor]) > button[data-cor$=":#1F5FD1"], .campo div:has(> button[data-cor]) > button[data-cor$=":#7B2FBF"],
.campo div:has(> button[data-cor]) > button[data-cor$=":#D0477E"], .campo div:has(> button[data-cor]) > button[data-cor$=":#3F4652"] { order: 3; }
/* (o `button` nos seletores acima nao e enfeite: sem ele a regra das de
   sempre, que tem `button[data-cor]`, pesa mais e as fortes ficavam na
   fila de cima — a primeira previa mostrou o titulo no fim.) */

/* 3) OS NOMES */
.nv-menu-espaco {
  display: inline-block; margin-top: 6px;
  font-size: 13.5px; font-weight: 600; color: var(--tinta);
}
.nv-mini {
  margin-left: 8px; padding: 3px 10px;
  border: 1px solid var(--borda-forte); border-radius: 999px;
  background: var(--superficie); color: var(--tinta);
  font-size: 12px; font-weight: 600; cursor: pointer; vertical-align: middle;
}

/* o cartão da escolha: o NOME do espaço grande, dentro da capa */
.fam-capa .nv-fam-marca {
  margin-top: 4px;
  font-size: 10.5px; letter-spacing: .18em; opacity: .85;
}
.fam-capa .nv-fam-marca .fam-family { display: inline; font-size: 10.5px; letter-spacing: .02em; margin-left: .35em; }
.fam-capa .nv-fam-espaco {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin-top: 6px; max-width: 100%;
  font-size: 16px; font-weight: 700; line-height: 1.2;
  overflow-wrap: anywhere;
}
.fam-card .fam-capa img { width: 72px; height: 72px; }

/* 4) REMOVER PESSOA */
.pessoa:has(.rm-linha) > div:first-child { flex: 1; min-width: 0; }
.pessoa .rm-linha { color: var(--vermelho); border-color: #E3B3AD; }
.rm-lista { margin: 0 0 12px; padding-left: 18px; font-size: 14px; line-height: 1.45; }
.rm-lista li { margin-bottom: 4px; }

/* =====================================================================
   ENVELOPE 11SET2026a — A PASSAGEM DE FUNÇÃO (irmão do envelope do app)
   Só acréscimo. As peças novas: a lista de escolha (quem assume, e o
   "e você, depois?"), as três caixas passa/fica/vai do rascunho, o
   registro, e o cartão "Criar um novo espaço" na escolha depois do PIN.
   ===================================================================== */
.ps-lista { display: flex; flex-direction: column; gap: 7px; margin: 8px 0; }
.ps-pessoa, .ps-opcao {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  width: 100%; padding: 10px 12px;
  border: 1px solid var(--borda); border-radius: var(--r);
  background: var(--superficie); color: var(--tinta);
  font: inherit; font-size: 14px; text-align: left; cursor: pointer;
}
.ps-opcao { justify-content: flex-start; }
.ps-pessoa small, .ps-opcao small {
  display: block; margin-top: 2px;
  font-family: var(--mono); font-size: 11px; letter-spacing: .03em; color: var(--tinta-fraca);
}
.ps-pessoa.ps-escolhida, .ps-opcao.ps-escolhida { border-color: var(--latao); box-shadow: 0 0 0 3px var(--azul-claro); }
.ps-opcao:disabled { opacity: .55; cursor: not-allowed; }
.ps-radio {
  flex: none; width: 16px; height: 16px; border-radius: 50%;
  border: 2px solid var(--borda-forte);
}
.ps-escolhida .ps-radio { border-color: var(--latao); background: radial-gradient(circle, var(--latao) 45%, transparent 50%); }
.ps-caixa { border-radius: var(--r); padding: 9px 12px; margin: 8px 0; font-size: 13.5px; }
.ps-caixa b {
  display: block; margin-bottom: 3px;
  font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
}
.ps-caixa ul { margin: 0; padding-left: 18px; }
.ps-passa { background: var(--azul-claro); }
.ps-fica  { background: var(--verde-claro); }
.ps-vai   { background: var(--ambar-claro); }
.ps-aviso-azul { border-left-color: var(--latao); }
.ps-historico { margin: 4px 0 10px; padding-left: 18px; font-size: 13px; color: var(--tinta-fraca); }
.ps-historico li { margin-bottom: 3px; }

/* a escolha depois do PIN: com o cartão de criar, dois por linha */
.fam-cards:has(.ps-criar) { flex-wrap: wrap; }
.fam-cards:has(.ps-criar) .fam-card { flex: 1 1 40%; }
.ps-criar .fam-capa { outline: 2px dashed rgba(255,255,255,.55); outline-offset: -7px; }
.ps-criar .fam-capa img { opacity: .55; }
.ps-saida-aviso { margin: 12px 0 4px; text-align: left; }
/* o lembrete do dono na prévia de Excluir minha conta: âmbar, não vermelho — não trava */
.aviso.ps-lembrete { border-left-color: var(--ambar); background: var(--ambar-claro); }

/* =====================================================================
   ENVELOPE 12SET2026a — o negrito do Resumo, a caixinha de três letras,
   a linha prevista da Agenda e o círculo de concluir.

   Quatro pedidos do Capitão (12SET2026). Aqui só o que é FOLHA; o
   comportamento vive no envelope 12SET2026a do app-v8.js.
   ===================================================================== */

/* 2) O RESUMO EM NEGRITO no verde e no âmbar — a situação da tarefa se
   acha de longe, sem procurar o parêntese no fim da linha. A prevista
   (tinta normal) e a cancelada (tinta fraca) NÃO engrossam: se tudo é
   negrito, nada é. O @media print de cima continua mandando tudo em
   preto no papel — negrito atravessa, cor não. */
.sitrep-texto .sit-concluida,
.sitrep-texto .sit-andamento { font-weight: 700; }

/* 1) A CAIXINHA DE TRÊS LETRAS. O corte do texto é no JS (a folha não
   sabe contar letra); aqui só o que a abreviatura pede: ela CABE, então
   a regra de 340px que escondia o rótulo não vale mais para ela — era
   justamente no telefone estreito que o nome sumia por inteiro. */
@media (max-width: 340px) {
  .agd-chip-div.agd-curto { font-size: 10px; gap: 4px; }
  .agd-chip-div.agd-curto .bandeira { margin: 0; }
}
.agd-chip-div.agd-curto { letter-spacing: .06em; font-weight: 700; }

/* 3) A LINHA PREVISTA da Agenda: mesma cor de prazo (âmbar), borda
   TRACEJADA e tinta fraca. Tracejado é o que diz "ainda não existe" sem
   precisar de rótulo — e ela não é botão, porque não há o que abrir. */
.agd-item.agd-prevista {
  border-left-style: dashed;
  background: var(--fundo);
  cursor: default;
}
.agd-item.agd-prevista .agd-tit { color: var(--tinta-fraca); }

/* 4) O CÍRCULO DE CONCLUIR. Absoluto sobre o cartão, e o cartão abre
   espaço à esquerda para ele — o texto nunca passa por baixo.
   O ::after estica o ALVO DO DEDO para 44px sem engordar o desenho:
   círculo de 24px é bonito na tela e pequeno no polegar. */
.tarefa.tem-marcar { position: relative; padding-left: 46px; }
.tar-marcar {
  position: absolute;
  left: 12px;
  top: 11px;
  width: 24px;
  height: 24px;
  border: 2px solid var(--borda-forte);
  border-radius: 50%;
  background: var(--superficie);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  line-height: 1;
  color: #fff;
  cursor: pointer;
}
.tar-marcar::after {
  content: "";
  position: absolute;
  left: -10px; right: -10px; top: -10px; bottom: -10px;
}
.tar-marcar.feita { background: var(--verde); border-color: var(--verde); }

/* A CONCLUÍDA RISCADA, como a cancelada já era. Vale em toda lista onde
   o cartão aparece (o dia, Concluídas, o Arquivo, a busca): tarefa
   concluída se lê riscada em qualquer uma delas. */
.tarefa[data-status="concluida"] .tarefa-titulo { text-decoration: line-through; }

/* =====================================================================
   13SET2026 — A BARRA DO ESPAÇO, E A AGENDA MAIOR (carimbo 20260913a)

   Dois pedidos do Capitão, um envelope só porque os dois vivem na mesma
   faixa de tela — entre o cabeçalho e as abas.

   1. A BARRA DO ESPAÇO. Nada na tela dizia em qual Prumo se está: com
      dois ou três, só se descobria pelo Menu. A faixa inteira é o botão
      de trocar (o mesmo painel do "Trocar de Prumo"), e ela mora ACIMA
      da faixa de e-mail: a do e-mail é transitória (some quando a pessoa
      confirma), esta é permanente, e faixa que some não pode empurrar a
      que fica.
   2. A AGENDA MAIOR (proposta A do rascunho). Só tamanho e respiro:
      nenhum seletor novo veste a agenda, os que existem mudam de número.
      Dia 42→52px e 12,5→15px; item 13→15px; hora 11→12,5px. A fileira
      de caixinhas de grupo passa a viver atrás de UM botão (.agd-grupos),
      que devolve uma fileira inteira de altura e não some com 6 grupos.
   ===================================================================== */

/* ------------------------------------------------ 1. barra do espaço */
.esp-barra {
  display: flex;
  align-items: center;
  gap: 9px;
  width: calc(100% - 24px);
  margin: 12px 12px 0;
  padding: 9px 11px;
  background: var(--superficie);
  border: 1px solid var(--borda-forte);
  border-left: 4px solid var(--latao);
  border-radius: var(--r);
  box-shadow: 0 1px 2px rgba(10, 26, 51, .06);
  text-align: left;
  cursor: pointer;
  color: var(--tinta);
  font: inherit;
}
/* Na casa, o fio da esquerda acompanha a pele verde. */
body[data-modo="familia"] .esp-barra { border-left-color: var(--verde); }

.esp-selo {
  flex: none;
  width: 26px; height: 26px;
  border-radius: 6px;
  background: var(--latao);
  color: #fff;
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
body[data-modo="familia"] .esp-selo { background: var(--verde); }

.esp-txt  { flex: 1; min-width: 0; }
.esp-nome {
  display: block;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.esp-tipo {
  display: block;
  margin-top: 1px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
}
.esp-seta { flex: none; color: var(--tinta-fraca); font-size: 12px; }

/* A barra só é botão quando há para onde ir. Sem escolha ela continua
   informando — e não finge que se toca. */
.esp-barra[disabled] { cursor: default; opacity: 1; }
.esp-barra[disabled] .esp-seta { display: none; }

/* A agenda vem logo abaixo: o respiro entre as duas é o mesmo que a
   agenda já tinha para as abas. */
.esp-barra + .agd-barra { margin-top: 8px; }

/* ------------------------------------------------- 2. agenda maior */
.agd-cab { padding: 12px 4px; font-size: 13px; }
.agd-filtros { gap: 7px; padding: 12px 12px 0; }
.agd-chip { padding: 9px 4px; font-size: 11.5px; border-radius: 6px; }
.agd-pt { width: 8px; height: 8px; }

.agd-cal { margin: 12px 12px 0; }
.agd-cal-topo strong { font-size: 14px; }
.agd-sem span { font-size: 10.5px; }
.agd-dia {
  min-height: 52px;
  padding: 7px 0 5px;
  font-size: 15px;
  border-radius: 8px;
}
.agd-pts .agd-pt { width: 6.5px; height: 6.5px; }

.agd-detalhe { margin: 14px 12px 0; padding-top: 12px; }
.agd-dia-cab { font-size: 13px; margin-bottom: 9px; }
.agd-item {
  gap: 10px;
  padding: 11px;
  margin-bottom: 8px;
  font-size: 15px;
  border-radius: 7px;
}
.agd-hora { width: 42px; font-size: 12.5px; }
.agd-tipo { font-size: 14px; }
.agd-tit small { font-size: 11px; margin-top: 2px; }
.agd-esc { font-size: 10px; padding: 3px 6px; }

/* ------------------------- a fileira de grupos, atrás de um botão */
.agd-grupos {
  display: flex;
  align-items: center;
  gap: 8px;
  width: calc(100% - 24px);
  margin: 8px 12px 0;
  padding: 7px 10px;
  border: 1px dashed var(--borda-forte);
  border-radius: 6px;
  background: var(--superficie);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
  cursor: pointer;
}
.agd-grupos b { color: var(--tinta); font-weight: 700; }
.agd-grupos .agd-grupos-seta { margin-left: auto; }
/* Aberta, a caixa de grupos deixa de ser tracejada: ela virou a moldura
   das caixinhas que aparecem embaixo. */
.agd-grupos[aria-expanded="true"] { border-style: solid; border-bottom: 0;
  border-radius: 6px 6px 0 0; }
.agd-grupos[aria-expanded="true"] + .agd-divs {
  margin: 0 12px; padding: 8px 8px 9px;
  border: 1px solid var(--borda-forte); border-top: 0; border-radius: 0 0 6px 6px;
  flex-wrap: wrap;
}

/* =====================================================================
   14SET2026 — A PESSOA SEM USUÁRIO (carimbo 20260914a)

   Uma pessoa que existe no espaço e não entra no app. O que a folha faz
   é uma coisa só: deixar isso ÓBVIO na lista, sem escrever um parágrafo.
   Fio cinza à esquerda (nem verde de ativo, nem vermelho de problema —
   ela não é nenhum dos dois), nome em tom mais leve, e um selo que diz
   a palavra que o Capitão usou: "sem usuário".
   ===================================================================== */

.su-selo {
  display: inline-block;
  vertical-align: 1px;
  margin-left: 6px;
  padding: 2px 6px;
  border-radius: 3px;
  background: var(--superficie-2);
  color: var(--tinta-fraca);
  font-family: var(--mono);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pessoa.su-sem {
  border-left: 3px solid var(--borda-forte);
  background: #F7F9FD;
}
.pessoa.su-sem .pessoa-nome { color: var(--tinta-fraca); }

/* O título de grupo só nasce quando há os dois tipos na lista. */
.su-grupo { margin: 14px 0 7px; }

.su-aviso {
  background: var(--azul-claro);
  border-left: 3px solid var(--latao);
  border-radius: 0 6px 6px 0;
}

/* ------------------------------------------------ as duas vias */
.su-vias { display: flex; gap: 8px; flex-wrap: wrap; }
.su-via {
  flex: 1;
  min-width: 140px;
  text-align: left;
  padding: 10px 11px;
  border: 1px solid var(--borda-forte);
  border-radius: var(--r);
  background: var(--superficie);
  color: var(--tinta);
  cursor: pointer;
  font: inherit;
}
.su-via b { display: block; font-size: 14px; }
.su-via small {
  display: block;
  margin-top: 3px;
  font-size: 11.5px;
  line-height: 1.3;
  color: var(--tinta-fraca);
}
.su-via.marcada {
  border-color: var(--azul);
  background: var(--azul-claro);
  box-shadow: inset 0 -3px 0 var(--latao);
}
.su-via.marcada small { color: var(--tinta); }

/* O atalho do nome livre: discreto, e do tamanho de um atalho. */
.su-virar {
  width: auto;
  min-width: 0;
  margin-top: 8px;
  padding: 7px 11px;
  font-size: 11px;
}

/* =====================================================================
   15SET2026a - A CAPA DO PRUMO
   Nada aqui desenha capa nenhuma sozinho: a imagem entra por
   `style.backgroundImage` no JS (e um data: URI guardado no aparelho,
   nao um arquivo do servidor). Estas regras so dizem COMO ela se
   comporta quando existe. Sem capa, nenhuma destas regras casa e o
   cartao continua exatamente o de ontem — a pena branca sobre o fundo
   azul ou verde.
   ===================================================================== */

/* ------------------------------------- 1) o cartao da tela de escolha */
.fam-capa.capa-posta {
  background-color: #0F2A50;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  justify-content: flex-end;
  padding: 10px 10px 13px;
  overflow: hidden;
}
/* A pena sai quando ha foto: duas marcas na mesma capa brigam. */
.fam-capa.capa-posta > img { display: none; }

/* O VEU. Foto clara com texto branco por cima e texto que some — e nao
   se sabe qual foto a pessoa vai escolher. O veu so cobre a base, onde
   o texto encosta; o alto da imagem fica limpo. */
.fam-capa.capa-posta::before {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0; height: 64%;
  background: linear-gradient(180deg, rgba(8, 18, 36, 0), rgba(8, 18, 36, .84));
}
/* O FIO DO MODO, no pe da capa: a cor que dizia "casa" ou "trabalho" era
   o fundo inteiro, e a foto toma o lugar dele. Sem o fio, a unica pista
   de modo que sobrava era a palavra embaixo. */
.fam-capa.capa-posta::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
  background: var(--latao);
}
.fam-verde .fam-capa.capa-posta::after { background: #1C7A5B; }

.fam-capa.capa-posta > .nv-fam-marca,
.fam-capa.capa-posta > .nv-fam-espaco { position: relative; z-index: 1; }
.fam-capa.capa-posta > .nv-fam-marca {
  position: absolute; top: 8px; left: 8px;
  margin: 0; padding: 3px 7px;
  border-radius: 20px;
  background: rgba(8, 18, 36, .62);
  font-size: 8.5px; letter-spacing: .1em;
  opacity: 1;
}
.fam-capa.capa-posta > .nv-fam-espaco {
  align-self: stretch;
  text-align: left;
  margin-top: 0;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .55);
}

/* ------------------------------------- 2) a miniatura na barra do alto */
/* O selo ja era um quadrado de 26px com a letra do espaco dentro. Com
   capa ele vira a miniatura: mesmo lugar, mesmo tamanho, nada se move na
   barra. A letra sai por `font-size: 0` e nao por `display:none` no
   filho — o selo NAO tem filho, a letra e o proprio texto dele. */
.esp-selo.esp-selo-capa {
  background-color: transparent;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  font-size: 0;
  box-shadow: inset 0 0 0 1px rgba(10, 26, 51, .18);
}

/* --------------------------------------- 3) a tela de por e tirar capa */
.cp-mostra { display: flex; justify-content: center; margin: 2px 0 12px; }
.cp-quadro {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  width: 148px; height: 148px;
  border-radius: var(--r);
  overflow: hidden;
  background: var(--superficie);
  border: 1px dashed var(--borda-forte);
}
.cp-quadro img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cp-vazio {
  font-family: var(--mono);
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--tinta-fraca);
}

/* =====================================================================
   17SET2026a - O CONVITE ENDEREÇADO: uma lista, três estados
   A cor diz em que pé cada pessoa está, sem parágrafo (rascunho r5):
   VERDE entra no app · ÂMBAR foi convidada (ou pediu e espera o gestor)
   · CINZA é sem usuário (a regra de 14SET, que continua valendo).
   O âmbar aqui é o mesmo do aparelho esperando liberação: nos dois
   casos a linha pede uma ação de quem olha.
   ===================================================================== */

.pessoa.cv-acesso { border-left: 3px solid var(--verde); }

.pessoa.cv-convidada,
.pessoa.cv-pedido,
.pessoa.su-sem.cv-convidada,
.pessoa.su-sem.cv-pedido {
  border-left: 3px solid var(--ambar);
  background: var(--ambar-claro);
}
.pessoa.su-sem.cv-convidada .pessoa-nome,
.pessoa.su-sem.cv-pedido .pessoa-nome { color: var(--tinta); }
.pessoa.cv-convidada .pessoa-meta,
.pessoa.cv-pedido .pessoa-meta { color: #6b4e0d; }

.cv-selo {
  display: inline-block;
  vertical-align: 1px;
  margin-left: 6px;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: var(--mono);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cv-selo-ambar { background: var(--ambar); color: #fff; }

/* O botão de ação da linha fica ao lado do Editar, do mesmo tamanho. */
.pessoa .cv-linha { white-space: nowrap; }
.pessoa .cv-linha.cv-forte {
  background: var(--azul); color: #fff; border-color: var(--azul);
}

/* Os títulos da lista lisa: o jeito de "Com acesso · 3" do rascunho. */
.cv-secao {
  margin: 14px 0 7px;
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
}
.cv-secao:first-child { margin-top: 2px; }

/* O cuidado dito antes do gesto: link vazado, aparelho liberado. */
.cv-cuidado {
  background: var(--azul-claro);
  border-left: 3px solid var(--latao);
  border-radius: 0 6px 6px 0;
  margin: 10px 0;
}

/* Três botões numa linha de celular espremiam o nome em uma palavra por
   linha (visto no print, 390px). Quando a linha ganha a ação do convite,
   o nome ocupa a largura toda e os botões descem, alinhados à direita.
   `:has` é da folha dos navegadores de hoje; onde não houver, a linha
   fica como era — apertada, mas inteira. */
.pessoa:has(> .cv-linha) { flex-wrap: wrap; justify-content: flex-end; row-gap: 8px; }
.pessoa:has(> .cv-linha) > div:first-child { flex: 1 1 100%; }

/* =====================================================================
   ENVELOPE 22SET2026a — os três pontinhos da capa (irmão do envelope do
   app). O cartão ganha uma caixa em volta, e a caixa ocupa no fileira o
   lugar que era do cartão: mesmo flex, mesma quebra de linha.
   ===================================================================== */
.fam-cards > .cp3-caixa { position: relative; flex: 1; min-width: 0; display: flex; }
.fam-cards:has(.ps-criar) > .cp3-caixa { flex: 1 1 40%; }
.cp3-caixa > .fam-card { flex: 1; min-width: 0; }
.cp3-mais {
  position: absolute; top: 6px; right: 6px; z-index: 3;
  width: 36px; height: 36px; padding: 0;
  border: 0; border-radius: 50%;
  background: rgba(6, 18, 36, .42); color: #fff;
  font: inherit; font-size: 22px; font-weight: 700; line-height: 36px; text-align: center;
  cursor: pointer;
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
.cp3-mais:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.cp3-mais[aria-expanded="true"] { background: rgba(6, 18, 36, .7); }
.cp3-opcoes {
  position: absolute; top: 46px; right: 6px; z-index: 4;
  min-width: 170px; padding: 4px 0;
  background: var(--superficie); color: var(--tinta);
  border: 1px solid var(--borda); border-radius: 12px;
  box-shadow: 0 10px 28px rgba(10, 26, 51, .28);
  text-align: left;
}
.cp3-opcoes button {
  display: block; width: 100%; padding: 12px 14px;
  border: 0; background: none; color: inherit;
  font: inherit; font-size: 15px; text-align: left; cursor: pointer;
}
.cp3-opcoes button + button { border-top: 1px solid var(--borda); }
.cp3-opcoes button:active { background: var(--azul-claro); }

/* 22SET2026b — a linha que avisa, no alto das opções do ⋮ de OUTRO Prumo,
   que a escolha entra nele primeiro. */
.cp3-opcoes .cp3-nota {
  margin: 0; padding: 8px 14px 6px;
  font-size: 12px; color: var(--tinta-fraca);
  border-bottom: 1px solid var(--borda);
}

/* =====================================================================
   ENVELOPE 22SET2026c — a faixa "Complete sua conta" (irmão do app).
   Mesma cor da faixa do e-mail de 12SET: é o mesmo tipo de pedido.
   ===================================================================== */
.dn-faixa {
  background: var(--ambar-claro); border-left: 4px solid var(--ambar);
  border-radius: 8px; padding: 10px 12px; margin: 10px 12px;
  font-size: 14px; line-height: 1.45;
}
.dn-faixa .dn-breve { display: block; margin-top: 4px; font-size: 12.5px; color: var(--tinta-fraca); }
.dn-faixa-botoes { margin-top: 8px; }
.dn-faixa-botoes .btn { width: auto; padding-left: 18px; padding-right: 18px; }

/* 22SET2026c, parte 2 — a tela da tranca (desligada no servidor). Mora
   acima de tudo, inclusive da tela de trocar de Prumo (z 80). */
.dn-tela { position: fixed; inset: 0; z-index: 90; overflow-y: auto; min-height: 0; }
.dn-tela .entrada-caixa { text-align: left; }
.dn-passos { display: flex; gap: 6px; margin: 0 0 14px; }
.dn-passos i { flex: 1; height: 4px; border-radius: 2px; background: var(--borda); }
.dn-passos i.f { background: var(--latao); }
.dn-tit { font-size: 20px; line-height: 1.25; margin: 0 0 8px; }
.dn-endereco {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  margin: 8px 0 10px; padding: 12px; border: 1px solid var(--borda); border-radius: 12px;
  background: var(--superficie); overflow-wrap: anywhere;
}
.dn-pill {
  flex: none; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; font-weight: 600;
  background: var(--ambar-claro); color: #8A5A12; border-radius: 999px; padding: 3px 9px;
}
.dn-spam { border-left-color: var(--ambar); background: var(--ambar-claro); }
.dn-ok { border-left-color: var(--verde); background: var(--verde-claro); }
.dn-dois { display: flex; gap: 8px; }
.dn-dois .btn { flex: 1; }
.dn-sair { margin-top: 14px; }
.dn-selo {
  width: 56px; height: 56px; border-radius: 50%; margin: 6px auto 10px;
  display: flex; align-items: center; justify-content: center;
  background: var(--verde-claro); color: var(--verde); font-size: 28px;
}

/* =====================================================================
   ENVELOPE 23SET2026a — O RADAR (irmão do envelope do app)
   ===================================================================== */
.rd-botao {
  position: fixed;
  left: max(14px, env(safe-area-inset-left));
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: 45;
  background: var(--superficie); color: var(--latao);
  border: 2px solid var(--latao); border-radius: 999px;
  padding: 12px 16px;
  font-family: var(--mono); font-size: 12px; letter-spacing: .12em; font-weight: 700;
  box-shadow: var(--sombra); cursor: pointer;
}
.rd-botao .rd-n {
  display: inline-block; margin-left: 6px; padding: 0 7px;
  background: var(--latao); color: #fff; border-radius: 999px; letter-spacing: 0;
}
.rd-botao.rd-vencido { background: var(--latao); color: #fff; }
.rd-botao.rd-vencido .rd-n { background: #fff; color: var(--latao); }
.rd-oferta {
  position: fixed; left: 12px; right: 12px;
  bottom: calc(76px + env(safe-area-inset-bottom));
  z-index: 50;
  display: flex; align-items: center; gap: 8px;
  background: var(--azul); color: #fff;
  border-radius: 14px; padding: 10px 10px 10px 14px;
  box-shadow: 0 10px 28px rgba(10, 26, 51, .3);
  font-size: 14px;
}
.rd-oferta-txt { flex: 1; min-width: 0; }
.rd-oferta-sim {
  flex: none; border: 0; border-radius: 999px; padding: 9px 12px;
  background: #fff; color: var(--azul); font: inherit; font-weight: 700; font-size: 13px; cursor: pointer;
}
.rd-oferta-nao {
  flex: none; width: 34px; height: 34px; border: 0; border-radius: 50%;
  background: rgba(255, 255, 255, .14); color: #fff; font-size: 20px; line-height: 1; cursor: pointer;
}
.rd-dias small { margin-left: 6px; color: var(--tinta-fraca); font-weight: 400; }
.rd-lista { display: flex; flex-direction: column; gap: 8px; margin: 6px 0 10px; }
.rd-item {
  background: var(--superficie); border: 1px solid var(--borda);
  border-left: 5px solid var(--latao); border-radius: 10px; padding: 10px 12px;
}
.rd-item.rd-hoje { border-left-color: var(--ambar); background: var(--ambar-claro); }
.rd-tit {
  display: block; width: 100%; border: 0; background: none; padding: 0; text-align: left;
  font: inherit; font-size: 15px; font-weight: 600; color: var(--tinta); cursor: pointer;
}
.rd-item small { display: block; margin-top: 2px; font-family: var(--mono); font-size: 11px; letter-spacing: .04em; color: var(--tinta-fraca); }
.rd-acoes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.rd-acao {
  border: 1px solid var(--borda-forte); border-radius: 999px; padding: 6px 10px;
  background: var(--superficie); color: var(--tinta); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer;
}
.rd-acao.rd-fim { border-color: var(--verde); color: var(--verde); }
.rd-acao.rd-reabre { border-color: var(--ambar); color: #8A5A12; }

/* =====================================================================
   ENVELOPE 23SET2026a — OS LEMBRETES (irmão do envelope do app)
   ===================================================================== */
.lb-area { margin: 10px 0 4px; display: flex; flex-direction: column; gap: 8px; }
.lb-bloco { border: 1px solid var(--borda); border-radius: 12px; background: var(--superficie); padding: 10px 12px; }
.lb-cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lb-tit { font-weight: 600; font-size: 14.5px; }
.lb-tit small { font-weight: 400; color: var(--tinta-fraca); }
.lb-sw {
  flex: none; width: 46px; height: 28px; border-radius: 999px; border: 0; padding: 0;
  background: var(--borda-forte); position: relative; cursor: pointer;
}
.lb-sw::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px;
  border-radius: 50%; background: #fff; transition: left .15s;
}
.lb-sw.ligado { background: var(--verde); }
.lb-sw.ligado::after { left: 21px; }
.lb-sw:focus-visible { outline: 2px solid var(--latao); outline-offset: 2px; }
.lb-linhas { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.lb-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.lb-sel { flex: 1 1 60%; min-width: 0; }
.lb-custom { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; font-size: 13.5px; }
.lb-custom .lb-n { width: 56px; }
.lb-x {
  flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--borda);
  background: var(--superficie); color: var(--tinta-fraca); font-size: 18px; line-height: 1; cursor: pointer;
}
.lb-add {
  margin-top: 6px; border: 0; background: none; padding: 6px 0; color: var(--latao);
  font: inherit; font-weight: 600; font-size: 14px; cursor: pointer;
}
.lb-dica { margin: 4px 0 0; }

/* 23SET2026b - QUEM RECEBE o lembrete */
.lb-para { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.lb-para-tit { font-size: 12.5px; color: var(--tinta-fraca); }
.lb-quens, .lb-lista { display: flex; flex-wrap: wrap; gap: 6px; }
.lb-quem, .lb-mais {
  border: 1px solid var(--borda); background: transparent; color: inherit;
  border-radius: 999px; padding: 5px 11px; font-size: 13.5px; min-height: 32px;
}
.lb-quem.marcado { background: var(--verde); border-color: var(--verde); color: #fff; }
.lb-quem.marcado::before { content: '✓ '; }
.lb-mais { border-style: dashed; }
.lb-quem:focus-visible, .lb-mais:focus-visible { outline: 2px solid var(--latao); outline-offset: 2px; }

/* 24SET2026a - a caixa dos e-mails de novidades (Privacidade e dados) */
.pm-mkt-linha { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; cursor: pointer; }
.pm-mkt-linha input { margin-top: 3px; flex: 0 0 auto; }

/* 24SET2026b - a tela da DIGITAL: cobre tudo (o app pode estar desenhado
   por baixo quando o aparelho volta do fundo), abaixo do aviso dos Termos
   (9998) e do visor da LGPD (9999). */
#tela-digital { position: fixed; inset: 0; z-index: 9990; overflow: auto; }
#tela-digital .botoes { margin-top: 14px; }

/* 24SET2026c - a pergunta da digital para quem ja tem PIN (abaixo da tela
   da digital e do aviso dos Termos) */
#dg-pergunta { position: fixed; inset: 0; z-index: 9980; background: rgba(15,23,42,.55);
  display: flex; align-items: flex-end; justify-content: center; padding: 16px; }
.dg-pergunta-caixa { background: var(--superficie, #fff); color: inherit; max-width: 480px; width: 100%;
  border-radius: 16px; padding: 18px 20px; font-size: 14.5px; line-height: 1.5; }
.dg-pergunta-caixa h2 { margin: 0 0 6px; font-size: 18px; }

/* 25SET2026 - a pergunta da VIRADA de faixa (o valor antes de cobrar).
   Acima dos paineis, abaixo da digital (9980+), dos Termos e da LGPD. */
#vr-pergunta { position: fixed; inset: 0; z-index: 9970; background: rgba(15,23,42,.55);
  display: flex; align-items: flex-end; justify-content: center; padding: 16px; }
#vr-pergunta .botoes { margin-top: 14px; flex-wrap: wrap; }
#vr-pergunta a.btn { text-decoration: none; text-align: center; }

/* =====================================================================
   26SET2026 (sessão 49) — O MENU EM CINCO LINHAS (app-v8.js, mxMontar)
   Lista enxuta com ícone e seta; abaixo do filete, o botão de instalar
   (diferente de tudo, para não haver dúvida) e a caixa verde da
   assinatura, logo acima do Sair.
   ===================================================================== */
.mx-menu { gap: 10px; }
.mx-menu .btn.mx-item { width: 100%; display: flex; align-items: center; gap: 12px;
  justify-content: flex-start; text-align: left; text-transform: none; letter-spacing: 0; }
/* A COR dos cinco vem da regra de 10SET2026b ("menu colorido": botão solto
   do Menu na cor da casa, letra branca — decisão do Capitão), que casa com
   estes botões por serem filhos diretos da caixa arrumada. Não se repinta
   aqui: o rascunho de 26SET saiu branco por ser montado fora do app. */
.mx-menu .mx-item .mx-ic { width: 26px; text-align: center; font-size: 18px; flex: none; }
.mx-menu .mx-item .mx-rot { flex: 1; }
.mx-menu .mx-item .mx-seta { opacity: .55; font-size: 20px; line-height: 1; }
.mx-menu .mx-sep { height: 1px; background: var(--borda); margin: 6px 0 2px; }
.mx-menu .mx-instalar { width: 100%; display: flex; align-items: center; gap: 12px; text-align: left;
  border: 2px dashed var(--latao, #1D4E8F); background: var(--azul-claro, #DCE7F7); color: var(--tinta);
  border-radius: 12px; padding: 12px 14px; font: inherit; cursor: pointer; }
.mx-menu .mx-instalar .mx-ic { font-size: 24px; flex: none; }
.mx-menu .mx-instalar b { display: block; font-size: 15.5px; color: var(--azul, #0F2A50); }
.mx-menu .mx-instalar small { display: block; font-size: 12.5px; color: var(--tinta-fraca, #4A5F7E); margin-top: 2px; }
.mx-menu .mx-assina { width: 100%; display: block; text-align: left; border: 2px solid var(--verde);
  background: var(--verde-claro); color: #0f3d2e; border-radius: 12px; padding: 12px 14px; font: inherit; cursor: pointer; }
.mx-menu .mx-assina b { display: block; font-size: 16px; color: var(--verde); letter-spacing: .2px; }
.mx-menu .mx-assina small { display: block; font-size: 13px; margin-top: 2px; color: #2d5a4a; }
.mx-menu .mx-assina.mx-calma { border-color: var(--borda-forte); background: var(--superficie); }
.mx-menu .mx-assina.mx-calma b { color: var(--tinta); }
.mx-menu .btn.perigo { width: 100%; }

/* =====================================================================
   30SET2026 (carimbo 20260930a) — OS INTERRUPTORES (ON/OFF)
   O mesmo interruptor do lembrete (.lb-sw) em "Minha conta" (Ativar
   notificações, Abrir com digital), no topo da tela de Notificações e nas
   chavinhas do "O que avisa" — pedido do Capitão: "tudo ON/OFF".
   ===================================================================== */
.sw-linha {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px;
  border: 1px solid var(--borda); border-radius: 14px; background: var(--superficie);
  text-align: left;
}
.sw-linha .tx, .sw-rotulo { flex: 1; min-width: 0; }
.sw-linha .tx b, .sw-rotulo b { display: block; font-size: 15px; font-weight: 600; }
.sw-linha .tx small, .sw-rotulo small { display: block; color: var(--tinta-fraca); font-size: 12px; font-weight: 400; margin-top: 2px; }
.sw-rotulo {
  border: 0; background: none; padding: 2px 0; margin: 0; font: inherit; color: inherit;
  text-align: left; cursor: pointer;
}
#painel-corpo > .sw-linha { margin-bottom: 12px; }
.sw-ajustar {
  display: block; align-self: flex-start; margin: -4px 0 2px 14px; padding: 6px 0;
  border: 0; background: none; color: var(--latao); font: inherit; font-weight: 600; font-size: 14px;
  cursor: pointer; text-align: left;
}
.sw-ajustar.oculto { display: none; }
.lb-sw:disabled { opacity: .55; cursor: default; }

/* As chavinhas do "O que avisa" continuam sendo caixas de marcar (o
   comportamento e os testes não mudam) — só se VESTEM de interruptor. */
#av-tipos .av-chave {
  -webkit-appearance: none; appearance: none; flex: none; margin: 0;
  width: 46px; height: 28px; border-radius: 999px; cursor: pointer;
  background: radial-gradient(circle 11px at 14px 50%, #fff 95%, transparent 100%) no-repeat, var(--borda-forte);
  transition: background .15s;
}
#av-tipos .av-chave:checked {
  background: radial-gradient(circle 11px at 32px 50%, #fff 95%, transparent 100%) no-repeat, var(--verde);
}
#av-tipos .av-chave:focus-visible { outline: 2px solid var(--latao); outline-offset: 2px; }

/* =====================================================================
   02OUT2026 — carimbo 20261002a — O DIÁRIO

   O desenho aprovado no rascunho (claude/rascunho-diario.html): cantos
   grandes (12–22px), sombras em camadas, título grande, segmentado,
   pílulas, linha do tempo com bolinhas. É o PILOTO do visual novo: tudo
   aqui mora debaixo de `.dia` e de `#painel.dia-modo`, então nada do resto
   do app muda. As cores são as da casa (tokens do :root); os únicos
   valores novos são os de forma (raio e sombra), declarados abaixo.
   ===================================================================== */
#painel.dia-modo {
  --dia-r-sm: 10px; --dia-r-md: 14px; --dia-r-lg: 20px;
  --dia-sombra-1: 0 1px 2px rgba(10,26,51,.06), 0 2px 8px rgba(10,26,51,.05);
  --dia-sombra-2: 0 2px 6px rgba(10,26,51,.08), 0 12px 32px rgba(10,26,51,.14);
}
#painel.dia-modo .painel-caixa {
  position: relative; padding: 0; display: flex; flex-direction: column; overflow: hidden;
  background: var(--fundo); border-radius: 22px 22px 0 0;
  height: calc(100dvh - env(safe-area-inset-top, 0px) - 10px);
  max-height: calc(100dvh - env(safe-area-inset-top, 0px) - 10px);
}
@supports not (height: 100dvh) {
  #painel.dia-modo .painel-caixa { height: calc(96vh - env(safe-area-inset-top, 0px)); max-height: calc(96vh - env(safe-area-inset-top, 0px)); }
}
/* o teclado do celular encolhe a área visível: o JS põe a altura dela no
   #painel, e a caixa a acompanha */
#painel.dia-modo[style*="height"] .painel-caixa { height: calc(100% - 6px); max-height: calc(100% - 6px); }
@media (min-width: 700px) {
  #painel.dia-modo .painel-caixa { border-radius: 22px; height: min(880px, 90vh); max-height: 90vh; }
}
#painel.dia-modo .painel-topo { display: none; }
#painel.dia-modo #painel-corpo { flex: 1; min-height: 0; display: flex; flex-direction: column; position: relative; }

.dia { flex: 1; min-height: 0; display: flex; flex-direction: column; position: relative; font-family: var(--sans); color: var(--tinta); }
.dia button { cursor: pointer; background: none; border: 0; text-align: left; padding: 0; }
.dia button:disabled { cursor: not-allowed; opacity: .45; }
.dia-i { stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.dia-rolo { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.dia-fim { height: 100px; }
.dia-fim-ed { height: 24px; }

/* barra de cima */
.dia-barra { flex: none; display: flex; align-items: center; justify-content: space-between; padding: 10px 12px 2px 8px; min-height: 52px; }
.dia-voltar { display: flex; align-items: center; gap: 2px; color: var(--latao) !important; font-size: 16px; font-weight: 500; padding: 6px 8px !important; border-radius: 10px; max-width: 60%; }
.dia-voltar span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dia-bicones { display: flex; gap: 6px; }
.dia-bic { width: 38px; height: 38px; border-radius: 50% !important; display: grid !important; place-items: center; color: var(--azul) !important; background: rgba(15,42,80,.06) !important; }
.dia-bic.on { background: var(--ambar-claro) !important; color: var(--ambar) !important; }
.dia-titulo { padding: 4px 20px 0; }
.dia-titulo h2 { font-size: 32px; font-weight: 800; letter-spacing: -.025em; margin: 0; font-family: var(--sans); text-transform: none; }
.dia-subt { color: var(--tinta-fraca); font-size: 13.5px; margin-top: 2px; }

/* faixa de rede */
.dia-faixa { margin: 10px 16px 0; border-radius: 12px; background: var(--ambar-claro); color: #7a4f0f; font-size: 13px; font-weight: 600; padding: 9px 12px; display: flex; align-items: center; gap: 8px; }
.dia-faixa-azul { background: var(--azul-claro); color: var(--azul); }

/* segmentado, busca, pílulas */
.dia-seg { margin: 14px 20px 0; background: rgba(15,42,80,.07); border-radius: 12px; padding: 3px; display: flex; }
.dia-seg button { flex: 1; text-align: center !important; padding: 9px 0 !important; border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--tinta-fraca); display: flex; gap: 6px; justify-content: center; align-items: center; }
.dia-seg button.on { background: #fff !important; color: var(--azul); box-shadow: 0 1px 3px rgba(10,26,51,.12); }
.dia-busca { margin: 12px 20px 0; height: 44px; border-radius: 12px; background: #fff; border: 1px solid var(--borda); display: flex; align-items: center; gap: 8px; padding: 0 12px; color: var(--borda-forte); }
.dia-busca input { flex: 1; border: 0; outline: 0; background: none; font-size: 15px; color: var(--tinta); min-width: 0; height: 100%; }
.dia-busca:focus-within { border-color: var(--latao); box-shadow: 0 0 0 3px var(--azul-claro); }
.dia-busca-folha { margin: 12px 0 0; }
.dia-chips { display: flex; gap: 8px; padding: 12px 20px 2px; overflow-x: auto; scrollbar-width: none; }
.dia-chips::-webkit-scrollbar { display: none; }
.dia-chips-quebra { flex-wrap: wrap; padding-top: 0; }
.dia-chip { flex: none; display: inline-flex !important; align-items: center; gap: 6px; height: 34px; padding: 0 13px !important; border-radius: 999px; background: #fff !important; border: 1px solid var(--borda) !important; font-size: 13.5px; font-weight: 500; white-space: nowrap; }
.dia-chip.on { background: var(--azul) !important; border-color: var(--azul) !important; color: #fff; }
.dia-g { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 6px; background: var(--azul); color: #fff; font-size: 11px; font-weight: 800; flex: none; }
.dia-g-grande { width: 46px; height: 46px; border-radius: 14px; font-size: 19px; }
.dia-g-claro { width: 34px; height: 34px; border-radius: 10px; background: rgba(255,255,255,.22); font-size: 16px; }
.dia-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; display: inline-block; }
.dia-emo { font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; }

.dia-secao { display: flex; justify-content: space-between; align-items: baseline; padding: 18px 20px 8px; }
.dia-secao-in { padding: 18px 0 8px; }
.dia-secao h4 { margin: 0; font-size: 12px; letter-spacing: .09em; text-transform: uppercase; color: var(--tinta-fraca); font-weight: 700; font-family: var(--sans); }
.dia-link { font-size: 15px; color: var(--latao) !important; font-weight: 600; padding: 4px 2px !important; }

/* fixados */
.dia-fixos { display: flex; gap: 10px; padding: 0 20px 4px; overflow-x: auto; scrollbar-width: none; }
.dia-fixos::-webkit-scrollbar { display: none; }
.dia-fixo { flex: none; width: 200px; background: #fff !important; border-radius: var(--dia-r-md); padding: 12px 14px 12px 16px !important; box-shadow: var(--dia-sombra-1); position: relative; overflow: hidden; display: flex !important; flex-direction: column; gap: 4px; }
.dia-fixo::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--c, var(--latao)); }
.dia-fixo-t { font-weight: 650; font-size: 14.5px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dia-fixo-m { font-size: 12px; color: var(--tinta-fraca); display: flex; align-items: center; gap: 5px; }
.dia-fixo-m .dia-i { color: var(--ambar); }

/* cartões de pasta */
.dia-pastas { padding: 0 16px; display: flex; flex-direction: column; gap: 10px; }
.dia-pasta { background: #fff !important; border-radius: var(--dia-r-lg); padding: 14px !important; display: flex !important; gap: 12px; align-items: center; box-shadow: var(--dia-sombra-1); width: 100%; transition: transform .12s ease, box-shadow .12s ease; }
.dia-pasta:active, .dia-reg:active, .dia-ev:active { transform: scale(.985); }
.dia-pasta > .dia-i { color: var(--borda-forte); }
.dia-ico { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; font-size: 22px; flex: none; background: color-mix(in srgb, var(--c) 14%, #fff); color: var(--c); }
.dia-pasta-meio { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.dia-pasta-nm { font-weight: 650; font-size: 15.5px; letter-spacing: -.01em; }
.dia-pasta-ds { font-size: 13px; color: var(--tinta-fraca); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.dia-pasta-mt { display: flex; gap: 8px; align-items: center; margin-top: 7px; font-size: 12px; color: var(--tinta-fraca); flex-wrap: wrap; }
.dia-selo { display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.dia-selo-fechado { background: var(--superficie-2); color: var(--azul); }
.dia-selo-aberto { background: var(--verde-claro); color: var(--verde); }
.dia-selo-gestor { background: var(--ambar-claro); color: var(--ambar); }

/* botão flutuante */
.dia-fab { position: absolute; right: 18px; bottom: calc(22px + env(safe-area-inset-bottom, 0px)); height: 56px; padding: 0 22px 0 18px !important; border-radius: 18px; background: var(--azul) !important; color: #fff !important; display: flex !important; align-items: center; gap: 8px; font-weight: 650; font-size: 15.5px; box-shadow: 0 8px 24px rgba(15,42,80,.35); z-index: 2; }
.dia-fab .dia-i { stroke-width: 2.5; }

/* pasta aberta */
.dia-hero { margin: 4px 16px 0; border-radius: var(--dia-r-lg); padding: 18px; color: #fff; background: linear-gradient(135deg, var(--c) 0%, color-mix(in srgb, var(--c) 68%, #000) 100%); position: relative; overflow: hidden; }
.dia-hero::after { content: ""; position: absolute; right: -34px; top: -34px; width: 150px; height: 150px; border-radius: 50%; background: rgba(255,255,255,.10); }
.dia-hero-em { font-size: 28px; line-height: 1; }
.dia-hero h3 { margin: 8px 0 2px; font-size: 22px; font-weight: 800; letter-spacing: -.02em; font-family: var(--sans); text-transform: none; }
.dia-hero p { margin: 0; font-size: 13.5px; opacity: .88; }
.dia-hero .dia-hero-cam { font-size: 12px; opacity: .75; margin-top: 4px; }
.dia-hero-sl { display: flex; gap: 6px; margin-top: 12px; flex-wrap: wrap; position: relative; z-index: 1; }
.dia-hero-sl span { background: rgba(255,255,255,.18); height: 24px; padding: 0 9px; border-radius: 999px; font-size: 12px; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; }
.dia-subs { display: flex; gap: 8px; padding: 12px 16px 0; overflow-x: auto; scrollbar-width: none; }
.dia-subs::-webkit-scrollbar { display: none; }
.dia-subs-quebra { flex-wrap: wrap; padding-top: 0; }
.dia-sub { flex: none; display: flex !important; align-items: center; gap: 7px; background: #fff !important; border-radius: 12px; padding: 10px 12px !important; font-size: 13.5px; font-weight: 600; box-shadow: var(--dia-sombra-1); white-space: nowrap; }
.dia-sub .dia-i { color: var(--latao); }
.dia-sub small { color: var(--tinta-fraca); font-weight: 500; }
.dia-sub-add { background: transparent !important; box-shadow: none; border: 1.5px dashed var(--borda-forte) !important; color: var(--latao); }
.dia-mes { padding: 18px 20px 8px; font-size: 12px; letter-spacing: .09em; text-transform: uppercase; color: var(--tinta-fraca); font-weight: 700; display: flex; align-items: center; gap: 8px; }
.dia-mes::after { content: ""; flex: 1; height: 1px; background: var(--borda); }

/* registro na lista */
.dia-regs { padding: 0 16px; display: flex; flex-direction: column; gap: 8px; }
.dia-reg { background: #fff !important; border-radius: var(--dia-r-md); padding: 12px !important; display: flex !important; gap: 12px; box-shadow: var(--dia-sombra-1); width: 100%; align-items: flex-start; transition: transform .12s ease; }
.dia-reg-ex { align-items: center; }
.dia-tile { width: 46px; flex: none; text-align: center; border-radius: 12px; background: var(--superficie-2); padding: 6px 0; height: 52px; display: flex; flex-direction: column; justify-content: center; }
.dia-tile b { display: block; font-size: 19px; line-height: 1.1; font-weight: 800; color: var(--azul); }
.dia-tile span { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; color: var(--tinta-fraca); }
.dia-reg-meio { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.dia-reg-t { font-weight: 650; font-size: 14.5px; line-height: 1.3; display: flex; align-items: center; gap: 6px; }
.dia-reg-t .dia-i, .dia-ev-t .dia-i { color: var(--ambar); }
.dia-reg-x { font-size: 13px; color: var(--tinta-fraca); line-height: 1.45; margin-top: 3px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dia-reg-rp { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 11.5px; color: var(--tinta-fraca); flex-wrap: wrap; }
.dia-av { width: 20px; height: 20px; border-radius: 50%; display: inline-grid; place-items: center; font-size: 9.5px; font-weight: 700; color: #fff; flex: none; }
.dia-vinc { display: inline-flex; align-items: center; gap: 3px; background: var(--fundo); border-radius: 6px; padding: 2px 6px; }
.dia-pp { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 600; color: var(--tinta); background: var(--fundo); border-radius: 6px; padding: 2px 7px; max-width: 170px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.dia-pp .dia-g { width: 14px; height: 14px; font-size: 9px; border-radius: 4px; }

/* marcas */
.dia-m { border-radius: 4px; padding: 0 3px; font-weight: 550; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.dia-m-vermelho { color: var(--vermelho); background: var(--vermelho-claro); }
.dia-m-ambar { color: var(--ambar); background: var(--ambar-claro); }
.dia-m-verde { color: var(--verde); background: var(--verde-claro); }
.dia-m-azul { color: var(--latao); background: var(--azul-claro); }

/* linha do tempo */
.dia-linha { position: relative; padding: 12px 16px 0; }
.dia-trilho { position: absolute; left: 41px; top: 0; bottom: 0; width: 2px; background: var(--borda); }
.dia-hoje { display: flex; align-items: center; gap: 8px; margin: 0 0 12px 22px; font-size: 12px; font-weight: 700; color: var(--latao); position: relative; }
.dia-hoje i { width: 8px; height: 8px; border-radius: 50%; background: var(--latao); box-shadow: 0 0 0 4px var(--azul-claro); }
.dia-mesl { position: relative; z-index: 1; margin: 6px 0 10px; }
.dia-mesl span { background: var(--azul); color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; margin-left: 4px; }
.dia-ev { display: flex !important; gap: 12px; margin-bottom: 10px; position: relative; width: 100%; }
.dia-ev-col { width: 52px; flex: none; display: flex; flex-direction: column; align-items: center; padding-top: 15px; }
.dia-bola { width: 14px; height: 14px; border-radius: 50%; border: 3px solid var(--fundo); box-shadow: 0 0 0 2px var(--c); background: var(--c); z-index: 1; }
.dia-ev-card { flex: 1; min-width: 0; background: #fff; border-radius: var(--dia-r-md); padding: 11px 12px; box-shadow: var(--dia-sombra-1); display: flex; flex-direction: column; }
.dia-ev-q { font-size: 11.5px; color: var(--tinta-fraca); font-weight: 600; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.dia-ev-t { font-weight: 650; font-size: 14.5px; margin: 4px 0 3px; line-height: 1.3; display: flex; align-items: center; gap: 6px; }
.dia-ev-x { font-size: 12.5px; color: var(--tinta-fraca); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* vazio */
.dia-vazio { margin: 24px 24px 0; text-align: center; color: var(--tinta-fraca); display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 14px; line-height: 1.45; }
.dia-vazio .dia-i { color: var(--borda-forte); }
.dia-vazio b { color: var(--tinta); font-size: 15.5px; }
.dia-dica { color: var(--tinta-fraca); font-size: 13px; }

/* leitura */
.dia-leitura { padding: 4px 22px 0; }
.dia-cam { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--tinta-fraca); font-weight: 500; flex-wrap: wrap; }
.dia-cam span { opacity: .6; }
.dia-leitura h3 { font-size: 25px; line-height: 1.2; font-weight: 800; letter-spacing: -.02em; margin: 10px 0 14px; font-family: var(--sans); text-transform: none; }
.dia-fato { display: flex; gap: 12px; align-items: center; background: #fff; border-radius: var(--dia-r-md); padding: 12px; box-shadow: var(--dia-sombra-1); }
.dia-cal { width: 44px; height: 48px; border-radius: 10px; overflow: hidden; text-align: center; flex: none; box-shadow: 0 0 0 1px var(--borda); background: #fff; }
.dia-cal i { display: block; font-style: normal; background: var(--vermelho); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .06em; padding: 2px 0; }
.dia-cal b { display: block; font-size: 20px; font-weight: 800; padding-top: 2px; }
.dia-fato-1 { display: block; font-weight: 650; font-size: 14.5px; }
.dia-fato-2 { display: block; font-size: 12px; color: var(--tinta-fraca); margin-top: 2px; line-height: 1.4; }
.dia-texto { font-size: 16px; line-height: 1.65; margin: 18px 0 4px; overflow-wrap: anywhere; }
.dia-vincs, .dia-erefs { display: flex; flex-direction: column; gap: 6px; }
.dia-vl { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 12px; padding: 9px 12px; box-shadow: var(--dia-sombra-1); font-size: 14px; }
.dia-vl.dia-toca { cursor: pointer; }
.dia-vl-tp { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; flex: none; }
.dia-vl-tt { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.dia-vl-tt small { display: block; color: var(--tinta-fraca); font-size: 11.5px; }
.dia-vl-x { color: var(--tinta-fraca); padding: 4px !important; border-radius: 8px; }
.dia-st { font-size: 11px; font-weight: 700; padding: 3px 7px; border-radius: 6px; white-space: nowrap; background: var(--superficie-2); color: var(--azul); }
.dia-st-em_andamento { background: var(--ambar-claro); color: var(--ambar); }
.dia-st-concluida { background: var(--verde-claro); color: var(--verde); }
.dia-st-cancelada { background: var(--fundo); color: var(--tinta-fraca); }
.dia-rolo-acoes .dia-fim { height: 110px; }
.dia-acoes { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px)); background: linear-gradient(rgba(244,247,252,0), var(--fundo) 32%); display: flex; gap: 8px; z-index: 2; }
.dia-ac { flex: 1; height: 50px; border-radius: 14px; display: flex !important; align-items: center; justify-content: center; gap: 7px; font-weight: 650; font-size: 14px; background: #fff !important; color: var(--azul); box-shadow: var(--dia-sombra-1); text-align: center !important; }
.dia-ac-pr { background: var(--azul) !important; color: #fff; }

/* folha que sobe */
#dia-folha-caixa { position: absolute; inset: 0; z-index: 5; }
.dia-veu { position: absolute; inset: 0; background: rgba(10,26,51,.42); animation: dia-veu .18s ease; }
.dia-folha { position: absolute; left: 0; right: 0; bottom: 0; background: var(--fundo); border-radius: 26px 26px 0 0; padding: 8px 18px calc(22px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -10px 40px rgba(10,26,51,.25); max-height: 86%; overflow-y: auto; animation: dia-sobe .22s cubic-bezier(.2,.8,.2,1); }
.dia-folha-alta { top: 8%; display: flex; flex-direction: column; }
.dia-puxa { width: 40px; height: 5px; border-radius: 3px; background: var(--borda-forte); margin: 0 auto 12px; opacity: .6; flex: none; }
.dia-folha h3 { margin: 0; font-size: 20px; font-weight: 800; letter-spacing: -.02em; font-family: var(--sans); text-transform: none; }
.dia-folha-s { font-size: 13px; color: var(--tinta-fraca); margin-top: 3px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.dia-v-resumo { margin-top: 10px; }
@keyframes dia-sobe { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes dia-veu { from { opacity: 0; } to { opacity: 1; } }
.dia-ops { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 12px; }
.dia-op { display: flex !important; align-items: center; gap: 12px; background: #fff !important; border-radius: 14px; padding: 14px !important; font-size: 15px; font-weight: 600; box-shadow: var(--dia-sombra-1); }
.dia-op .dia-i { color: var(--latao); }
.dia-op-perigo { color: var(--vermelho); }
.dia-op-perigo .dia-i { color: var(--vermelho); }
.dia-bt { display: grid !important; place-items: center; width: 100%; height: 52px; border-radius: 16px; background: var(--azul) !important; color: #fff; font-weight: 700; font-size: 16px; margin-top: 12px; text-align: center !important; }
.dia-bt-sec { background: #fff !important; color: var(--azul); box-shadow: var(--dia-sombra-1); }
.dia-bt-perigo { background: var(--vermelho) !important; }
.dia-bt-mini { width: auto; height: 36px; padding: 0 12px !important; border-radius: 10px; font-size: 13px; margin: 0; display: inline-flex !important; gap: 5px; align-items: center; flex: none; }
.dia-folha-bts { display: flex; flex-direction: column; margin-top: 6px; }
.dia-modelos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.dia-mod { background: #fff !important; border-radius: var(--dia-r-md); padding: 14px !important; box-shadow: var(--dia-sombra-1); min-height: 120px; display: flex !important; flex-direction: column; align-items: flex-start; }
.dia-mod:active { box-shadow: 0 0 0 2px var(--latao), var(--dia-sombra-1); }
.dia-mod-i { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; font-size: 19px; }
.dia-mod b { display: block; margin-top: 10px; font-size: 15px; }
.dia-mod small { display: block; font-size: 12px; color: var(--tinta-fraca); line-height: 1.4; margin-top: 3px; }

/* editor */
.dia-ed-tela { background: #fff; }
.dia-ebarra { flex: none; display: flex; align-items: center; justify-content: space-between; padding: 10px 16px 6px; min-height: 54px; gap: 8px; }
.dia-ebarra-t { font-weight: 700; font-size: 16px; text-align: center; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dia-salvar { background: var(--azul) !important; color: #fff !important; height: 36px; padding: 0 18px !important; border-radius: 999px; font-weight: 650; font-size: 14.5px; }
.dia-emeta { display: flex; gap: 8px; padding: 10px 16px 0; flex-wrap: wrap; }
.dia-pill { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: 999px; background: #fff; border: 1px solid var(--borda); font-size: 13px; font-weight: 600; max-width: 100%; position: relative; }
.dia-pill select, .dia-pill input { border: 0; background: none; font: inherit; color: inherit; outline: 0; min-width: 0; padding: 0; }
.dia-pill-sel select { -webkit-appearance: none; appearance: none; max-width: 210px; text-overflow: ellipsis; }
.dia-pill-az { background: var(--azul-claro); border-color: var(--azul-claro); color: var(--azul); }
.dia-pill-az input { width: 128px; }
.dia-etit { display: block; width: calc(100% - 40px); margin: 14px 20px 4px; border: 0; outline: 0; resize: none; font-size: 23px; font-weight: 800; letter-spacing: -.02em; line-height: 1.25; font-family: var(--sans); color: var(--tinta); background: none; padding: 0; }
.dia-etit::placeholder { color: var(--borda-forte); }
.dia-ecorpo { padding: 6px 20px; font-size: 16px; line-height: 1.6; min-height: 160px; outline: 0; overflow-wrap: anywhere; }
.dia-ecorpo:empty::before { content: attr(data-ph); color: var(--borda-forte); }
.dia-erefs { padding: 12px 16px 0; }
.dia-ed-dica { padding: 10px 20px 0; margin: 0; line-height: 1.6; }
.dia-erro { margin: 4px 20px 0; color: var(--vermelho); font-size: 13px; font-weight: 600; }
.dia-ferr { flex: none; background: #fff; border-top: 1px solid var(--borda); display: flex; align-items: center; gap: 1px; padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -4px 16px rgba(10,26,51,.06); overflow-x: auto; }
.dia-fb { width: 36px; height: 40px; border-radius: 11px; display: grid !important; place-items: center; font-weight: 800; font-size: 17px; color: var(--azul); flex: none; }
.dia-fb.on { background: var(--azul) !important; color: #fff; }
.dia-fb-i i { font-family: Georgia, "Times New Roman", serif; }
.dia-cr { width: 20px; height: 20px; border-radius: 50%; display: block; }
.dia-cr-tinta { background: #fff; box-shadow: inset 0 0 0 2px var(--borda-forte); position: relative; }
.dia-cr-tinta::after { content: ""; position: absolute; left: 3px; right: 3px; top: 9px; height: 2px; background: var(--borda-forte); transform: rotate(-45deg); }
.dia-sep { width: 1px; height: 24px; background: var(--borda); margin: 0 4px; flex: none; }
.dia-fb-v { width: auto; padding: 0 8px !important; gap: 5px; display: flex !important; font-size: 13.5px; font-weight: 650; color: var(--latao); margin-left: auto; }

/* vincular */
.dia-abas { display: flex; gap: 6px; margin-top: 12px; overflow-x: auto; scrollbar-width: none; flex: none; }
.dia-abas::-webkit-scrollbar { display: none; }
.dia-aba { flex: none; height: 34px; padding: 0 12px !important; border-radius: 999px; font-size: 13px; font-weight: 600; display: flex !important; align-items: center; gap: 5px; background: #fff !important; border: 1px solid var(--borda) !important; white-space: nowrap; }
.dia-aba.on { background: var(--azul) !important; color: #fff; border-color: var(--azul) !important; }
.dia-lista { margin-top: 12px; background: #fff; border-radius: var(--dia-r-md); box-shadow: var(--dia-sombra-1); overflow-y: auto; flex: 1; min-height: 120px; }
.dia-li { display: flex !important; align-items: center; gap: 12px; padding: 12px 14px !important; border-bottom: 1px solid var(--fundo) !important; font-size: 14.5px; width: 100%; }
.dia-li:last-child { border-bottom: 0 !important; }
.dia-li-vazio { color: var(--tinta-fraca); font-size: 13.5px; justify-content: center; }
.dia-ck { width: 22px; height: 22px; border-radius: 7px; border: 2px solid var(--borda-forte); flex: none; display: grid; place-items: center; }
.dia-ck.on { background: var(--latao); border-color: var(--latao); color: #fff; }
.dia-li-tt { flex: 1; min-width: 0; }
.dia-li-tt small { display: block; color: var(--tinta-fraca); font-size: 12px; }

/* formulário de pasta */
.dia-fp-pai { margin: 6px 20px 0; }
.dia-campo { display: block; margin: 12px 16px 0; background: #fff; border-radius: var(--dia-r-md); padding: 10px 14px; box-shadow: var(--dia-sombra-1); }
.dia-campo span { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-fraca); }
.dia-campo input { display: block; width: 100%; border: 0; outline: 0; background: none; font-size: 16px; margin-top: 3px; padding: 2px 0; color: var(--tinta); }
.dia-campo:focus-within { box-shadow: 0 0 0 2px var(--latao), var(--dia-sombra-1); }
.dia-rot { padding: 18px 20px 8px; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--tinta-fraca); }
.dia-opc { width: calc(100% - 32px); margin: 0 16px 10px; background: #fff !important; border-radius: var(--dia-r-md); padding: 14px !important; display: flex !important; gap: 12px; box-shadow: var(--dia-sombra-1); align-items: flex-start; }
.dia-opc.on { box-shadow: 0 0 0 2px var(--latao), var(--dia-sombra-1); }
.dia-r { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--borda-forte); flex: none; margin-top: 1px; }
.dia-opc.on .dia-r { border: 7px solid var(--latao); }
.dia-opc b { font-size: 15px; display: inline-flex; align-items: center; gap: 4px; }
.dia-opc small { display: block; color: var(--tinta-fraca); font-size: 13px; line-height: 1.45; margin-top: 2px; }
.dia-nota { margin: 6px 20px 0; font-size: 12.5px; color: var(--tinta-fraca); display: flex; gap: 8px; line-height: 1.45; }

/* aviso dentro do Diário */
.dia-toast { display: none; }
#painel.dia-modo .dia-toast { display: block; position: absolute; left: 50%; top: 12px; transform: translateX(-50%); z-index: 9; background: var(--tinta); color: #fff; font-size: 14px; font-weight: 600; padding: 10px 16px; border-radius: 999px; box-shadow: var(--dia-sombra-2); max-width: calc(100% - 32px); text-align: center; animation: dia-sobe .2s ease; }
#painel.dia-modo .dia-toast-erro { background: var(--vermelho); border-radius: 14px; }

@media (prefers-reduced-motion: reduce) {
  .dia-folha, .dia-veu, .dia-toast { animation: none; }
  .dia-pasta, .dia-reg, .dia-ev { transition: none; }
}

/* =====================================================================
   03OUT2026 — carimbo 20261003a — A FAIXA DO AVISO DO PRUMO
   Entre o topo e a barra do espaço. Fio de latão à esquerda, como a
   barra, para dizer "é do Prumo" sem gritar: ela não é erro nem alerta.
   ===================================================================== */
.avp-faixa {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 3px;
  box-sizing: border-box;
  width: calc(100% - 24px);
  margin: 12px 12px 0;
  padding: 11px 44px 11px 14px;
  background: var(--superficie);
  border: 1px solid var(--borda);
  border-left: 4px solid var(--realce);
  border-radius: var(--r);
  box-shadow: var(--sombra);
}
.avp-de {
  font: 600 10px/1 var(--mono-real);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--realce);
}
.avp-titulo { font-size: 15px; color: var(--tinta); }
.avp-corpo { font-size: 14px; line-height: 1.45; color: var(--tinta-fraca); white-space: pre-line; }
.avp-fecha {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--tinta-fraca);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.avp-fecha:active { background: var(--superficie-2); }

/* =====================================================================
   03OUT2026b — OS AJUSTES DO CAPITÃO (irmão do envelope do app)
   ===================================================================== */

/* 3) O RADAR (e a oferta dele) nunca por cima da tela trancada. O JS já
   tira os dois; isto é o cinto: o botão mora no <body>, depois do #app. */
#app.oculto ~ .rd-botao, #app.oculto ~ .rd-oferta, #app.oculto ~ #xd-faixa { display: none !important; }

/* 2) DESFAZER NO CANTO: à direita, ACIMA do "Notas" e do "+ Tarefa" —
   no primeiro print ele cobria o Notas (celular) e o + Tarefa (computador). */
.xd-canto {
  position: fixed;
  right: max(12px, env(safe-area-inset-right, 0px));
  bottom: calc(140px + env(safe-area-inset-bottom, 0px));
  z-index: 71;
  width: min(280px, calc(100vw - 24px));
  background: var(--tinta, #0A1A33); color: #fff;
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 10px 30px rgba(10, 26, 51, .35);
  animation: xd-entra .18s ease-out;
}
.xd-canto .xd-l { display: flex; align-items: center; gap: 10px; padding: 11px 10px 11px 14px; }
.xd-canto .xd-t { flex: 1; min-width: 0; font-size: 13.5px; line-height: 1.25; font-weight: 600; }
.xd-canto .xd-t small { display: block; opacity: .72; font-size: 12px; font-weight: 400;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.xd-canto .xd-u { flex: none; border: 0; border-radius: 10px; padding: 8px 12px; background: #fff;
  color: var(--tinta, #0A1A33); font: inherit; font-weight: 800; font-size: 13px; cursor: pointer; }
.xd-canto .xd-bar { height: 3px; background: rgba(255, 255, 255, .18); }
.xd-canto .xd-bar i { display: block; height: 3px; width: 100%; background: #7fb2ff;
  transform-origin: left; animation: xd-corre linear forwards; }
@keyframes xd-corre { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@keyframes xd-entra { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (min-width: 700px) { .xd-canto { right: 24px; } }
@media (prefers-reduced-motion: reduce) { .xd-canto { animation: none; } }

/* 4) O LEMBRETE POR DENTRO (rascunho 1, aprovado) */
.lb-bloco.lm-novo { border-radius: 18px; padding: 0; overflow: hidden;
  box-shadow: 0 1px 2px rgba(10,26,51,.06), 0 6px 18px rgba(10,26,51,.05); }
.lm-novo .lb-cab { padding: 12px 12px 12px 12px; gap: 12px; }
.lm-novo .lm-ic { width: 38px; height: 38px; border-radius: 12px; background: var(--azul-claro);
  display: flex; align-items: center; justify-content: center; font-size: 19px; flex: none; }
.lm-novo .lb-tit { flex: 1; min-width: 0; }
.lm-novo .lb-tit b { display: block; font-size: 16px; }
.lm-novo .lb-tit b small { font-weight: 400; color: var(--tinta-fraca); font-size: 13px; }
.lm-novo .lm-resumo { display: block; font-size: 12.5px; color: var(--tinta-fraca); margin-top: 1px; font-weight: 400; }
.lm-novo .lb-sw { width: 50px; height: 30px; }
.lm-novo .lb-sw::after { width: 24px; height: 24px; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.lm-novo .lb-sw.ligado::after { left: 23px; }
.lm-novo .lb-corpo { padding: 0 10px 0; }
.lm-novo .lm-sub { font: 600 10.5px var(--mono); letter-spacing: .14em; text-transform: uppercase;
  color: var(--tinta-fraca); margin: 4px 4px 8px; }
.lm-novo .lb-linhas { margin-top: 0; gap: 6px; }
.lm-novo .lm-it { flex-wrap: nowrap; gap: 10px; background: var(--fundo); border-radius: 14px; padding: 9px 8px 9px 10px; }
.lm-novo .lm-it.lm-passou { opacity: .55; }
.lm-novo .lm-bel { width: 28px; height: 28px; border-radius: 50%; background: var(--superficie); border: 1px solid var(--borda);
  display: flex; align-items: center; justify-content: center; font-size: 13px; flex: none; }
.lm-novo .lm-q { flex: 1; min-width: 0; }
.lm-novo .lm-q b { display: block; font-size: 15px; }
.lm-novo .lm-q small { display: block; font-size: 12.5px; color: var(--tinta-fraca); }
.lm-novo .lm-q small:empty { display: none; }
.lm-novo .lm-hora { width: auto; max-width: 112px; min-width: 0; flex: none; border: 1px solid var(--borda); background: var(--superficie);
  border-radius: 10px; padding: 6px 8px; font: 600 14px var(--sans); font-variant-numeric: tabular-nums; }
.lm-novo .lb-x { width: 30px; height: 30px; border: 0; background: transparent; font-size: 17px; }
.lm-novo .lm-chips { display: flex; gap: 6px; overflow-x: auto; padding: 10px 0 4px; -webkit-overflow-scrolling: touch; }
.lm-novo .lm-chip { flex: none; border: 1px dashed var(--borda-forte); border-radius: 999px; padding: 7px 12px;
  font: inherit; font-size: 13.5px; font-weight: 600; color: var(--latao); background: var(--superficie);
  white-space: nowrap; cursor: pointer; }
.lm-novo .lm-cheio { font-size: 12.5px; color: var(--tinta-fraca); padding: 4px; }
.lm-novo .lm-custom { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13.5px;
  background: var(--fundo); border-radius: 14px; padding: 10px; margin-top: 6px; }
.lm-novo .lm-custom.oculto { display: none; }
.lm-novo .lm-custom .lm-n { width: 60px; }
.lm-novo .lm-custom .lm-u, .lm-novo .lm-custom .lm-h { width: auto; }
.lm-novo .lm-ok { border: 0; border-radius: 10px; background: var(--azul); color: #fff; font: inherit; font-weight: 700; padding: 8px 14px; cursor: pointer; }
.lm-novo .lm-erro { flex-basis: 100%; color: var(--vermelho); }
.lm-novo .lm-erro.oculto { display: none; }
.lm-novo .lb-para { margin-top: 0; padding: 0 2px; }
.lm-novo .lb-para-tit { display: none; }   /* o título "Quem recebe" já está no lm-sub */
.lm-novo .lb-quem, .lm-novo .lb-mais { min-height: 34px; padding: 5px 13px; font-weight: 500; background: var(--superficie); }
.lm-novo .lb-quem.marcado { background: var(--verde-claro); border-color: var(--verde); color: #0f3d2e; font-weight: 700; }
.lm-novo .lb-mais { color: var(--latao); font-weight: 600; }
.lm-novo .lm-prox { margin: 12px -10px 0; padding: 11px 14px; background: linear-gradient(90deg, #eaf1fb, #f4f8fd);
  border-top: 1px solid var(--borda); font-size: 13.5px; display: flex; gap: 8px; align-items: center; }
.lm-novo .lm-prox b { color: var(--azul); }
.lm-novo .lm-prox.lm-prox-fraco { color: var(--tinta-fraca); }
.lm-novo .lm-prox.oculto { display: none; }

/* 6) INSTALAR o app */
.inst-passo { font-size: 14px; background: var(--azul-claro); border-radius: 12px; padding: 10px 12px; margin: 6px 0 10px; }
.inst-lista { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.inst-item { border: 1px solid var(--borda); border-radius: 12px; padding: 9px 12px; font-size: 13.5px; line-height: 1.45; }
.inst-item .inst-nome { display: block; font-size: 14px; margin-bottom: 2px; }

/* =====================================================================
   04OUT2026 — O EVENTO COM PERÍODO (irmão do envelope do app, 20261003c)
   ===================================================================== */
.evp-caixa { border: 1px solid var(--borda); border-radius: 16px; overflow: hidden; background: var(--superficie); }
.evp-linha { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; min-height: 52px; }
.evp-linha + .evp-linha { border-top: 1px solid var(--borda); }
.evp-k { color: var(--tinta-fraca); font-size: 14px; flex: none; min-width: 64px; }
.evp-linha:first-child .evp-k { color: var(--tinta); font-size: 15px; }
.evp-v { display: flex; gap: 6px; flex: 1; justify-content: flex-end; flex-wrap: wrap; }
.evp-v input { width: auto; min-width: 0; background: var(--fundo); border: 1px solid transparent; border-radius: 10px;
  padding: 8px 10px; font-weight: 600; font-variant-numeric: tabular-nums; }
.evp-v input[type="date"] { flex: 1 1 140px; max-width: 180px; }
.evp-v input[type="time"] { flex: 0 1 104px; }
.evp-v input.oculto { display: none; }
.evp-sw { width: 50px; height: 30px; }
.evp-sw::after { width: 24px; height: 24px; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.evp-sw.ligado::after { left: 23px; }
.evp-resumo { padding: 9px 12px; background: var(--azul-claro); color: var(--azul); font-size: 13px; font-weight: 600; }
.evp-resumo:empty { display: none; }
.evp-resumo.evp-torto { background: var(--vermelho-claro); color: var(--vermelho); }
/* o rótulo do período no cartão ("14 → 16 OUT · 3 dias", "dia 2 de 3") */
.evp-tag { font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .06em;
  background: var(--superficie-2); color: var(--latao); border-radius: 6px; padding: 2px 6px; white-space: nowrap; }
/* a faixa que atravessa os dias no calendário dos Eventos */
.evt-dia { position: relative; }
.evp-faixa { position: absolute; left: -2px; right: -2px; bottom: 3px; height: 5px; opacity: .9; pointer-events: none; }
.evp-f-ini { left: 4px; border-radius: 3px 0 0 3px; }   /* -2px: cobre o vão da grade, a faixa fica contínua */
.evp-f-fim { right: 4px; border-radius: 0 3px 3px 0; }
.evp-f-so { left: 4px; right: 4px; border-radius: 3px; }


/* =====================================================================
   ENVELOPE 06OUT2026 — A ENTRADA NOVA E O FIM DO SELO BETA (20261006a)

   Pedido do Capitao: "tirar logo o beta de tudo" e atualizar a tela de
   entrar, que ainda tinha a pena desenhada de 30AGO. Ele escolheu a
   PROPOSTA B do rascunho (06OUT): faixa azul com a pena branca no alto, o
   formulario numa folha clara que sobe por cima da faixa. A mesma pena do
   icone do app e do fim da pagina de vendas.

   - A faixa usa o AZUL ESCRITO, nao var(--azul): no Prumo da casa o --azul
     vira verde, e a porta de entrada e do produto, nao de um espaco.
   - A pena e a arte do Capitao (331 px, WebP), EMBUTIDA aqui como data:
     o app abre sem sinal, e um arquivo novo pediria entrar no ARQUIVOS do
     sw.js e na lista do PUBLICAR-MARCA (sai de um, sai dos tres).
   - As outras telas de entrada (definir senha, PIN, cadastro, escolha do
     Prumo, digital) ganham a pena nova AZUL ao lado do nome, por ::before.
   - O selo "beta" some de todas: display:none no .marca-beta.
   ===================================================================== */
.marca-beta { display: none !important; }

#tela-entrar.ent-b {
  display: block;
  padding: 0;
  min-height: 100dvh;
  background: #F4F7FC;
}
.ent-cabeca {
  background: radial-gradient(120% 90% at 50% 8%, #1D4E8F 0%, #0F2A50 58%, #0A1F3C 100%);
  color: #fff;
  text-align: center;
  padding: calc(48px + env(safe-area-inset-top, 0px)) 24px 58px;
}
.ent-pena {
  display: block;
  width: 112px; height: 108px;
  margin: 0 auto 12px;
  background: url("data:image/webp;base64,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") center / contain no-repeat;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.35));
}
#tela-entrar .entrada-marca { flex-direction: column; gap: 0; margin: 0; }
#tela-entrar .marca-nome {
  color: #fff; font-family: var(--sans);
  font-size: 28px; font-weight: 800;
  letter-spacing: .32em; padding-left: .32em;   /* o espaco largo nao pode puxar o nome para a esquerda */
}
#tela-entrar .entrada-sub {
  color: rgba(255,255,255,.84);
  font-family: var(--sans); font-size: 15px;
  letter-spacing: 0; text-transform: none;
  margin: 8px 0 0;
}
#tela-entrar .entrada-caixa {
  position: relative;
  max-width: 460px;
  margin: -26px auto 0;
  background: #F4F7FC;
  border: 0;
  border-radius: 26px 26px 0 0;
  box-shadow: none;
  padding: 28px 24px calc(28px + env(safe-area-inset-bottom, 0px));
}
@media (min-width: 560px) {
  #tela-entrar .entrada-caixa {
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 1px 2px rgba(10,26,51,.08), 0 10px 30px rgba(10,26,51,.10);
    margin: -34px auto 40px;
    padding: 30px 32px;
  }
}
#tela-entrar .campo { margin-bottom: 16px; }
#tela-entrar .campo label {
  font-family: var(--sans); font-size: 14px; font-weight: 600;
  letter-spacing: 0; text-transform: none;
  color: var(--tinta-fraca); margin-bottom: 6px;
}
#tela-entrar .campo input { height: 50px; border-width: 1.5px; border-radius: 12px; }
.ent-senha-caixa { position: relative; }
#tela-entrar .ent-senha-caixa input { padding-right: 50px; }
.ent-olho {
  position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
  width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: 10px; background: none;
  color: var(--tinta-fraca); cursor: pointer;
}
.ent-olho[aria-pressed="true"] { color: #0F2A50; background: #DCE7F7; }
.ent-olho:focus-visible { outline: 2px solid #1D4E8F; outline-offset: 1px; }
#tela-entrar .ent-esqueci {
  width: fit-content; margin: -6px 0 16px auto; padding: 4px 2px;
  text-align: right; text-decoration: none;
  font-weight: 600; font-size: 14px; color: #1D4E8F;
}
#tela-entrar #btn-entrar {
  height: 54px; border-radius: 14px;
  font-size: 17px; font-weight: 700;
  background: linear-gradient(180deg, #16355F 0%, #0F2A50 100%);
  border-color: #0F2A50;
}
.ent-ou {
  display: flex; align-items: center; gap: 10px;
  color: var(--tinta-fraca); font-size: 13px;
  margin: 26px 0 14px;
}
.ent-ou::before, .ent-ou::after { content: ""; flex: 1; height: 1px; background: var(--borda); }
#tela-entrar .ent-criar {
  width: 100%; height: 54px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: #fff; color: #0F2A50;
  border: 1.5px solid #0F2A50;
  font-size: 17px; font-weight: 700;
}
.ent-criar-dias { font-size: 12.5px; font-weight: 500; opacity: .78; }
.ent-criar-dias[hidden] { display: none; }
.ent-pe {
  text-align: center; font-size: 14px; line-height: 1.5;
  color: var(--tinta-fraca); margin: 18px 0 0;
}
#tela-entrar .ent-primeiro {
  display: inline; width: auto; margin: 0; padding: 0;
  font-size: 14px; font-weight: 600; color: #1D4E8F; text-decoration: none;
}
/* Aberta a ajuda, o botao diz "Fechar": a pergunta antes dele some. */
.ent-pe:has(#btn-primeiro[aria-expanded="true"]) .ent-pe-q { display: none; }
#tela-entrar .ajuda-primeiro { text-align: left; }

/* As outras telas de entrada: a pena nova, azul, ao lado do nome. */
.entrada:not(#tela-entrar) .entrada-marca::before {
  content: "";
  flex: none;
  width: 34px; height: 33px;
  background: url("data:image/webp;base64,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") center / contain no-repeat;
}

/* 11OUT2026 (carimbo 20261011a) - a pergunta das notificações (rascunho de
   03OUT, telas A e B). O molde da pergunta da digital: cartão por baixo,
   abaixo da digital (9980) e da virada de faixa (9970) — e o código nem a
   abre com elas na tela. */
#apn-pergunta { position: fixed; inset: 0; z-index: 9960; background: rgba(15,23,42,.55);
  display: flex; align-items: flex-end; justify-content: center; padding: 16px; }
.apn-caixa { background: var(--superficie, #fff); color: inherit; max-width: 480px; width: 100%;
  border-radius: 16px; padding: 18px 20px; font-size: 14.5px; line-height: 1.5;
  max-height: calc(100vh - 32px); overflow-y: auto; }
.apn-caixa h2 { margin: 0 0 8px; font-size: 19px; line-height: 1.25; }
.apn-caixa p { margin: 0 0 8px; }
.apn-sino { width: 56px; height: 56px; border-radius: 18px; background: #DCE7F7;
  display: grid; place-items: center; margin: 2px 0 12px; }
.apn-sino svg { width: 28px; height: 28px; fill: none; stroke: #1D4E8F; stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round; }
.apn-lista { margin: 0 0 10px; padding: 0; list-style: none; }
.apn-lista li { display: flex; gap: 8px; margin: 6px 0; }
.apn-lista li::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%;
  background: #1D4E8F; margin-top: 8px; }
.apn-passos { margin: 4px 0 12px; padding-left: 20px; }
.apn-passos li { margin: 6px 0; }
.apn-caixa .botoes { margin-top: 12px; }


/* =====================================================================
   15OUT2026 — carimbo 20261015a — O QUADRO DE AVISOS (`.qa-*`)
   A faixa âmbar entre a barra do espaço e a Agenda; aberta, o quadro
   branco com os papéis coloridos, dois por linha; a folha por baixo para
   colar, editar e ver. Desenho: claude/rascunho-quadro-avisos-11out.png.
   ===================================================================== */
.qa-faixa {
  width: calc(100% - 24px);
  margin: 8px 12px 0;
  background: var(--ambar-claro);
  border: 1px solid #EAD2A4;
  border-left: 4px solid var(--ambar);
  border-radius: var(--r);
  box-shadow: 0 1px 2px rgba(10, 26, 51, .06);
  color: var(--tinta);
  overflow: hidden;
}
.qa-faixa.qa-vazio:not(.qa-aberto) { background: var(--superficie); border-color: var(--borda-forte); border-left-color: #EAD2A4; }
.qa-faixa + .agd-barra { margin-top: 8px; }

.qa-cab {
  display: flex; align-items: center; gap: 9px;
  width: 100%; padding: 10px 12px; min-height: 46px;
  background: none; border: 0; text-align: left; font: inherit; color: inherit; cursor: pointer;
}
.qa-cab-vazio { cursor: default; padding: 6px 8px 6px 12px; min-height: 40px; }
.qa-ico { flex: none; font-size: 16px; line-height: 1; }
.qa-ponto { flex: none; width: 12px; height: 12px; border-radius: 3px; border: 1px solid rgba(10, 26, 51, .18); }
.qa-tit { flex: 1; min-width: 0; font-size: 15px; font-weight: 700; }
.qa-tit-fraco { font-weight: 600; color: var(--tinta-fraca); font-size: 14px; }
.qa-resumo {
  flex: 1; min-width: 0; font-size: 14.5px; font-weight: 600;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.qa-conta {
  flex: none; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 12px;
  background: var(--ambar); color: #fff; font-family: var(--mono); font-size: 12.5px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}
.qa-seta { flex: none; color: var(--ambar); font-size: 12px; }
.qa-colar-mini {
  flex: none; margin-left: auto; padding: 7px 12px; border-radius: 999px;
  background: var(--ambar-claro); border: 1px dashed var(--ambar); color: #7A4F0E;
  font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
}

.qa-aberto { background: var(--superficie); }
.qa-aberto .qa-cab { background: var(--ambar-claro); border-bottom: 1px solid #EAD2A4; }
.qa-mural {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px;
  padding: 10px;
}
@media (min-width: 720px) { .qa-mural { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .qa-mural { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.qa-papel {
  display: flex; flex-direction: column; justify-content: space-between; gap: 10px;
  min-height: 108px; padding: 11px 11px 9px;
  border: 0; border-radius: 6px; text-align: left; font: inherit; color: var(--tinta); cursor: pointer;
  box-shadow: 0 1px 2px rgba(10, 26, 51, .10), 0 3px 8px rgba(10, 26, 51, .06);
}
.qa-papel:active { transform: translateY(1px); }
.qa-texto {
  font-size: 14.5px; line-height: 1.32; overflow-wrap: anywhere;
  display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden;
}
.qa-rodape {
  font-family: var(--mono); font-size: 10px; letter-spacing: .06em; line-height: 1.35;
  color: rgba(10, 26, 51, .62); text-transform: uppercase;
}
.qa-pino { margin-right: 3px; }
.qa-pend { color: #8A4B0B; font-weight: 700; }
.qa-pendente { outline: 2px dashed rgba(181, 119, 26, .55); outline-offset: -2px; }
.qa-fixado { box-shadow: 0 0 0 2px rgba(181, 119, 26, .55), 0 3px 8px rgba(10, 26, 51, .08); }

.qa-c-amarelo { background: #FCEFC7; }
.qa-c-verde   { background: #DDF0E5; }
.qa-c-azul    { background: #DCE7F7; }
.qa-c-rosa    { background: #F9DEDC; }

.qa-nada { grid-column: 1 / -1; margin: 6px 2px; color: var(--tinta-fraca); font-size: 14px; }
.qa-aviso-rede { margin: 0 12px 6px; font-size: 12.5px; color: #8A4B0B; }
.qa-colar {
  display: block; width: calc(100% - 20px); margin: 0 10px 10px; padding: 12px;
  background: none; border: 1.5px dashed var(--ambar); border-radius: 8px;
  color: #7A4F0E; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer;
}

/* a folha — por baixo, no molde da pergunta das notificações */
#qa-folha { position: fixed; inset: 0; z-index: 9950; background: rgba(15, 23, 42, .55);
  display: flex; align-items: flex-end; justify-content: center; padding: 16px; }
.qa-caixa { background: var(--superficie, #fff); color: var(--tinta); max-width: 480px; width: 100%;
  border-radius: 16px; padding: 18px 18px 16px; font-size: 14.5px; line-height: 1.45;
  max-height: calc(100vh - 32px); overflow-y: auto; box-shadow: 0 10px 40px rgba(10, 26, 51, .25); }
.qa-caixa h2 { margin: 0 0 10px; font-size: 19px; }
.qa-campo { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid var(--borda-forte);
  border-radius: 10px; font: inherit; font-size: 16px; color: var(--tinta); background: var(--superficie); resize: vertical; }
.qa-contador { margin: 4px 0 0; text-align: right; font-family: var(--mono); font-size: 11.5px; color: var(--tinta-fraca); }
.qa-contador-cheio { color: #A3261B; font-weight: 700; }
.qa-rot { margin: 12px 0 6px; font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-fraca); }
.qa-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.qa-chip { padding: 8px 13px; border-radius: 999px; border: 1px solid var(--borda-forte);
  background: var(--superficie); color: var(--tinta); font: inherit; font-size: 14px; cursor: pointer; }
.qa-chip[aria-pressed="true"] { background: var(--tinta); color: #fff; border-color: var(--tinta); }
.qa-chip-cor[aria-pressed="true"] { color: var(--tinta); background-clip: padding-box;
  box-shadow: 0 0 0 2px var(--tinta); border-color: transparent; font-weight: 700; }
.qa-chip-cor.qa-c-amarelo { background: #FCEFC7; } .qa-chip-cor.qa-c-verde { background: #DDF0E5; }
.qa-chip-cor.qa-c-azul { background: #DCE7F7; }   .qa-chip-cor.qa-c-rosa { background: #F9DEDC; }
.qa-data { margin-top: 8px; }
.qa-fixar-linha { display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-top: 14px; padding: 10px 0 2px; border-top: 1px solid var(--borda-forte, #d6deea); cursor: pointer; }
.qa-fixar-linha small { display: block; font-size: 12px; color: var(--tinta-fraca); }
/* a caixa de marcar se VESTE de interruptor, como as chavinhas dos avisos */
.qa-fixar-linha input {
  -webkit-appearance: none; appearance: none; flex: none; margin: 0;
  width: 46px; height: 28px; border-radius: 999px; cursor: pointer;
  background: radial-gradient(circle 11px at 14px 50%, #fff 95%, transparent 100%) no-repeat, var(--borda-forte);
  transition: background .15s;
}
.qa-fixar-linha input:checked {
  background: radial-gradient(circle 11px at 32px 50%, #fff 95%, transparent 100%) no-repeat, var(--verde);
}
.qa-fixar-linha input:focus-visible { outline: 2px solid var(--latao); outline-offset: 2px; }
.qa-erro { margin: 10px 0 0; color: #A3261B; font-size: 13.5px; }
.qa-botoes { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.qa-botoes-par { flex-direction: row; }
.qa-botoes-par .btn { flex: 1; }
.qa-tirar { color: #A3261B; }
.qa-fechar { width: 100%; margin-top: 8px; }
.qa-ver { border-radius: 8px; padding: 14px; box-shadow: 0 1px 2px rgba(10, 26, 51, .10); }
.qa-ver-texto { margin: 0; font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; white-space: pre-wrap; }
.qa-ver-quem { margin: 10px 0 0; font-size: 13px; color: var(--tinta-fraca); }
.qa-ver-prazo { margin: 2px 0 0; font-size: 13px; color: var(--tinta-fraca); }

/* =====================================================================
   16OUT2026 — carimbo 20261016a — O GUIA DO PRUMO (irmão do envelope
   "O GUIA DO PRUMO" no fim do app-v8.js). Tokens da casa: --azul, --latao,
   --verde, --ambar, --borda, --tinta…  Prefixo `gd-` em TUDO: o app tem
   classes globais curtas (o `.novo` é o + Tarefa, position:fixed) — no
   rascunho, o segmento "novo" virou um botão azul flutuante.
   ===================================================================== */
:root { --gd-h: 84px; --gd-sombra: 0 14px 34px -10px rgba(10,26,51,.34), 0 2px 8px rgba(10,26,51,.08); }

/* ------------------------------------------------ a faixa (o mini-player) */
.gd-faixa {
  position: fixed; z-index: 44;
  left: 50%; transform: translateX(-50%);
  bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  width: min(620px, calc(100% - 20px));
  background: var(--superficie);
  border: 1px solid rgba(15,42,80,.10);
  border-radius: 18px;
  box-shadow: var(--gd-sombra);
  padding: 9px 40px 10px 10px;
  box-sizing: border-box;
  transition: background .35s, border-color .35s;
}
.gd-faixa-corpo {
  display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 10px;
  width: 100%; border: 0; background: none; padding: 0; text-align: left; cursor: pointer; color: inherit; font: inherit;
}
.gd-pena {
  width: 36px; height: 36px; border-radius: 11px; display: block;
  background: url('pena-branca.png') center / 22px no-repeat, linear-gradient(140deg, #163B6E, var(--azul) 60%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.gd-faixa-txt { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gd-faixa-rot {
  font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--tinta-fraca); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.gd-faixa-tit {
  font-size: 15px; font-weight: 650; color: var(--tinta); letter-spacing: -.005em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.gd-faixa-conta {
  font-family: var(--mono); font-size: 12px; letter-spacing: .06em; color: var(--azul); font-weight: 700;
  background: var(--superficie-2); border-radius: 999px; padding: 3px 8px;
}
.gd-segs { display: flex; gap: 4px; margin: 9px 0 0 46px; }
.gd-segs i {
  flex: 1; height: 6px; border-radius: 999px; background: #E2E9F4; position: relative; overflow: hidden;
}
.gd-segs i::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--azul);
  transform: scaleX(0); transform-origin: left; transition: transform .7s cubic-bezier(.2,.8,.2,1);
}
.gd-segs i.gd-ok::after { transform: scaleX(1); }
.gd-segs i.gd-agora { background: #D4E0F2; }
.gd-segs i.gd-agora::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  background: linear-gradient(90deg, transparent, rgba(29,78,143,.45), transparent);
  animation: gd-brilho 1.8s ease-in-out infinite;
}
.gd-segs i.gd-novo::after { animation: gd-enche .9s cubic-bezier(.2,.8,.2,1) both; }
@keyframes gd-brilho { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
@keyframes gd-enche { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.gd-faixa-x {
  position: absolute; top: 6px; right: 6px; width: 30px; height: 30px; border-radius: 50%;
  border: 0; background: transparent; color: var(--tinta-fraca); font-size: 20px; line-height: 1; cursor: pointer;
}
.gd-faixa-x:hover { background: var(--superficie-2); }

/* a festa do passo e da fase */
.gd-faixa.gd-festa-passo .gd-faixa-rot { color: var(--verde); font-weight: 700; }
.gd-faixa.gd-festa-passo .gd-pena,
.gd-faixa.gd-festa-fase .gd-pena,
.gd-faixa.gd-completo .gd-pena {
  background: linear-gradient(140deg, #23946F, var(--verde));
  animation: gd-pulo .5s cubic-bezier(.2,1.6,.4,1);
}
.gd-faixa.gd-festa-passo .gd-pena::after,
.gd-faixa.gd-festa-fase .gd-pena::after,
.gd-faixa.gd-completo .gd-pena::after {
  content: "✓"; display: flex; align-items: center; justify-content: center; height: 100%;
  color: #fff; font-size: 22px; font-weight: 800;
}
.gd-faixa.gd-festa-fase, .gd-faixa.gd-completo { background: var(--verde-claro); border-color: rgba(28,122,91,.35); }
.gd-faixa.gd-festa-fase .gd-faixa-rot, .gd-faixa.gd-completo .gd-faixa-rot { color: var(--verde); font-weight: 700; }
.gd-faixa.gd-festa-fase .gd-segs i::after, .gd-faixa.gd-completo .gd-segs i::after { background: var(--verde); }
.gd-faixa.gd-festa-fase .gd-faixa-conta, .gd-faixa.gd-completo .gd-faixa-conta { background: #fff; color: var(--verde); }
@keyframes gd-pulo { 0% { transform: scale(.6); } 100% { transform: scale(1); } }

/* a novidade (função nova): a faixa volta em âmbar */
.gd-faixa.gd-novidade { border-color: rgba(181,119,26,.45); background: linear-gradient(180deg, #FFF9EE, var(--superficie) 70%); }
.gd-faixa.gd-novidade .gd-faixa-rot { color: #8A5A12; font-weight: 700; }
.gd-faixa.gd-novidade .gd-pena { background: url('pena-branca.png') center / 22px no-repeat, linear-gradient(140deg, #C98A2B, var(--ambar)); }
.gd-faixa.gd-novidade .gd-segs i.gd-agora { background: #F3E2C2; }
.gd-faixa.gd-novidade .gd-segs i.gd-agora::before { background: linear-gradient(90deg, transparent, rgba(181,119,26,.5), transparent); }

/* OS QUE FLUTUAM SOBEM O TANTO DA FAIXA — no celular. No computador a
   faixa vira cartão no canto esquerdo: lá só o Radar (que mora no mesmo
   canto) e a oferta dele precisam subir. */
@media (max-width: 899px) {
  body.gd-com-faixa .novo { bottom: calc(18px + env(safe-area-inset-bottom) + var(--gd-h)); }
  body.gd-com-faixa .btn-notas { bottom: calc(18px + env(safe-area-inset-bottom) + 58px + var(--gd-h)); }
  body.gd-com-faixa .rd-botao { bottom: calc(18px + env(safe-area-inset-bottom) + var(--gd-h)); }
  body.gd-com-faixa .rd-oferta { bottom: calc(76px + env(safe-area-inset-bottom) + var(--gd-h)); }
  body.gd-com-faixa .xd-faixa, body.gd-com-faixa .vigia-nova { bottom: calc(16px + env(safe-area-inset-bottom, 0px) + var(--gd-h)); }
  body.gd-com-faixa .xd-canto { bottom: calc(140px + env(safe-area-inset-bottom, 0px) + var(--gd-h)); }
  /* com o guia na tela, a missão da lista vazia não repete o botão: o
     caminho é o + Tarefa, que o guia acende */
  body.gd-com-faixa #missao-primeira { display: none; }
}
/* a lista rola até sair de baixo da faixa (no computador também: o cartão
   do canto cobre a ponta esquerda da lista em telas até ~1600 px) */
body.gd-com-faixa .pagina { padding-bottom: calc(92px + var(--gd-h)); }
@media (min-width: 900px) {
  .gd-faixa { left: 18px; transform: none; width: 360px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); }
  body.gd-com-faixa .rd-botao { bottom: calc(26px + env(safe-area-inset-bottom) + var(--gd-h)); }
  body.gd-com-faixa .rd-oferta { bottom: calc(76px + env(safe-area-inset-bottom) + var(--gd-h)); }
}

/* ------------------------------------------------------------ a folha */
.gd-veu {
  position: fixed; inset: 0; z-index: 9400; background: rgba(10,22,42,.46);
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  animation: gd-aparece .2s ease-out;
}
.gd-folha {
  position: fixed; z-index: 9401; left: 50%; transform: translateX(-50%); bottom: 0;
  width: min(640px, 100%); max-height: 92vh; overflow-y: auto; overscroll-behavior: contain;
  background: var(--fundo); border-radius: 24px 24px 0 0;
  box-shadow: 0 -14px 44px rgba(10,26,51,.28);
  padding: 0 0 calc(18px + env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
  animation: gd-sobe .28s cubic-bezier(.2,.8,.2,1);
}
@keyframes gd-sobe { from { transform: translate(-50%, 30px); opacity: .4; } to { transform: translate(-50%, 0); opacity: 1; } }
@keyframes gd-aparece { from { opacity: 0; } to { opacity: 1; } }
@media (min-width: 700px) {
  .gd-folha { bottom: auto; top: 50%; transform: translate(-50%, -50%); border-radius: 24px; max-height: 88vh; animation: gd-aparece .2s ease-out; }
  .gd-hero { border-radius: 24px 24px 0 0; }
}
.gd-alca { width: 42px; height: 5px; border-radius: 999px; background: rgba(255,255,255,.55); position: absolute; top: 8px; left: 50%; margin-left: -21px; z-index: 2; }

.gd-hero {
  position: relative; overflow: hidden; color: #fff; padding: 22px 20px 18px;
  background: radial-gradient(120% 140% at 100% 0%, #2A5FA6 0%, rgba(42,95,166,0) 55%), linear-gradient(150deg, #163B6E 0%, var(--azul) 70%);
  border-radius: 24px 24px 0 0;
}
.gd-hero::after {
  content: ""; position: absolute; right: -26px; bottom: -34px; width: 170px; height: 170px;
  background: url('pena-branca.png') center / contain no-repeat; opacity: .07; transform: rotate(-8deg);
}
.gd-hero-topo { display: flex; align-items: center; gap: 10px; }
.gd-pena-hero { width: 30px; height: 30px; border-radius: 9px; background: url('pena-branca.png') center / 19px no-repeat, rgba(255,255,255,.14); }
.gd-hero-rot { font-family: var(--mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; opacity: .85; flex: 1; }
.gd-fechar {
  width: 36px; height: 36px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(255,255,255,.14); color: #fff; font-size: 22px; line-height: 1;
}
.gd-hero h2 { margin: 16px 0 6px; font-size: 23px; line-height: 1.2; letter-spacing: -.01em; font-weight: 750; position: relative; z-index: 1; color: #fff; }
.gd-hero p { margin: 0; font-size: 14.5px; line-height: 1.5; opacity: .9; max-width: 34em; position: relative; z-index: 1; }
.gd-hero-prog { display: flex; align-items: center; gap: 12px; margin-top: 16px; position: relative; z-index: 1; }
.gd-hero-barra { flex: 1; height: 8px; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; }
.gd-hero-barra i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #9CC2F2, #fff); transition: width .8s cubic-bezier(.2,.8,.2,1); }
.gd-hero-prog span { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; white-space: nowrap; opacity: .92; }

.gd-aqui {
  display: flex; gap: 10px; margin: 14px 14px 0; padding: 12px 14px; border-radius: 14px;
  background: var(--superficie); border: 1px solid var(--borda); font-size: 14px;
}
.gd-aqui-pino { font-size: 18px; line-height: 1.2; }
.gd-aqui-txt { color: var(--tinta-fraca); margin-top: 3px; line-height: 1.45; }

.gd-fases { list-style: none; margin: 0; padding: 12px 14px 4px; display: flex; flex-direction: column; gap: 10px; }
.gd-fase { background: var(--superficie); border: 1px solid var(--borda); border-radius: 16px; overflow: hidden; }
.gd-fase.gd-atual { border-color: rgba(15,42,80,.30); box-shadow: 0 6px 18px -8px rgba(15,42,80,.25); }
.gd-fase-cab {
  display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 12px;
  width: 100%; padding: 14px 14px; border: 0; background: none; text-align: left; cursor: pointer; color: inherit; font: inherit;
}
.gd-fase-n {
  width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 14px; color: var(--tinta-fraca); border: 2px solid var(--borda-forte); box-sizing: border-box;
}
.gd-fase.gd-atual .gd-fase-n { background: var(--azul); border-color: var(--azul); color: #fff; }
.gd-fase.gd-feita .gd-fase-n { background: var(--verde); border-color: var(--verde); color: #fff; }
.gd-fase.gd-feita .gd-fase-n::after { content: "✓"; font-size: 16px; }
.gd-fase-txt { min-width: 0; display: flex; flex-direction: column; }
.gd-fase-txt b { font-size: 16px; color: var(--tinta); }
.gd-fase-txt small { font-size: 13px; color: var(--tinta-fraca); margin-top: 1px; }
.gd-fase-conta { font-family: var(--mono); font-size: 12px; font-weight: 700; color: var(--tinta-fraca); }
.gd-fase.gd-atual .gd-fase-conta { color: var(--azul); }
.gd-fase.gd-feita .gd-fase-conta { color: var(--verde); }

.gd-passos { list-style: none; margin: 0; padding: 0 8px 8px; display: none; }
.gd-fase.gd-aberta .gd-passos { display: block; }
.gd-passo { border-radius: 12px; }
.gd-passo + .gd-passo { margin-top: 2px; }
.gd-passo-cab {
  display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 12px;
  width: 100%; min-height: 48px; padding: 8px 8px; border: 0; background: none; text-align: left; cursor: pointer; color: inherit; font: inherit;
}
.gd-check {
  width: 24px; height: 24px; border-radius: 50%; border: 2px solid #B6C5DB; background: #fff;
  display: flex; align-items: center; justify-content: center; box-sizing: border-box;
}
.gd-passo.gd-feito .gd-check { background: var(--azul); border-color: var(--azul); }
.gd-passo.gd-feito .gd-check::after { content: ""; width: 10px; height: 6px; border: solid #fff; border-width: 0 0 2.5px 2.5px; transform: translateY(-1px) rotate(-45deg); }
.gd-passo.gd-falta-aqui .gd-check { background: #fff; border-color: var(--ambar); }
.gd-passo.gd-falta-aqui .gd-check::after { content: "!"; width: auto; height: auto; border: 0; transform: none; color: var(--ambar); font-weight: 800; font-size: 13px; }
.gd-passo.gd-pulado .gd-check { border-style: dashed; border-color: var(--borda-forte); }
.gd-passo.gd-pulado .gd-check::after { content: "↷"; font-size: 13px; color: var(--tinta-fraca); }
.gd-passo.gd-agora .gd-check { border-color: var(--azul); box-shadow: 0 0 0 4px rgba(15,42,80,.10); }
.gd-passo-tit { font-size: 15px; color: var(--tinta); font-weight: 560; line-height: 1.3; }
.gd-passo.gd-feito .gd-passo-tit, .gd-passo.gd-pulado .gd-passo-tit { color: var(--tinta-fraca); font-weight: 500; }
.gd-min {
  font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--tinta-fraca); background: var(--superficie-2); border-radius: 999px; padding: 3px 8px; white-space: nowrap;
}
.gd-passo-corpo { display: none; padding: 0 10px 14px 44px; }
.gd-passo.gd-aberto { background: #F3F7FD; box-shadow: inset 3px 0 0 var(--azul); }
.gd-passo.gd-feito.gd-aberto, .gd-passo.gd-pulado.gd-aberto { box-shadow: inset 3px 0 0 var(--borda-forte); background: #F7F9FC; }
.gd-passo.gd-aberto .gd-passo-corpo { display: block; }
.gd-passo-corpo p { margin: 0 0 12px; font-size: 14px; line-height: 1.55; color: #33476A; }
.gd-quando { display: block; margin: -4px 0 10px; font-family: var(--mono); font-size: 11px; letter-spacing: .06em; color: var(--verde); text-transform: uppercase; }
.gd-passo.gd-falta-aqui .gd-quando { color: #8A5A12; }
.gd-quando-pulado { color: var(--tinta-fraca); }
.gd-passo-acoes { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

.gd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 18px; border: 0; border-radius: 12px; cursor: pointer;
  background: var(--azul); color: #fff; font: inherit; font-size: 15px; font-weight: 650;
  box-shadow: 0 6px 16px -6px rgba(15,42,80,.6);
}
.gd-btn:active { transform: translateY(1px); }
.gd-btn-grande { width: 100%; min-height: 52px; font-size: 16px; border-radius: 14px; }
.gd-btn-mini { min-height: 36px; padding: 0 14px; font-size: 14px; border-radius: 10px; }
.gd-btn-sec { background: var(--superficie); color: var(--azul); box-shadow: inset 0 0 0 1.5px var(--borda-forte); }
.gd-btn-perigo { background: var(--vermelho); box-shadow: 0 6px 16px -8px rgba(191,59,46,.7); }
.gd-alvo-ic { width: 16px; height: 16px; border-radius: 50%; border: 2px solid currentColor; position: relative; box-sizing: border-box; }
.gd-alvo-ic::after { content: ""; position: absolute; left: 50%; top: 50%; width: 4px; height: 4px; margin: -2px; border-radius: 50%; background: currentColor; }
.gd-elo { border: 0; background: none; padding: 6px 2px; cursor: pointer; color: var(--latao); font: inherit; font-size: 14.5px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(29,78,143,.35); }

.gd-pe { text-align: center; padding: 16px 20px 6px; }
.gd-pe .gd-elo { color: var(--tinta-fraca); font-weight: 500; }
.gd-pe small { display: block; margin-top: 2px; font-size: 12px; color: var(--tinta-fraca); opacity: .85; }

/* as boas-vindas */
.gd-hero-bv { padding-top: 26px; padding-bottom: 22px; }
.gd-hero-bv h2 { font-size: 27px; }
.gd-bv-fases { list-style: none; margin: 0; padding: 16px 18px 6px; display: flex; flex-direction: column; gap: 8px; }
.gd-bv-fases li { display: flex; align-items: center; gap: 13px; background: var(--superficie); border: 1px solid var(--borda); border-radius: 14px; padding: 11px 13px; }
.gd-bv-n { width: 30px; height: 30px; flex: none; border-radius: 50%; background: var(--superficie-2); color: var(--azul); font-weight: 800; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.gd-bv-fases li:first-child .gd-bv-n { background: var(--azul); color: #fff; }
.gd-bv-fases b { display: block; font-size: 15px; }
.gd-bv-fases small { display: block; font-size: 12.5px; color: var(--tinta-fraca); }
.gd-bv-acoes { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 18px 4px; }

/* -------------------------------------------------------- não quero */
.gd-confirma {
  position: fixed; inset: 0; z-index: 9600; background: rgba(10,22,42,.5);
  display: flex; align-items: flex-end; justify-content: center; animation: gd-aparece .18s ease-out;
}
.gd-confirma-caixa {
  width: min(520px, 100%); background: var(--superficie); border-radius: 22px 22px 0 0; box-sizing: border-box;
  padding: 22px 20px calc(20px + env(safe-area-inset-bottom, 0px)); animation: gd-sobe2 .24s cubic-bezier(.2,.8,.2,1);
}
@media (min-width: 700px) { .gd-confirma { align-items: center; } .gd-confirma-caixa { border-radius: 22px; } }
@keyframes gd-sobe2 { from { transform: translateY(24px); opacity: .5; } to { transform: none; opacity: 1; } }
.gd-confirma-caixa h3 { margin: 0 0 8px; font-size: 19px; color: var(--tinta); }
.gd-confirma-caixa p { margin: 0 0 18px; font-size: 14.5px; line-height: 1.5; color: #33476A; }
.gd-confirma-acoes { display: flex; flex-direction: column; gap: 10px; }
.gd-confirma-acoes .gd-btn { width: 100%; min-height: 50px; }

/* -------------------------------------------------------- o destaque */
.gd-foco { position: fixed; inset: 0; z-index: 9500; pointer-events: none; }
.gd-foco-bloq { position: fixed; pointer-events: auto; background: transparent; }
.gd-foco-buraco {
  position: fixed; pointer-events: none;
  box-shadow: 0 0 0 9999px rgba(8,19,38,.72), 0 0 0 3px #fff, 0 0 26px 6px rgba(140,185,255,.55);
  transition: left .25s, top .25s, width .25s, height .25s;
}
.gd-foco-anel { position: fixed; pointer-events: none; animation: gd-anel 1.6s ease-out infinite; }
@keyframes gd-anel {
  0% { box-shadow: 0 0 0 0 rgba(160,200,255,.75); }
  100% { box-shadow: 0 0 0 22px rgba(160,200,255,0); }
}
.gd-foco-espera .gd-foco-buraco { box-shadow: 0 0 0 9999px rgba(8,19,38,.6); width: 0 !important; height: 0 !important; }
.gd-foco-espera .gd-balao, .gd-foco-espera .gd-foco-anel { opacity: 0; }
.gd-foco-espera .gd-foco-bloq[data-l="t"] { inset: 0; width: auto !important; height: auto !important; }
.gd-balao {
  position: fixed; pointer-events: auto; background: var(--superficie); color: var(--tinta);
  border-radius: 16px; padding: 14px 16px 10px; box-shadow: 0 18px 40px rgba(0,0,0,.35);
  transition: left .25s, top .25s, opacity .2s; box-sizing: border-box; max-width: calc(100vw - 24px);
}
.gd-balao-rot { font-family: var(--mono); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; color: var(--latao); font-weight: 700; }
.gd-balao-tit { font-size: 18px; font-weight: 750; margin: 5px 0 4px; letter-spacing: -.01em; }
.gd-balao-txt { font-size: 14px; line-height: 1.5; color: #33476A; }
.gd-balao-pe { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.gd-balao-pe .gd-elo { font-size: 13px; color: var(--tinta-fraca); font-weight: 500; padding-left: 0; }
.gd-balao-seta { position: absolute; bottom: -7px; width: 14px; height: 14px; background: var(--superficie); transform: rotate(45deg); border-radius: 2px; }
.gd-balao.gd-baixo .gd-balao-seta { bottom: auto; top: -7px; }
.gd-foco-perdido .gd-balao { opacity: 1 !important; }
.gd-foco-perdido .gd-balao-seta { display: none; }
.gd-foco-perdido .gd-foco-buraco { box-shadow: 0 0 0 9999px rgba(8,19,38,.6); width: 0 !important; height: 0 !important; }
.gd-foco-perdido .gd-foco-bloq[data-l="t"] { inset: 0; width: auto !important; height: auto !important; }

/* -------------------------------------------------------- o confete */
.gd-confete { position: fixed; inset: 0; pointer-events: none; z-index: 9700; }
.gd-confete i {
  position: fixed; width: 7px; height: 11px; border-radius: 2px; opacity: 0;
  animation: gd-voa 1.25s cubic-bezier(.15,.7,.3,1) forwards;
}
@keyframes gd-voa {
  0% { opacity: 1; transform: translate(0,0) rotate(0); }
  75% { opacity: 1; }
  100% { opacity: 0; transform: translate(var(--dx), calc(var(--dy) + 60px)) rotate(var(--rot)); }
}
.gd-selo-novo {
  display: inline-block; vertical-align: 2px; margin-left: 6px; padding: 2px 7px; border-radius: 999px;
  background: var(--ambar-claro); color: #8A5A12; font-family: var(--mono); font-size: 9.5px; letter-spacing: .1em;
  text-transform: uppercase; font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
  .gd-segs i.gd-agora::before, .gd-foco-anel, .gd-confete, .gd-folha, .gd-veu, .gd-confirma-caixa { animation: none !important; }
  .gd-segs i::after, .gd-foco-buraco, .gd-balao { transition: none; }
}

/* =====================================================================
   20OUT2026 — carimbo 20261020a — O GUIA DO PRUMO NA CASA (irmão do
   envelope de mesmo nome no fim do app-v8.js). O guia já se pinta com
   --azul, que a pele da casa troca pelo verde; só os dois degradês que
   escreveram o azul por extenso (a pena da faixa e o alto da folha)
   ganham a linha deles aqui — o mesmo molde do bloco da casa de 07SET.
   ===================================================================== */
/* :where() zera o peso do body: a pena da festa, do completo e da novidade
   (.gd-faixa.gd-xxx .gd-pena) continua mandando, e a pena da folha
   (.gd-pena-hero, a translúcida) fica de fora */
:where(body[data-modo="familia"]) .gd-pena:not(.gd-pena-hero) {
  background: url('pena-branca.png') center / 22px no-repeat, linear-gradient(140deg, #16624C, var(--azul) 60%);
}
body[data-modo="familia"] .gd-hero {
  background: radial-gradient(120% 140% at 100% 0%, #2E9B76 0%, rgba(46,155,118,0) 55%), linear-gradient(150deg, #16624C 0%, var(--azul) 70%);
}

/* =====================================================================
   21OUT2026 (carimbo 20261021a) — O LEMBRAR É O QUE FAZ O CELULAR TOCAR
   O selo "seu padrão" no bloco do Lembrar, e a tela Meu lembrete padrão
   (Menu → Minha conta). Reaproveita o interruptor (.lb-sw), as linhas de
   interruptor (.sw-linha) e os chips (.lm-chip) que já existem.
   ===================================================================== */
.lp-selo {
  display: inline-block; margin-left: 8px; padding: 1px 7px; border-radius: 6px;
  background: var(--verde-claro); color: var(--verde);
  font-size: 11px; font-weight: 700; letter-spacing: .02em; vertical-align: 2px; text-transform: uppercase;
}
.lp-explica { font-size: 14px; margin-top: 0; color: var(--tinta-fraca); line-height: 1.45; }
.lp-explica b { color: var(--tinta); }
#lp-linhas { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.lp-sub { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-fraca); margin: 16px 0 8px; }
.lp-linha {
  display: flex; align-items: center; gap: 8px; flex-wrap: nowrap;
  background: var(--superficie); border: 1px solid var(--borda); border-radius: 12px; padding: 8px 10px;
}
.lp-linha .lm-bel { flex: none; }
.lp-linha .lp-dias { flex: 1 1 auto; min-width: 0; font: inherit; font-weight: 600; padding: 6px 8px;
  border: 1px solid var(--borda); border-radius: 8px; background: var(--superficie); color: var(--tinta); }
.lp-linha .lp-as { flex: none; font-size: 13px; color: var(--tinta-fraca); }
.lp-linha .lp-hora { flex: none; width: 7.2em; font: inherit; padding: 5px 6px; border: 1px solid var(--borda); border-radius: 8px;
  background: var(--superficie); color: var(--tinta); }
.lp-linha .lb-x { flex: none; }
.lp-mais { font: inherit; font-size: 14px; color: var(--realce, var(--latao)); background: transparent;
  border: 1px dashed var(--borda-forte); border-radius: 999px; padding: 6px 14px; cursor: pointer; }
.lp-mais:disabled { opacity: .45; cursor: default; }
.lp-vazio { font-size: 13px; color: var(--tinta-fraca); margin: 0 0 8px; }
.lp-alvos { display: flex; flex-direction: column; gap: 6px; }
.lp-alvo .sw-rotulo { flex: 1; }
.lp-nota { font-size: 12.5px; color: var(--tinta-fraca); margin: 10px 0; }

/* =====================================================================
   ENVELOPE 25OUT2026 (carimbo 20261025a) — O CHECKLIST NA TAREFA E O
   RELATÓRIO DO PERÍODO (irmão do envelope do app). Só acréscimo: nenhum
   seletor de antes mudou de lugar.
   ===================================================================== */
/* ---- o selo do cartão */
.tarefa-meta .ck-conta {
  display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--tinta-fraca);
}
.ck-trilho { display: inline-block; width: 54px; height: 6px; border-radius: 9px; background: var(--superficie-2); overflow: hidden; }
.ck-trilho b { display: block; height: 100%; background: var(--verde); }
.ck-conta.ck-ok { color: var(--verde); }

/* ---- o bloco do formulário */
.ck-area > label { display: block; }
.ck-n { font-weight: 400; color: var(--tinta-fraca); letter-spacing: 0; text-transform: none; }
.ck-lista { border: 1px solid var(--borda); border-radius: 12px; background: var(--superficie); overflow: hidden; }
.ck-lista:empty { display: none; }
.ck-item { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-bottom: 1px solid var(--borda); }
.ck-item:last-child { border-bottom: 0; }
.ck-corpo { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ck-texto { width: 100%; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 14.5px; padding: 4px 0; color: var(--tinta); }
.ck-texto:focus { outline: none; border-bottom: 1px solid var(--latao); }
.ck-ler { font-size: 14.5px; }
.ck-item.feito .ck-texto, .ck-item.feito .ck-ler { color: var(--tinta-fraca); text-decoration: line-through; }
.ck-quem { font-size: 11.5px; color: var(--tinta-fraca); }
.ck-quem:empty { display: none; }
.ck-marca {
  flex: none; width: 24px; height: 24px; border-radius: 7px; border: 2px solid var(--borda-forte);
  background: var(--superficie); color: #fff; font-size: 14px; font-weight: 900; line-height: 1; padding: 0; cursor: pointer;
  display: grid; place-items: center;
}
.ck-marca.feito { background: var(--verde); border-color: var(--verde); }
.ck-marca:disabled { cursor: default; opacity: .85; }
.ck-mover { display: inline-flex; gap: 2px; flex: none; }
.ck-sobe, .ck-desce, .ck-tira {
  flex: none; width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--borda);
  background: var(--superficie); color: var(--tinta-fraca); font-size: 14px; line-height: 1; padding: 0; cursor: pointer;
}
.ck-tira { border-radius: 50%; }
.ck-item:first-child .ck-sobe, .ck-item:last-child .ck-desce { opacity: .35; }
.ck-add {
  margin-top: 8px; border: 1px dashed var(--borda-forte); background: transparent; color: var(--latao);
  font: inherit; font-weight: 600; font-size: 14px; border-radius: 10px; padding: 9px 12px; width: 100%; cursor: pointer; text-align: left;
}
.ck-add:disabled { opacity: .5; cursor: default; }

/* ---- concluir com item faltando (por baixo da digital e da virada) */
.ck-pergunta {
  position: fixed; inset: 0; z-index: 9965; background: rgba(10, 26, 51, .45);
  display: flex; align-items: flex-end; justify-content: center; padding: 16px;
}
.ck-perg-cartao {
  width: 100%; max-width: 440px; background: var(--ambar-claro); border: 1px solid #F0D49A; border-radius: 16px;
  padding: 16px; box-shadow: var(--sombra); color: var(--tinta);
}
.ck-perg-cartao b { display: block; font-size: 16px; margin-bottom: 6px; }
.ck-perg-cartao p { margin: 0 0 12px; font-size: 14px; color: var(--tinta-fraca); }
.ck-perg-botoes { display: flex; gap: 8px; flex-wrap: wrap; }
.ck-perg-botoes .btn { flex: 1 1 140px; }
@media (min-width: 720px) { .ck-pergunta { align-items: center; } }

/* ---- o relatório */
.rl-tela { display: flex; flex-direction: column; gap: 8px; }
.rl-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.rl-chip {
  font: inherit; font-size: 13px; padding: 7px 11px; border-radius: 999px; border: 1px solid var(--borda);
  color: var(--tinta-fraca); background: var(--superficie); cursor: pointer;
}
.rl-chip[aria-pressed="true"] { background: var(--latao); border-color: var(--latao); color: #fff; font-weight: 700; }
.rl-datas { display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-end; }
.rl-datas label { display: flex; flex-direction: column; font-size: 12px; color: var(--tinta-fraca); gap: 3px; }
.rl-periodo { font-size: 12.5px; color: var(--tinta-fraca); margin: 4px 0 2px; }
.rl-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
@media (min-width: 720px) { .rl-tiles { grid-template-columns: repeat(4, 1fr); } }
.rl-tile { border-radius: 12px; padding: 10px 11px; background: var(--superficie); border: 1px solid var(--borda); }
.rl-n { font-size: 24px; font-weight: 800; letter-spacing: -.02em; }
.rl-n.rl-v { color: var(--verde); }
.rl-n.rl-r { color: var(--vermelho); }
.rl-t { font-size: 12px; color: var(--tinta-fraca); }
.rl-d { display: block; font-size: 11.5px; font-weight: 700; margin-top: 2px; color: var(--tinta-fraca); }
.rl-d.rl-bom { color: var(--verde); }
.rl-d.rl-ruim { color: var(--vermelho); }
.rl-sec { font-size: 11px; letter-spacing: .09em; font-weight: 800; color: var(--tinta-fraca); margin: 12px 0 4px; }
.rl-pes { display: grid; grid-template-columns: 30px 1fr auto; gap: 2px 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--borda); }
.rl-av {
  width: 30px; height: 30px; border-radius: 50%; background: var(--azul-claro); color: var(--latao);
  font-size: 12px; font-weight: 800; display: grid; place-items: center; grid-row: span 2;
}
.rl-nm { font-size: 14px; font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rl-pct { font-size: 13px; font-weight: 800; text-align: right; }
.rl-barra { height: 8px; border-radius: 99px; background: var(--superficie-2); overflow: hidden; display: flex; grid-column: 2 / 4; }
.rl-barra i { display: block; height: 100%; }
.rl-bv { background: var(--verde); }
.rl-bc { background: #9DB7AC; }
.rl-ba { background: #E0A63A; }
.rl-br { background: var(--vermelho); }
.rl-sub { grid-column: 2 / 4; font-size: 11.5px; color: var(--tinta-fraca); }
.rl-antes { font-size: 12.5px; color: var(--tinta-fraca); margin: 8px 0 4px; }
.rl-leg { display: flex; flex-wrap: wrap; gap: 12px; font-size: 11px; color: var(--tinta-fraca); margin-top: 6px; }
.rl-leg span::before { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 4px; vertical-align: -1px; }
.rl-leg .a::before { background: var(--verde); }
.rl-leg .c::before { background: #9DB7AC; }
.rl-leg .b::before { background: #E0A63A; }
.rl-leg .d::before { background: var(--vermelho); }
.rl-gr { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rl-gr th { font-size: 10.5px; letter-spacing: .06em; color: var(--tinta-fraca); text-align: right; font-weight: 700; padding: 4px 0; }
.rl-gr th:first-child, .rl-gr td:first-child { text-align: left; }
.rl-gr td { padding: 7px 0; border-top: 1px solid var(--borda); text-align: right; }
.rl-tag { display: inline-block; font-size: 10px; font-weight: 800; padding: 2px 6px; border-radius: 5px; margin-right: 6px; color: #fff; }
.rl-atr {
  display: flex; gap: 10px; align-items: flex-start; width: 100%; text-align: left; font: inherit; font-size: 13px;
  padding: 8px 0; border: 0; border-bottom: 1px solid var(--borda); background: transparent; color: var(--tinta); cursor: pointer;
}
.rl-atr small { display: block; color: var(--tinta-fraca); font-size: 11.5px; }
.rl-dd { margin-left: auto; font-size: 11.5px; font-weight: 800; color: var(--vermelho); white-space: nowrap; }
.rl-dd.rl-amb { color: var(--ambar); }
.rl-acoes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.rl-resumo { display: flex; gap: 10px; align-items: center; margin-top: 12px; font-size: 13.5px; }
.rl-resumo small { display: block; color: var(--tinta-fraca); font-size: 12px; }
.ck-sw {
  flex: none; width: 46px; height: 28px; border-radius: 999px; border: 0; padding: 0;
  background: var(--borda-forte); position: relative; cursor: pointer;
}
.ck-sw::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px;
  border-radius: 50%; background: #fff; transition: left .15s;
}
.ck-sw[aria-checked="true"] { background: var(--verde); }
.ck-sw[aria-checked="true"]::after { left: 21px; }
.rl-como { margin-top: 12px; font-size: 12.5px; color: var(--tinta-fraca); }
.rl-como summary { cursor: pointer; font-weight: 700; }
.rl-trava { text-align: center; margin-top: 12px; padding: 18px 8px; border: 1px dashed var(--borda-forte); border-radius: 14px; background: var(--superficie); }
.rl-trava b { display: block; font-size: 16px; margin: 6px 0; }
.rl-trava p { font-size: 13.5px; color: var(--tinta-fraca); margin: 0 0 12px; }
.rl-cadeado { font-size: 28px; }

/* =====================================================================
   25OUT2026b (carimbo 20261025b) — os planos pelo nome (etapa 6)
   ===================================================================== */
.pl-planos { display: flex; flex-direction: column; gap: 10px; margin: 6px 0 10px; }
.pl-plano { display: flex; flex-direction: column; gap: 3px; text-align: left; width: 100%;
  background: var(--superficie); color: var(--tinta); border: 1px solid var(--borda); border-radius: 14px;
  padding: 12px 14px; font: inherit; cursor: pointer; }
.pl-plano:hover { border-color: var(--borda-forte); }
.pl-plano:disabled { opacity: .6; cursor: progress; }
.pl-destaque { border: 2px solid var(--azul); background: var(--azul-claro); }
.pl-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.pl-nome { font-size: 16px; }
.pl-preco { font-weight: 700; font-size: 15px; white-space: nowrap; }
.pl-preco small { font-weight: 400; font-size: 12px; color: var(--tinta-fraca); }
.pl-quem { font-size: 12.5px; font-weight: 600; color: var(--tinta-fraca); letter-spacing: .02em; }
.pl-inclui { font-size: 13px; color: var(--tinta-fraca); line-height: 1.45; }
.pl-legado, .pl-nota { font-size: 13.5px; border-radius: 12px; padding: 10px 12px; margin: 0 0 10px; }
.pl-legado { background: var(--verde-claro); color: var(--tinta); }
.pl-nota { background: var(--superficie-2); color: var(--tinta); }
.pl-subir { display: flex; flex-direction: column; gap: 4px; border: 2px solid var(--azul); border-radius: 14px;
  padding: 12px 14px; margin: 4px 0 12px; background: var(--azul-claro); }
.pl-subir .btn { margin-top: 8px; }
#pl-trava-quadro { position: fixed; inset: 0; z-index: 9970; background: rgba(15,23,42,.55);
  display: flex; align-items: flex-end; justify-content: center; padding: 16px; }
#pl-trava-quadro .botoes { margin-top: 14px; flex-wrap: wrap; }
.pl-cadeado { font-size: 26px; margin-bottom: 4px; }
@media (min-width: 720px) { #pl-trava-quadro { align-items: center; } }
