/* PORTAL .38 — módulo INSTRUTORES .38 (painel administrativo) */
/* v1.8 — página normal do Portal: renderiza em #content, sob o cabeçalho único do shell (título, busca, sino, avatar),
   como os demais módulos. Não é mais um overlay em tela cheia. */
#inst38ov{position:relative;display:none;flex-direction:column;color:#ECEDEF;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;min-height:100%;
  border-left:0 !important} /* o index.html do Portal ainda desenha a borda esquerda das camadas antigas (#inst38ov) — não vale para a página */
#inst38ov.on{display:flex}
#inst38ov *{box-sizing:border-box}
#inst38ov h1,#inst38ov h2,#inst38ov h3{margin:0;font-weight:700}
/* reset de baixa especificidade (:where) — sem isso o #id vencia as classes .i38-btn e os botões viravam texto solto */
:where(#inst38ov) button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
#inst38ov input,#inst38ov select,#inst38ov textarea{font:inherit;color:#ECEDEF;background:#161922;
  border:1px solid rgba(255,255,255,.09);border-radius:9px;padding:8px 11px;outline:none;width:100%}
#inst38ov input:focus,#inst38ov select:focus,#inst38ov textarea:focus{border-color:rgba(221,153,51,.45)}
#inst38ov input[type=date],#inst38ov input[type=time]{color-scheme:dark}
#inst38ov ::placeholder{color:#5E6470}

/* barra de abas: primeira linha da página, gruda no topo da área de conteúdo ao rolar */
.i38-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:0 0 12px;margin:0 0 4px;border-bottom:1px solid rgba(255,255,255,.07);flex:none;
  position:sticky;top:0;z-index:5;background:var(--bg,#14161a)}
.i38-top .tit{display:none}
/* abas = controle segmentado: cada aba é um botão com forma própria; a ativa é dourada e sólida */
.i38-abas{display:flex;gap:3px;margin-left:0;max-width:100%;min-width:0;overflow-x:auto;flex-wrap:nowrap;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px;
  background:#0a0c10;border:1px solid rgba(255,255,255,.10);border-radius:12px;box-shadow:inset 0 1px 2px rgba(0,0,0,.6)}
.i38-abas::-webkit-scrollbar{display:none}
.i38-abas button{white-space:nowrap;flex:none;display:inline-flex;align-items:center;gap:6px}
.i38-abas button{padding:8px 15px;font-size:13px;font-weight:600;color:#A4A9B2;border-radius:9px;letter-spacing:.3px;
  border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}
.i38-abas button:hover{background:rgba(255,255,255,.06);color:#ECEDEF;border-color:rgba(255,255,255,.10)}
.i38-abas button.on,.i38-abas button.on:hover{background:linear-gradient(180deg,#F2B84D,#DD9933);color:#17120A;
  border-color:rgba(255,255,255,.18);box-shadow:0 2px 8px rgba(221,153,51,.28)}
.i38-abas button .pill{background:#DD9933;color:#17120A;border-radius:99px;font-size:10px;font-weight:800;padding:1px 6px;margin-left:2px}
.i38-abas button.on .pill{background:#17120A;color:#F2B84D}
.i38-body{flex:1;overflow:visible;padding:18px 0 40px}
.i38-max{max-width:1180px;margin:0 auto}

.i38-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;margin-bottom:18px;min-width:0}
.i38-kpi{background:#191c22;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:13px 14px}
.i38-kpi b{display:block;font-size:22px;letter-spacing:.3px}
.i38-kpi span{font-size:10px;color:#8A8F98;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.i38-kpi.dest{border-color:rgba(221,153,51,.4);background:linear-gradient(180deg,#171a23,#12141b)}
.i38-kpi.dest b{color:#DD9933}

.i38-card{background:#191c22;border:1px solid rgba(255,255,255,.07);border-radius:13px;padding:16px 18px;margin-bottom:14px;overflow-x:auto;min-width:0}
.i38-card.gold{border-color:rgba(221,153,51,.35)}
.i38-sec{font-size:11px;font-weight:800;letter-spacing:1.6px;color:#6B7078;text-transform:uppercase;margin:20px 2px 10px}
.i38-grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.i38-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.i38-grid2>*,.i38-grid3>*,.i38-blocos>*,.i38-max{min-width:0}
.i38-body{overflow-x:clip}
#inst38ov{max-width:100%}
@media(max-width:980px){.i38-grid2,.i38-grid3{grid-template-columns:1fr}}
.i38-linha{display:flex;align-items:center;gap:10px}
.i38-esp{flex:1}
.i38-mut{color:#8A8F98;font-size:12.5px}

/* botões com forma real: fundo, borda, relevo e resposta ao passar o mouse/pressionar */
.i38-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;min-height:38px;border-radius:10px;
  font-weight:700;font-size:12.5px;letter-spacing:.5px;text-transform:uppercase;border:1px solid transparent;
  transition:filter .15s,transform .1s,box-shadow .15s;box-shadow:0 1px 2px rgba(0,0,0,.45)}
.i38-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.45)}
.i38-btn:active{transform:translateY(0);filter:brightness(.96);box-shadow:0 1px 2px rgba(0,0,0,.45)}
.i38-btn.p{background:linear-gradient(180deg,#F2B84D,#DD9933);color:#17120A;border-color:rgba(255,255,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 2px 8px rgba(221,153,51,.30)}
.i38-btn.p:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 5px 16px rgba(221,153,51,.38)}
.i38-btn.s{background:rgba(221,153,51,.12);border-color:rgba(221,153,51,.60);color:#F2B84D}
.i38-btn.g{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:#ECEDEF}
.i38-btn.d{background:rgba(199,84,84,.12);border-color:rgba(199,84,84,.55);color:#EDB0B0}
.i38-btn.mini{padding:6px 12px;min-height:32px;font-size:11px;border-radius:8px}
.i38-btn svg{width:14px;height:14px;flex:none}
.i38-btn[disabled]{opacity:.4;pointer-events:none;transform:none}

.i38-tag{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:.8px;padding:3px 8px;
  border-radius:99px;border:1px solid rgba(255,255,255,.12);color:#9AA0AA;text-transform:uppercase;white-space:nowrap}
.i38-tag.gold{color:#DD9933;border-color:rgba(221,153,51,.4)}
.i38-tag.ok{color:#9FD3B0;border-color:rgba(77,164,106,.4)}
.i38-tag.urg{color:#E2A0A0;border-color:rgba(199,84,84,.5);background:rgba(199,84,84,.08)}
.i38-tag.az{color:#9FB8D3;border-color:rgba(90,130,180,.4)}

table.i38-tab{width:100%;border-collapse:collapse;font-size:13px}
table.i38-tab th{text-align:left;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:#6B7078;
  font-weight:700;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.09)}
table.i38-tab td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}
table.i38-tab tr:hover td{background:rgba(255,255,255,.02)}
table.i38-tab tr.clk{cursor:pointer}

.i38-campo{margin-bottom:11px}
.i38-campo label{display:block;font-size:10.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#6B7078;margin-bottom:5px}

.i38-agora{border:1px solid rgba(221,153,51,.4);background:linear-gradient(180deg,#181b24,#12141b);border-radius:13px;padding:16px 18px;margin-bottom:14px}
.i38-agora .qtd{font-size:26px;font-weight:800;color:#DD9933}
.i38-disp{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.i38-disp:last-child{border-bottom:0}
.i38-disp .nome{font-weight:600}
.i38-disp .ate{margin-left:auto;color:#DD9933;font-weight:700;font-size:13px}

.i38-modal-veu{position:fixed;inset:0;background:rgba(0,0,0,.66);z-index:950;display:none;align-items:flex-start;justify-content:center;overflow:auto;padding:5vh 16px}
.i38-modal-veu.on{display:flex}
.i38-modal{background:#12141b;border:1px solid rgba(221,153,51,.28);border-radius:16px;padding:22px 24px;width:100%;max-width:640px;margin-bottom:5vh}
.i38-modal h2{font-size:17px;margin-bottom:16px;letter-spacing:.3px}
.i38-modal.larga{max-width:900px}

.i38-prog{height:6px;background:#1D2029;border-radius:99px;overflow:hidden}
.i38-prog i{display:block;height:100%;background:linear-gradient(90deg,#B37A24,#DD9933,#F2B84D)}
.i38-vazio{color:#6B7078;text-align:center;padding:26px 8px;font-size:13px}
.i38-avatarzinho{width:30px;height:30px;border-radius:50%;background:#1B1E27 center/cover no-repeat;border:1px solid rgba(221,153,51,.35);
  display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#DD9933;flex:none}
#inst38ov svg{display:inline-block;vertical-align:-3px}
.i38-toast{position:fixed;right:22px;bottom:22px;z-index:990;background:#1B1E27;border:1px solid rgba(221,153,51,.4);
  color:#ECEDEF;padding:12px 18px;border-radius:11px;font-size:13px;opacity:0;transform:translateY(12px);transition:all .25s;pointer-events:none;max-width:420px}
.i38-toast.on{opacity:1;transform:none}
.i38-toast.erro{border-color:rgba(199,84,84,.55)}
.nav-item .i38-badge{background:#DD9933;color:#17120A;border-radius:99px;font-size:10px;font-weight:800;padding:1px 6px;margin-left:8px}
.i38-notif{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}
.i38-notif:last-child{border-bottom:0}
.i38-notif .qdo{margin-left:auto;color:#6B7078;font-size:11.5px;white-space:nowrap}
.i38-crit{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.i38-crit .estrelas{display:flex;gap:3px;margin-left:auto}
.i38-crit .estrelas button{width:26px;height:26px;border-radius:6px;border:1px solid rgba(255,255,255,.12);color:#6B7078;font-weight:700}
.i38-crit .estrelas button.on{border-color:#DD9933;color:#DD9933}

/* ---- v1.1: painel de 4 blocos prioritários ---- */
.i38-blocos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.i38-bloco{background:#191c22;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:18px 16px;text-align:left;transition:filter .15s;min-width:0}
.i38-bloco span{display:block}
.i38-bloco:hover{filter:brightness(1.12);border-color:rgba(221,153,51,.55);box-shadow:0 6px 18px rgba(0,0,0,.35);transform:translateY(-1px)}
.i38-bloco{transition:filter .15s,border-color .15s,box-shadow .15s,transform .1s;cursor:pointer}
.i38-bloco b{display:block;font-size:32px;letter-spacing:.3px;line-height:1.1}
.i38-bloco span{font-size:11px;color:#8A8F98;text-transform:uppercase;letter-spacing:1.1px;font-weight:700}
.i38-bloco.gold{border-color:rgba(221,153,51,.5);background:linear-gradient(180deg,#181b24,#12141b)}
.i38-bloco.gold b{color:#DD9933}
.i38-bloco.urg{border-color:rgba(199,84,84,.55)}
.i38-bloco.urg b{color:#DA9A9A}
.i38-sec2{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;margin-bottom:18px}
.i38-link2{font-size:12px;color:#8A8F98;padding:4px 0}
.i38-link2 b{color:#B7BCC4}
.i38-link2[onclick]:hover{color:#DD9933}
.i38-link2[onclick]:hover b{color:#DD9933}

/* ---- v1.2: barra do painel + fluxo do programa (vínculo sistêmico) ---- */
.i38-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.07)}
.i38-fluxo{display:flex;align-items:stretch;gap:0;margin-bottom:18px;min-width:0}
.i38-etapa{flex:1;min-width:0;background:#191c22;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;text-align:left;
  display:flex;flex-direction:column;gap:3px;transition:filter .15s}
.i38-etapa:hover{filter:brightness(1.12);border-color:rgba(221,153,51,.5);box-shadow:0 6px 18px rgba(0,0,0,.35)}
.i38-etapa .et-t{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:#DD9933}
.i38-etapa .et-s{font-size:11px;color:#6B7078;margin-bottom:4px}
.i38-etapa .et-n{font-size:12.5px;color:#9AA0AA}
.i38-etapa .et-n b{color:#ECEDEF;font-size:15px;margin-right:3px}
.i38-seta{display:flex;align-items:center;justify-content:center;color:#3E434D;flex:none;width:26px}

/* linguagem de estado: quem decide o próximo passo */
.i38-passo{display:block;font-size:11px;margin-top:3px;color:#8A8F98}
.i38-passo.adm{color:#DD9933}
.i38-passo.fim{color:#5E6470}
.i38-fim-banner{margin-top:12px;padding:10px 14px;border:1px solid rgba(221,153,51,.4);border-radius:10px;
  background:rgba(221,153,51,.07);font-size:13px;color:#E4C88F}

/* ---- v1.1: mobile do painel administrativo ---- */
@media(max-width:900px){
  .i38-top{flex-wrap:wrap;gap:6px;padding:0 0 10px}
  .i38-abas{order:2;width:100%;margin-left:0}
  .i38-live-pill{order:1}
  .i38-abas button{padding:8px 12px;font-size:12.5px}
  .i38-body{padding:12px 0 90px}
  .i38-blocos{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .i38-bloco{padding:14px 13px}
  .i38-bloco b{font-size:26px}
  .i38-kpis{grid-template-columns:repeat(2,1fr)}
  .i38-card,.i38-agora{padding:13px 14px;overflow-x:auto}
  table.i38-tab{min-width:480px}
  .i38-max,.i38-grid2>*{max-width:100%}
  .i38-modal{padding:16px 14px;border-radius:14px}
  .i38-modal-veu{padding:3vh 8px}
  .i38-grid2,.i38-grid3{grid-template-columns:1fr}
  .i38-disp{flex-wrap:wrap}
  .i38-linha{flex-wrap:wrap}
  .i38-fluxo{flex-direction:column;gap:0}
  .i38-seta{width:auto;height:22px;transform:rotate(90deg)}
}

/* ---- v1.3: alertas críticos (cancelamento de compromisso) — faixa fixa logo abaixo do cabeçalho do Portal (v1.8: nunca o cobre) ---- */
.i38-alertas{position:fixed;top:0;left:0;right:0;z-index:1200;display:flex;flex-direction:column;gap:1px;
  font:13px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#ECEDEF;
  box-shadow:0 6px 24px rgba(0,0,0,.55)}
.i38-alertas.pulsa .i38-alerta.critico{animation:i38pulsa 1.1s ease-in-out 3}
@keyframes i38pulsa{0%,100%{background:#3a1416}50%{background:#6b1d20}}
.i38-alerta{display:flex;align-items:center;gap:14px;padding:11px 18px;background:#2a1f10;border-bottom:1px solid rgba(221,153,51,.45);flex-wrap:wrap}
.i38-alerta.critico{background:#3a1416;border-bottom-color:rgba(230,90,90,.6)}
.i38-alerta .al-ico{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;
  background:rgba(221,153,51,.18);color:#F2B84D;border:1px solid rgba(221,153,51,.5)}
.i38-alerta.critico .al-ico{background:rgba(230,90,90,.18);color:#FF9E9E;border-color:rgba(230,90,90,.6)}
.i38-alerta .al-ico svg{width:16px;height:16px}
.i38-alerta .al-txt{flex:1;min-width:240px;display:flex;flex-direction:column;gap:1px}
.i38-alerta .al-txt>b{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#F2B84D}
.i38-alerta.critico .al-txt>b{color:#FF9E9E}
.i38-alerta .al-txt>span{color:#E6E7EA}
.i38-alerta .al-txt>span b{color:#fff}
.i38-alerta .al-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.i38-alerta-mais{background:#1a1414;color:#DDD;border:0;padding:6px 18px;font:inherit;font-size:12px;cursor:pointer;text-align:left}
.i38-alerta-mais:hover{color:#F2B84D}
/* mesma peça dentro do painel (fila de decisões): sem posição fixa */
.i38-alertas-painel{display:flex;flex-direction:column;gap:8px;margin:2px 0 12px}
.i38-alertas-painel .i38-alerta{border:1px solid rgba(221,153,51,.45);border-radius:12px}
.i38-alertas-painel .i38-alerta.critico{border-color:rgba(230,90,90,.6)}
.i38-badge.urg{background:#C75454;color:#fff}
/* link de contato manual */
.i38-wa{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  color:#7FD69A;text-decoration:none;border:1px solid rgba(77,164,106,.5);border-radius:99px;padding:1px 8px;margin-left:4px;vertical-align:middle}
.i38-wa:hover{background:rgba(77,164,106,.14)}
@media(max-width:900px){
  .i38-alerta{padding:10px 12px;gap:10px}
  .i38-alerta .al-acoes{width:100%}
  .i38-alerta .al-acoes .i38-btn{flex:1;justify-content:center}
}
.i38-alertas button{font:inherit;cursor:pointer}
.i38-campo label.i38-chk,.i38-chk{text-transform:none;letter-spacing:0;font-weight:500;color:#ECEDEF;font-size:13px;margin:0}

/* ---- v1.5: EM ATIVIDADE AGORA — faixa viva no topo do painel ---- */
.i38-live{border:1px solid rgba(255,255,255,.09);background:#191c22;border-radius:14px;padding:14px 18px;margin-bottom:14px}
.i38-live.on{border-color:rgba(77,164,106,.55);background:linear-gradient(180deg,#142019,#12151b);box-shadow:0 0 0 1px rgba(77,164,106,.12),0 8px 24px rgba(0,0,0,.25)}
.i38-live.alerta{border-color:rgba(199,84,84,.55)}
.i38-live .lv-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.i38-live .lv-head>b{font-size:11.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#9FD3B0}
.i38-live:not(.on) .lv-head>b{color:#8A8F98}
.i38-live .lv-n{font-size:26px;font-weight:800;color:#7FD69A;line-height:1;min-width:26px}
.i38-live:not(.on) .lv-n{color:#6B7078}
.i38-live .lv-dot{width:10px;height:10px;border-radius:50%;background:#4DA46A;box-shadow:0 0 0 0 rgba(77,164,106,.6);flex:none}
.i38-live.on .lv-dot{animation:i38vivo 1.6s ease-out infinite}
.i38-live:not(.on) .lv-dot{background:#3E434D}
@keyframes i38vivo{0%{box-shadow:0 0 0 0 rgba(77,164,106,.65)}100%{box-shadow:0 0 0 10px rgba(77,164,106,0)}}
.i38-live .lv-upd{font-size:11px}
.lv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-top:12px}
.lv-card{display:flex;align-items:flex-start;gap:12px;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(77,164,106,.28)}
.lv-card.pend{border-color:rgba(221,153,51,.5)}
.lv-card .lv-av{width:40px;height:40px;font-size:13px;border-color:rgba(77,164,106,.6);color:#9FD3B0}
.lv-card .lv-txt{flex:1;min-width:0}
.lv-card .nome{font-weight:700;font-size:14px}
.lv-card .lv-atv{font-size:13px;margin:1px 0}
.lv-card .lv-pend{font-size:12px;color:#E4C88F;margin-top:3px}
.lv-card .lv-tempo b{color:#9FD3B0}
.lv-foot{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);font-size:12.5px;color:#9AA0AA;line-height:1.7}
.lv-foot b{color:#ECEDEF}
.lv-foot .lv-sep{margin:0 10px;color:#3E434D}
.lv-foot .lv-atraso{color:#E2A0A0}
.lv-foot .lv-atraso b{color:#FF9E9E}
.i38-live-pill{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;margin-left:auto;padding:2px 9px 2px 7px;border-radius:99px;font-size:10.5px;font-weight:800;
  letter-spacing:.8px;text-transform:uppercase;color:#9FD3B0;border:1px solid rgba(77,164,106,.55);background:rgba(77,164,106,.12);cursor:pointer}
.i38-live-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#4DA46A;animation:i38vivo 1.6s ease-out infinite}
/* rastro do push à administração em cada aviso */
.i38-push{display:inline-block;margin-top:3px;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#8A8F98;border:1px solid rgba(255,255,255,.12);border-radius:99px;padding:1px 7px}
.i38-push.ok{color:#9FD3B0;border-color:rgba(77,164,106,.45)}
/* destinatários dos avisos */
.aa-tipos{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.aa-lista{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px 24px}
.aa-user{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}
.aa-user:last-child{border-bottom:0}
.aa-user.sem{opacity:.7}
.aa-dot{width:7px;height:7px;border-radius:50%;background:#4DA46A;flex:none}
.aa-user.sem .aa-dot{background:#5E6470}
@media(max-width:900px){.lv-grid{grid-template-columns:1fr}.lv-card{flex-wrap:wrap}.aa-lista{margin-left:8px}}

/* v1.8 — com o módulo aberto, a faixa de alertas faz parte da página (acima das abas), sem cobrir nada */
.i38-alertas.dentro{position:static;top:auto;left:auto;right:auto;z-index:auto;margin:0 0 14px;border-radius:12px;overflow:hidden;border:1px solid rgba(221,153,51,.35)}
.i38-alertas.dentro .i38-alerta:last-child{border-bottom:0}
