/* zapmind — livro-razão de compromissos extraídos de conversa falada.
   Duas cores semânticas carregam significado: o que eu devo, o que espero.
   Tudo o mais é grafite e papel. Cor não decora aqui; cor informa estado. */

:root {
  --papel: #f7f7f5;
  --papel-2: #fffffe;
  --grafite: #14161b;
  --tinta: #1b1f27;
  --tinta-2: #5b6472;
  --linha: #e4e4e0;
  --devo: #d1345b;
  --espero: #2f8f83;
  --acao: #3b5bdb;
  --notion: #8a7a63;

  --fundo: var(--papel);
  --cartao: var(--papel-2);
  --texto: var(--tinta);
  --secundario: var(--tinta-2);
  --realce: #eeeeea;
  --raio: 5px;
  --rail: 236px;
  --gaveta: 480px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --fundo: var(--grafite);
    --cartao: #191c23;
    --texto: #e9eaec;
    --secundario: #949bab;
    --linha: #272b34;
    --realce: #1f232b;
    --devo: #ff6b8a;
    --espero: #4fbfae;
    --acao: #7aa2ff;
    --notion: #c2ab88;
  }
}

* { box-sizing: border-box; }

html, body {
  margin: 0; height: 100%;
  background: var(--fundo); color: var(--texto);
  font-family: "IBM Plex Sans", system-ui, -apple-system, sans-serif;
  font-size: 14.5px; line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .num { font-family: "Bricolage Grotesque", "IBM Plex Sans", sans-serif;
                   font-weight: 600; letter-spacing: -.02em; margin: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
kbd { font: 11px/1 "IBM Plex Sans", sans-serif; border: 1px solid var(--linha);
      border-radius: 3px; padding: 2px 5px; color: var(--secundario); }
:focus-visible { outline: 2px solid var(--acao); outline-offset: 2px; border-radius: 3px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* ----------------------------------------------------------- estrutura */

.app { display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); height: 100vh; }
.app.com-gaveta { grid-template-columns: var(--rail) minmax(0, 1fr) var(--gaveta); }
.painel { display: flex; flex-direction: column; min-width: 0; overflow: hidden; }

.rail { border-right: 1px solid var(--linha); padding: 20px 14px 16px;
        display: flex; flex-direction: column; gap: 22px; overflow-y: auto; }
.rail .marca { font-family: "Bricolage Grotesque", sans-serif; font-size: 18px;
               font-weight: 700; padding: 0 8px; }
.rail .marca span { display: block; font-family: "IBM Plex Sans", sans-serif;
                    font-size: 11.5px; font-weight: 400; letter-spacing: 0;
                    color: var(--secundario); }
.rail nav { display: flex; flex-direction: column; gap: 14px; }
.rail .secao { display: flex; flex-direction: column; gap: 1px; }
.rail .secao > span { font-size: 11px; color: var(--secundario); padding: 0 8px 4px;
                      letter-spacing: .04em; }
.rail a.destino { display: flex; align-items: center; gap: 8px; padding: 6px 8px;
                  border-radius: var(--raio); color: var(--secundario); }
.rail a.destino:hover { background: var(--realce); color: var(--texto); }
.rail a.destino.ativo { background: var(--realce); color: var(--texto); font-weight: 500;
                        box-shadow: inset 2px 0 0 var(--acao); }
.rail a.destino .c { margin-left: auto; font-size: 11.5px; color: var(--secundario);
                     font-variant-numeric: tabular-nums; }
.rail a.destino .ponto { width: 6px; height: 6px; border-radius: 50%; }
.rail .rodape { margin-top: auto; display: flex; flex-direction: column; gap: 10px;
                font-size: 12px; color: var(--secundario); padding: 0 8px; }
.rail .atalho { text-align: left; background: none; border: 1px solid var(--linha);
                border-radius: var(--raio); padding: 7px 9px; color: var(--secundario);
                display: flex; align-items: center; gap: 8px; }
.rail .atalho kbd { margin-left: auto; }

/* ---------------------------------------------------------- cabecalho */

.cabecalho { border-bottom: 1px solid var(--linha); padding: 16px 28px 0;
             display: flex; flex-direction: column; gap: 12px; }
.cabecalho .topo { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; }
.cabecalho h1 { font-size: 21px; }
.cabecalho .sub { color: var(--secundario); font-size: 13px; }
.cabecalho .direita { margin-left: auto; display: flex; gap: 8px; align-items: center; }

.controles { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; padding-bottom: 10px; }
.controles select, .controles button.ctrl {
  background: none; border: 1px solid var(--linha); border-radius: var(--raio);
  padding: 5px 9px; color: var(--secundario); font-size: 12.5px;
}
.controles select { color: var(--texto); }
.controles .grupo { display: flex; border: 1px solid var(--linha); border-radius: var(--raio);
                    overflow: hidden; }
.controles .grupo button { background: none; border: 0; padding: 5px 11px;
                           color: var(--secundario); font-size: 12.5px; }
.controles .grupo button[aria-pressed="true"] { background: var(--realce); color: var(--texto); }
.controles .espaco { flex: 1; }

.tela { padding: 22px 28px 90px; overflow-y: auto; }

/* -------------------------------------------------------------- captura */

.captura { display: flex; gap: 8px; padding-bottom: 10px; }
.captura input { flex: 1; border: 1px solid var(--linha); border-radius: var(--raio);
                 padding: 8px 11px; font: inherit; background: var(--cartao); color: var(--texto); }
.captura button { border: 1px solid var(--linha); background: var(--cartao); color: var(--texto);
                  border-radius: var(--raio); padding: 8px 14px; font-size: 13.5px; }

.proposta { border: 1px solid var(--acao); border-left-width: 3px; border-radius: var(--raio);
            padding: 11px 13px; margin-bottom: 12px; background: var(--cartao); }
.proposta .titulo { font-weight: 500; }
.proposta .campos-linha { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 5px;
                          font-size: 12.5px; color: var(--secundario); }
.proposta .par .rot { opacity: .7; }
.proposta .duvida { margin-top: 7px; font-size: 13px; color: var(--devo); }
.proposta .acoes-proposta { display: flex; gap: 7px; margin-top: 10px; }
.proposta button { border: 1px solid var(--linha); background: none; color: var(--texto);
                   border-radius: var(--raio); padding: 5px 12px; font-size: 13px; }
.proposta button.principal { background: var(--acao); border-color: var(--acao); color: #fff; }

/* ---------------------------------------------------------- livro-razao */

.grupo-titulo { display: flex; align-items: baseline; gap: 10px; margin: 22px 0 2px;
                padding-bottom: 6px; border-bottom: 1px solid var(--linha); }
.grupo-titulo:first-child { margin-top: 0; }
.grupo-titulo h2 { font-size: 14.5px; }
.grupo-titulo .conta { font-size: 12px; color: var(--secundario); }
.grupo-titulo .nota { margin-left: auto; font-size: 12px; color: var(--secundario); }

.linha { display: grid; grid-template-columns: 18px 2px minmax(0,1fr) auto; gap: 10px;
         align-items: baseline; padding: 7px 4px 7px 0; cursor: pointer;
         border-bottom: 1px solid transparent; }
.linha + .linha { border-top: 1px solid var(--linha); }
.linha:hover { background: var(--realce); }
.linha.escolhida { background: var(--realce); }
.linha .caixa { opacity: 0; transition: opacity .12s; align-self: center; }
.linha:hover .caixa, .linha.escolhida .caixa { opacity: 1; }
.linha .risco { align-self: stretch; border-radius: 2px; background: transparent; }
.linha.devo .risco { background: var(--devo); }
.linha.espero .risco { background: var(--espero); }
.linha.notion .risco { background: var(--notion); }
.linha .corpo { display: flex; gap: 10px; align-items: baseline; min-width: 0; }
.linha .titulo { font-weight: 450; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.linha .ctx { font-size: 12.5px; color: var(--secundario); white-space: nowrap;
              overflow: hidden; text-overflow: ellipsis; flex-shrink: 2; }
.linha.feito .titulo { text-decoration: line-through; color: var(--secundario); }
.linha .lado { font-size: 12.5px; color: var(--secundario);
               font-variant-numeric: tabular-nums; white-space: nowrap; }
.linha .vencido { color: var(--devo); }

.selo { font-size: 10.5px; border: 1px solid var(--linha); border-radius: 3px;
        padding: 1px 5px; color: var(--secundario); white-space: nowrap; }
.selo.origem-notion { border-color: var(--notion); color: var(--notion); }
.selo.p1 { border-color: var(--devo); color: var(--devo); }

/* -------------------------------------------------------------- agenda */

.agenda-bloco { margin-bottom: 26px; }
.agenda-bloco > h2 { font-size: 14.5px; padding-bottom: 6px; border-bottom: 1px solid var(--linha); }
.hora-linha { display: grid; grid-template-columns: 58px 1fr; gap: 12px; padding: 8px 0;
              border-bottom: 1px solid var(--linha); cursor: pointer; }
.hora-linha:hover { background: var(--realce); }
.hora-linha .hora { font-variant-numeric: tabular-nums; color: var(--secundario); font-size: 13px; }
.hora-linha.sem-hora .hora { color: var(--linha); }

/* --------------------------------------------------------------- board */

.board { display: flex; gap: 12px; align-items: flex-start; overflow-x: auto; padding-bottom: 20px; }
.coluna { flex: 0 0 258px; background: var(--realce); border-radius: 8px; padding: 10px;
          min-height: 120px; }
.coluna.alvo { outline: 2px dashed var(--acao); outline-offset: -3px; }
.coluna > header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; padding: 0 2px; }
.coluna > header h3 { font-size: 13px; }
.coluna > header .conta { font-size: 11.5px; color: var(--secundario); margin-left: auto; }
.card { background: var(--cartao); border: 1px solid var(--linha); border-radius: 6px;
        padding: 9px 10px; margin-bottom: 7px; cursor: grab; }
.card:active { cursor: grabbing; }
.card.arrastando { opacity: .45; }
.card .t { font-size: 13.5px; font-weight: 500; }
.card .m { font-size: 11.5px; color: var(--secundario); margin-top: 4px;
           display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.card .mover { background: none; border: 0; color: var(--secundario); font-size: 11.5px;
               padding: 2px 0 0; }

/* ---------------------------------------------------------- calendario */

.calendario { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr));
              border-top: 1px solid var(--linha); border-left: 1px solid var(--linha); }
.calendario .dia-nome { font-size: 11.5px; color: var(--secundario); padding: 6px 8px;
                        border-right: 1px solid var(--linha); border-bottom: 1px solid var(--linha); }
.calendario .celula { min-height: 104px; border-right: 1px solid var(--linha);
                      border-bottom: 1px solid var(--linha); padding: 6px; }
.calendario .celula.fora { background: var(--realce); }
.calendario .celula.hoje .n { background: var(--acao); color: #fff; border-radius: 50%;
                              width: 21px; height: 21px; display: grid; place-items: center; }
.calendario .celula.alvo { outline: 2px dashed var(--acao); outline-offset: -3px; }
.calendario .n { font-size: 12px; color: var(--secundario); font-variant-numeric: tabular-nums; }
.calendario .pilula { font-size: 11.5px; border-left: 2px solid var(--acao); padding: 1px 4px;
                      margin-top: 4px; background: var(--cartao); border-radius: 3px;
                      cursor: pointer; overflow: hidden; text-overflow: ellipsis;
                      white-space: nowrap; }
.calendario .pilula.tarefa { border-left-color: var(--notion); }
.calendario .pilula.detectado { border-left-color: var(--devo); }

/* ------------------------------------------------------- projetos card */

.grade-projetos { display: grid; gap: 12px;
                  grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)); }
.projeto { border: 1px solid var(--linha); border-radius: 8px; padding: 14px 15px;
           background: var(--cartao); cursor: pointer; display: flex; flex-direction: column;
           gap: 6px; }
.projeto:hover { border-color: var(--acao); }
.projeto.quieto { opacity: .62; }
.projeto > header { display: flex; align-items: baseline; gap: 10px; }
.projeto h3 { font-size: 15px; line-height: 1.3; flex: 1; }
.projeto .n { font-family: "Bricolage Grotesque", sans-serif; font-size: 20px;
              font-variant-numeric: tabular-nums; color: var(--devo); }
.projeto.quieto .n { color: var(--secundario); }
.projeto .quem { font-size: 12.5px; color: var(--secundario); }
.projeto .valor { font-size: 13px; }
.projeto .valor .cond { display: block; font-size: 11.5px; color: var(--secundario); }
.projeto .passo { margin: 4px 0 0; font-size: 13px; padding-top: 8px;
                  border-top: 1px solid var(--linha); }
.projeto .repo { font-size: 11.5px; color: var(--secundario); margin-top: auto; padding-top: 6px; }
.projeto .repo:hover { color: var(--acao); }

/* -------------------------------------------------------------- gaveta */

.gaveta { border-left: 1px solid var(--linha); overflow-y: auto; position: relative;
          display: none; background: var(--fundo); }
.app.com-gaveta .gaveta { display: block; }
.gaveta > header { position: sticky; top: 0; background: var(--fundo); z-index: 1;
                   padding: 18px 20px 12px; border-bottom: 1px solid var(--linha); }
.gaveta h2 { font-size: 17px; line-height: 1.3; padding-right: 26px; }
.gaveta .corpo { padding: 16px 20px 70px; }
.gaveta .fechar { position: absolute; top: 12px; right: 14px; background: none; border: 0;
                  color: var(--secundario); font-size: 20px; line-height: 1; z-index: 2; }
.gaveta .acoes { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 12px; }
.gaveta .acoes button, .gaveta .acoes a.botao {
  border: 1px solid var(--linha); background: var(--cartao); color: var(--texto);
  border-radius: var(--raio); padding: 6px 11px; font-size: 13px; }
.gaveta .acoes button.principal { background: var(--acao); border-color: var(--acao); color: #fff; }
.gaveta .campos { display: grid; grid-template-columns: 96px 1fr; gap: 6px 12px;
                  font-size: 13px; margin-bottom: 16px; }
.gaveta .campos dt { color: var(--secundario); }
.gaveta .campos dd { margin: 0; }
.gaveta .secundario { margin-top: 18px; font-size: 12.5px; color: var(--secundario); }
.gaveta .secundario button { background: none; border: 0; color: var(--secundario);
                             text-decoration: underline; padding: 0; font-size: 12.5px; }

.prova { border-left: 2px solid var(--linha); padding: 9px 0 9px 12px; }
.prova.minha { border-left-color: var(--acao); }
.prova .cab { font-size: 11.5px; color: var(--secundario); display: flex; gap: 7px;
              align-items: baseline; flex-wrap: wrap; }
.prova .texto { white-space: pre-wrap; word-break: break-word; margin-top: 2px; }
.prova .falado { margin-top: 5px; color: var(--secundario); font-style: italic;
                 white-space: pre-wrap; }
.prova audio { width: 100%; margin-top: 7px; height: 32px; }
.prova img, .prova video { max-width: 100%; border-radius: var(--raio); margin-top: 7px; }
.prova .sumiu { font-size: 12px; color: var(--secundario); margin-top: 5px; }

/* -------------------------------------------------------------- paleta */

.paleta { position: fixed; inset: 0; background: rgba(8, 9, 12, .5); z-index: 40;
          display: none; padding-top: 11vh; }
.paleta.aberta { display: block; }
.paleta .caixa { max-width: 620px; margin: 0 auto; background: var(--fundo);
                 border: 1px solid var(--linha); border-radius: 10px; overflow: hidden;
                 box-shadow: 0 24px 60px rgba(0,0,0,.28); }
.paleta input { width: 100%; border: 0; padding: 15px 17px; font-size: 15.5px;
                background: var(--fundo); color: var(--texto); outline: none; }
.paleta .achados { max-height: 52vh; overflow-y: auto; border-top: 1px solid var(--linha); }
.paleta .achado { padding: 10px 17px; border-bottom: 1px solid var(--linha); cursor: pointer;
                  display: flex; gap: 10px; align-items: baseline; }
.paleta .achado.marcado { background: var(--realce); }
.paleta .achado .quem { font-size: 11.5px; color: var(--secundario); white-space: nowrap; }
.paleta .achado .corpo { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.paleta .dica { padding: 8px 17px; font-size: 11.5px; color: var(--secundario);
                border-top: 1px solid var(--linha); }

/* ---------------------------------------------------------- acao lote */

.barra-lote { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%);
              background: var(--cartao); border: 1px solid var(--linha); border-radius: 999px;
              padding: 8px 10px 8px 16px; display: flex; gap: 8px; align-items: center;
              box-shadow: 0 10px 30px rgba(0,0,0,.18); z-index: 25; font-size: 13px; }
.barra-lote button { border: 1px solid var(--linha); background: none; color: var(--texto);
                     border-radius: 999px; padding: 5px 12px; font-size: 12.5px; }

.aviso-flutuante { position: fixed; bottom: 20px; right: 20px; z-index: 50;
                   background: var(--cartao); border: 1px solid var(--devo); color: var(--texto);
                   border-radius: var(--raio); padding: 10px 14px; font-size: 13px;
                   max-width: 320px; box-shadow: 0 10px 30px rgba(0,0,0,.2); }

/* --------------------------------------------------------- chat e vazio */

.fio { display: flex; flex-direction: column; gap: 15px; margin-bottom: 20px; max-width: 720px; }
.fala .texto { word-break: break-word; }
.fala.eu .texto { white-space: pre-wrap; }
.fala.ia .texto h4 { font-size: 14.5px; margin: 16px 0 4px; }
.fala.ia .texto h4:first-child { margin-top: 0; }
.fala.ia .texto p { margin: 0 0 8px; }
.fala.ia .texto ul { margin: 0 0 10px; padding-left: 18px; }
.fala.ia .texto li { margin-bottom: 3px; }
.fala.ia .texto code { background: var(--realce); border-radius: 3px; padding: 1px 5px;
                       font-size: 13px; }
.fala.eu .texto { background: var(--realce); border-radius: var(--raio); padding: 9px 12px;
                  margin-left: auto; width: fit-content; max-width: 80%; }
.fala.ia { border-left: 2px solid var(--acao); padding-left: 13px; }
.fala .copiar { margin-top: 7px; background: none; border: 1px solid var(--linha);
                color: var(--secundario); border-radius: 3px; padding: 2px 8px; font-size: 11.5px; }
.compositor { position: sticky; bottom: 0; background: var(--fundo); padding: 10px 0 14px;
              display: flex; gap: 8px; align-items: flex-end; border-top: 1px solid var(--linha);
              max-width: 720px; }
.compositor textarea { flex: 1; resize: vertical; min-height: 42px; font: inherit; padding: 9px 11px;
                       border: 1px solid var(--linha); border-radius: var(--raio);
                       background: var(--cartao); color: var(--texto); }
.compositor button { border: 0; background: var(--acao); color: #fff; border-radius: var(--raio);
                     padding: 10px 15px; }

.vazio { color: var(--secundario); padding: 44px 0; max-width: 46ch; }
.vazio strong { display: block; color: var(--texto); font-weight: 500; margin-bottom: 3px; }
.carregando { color: var(--secundario); padding: 30px 0; }
.erro { border: 1px solid var(--devo); border-left-width: 3px; border-radius: var(--raio);
        padding: 12px 14px; color: var(--texto); max-width: 60ch; }
.erro button { margin-top: 8px; border: 1px solid var(--linha); background: none;
               color: var(--texto); border-radius: var(--raio); padding: 5px 11px; font-size: 13px; }

.cartao { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio);
          padding: 14px 16px; margin-bottom: 9px; }
.cartao h3 { font-size: 15px; }
.cartao .dado { display: flex; gap: 7px; flex-wrap: wrap; font-size: 12.5px;
                color: var(--secundario); margin-top: 3px; }
.cartao .passo { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--linha);
                 font-size: 13.5px; }

/* -------------------------------------------------------------- mobile */

@media (max-width: 900px) {
  .app, .app.com-gaveta { grid-template-columns: 1fr; height: auto; }
  .rail { flex-direction: row; align-items: center; gap: 10px; padding: 10px 14px;
          border-right: 0; border-bottom: 1px solid var(--linha); overflow-x: auto;
          position: sticky; top: 0; z-index: 10; background: var(--fundo); }
  .rail .marca span, .rail .rodape, .rail .secao > span { display: none; }
  .rail nav { flex-direction: row; gap: 4px; }
  .rail .secao { flex-direction: row; }
  .tela { padding: 16px 14px 90px; overflow: visible; }
  .cabecalho { padding: 14px 14px 0; }
  .app.com-gaveta .gaveta { position: fixed; inset: 0; z-index: 30; border-left: 0; }
  .painel { overflow: visible; }
  .board { padding-bottom: 10px; }
  .coluna { flex-basis: 84vw; }
}

/* Direção visual: papel, registro e conversa. */
:root { --fundo:#f5f2eb; --cartao:#fffefa; --texto:#22282b; --secundario:#606765; --linha:#d9d8cf; --realce:#eae7df; --devo:#a93246; --espero:#236e64; --acao:#304fad; --notion:#756044; --rail:224px; --gaveta:clamp(390px,42vw,690px); --raio:6px; }
@media(prefers-color-scheme:dark){:root{--fundo:#171a1c;--cartao:#202427;--texto:#f1eee7;--secundario:#adb5b1;--linha:#3a4143;--realce:#292e30;--devo:#ff8d9e;--espero:#79cab8;--acao:#9bb5ff;--notion:#cdb58f;}}
[hidden]{display:none!important} button:disabled{opacity:.6;cursor:wait} .sub{color:var(--secundario);font-size:13px} .vencido{color:var(--devo)!important;font-weight:600}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.pular{position:fixed;top:-100px;left:12px;z-index:100;background:var(--cartao);padding:12px}.pular:focus{top:12px}
.rail{padding:28px 16px 20px;gap:32px;background:var(--cartao)}.rail .marca{font-size:25px;letter-spacing:-1px}.rail .marca span{font-size:12px;letter-spacing:0;margin-top:4px}
.rail a.destino{padding:10px 12px;min-height:42px}.rail .secao>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:0 12px 8px}.rail nav{gap:25px}
.acesso-chat a.destino{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--acao);color:var(--acao);font-weight:600;padding:15px 12px;background:var(--fundo)}.acesso-chat small{font-size:11px;font-weight:400;color:var(--secundario)}
.mais-nav summary{padding:8px 12px;cursor:pointer;font-size:12px;color:var(--secundario)}.mais-nav .secao{margin-top:8px}.nav-mobile{display:none}
.cabecalho{padding:26px 36px 0;gap:18px;background:var(--fundo)}.cabecalho h1{font-size:28px;letter-spacing:-.04em}.cabecalho .topo{align-items:center}.cabecalho .sub{margin:3px 0 0}.cabecalho .ctrl{border:1px solid var(--linha);background:transparent;color:var(--texto);border-radius:5px;padding:8px 10px}
.captura input{padding:11px 13px}.captura button{font-weight:500}.controles{gap:8px;padding-bottom:14px}.controles .grupo button{padding:8px 12px}.controles .grupo button[aria-pressed=true]{background:var(--texto);color:var(--fundo)}
.tela{padding:28px 36px 70px}.sobretitulo{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600;color:var(--secundario)}
.resumo-dia{display:flex;gap:24px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--linha);padding:0 0 28px;margin-bottom:28px}.resumo-dia h2{font-size:clamp(23px,2.3vw,34px);line-height:1.2;max-width:24ch;margin-top:12px}.resumo-dia p{color:var(--secundario);margin:12px 0 0}.convite-chat{border-left:2px solid var(--acao);padding:12px 0 12px 18px;max-width:250px;font-size:13px}.convite-chat strong{display:block;color:var(--acao);margin-bottom:6px}.convite-chat span{color:var(--secundario)}
.decisoes-grade{display:grid;grid-template-columns:1fr 1fr;gap:28px}.titulo-secao{display:flex;gap:12px;align-items:center;margin-bottom:16px}.titulo-secao h2,.horarios-hoje h2{font-size:15px}.titulo-secao>span{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--secundario)}
.decisao{background:var(--cartao);border:1px solid var(--linha);padding:19px;margin-bottom:12px;border-radius:6px;cursor:pointer}.decisao:hover{border-color:var(--acao)}.decisao h3{font-family:"IBM Plex Sans",sans-serif;font-size:17px;line-height:1.45;margin:12px 0 6px;letter-spacing:0}.decisao p:empty{display:none}.decisao-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:11px}.abrir-prova{font-size:12px;color:var(--acao);display:flex;justify-content:space-between;margin-top:18px}.ver-todas{display:inline-block;padding:12px 0;font-size:13px;color:var(--acao)}.horarios-hoje{margin-bottom:28px}
.linha{padding:12px 5px;gap:12px}.linha .corpo{flex-direction:column;gap:2px}.linha .titulo{font-weight:500;max-width:100%}.linha .lado{display:flex;gap:10px;align-items:center}.prova-link{color:var(--acao);font-size:11px}.linha:focus-within .caixa{opacity:1}.grupo-titulo{margin-top:30px}.grupo-titulo h2{font-size:16px}.selo{font-size:10px;padding:2px 6px}.selo.origem-notion{color:var(--notion)}
.tela-chat{padding-top:0;display:flex;flex-direction:column}.chat-area{width:100%;max-width:850px;margin:0 auto;display:flex;flex-direction:column;flex:1;min-height:100%}.fio{max-width:none;flex:1;gap:26px;margin:0;padding:30px 0}.chat-boas-vindas{margin:auto 0;padding:clamp(24px,6vh,70px) 0 35px;max-width:660px}.chat-boas-vindas h2{font-size:clamp(30px,3.4vw,46px);line-height:1.12;letter-spacing:-.045em;margin:15px 0}.chat-boas-vindas>p{color:var(--secundario);max-width:52ch}.sugestoes-chat{display:grid;gap:9px;margin:28px 0}.sugestoes-chat button{text-align:left;background:var(--cartao);border:1px solid var(--linha);padding:15px;border-radius:6px;color:var(--texto);display:flex;justify-content:space-between;gap:20px}.sugestoes-chat button:hover{border-color:var(--acao)}.sugestoes-chat span{color:var(--acao)}
.compositor{max-width:none;display:grid;grid-template-columns:1fr auto;padding:16px 0 0;gap:8px;margin-top:auto;position:sticky;bottom:0}.compositor textarea{min-width:0;background:var(--cartao);padding:14px;min-height:70px;border-radius:8px}.compositor button{align-self:start;padding:14px 18px;background:var(--acao);color:var(--cartao);font-weight:600}.compositor-nota{grid-column:1/-1;font-size:11px;color:var(--secundario);margin:2px 0 0}.autor-fala{text-transform:uppercase;font-size:10px;letter-spacing:.1em;color:var(--secundario);margin-bottom:8px}.fala.ia{padding:0 0 0 20px}.fala.eu{max-width:85%;align-self:flex-end}.fala.eu .texto{max-width:none;padding:13px 17px}.fala.eu .autor-fala{text-align:right}.fala .texto{font-size:15px;line-height:1.75}.fontes-chat{margin:16px 0;font-size:12px}.fontes-chat summary{cursor:pointer;color:var(--acao)}.fontes-chat button{display:block;text-align:left;padding:8px 0;background:none;border:0;color:var(--acao)}.fala .copiar{padding:7px 10px}
.gaveta{background:var(--cartao)}.gaveta>header,.gaveta #gaveta-conteudo>header{position:sticky;top:0;z-index:2;background:var(--cartao);padding:24px;border-bottom:1px solid var(--linha)}.gaveta .fechar{position:sticky;float:right;top:12px;margin:8px;z-index:4;min-width:36px;min-height:36px;background:var(--cartao);border:1px solid var(--linha);border-radius:5px}.gaveta .corpo{padding:22px 24px 70px}.gaveta h2{font-size:23px;line-height:1.3}.gaveta .acoes button,.gaveta .acoes a.botao{padding:9px 12px}.prova{padding:14px 0 14px 16px;margin-bottom:10px}.prova .cab{margin-bottom:6px}.prova .falado{font-style:normal;color:var(--texto);font-size:14px;line-height:1.7;border-top:1px solid var(--linha);padding-top:10px}.prova audio{height:40px}.vazio{padding:28px 0;line-height:1.7}.carregando{padding:35px 0;border-top:2px solid var(--linha)}
@media(min-width:901px) and (max-width:1250px){.app.com-gaveta{grid-template-columns:var(--rail) minmax(0,1fr)}.app.com-gaveta .gaveta{position:fixed;right:0;top:0;bottom:0;width:min(650px,65vw);z-index:30;box-shadow:-20px 0 70px #0003}.decisoes-grade{gap:16px}.resumo-dia{align-items:flex-start}.convite-chat{max-width:190px}.cabecalho,.tela{padding-left:24px;padding-right:24px}}
@media(max-width:900px){.app,.app.com-gaveta{grid-template-columns:1fr;height:100dvh}.painel{overflow:auto}.rail{display:none}.rail.mobile-aberto{display:flex;position:fixed;inset:0 0 65px;z-index:35;flex-direction:column;align-items:stretch;overflow-y:auto;padding:25px}.rail.mobile-aberto nav,.rail.mobile-aberto .secao{display:flex;flex-direction:column}.rail.mobile-aberto .marca span,.rail.mobile-aberto .rodape,.rail.mobile-aberto .secao>span{display:block}.rail.mobile-aberto nav{gap:20px}.nav-mobile{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--cartao);border-top:1px solid var(--linha);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 5px max(8px,env(safe-area-inset-bottom))}.nav-mobile a,.nav-mobile button{border:0;background:none;color:var(--secundario);font-size:11px;text-align:center;padding:12px 2px;min-height:44px}.nav-mobile .chat-mobile{color:var(--acao);font-weight:600;border:1px solid var(--linha);border-radius:5px}.cabecalho{padding:20px 18px 0;gap:14px}.cabecalho h1{font-size:25px}.tela{padding:22px 18px 95px;overflow:visible}.captura{flex-wrap:wrap}.captura input{min-width:170px}.captura button{font-size:12px}.controles{gap:8px}.controles select{min-height:38px}.resumo-dia{display:block;padding-bottom:20px}.resumo-dia h2{max-width:none;font-size:27px}.convite-chat{display:block;max-width:none;margin-top:22px}.decisoes-grade{grid-template-columns:1fr;gap:28px}.linha{grid-template-columns:18px 2px minmax(0,1fr)}.linha .lado{grid-column:3;white-space:normal;flex-wrap:wrap}.linha .titulo{white-space:normal}.linha .caixa{opacity:1}.app.com-gaveta .gaveta{position:fixed;inset:0 0 65px;width:auto;z-index:45}.gaveta h2{font-size:21px}.compositor{bottom:64px;padding:12px 0;background:var(--fundo);grid-template-columns:1fr}.compositor button{justify-self:end}.compositor-nota{font-size:10px}.tela-chat{padding-top:0}.chat-boas-vindas{padding-top:25px}.chat-boas-vindas h2{font-size:34px}.chat-boas-vindas .sugestoes-chat{margin:20px 0}.cabecalho .topo>.selo{display:none}.paleta{padding:20px 12px}.paleta .caixa{max-width:100%}.paleta .achado{flex-direction:column;gap:3px}.aviso-flutuante{bottom:80px;left:16px;right:16px;max-width:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.editar-tarefa{border-bottom:1px solid var(--linha);padding-bottom:20px;margin-bottom:24px}.editar-tarefa label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--secundario)}.editar-tarefa input,.editar-tarefa select,.prioridade-promocao select{width:100%;min-width:0;border:1px solid var(--linha);padding:10px;background:var(--fundo);color:var(--texto);border-radius:5px;font:inherit}.campos-edicao{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.botao-salvar,.revisar-faixa button{background:var(--acao);color:var(--fundo);border:0;border-radius:5px;padding:10px 14px}.titulo-provas{font-size:16px;margin:20px 0 14px}.resumo-deteccao{font-size:14px;color:var(--secundario);margin:0 0 20px}.detalhes-deteccao{border-top:1px solid var(--linha);margin-top:24px;padding-top:18px;font-size:13px}.detalhes-deteccao summary,.notas-tarefa summary{cursor:pointer;color:var(--secundario);margin-bottom:14px}.prioridade-promocao{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--secundario);margin-top:12px}.prioridade-promocao select{width:auto;padding:6px 10px}.contexto-prova{font-size:11px;background:none;border:0;padding:8px 0;color:var(--acao)}.mensagem-ancora{background:var(--realce);outline:1px solid var(--acao);padding:10px;border-radius:5px}.revisar-faixa{padding:18px;border:1px solid var(--linha);background:var(--cartao);display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;border-radius:6px}.revisar-faixa p{margin:4px 0 0}.revisao-posicao{display:flex;gap:10px;justify-content:space-between;align-items:center;padding-top:12px;font-size:12px;color:var(--secundario)}.revisao-posicao button{border:0;background:none;color:var(--acao);font-size:12px}.texto-nota{white-space:pre-wrap}.prova .sumiu{padding:10px;border:1px solid var(--linha);border-radius:4px}
@media(max-width:900px){.revisar-faixa{align-items:stretch;flex-direction:column}.campos-edicao{grid-template-columns:1fr}.gaveta .corpo{padding-bottom:40px}.gaveta .acoes button{min-height:44px}.contexto-prova{min-height:44px}.rail .atalho kbd{white-space:nowrap}.nav-mobile a[aria-current=page]{color:var(--acao);font-weight:600}}

.legenda-quadro{margin:0 0 20px;max-width:75ch}.board{gap:16px;scroll-snap-type:x proximity}.coluna{flex-basis:285px;border-radius:6px;background:transparent;padding:0 10px 12px 0;border-right:1px solid var(--linha);scroll-snap-align:start}.coluna[data-coluna="__detectado"]{background:var(--realce);padding:12px;flex-basis:300px}.coluna>header{position:sticky;top:0;z-index:1;background:var(--fundo);padding:10px 0 14px;border-bottom:2px solid var(--linha)}.coluna[data-coluna="P1"]>header{border-bottom-color:var(--devo)}.coluna[data-coluna="__detectado"]>header{background:var(--realce)}.coluna>header h3{font-size:14px}.card{padding:14px;margin:12px 0;border-radius:5px}.card .t{margin-top:8px;line-height:1.5}.card .m{gap:8px;margin-top:9px}.card-acoes{border-top:1px solid var(--linha);padding-top:9px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.card .mover{color:var(--acao);font-size:11px}.mais-coluna{width:100%;border:1px solid var(--linha);padding:12px;background:var(--cartao);color:var(--acao);border-radius:4px;font-size:12px}.coluna-vazia{padding:16px 0}.calendario{background:var(--cartao);border-radius:5px}.calendario .celula{min-height:125px;padding:8px}.calendario .dia-nome{padding:10px;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.calendario .pilula{padding:5px 6px;margin-top:5px;background:var(--realce);font-size:12px}.calendario .dia-seletor{background:none;border:0;cursor:pointer;color:var(--texto);min-width:28px;min-height:28px;border-radius:4px}.calendario .dia-seletor[aria-pressed=true]{outline:2px solid var(--acao);outline-offset:2px}.calendario .celula.hoje .n{border-radius:4px;width:28px;height:28px}.mais-dia{background:none;border:0;color:var(--acao);padding:6px;font-size:11px}.agenda-dia{margin:26px 0;padding:22px;border:1px solid var(--linha);border-radius:6px;background:var(--cartao)}.sem-data-cal{margin:22px 0;font-size:13px}.sem-data-cal summary{cursor:pointer;padding:10px 0;color:var(--secundario)}.grupo-lista{margin-bottom:24px}.grupo-lista summary{cursor:pointer;list-style:none}.grupo-lista summary:before{content:"−";color:var(--acao);font-size:16px}.grupo-lista:not([open]) summary:before{content:"+"}.grupo-lista .grupo-titulo{margin:0 0 4px}.dialog-mover{max-width:440px;width:calc(100% - 32px);background:var(--cartao);color:var(--texto);border:1px solid var(--linha);border-radius:9px;padding:26px}.dialog-mover::backdrop{background:#1118}.dialog-mover h2{font-size:21px}.dialog-mover label{display:flex;flex-direction:column;gap:8px;font-size:13px}.dialog-mover select{padding:12px;font:inherit;background:var(--fundo);color:var(--texto);border:1px solid var(--linha)}.acoes-dialog{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.acoes-dialog button{padding:10px 14px;border:1px solid var(--linha);border-radius:5px;background:var(--fundo);color:var(--texto)}.acoes-dialog button:last-child{background:var(--acao);color:var(--fundo)}.busca-mobile{display:none}.rail .atalho kbd{white-space:nowrap}.projeto{padding:20px;border-radius:6px}.projeto h3{font-size:19px}.projeto .passo{line-height:1.6;margin-top:10px}.projeto .valor{font-variant-numeric:tabular-nums}.hora-linha{padding:15px 0}.hora-linha .titulo{font-weight:500}.hora-linha .hora{color:var(--acao)}
@media(max-width:900px){.busca-mobile{display:block;position:fixed;right:16px;top:14px;z-index:20;background:var(--cartao);color:var(--acao);border:1px solid var(--linha);border-radius:5px;padding:9px 12px;font-size:12px}.cabecalho h1{padding-right:70px}.cabecalho .direita{margin-left:0}.calendario .celula{min-height:66px;padding:4px;min-width:0}.calendario .pilula{font-size:0;padding:0;height:5px;display:inline-block;width:6px;margin:2px;border:0;background:var(--notion)}.calendario .dia-nome{padding:6px 1px;text-align:center;font-size:9px}.calendario .mais-dia{font-size:9px;padding:2px}.agenda-dia{padding:14px;margin-top:18px}.coluna{flex-basis:82vw}.coluna[data-coluna="__detectado"]{flex-basis:82vw}.board{max-width:calc(100vw - 36px)}.dialog-mover button{min-height:44px}.card .mover{min-height:36px}.barra-lote{bottom:80px;border-radius:8px;max-width:calc(100vw - 24px);flex-wrap:wrap;width:max-content}.tela-chat .compositor{bottom:0}.tela-chat{padding-bottom:100px}}
@media(prefers-color-scheme:dark){.compositor button,.botao-salvar,.revisar-faixa button,.acoes-dialog button:last-child,.proposta button.principal,.gaveta .acoes button.principal{color:#171a1c}}

.painel .tela-chat{flex:1;min-height:0}.gaveta .acoes button:focus-visible,.contexto-prova:focus-visible{outline-offset:3px}.prova audio:focus-visible{outline:2px solid var(--acao)}
@media(max-width:900px){.app,.app.com-gaveta{height:calc(100dvh - 70px - env(safe-area-inset-bottom))}.tela{padding-bottom:32px}.tela-chat{padding-bottom:24px}.tela-chat .compositor{bottom:0}.chat-boas-vindas{padding:20px 0}.chat-boas-vindas h2{font-size:30px}.compositor{grid-template-columns:minmax(0,1fr) auto}.compositor button{padding:12px;font-size:12px;align-self:stretch}.compositor textarea{min-height:65px;padding:11px;font-size:14px}.compositor-nota{grid-column:1/-1}.app.com-gaveta .gaveta{bottom:70px}.busca-mobile{min-height:40px}.prova audio{width:100%}}

.citacao{border:1px solid var(--linha);background:var(--cartao);color:var(--acao);border-radius:4px;padding:2px 7px;font-size:11px;vertical-align:baseline}

.desfazer{display:block;background:none;border:1px solid var(--linha);color:var(--acao);border-radius:4px;margin-top:10px;padding:6px 12px}
