:root{
  --verde:#0B3D2E; --verde-2:#10543E; --ouro:#C8A04A; --ouro-soft:#E7D6A8;
  --cream:#F7F5EF; --paper:#FFFFFF; --ink:#16201B; --ink-soft:#5C6660;
  --linha:rgba(22,32,27,.12); --ok:#22A06B; --erro:#C0392B;
  --sombra:0 1px 2px rgba(16,32,24,.06), 0 8px 24px rgba(16,32,24,.08);
  --r:16px;
  font-family:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--cream);color:var(--ink)}
body{overscroll-behavior:none}
.screen{min-height:100dvh;display:flex;flex-direction:column}
[hidden]{display:none!important}
button{font:inherit;cursor:pointer}

/* ---------- LOGIN ---------- */
.login{align-items:center;justify-content:center;gap:24px;padding:24px;
  background:radial-gradient(120% 90% at 50% -10%,var(--verde-2),var(--verde) 60%)}
.login-card{background:var(--paper);border-radius:24px;padding:32px 26px;width:100%;max-width:380px;
  box-shadow:var(--sombra);text-align:center}
.brasao{font-size:44px;margin-bottom:6px}
.login-card h1{margin:.2em 0 0;font-size:26px;letter-spacing:-.02em}
.login-card .sub{margin:.3em 0 1.6em;color:var(--ink-soft);font-size:14px}
.login-card label{display:block;text-align:left;font-weight:600;font-size:14px;margin-bottom:2px}
.login-card .hint{text-align:left;color:var(--ink-soft);font-size:12.5px;margin:0 0 10px}
#chave{width:100%;text-align:center;font-size:30px;letter-spacing:.5em;padding:14px;
  border:1.5px solid var(--linha);border-radius:14px;background:var(--cream);font-weight:700}
#chave:focus{outline:none;border-color:var(--ouro);background:#fff}
.btn-primary{width:100%;margin-top:16px;background:var(--verde);color:#fff;border:none;
  padding:15px;border-radius:14px;font-weight:700;font-size:16px;transition:.15s}
.btn-primary:active{transform:translateY(1px)}
.erro{color:var(--erro);font-size:13.5px;margin:.8em 0 0}
.rodape{color:var(--ouro-soft);font-size:12px;opacity:.8}

/* ---------- APP ---------- */
.app{background:var(--cream)}
.topo{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;background:var(--verde);color:#fff;padding-top:max(14px,env(safe-area-inset-top))}
.topo-id{display:flex;align-items:center;gap:10px}
.brasao-sm{font-size:22px}
.topo-id strong{display:block;font-size:15px;line-height:1.1}
.topo-id small{color:var(--ouro-soft);font-size:12px}
.topo-id small.editavel{cursor:pointer;text-decoration:underline dotted}
.link{background:none;border:none;color:var(--ouro-soft);font-size:13px;text-decoration:underline}

.paineis{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px}
.painel{background:var(--paper);border:1px solid var(--linha);border-radius:var(--r);
  padding:14px;text-align:left;display:flex;flex-direction:column;gap:6px;box-shadow:var(--sombra);transition:.15s}
.painel:active{transform:translateY(1px)}
.painel-ic{font-size:22px}
.painel-tit{font-weight:700;font-size:14px;line-height:1.2}
.painel-badge{align-self:flex-start;background:var(--ouro-soft);color:#6b531a;font-weight:700;
  font-size:11.5px;padding:2px 9px;border-radius:999px}

/* ---------- CHAT ---------- */
.chat{flex:1;display:flex;flex-direction:column;min-height:0}
.mensagens{flex:1;overflow-y:auto;padding:10px 14px 4px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:84%;padding:11px 14px;border-radius:16px;font-size:15px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.msg.bot{align-self:flex-start;background:var(--paper);border:1px solid var(--linha);border-bottom-left-radius:5px}
.msg.user{align-self:flex-end;background:var(--verde);color:#fff;border-bottom-right-radius:5px}
.msg.bot .assinatura{display:block;margin-top:6px;color:var(--ouro);font-size:11.5px;font-weight:700}
.msg.pensando{color:var(--ink-soft);font-style:italic}
.dot{display:inline-block;animation:pisca 1.2s infinite}
.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}
@keyframes pisca{0%,60%,100%{opacity:.25}30%{opacity:1}}

.barra{display:flex;gap:8px;padding:10px 14px;padding-bottom:max(10px,env(safe-area-inset-bottom));
  background:var(--cream);border-top:1px solid var(--linha)}
#entrada{flex:1;border:1.5px solid var(--linha);border-radius:999px;padding:13px 16px;font-size:15px;background:var(--paper)}
#entrada:focus{outline:none;border-color:var(--ouro)}
.btn-enviar{width:48px;border:none;border-radius:50%;background:var(--verde);color:#fff;font-size:18px}
.btn-enviar:active{transform:scale(.94)}

/* ---------- DRAWER ---------- */
.drawer{position:fixed;inset:0;z-index:20}
.drawer-bg{position:absolute;inset:0;background:rgba(11,32,24,.45)}
.drawer-painel{position:absolute;left:0;right:0;bottom:0;max-height:82dvh;background:var(--cream);
  border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:sobe .22s ease}
@keyframes sobe{from{transform:translateY(100%)}to{transform:translateY(0)}}
.drawer-topo{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 6px}
.drawer-topo h2{margin:0;font-size:18px}
.drawer-corpo{overflow-y:auto;padding:6px 18px 24px}
.item{background:var(--paper);border:1px solid var(--linha);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.item h3{margin:0 0 4px;font-size:14.5px}
.item p{margin:0;color:var(--ink-soft);font-size:13.5px;line-height:1.45}
.vazio{color:var(--ink-soft);text-align:center;padding:30px 10px;font-size:14px}

/* ===== TABS / PRODUÇÃO ===== */
.app{display:flex;flex-direction:column;height:100dvh}
.tab{flex:1;min-height:0;display:none;flex-direction:column}
.tab:not([hidden]){display:flex}
.chat{min-height:0}
.conteudo{overflow-y:auto;padding:14px 14px 18px}
.bloco-tit{font-size:16px;margin:14px 2px 8px;display:flex;align-items:center;gap:6px}
.bloco-tit:first-child{margin-top:4px}
.bloco-sub{margin:0 2px 10px;color:var(--ink-soft);font-size:13px}
.lista{display:flex;flex-direction:column;gap:9px}
.link-item{text-decoration:none;color:inherit;display:block}
.quando{font-weight:400;color:var(--ink-soft);font-size:11.5px}
.resp{margin-top:6px;color:var(--ok);font-size:13px}

.selo-admin{background:var(--ouro);color:#3a2c06;font-weight:800;font-size:10.5px;
  padding:2px 8px;border-radius:999px;border:1.5px solid var(--ink);margin-left:8px;letter-spacing:.03em}
.mini-selo{background:var(--ouro);color:#3a2c06;font-weight:800;font-size:9.5px;padding:1px 6px;border-radius:999px;vertical-align:middle}

.colega{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:inherit}
.colega-nome{font-weight:600;font-size:14.5px}
.colega .wa-ic{font-size:18px}
.colega.sem-wa{opacity:.55}

.mural-compose{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.mural-compose textarea{border:1.5px solid var(--linha);border-radius:12px;padding:11px;font:inherit;font-size:14.5px;resize:vertical;background:var(--paper)}
.mural-compose textarea:focus{outline:none;border-color:var(--ouro)}
.btn-mural{width:auto;align-self:flex-end;margin-top:0;padding:10px 20px}

/* bottom nav */
.tabbar{display:flex;background:var(--paper);border-top:1px solid var(--linha);
  padding-bottom:max(0px,env(safe-area-inset-bottom))}
.tabbtn{flex:1;border:none;background:none;padding:8px 2px 9px;font-size:11px;color:var(--ink-soft);
  display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:600}
.tabbtn span{font-size:19px;line-height:1}
.tabbtn.ativo{color:var(--verde)}
.tabbtn.ativo span{transform:translateY(-1px)}

/* destaque das audiências em Avisos */
.aud-cab{background:var(--verde);color:#fff;border-radius:12px;padding:12px 14px;font-size:15px;margin-bottom:10px}
.aud-cab b{font-size:18px}
.aud-data{background:var(--ouro);color:#3a2c06;font-weight:800;font-size:12px;padding:1px 8px;border-radius:999px;margin-left:4px}
.item-aud{border-left:5px solid var(--red,#E64A3A);border-color:var(--ouro);position:relative;box-shadow:var(--sombra)}
.item-aud .aud-cat{position:absolute;top:10px;right:12px;font-size:10px;font-weight:800;color:#6b531a;background:var(--ouro-soft);padding:1px 7px;border-radius:999px;text-transform:uppercase}
.item-aud h3{padding-right:70px}

/* login: chamado de acesso */
.link-chamado{background:none;border:none;color:var(--ink-soft);font-size:13px;text-decoration:underline;margin-top:14px}
.sep{border:none;border-top:1px solid var(--linha);margin:16px 0}
#chamado-box{text-align:left}
#chamado-box label{display:block;font-weight:600;font-size:13px;margin:8px 0 3px}
#chamado-box input,#chamado-box textarea{width:100%;border:1.5px solid var(--linha);border-radius:10px;padding:10px;font:inherit;font-size:14px;background:var(--cream)}
#chamado-box input:focus,#chamado-box textarea:focus{outline:none;border-color:var(--ouro)}
.ch-ok{color:var(--ok);font-size:13.5px;margin:.8em 0 0;text-align:center}

/* ============ POLISH v2 ============ */
:root{ --r:18px; }
body{ font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; -webkit-font-smoothing:antialiased; }

/* LOGIN refinado */
.login{background:radial-gradient(130% 100% at 50% -20%,#13624a 0%,var(--verde) 55%,#072a1f 100%)}
.login-card{position:relative;border-radius:26px;padding:38px 28px 30px;box-shadow:0 24px 60px -18px rgba(0,0,0,.5),0 2px 0 rgba(255,255,255,.6) inset;overflow:hidden}
.login-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--ouro),#e9c878,var(--ouro))}
.brasao{display:inline-flex;align-items:center;justify-content:center;width:78px;height:78px;border-radius:50%;
  background:radial-gradient(circle at 50% 35%,#fff,#f0ead8);border:2px solid var(--ouro);font-size:38px;margin-bottom:10px;box-shadow:0 6px 16px -6px rgba(11,61,46,.4)}
.login-card h1{font-family:"Archivo",sans-serif;font-weight:800;font-size:27px;letter-spacing:-.02em}
#chave{letter-spacing:.45em;box-shadow:inset 0 2px 6px rgba(16,32,24,.06)}
.btn-primary{background:linear-gradient(180deg,#10543E,#0B3D2E);box-shadow:0 8px 18px -8px rgba(11,61,46,.6);letter-spacing:.01em}
.btn-primary:hover{filter:brightness(1.06)}

/* HEADER com fio dourado */
.topo{border-bottom:3px solid var(--ouro);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.topo-id strong{font-family:"Archivo",sans-serif;font-weight:800;letter-spacing:-.01em}

/* CHAT bolhas */
.mensagens{padding:14px 14px 6px;gap:11px;background:linear-gradient(180deg,#f3efe4,var(--cream))}
.msg{box-shadow:0 1px 2px rgba(16,32,24,.07);max-width:86%}
.msg.bot{border-color:rgba(22,32,27,.10)}
.msg.user{background:linear-gradient(180deg,#10543E,#0B3D2E)}
.msg.bot .assinatura{opacity:.85}

/* SECTION titles com acento dourado */
.bloco-tit{font-family:"Archivo",sans-serif;font-weight:700;border-left:4px solid var(--ouro);padding-left:9px;border-radius:2px}
.item{border-radius:14px;box-shadow:0 1px 2px rgba(16,32,24,.05),0 6px 16px -12px rgba(16,32,24,.18);border-color:rgba(22,32,27,.10)}
.item h3{font-weight:700}

/* TABBAR com indicador */
.tabbar{box-shadow:0 -2px 12px rgba(16,32,24,.07)}
.tabbtn{position:relative;padding-top:10px;transition:color .15s}
.tabbtn.ativo::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:3px;border-radius:0 0 3px 3px;background:var(--ouro)}
.tabbtn span{transition:transform .15s}
.tabbtn.ativo span{transform:translateY(-2px) scale(1.06)}

/* botão enviar com leve gradiente */
.btn-enviar{background:linear-gradient(180deg,#10543E,#0B3D2E);box-shadow:0 4px 10px -4px rgba(11,61,46,.6)}
.aud-cab{background:linear-gradient(180deg,#10543E,#0B3D2E);box-shadow:0 6px 16px -10px rgba(11,61,46,.6)}
/* tabbar rolável horizontalmente — todas as abas acessíveis */
.tabbar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tabbar::-webkit-scrollbar{display:none}
.tabbtn{flex:0 0 auto;min-width:74px}
