/* GESTÃO INTEGRADA — o que é novo em relação ao app.css do sistema de Contratos (que continua igual ao de lá).
   Mesmo visual do protótipo aprovado (PROTOTIPO\casco.css; DECISOES §8.1, §9). */

/* ---------- entrada (aprovada em 05/11/2026) ---------- */
.entrada-palco{gap:130px}
.entrada-pomba{transform:translate(-66%,-50%)}
.entrada-titulo{padding-left:40px}
.entrada-titulo .gi{color:var(--limao-2);font-weight:700;letter-spacing:.38em;font-size:15px}
.entrada-titulo .nome{color:#F2F7F5;font-size:76px;font-weight:700;letter-spacing:.22em;line-height:1;margin-top:22px}
.entrada-titulo .nome + .nome{margin-top:14px}
.entrada-titulo .sub{margin-top:24px}
.vidro .vp-canto{position:absolute;top:22px;right:28px;width:36px;color:var(--limao);opacity:.9}

/* ---------- escolha de módulo (aprovada em 05/11/2026) ---------- */
.escolha{position:relative;min-height:100vh;color:#EAF3F0;overflow:hidden;
  background:radial-gradient(900px 600px at 12% 0%,rgba(151,194,77,.16),transparent 60%),
             radial-gradient(800px 700px at 100% 100%,rgba(54,190,123,.12),transparent 60%),
             linear-gradient(160deg,var(--fundo-1) 0%,var(--fundo-2) 55%,var(--fundo-3) 100%)}
.escolha:before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--faixa);z-index:5}
.escolha .barra{position:relative;margin-top:6px;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;
  border-bottom:1px solid rgba(255,255,255,.07);z-index:6}
.marca-peq{display:flex;align-items:center;gap:12px}
.marca-peq .pomba{width:30px;color:var(--limao)}
.marca-peq b{display:block;letter-spacing:.24em;font-size:15px}
.marca-peq span{display:block;font-size:10.5px;color:var(--limao-2);letter-spacing:.2em;font-weight:700}
.usu{display:flex;align-items:center;gap:12px;padding:8px 10px 8px 12px;border-radius:11px;color:#EAF3F0;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.usu b{display:block;font-size:13px} .usu span{font-size:11.5px;color:var(--texto-escuro-suave)}
.usu .acao{color:var(--texto-escuro-suave);display:flex;padding:4px;border-radius:6px}
.usu .acao:hover{color:#fff;background:rgba(255,255,255,.08)}
.escolha .miolo{position:relative;display:flex;flex-direction:column;align-items:center;padding:54px 24px 110px;z-index:2}
.saudacao{color:var(--limao-2);font-size:19px;letter-spacing:.03em;font-weight:600}
.saudacao .lua{display:inline-block;margin-left:-.3em}
.escolha h1{color:#F2F7F5;font-size:36px;letter-spacing:.04em;margin:12px 0 8px}
.escolha .sub{color:var(--texto-escuro-suave);font-size:14px;margin:0 0 38px;text-align:center;line-height:1.6}
.escolha .mensagens{width:100%;max-width:1108px}
.cartoes{display:grid;grid-template-columns:repeat(4,262px);gap:20px}
.mod{position:relative;height:214px;border-radius:16px;padding:22px 22px 18px;display:flex;flex-direction:column;color:inherit;text-decoration:none;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 50px rgba(0,0,0,.25);transition:border-color .15s,background .15s,transform .15s}
.mod .ico{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(178,212,71,.14);color:var(--limao);margin-bottom:16px}
.mod b{font-size:15px;letter-spacing:.12em;color:#F2F7F5}
.mod p{font-size:12.5px;color:var(--texto-escuro-suave);margin:7px 0 0;line-height:1.45}
.mod .pe{margin-top:auto;display:flex;align-items:center;justify-content:space-between}
.mod .abrir{display:flex;align-items:center;gap:4px;color:var(--limao);font-size:12.5px;font-weight:600}
a.mod:hover{border-color:rgba(178,212,71,.65);background:rgba(178,212,71,.10);box-shadow:0 0 0 4px rgba(178,212,71,.12),0 18px 50px rgba(0,0,0,.3);transform:translateY(-2px)}
a.mod:focus-visible{outline:3px solid var(--limao);outline-offset:3px}
.mod.apagado .ico{background:rgba(255,255,255,.06);color:#7fa79d}
.mod.apagado b{color:#c9dbd5}
.mod .trava{position:absolute;top:16px;right:16px;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:rgba(240,90,78,.18);border:1px solid rgba(240,90,78,.35);color:#FF7A6B}
.mod.semacesso{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.07);box-shadow:none}
.mod.semacesso .ico,.mod.semacesso b,.mod.semacesso p{opacity:.42}
.mod .selo{font-size:11.5px}
.s-bloq{background:var(--erro-bg);color:var(--erro)}
.escolha .rodape{position:absolute;left:0;right:0;bottom:26px;text-align:center;color:#5f857c;font-size:11.5px;letter-spacing:.05em}

/* ---------- menu: trocar de módulo ---------- */
.troca{position:relative;margin:14px 16px 0}
.troca-botao{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:10px;cursor:pointer;font:inherit;text-align:left;
  background:rgba(178,212,71,.10);border:1px solid rgba(178,212,71,.3);color:#fff}
.troca-botao:hover{background:rgba(178,212,71,.16)}
.troca-botao .icone{color:var(--limao);flex:none}
.troca-botao .txt{flex:1;min-width:0}
.troca-botao .txt small{display:block;font-size:10px;letter-spacing:.18em;color:var(--limao-2);font-weight:700}
.troca-botao .txt b{display:block;font-size:13px;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.troca-lista{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#0F3F39;border:1px solid rgba(255,255,255,.12);border-radius:11px;
  box-shadow:0 18px 50px rgba(0,0,0,.45);padding:6px;display:none;z-index:35}
.troca-lista.aberto{display:block}
.troca-lista a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:#d6e6e1;text-decoration:none;font-size:13px}
.troca-lista a:hover{background:rgba(255,255,255,.07);color:#fff}
.troca-lista a .icone{color:#7fa79d;flex:none}
.troca-lista a.atual{color:#fff;font-weight:600} .troca-lista a.atual .icone{color:var(--limao)}
.troca-lista hr{border:0;border-top:1px solid rgba(255,255,255,.08);margin:5px 4px}
.menu-recolhido .troca{margin:12px 0 0;display:flex;justify-content:center}
.menu-recolhido .troca-botao{width:44px;height:42px;padding:0;justify-content:center}
.menu-recolhido .troca-botao .txt,.menu-recolhido .troca-botao .seta{display:none}
.menu-recolhido .troca-lista{left:6px;right:auto;width:240px}

/* ---------- usuários e acessos ---------- */
.nivel{padding:5px 8px;border-radius:7px;border:1px solid var(--borda);font-size:12.5px;font-weight:600}
select.nivel{cursor:pointer}
.n-sem{background:var(--neutro-bg);color:var(--suave)}
.n-consulta{background:var(--marca-claro);color:var(--marca-2);border-color:#b9dcd3}
.n-edicao{background:var(--ok-bg);color:var(--ok);border-color:#b7e1c8}
.n-gestao{background:var(--marca-2);color:#fff;border-color:var(--marca-2)}
.n-herda{background:#fff;color:var(--suave);font-weight:500}
.tab-grade th.mod-col{white-space:normal;text-align:center;font-size:11px;letter-spacing:.04em;padding:8px 4px;vertical-align:bottom}
.tab-grade td{text-align:center;vertical-align:middle;padding:6px 4px}
.tab-grade td:first-child{text-align:left;font-weight:600;white-space:nowrap}
.tab-grade .nivel{width:100%;max-width:124px;padding:4px 5px;font-size:12px}
.legenda-niveis{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 14px;font-size:12.5px;color:var(--suave)}
.legenda-niveis .nivel{margin-right:4px}
.marcas{display:flex;gap:10px 18px;flex-wrap:wrap}
.marcas label{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--texto);cursor:pointer}
.marcas ul{display:flex;gap:10px 18px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.marcas ul label{font-size:13.5px}
.efeito{font-size:12px;color:var(--suave)}
.barra-salvar{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(244,247,246,0),var(--bg) 35%);padding:14px 0 4px}

@media (max-width:1180px){.cartoes{grid-template-columns:repeat(2,262px)}}
@media (max-width:640px){.cartoes{grid-template-columns:1fr;width:100%}.escolha .barra{padding:0 16px}.entrada-titulo .nome{font-size:44px}}
