:root {
  /* Identidade do Escritório Paulino: azul-marinho, dourado da logo e linho */
  --navy-950: #051122; --navy-900: #08192E; --navy-800: #0C2340; --navy-700: #123055; --navy-600: #1B4477;
  --ouro-700: #8C6D1F; --ouro-600: #A8842A; --ouro-500: #C9A227; --ouro-300: #E3C77E; --ouro-100: #F7EFDC; --ouro-50: #FCF9F2;
  --linho-50: #FAF9F6; --linho-100: #F3F1EC; --linho-200: #E7E3DA;
  --fundo: #F5F4F0; --papel: #fff; --texto: #101828; --mudo: #667085; --borda: #E7E5E0; --borda-forte: #D0D5DD;
  --primaria: var(--navy-800); --primaria-2: var(--navy-600); --azul-claro: #EEF3FA;
  --vermelho: #B42318; --vermelho-claro: #FEF3F2; --laranja: #B54708; --laranja-claro: #FFFAEB;
  --verde: #067647; --verde-claro: #ECFDF3; --amarelo-claro: var(--ouro-100); --raio: 14px; --raio-p: 10px;
  --sombra: 0 1px 2px rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.06);
  --sombra-alta: 0 12px 32px -12px rgba(16,24,40,.18);
  --serif: 'Lora', Georgia, 'Times New Roman', serif;
  --sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  --lateral: 248px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 14.5px/1.55 var(--sans); color: var(--texto); background: var(--fundo); -webkit-font-smoothing: antialiased; }
/* Marca d'água: o símbolo do escritório, discreto ao fundo */
body.com-menu::before { content: ''; position: fixed; inset: 0 0 0 var(--lateral); background: url('marca-paulino.png') no-repeat center 60% / min(40vw, 420px); opacity: .045; pointer-events: none; z-index: 0; }
body.sem-menu::before { content: ''; position: fixed; inset: 0; background: url('marca-paulino.png') no-repeat center 58% / min(46vw, 460px); opacity: .06; pointer-events: none; z-index: 0; }
main { position: relative; z-index: 1; }
a { color: var(--primaria-2); text-decoration: none; } a:hover { text-decoration: underline; }
h1, h2 { font-family: var(--serif); font-weight: 600; color: var(--navy-900); letter-spacing: -.005em; }
h1 { font-size: 1.75rem; margin: .1rem 0 .5rem; line-height: 1.2; } h2 { font-size: 1.15rem; margin: 1.8rem 0 .7rem; } h3 { font-size: .95rem; margin: 0 0 .6rem; font-weight: 600; }
h2::after { display: none; }
h1 small { font-weight: 400; color: var(--mudo); font-size: .7em; }
.mudo { color: var(--mudo); } .peq { font-size: .85rem; } .nw { white-space: nowrap; } .mt { margin-top: .6rem; } .flex1 { flex: 1; }
.vermelho { color: var(--vermelho); }

/* menu lateral */
.lateral { position: fixed; inset: 0 auto 0 0; width: var(--lateral); background: var(--navy-950); color: #cfd8e6; display: flex; flex-direction: column; z-index: 20; border-right: 1px solid rgba(255,255,255,.06); }
.lateral .marca { display: flex; align-items: center; gap: .7rem; padding: 1.1rem 1.2rem 1rem; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.07); }
.lateral .marca img { height: 34px; }
.lateral .marca .nome { display: flex; flex-direction: column; line-height: 1.1; }
.lateral .marca b { font-family: var(--serif); font-weight: 600; letter-spacing: .22em; color: var(--ouro-300); font-size: 1.05rem; }
.lateral .marca small { font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; color: #8fa0b8; margin-top: .2rem; }
.lateral-rolagem { flex: 1; overflow-y: auto; padding: .6rem .7rem 1rem; }
.grupo { margin-top: .9rem; }
.grupo-titulo { display: block; font-size: .66rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #6f819b; padding: 0 .6rem .35rem; }
.lateral a { display: flex; align-items: center; gap: .7rem; color: #cfd8e6; padding: .5rem .6rem; border-radius: 9px; font-size: .92rem; font-weight: 500; text-decoration: none; margin-bottom: 1px; }
.lateral a:hover { background: rgba(255,255,255,.06); color: #fff; }
.lateral a.ativo { background: rgba(201,162,39,.14); color: var(--ouro-300); }
.lateral a.ativo .ico { color: var(--ouro-500); }
.ico { width: 18px; height: 18px; flex-shrink: 0; }
.lateral a span { flex: 1; min-width: 0; }
.cont { font-style: normal; font-size: .7rem; font-weight: 600; background: rgba(255,255,255,.12); color: #fff; padding: .05rem .45rem; border-radius: 99px; }
.cont.alerta { background: var(--vermelho); }
.lateral-pe { display: flex; align-items: center; gap: .4rem; padding: .7rem; border-top: 1px solid rgba(255,255,255,.07); }
.lateral-pe .usuario { flex: 1; margin: 0; }
.lateral-pe .usuario span:last-child { display: flex; flex-direction: column; line-height: 1.2; }
.lateral-pe .usuario small { font-size: .72rem; color: #8fa0b8; font-weight: 400; }
.avatar { width: 32px; height: 32px; flex: 0 0 32px !important; border-radius: 50%; background: var(--ouro-600); color: #fff; display: grid; place-items: center; font-size: .78rem; font-weight: 700; }
.lateral-pe form { margin: 0; }
.sair { background: none; border: 0; color: #8fa0b8; padding: .5rem; border-radius: 8px; cursor: pointer; display: grid; place-items: center; }
.sair:hover { background: rgba(255,255,255,.08); color: #fff; }
.barra-movel, .veu { display: none; }
main.conteudo { margin-left: var(--lateral); padding: 1.6rem 2rem 2rem; max-width: calc(1320px + var(--lateral)); }
main.centro { max-width: 420px; margin: 0 auto; padding: 10vh 1rem 2rem; }
.toast { box-shadow: var(--sombra-alta); }
@media (max-width: 900px) {
  .lateral { transform: translateX(-100%); transition: transform .2s ease; box-shadow: 0 0 40px rgba(0,0,0,.35); }
  #menu-toggle:checked ~ .lateral { transform: none; }
  #menu-toggle:checked ~ .veu { display: block; position: fixed; inset: 0; background: rgba(5,17,34,.45); z-index: 15; }
  .barra-movel { display: flex; align-items: center; gap: .8rem; position: sticky; top: 0; z-index: 12; background: var(--navy-950); padding: .55rem 1rem; }
  .barra-movel .menu-btn { color: #fff; display: grid; place-items: center; cursor: pointer; }
  .barra-movel .menu-btn .ico { width: 24px; height: 24px; }
  .barra-movel .marca { display: flex; align-items: center; gap: .5rem; color: var(--ouro-300); text-decoration: none; font-family: var(--serif); letter-spacing: .2em; }
  .barra-movel .marca img { height: 26px; }
  main.conteudo { margin-left: 0; padding: 1rem; }
  body.com-menu::before { inset: 0; }
}

/* componentes */
.cartao { background: rgba(255,255,255,.84); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1rem 1.1rem; margin-bottom: 1rem; box-shadow: 0 1px 2px rgba(5,17,34,.04), 0 10px 28px -20px rgba(5,17,34,.25); }
.cartao.estreito { max-width: 640px; }
.btn { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid var(--borda); background: var(--papel); color: var(--texto); padding: .45rem .85rem; border-radius: 8px; font: inherit; font-size: .92rem; cursor: pointer; white-space: nowrap; }
.btn:hover { border-color: #b8c0cc; text-decoration: none; }
.btn.primario { background: var(--navy-800); border-color: var(--navy-800); color: #fff; } .btn.primario:hover { background: var(--navy-700); }
.btn.ouro { background: var(--ouro-600); border-color: var(--ouro-600); color: #fff; } .btn.ouro:hover { background: var(--ouro-700); }
.btn.ok { color: var(--verde); border-color: #a6dcb8; } .btn.perigo { color: var(--vermelho); border-color: #f3b8b2; }
.btn.peq { padding: .2rem .55rem; font-size: .82rem; } .btn.largo { width: 100%; justify-content: center; }
.btn[disabled] { opacity: .6; cursor: wait; }
button.link { background: none; border: 0; cursor: pointer; font: inherit; }
form.inline, .inline { display: inline; }
label { display: block; font-size: .85rem; color: var(--mudo); margin-bottom: .6rem; }
label.inline { display: inline-flex; align-items: center; gap: .35rem; margin: 0; }
label.check { display: flex; gap: .45rem; align-items: center; color: var(--texto); }
input, select, textarea { width: 100%; font: inherit; font-size: .95rem; color: var(--texto); padding: .45rem .55rem; border: 1px solid #cfd5dd; border-radius: 7px; background: #fff; margin-top: .15rem; }
input[type=checkbox] { width: auto; margin: 0; }
input:focus, select:focus, textarea:focus { outline: 2px solid #9ec0ec; border-color: var(--primaria-2); }
.aviso { background: var(--azul-claro); border: 1px solid #c8dbf5; padding: .65rem .9rem; border-radius: 8px; margin-bottom: 1rem; }
.aviso.erro { background: var(--vermelho-claro); border-color: #f3c3bd; color: #7a1a12; }
.aviso.destaque { background: var(--amarelo-claro); border-color: #f0dc8a; }
code.senha { font-size: 1.15rem; background: #fff; padding: .1rem .4rem; border-radius: 5px; user-select: all; }
.tag { display: inline-block; font-size: .72rem; font-weight: 600; padding: .05rem .45rem; border-radius: 99px; background: #eef0f3; color: #475467; vertical-align: 1px; text-transform: uppercase; letter-spacing: .02em; }
.tag.sugerido { background: #fff1c2; color: #7a5b00; } .tag.azul { background: var(--azul-claro); color: var(--primaria-2); }
.tag.ok { background: var(--verde-claro); color: var(--verde); } .tag.vencido { background: var(--vermelho-claro); color: var(--vermelho); text-transform: none; }
.tag.tipo { background: #efe7fb; color: #5b2e9a; } .tag.neutro { background: #eef0f3; color: #667085; }
.conf { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; vertical-align: 0; }
.conf-alta { background: #12b76a; } .conf-media { background: #f79009; } .conf-baixa { background: #f04438; }
.vazio { color: var(--mudo); padding: .8rem 0; }

.cabeca { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: .6rem; }
.abas { display: flex; gap: .25rem; flex-wrap: wrap; margin-bottom: .8rem; }
.abas a { padding: .35rem .75rem; border-radius: 99px; background: #e9ecf1; color: var(--texto); font-size: .9rem; }
.abas a { background: var(--linho-200); } .abas a.ativo { background: var(--navy-800); color: #fff; } .abas a b { font-weight: 600; opacity: .75; margin-left: .2rem; }
.filtros { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin-bottom: 1rem; }
.filtros input, .filtros select { width: auto; margin: 0; min-width: 0; } .filtros input[type=search] { flex: 1; min-width: 220px; }

/* painel */
.resumo { display: grid; grid-template-columns: repeat(5, 1fr); gap: .7rem; margin-bottom: .8rem; }
.bloco { background: rgba(255,255,255,.84); border: 1px solid var(--borda); border-top: 3px solid var(--ouro-500); border-radius: var(--raio); padding: .8rem 1rem; color: var(--texto); }
.bloco b { font-family: var(--serif); }
.bloco:hover { text-decoration: none; border-color: #b8c0cc; }
.bloco b { display: block; font-size: 1.7rem; line-height: 1.1; } .bloco span { font-size: .85rem; color: var(--mudo); }
.bloco.vermelho { background: var(--vermelho-claro); border-color: #f3c3bd; } .bloco.vermelho b { color: var(--vermelho); }
.bloco.laranja { background: var(--laranja-claro); border-color: #f5d0a0; } .bloco.laranja b { color: var(--laranja); }
.bloco.azul b { color: var(--primaria-2); }
.sync { font-size: .85rem; color: var(--mudo); margin-bottom: .5rem; display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }

/* item de prazo */
.item { display: flex; gap: 1rem; align-items: center; background: rgba(255,255,255,.88); border: 1px solid var(--borda); border-left: 4px solid #cfd5dd; border-radius: 8px; padding: .6rem .8rem; margin-bottom: .45rem; }
.item-data { width: 5.6rem; flex-shrink: 0; display: flex; flex-direction: column; line-height: 1.25; }
.item-data small { color: var(--mudo); font-size: .78rem; }
.item-corpo { flex: 1; min-width: 0; } .item-titulo { font-weight: 600; } .item-sub { font-size: .86rem; overflow-wrap: anywhere; }
.item-acoes { display: flex; gap: .35rem; flex-shrink: 0; }
.urg-vencido { border-left-color: var(--vermelho); background: #fffafa; } .urg-vencido .item-data strong { color: var(--vermelho); }
.urg-hoje { border-left-color: #f79009; background: #fffcf5; } .urg-hoje .item-data strong { color: var(--laranja); }
.urg-perto { border-left-color: #fdb022; } .urg-normal { border-left-color: #84adea; }
.st-sugerido.item { border-style: dashed; border-left-style: solid; } .st-cumprido.item, .st-descartado.item { opacity: .65; }
h3.dia { margin: 1.2rem 0 .4rem; font-size: .95rem; }
h3.dia::first-letter { text-transform: uppercase; } h3.dia.hoje { color: var(--laranja); } h3.dia.passado { color: var(--mudo); }

/* tabelas */
.tabela-wrap { overflow-x: auto; background: rgba(255,255,255,.84); border: 1px solid var(--borda); border-radius: var(--raio); }
.tabela { width: 100%; border-collapse: collapse; font-size: .9rem; }
.tabela th { text-align: left; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ouro-700); background: var(--ouro-50); padding: .55rem .7rem; border-bottom: 1px solid var(--borda); }
.tabela td { padding: .55rem .7rem; border-bottom: 1px solid #eef0f3; vertical-align: top; }
.tabela tr:last-child td { border-bottom: 0; }
.tabela tr.clicavel { cursor: pointer; } .tabela tr.clicavel:hover td { background: #f7f9fc; }
.tabela tr.inativo td, .tabela tr.cancelada td { color: #98a2b3; }
.tabela input, .tabela select { margin: 0; padding: .25rem .4rem; }
.paginas { display: flex; gap: .3rem; margin-top: .8rem; } .paginas a { padding: .2rem .55rem; border-radius: 6px; background: #e9ecf1; } .paginas a.ativo { background: var(--primaria); color: #fff; }
.lista-simples { padding-left: 1.1rem; } .lista-simples li { margin-bottom: .35rem; }

/* publicação */
.duas-colunas { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.2rem; align-items: start; }
.texto-pub .meta { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .5rem 1rem; margin-bottom: 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--borda); }
.meta span, .pf-calc span { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: .03em; color: var(--mudo); }
.meta b { font-weight: 500; font-size: .92rem; overflow-wrap: anywhere; }
.texto { white-space: pre-wrap; font-family: var(--serif); font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; }
.texto mark { background: #fff1a8; padding: 0 .1rem; border-radius: 3px; }
aside { position: sticky; top: 1.2rem; max-height: calc(100vh - 5rem); overflow-y: auto; padding-right: 2px; }
.opcao { border-top: 1px solid #eef0f3; padding: .6rem 0; } .opcao:first-of-type { border-top: 0; padding-top: 0; }
.trecho { font-size: .82rem; color: #475467; background: #f7f8fa; border-radius: 6px; padding: .35rem .5rem; margin: .35rem 0; cursor: pointer; }
.opcao-acoes { display: flex; gap: .35rem; flex-wrap: wrap; }
.prazo-form.st-sugerido { border: 2px dashed #f0c64a; } .prazo-form.st-confirmado { border: 2px solid #9ec0ec; }
.pf-topo { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; margin-bottom: .7rem; }
.linha3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .6rem; } .linha2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem; }
.pf-calc { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .4rem; background: #f7f9fc; border-radius: 8px; padding: .6rem .7rem; margin-bottom: .5rem; }
.pf-calc b { font-size: .95rem; } .pf-calc .fatal b { color: var(--vermelho); font-size: 1.05rem; } .pf-calc small { display: block; font-size: .75rem; color: var(--mudo); }
.pf-calc.recalculando { opacity: .5; }
.memoria { font-size: .82rem; color: #475467; margin-bottom: .6rem; } .memoria p { margin: .2rem 0; } .memoria summary { cursor: pointer; color: var(--primaria-2); }
.pf-acoes { display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; }
.linha-form { display: flex; gap: .4rem; } .linha-form input { margin: 0; }
.login h1 { margin-bottom: .2rem; }
.copiar { font-size: .8rem; margin-bottom: .4rem; }
.erro-box { white-space: pre-wrap; background: #fff; border: 1px solid var(--borda); padding: 1rem; border-radius: 8px; overflow-x: auto; }

@media (max-width: 960px) {
  .duas-colunas { grid-template-columns: minmax(0, 1fr); } aside { position: static; max-height: none; overflow: visible; } .duas-colunas > aside { order: -1; }
  .resumo { grid-template-columns: repeat(2, 1fr); } .resumo .bloco:last-child { grid-column: span 2; }
}
@media (max-width: 720px) {
  main { padding: .8rem; }
  .item { flex-wrap: wrap; gap: .3rem .8rem; } .item-data { width: 100%; flex-direction: row; gap: .5rem; align-items: baseline; } .item-corpo { flex-basis: 100%; }
  .item-acoes { width: 100%; }
  .linha3, .linha2, .pf-calc, .texto-pub .meta { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .filtros > * { flex: 1 1 100%; } .filtros input[type=search] { min-width: 0; }
}

/* Representação do cliente */
.representa { background: var(--ouro-50); border: 1px solid var(--ouro-100); border-left: 3px solid var(--ouro-500); border-radius: 8px; padding: .6rem .75rem; margin-bottom: .8rem; }
.representa .rotulo { display: block; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro-700); font-weight: 600; }
.representa strong { font-family: var(--serif); font-size: 1.02rem; color: var(--navy-900); margin-right: .3rem; }
.representa .contra { font-size: .88rem; color: var(--mudo); margin-top: .15rem; }
.representa .fonte { font-size: .76rem; color: var(--mudo); margin-top: .3rem; }
.representa.vazio-cli { background: #fff; border-left-color: #f0c64a; }
.item-sub .cliente { color: var(--navy-700); font-weight: 600; }

/* Login com a logo */
.login-logo { display: block; margin: 0 auto 1rem; width: 230px; max-width: 80%; }
main.centro .cartao.login { border-top: 3px solid var(--ouro-500); }
.rodape-marca { text-align: center; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-700); margin: 2.5rem 0 1rem; opacity: .8; }

.ficha-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr)); gap: .6rem 1rem; }
.ficha-grade span { display: block; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ouro-700); font-weight: 600; }
.ficha-grade b { font-weight: 500; font-size: .92rem; }

.barra-teto { height: 6px; background: var(--linho-200); border-radius: 99px; margin-top: .5rem; overflow: hidden; }
.barra-teto i { display: block; height: 100%; background: var(--navy-600); }
.barra-teto i.alerta { background: #f79009; } .barra-teto i.estourado { background: var(--vermelho); }
.rota { padding: .45rem 0; border-top: 1px solid var(--linho-200); } .rota:first-of-type { border-top: 0; }
.tabela th.n, .tabela td.n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

.ia-cartao { border-left: 3px solid var(--navy-600); }
.ia-sug { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .4rem .8rem; margin-bottom: .4rem; }
.rotulo-ia { display: block; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ouro-700); font-weight: 600; }
.alerta-regra { background: var(--ouro-100); border-left: 3px solid var(--ouro-500); padding: .35rem .55rem; border-radius: 5px; margin: .3rem 0; }
.alertas-prazo { margin-bottom: .6rem; }
.aviso-prov { margin: 0 0 1rem; }

/* Alarme de prazo */
[hidden] { display: none !important; } /* sem isto, display:flex do .alarme mantinha a camada invisível sobre a página, engolindo os cliques */
.alarme { position: fixed; inset: 0; background: rgba(5,17,34,.55); z-index: 50; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.alarme-caixa { background: #fff; border: 3px solid var(--vermelho); border-radius: 14px; max-width: 640px; width: 100%; max-height: 90vh; overflow-y: auto; padding: 1.1rem 1.2rem; box-shadow: 0 20px 60px rgba(0,0,0,.4); animation: pisca 1s ease-in-out 6; }
.alarme-topo { display: flex; align-items: center; gap: .6rem; } .alarme-topo h2 { margin: 0; color: var(--vermelho); } .alarme-topo h2::after { display: none; }
.alarme-sino { font-size: 1.8rem; animation: balanca .6s ease-in-out 8; display: inline-block; }
.alarme-item { border: 1px solid var(--borda); border-left: 5px solid var(--vermelho); border-radius: 8px; padding: .6rem .8rem; margin: .6rem 0; }
.alarme-item.faixa-3 { border-left-color: #f79009; } .alarme-item.faixa-2, .alarme-item.faixa-1 { border-left-color: #e8590c; }
.alarme-item b.quando { color: var(--vermelho); }
.alarme-topo .alarme-fechar { margin-left: auto; background: none; border: 0; font-size: 2rem; line-height: 1; cursor: pointer; color: var(--mudo); padding: 0 .3rem; }
.alarme-topo .alarme-fechar:hover { color: var(--texto); }
.alarme-topo { position: sticky; top: -1.1rem; background: #fff; padding-top: .2rem; z-index: 1; }
.alarme-rodape { position: sticky; bottom: -1.1rem; background: #fff; padding: .6rem 0; display: flex; justify-content: flex-end; border-top: 1px solid var(--borda); }
.alarme-acoes { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .5rem; }
.ativar-som { position: fixed; right: 1rem; bottom: 1rem; z-index: 40; background: var(--navy-800); color: #fff; border: 0; border-radius: 99px; padding: .55rem 1rem; cursor: pointer; box-shadow: 0 6px 20px rgba(0,0,0,.25); }
@keyframes pisca { 0%, 100% { box-shadow: 0 0 0 0 rgba(180,35,24,.0), 0 20px 60px rgba(0,0,0,.4); } 50% { box-shadow: 0 0 0 10px rgba(180,35,24,.35), 0 20px 60px rgba(0,0,0,.4); } }
@keyframes balanca { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(18deg); } 75% { transform: rotate(-18deg); } }
@media (prefers-reduced-motion: reduce) { .alarme-caixa, .alarme-sino { animation: none; } }

/* Saúde do sistema */
.saude-erro { border-left: 4px solid var(--vermelho, #b3261e); }
.saude-atencao { border-left: 4px solid var(--laranja, #c77700); }
.saude-ok { border-left: 4px solid var(--verde, #2e7d32); }
.acoes-saude { display: flex; flex-wrap: wrap; gap: 8px; }

/* Confirmação dentro da página */
.btn.armado { background: var(--vermelho) !important; color: #fff !important; border-color: var(--vermelho) !important; }
.dica-confirma { position: fixed; left: 50%; bottom: 1.2rem; transform: translateX(-50%); background: var(--navy-900); color: #fff; padding: .7rem 1rem; border-radius: 10px; z-index: 60; max-width: min(92vw, 560px); box-shadow: 0 8px 30px rgba(0,0,0,.3); font-size: .92rem; }

/* v2: formulários em linha, financeiro */
.inline-form { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: .3rem 0 .6rem; }
.inline-form select, .inline-form input[type=file] { max-width: 100%; }
form.baixa { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
form.baixa input, form.baixa select { padding: .25rem .35rem; font-size: .85rem; width: auto; }
tr.linha-vencida td { background: var(--vermelho-claro); }
.bloco.verde b { color: var(--verde); }
td.n, th.n { text-align: right; font-variant-numeric: tabular-nums; }
.peca-editor textarea { font-family: 'EB Garamond', Georgia, serif; font-size: 1rem; line-height: 1.5; }

/* v2: agenda completa */
.agenda-barra { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: .4rem 0; }
.agenda-barra .abas { margin: 0; }
.agenda-legenda { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: .4rem 0 .8rem; }
.agenda-legenda .leg { padding: .15rem .55rem; border-radius: 999px; font-size: .8rem; text-decoration: none; border: 1px solid transparent; }
.agenda-legenda .leg.desligado { opacity: .35; text-decoration: line-through; }
.agenda-mes, .agenda-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; background: var(--borda); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; }
.ag-cab { background: var(--navy-800); color: #fff; font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; padding: .35rem .5rem; }
.ag-dia { background: var(--papel); min-height: 7.5rem; padding: .3rem; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.agenda-semana .ag-dia { min-height: 22rem; }
.ag-dia.fora { background: var(--linho-100); opacity: .6; }
.ag-dia.nao-util { background: var(--linho-50); }
.ag-dia.hoje { box-shadow: inset 0 0 0 2px var(--ouro-500); }
.ag-num { font-size: .8rem; font-weight: 600; } .ag-num a { color: var(--texto); text-decoration: none; }
.ag-item { display: block; font-size: .74rem; line-height: 1.25; padding: .15rem .35rem; border-radius: 4px; text-decoration: none; color: var(--texto); border-left: 3px solid; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agenda-semana .ag-item { white-space: normal; }
.ag-item small { display: block; color: var(--mudo); font-size: .7rem; }
.ag-item.sugerido { border-style: dashed; opacity: .85; }
.ag-prazo { background: var(--vermelho-claro); border-color: var(--vermelho); }
.ag-interno { background: var(--laranja-claro); border-color: var(--laranja); }
.ag-audiencia { background: var(--azul-claro); border-color: var(--navy-600); }
.ag-sessao { background: #EFE9F7; border-color: #6B4FA0; }
.ag-tarefa { background: var(--linho-100); border-color: var(--mudo); }
.ag-compromisso { background: var(--ouro-100); border-color: var(--ouro-600); }
@media (max-width: 760px) {
  .agenda-mes, .agenda-semana { grid-template-columns: 1fr; }
  .ag-cab { display: none; }
  .ag-dia { min-height: 0; } .agenda-semana .ag-dia { min-height: 0; }
  .ag-dia.fora { display: none; }
  .ag-item { white-space: normal; }
}

/* ============ Layout moderno (v2.1) ============ */
.cartao { background: var(--papel); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1.15rem 1.25rem; margin-bottom: 1rem; box-shadow: var(--sombra); }
.cartao h3 { font-size: .98rem; }
.btn { border: 1px solid var(--borda-forte); background: var(--papel); color: var(--texto); padding: .5rem .9rem; border-radius: var(--raio-p); font-weight: 500; font-size: .9rem; box-shadow: 0 1px 2px rgba(16,24,40,.05); transition: background .12s, border-color .12s, box-shadow .12s; }
.btn:hover { background: #F9FAFB; border-color: #98A2B3; text-decoration: none; }
.btn:focus-visible { outline: 3px solid rgba(27,68,119,.25); outline-offset: 1px; }
.btn.primario { background: var(--navy-800); border-color: var(--navy-800); color: #fff; } .btn.primario:hover { background: var(--navy-700); border-color: var(--navy-700); }
.btn.ok { color: var(--verde); border-color: #ABEFC6; background: #fff; } .btn.ok:hover { background: var(--verde-claro); }
.btn.peq { padding: .28rem .65rem; font-size: .8rem; border-radius: 8px; }
label { font-size: .82rem; font-weight: 500; color: #344054; margin-bottom: .75rem; }
input, select, textarea { border: 1px solid var(--borda-forte); border-radius: var(--raio-p); padding: .55rem .7rem; font-size: .93rem; margin-top: .3rem; box-shadow: 0 1px 2px rgba(16,24,40,.04); transition: border-color .12s, box-shadow .12s; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--navy-600); box-shadow: 0 0 0 4px rgba(27,68,119,.12); }
input[type=file] { padding: .4rem; }
.aviso { background: var(--azul-claro); border: 1px solid #D1E0F5; border-radius: var(--raio-p); padding: .75rem 1rem; }
.aviso.erro { background: var(--vermelho-claro); border-color: #FECDCA; color: #912018; }
.tag { font-size: .7rem; font-weight: 600; padding: .12rem .5rem; border-radius: 99px; text-transform: none; letter-spacing: 0; }
.cabeca { align-items: center; margin-bottom: 1rem; }
.cabeca h1 { margin: 0; }
.abas { background: #ECEAE4; padding: 3px; border-radius: 11px; display: inline-flex; gap: 2px; }
.abas a { background: transparent; border-radius: 8px; padding: .38rem .8rem; font-size: .86rem; font-weight: 500; color: #475467; }
.abas a:hover { text-decoration: none; color: var(--texto); }
.abas a.ativo { background: #fff; color: var(--navy-900); box-shadow: var(--sombra); }

/* indicadores do painel */
.resumo { gap: .9rem; margin-bottom: 1.2rem; }
.bloco { background: var(--papel); border: 1px solid var(--borda); border-top: 0; border-radius: var(--raio); padding: 1rem 1.1rem; box-shadow: var(--sombra); position: relative; overflow: hidden; transition: box-shadow .15s, transform .15s; }
.bloco::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--ouro-500); }
.bloco:hover { box-shadow: var(--sombra-alta); transform: translateY(-1px); text-decoration: none; }
.bloco b { font-family: var(--sans); font-weight: 700; font-size: 1.9rem; letter-spacing: -.02em; }
.bloco span { font-size: .82rem; }
.bloco.vermelho { background: var(--papel); } .bloco.vermelho::before { background: var(--vermelho); } .bloco.vermelho b { color: var(--vermelho); }
.bloco.laranja { background: var(--papel); } .bloco.laranja::before { background: #F79009; }
.bloco.azul::before { background: var(--navy-600); }

/* itens de prazo */
.item { background: var(--papel); border: 1px solid var(--borda); border-left: 4px solid var(--borda-forte); border-radius: 12px; padding: .75rem 1rem; margin-bottom: .55rem; box-shadow: var(--sombra); transition: box-shadow .15s; }
.item:hover { box-shadow: var(--sombra-alta); }
.item-data strong { font-size: 1rem; }
.item-titulo { font-weight: 600; font-size: .95rem; }
.urg-vencido { background: #fff; } .urg-hoje { background: #fff; }
.st-sugerido.item { border-style: dashed; border-left-style: solid; background: #FFFDF7; }

/* tabelas */
.tabela-wrap { background: var(--papel); border: 1px solid var(--borda); border-radius: var(--raio); box-shadow: var(--sombra); }
.tabela th { color: #475467; background: #F9FAFB; font-size: .7rem; font-weight: 600; letter-spacing: .05em; padding: .65rem .85rem; }
.tabela td { padding: .7rem .85rem; border-bottom: 1px solid #F2F4F7; }
.tabela tr.clicavel:hover td { background: #F9FAFB; }

/* seções e listas */
.lista-simples { list-style: none; padding: 0; margin: 0 0 .5rem; background: var(--papel); border: 1px solid var(--borda); border-radius: var(--raio); box-shadow: var(--sombra); }
.lista-simples li { padding: .6rem .9rem; margin: 0; border-bottom: 1px solid #F2F4F7; }
.lista-simples li:last-child { border-bottom: 0; }
.lista-simples:empty { display: none; }
.vazio { background: var(--papel); border: 1px dashed var(--borda-forte); border-radius: var(--raio); padding: 1rem 1.1rem; text-align: center; }
.sync { background: var(--papel); border: 1px solid var(--borda); border-radius: var(--raio-p); padding: .55rem .8rem; }
.inline-form { background: var(--papel); border: 1px solid var(--borda); border-radius: var(--raio-p); padding: .5rem .6rem; }
.inline-form select, .inline-form input { width: auto; margin: 0; }

/* alarme */
.alarme { backdrop-filter: blur(3px); }
.alarme-caixa { border: 0; border-top: 5px solid var(--vermelho); border-radius: 16px; box-shadow: 0 24px 64px rgba(5,17,34,.35); }
.alarme-item { border-radius: 12px; }

/* agenda */
.agenda-mes, .agenda-semana { border-radius: var(--raio); box-shadow: var(--sombra); }
.ag-cab { background: #F9FAFB; color: #475467; font-weight: 600; }
.ag-item { border-radius: 6px; }
.agenda-legenda .leg { font-weight: 500; }

/* login */
main.centro .cartao.login { border-top: 0; box-shadow: var(--sombra-alta); padding: 1.6rem; }
.rodape-marca { opacity: .6; }

@media (max-width: 960px) { .resumo { grid-template-columns: repeat(2, 1fr); } }

/* Pedido ao cliente / WhatsApp */
.msg-whats { font-family: var(--sans); background: #F0FDF4; border-color: #BBF7D0; line-height: 1.5; }
.btn.whats { background: #1FA855; border-color: #1FA855; color: #fff; } .btn.whats:hover { background: #178C46; border-color: #178C46; }
.item.pedido { border-left-color: #1FA855; }
.item.pedido-sugerido { border-left-color: var(--ouro-500); border-style: dashed; border-left-style: solid; }

/* Painel: audiências e pedidos lado a lado */
.painel-destaques { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; margin: 1.2rem 0 .4rem; align-items: start; }
.painel-bloco h2 { margin: 0; }
.painel-bloco-topo { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; margin-bottom: .7rem; }
.painel-bloco .item { flex-wrap: wrap; }
.painel-bloco .item-corpo { flex: 1 1 14rem; }
.painel-bloco .item-acoes { flex: 1 1 100%; flex-wrap: wrap; justify-content: flex-end; }
.resumo { grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); }
.resumo .bloco { padding: .85rem .9rem; } .resumo .bloco b { font-size: 1.7rem; }
.bloco.verde::before { background: #1FA855; }
@media (max-width: 1280px) { .painel-destaques { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .painel-destaques { grid-template-columns: 1fr; } }

.djen-status { position: fixed; right: 1rem; bottom: 4rem; z-index: 40; background: var(--navy-900); color: #fff; padding: .6rem .9rem; border-radius: 10px; font-size: .85rem; box-shadow: var(--sombra-alta); max-width: min(92vw, 420px); }
.djen-status.erro { background: var(--vermelho); }

/* ============ v2.2: moderno e funcional ============ */
/* barra superior: busca geral e criação rápida */
.barra-topo { display: flex; align-items: center; gap: .8rem; margin: -.4rem 0 1.4rem; flex-wrap: wrap; }
.busca-global { flex: 1 1 320px; position: relative; display: flex; align-items: center; }
.busca-global .ico { position: absolute; left: .8rem; color: var(--mudo); width: 18px; height: 18px; pointer-events: none; }
.busca-global input { margin: 0; padding: .65rem .9rem .65rem 2.4rem; border-radius: 12px; background: var(--papel); border-color: var(--borda); box-shadow: var(--sombra); font-size: .92rem; }
.criar-rapido { display: flex; gap: .4rem; flex-wrap: wrap; }

/* indicadores com ícone */
.bloco { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .75rem; align-items: center; }
.bloco::before { display: none; }
.bloco-ico { grid-row: span 2; width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; background: var(--ouro-100); color: var(--ouro-700); }
.bloco-ico .ico { width: 20px; height: 20px; }
.bloco b { font-size: 1.55rem; line-height: 1.1; }
.bloco span:not(.bloco-ico) { font-size: .78rem; line-height: 1.25; }
.bloco.vermelho .bloco-ico { background: var(--vermelho-claro); color: var(--vermelho); }
.bloco.laranja .bloco-ico { background: var(--laranja-claro); color: var(--laranja); }
.bloco.azul .bloco-ico { background: var(--azul-claro); color: var(--navy-600); }
.bloco.verde .bloco-ico { background: #E8F8EE; color: #178C46; }
.resumo { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }

/* avisos compactos do painel */
.avisos-painel { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .6rem; margin-bottom: .8rem; }
.avisos-painel .aviso { margin: 0; font-size: .86rem; padding: .6rem .85rem; }

/* cartões clicáveis */
[data-href] { cursor: pointer; }
.item[data-href]:hover { border-color: var(--borda-forte); box-shadow: var(--sombra-alta); transform: translateY(-1px); }
.item { transition: box-shadow .15s, transform .15s, border-color .15s; }
[data-href]:focus-visible { outline: 3px solid rgba(27,68,119,.3); outline-offset: 2px; }
.alarme-item[data-href]:hover { background: #FFFBFA; }

/* data em formato de calendário nos itens */
.item-data { width: 4.6rem; align-items: center; text-align: center; background: var(--linho-100); border-radius: 10px; padding: .4rem .3rem; gap: 0; }
.item-data strong { font-size: .86rem; }
.item-data span { font-weight: 600; font-size: .8rem; color: var(--navy-700); }
.item-data small { font-size: .7rem; }
.urg-vencido .item-data { background: var(--vermelho-claro); }
.urg-hoje .item-data { background: var(--laranja-claro); }

/* busca */
.busca-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 0 1.4rem; }
.busca-grade h2 { margin-top: 1rem; }
@media (max-width: 900px) { .barra-topo { margin-top: 0; } .criar-rapido { width: 100%; } .criar-rapido .btn { flex: 1; justify-content: center; } .busca-grade { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .item-data { width: auto; flex-direction: row; gap: .4rem; background: transparent; padding: 0; } }

.tag.oab { background: var(--ouro-100); color: var(--ouro-700); margin-top: .25rem; }
.cabeca .abas { margin: 0; }

/* Quadros do painel (audiências, prazos a vencer, documentos a pedir) */
.painel-bloco { background: var(--papel); border: 1px solid var(--borda); border-radius: var(--raio); box-shadow: var(--sombra); padding: 1rem 1rem .8rem; max-height: 640px; display: flex; flex-direction: column; min-width: 0; }
.painel-bloco > .painel-bloco-topo { flex-shrink: 0; border-bottom: 1px solid var(--borda); padding-bottom: .6rem; }
.painel-bloco h2 { font-size: 1.05rem; }
.painel-bloco .item { box-shadow: none; }
.painel-bloco > .item, .painel-bloco .lista-prazos { overflow-y: auto; }
.painel-bloco { overflow: hidden; } .painel-bloco > *:not(.painel-bloco-topo) { flex-shrink: 0; }
#audiencias, #pedidos { overflow-y: auto; }
.lista-prazos { display: flex; flex-direction: column; gap: .4rem; overflow-y: auto; flex: 1 1 auto; min-height: 0; padding-right: 2px; }
#a-vencer .lista-prazos { max-height: 520px; }
/* níveis de proximidade: 5 verde → 0 vermelho */
.pv { display: flex; align-items: center; gap: .65rem; padding: .5rem .6rem; border-radius: 10px; border: 1px solid transparent; border-left: 5px solid; background: var(--c-fundo); border-left-color: var(--c-forte); transition: transform .12s, box-shadow .12s; }
.pv:hover { transform: translateY(-1px); box-shadow: var(--sombra-alta); }
.pv-data { text-align: center; min-width: 2.9rem; line-height: 1.1; }
.pv-data b { display: block; font-size: .95rem; color: var(--c-forte); }
.pv-data small { font-size: .68rem; color: var(--mudo); text-transform: uppercase; }
.pv-corpo { flex: 1; min-width: 0; }
.pv-titulo { font-weight: 600; font-size: .86rem; line-height: 1.25; }
.pv-sub { font-size: .76rem; color: var(--mudo); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pv-falta { font-size: .72rem; font-weight: 700; color: var(--c-forte); white-space: nowrap; text-align: right; }
.pv-5 { --c-fundo: #ECFDF3; --c-forte: #067647; }
.pv-4 { --c-fundo: #F4FBE7; --c-forte: #4D7C0F; }
.pv-3 { --c-fundo: #FEF9E6; --c-forte: #A16207; }
.pv-2 { --c-fundo: #FFF3E8; --c-forte: #C2410C; }
.pv-1 { --c-fundo: #FEECEB; --c-forte: #C81E1E; }
.pv-0 { --c-fundo: #D92D20; --c-forte: #fff; }
.pv-0 .pv-titulo, .pv-0 .pv-sub, .pv-0 .pv-data small { color: #fff; }
.pv-0 .tag.sugerido { background: rgba(255,255,255,.25); color: #fff; }
.pv-legenda { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .6rem; }
.pv-legenda span { padding: .05rem .45rem; border-radius: 99px; border-left: 4px solid var(--c-forte); background: var(--c-fundo); color: var(--c-forte); font-size: .68rem; font-weight: 600; }
.pv-legenda .pv-0 { color: #fff; }

/* Para quem corre o prazo */
.destinatario-prazo { border-radius: 10px; padding: .55rem .75rem; margin-bottom: .7rem; border: 1px solid var(--borda); background: var(--linho-50); }
.destinatario-prazo.dp-cliente { background: #ECFDF3; border-color: #ABEFC6; }
.destinatario-prazo.dp-outra_parte { background: #F2F4F7; border-color: var(--borda-forte); }
.destinatario-prazo.dp-indefinido, .destinatario-prazo.dp-pendente { background: var(--laranja-claro); border-color: #FEDF89; }

/* A2/A3: atraso no "fazer até" e responsáveis */
.urg-atrasado { border-left-color: var(--vermelho); background: #FFF8F7; }
.urg-atrasado .item-data { background: var(--vermelho-claro); }
.ag-item.atrasado { outline: 2px solid var(--vermelho); outline-offset: -2px; }
.faixa-responsavel { border-left: 4px solid #F79009; }
.resp-lista { display: flex; flex-direction: column; gap: .35rem; }
.resp-item { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; padding: .4rem .5rem; border-radius: 10px; background: var(--linho-50); }
.resp-item .resp-data { font-weight: 700; font-size: .82rem; min-width: 4.5rem; }
.resp-item .resp-txt { flex: 1 1 14rem; min-width: 0; color: var(--texto); text-decoration: none; font-size: .86rem; }
.resp-item select { width: auto; margin: 0; padding: .3rem .5rem; font-size: .85rem; }
.bloco span small { color: var(--mudo); font-size: .72rem; }
.faixa-topo { display: flex; gap: .5rem; flex-wrap: wrap; }
.faixa-topo a { display: inline-flex; align-items: center; gap: .3rem; padding: .35rem .7rem; border-radius: 99px; font-size: .82rem; font-weight: 600; text-decoration: none; }
.faixa-topo .ft-hoje { background: var(--vermelho); color: #fff; }
.faixa-topo .ft-resp { background: #FEF0C7; color: #93370D; }
.faixa-topo .ft-atraso { background: var(--vermelho-claro); color: var(--vermelho); }

/* 2FA */
.campo-codigo { font-size: 1.4rem; letter-spacing: .3em; text-align: center; font-variant-numeric: tabular-nums; }
.qr-2fa { display: grid; place-items: center; padding: .8rem; background: #fff; border: 1px solid var(--borda); border-radius: 12px; margin: .6rem 0; }
.chave-2fa { user-select: all; word-break: break-all; font-size: .85rem; }
.passos-2fa { padding-left: 1.2rem; font-size: .9rem; } .passos-2fa li { margin-bottom: .3rem; }
.codigos-rec { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: .4rem; margin: .8rem 0; }
.codigos-rec code { display: block; text-align: center; padding: .4rem; background: var(--linho-100); border-radius: 8px; font-size: .95rem; user-select: all; }

.usos-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .5rem; }
.uso-item { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .6rem .7rem; border: 1px solid var(--borda); border-radius: 10px; background: var(--linho-50); }
.uso-item.ligado { background: #ECFDF3; border-color: #ABEFC6; }

/* B3: memória de cálculo */
.mem-bloco { margin-top: .5rem; } .mem-bloco ul { margin: .2rem 0 0 1.1rem; padding: 0; } .mem-bloco li { margin-bottom: .2rem; }
.aviso-desligado { background: var(--laranja-claro); border-left: 3px solid #F79009; padding: .35rem .55rem; border-radius: 6px; }

.barra-lote { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; background: var(--papel); border: 1px solid var(--borda); border-radius: var(--raio-p); padding: .45rem .6rem; margin-bottom: .6rem; }
.barra-lote select { width: auto; margin: 0; padding: .3rem .5rem; font-size: .85rem; }
.legenda-conf .conf { margin-left: .3rem; }

.pf-descartar { margin-top: .6rem; padding-top: .5rem; border-top: 1px dashed var(--borda); display: flex; gap: .5rem; align-items: center; justify-content: flex-end; }

.decisao-opcoes { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: .5rem; }

/* Histórico (andamento interno) */
.linha-tempo { list-style: none; margin: 0; padding: 0; background: var(--papel); border: 1px solid var(--borda); border-radius: var(--raio); max-height: 420px; overflow-y: auto; }
.linha-tempo li { display: grid; grid-template-columns: 8.5rem 5.5rem 1fr; gap: .5rem; padding: .45rem .8rem; border-bottom: 1px solid #F2F4F7; font-size: .84rem; }
.linha-tempo li:last-child { border-bottom: 0; }
.lt-quando { color: var(--mudo); font-variant-numeric: tabular-nums; } .lt-quem { font-weight: 600; } .lt-o-que { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 720px) { .linha-tempo li { grid-template-columns: 1fr; gap: .1rem; } }

.item-sel { display: flex; gap: .5rem; align-items: flex-start; } .item-sel > input { margin-top: 1.1rem; } .item-sel-corpo { flex: 1; min-width: 0; }

/* B1: Meu dia — uma rolagem só, sem caixas com rolagem interna */
.meu-dia { background: var(--papel); border: 1px solid var(--borda); border-radius: var(--raio); box-shadow: var(--sombra); padding: 1rem 1.1rem; margin-top: 1rem; }
.meu-dia h2 { margin: 0; }
.lista-dia { display: flex; flex-direction: column; gap: .4rem; margin-top: .7rem; }
.filtro-dia { margin: 0; }
.dia-item .pv-falta { display: flex; flex-direction: column; align-items: flex-end; gap: .3rem; }
.painel-bloco, #audiencias, #pedidos { max-height: none; overflow: visible; }

.agenda-modos { margin: 0; }
.checklist-aud { border: 1px solid var(--borda); border-radius: 10px; padding: .6rem .8rem; margin: 0 0 .8rem; }
.checklist-aud legend { font-weight: 600; font-size: .85rem; padding: 0 .3rem; }

/* B5: processo em modo leitura; campo de arquivo */
.dados-leitura { display: grid; grid-template-columns: 8.5rem 1fr; gap: .35rem .6rem; margin: 0; font-size: .88rem; }
.dados-leitura dt { color: var(--mudo); } .dados-leitura dd { margin: 0; overflow-wrap: anywhere; }
.editar-processo > summary { list-style: none; margin-bottom: .6rem; display: inline-flex; } .editar-processo > summary::-webkit-details-marker { display: none; }
.editar-processo[open] > summary { display: none; }
input[type=file]::file-selector-button { border: 1px solid var(--borda-forte); background: var(--linho-100); color: var(--texto); padding: .35rem .7rem; border-radius: 8px; margin-right: .6rem; font: inherit; cursor: pointer; }
input[type=file]::file-selector-button:hover { background: var(--linho-200); }

/* B6: ações dos documentos sem corte */
.acoes-doc { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; min-width: 9rem; }
.tabela td.acoes-doc { white-space: normal; }

/* B9: celular — nada vaza para os lados */
.duas-colunas > *, .painel-destaques > *, .busca-grade > * { min-width: 0; }
select, input, textarea { max-width: 100%; }
.item-acoes { flex-wrap: wrap; }
.inline-form > * { min-width: 0; }
@media (max-width: 720px) {
  .item { flex-wrap: wrap; }
  .item-corpo { flex: 1 1 12rem; }
  .item-acoes { justify-content: flex-start; flex: 1 1 100%; flex-shrink: 1; }
  .cabeca { align-items: flex-start; }
  .cabeca h1 { font-size: 1.45rem; }
  .agenda-barra, .agenda-legenda { gap: .3rem; }
  .barra-lote select { flex: 1 1 8rem; }
  .conteudo table { display: block; overflow-x: auto; max-width: 100%; }
}
code, .item-sub, .cartao p { overflow-wrap: anywhere; }

/* C1: cadastro de clientes */
.form-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr)); gap: .7rem 1rem; }
.form-grade label { display: flex; flex-direction: column; gap: .25rem; font-size: .82rem; font-weight: 600; color: var(--navy-700); }
.form-grade .largo { grid-column: 1 / -1; }
.linha-vinculo { padding: .45rem 0; border-bottom: 1px solid var(--borda); }
.linha-vinculo .acoes-doc { margin-top: .3rem; }
.lista-fontes { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }

/* Repositório de clientes e partes: classificação */
.tag.classe { text-transform: none; letter-spacing: 0; }
.tag.classe-cliente { background: var(--verde-claro); color: var(--verde); }
.tag.classe-parte_contraria { background: var(--vermelho-claro); color: var(--vermelho); }
.tag.classe-interessado, .tag.classe-representante { background: var(--linho-200); color: var(--navy-700); }
.tag.classe-testemunha, .tag.classe-ex_cliente, .tag.classe-outro { background: var(--linho-100); color: var(--mudo); }
.tag.classe-a_classificar { background: #FFF4D6; color: #7A5A00; }
.abas-rolam { overflow-x: auto; flex-wrap: nowrap; max-width: 100%; }
.abas-rolam a { white-space: nowrap; }
.abas .aba-alerta { color: var(--vermelho); }
.lote-classificar { display: inline-flex; gap: .35rem; align-items: center; flex-wrap: wrap; }
.tabela td.col-nome { min-width: 13rem; }

/* Qualidade dos dados do cadastro */
.tag.nivel { text-transform: none; letter-spacing: 0; }
.tag.nivel-confirmado { background: var(--verde-claro); color: var(--verde); }
.tag.nivel-fonte_unica { background: var(--linho-200); color: var(--navy-700); }
.tag.nivel-sem_documento { background: var(--linho-100); color: var(--mudo); }
.tag.nivel-divergente { background: var(--vermelho-claro); color: var(--vermelho); }
.tabela tr.selecionado td { background: var(--linho-100); font-weight: 600; }

/* Sugestões enquanto digita */
.sug-ancora { position: relative; display: inline-flex; flex: 1 1 14rem; min-width: 0; }
.sug-ancora > input { width: 100%; }
.sugestoes { position: absolute; top: calc(100% + 4px); left: 0; right: 0; min-width: min(26rem, 92vw); z-index: 60; background: var(--papel); border: 1px solid var(--borda); border-radius: 12px; box-shadow: var(--sombra-alta); padding: .3rem; max-height: min(70vh, 30rem); overflow-y: auto; }
.sug-item { display: flex; gap: .6rem; align-items: center; padding: .45rem .55rem; border-radius: 8px; color: inherit; text-decoration: none; }
.sug-item.ativo, .sug-item:hover { background: var(--linho-100); }
.sug-tipo { flex: 0 0 auto; font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; color: var(--ouro-700); font-weight: 600; min-width: 6.5rem; }
.sug-texto { display: flex; flex-direction: column; min-width: 0; }
.sug-texto b { font-weight: 600; font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sug-texto small { color: var(--mudo); font-size: .76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sug-todos { display: block; width: 100%; text-align: left; margin-top: .2rem; padding: .5rem .55rem; border: 0; border-top: 1px solid var(--borda); background: none; color: var(--navy-700); font: inherit; font-size: .85rem; cursor: pointer; border-radius: 0 0 8px 8px; }
.sug-todos:hover { background: var(--linho-100); }
.sug-todos kbd { font: inherit; font-size: .7rem; border: 1px solid var(--borda); border-radius: 4px; padding: 0 .3rem; margin-left: .3rem; color: var(--mudo); }
.sug-vazio { padding: .5rem .55rem; color: var(--mudo); font-size: .85rem; }
@media (max-width: 720px) { .sug-tipo { min-width: 0; } .sugestoes { min-width: 0; } }
/* o formulário com a caixa de sugestões aberta fica por cima dos cartões seguintes */
.filtros:focus-within, .sug-ancora:focus-within, .busca-global:focus-within { position: relative; z-index: 80; }

/* Seleção em lote: caixinha alinhada ao texto, célula inteira clicável */
.barra-lote label.check { display: inline-flex; align-items: center; gap: .4rem; margin: 0; white-space: nowrap; cursor: pointer; }
.barra-lote label.check input, .cel-lote input { width: 1.05rem; height: 1.05rem; margin: 0; flex: 0 0 auto; cursor: pointer; accent-color: var(--navy-700); }
.tabela td.cel-lote { width: 2.4rem; text-align: center; cursor: pointer; }
.item-sel > input.lote-item { width: 1.05rem; height: 1.05rem; accent-color: var(--navy-700); cursor: pointer; }
.barra-lote button:disabled { opacity: .45; cursor: not-allowed; }
