/* Monitor de Tribunais · identidade fgmtIA */
:root{
  --noite:#0f1d24; --noite-2:#16272f; --noite-3:#1d2f38;
  --turq:#22c7c0; --turq-esc:#0e8f8a; --cinza-logo:#9aa7ae;
  --bg:#f2f5f5; --panel:#ffffff; --ink:#15232b; --muted:#5b6a72; --line:#dfe5e6;
  --green:#14a05a; --green-soft:#e4f5eb; --red:#d92d20; --red-soft:#fdecea; --amber:#b86e00; --amber-soft:#fff4da;
  --raio:12px; --sombra:0 1px 2px rgba(15,29,36,.06),0 6px 20px rgba(15,29,36,.05);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--turq-esc)}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
h1,h2,h3{letter-spacing:-.015em;line-height:1.2}
code{background:#e9eeef;padding:1px 5px;border-radius:4px}

/* topo */
.topo{background:var(--noite);color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--noite-3)}
.topo-in{display:flex;align-items:center;gap:14px;height:62px}
.logo{display:inline-flex;align-items:center;text-decoration:none;font-weight:700;font-size:24px;letter-spacing:-.04em;line-height:1}
.logo-fgmt{color:var(--cinza-logo)}
.logo-ia{margin-left:3px;background:var(--noite-3);color:var(--turq);border-radius:8px;padding:3px 8px 4px;font-size:21px;letter-spacing:0;box-shadow:inset 0 0 0 1px rgba(34,199,192,.25)}
.topo-nome{color:#c9d3d7;font-size:14px;padding-left:14px;border-left:1px solid var(--noite-3)}
.topo-nav{margin-left:auto;display:flex;gap:18px;align-items:center}
.topo-nav a{color:#c9d3d7;text-decoration:none;font-size:14px}
.topo-nav a:hover{color:#fff}
.topo-nav .topo-cta{background:var(--turq);color:var(--noite);font-weight:600;padding:8px 14px;border-radius:8px}
.topo-nav .topo-cta:hover{color:var(--noite);filter:brightness(1.07)}

/* hero */
.hero{background:linear-gradient(180deg,var(--noite) 0%,var(--noite-2) 100%);color:#fff;padding:44px 0 72px}
.eyebrow{color:var(--turq);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}
.hero h1{font-size:clamp(28px,4.2vw,44px);margin:0 0 14px;max-width:820px}
.hero .lead{color:#c9d3d7;font-size:17px;max-width:760px;margin:0 0 18px}
.hero-status{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:#c9d3d7;background:rgba(255,255,255,.05);border:1px solid var(--noite-3);padding:6px 12px;border-radius:999px}
.pulso{width:9px;height:9px;border-radius:50%;background:var(--turq);box-shadow:0 0 0 0 rgba(34,199,192,.6);animation:pulso 2s infinite}
@keyframes pulso{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* painel */
#painel{position:relative}
.pg-painel #painel{margin-top:-44px}
.aviso-robo{background:var(--amber-soft);color:#6b4500;border:1px solid #f0d58a;border-radius:10px;padding:10px 14px;margin:0 0 14px;font-size:14px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--raio);padding:14px 16px;box-shadow:var(--sombra)}
.kpi b{display:block;font:500 32px/1.1 "IBM Plex Mono",monospace;letter-spacing:-.03em}
.kpi span{color:var(--muted);font-size:13px}
.kpi.g b{color:var(--green)} .kpi.a b{color:var(--amber)} .kpi.r b{color:var(--red)}
.filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.filtros input[type=search],.filtros select{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink)}
.filtros input[type=search]{flex:1;min-width:220px}
.toggle{display:flex;gap:7px;align-items:center;font-size:14px;color:var(--muted);cursor:pointer}
.chips-ramo{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.chip{font:inherit;font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}
.chip.on{background:var(--noite);color:#fff;border-color:var(--noite)}
.grupo{margin-bottom:26px}
.grupo h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.grupo h2 em{font-style:normal;font-family:"IBM Plex Mono",monospace;letter-spacing:.02em}
em.r,.r{color:var(--red)} em.a,.a{color:var(--amber)} .g{color:var(--green)}
.lista{background:var(--panel);border:1px solid var(--line);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra)}
.row{display:grid;grid-template-columns:200px 230px 1fr;gap:14px;padding:13px 16px;border-top:1px solid var(--line);align-items:start}
.row:first-child{border-top:0}
.row.down{background:var(--red-soft)} .row.warn{background:var(--amber-soft)}
.row.unico{grid-template-columns:260px 1fr;border:1px solid var(--line);border-radius:var(--raio);box-shadow:var(--sombra);background:var(--panel)}
.row.unico.down{background:var(--red-soft)} .row.unico.warn{background:var(--amber-soft)}
.luz{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.luz strong{display:block;font-weight:600}
.luz small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:2px}
.luz .dot{width:16px;height:16px;border-radius:50%;flex:none;margin-top:3px;background:#a5afb4}
.luz.up strong{color:var(--green)} .luz.down strong{color:var(--red)} .luz.warn strong{color:var(--amber)} .luz.pend strong{color:var(--muted)}
.luz.up .dot{background:var(--green);box-shadow:0 0 0 4px rgba(20,160,90,.16),0 0 12px rgba(20,160,90,.5)}
.luz.down .dot{background:var(--red);box-shadow:0 0 0 4px rgba(217,45,32,.18),0 0 14px rgba(217,45,32,.6);animation:pisca 1.4s infinite}
.luz.warn .dot{background:#e39a12;box-shadow:0 0 0 4px rgba(227,154,18,.2),0 0 12px rgba(227,154,18,.55)}
.luz.grande{font-size:22px}.luz.grande .dot{width:24px;height:24px;margin-top:4px}.luz.grande small{font-size:13px}
@keyframes pisca{50%{opacity:.55}}
.trib b{font-family:"IBM Plex Mono",monospace;font-size:15px}
.trib a{text-decoration:none;color:var(--ink)} .trib a:hover b{color:var(--turq-esc);text-decoration:underline}
.trib div{font-size:12.5px;color:var(--muted)}
.sists{display:flex;gap:6px;flex-wrap:wrap}
.sis{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;padding:3px 9px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);text-decoration:none}
.sis i{width:7px;height:7px;border-radius:50%;background:#a5afb4}
.sis.ok i{background:var(--green)} .sis.no i{background:var(--red)} .sis.at i{background:#e39a12}
.sis small{color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:11px}
.oc{margin-top:9px;border-left:3px solid var(--red);padding:5px 0 5px 12px}
.oc.at{border-color:#e39a12}
.oc-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:3px}
.oc-top small{color:var(--muted)}
.tag{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:5px;background:var(--red);color:#fff}
.oc.at .tag{background:#e39a12;color:#231600}
.fonte{font-size:12px;color:var(--muted);word-break:break-word}
.fonte b{color:var(--red);font-weight:600}
.oc.at .fonte b{color:var(--amber)}
.oc q{display:block;font-size:14px;margin-top:3px;quotes:"“" "”"}
.hora{font-size:11.5px;color:var(--muted);margin-top:7px;font-family:"IBM Plex Mono",monospace}
.velho{color:var(--amber)}
.sem-oc{color:var(--muted);font-size:14px;margin:10px 0 0}
.vazio{padding:30px;text-align:center;color:var(--muted)}

/* CTAs */
.ctas{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:34px 0}
.cta{border-radius:16px;padding:24px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--sombra)}
.cta h3{margin:0 0 8px;font-size:21px}
.cta p{margin:0 0 16px;color:var(--muted)}
.cta-fgm{background:var(--noite);color:#fff;border-color:var(--noite)}
.cta-fgm p{color:#c9d3d7}
.btn,.btn-sec{display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:600;font-size:15px;padding:11px 18px;border-radius:9px;border:0;cursor:pointer;text-decoration:none}
.btn{background:var(--turq-esc);color:#fff}
.btn:hover{filter:brightness(1.08)}
.btn-wa{background:#25d366;color:#0b2b17}
.btn-sec{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.perigo{background:var(--red)}
.btn.grande{font-size:17px;padding:14px 24px}

/* como funciona */
.como{margin:10px 0 50px}
.como h2{font-size:22px}
.como-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.como-grid>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--raio);padding:16px}
.como-grid p{margin:6px 0 0;color:var(--muted);font-size:14px}
.dot-ex{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:-1px}
.dot-ex.up{background:var(--green)} .dot-ex.warn{background:#e39a12} .dot-ex.down{background:var(--red)}
.nota{color:var(--muted);font-size:13.5px}

/* páginas internas */
.pagina{padding:30px 20px 50px}
.pagina.estreita{max-width:820px}
.pagina h1{font-size:clamp(26px,3.5vw,36px);margin:6px 0 10px}
.lead{font-size:17px;color:var(--muted)}
.migalha{font-size:13px;color:var(--muted)} .migalha a{color:var(--muted)}
.trib-topo{margin-bottom:16px}
.cartao-status{margin-bottom:10px}
.bloco{margin:34px 0}
.bloco h2{font-size:20px}
.bloco.duas{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.tabela{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--raio)}
.tabela table{width:100%;border-collapse:collapse;font-size:14px}
.tabela th,.tabela td{padding:10px 12px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.tabela th{background:#f6f8f8;color:var(--muted);font-weight:500;border-top:0}
.hist-txt{font-size:12.5px;color:var(--muted);margin-top:3px}
.tag-mini{font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:5px;color:#fff;background:var(--red)}
.tag-mini.a{background:#e39a12;color:#231600}
.fontes{padding-left:18px;font-size:14px} .fontes li{margin:4px 0;word-break:break-word}
.relacionados{display:flex;gap:8px;flex-wrap:wrap}
.rel{display:inline-flex;gap:7px;align-items:center;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);text-decoration:none;color:var(--ink);font-family:"IBM Plex Mono",monospace;font-size:13px}
.rel .dot{width:8px;height:8px;border-radius:50%;background:#a5afb4}
.rel.up .dot{background:var(--green)} .rel.down .dot{background:var(--red)} .rel.warn .dot{background:#e39a12}
.texto h2{font-size:19px;margin-top:28px}

/* formulários */
.form{display:flex;flex-direction:column;gap:18px;margin-top:20px}
.form fieldset{border:1px solid var(--line);border-radius:var(--raio);padding:14px 16px;background:var(--panel);margin:0}
.form legend{font-weight:600;padding:0 6px}
.campo{display:flex;flex-direction:column;gap:5px;font-size:14px}
.campo span{font-weight:500}
.campo input,.form textarea,.linha-acoes input{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}
.campo.erro input{border-color:var(--red)}
.campos-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ck{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;margin:6px 0;cursor:pointer}
.ck input{margin-top:3px}
.ck.forte{font-weight:600}
.ck.erro{color:var(--red)}
.filtro-trib{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;width:100%;margin:6px 0 10px}
.grade-trib{max-height:340px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 12px;padding-right:4px}
.grade-trib.desligada{opacity:.4;pointer-events:none}
.grade-ramo{display:contents}
.grade-ramo>b{grid-column:1/-1;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:10px}
.grade-trib .ck{margin:3px 0;font-family:"IBM Plex Mono",monospace;font-size:13.5px}
.grade-trib .ck small{color:var(--muted)}
.msg-erro{color:var(--red);font-size:13px;font-style:normal;margin:4px 0 0}
.lgpd .ck{font-size:13.5px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.caixa{border:1px solid var(--line);background:var(--panel);border-radius:var(--raio);padding:16px 18px;margin:16px 0}
.caixa.ok{border-color:#9fdcb9;background:var(--green-soft)}
.caixa.erro{border-color:#f2b8b2;background:var(--red-soft)}
.caixa h1,.caixa h2{margin-top:0}

/* rodapé */
.rodape{background:var(--noite);color:#c9d3d7;padding:36px 0;margin-top:20px;font-size:14px}
.rodape-in{display:grid;grid-template-columns:2fr 1fr;gap:30px}
.rodape a{color:var(--turq)}
.rodape-links{display:flex;flex-direction:column;gap:8px}
.aviso-legal{font-size:12.5px;color:#8fa0a8}
.wa-float{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:30}
.cookies{position:fixed;left:16px;right:90px;bottom:16px;max-width:640px;background:var(--noite);color:#e6edef;border-radius:12px;padding:14px 16px;display:flex;gap:14px;align-items:center;z-index:40;box-shadow:0 10px 30px rgba(0,0,0,.3);font-size:14px}
.cookies[hidden]{display:none}
.cookies p{margin:0;flex:1} .cookies a{color:var(--turq)}
.cookies div{display:flex;gap:8px}
.cookies .btn-sec{color:#e6edef;border-color:#3b4f59}

/* admin */
.admin .adm-topo{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.adm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.adm-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--raio);padding:16px}
.adm-card h2{margin:0 0 8px;font-size:17px}
.adm-num{font-size:18px}
.linha-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}
.log{background:var(--noite);color:#c9d3d7;padding:14px;border-radius:10px;font-size:12px;overflow:auto;white-space:pre-wrap}

/* responsivo */
@media (max-width:900px){
  .row{grid-template-columns:150px 1fr}
  .row .det{grid-column:1/-1}
  .row.unico{grid-template-columns:1fr}
  .ctas,.bloco.duas,.como-grid,.adm-grid{grid-template-columns:1fr}
  .campos-3{grid-template-columns:1fr}
  .rodape-in{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .topo-nome,.topo-nav a:not(.topo-cta){display:none}
  .topo-nav .topo-cta{font-size:13px;padding:7px 10px}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .row{grid-template-columns:1fr;gap:6px}
  .hero{padding:30px 0 64px}
  .cookies{right:16px;flex-direction:column;align-items:stretch;bottom:84px}
}
