/* Sistema Gomes — tema da marca Ivomar Gomes Advogados */
:root{
  --creme:#F6F2E9; --offwhite:#FDFBF6; --primaria:#15392B; --salvia:#6B8569;
  --dourado:#C2A05A; --dourado-claro:#DDC084; --tinta:#26312B; --tinta2:#5E6B62;
  --burgundy:#8C3B32; --linha:#E3DBC9;
  --bg:var(--creme); --painel:var(--offwhite); --texto:var(--tinta);
  --texto2:var(--tinta2); --borda:var(--linha); --marca:var(--primaria);
  --trilho:#EAE3D2; --nav:#15392B; --nav-texto:#EFE9DA; --nav-ativo:#C2A05A;
  --ok:#2E6B4F; --alerta:#8C3B32; --aviso:#B5852A;
  --sombra:0 1px 3px rgba(21,57,43,.08), 0 6px 20px rgba(21,57,43,.05);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#10201A; --painel:#16271F; --texto:#ECE6D6; --texto2:#A9B3A3;
    --borda:#25392E; --marca:#EDE7D7; --trilho:#22342B; --creme:#16271F;
    --dourado:#D8B871; --nav:#0E1C16; --nav-texto:#Dfe6d8; --nav-ativo:#D8B871;
    --ok:#4E9C77; --alerta:#C56A5F;
    --sombra:0 1px 3px rgba(0,0,0,.3), 0 6px 20px rgba(0,0,0,.25);
  }
}
:root[data-theme="dark"]{
  --bg:#10201A; --painel:#16271F; --texto:#ECE6D6; --texto2:#A9B3A3;
  --borda:#25392E; --marca:#EDE7D7; --trilho:#22342B; --creme:#16271F;
  --dourado:#D8B871; --nav:#0E1C16; --nav-texto:#Dfe6d8; --nav-ativo:#D8B871;
  --ok:#4E9C77; --alerta:#C56A5F;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; background:var(--bg); color:var(--texto);
  font-family:"Source Sans 3",system-ui,-apple-system,sans-serif; line-height:1.5;
  -webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3,h4{font-family:"Marcellus",Georgia,serif; font-weight:400; margin:0; text-wrap:balance}
.num{font-variant-numeric:tabular-nums}
.eyebrow{font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--dourado); font-weight:600}

/* topo */
.topbar{background:var(--nav); color:var(--nav-texto)}
.topbar .row1{display:flex; align-items:center; gap:14px; max-width:1180px; margin:0 auto; padding:10px 20px}
.brand{display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--nav-texto)}
.brand svg{width:42px; height:29px; flex:none}
.brand .i{fill:#EFE9DA} .brand .g{fill:#9DB89A} .brand .sw{fill:var(--dourado)}
.brand b{font-family:"Marcellus",serif; font-weight:400; font-size:1.05rem; line-height:1}
.brand span{display:block; font-size:.68rem; color:#AEC0B0; letter-spacing:.04em}
.topbar .sp{flex:1}
.topbar .user{font-size:.82rem; color:#CFE0D3; display:flex; align-items:center; gap:12px}
.topbar .user a{color:#CFE0D3; text-decoration:none; opacity:.85}
.topbar .user a:hover{opacity:1}
nav.menu{max-width:1180px; margin:0 auto; padding:0 12px; display:flex; flex-wrap:wrap; gap:2px}
nav.menu a{color:var(--nav-texto); text-decoration:none; font-size:.9rem; padding:11px 14px;
  border-bottom:3px solid transparent; opacity:.9; white-space:nowrap}
nav.menu a:hover{opacity:1; background:rgba(255,255,255,.05)}
nav.menu a.on{border-bottom-color:var(--nav-ativo); color:#fff; opacity:1; font-weight:600}
.dropdown{position:relative; display:flex; align-items:stretch}
.dropdown>a{cursor:pointer; display:flex; align-items:center}
.dropdown-menu{position:absolute; top:100%; left:0; min-width:200px; background:var(--painel);
  border:1px solid var(--borda); border-radius:0 0 10px 10px; box-shadow:var(--sombra);
  display:none; z-index:50; padding:6px 0}
.dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu{display:block}
.dropdown-menu a{display:block; padding:9px 16px; color:var(--texto); text-decoration:none;
  font-size:.9rem; border-bottom:none; opacity:1}
.dropdown-menu a:hover{background:color-mix(in srgb,var(--dourado) 12%,transparent)}
.dropdown-menu a.on{color:var(--marca); font-weight:600; background:color-mix(in srgb,var(--dourado) 10%,transparent)}
:root[data-theme="dark"] .dropdown-menu a.on,:root:not([data-theme="light"]) .dropdown-menu a.on{color:var(--dourado)}

/* conteúdo */
main{max-width:1180px; margin:0 auto; padding:22px 20px 80px}
.crumb{font-size:.8rem; color:var(--texto2); margin-bottom:16px; display:flex; gap:6px; align-items:center}
.crumb a{text-decoration:none; color:var(--texto2)} .crumb a:hover{color:var(--dourado)}
.page-h{display:flex; align-items:baseline; gap:14px; margin-bottom:6px}
.page-h h1{font-size:1.7rem}
.page-h .cnt{margin-left:auto; font-size:.85rem; color:var(--texto2)}
.page-desc{color:var(--texto2); font-size:.92rem; margin:0 0 22px; max-width:70ch}

/* cartões / kpis */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; margin:18px 0}
.card{background:var(--painel); border:1px solid var(--borda); border-radius:11px; padding:16px 18px; box-shadow:var(--sombra)}
.card .v{font-family:"Marcellus",serif; font-size:2rem; line-height:1}
.card .v .u{font-size:.9rem; color:var(--texto2)}
.card .l{font-size:.78rem; color:var(--texto2); margin-top:6px}
.card.destaque{background:var(--marca); border-color:var(--marca)}
.card.destaque .v{color:#FDFBF6} .card.destaque .l{color:#CFE0D3}
:root[data-theme="dark"] .card.destaque .v,:root:not([data-theme="light"]) .card.destaque .v{color:#0F1E18}
:root[data-theme="dark"] .card.destaque .l,:root:not([data-theme="light"]) .card.destaque .l{color:#2C4A3B}

/* painel/tabela */
.painel{background:var(--painel); border:1px solid var(--borda); border-radius:12px; box-shadow:var(--sombra); overflow:hidden}
.painel .ph{padding:14px 18px; border-bottom:1px solid var(--borda); display:flex; align-items:center; gap:12px}
.painel .ph h2{font-size:1.15rem}
.tabela-wrap{overflow-x:auto}
table{width:100%; border-collapse:collapse; font-size:.9rem}
th,td{text-align:left; padding:11px 16px; border-bottom:1px solid var(--borda); vertical-align:top}
th{font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--texto2); font-weight:600; background:color-mix(in srgb,var(--texto2) 6%,transparent)}
tbody tr:hover{background:color-mix(in srgb,var(--dourado) 8%,transparent)}
td a.link{color:var(--marca); text-decoration:none; font-weight:600}
:root[data-theme="dark"] td a.link,:root:not([data-theme="light"]) td a.link{color:var(--dourado)}
td a.link:hover{text-decoration:underline}

/* selos */
.selo{display:inline-block; font-size:.7rem; padding:2px 9px; border-radius:999px; font-weight:600; letter-spacing:.02em; white-space:nowrap}
.selo.ativo{background:color-mix(in srgb,var(--ok) 18%,transparent); color:var(--ok)}
.selo.findo{background:var(--trilho); color:var(--texto2)}
.selo.ganho{background:color-mix(in srgb,var(--ok) 18%,transparent); color:var(--ok)}
.selo.perda{background:color-mix(in srgb,var(--alerta) 16%,transparent); color:var(--alerta)}
.selo.acordo{background:color-mix(in srgb,var(--dourado) 20%,transparent); color:var(--aviso)}
.selo.parcial{background:color-mix(in srgb,var(--salvia) 22%,transparent); color:var(--salvia)}
.selo.extinto,.selo.em_curso{background:var(--trilho); color:var(--texto2)}

/* form / busca */
form.busca{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:8px}
.radios{display:flex; gap:4px; flex-wrap:wrap}
.radios label{font-size:.85rem; padding:7px 12px; border:1px solid var(--borda); border-radius:8px; cursor:pointer; background:var(--painel)}
.radios input{margin-right:6px}
.radios input:checked+span{font-weight:600}
input[type=text],input[type=search],input[type=password],input[type=date],select,textarea{
  font:inherit; padding:9px 12px; border:1px solid var(--borda); border-radius:8px;
  background:var(--painel); color:var(--texto); min-width:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--dourado); outline-offset:1px; border-color:var(--dourado)}
.btn{font:inherit; font-weight:600; padding:9px 18px; border-radius:8px; border:1px solid var(--marca);
  background:var(--marca); color:#FDFBF6; cursor:pointer; text-decoration:none; display:inline-block}
.btn:hover{filter:brightness(1.08)}
.btn.sec{background:transparent; color:var(--texto)}
:root[data-theme="dark"] .btn,:root:not([data-theme="light"]) .btn{color:#0F1E18}

/* barras (métricas) */
.bars{display:flex; flex-direction:column; gap:10px}
.bar .top-line{display:flex; justify-content:space-between; gap:10px; font-size:.88rem; margin-bottom:4px}
.bar .val{color:var(--texto2); font-variant-numeric:tabular-nums}
.track{height:9px; background:var(--trilho); border-radius:6px; overflow:hidden}
.fill{height:100%; background:var(--salvia); border-radius:6px}
.fill.ouro{background:var(--dourado)} .fill.marca{background:var(--marca)}
.fill.ok{background:var(--ok)} .fill.perda{background:var(--alerta)}

/* paginação */
.pag{display:flex; gap:8px; align-items:center; justify-content:center; margin-top:18px; font-size:.88rem; color:var(--texto2)}
.pag a{padding:6px 12px; border:1px solid var(--borda); border-radius:8px; text-decoration:none; color:var(--texto)}
.pag a[aria-disabled=true]{opacity:.4; pointer-events:none}

/* abas */
.abas{display:flex; gap:2px; border-bottom:1px solid var(--borda); flex-wrap:wrap; margin-bottom:18px}
.abas a{padding:10px 16px; text-decoration:none; color:var(--texto2); border-bottom:3px solid transparent; font-size:.92rem}
.abas a.on{color:var(--texto); border-bottom-color:var(--dourado); font-weight:600}

/* nota/alerta */
.nota{background:color-mix(in srgb,var(--dourado) 12%,var(--painel)); border:1px solid var(--dourado);
  border-radius:10px; padding:13px 16px; font-size:.88rem; margin:14px 0}
.vazio{padding:40px 20px; text-align:center; color:var(--texto2)}

/* login */
.login-wrap{min-height:100vh; display:grid; place-items:center; padding:20px; background:
  radial-gradient(1200px 500px at 50% -10%, color-mix(in srgb,var(--salvia) 20%,var(--bg)), var(--bg))}
.login-card{background:var(--painel); border:1px solid var(--borda); border-radius:16px; box-shadow:var(--sombra);
  padding:38px 34px; width:100%; max-width:380px; text-align:center}
.login-card svg{width:76px; height:52px; margin:0 auto 8px}
.login-card .i{fill:var(--marca)} .login-card .g{fill:var(--salvia)} .login-card .sw{fill:var(--dourado)}
.login-card h1{font-size:1.4rem; margin-bottom:4px}
.login-card p{color:var(--texto2); font-size:.86rem; margin:0 0 22px}
.login-card form{display:flex; flex-direction:column; gap:12px; text-align:left}
.login-card .btn{margin-top:6px; text-align:center}
.erro{background:color-mix(in srgb,var(--alerta) 14%,var(--painel)); border:1px solid var(--alerta);
  color:var(--alerta); border-radius:8px; padding:9px 12px; font-size:.85rem}
.sucesso{background:color-mix(in srgb,var(--ok) 14%,var(--painel)); border:1px solid var(--ok);
  color:var(--ok); border-radius:8px; padding:9px 12px; font-size:.85rem; margin-bottom:12px; text-align:left}

/* rodapé */
footer.rodape{max-width:1180px; margin:0 auto; padding:26px 20px; color:var(--texto2); font-size:.8rem; border-top:1px solid var(--borda)}

/* leitura de textos longos (publicações, andamentos, intimações DJEN) */
details summary{cursor:pointer; list-style:none}
details summary::-webkit-details-marker{display:none}
.texto-longo{white-space:pre-wrap; margin-top:10px; padding:12px 14px;
  background:color-mix(in srgb,var(--salvia) 8%,var(--painel)); border:1px solid var(--borda);
  border-radius:8px; color:var(--texto); font-size:.92rem; line-height:1.6; overflow-wrap:anywhere}

/* lista de leitura em cards (publicações, andamentos) */
.lista-leitura{display:flex; flex-direction:column; gap:10px}
.item-leitura{background:var(--painel); border:1px solid var(--borda); border-radius:12px;
  box-shadow:var(--sombra); padding:12px 16px}
.item-leitura>summary{cursor:pointer; outline:none}
.item-leitura>summary:focus-visible{outline:2px solid var(--dourado); outline-offset:2px; border-radius:6px}
.il-head{display:flex; flex-wrap:wrap; gap:6px 14px; align-items:baseline; font-size:.85rem; color:var(--texto2)}
.il-head .il-data{font-weight:700; color:var(--texto)}
.il-head .il-org{font-weight:600}
.il-head .il-proc{margin-left:auto; white-space:nowrap}
.il-cli{font-size:.82rem; color:var(--texto2); margin-top:2px}
.il-prev{margin-top:7px; color:var(--texto); font-size:.9rem; line-height:1.5}
.item-leitura[open] .il-prev{display:none}
.item-leitura[open]{border-color:var(--dourado)}

/* chips de atalho */
.chips{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px}
.chip{padding:6px 13px; border:1px solid var(--borda); border-radius:999px; text-decoration:none;
  color:var(--texto2); font-size:.85rem; background:var(--painel)}
.chip:hover{border-color:var(--dourado); color:var(--texto)}

/* telefone clicável (celular: liga/WhatsApp) */
.tel{display:inline-flex; align-items:center; gap:6px; text-decoration:none; color:var(--marca); font-weight:600; white-space:nowrap}
:root[data-theme="dark"] .tel,:root:not([data-theme="light"]) .tel{color:var(--dourado)}
.tel .wa{font-size:.9em}

@media(max-width:640px){
  main{padding:16px 14px 70px}
  .page-h{flex-wrap:wrap}
  .page-h h1{font-size:1.4rem}
  .page-h .cnt{margin-left:0}
  th,td{padding:9px 11px}
  nav.menu{overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch}
  nav.menu a{padding:11px 12px; font-size:.88rem}
  form.busca{gap:8px}
  form.busca input[type=text],form.busca input[type=search]{flex:1 1 100%}
  .il-head .il-proc{margin-left:0; flex-basis:100%}
  .cards{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
}
