/* Identidade iDESCOMPLICA (13/10/2026): azul #102A43, amarelo #FFCA05, neutros claros. Tema claro é o padrão; o escuro mantém a mesma família. */
:root{--bg:#f0f0ea;--bg2:#fdfcf8;--bg3:#e8eeec;--ink:#102a43;--muted:#3f5262;--dim:#59686f;--yellow:#ffca05;--yellow-ink:#102a43;--gold:#805c0c;--ok:#176b55;--erro:#aa3444;--line:rgba(16,42,67,.14);--navy:#102a43;--navy2:#23435d;--blue:#174f68;--goldsoft:#fff4cf;font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
:root[data-tema="escuro"]{--bg:#0b1b26;--bg2:#152d3d;--bg3:#243d4c;--ink:#f5f4eb;--muted:#c9d6dc;--dim:#9fb3bc;--yellow:#ffca05;--yellow-ink:#102a43;--gold:#f4d375;--ok:#7cd9b1;--erro:#ffa2ae;--line:rgba(245,244,235,.14);--navy:#102a43;--navy2:#23435d;--blue:#a7cfdf;--goldsoft:#3b351d}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);min-height:100vh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
h1,h2,h3,p{margin-top:0}
h1{font-size:1.6rem;letter-spacing:-.02em;margin-bottom:6px;color:var(--ink)}
h2{font-size:1.2rem;margin:22px 0 10px}
h3{font-size:1rem;margin-bottom:6px}
p{line-height:1.5;color:var(--muted)}
a{color:var(--blue)}
button,input,select,textarea{font:inherit;color:inherit}
.casca{display:flex;min-height:100vh}
.area-trabalho{flex:1;min-width:0}
.topo{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:rgba(240,240,234,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
:root[data-tema="escuro"] .topo{background:rgba(11,27,38,.94)}
.topo-logo{height:30px;width:auto}
.topo-estado{margin-left:auto;display:flex;align-items:center;gap:8px}
.rede{width:10px;height:10px;border-radius:50%;background:var(--erro);display:inline-block}
.rede.on{background:var(--ok)}
.pendentes{font-size:.72rem;color:var(--gold);border:1px solid var(--gold);border-radius:20px;padding:2px 8px}
.botao-texto{background:none;border:0;color:var(--blue);padding:6px 8px;cursor:pointer}
.tela{padding:18px 16px 24px;max-width:none;margin:0 auto}
.cartao{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:12px}
.cartao h3{margin-bottom:4px}
.cartao .sub{font-size:.85rem;color:var(--dim);margin:0}
.lista{display:grid;gap:10px}
.item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:14px 16px;width:100%;text-align:left;cursor:pointer;color:var(--ink)}
.item:hover{border-color:var(--blue)}
.item .sub{font-size:.82rem;color:var(--dim);margin:2px 0 0}
.item .seta{color:var(--dim)}
.campo{display:grid;gap:6px;margin-bottom:14px}
.campo label{font-size:.8rem;font-weight:700;color:var(--muted)}
.campo input,.campo select,.campo textarea{background:var(--bg2);border:1px solid rgba(16,42,67,.28);border-radius:10px;padding:12px 14px;color:var(--ink);width:100%;font-size:1rem}
:root[data-tema="escuro"] .campo input,:root[data-tema="escuro"] .campo select,:root[data-tema="escuro"] .campo textarea{border-color:rgba(245,244,235,.25)}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--yellow);border-color:transparent}
.campo select option{color:#000}
.campo textarea{min-height:96px;resize:vertical}
.linha{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.botao{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:8px;padding:12px 16px;font-weight:700;min-height:46px;cursor:pointer;width:100%}
.botao.destaque{background:var(--yellow);color:var(--yellow-ink);border-color:var(--yellow)}
.botao:disabled{opacity:.5;cursor:default}
.botao.secundario{background:var(--bg2);border:1px solid var(--line);color:var(--ink);font-weight:650}
:root[data-tema="escuro"] .botao{background:var(--yellow);color:var(--yellow-ink);border-color:var(--yellow)}
:root[data-tema="escuro"] .botao.secundario{background:var(--bg2);border-color:var(--line);color:var(--ink)}
.botao.perigo{background:transparent;border:1px solid var(--erro);color:var(--erro)}
.botoes{display:grid;gap:10px;margin-top:16px}
.botoes.duas{grid-template-columns:1fr 1fr}
.etiqueta{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:20px;padding:3px 9px;background:rgba(16,42,67,.08);color:var(--muted)}
:root[data-tema="escuro"] .etiqueta{background:rgba(245,244,235,.1)}
.etiqueta.rascunho{color:var(--muted)}.etiqueta.enviado,.etiqueta.em_analise,.etiqueta.recebido{color:var(--gold);background:var(--goldsoft)}.etiqueta.ajustes,.etiqueta.negado{color:var(--erro);background:rgba(170,52,68,.12)}.etiqueta.validado,.etiqueta.autorizado,.etiqueta.concluido,.etiqueta.encaminhado{color:var(--ok);background:rgba(23,107,85,.12)}.etiqueta.encerrado{color:var(--dim)}
/* chamados de suporte (v31) */
.etiqueta.aberto{color:var(--erro);background:rgba(170,52,68,.12)}
.etiqueta.em_atendimento,.etiqueta.aguardando_autor{color:var(--gold);background:var(--goldsoft)}
.etiqueta.resolvido{color:var(--ok);background:rgba(23,107,85,.12)}
.etiqueta.fechado{color:var(--dim)}
.chamada{display:grid;gap:8px}
.aluno{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.aluno .nome{font-weight:600}
.opcoes{display:flex;gap:4px}
.opcoes button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:8px;min-width:40px;height:40px;font-weight:800;cursor:pointer}
.opcoes button.ativo.presente{background:var(--ok);color:#fff;border-color:var(--ok)}
.opcoes button.ativo.ausente{background:var(--erro);color:#fff;border-color:var(--erro)}
.opcoes button.ativo.justificada{background:var(--yellow);color:var(--yellow-ink);border-color:var(--yellow)}
.resumo{display:flex;gap:14px;font-size:.85rem;color:var(--muted);margin:8px 0 14px;flex-wrap:wrap}
.aviso{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:calc(100% - 32px);z-index:30}
.barra{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:rgba(253,252,248,.97);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
:root[data-tema="escuro"] .barra{background:rgba(21,45,61,.97)}
.barra button{flex:1;background:none;border:0;color:var(--dim);padding:12px 2px 10px;font-size:.72rem;font-weight:700;cursor:pointer}.barra button[hidden]{display:none}
.barra button.ativo{color:var(--navy);border-top:2px solid var(--navy);margin-top:-1px}
:root[data-tema="escuro"] .barra button.ativo{color:var(--yellow)}
.login{max-width:420px;margin:6vh auto 0}
.login .logo{width:200px;margin:0 auto 24px;display:block}
.nota{font-size:.8rem;color:var(--dim)}
.vazio{text-align:center;color:var(--dim);padding:28px 10px}
.voltar{background:none;border:0;color:var(--blue);padding:0;margin-bottom:12px;cursor:pointer;font-size:.9rem}
.tabela{width:100%;border-collapse:collapse;font-size:.85rem}
.tabela th,.tabela td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}
.tabela th{color:var(--muted);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.offline-faixa{background:var(--goldsoft);border:1px solid rgba(128,92,12,.4);color:var(--gold);border-radius:10px;padding:10px 12px;font-size:.85rem;margin-bottom:14px}
.sugestoes{position:absolute;left:0;right:0;top:100%;z-index:5;background:var(--bg2);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.sugestoes button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--ink);padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--line)}
.sugestoes button:hover{background:var(--goldsoft)}
.sugestoes small{color:var(--dim);margin-left:6px}
.marcar{display:flex;align-items:center;gap:10px;margin:-4px 0 14px;font-size:.9rem;color:var(--muted)}
.marcar input{width:20px;height:20px}
.botoes-linha{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px}
.botoes-linha .botao-texto{padding:4px 0;color:var(--blue);font-size:.85rem}
input::placeholder,textarea::placeholder{color:rgba(89,104,111,.6)}
.instalar{margin-top:28px;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:12px}
.instalar p{margin:0;font-size:.85rem;color:var(--muted)}
.azulejos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:14px}
.azulejo{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:16px 14px;min-height:118px;cursor:pointer;transition:border-color .15s,transform .15s;color:var(--ink)}
.azulejo:hover,.azulejo:focus-visible{border-color:var(--blue);transform:translateY(-1px)}
.azulejo strong{font-size:1rem;line-height:1.2}
.azulejo span{font-size:.78rem;color:var(--dim);line-height:1.3}
.azulejo .num{font-size:.7rem;font-weight:800;letter-spacing:.08em;color:var(--blue)}
.cal-topo{display:flex;align-items:center;gap:8px;margin:14px 0 8px}
.cal-topo .botao-texto{font-size:1.2rem;color:var(--blue)}
.cal-cabecalho{display:grid;grid-template-columns:repeat(7,1fr);font-size:.7rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;text-align:center;margin-bottom:4px}
.calendario{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-dia{background:var(--bg2);border:1px solid var(--line);border-radius:8px;min-height:64px;padding:4px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;overflow:hidden;color:var(--ink)}
.cal-dia.vazio{background:transparent;border-color:transparent;cursor:default}
.cal-dia.hoje{border-color:var(--yellow)}
.cal-dia.sel{background:var(--bg3)}
.cal-num{font-size:.75rem;font-weight:700;color:var(--muted)}
.cal-item{font-size:.62rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:480px){.cal-dia{min-height:48px;flex-direction:row;flex-wrap:wrap;align-content:flex-start;gap:3px}.cal-num{width:100%}.cal-item{font-size:0;width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}}
svg line{stroke:rgba(16,42,67,.15)}

/* ---- Capa de entrada por papel ---- */
.capa{background:var(--navy);color:#fff;border-radius:8px;padding:22px;margin-bottom:14px;position:relative;overflow:hidden}
.capa::after{content:"";position:absolute;right:0;top:0;width:7px;height:100%;background:var(--yellow)}
.capa h1,.capa p{color:#fff;position:relative}
.capa p{color:rgba(255,255,255,.82);margin:0}
.capa-kicker{display:block;font-size:.68rem;font-weight:800;letter-spacing:.12em;color:var(--yellow);margin-bottom:4px}
.capa-pessoa{display:flex;gap:14px;align-items:center;position:relative}
.avatar{width:64px;height:64px;border-radius:50%;background:var(--yellow);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.3rem;flex:none;overflow:hidden;border:3px solid rgba(255,255,255,.25)}
.avatar img{width:100%;height:100%;object-fit:cover}
.capa-atalhos{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;position:relative}
.capa-atalhos .botao{width:auto;min-height:38px;padding:9px 13px;font-size:.9rem;background:var(--yellow);color:var(--yellow-ink);border-color:var(--yellow)}
.capa-atalhos .botao.secundario{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
.pendencias{border-left:4px solid var(--navy)}
.pendencias .botao-texto{display:block;text-align:left;padding:4px 0}

/* ---- Caixa da comunidade ---- */
.caixa{background:var(--bg2);border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:8px;padding:14px 16px;margin-bottom:12px}
.caixa-topo{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.caixa-topo h3{margin:0}
.caixa-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.caixa-grade button{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 8px;text-align:left;cursor:pointer;color:var(--ink)}
.caixa-grade button strong{display:block;font-size:1.3rem;line-height:1.1}
.caixa-grade button span{font-size:.72rem;color:var(--dim)}
.caixa-grade button em{font-style:normal;color:var(--gold);font-size:.72rem;font-weight:800}
.abas{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 12px}
.aba{background:transparent;border:1px solid var(--line);border-radius:20px;padding:6px 12px;cursor:pointer;color:var(--muted);font-size:.85rem}
.aba.ativa{background:var(--navy);color:#fff;border-color:var(--navy)}
.aba small{opacity:.8}
.novo{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--yellow);margin-right:6px}

/* ---- Locais e mapa ---- */
.mapa{position:relative;width:100%;aspect-ratio:900/720;background:#e6e9e4;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:10px}
:root[data-tema="escuro"] .mapa{background:#17303f}
.mapa-base{position:absolute;inset:0;width:100%;height:100%}
.mapa-minor{fill:none;stroke:#cfd4cf;stroke-width:.6}
.mapa-major{fill:none;stroke:#a9b2ad;stroke-width:1.2}
.mapa-water{fill:#c3d7e6;stroke:none}
.mapa-boundary{fill:none;stroke:var(--navy);stroke-width:1.5;stroke-dasharray:4 3}
:root[data-tema="escuro"] .mapa-minor{stroke:#2b4a5c}:root[data-tema="escuro"] .mapa-major{stroke:#5b7a8c}:root[data-tema="escuro"] .mapa-water{fill:#1f4258}:root[data-tema="escuro"] .mapa-boundary{stroke:var(--yellow)}
.pino{position:absolute;transform:translate(-50%,-100%);background:var(--navy);color:#fff;border:2px solid #fff;border-radius:14px;padding:3px 8px;font-size:.7rem;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 4px 10px rgba(0,0,0,.25)}
.pino.estimado{background:var(--gold);color:#fff}
.pino.ativo{outline:3px solid var(--yellow)}
.pino::after{content:"";position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);border:5px solid transparent;border-top-color:inherit;border-top:6px solid var(--navy)}
.pino.estimado::after{border-top-color:var(--gold)}
.mapa.escolhendo{cursor:crosshair;outline:3px solid var(--yellow)}
.local-cartao h3{margin-bottom:2px}

/* ---- Barra lateral no computador ---- */
.lateral{display:none}
@media(min-width:960px){
  body{padding-bottom:24px}
  .barra{display:none!important}
  .lateral{display:flex;flex-direction:column;width:240px;flex:none;background:var(--navy);color:#fff;padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto}
  .lateral-marca{width:150px;margin:4px auto 12px;display:block;border-radius:12px}
  .lateral-modulo{font-size:.66rem;font-weight:800;letter-spacing:.14em;color:var(--yellow);margin:0 6px 14px}
  .nav-lateral{display:grid;gap:4px}
  .nav-area{display:block;width:100%;text-align:left;background:none;border:0;color:#fff;font-weight:800;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:.92rem}
  .nav-area.ativo,.nav-area:hover{background:rgba(255,255,255,.1)}
  .nav-area.ativo{border-left:3px solid var(--yellow)}
  .nav-itens{display:grid;gap:1px;margin:0 0 6px 10px}
  .nav-itens[hidden]{display:none}
  .nav-linha{display:flex;align-items:center;gap:2px}
  .nav-linha .nav-area{flex:1}
  .nav-seta{flex:none;background:none;border:0;color:rgba(255,255,255,.75);cursor:pointer;width:32px;height:32px;border-radius:6px;font-size:.85rem;line-height:1}
  .nav-seta:hover,.nav-seta:focus-visible{color:#fff;background:rgba(255,255,255,.12)}
  .nav-seta:focus-visible,.nav-area:focus-visible{outline:2px solid var(--yellow);outline-offset:1px}
  .nav-todos{margin:0 0 4px 10px}
  .nav-todos .botao-texto{color:rgba(255,255,255,.65);font-size:.76rem;padding:2px 0}
  .nav-todos .botao-texto:hover{color:#fff}
  .nav-itens button{display:block;width:100%;text-align:left;background:none;border:0;color:rgba(255,255,255,.78);padding:5px 10px;border-radius:6px;cursor:pointer;font-size:.84rem}
  .nav-itens button:hover{color:#fff;background:rgba(255,255,255,.08)}
  .lateral-pe{margin-top:auto;border-top:1px solid rgba(255,255,255,.15);padding-top:12px;font-size:.82rem;color:rgba(255,255,255,.8)}
  .lateral-pe .botao-texto{color:var(--yellow);padding:6px 0}
  .lateral-usuario strong{display:block;color:#fff}
  .topo-logo{display:none}
  .topo{background:transparent;border-bottom:0;backdrop-filter:none;justify-content:flex-end}
  .tela{max-width:none;margin:0;padding:8px 32px 32px} /* v1.37 (20/10/2026): Ulisses pediu 100% da tela em todas as abas */
}

/* ---- v23: agenda por contrato, mapa com nomes ao lado, carteira em crachás, perfil com capa ---- */
.pt{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle;flex:none}
.legenda{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.8rem;color:var(--muted);margin:6px 0 10px}
.legenda span{display:inline-flex;align-items:center}
.cal-item.cal-viagem{background:var(--goldsoft);color:var(--gold)!important;border-radius:4px;padding:0 3px;font-weight:800}
@media(max-width:480px){.cal-item.cal-viagem{font-size:0;width:9px;height:9px;border-radius:2px;background:var(--gold);padding:0}}
.mapa-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px;align-items:start}
@media(max-width:700px){.mapa-layout{grid-template-columns:1fr}}
.mapa-nomes{display:grid;gap:4px;max-height:520px;overflow:auto}
.mapa-nomes button{display:flex;align-items:center;gap:8px;text-align:left;background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:7px 9px;cursor:pointer;color:var(--ink);font-size:.82rem}
.mapa-nomes button small{color:var(--dim);font-size:.72rem}
.mapa-nomes button .num{min-width:20px;height:20px;border-radius:10px;background:var(--navy);color:#fff;font-size:.68rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.mapa-nomes button.estimado .num{background:var(--gold)}
.mapa-nomes button.sem-pino .num{background:var(--dim)}
.mapa-nomes button.ativo,.mapa-nomes button:hover{border-color:var(--blue);background:var(--goldsoft)}
.pino.realce{outline:3px solid var(--blue);z-index:2;transform:translate(-50%,-100%) scale(1.12)}
.locais-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.locais-grade .local-cartao{padding:12px;margin:0;font-size:.9rem}
.locais-grade .local-cartao h3{font-size:.95rem}
.locais-grade .local-cartao .sub small{display:block;color:var(--dim)}
.carteira{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:12px}
.cracha{display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:14px;cursor:pointer;color:var(--ink);transition:border-color .15s,transform .15s;min-width:0}
.cracha:hover{border-color:var(--blue);transform:translateY(-2px)}
.cracha-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.cracha .avatar{width:52px;height:52px;font-size:1rem;border:2px solid var(--bg)}
.cracha strong{font-size:.95rem;line-height:1.3}
.cracha small{color:var(--muted);font-size:.78rem;line-height:1.35}
.cracha .bio{font-size:.8rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cracha .rodape{display:flex;justify-content:space-between;font-size:.74rem;color:var(--dim);border-top:1px solid var(--line);padding-top:8px;margin-top:auto}
.cracha.rede{border-style:dashed;justify-content:center;align-items:center;text-align:center;cursor:default;color:var(--dim)}
.perfil-capa{min-height:150px;border-radius:9px 9px 0 0;background:var(--navy);background-size:cover;background-position:center;position:relative;padding:22px;color:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.perfil-capa::after{content:"";position:absolute;right:46px;bottom:-60px;width:150px;height:150px;border:22px solid rgba(255,202,5,.15);border-radius:50%;pointer-events:none}
.perfil-capa .capa-kicker{margin-bottom:8px}
.perfil-capa h2{margin:0;font-size:1.35rem;line-height:1.2;max-width:420px}
.perfil-capa .trocar{position:relative;z-index:1;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:6px;padding:6px 10px;font-size:.78rem;cursor:pointer}
.perfil-identidade{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;background:var(--bg2);border:1px solid var(--line);border-top:0;border-radius:0 0 9px 9px;padding:0 20px 18px;margin-bottom:14px;align-items:start}
.perfil-foto{margin-top:-44px;position:relative;z-index:1;width:108px;height:124px;background:var(--bg3);border:5px solid var(--bg2);border-radius:8px;box-shadow:0 3px 14px rgba(16,42,67,.18);overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.6rem;color:var(--navy)}
.perfil-foto img{width:100%;height:100%;object-fit:cover}
.perfil-foto .trocar{position:absolute;left:0;right:0;bottom:0;background:rgba(16,42,67,.75);color:#fff;font-size:.7rem;text-align:center;padding:4px;cursor:pointer}
.perfil-nome{padding-top:14px}
.perfil-nome h1{margin:0 0 2px}
.perfil-nome .cargo{color:var(--muted);margin:0 0 8px;font-size:.9rem}
.perfil-bio{font-size:.92rem;line-height:1.5;color:var(--ink);white-space:pre-wrap}
.perfil-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.perfil-tags span{font-size:.72rem;background:var(--bg3);border-radius:4px;padding:3px 7px;color:var(--muted)}
@media(max-width:560px){.perfil-identidade{grid-template-columns:1fr;padding:0 14px 14px}.perfil-foto{margin:-40px auto 0}.perfil-nome{text-align:center}.perfil-tags{justify-content:center}}
/* ---- v25: faixa do modo "ver como" (administrador) ---- */
.ver-como-faixa{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--yellow);color:var(--yellow-ink);padding:8px 16px;font-size:.85rem;border-bottom:1px solid rgba(16,42,67,.2)}
.ver-como-faixa button{background:var(--navy);color:#fff;border:0;border-radius:6px;padding:6px 10px;font-size:.8rem;font-weight:700;cursor:pointer}
body.emulando .casca{outline:3px solid var(--yellow);outline-offset:-3px}
.ver-como-inicio{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;border-left:4px solid var(--yellow)}
.ver-como-inicio .campo{flex:1;min-width:220px;margin:0}
.ver-como-inicio .campo label{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}
/* v26: agenda por mês, semana ou dia */
.cal-visao{display:inline-flex;gap:0;margin:12px 0 0;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--bg2)}
.cal-visao button{border:0;background:transparent;color:var(--muted);font-weight:700;font-size:.82rem;padding:6px 14px;border-radius:999px;cursor:pointer}
.cal-visao button.ativo{background:var(--navy);color:#fff}
.agenda-semana{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:960px){.agenda-semana{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}}
.agenda-dia{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:8px;min-width:0}
.agenda-dia.hoje{border-color:var(--yellow);box-shadow:inset 0 0 0 1px var(--yellow)}
.agenda-dia-titulo{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:transparent;color:var(--ink);font-size:.85rem;padding:2px 2px 8px;cursor:pointer;text-align:left}
.agenda-dia-titulo span{font-size:.7rem;color:var(--yellow-ink);background:var(--yellow);border-radius:999px;padding:1px 8px}
.agenda-dia .lista{gap:4px}
.agenda-dia .item{padding:6px 8px}
.agenda-dia .item strong{font-size:.8rem}
.agenda-dia .item .sub{font-size:.7rem}
.agenda-dia .vazio{padding:4px 2px;font-size:.8rem}
.agenda-timeline .item strong{font-size:1rem}
@media(min-width:960px){.agenda-dia .item{flex-direction:column;align-items:flex-start;gap:4px}.agenda-dia .item .botao-texto{padding:0}}
/* v26: turmas em quadros, amostra de perfil */
.turmas-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:14px}
.turma-quadro{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;aspect-ratio:1/1;background:var(--bg2);border:1px solid var(--line);border-top:4px solid var(--cor,var(--navy));border-radius:10px;padding:12px;cursor:pointer;color:var(--ink);min-width:0;overflow:hidden;transition:border-color .15s,transform .15s}
.turma-quadro:hover,.turma-quadro:focus-visible{border-color:var(--blue);transform:translateY(-1px)}
.turma-quadro strong{font-size:.98rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.turma-quadro .tq-mod{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.turma-quadro .tq-sub{font-size:.75rem;color:var(--dim);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.turma-quadro .tq-pe{margin-top:auto;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:.72rem;color:var(--muted)}
.turma-quadro .tq-tag{background:var(--goldsoft);color:var(--gold);border-radius:999px;padding:0 7px;font-weight:700}
.turma-quadro.inativa{opacity:.55}
.turmas-grade .vazio{grid-column:1/-1}
@media(max-width:480px){.turmas-grade{grid-template-columns:repeat(2,1fr);gap:8px}.turma-quadro{padding:10px}}
.amostra-perfil{border:1px dashed var(--line);border-radius:12px;padding:8px}
/* v29: comunicados e mural */
.comunicado{border-left:4px solid var(--yellow)}
.comunicado.individual{border-left-color:var(--erro)}
.comunicado.mural{border-left-color:var(--line)}
.comunicado.mural.fixado{border-left-color:var(--navy)}
.comunicado.oculto,.replica.oculto{opacity:.55}
.com-kicker{display:block;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.com-texto{white-space:pre-wrap;margin:6px 0 10px;line-height:1.5}
.replicas{margin-top:10px;display:grid;gap:8px}
.replica{margin-left:10px;border-left:2px solid var(--line);padding:4px 0 4px 12px}
.replica p{margin:2px 0 4px;white-space:pre-wrap}
.f-replica{margin-top:10px}
.f-replica .campo{margin:0 0 6px}
.opcao{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}
.opcao input{width:20px;height:20px}
/* carteira de alunos (v32) */
.etiqueta.necessidade{color:var(--blue);background:rgba(60,100,200,.12)}
.cracha .selos{display:flex;flex-wrap:wrap;gap:4px}
.cracha .selos:empty{display:none}
.cracha-aluno .idade-selo{font-size:.78rem;font-weight:700;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:3px 9px;white-space:nowrap}
.cracha-aluno .rodape{flex-direction:column;gap:2px}
.cracha-aluno .rodape span:empty{display:none}
.filtros-alunos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:10px}
.filtros-alunos .campo{margin:0}
.barra-alunos{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:12px 0 4px}
.alternador{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--bg2)}
.alternador button{border:0;background:transparent;color:var(--muted);padding:9px 16px;font-weight:700;cursor:pointer;font-size:.88rem}
.alternador button.ativo{background:var(--navy);color:#fff}
.alunos-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}
.alunos-chips span{font-size:.8rem;color:var(--muted);background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:4px 11px}
.alunos-chips strong{color:var(--ink)}
.tabela-rolagem{overflow-x:auto;border:1px solid var(--line);border-radius:9px;background:var(--bg2);margin-top:10px}
.tabela-alunos th,.tabela-alunos td{white-space:nowrap;vertical-align:top;padding:10px 12px}
.tabela-alunos td:first-child{position:sticky;left:0;background:var(--bg2)}
.tabela-alunos tbody tr{cursor:pointer}
.tabela-alunos tbody tr:hover td{background:var(--goldsoft)}
.aluno-nome-btn{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--ink);text-align:left;cursor:pointer}
.aluno-nome-btn:focus-visible,.alternador button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.barra-alunos .botao{width:auto}
:root[data-tema="escuro"] .alternador button.ativo{background:var(--yellow);color:var(--yellow-ink)}
.alternador button{padding:12px 16px}
.tabela-alunos th:first-child{position:sticky;left:0;z-index:1;background:var(--bg2)}
.tabela-alunos td:first-child{z-index:1}
@media(max-width:480px){.tabela-alunos td:first-child,.tabela-alunos th:first-child{max-width:140px;white-space:normal}}
/* editor de locais (v32) */
.editor-locais{border-color:var(--blue)}
.editor-locais form[data-form-local]{border-style:dashed}
/* v34: módulo financeiro */
.rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch}
.fin-grade{min-width:900px}
.fin-grade input,.fin-grade select{width:100%;min-width:72px;padding:4px 6px;font-size:.85rem}
.fin-grade input[type=number]{text-align:right}
.fin-grade td.num,.tabela td.num,.tabela th.num{text-align:right;white-space:nowrap}
.fin-grade tr.nova td{background:var(--goldsoft)}
.nota-inline{color:var(--gold);font-weight:700}
.fin-mes{display:grid;grid-template-columns:70px 1fr;gap:4px 10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.fin-mes:last-child{border-bottom:0}
.fin-rotulo{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:capitalize}
.fin-barras{display:grid;gap:3px}
.fin-barra{height:9px;border-radius:4px;min-width:2px}
.fin-barra.prev{background:var(--navy2)}
.fin-barra.real{background:var(--yellow)}
.fin-valores{grid-column:2;font-size:.78rem;color:var(--muted)}
body.apresentacao .so-custos{display:none!important}
/* v34: painel financeiro com gráficos */
.painel-fin{--pf-bg:transparent;--pf-cartao:var(--bg2);--pf-ink:var(--ink);--pf-muted:var(--muted);--pf-grade:rgba(16,42,67,.12);--pf-trilho:rgba(16,42,67,.1);border-radius:14px;padding:4px}
.painel-fin.escuro{--pf-bg:#0b1b26;--pf-cartao:#122534;--pf-ink:#f5f4eb;--pf-muted:#9fb3bc;--pf-grade:rgba(245,244,235,.12);--pf-trilho:rgba(245,244,235,.12);background:var(--pf-bg);color:var(--pf-ink);padding:14px;margin:0 -6px}
.painel-fin.escuro h1,.painel-fin.escuro h2,.painel-fin.escuro h3,.painel-fin.escuro p,.painel-fin.escuro .sub,.painel-fin.escuro .nota,.painel-fin.escuro .legenda,.painel-fin.escuro td,.painel-fin.escuro th{color:var(--pf-ink)}
.painel-fin.escuro .cartao,.painel-fin.escuro .kpi{background:var(--pf-cartao);border-color:rgba(245,244,235,.1)}
.painel-fin.escuro .tabela tr{border-color:rgba(245,244,235,.1)}
.painel-fin.escuro .botao.secundario{background:#1d3446;color:#fff;border-color:rgba(245,244,235,.2)}
.painel-topo{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.painel-topo h1 small{font-size:.9rem;font-weight:600;color:var(--pf-muted);margin-left:6px}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:12px 0}
.kpi{position:relative;background:var(--pf-cartao);border:1px solid var(--line);border-radius:10px;padding:12px 12px 10px;display:flex;flex-direction:column;gap:2px;min-height:96px}
.kpi-rotulo{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--pf-muted);font-weight:700}
.kpi-valor{font-size:1.35rem;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--pf-ink)}
.kpi-sub{font-size:.74rem;color:var(--pf-muted)}
.kpi .faisca{position:absolute;right:10px;bottom:8px;width:90px;height:28px;opacity:.85}
.kpi-delta{font-weight:800;font-variant-numeric:tabular-nums}
.kpi-delta.sobe{color:#1f9d6a}.kpi-delta.desce{color:#d64553}.kpi-delta.neutro{color:var(--pf-muted)}
.g-cartao{padding:12px 14px}
.g-cab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.g-cab h3{margin:0}
.g-duplo{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
@media(min-width:960px){.g-duplo{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
.g-duplo>*{min-width:0}
.rosca-legenda{min-width:0}
.grafico{width:100%;height:auto;display:block;font-family:inherit}
.g-grade{stroke:var(--pf-grade);stroke-width:1}
.g-eixo{font-size:11px;fill:var(--pf-muted)}
.g-valor{font-size:12px;font-weight:800;fill:var(--pf-ink)}
.g-rotulo{font-size:12px;fill:var(--pf-ink)}
.g-trilho{fill:var(--pf-trilho)}
.g-centro{font-size:17px;font-weight:800;fill:var(--pf-ink)}
.g-centro-sub{font-size:10px;fill:var(--pf-muted);text-transform:uppercase;letter-spacing:.06em}
.rosca{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:center}
.rosca-svg{max-width:180px}
.rosca-legenda{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.78rem}
.rosca-legenda li{display:flex;align-items:center;gap:6px}
.rosca-legenda li span{flex:1;min-width:0;line-height:1.2}
@media(max-width:480px){.rosca{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.kpi .faisca{width:60px}}
/* v1.34: bloco "Agora" */
.agora{border-left:4px solid var(--yellow)}
.agora-topo{display:flex;justify-content:space-between;align-items:baseline}
.agora-topo h3{margin:0}
.agora-hora{font-variant-numeric:tabular-nums;font-weight:800;color:var(--erro)}
.agora-resumo{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.82rem;color:var(--muted);margin:6px 0 8px}
.agora-resumo strong{color:var(--ink);font-size:1rem}
.agora-tl{margin:4px 0}
.agora-locais{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.agora-local{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--bg2);border-radius:999px;padding:3px 10px 3px 6px;font-size:.78rem;cursor:pointer;color:var(--ink)}
.agora-lista{display:grid;gap:6px}
.agora-item{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-left:4px solid var(--cor,var(--line));border-radius:8px;padding:8px 10px;background:var(--bg2)}
.agora-item.encerrada{opacity:.6}
.agora-item.apagado{display:none}
.agora-quando{display:flex;flex-direction:column;line-height:1.1;font-variant-numeric:tabular-nums}
.agora-quando span{font-size:.72rem;color:var(--dim)}
.agora-oque{display:flex;flex-direction:column;min-width:0}
.agora-oque .sub{font-size:.76rem}
.agora-acoes{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.etiqueta-agora{font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--dim)}
.etiqueta-agora.andamento{color:var(--ok)}
.etiqueta-agora.proxima{color:var(--gold)}
.botao-zap{background:#25D366;color:#fff;border-radius:999px;padding:4px 10px;font-size:.74rem;font-weight:800;text-decoration:none}
@media(max-width:480px){.agora-item{grid-template-columns:48px 1fr;}.agora-acoes{grid-column:1/-1;flex-direction:row;justify-content:space-between}}
/* v1.34: grade "Agora" estilo guia de TV */
.epg{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:10px;background:var(--bg2);margin:6px 0 10px;-webkit-overflow-scrolling:touch}
.epg-grade{display:grid;grid-template-columns:150px max-content;position:relative}
.epg-canto{position:sticky;left:0;z-index:4;background:var(--navy);color:#fff;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:8px 10px;font-weight:800}
.epg-cab{position:relative;height:30px;background:var(--navy);color:#fff}
.epg-hora{position:absolute;top:0;height:30px;line-height:30px;padding-left:6px;font-size:.72rem;border-left:1px solid rgba(255,255,255,.25);font-variant-numeric:tabular-nums}
.epg-linha{display:contents}
.epg-local{position:sticky;left:0;z-index:3;background:var(--bg2);border-top:1px solid var(--line);border-right:2px solid var(--cor,var(--line));padding:8px 8px;font-size:.76rem;font-weight:700;display:flex;align-items:center;gap:6px;min-height:52px}
.epg-local span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.epg-faixa{position:relative;height:52px;border-top:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0 119px,var(--line) 119px 120px)}
.epg-bloco{position:absolute;top:5px;height:42px;border-radius:7px;color:#fff;padding:4px 8px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:1px;line-height:1.1;background:linear-gradient(90deg,var(--cor) var(--p,0%),color-mix(in srgb,var(--cor) 45%,#fff) var(--p,0%));box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);cursor:default}
.epg-bloco strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.epg-bloco .epg-h{font-size:.64rem;opacity:.95;font-variant-numeric:tabular-nums}
.epg-bloco .epg-quem{font-size:.64rem;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.epg-bloco.curto strong,.epg-bloco.curto .epg-quem{display:none}
.epg-bloco.encerrada{opacity:.55}
.epg-bloco.andamento{box-shadow:0 0 0 2px var(--yellow),inset 0 0 0 1px rgba(0,0,0,.08)}
.epg-bloco.registrada::after{content:"✓";position:absolute;right:6px;top:4px;font-size:.7rem;font-weight:900}
.epg-agora-coluna{grid-column:2;position:absolute;top:0;bottom:0;left:150px;pointer-events:none}
.epg-agora{position:absolute;top:0;bottom:0;width:2px;background:var(--erro);z-index:2}
.epg-agora span{position:absolute;top:32px;left:-22px;background:var(--erro);color:#fff;font-size:.66rem;font-weight:800;padding:1px 5px;border-radius:4px;font-variant-numeric:tabular-nums}
.painel-fin.escuro .epg,.painel-fin.escuro .epg-local{background:#122534}
.notificacao{box-shadow:0 0 0 2px var(--yellow)}

/* v1.35: sinal de carregamento (19/10/2026, pedido de Ulisses: quem usa precisa saber se está aguardando) */
.progresso{position:sticky;top:0;z-index:25;height:0;overflow:visible;pointer-events:none}
.progresso-faixa{height:3px;background:linear-gradient(90deg,transparent 0%,var(--yellow) 30%,var(--yellow) 70%,transparent 100%);background-size:50% 100%;background-repeat:no-repeat;animation:progresso-corre 1.1s linear infinite}
.progresso-texto{position:absolute;right:12px;top:7px;font-size:.72rem;font-weight:700;color:var(--yellow-ink);background:var(--yellow);padding:3px 10px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.18);white-space:nowrap}
.progresso-texto:empty{display:none}
@keyframes progresso-corre{0%{background-position:-50% 0}100%{background-position:150% 0}}
.carregando{text-align:center}
.carregando h1{margin:8px 0 6px}
.carregando .girando{width:34px;height:34px;margin:0 auto 14px;border:4px solid var(--line);border-top-color:var(--yellow);border-radius:50%;animation:gira .9s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.carga-barra{height:8px;background:var(--bg3);border-radius:999px;overflow:hidden;margin:16px auto 8px;max-width:320px}
.carga-barra>div{height:100%;width:0;background:var(--yellow);border-radius:999px;transition:width .25s ease}
@media (prefers-reduced-motion:reduce){.progresso-faixa,.carregando .girando{animation-duration:3s}}

/* v1.36: eventos e competições (rodada 1) */
.cal-item.cal-jogo{background:rgba(23,79,104,.12);color:var(--blue)!important;border-radius:4px;padding:0 3px;font-weight:800}
.etiqueta.planejamento,.etiqueta.aberta,.etiqueta.prevista,.etiqueta.inscrita{color:var(--muted)}
.etiqueta.inscricoes,.etiqueta.tabela_gerada{color:var(--gold);background:var(--goldsoft)}
.etiqueta.em_andamento,.etiqueta.aprovada{color:var(--ok);background:rgba(23,107,85,.12)}
.etiqueta.encerrado,.etiqueta.encerrada{color:var(--dim)}
.etiqueta.cancelado,.etiqueta.cancelada,.etiqueta.recusada,.etiqueta.desistente,.etiqueta.adiada{color:var(--erro);background:rgba(170,52,68,.12)}
details > summary{cursor:pointer;list-style:none}
details > summary::-webkit-details-marker{display:none}
/* viagem autorizada com pendência (v1.38) */
.etiqueta.pendencia{color:var(--gold);background:var(--goldsoft)}
.etiqueta.conferir{color:var(--blue);background:rgba(60,100,200,.12)}
.quem-pediu{border-left:4px solid var(--yellow)}
.pend-viagem{border-color:var(--gold)}
.pend-item{border-top:1px solid var(--line);padding:10px 0}
.pend-item:first-of-type{border-top:0;padding-top:0}
.pend-item textarea{min-height:64px}
.pend-item .botao-texto,.quem-pediu .botao-texto{padding:10px 8px;min-height:40px}
.pend-item .botoes{margin-top:8px}
/* campos de data e hora não passam da largura da coluna no celular (v1.38) */
.campo input[type="datetime-local"],.campo input[type="date"]{min-width:0;max-width:100%;box-sizing:border-box}
.linha>.campo{min-width:0}

/* v1.39: escolha de município nas pendências do instrutor */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.chip{background:var(--bg3);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:700;cursor:pointer}
.chip.ativo{background:var(--navy);color:#fff;border-color:var(--navy)}
:root[data-tema="escuro"] .chip.ativo{background:var(--yellow);color:var(--yellow-ink);border-color:var(--yellow)}
