/* Estilo do protótipo "Gestor de Agentes de Inscrição" (Rubeus): teal, Roboto, Material Symbols */
:root{
  --text-primary:#191c1c;--text-body:#263333;--text-subtle:#505353;--text-disable:#899392;--text-brand:#004f4f;--link:#006a69;
  --border-primary:#e1e3e2;--border-secondary:#c5c7c6;--brand:#005c5c;
  --bg-app:#ffffff;--bg-bar:#f8faf9;--bg-rail:#f8f9fa;--bg-tertiary:#eff1f0;--bg-disable:#dbe4e4;
  --field:rgba(0,0,0,.04);--brand-tint:rgba(0,106,106,.14);--brand-tint-soft:rgba(0,106,106,.06);--selected:#dcebea;--white:#fff;
  --warn-fg:#7a4a00;--warn-bg:#ffe0b2;--warn-bar:#b26a00;
  --err-fg:#b3002a;--err-bg:#ffdadb;--err-bar:#d4002b;
  --info-fg:#24407a;--info-bg:#dce5ff;
}
*{box-sizing:border-box}
body{margin:0;font-family:Roboto,'Helvetica Neue',sans-serif;color:var(--text-body);background:var(--bg-app);font-size:14px;line-height:20px}
a{color:var(--link)}a:hover{color:#004f4f}
button,input,select,textarea{font-family:inherit;font-size:inherit}
.ms{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:20px;line-height:1;display:inline-block;white-space:nowrap;font-feature-settings:'liga';-webkit-font-smoothing:antialiased;vertical-align:middle}
.mono{font-family:'Roboto Mono',monospace;font-size:13px}
.subtle{color:var(--text-subtle)}
.small{font-size:12px;letter-spacing:.4px;line-height:16px}

.app{min-height:100vh;display:flex;flex-wrap:wrap}
.rail{width:64px;flex:none;background:var(--bg-rail);border-right:1px solid var(--border-primary);display:flex;flex-direction:column}
.rail .logo{height:49px;display:flex;align-items:center;justify-content:center}
.rail .logo span{width:28px;height:28px;border-radius:50%;background:var(--text-brand);color:#fff;display:flex;align-items:center;justify-content:center}
.rail a{height:48px;display:flex;align-items:center;justify-content:center;color:var(--text-subtle);text-decoration:none}
.rail a.on{background:var(--brand-tint-soft);color:var(--text-brand)}
.main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column}
.topbar{height:49px;background:var(--bg-bar);border-bottom:1px solid var(--border-secondary);display:flex;align-items:center;gap:8px;padding:0 16px 0 12px}
/* Barra lateral e superior fixas: só a área de conteúdo rola. --topo é a altura da barra superior, para o que gruda abaixo dela. */
:root{--topo:49px}
.rail{position:sticky;top:0;height:100vh;z-index:70}
.topbar{position:sticky;top:0;z-index:70}
@media (max-width:640px){.rail{position:static;height:auto}}
.topbar .titulo{font-family:Inter,sans-serif;font-size:16px;flex:1 1 auto}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-disable);color:var(--text-subtle);display:flex;align-items:center;justify-content:center}
.page-head{padding:16px 32px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.page-head h1{margin:0;flex:1 1 320px;font-size:20px;line-height:40px;font-weight:400;color:var(--text-primary)}
.content{padding:0 32px 32px;display:flex;flex-direction:column;gap:24px}
.content:not(:has(> *)){display:none} /* bloco de avisos do topo sem nenhum aviso: não deixa vão antes do painel */
.crumbs{padding:16px 32px 0;display:flex;align-items:center;gap:4px;color:var(--text-subtle)}
.meta{display:flex;flex-wrap:wrap;gap:8px 32px;color:var(--text-subtle)}
.meta strong{font-weight:500;color:var(--text-primary)}

.btn{height:40px;padding:0 24px 0 16px;border-radius:100px;border:1px solid var(--border-secondary);background:transparent;color:var(--text-brand);font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn .ms{font-size:18px}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.danger{border-color:var(--err-bar);color:var(--err-fg)}
.btn.text{border:none;padding:0 12px}
.btn:disabled,.icon-btn:disabled{opacity:.45;cursor:not-allowed}
.btn.is-loading,.icon-btn.is-loading{pointer-events:none;cursor:progress;opacity:.8}
.btn.is-loading>.ms,.icon-btn.is-loading>.ms{display:none}
.btn.is-loading::before,.icon-btn.is-loading::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:girar .7s linear infinite}
@keyframes girar{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.btn.is-loading::before,.icon-btn.is-loading::before{animation-duration:2s}}
.icon-btn{width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:var(--text-subtle);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

.chip{height:24px;padding:0 10px;border-radius:8px;display:inline-flex;align-items:center;font-size:12px;font-weight:500;letter-spacing:.4px;white-space:nowrap}
.chip.ok,.chip.ativa,.chip.coleta{background:var(--selected);color:var(--text-brand)}
.chip.info,.chip.homologacao,.chip.pagamento{background:var(--info-bg);color:var(--info-fg)}
.chip.warn,.chip.aviso,.chip.identificacao{background:var(--warn-bg);color:var(--warn-fg)}
.chip.err,.chip.erro{background:var(--err-bg);color:var(--err-fg)}
.chip.muted,.chip.rascunho,.chip.rastreio,.chip.ignorar,.chip.atualizacao{background:var(--bg-tertiary);color:var(--text-subtle)}
.chip.atualizacao{background:var(--selected);color:var(--text-brand)}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.tile{text-align:left;background:var(--bg-bar);border:1px solid var(--border-primary);border-radius:8px;padding:16px;display:flex;align-items:center;gap:16px;color:var(--text-primary);text-decoration:none}
.tile.on{border:2px solid var(--brand)}
.tile .circ{width:48px;height:48px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center}
.tile .n{font-size:28px;line-height:36px}

.card{border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}
.card-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-primary)}
.card-head h2{margin:0;flex:1 1 auto;font-size:16px;font-weight:500;color:var(--text-primary)}
.card-body{padding:16px}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:8px 16px;background:var(--bg-bar);border-bottom:1px solid var(--border-primary);color:var(--text-subtle)}
.scroll{overflow-x:auto}
table.t{width:100%;border-collapse:collapse;min-width:900px}
table.t th{height:48px;padding:0 16px;text-align:left;font-weight:500;color:var(--text-subtle);background:var(--bg-bar)}
table.t td{padding:12px 16px;border-top:1px solid var(--border-primary);vertical-align:middle;color:var(--text-primary)}
table.t td .sub{display:block;font-size:12px;letter-spacing:.4px;color:var(--text-subtle)}

.field{position:relative;display:flex;align-items:center;min-height:56px;background:var(--field);border-radius:4px 4px 0 0;border-bottom:1px solid var(--text-subtle);padding:0 12px 0 16px}
.field>span.lbl{position:absolute;top:6px;left:16px;font-size:12px;color:#44474e}
.field input,.field select,.field textarea{width:100%;border:none;background:transparent;padding-top:18px;font-size:16px;color:var(--text-primary);outline:none}
.field select{appearance:none;-webkit-appearance:none}
.field.area{align-items:flex-start;padding-bottom:8px}
.field.area textarea{min-height:360px;resize:vertical;line-height:24px;padding-top:24px}
.field.compact{min-height:40px}
.field.compact input,.field.compact select{padding-top:0;font-size:14px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

.tabs{display:flex;flex-wrap:wrap;padding:0 32px;border-bottom:1px solid var(--border-primary)}
.tabs a{height:48px;padding:0 16px;border-bottom:3px solid transparent;color:var(--text-subtle);font-weight:500;display:flex;align-items:center;gap:8px;text-decoration:none}
.tabs a.on{border-bottom-color:var(--brand);color:var(--text-brand)}

.note{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:8px;background:var(--bg-bar);border:1px solid var(--border-primary);color:var(--text-subtle)}
.note.warn{background:var(--warn-bg);border-color:transparent;color:var(--warn-fg)}
.note.err{background:var(--err-bg);border-color:transparent;color:var(--err-fg)}
.note.ok{background:var(--selected);border-color:transparent;color:var(--text-brand)}
.note p{margin:0}

.check{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);cursor:pointer}
.check input{width:18px;height:18px;margin:0;accent-color:var(--brand)}
details>summary{cursor:pointer;color:var(--text-subtle)}


[hidden]{display:none !important}

/* blocos copiáveis e lista de dados */
.copiavel{display:flex;align-items:flex-start;gap:8px;background:var(--bg-bar);border:1px solid var(--border-primary);border-radius:8px;padding:4px 4px 4px 12px}
.copiavel pre{flex:1;min-width:0;margin:0;padding:6px 0;white-space:pre-wrap;word-break:break-all;font-family:'Roboto Mono',monospace;font-size:13px;color:var(--text-primary)}
.copiavel .btn{flex:none;height:32px}
.rotulo{margin:0 0 6px;font-weight:500;color:var(--text-primary)}
dl.dados{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:12px 16px;margin:0;padding:16px;align-items:start}
dl.dados dt{color:var(--text-subtle);font-weight:500;padding-top:6px}
dl.dados dd{margin:0;padding-top:6px;color:var(--text-primary);min-width:0}
dl.dados dd .copiavel{margin-top:-6px}
@media (max-width:720px){dl.dados{grid-template-columns:1fr}dl.dados dd{padding-top:0}}

@media (max-width:720px){.page-head,.content,.crumbs{padding-left:16px;padding-right:16px}.tabs{padding:0 16px}}

/* visões: indicadores, distribuições e período */
table.t.compacta{min-width:0}
th.num,td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}
.stat{border:1px solid var(--border-primary);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:4px;background:#fff}
.stat-rotulo{color:var(--text-subtle);font-weight:500}
.stat-valor{font-size:28px;line-height:36px;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums}
.stat-rodape{font-size:12px;letter-spacing:.4px;color:var(--text-subtle)}
.dist{display:flex;flex-direction:column;gap:10px}
.dist-linha{display:grid;grid-template-columns:minmax(140px,1fr) 2fr 88px;align-items:center;gap:12px}
.dist-trilho{height:12px;background:var(--bg-tertiary);border-radius:0 4px 4px 0}
.dist-barra{display:block;height:12px;border-radius:0 4px 4px 0;background:var(--brand)}
.dist-valor{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:720px){.dist-linha{grid-template-columns:1fr auto}.dist-trilho{grid-column:1 / -1;order:3}}
.periodo{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.periodo .field{flex:0 1 200px}
.ruim{color:var(--err-fg)}
.lista-etapas{display:flex;flex-direction:column}
.lista-etapas>label,.lista-etapas>div{display:grid;grid-template-columns:32px 1fr minmax(180px,240px);gap:12px;align-items:center;padding:8px 16px;border-top:1px solid var(--border-primary)}

.tabs a .chip{margin-left:4px}

/* menu de ações (painel de captação) */
details.menu-acoes{position:relative}
details.menu-acoes>summary{list-style:none}
details.menu-acoes>summary::-webkit-details-marker{display:none}
details.menu-acoes[open]>summary{background:var(--selected)}
.menu-acoes .menu{position:absolute;right:0;top:44px;z-index:60;min-width:280px;background:#fff;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.3),0 4px 8px 3px rgba(0,0,0,.15);padding:8px 0;display:flex;flex-direction:column}
.menu-acoes .menu-item{display:grid;grid-template-columns:24px 1fr;column-gap:12px;align-items:center;padding:8px 16px;border:0;background:none;text-align:left;color:var(--text-primary);text-decoration:none;font:inherit;cursor:pointer}
.menu-acoes .menu-item[hidden]{display:none}
.menu-acoes .menu-item:hover,.menu-acoes .menu-item:focus-visible{background:var(--brand-tint-soft);outline:none}
.menu-acoes .menu-item .ms{grid-row:span 2;color:var(--text-subtle)}
.menu-acoes .menu-item .sub{grid-column:2;font-size:12px;line-height:16px;color:var(--text-subtle)}

/* fontes tipadas */
.fonte-corpo{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px;align-items:start}
@media (max-width:860px){.fonte-corpo{grid-template-columns:1fr}}
.fonte-ref{display:flex;flex-direction:column;gap:12px}
.fonte-envio{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-bar)}
.fonte-envio .field{background:#fff}
ol.passos{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:2px}
details.colunas>summary{font-weight:500;color:var(--text-brand)}
details.colunas[open]>summary{margin-bottom:8px}

/* topo compacto das visões: período, situação dos dados e abas em duas linhas finas */
.visao-topo{padding:12px 32px 0;border-bottom:1px solid var(--border-primary);background:var(--bg-app)}
.visao-linha{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;min-height:44px}
.visao-linha h1{margin:0;font-size:20px;line-height:28px;font-weight:400;color:var(--text-primary)}
.visao-topo .espaco{flex:1 1 auto}
.periodo-compacto{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.periodo-compacto input[type=date]{height:36px;padding:0 8px;border:1px solid var(--border-secondary);border-radius:4px;background:#fff;font:inherit;color:var(--text-primary)}
.periodo-compacto input[type=date]:focus{outline:2px solid var(--brand);outline-offset:-1px}
.periodo-compacto .btn{height:36px}
.visao-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 0 0}
.visao-status .chip .ms{font-size:16px;margin-right:4px}
details.resumo-dados{position:relative}
details.resumo-dados>summary{list-style:none;display:inline-flex;align-items:center;gap:2px;height:28px;padding:0 4px 0 8px;border-radius:4px;font-size:12px;color:var(--text-subtle);cursor:pointer}
details.resumo-dados>summary::-webkit-details-marker{display:none}
details.resumo-dados>summary strong{color:var(--text-primary);font-weight:500;margin-right:3px}
details.resumo-dados>summary:hover,details.resumo-dados[open]>summary{background:var(--brand-tint-soft)}
details.resumo-dados>summary .ms{font-size:18px;transition:transform .15s}
details.resumo-dados[open]>summary .ms{transform:rotate(180deg)}
.resumo-pop{position:absolute;left:0;top:32px;z-index:60;width:max-content;min-width:320px;max-width:min(480px,calc(100vw - 32px));background:#fff;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.3),0 4px 8px 3px rgba(0,0,0,.15);padding:12px 16px;font-size:13px;line-height:20px}
.resumo-pop dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0}
.resumo-pop dt{color:var(--text-subtle)}
.resumo-pop dd{margin:0;color:var(--text-primary)}
.resumo-pop .meta{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-secondary);color:var(--text-subtle)}
.resumo-pop .meta:empty{display:none}
.resumo-pop .meta b{color:var(--text-primary);font-weight:500}
.abas-visao{display:flex;gap:4px}
.abas-visao a{height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:4px;border-bottom:3px solid transparent;color:var(--text-subtle);font-weight:500;text-decoration:none}
.abas-visao a.on{border-bottom-color:var(--brand);color:var(--text-brand)}
@media (max-width:720px){.visao-topo{padding:12px 16px 0}}

/* Coleta em segundo plano: andamento por etapa */
.coleta-card{border:1px solid var(--border-primary);border-radius:8px;background:#fff;padding:16px;display:flex;flex-direction:column;gap:12px}
.coleta-topo{display:flex;gap:12px;align-items:flex-start}
.coleta-topo>div{display:flex;flex-direction:column;gap:2px}
.coleta-topo>.ms{color:var(--text-brand);font-size:24px}
.ms.girando{animation:girar 1s linear infinite}
.coleta-barra{height:6px;border-radius:3px;background:var(--bg-tertiary);overflow:hidden}
.coleta-barra>span{display:block;height:100%;background:var(--brand);transition:width .4s ease}
.coleta-etapas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px}
.coleta-etapas li{display:grid;grid-template-columns:20px 1fr;column-gap:8px;align-items:center}
.coleta-etapas li>.small{grid-column:2}
.coleta-etapas li .ms{font-size:18px;color:var(--text-subtle)}
.coleta-etapas li.espera{color:var(--text-subtle)}
.coleta-etapas li.andamento .ms{color:var(--text-brand);animation:girar 1s linear infinite}
.coleta-etapas li.ok .ms{color:var(--text-brand)}
.coleta-etapas li.erro .ms{color:var(--err-fg)}
.coleta-pronta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.note .espaco-esq{margin-left:auto}

/* Seletor de processo: um processo por vez na visão (funil e etapas de cada um) */
details.seletor-processo{position:relative}
details.seletor-processo>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 4px 0 10px;border:1px solid var(--border-secondary);border-radius:4px;background:#fff;font-weight:500;color:var(--text-primary);cursor:pointer;white-space:nowrap}
details.seletor-processo>summary::-webkit-details-marker{display:none}
details.seletor-processo>summary .ms{font-size:18px;color:var(--text-subtle)}
details.seletor-processo>summary:hover,details.seletor-processo[open]>summary{background:var(--brand-tint-soft)}
.seletor-processo .menu{position:absolute;left:0;top:40px;z-index:60;min-width:240px;background:#fff;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.3),0 4px 8px 3px rgba(0,0,0,.15);padding:8px 0;display:flex;flex-direction:column}
.seletor-processo .menu-item{display:grid;grid-template-columns:20px 1fr;column-gap:10px;align-items:center;padding:8px 16px;color:var(--text-primary);text-decoration:none;white-space:nowrap}
.seletor-processo .menu-item .ms{font-size:18px;color:var(--text-brand)}
.seletor-processo .menu-item:hover,.seletor-processo .menu-item:focus-visible{background:var(--brand-tint-soft);outline:none}
.seletor-processo .menu-item.on{font-weight:500}

/* Glossário do painel de captação */
.glossario-busca{position:sticky;top:var(--topo);z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0;background:#fff}
.glossario-campo{flex:1 1 320px;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--border-secondary);border-radius:4px;background:#fff;min-width:0}
.glossario-campo:focus-within{outline:2px solid var(--brand);outline-offset:-1px}
.glossario-campo input{flex:1;border:0;outline:0;font:inherit;color:var(--text-primary);background:transparent;min-width:0}
.glossario-corpo{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:start}
.glossario-indice{position:sticky;top:calc(var(--topo) + 64px);display:flex;flex-direction:column;gap:2px}
.glossario-indice a{display:flex;justify-content:space-between;gap:8px;padding:6px 12px;border-radius:100px;color:var(--text-subtle);text-decoration:none;font-weight:500;font-size:13px}
.glossario-indice a span{font-weight:400;color:var(--text-subtle)}
.glossario-indice a:hover{background:var(--brand-tint-soft)}
.glossario-indice a.on{background:var(--selected);color:var(--text-brand)}
.glossario-secoes{display:flex;flex-direction:column;gap:24px;min-width:0}
.glossario-secao{scroll-margin-top:calc(var(--topo) + 64px)}
.glossario-termo{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:4px 24px;padding:14px 16px;scroll-margin-top:calc(var(--topo) + 64px)}
.glossario-termo+.glossario-termo{border-top:1px solid var(--border-primary)}
.glossario-termo:target{background:var(--selected)}
.glossario-termo h3{margin:0;font-size:14px;line-height:20px;font-weight:500}
.glossario-termo h3 a{color:var(--text-primary);text-decoration:none}
.glossario-termo h3 a:hover{color:var(--text-brand);text-decoration:underline}
.glossario-termo p{margin:0 0 6px;max-width:72ch}
.glossario-termo p:last-child{margin-bottom:0}
.glossario-calculo{font-size:13px;color:var(--text-subtle)}
.glossario-termo strong{font-weight:500;color:var(--text-primary)}
.glossario mark{background:var(--selected);color:inherit;border-radius:2px}
@media (max-width:860px){.glossario-corpo{grid-template-columns:1fr;gap:16px}.glossario-indice{position:static;flex-direction:row;flex-wrap:wrap}.glossario-termo{grid-template-columns:1fr}}

/* Passo a passo da exportação SFTP na Infobip */
details.sftp-passos{border:1px solid var(--border-primary);border-radius:8px;padding:0 16px}
details.sftp-passos>summary{display:flex;align-items:center;gap:8px;height:44px;font-weight:500;color:var(--text-primary);cursor:pointer;list-style:none}
details.sftp-passos>summary::-webkit-details-marker{display:none}
details.sftp-passos>summary .ms{color:var(--text-brand)}
details.sftp-passos ol{margin:0 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:8px;max-width:860px}

/* Barra de filtros da permanência: mesmo formato da barra do painel de captação, fixa abaixo da barra do app */
.fbar-app{position:sticky;top:var(--topo);z-index:40;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 32px;background:rgba(239,241,240,.96);backdrop-filter:blur(6px);border-top:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary)}
.fbar-app .espaco{flex:1 1 auto}
.fbar-app+.content{padding-top:16px}
.fbar-app .fbar-n{font-size:12px;color:var(--text-subtle);white-space:nowrap}
.fbar-app .fbar-n b{color:var(--text-primary);font-weight:500}
.cbf{position:relative;display:inline-flex;align-items:center}
.cbf[hidden]{display:none}
.cbf-btn{display:inline-flex;align-items:center;gap:8px;height:32px;max-width:280px;padding:0 6px 0 12px;border:1px solid var(--border-secondary);border-radius:4px;background:#fff;font:inherit;font-size:13px;color:var(--text-primary);cursor:pointer}
.cbf-btn .cbf-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cbf-btn b{font-weight:400}
.cbf-btn .ms{font-size:18px;color:var(--text-subtle)}
.cbf-btn:hover{border-color:var(--text-subtle)}
.cbf.on>.cbf-btn{background:var(--selected);border-color:var(--brand);color:var(--text-brand)}
.cbf.on>.cbf-btn b{font-weight:500}
.cbf.aberto>.cbf-btn{outline:2px solid var(--brand);outline-offset:-1px}
.cbf.mais>.cbf-btn{border-style:dashed;background:transparent;color:var(--text-subtle)}
.cbf.extra.on>.cbf-btn{border-radius:4px 0 0 4px}
.cbf-x{height:32px;width:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--brand);border-left:none;border-radius:0 4px 4px 0;background:var(--selected);color:var(--text-brand);cursor:pointer}
.cbf-x .ms{font-size:16px}
.cbf-pop{position:absolute;top:36px;left:0;z-index:60;width:max-content;min-width:260px;max-width:min(380px,calc(100vw - 32px));background:#fff;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.3),0 4px 8px 3px rgba(0,0,0,.15);padding:8px 0;display:flex;flex-direction:column}
.cbf-pop[hidden]{display:none}
.cbf-busca{margin:0 8px 6px;height:34px;padding:0 10px;border:1px solid var(--border-secondary);border-radius:4px;font:inherit;font-size:13px;outline:none}
.cbf-busca:focus{border-color:var(--brand)}
.cbf-lista{max-height:300px;overflow:auto;display:flex;flex-direction:column}
.cbf-op{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:6px 14px;font-size:13px;color:var(--text-primary);cursor:pointer;border:0;background:none;text-align:left;font-family:inherit}
.cbf-op.cbf-campo{grid-template-columns:1fr auto}
.cbf-op:hover{background:var(--brand-tint-soft)}
.cbf-op input{margin:0;accent-color:var(--brand)}
.cbf-op .n{font-size:12px;color:var(--text-subtle);font-variant-numeric:tabular-nums}
.cbf-op.zero,.cbf-op.vazio>span:nth-of-type(1){color:var(--text-subtle)}
.cbf-op[hidden]{display:none}
.cbf-todos{border-bottom:1px solid var(--border-primary);margin-bottom:4px;padding-bottom:8px}
.cbf-acoes{display:flex;justify-content:flex-end;gap:8px;padding:8px 8px 0;border-top:1px solid var(--border-primary);margin-top:4px}
.cbf-acoes .btn{height:32px}
@media (max-width:720px){.fbar-app{padding:6px 16px}.cbf-btn{max-width:220px}}

/* Painel da Gestão da permanência (public/js/permanencia.js) */
.pm .pm-cab{position:sticky;top:var(--topo);z-index:40;background:var(--bg-app)}
.pm-abas{display:flex;gap:4px;padding:0 32px;border-bottom:1px solid var(--border-primary);overflow-x:auto;background:var(--bg-app)}
.pm-abas button{height:44px;padding:0 14px;border:0;border-bottom:3px solid transparent;background:none;font:inherit;font-weight:500;color:var(--text-subtle);cursor:pointer;white-space:nowrap}
.pm-abas button:hover{color:var(--text-primary)}
.pm-abas button.on{border-bottom-color:var(--brand);color:var(--text-brand)}
.pm .pm-filtros{position:static;border-top:none}
.pm-modo{display:inline-flex;border:1px solid var(--border-secondary);border-radius:4px;overflow:hidden;margin-right:6px;background:#fff}
.pm-modo button{height:30px;padding:0 12px;border:0;background:none;font:inherit;font-size:13px;color:var(--text-subtle);cursor:pointer}
.pm-modo button.on{background:var(--brand);color:#fff}
.pm-corpo{padding-top:16px}
.pm-nota-modo{margin:0}
.pm .grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.pm .card{background:#fff}
.pm .card-head .subtle{font-size:12px}
.pm-sem-corpo>.card-body{padding:0}
.pm-vazio{margin:0;padding:8px 0}
.pm-kpis .stat-rotulo{display:flex;align-items:center;gap:6px}
.pm-kpis .stat.risco .stat-valor{color:#C8453C}
.pm-ponto{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;vertical-align:middle;margin-right:6px}
.cbf-op .pm-ponto{margin-right:8px}
.pm-nivel{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:11px;font-size:12px;font-weight:500;white-space:nowrap;color:var(--text-primary);background:color-mix(in srgb,var(--c) 18%,#fff)}
.pm-nivel::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.pm-barra{display:flex;height:18px;border-radius:4px;overflow:hidden;background:var(--bg-tertiary);min-width:120px}
.pm-barra.vazia{opacity:.5}
.pm-barra span{display:block;height:100%}
.pm-barra span+span{box-shadow:inset 1px 0 0 rgba(255,255,255,.7)}
.pm-legenda{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;font-size:12px;color:var(--text-subtle)}
.pm-legenda i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.pm-legenda b{color:var(--text-primary);font-weight:500}
.pm .dist{margin-top:14px}
.pm .dist-linha[role=button]{cursor:pointer;border-radius:4px}
.pm .dist-linha[role=button]:hover{background:var(--brand-tint-soft)}
.pm-destaques{display:flex;flex-direction:column;gap:8px}
.pm-destaques .insi{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;background:var(--bg-bar);font-size:13px;line-height:19px}
.pm-destaques .insi[role=button]{cursor:pointer}
.pm-destaques .insi[role=button]:hover{background:var(--brand-tint-soft)}
.pm-destaques .dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none}
.pm-destaques .go{margin-left:auto;font-size:12px;color:var(--text-brand);white-space:nowrap}
.pm-destaques b{font-weight:500}
.pm-pilares{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.pm-pilar h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:500;color:var(--text-primary)}
.pm-pilar h3 .ms{font-size:20px;color:var(--text-brand)}
.pm-pilar dl{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:0;font-size:13px}
.pm-pilar dt{color:var(--text-subtle)}
.pm-pilar dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-primary)}
.pm-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}
.pm-chip{height:30px;padding:0 12px;border:1px solid var(--border-secondary);border-radius:15px;background:#fff;font:inherit;font-size:13px;color:var(--text-primary);cursor:pointer}
.pm-chip:hover{background:var(--brand-tint-soft)}
.pm-chip.on{background:var(--selected);border-color:var(--brand);color:var(--text-brand);font-weight:500}
.pm-outro-dim{display:inline-flex;align-items:center;gap:6px;margin-left:6px}
.pm-select-inline,.pm-outro-dim select{height:30px;padding:0 6px;border:1px solid var(--border-secondary);border-radius:4px;background:#fff;font:inherit;font-size:13px;color:var(--text-primary)}
.pm table.t{min-width:0}
.pm .pm-col-barra{width:34%;min-width:160px}
.pm tr[role=button]{cursor:pointer}
.pm tr[role=button]:hover td{background:var(--brand-tint-soft)}
.pm-recorte td:first-child{max-width:240px}
.pm-comp{height:8px;background:var(--bg-tertiary);border-radius:0 3px 3px 0;margin:2px 0}
.pm-comp span{display:block;height:100%;border-radius:0 3px 3px 0}
.pm-nps{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.pm-nps-score{font-size:48px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;align-items:center;min-width:90px}
.pm-nps-score span{font-size:12px;font-weight:500;letter-spacing:.6px;color:var(--text-subtle);margin-top:6px}
.pm-lista-topo{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-primary)}
.pm-lista-topo .espaco{flex:1 1 auto}
.pm-busca{flex:1 1 320px;max-width:520px}
.pm-alunos td{vertical-align:top}
.pm-alunos td .sub{display:block;margin-top:2px;font-size:12px;color:var(--text-subtle)}
.pm-tag{display:inline-block;margin:0 4px 2px 0;padding:1px 8px;border-radius:10px;background:#FBE9E7;color:#8E2F28;font-size:12px;font-weight:500}
.pm-vinc{display:inline-block;margin-left:4px;padding:0 6px;border-radius:8px;background:var(--selected);color:var(--text-brand);font-size:11px;font-weight:500}
.pm-sinais-cel{font-size:12px}
.pm-sinais-cel>span{display:flex;align-items:center;gap:4px;white-space:nowrap;color:var(--text-primary)}
.pm-sinais-cel .ms{font-size:15px;color:var(--text-subtle)}
.pm-acao{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500}
.pm-acao .ms{font-size:16px}
.pm-acao.planejada{color:#2F8F83}
.pm-acao.atrasada{color:#C05F1F}
.pm-acao.concluida{color:#4E7BA1}
.pm-acao.sem{color:#C8453C}
.pm-mais{padding:12px;text-align:center;border-top:1px solid var(--border-primary)}
.pm-dialogo{border:0;border-radius:12px;padding:0;max-width:min(640px,calc(100vw - 32px));width:100%;box-shadow:0 8px 32px rgba(0,0,0,.25)}
.pm-dialogo::backdrop{background:rgba(0,0,0,.32)}
.pm-dialogo form,.pm-detalhe-corpo{padding:20px 24px;display:flex;flex-direction:column;gap:12px}
.pm-dialogo header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pm-dialogo h2{margin:0;font-size:18px;font-weight:500;color:var(--text-primary)}
.pm-dialogo p{margin:0}
.pm-niveis-lista{display:flex;flex-direction:column;max-height:60vh;overflow:auto;border:1px solid var(--border-primary);border-radius:8px}
.pm-nivel-linha{display:grid;grid-template-columns:1fr 180px;align-items:center;gap:12px;padding:8px 12px}
.pm-nivel-linha+.pm-nivel-linha{border-top:1px solid var(--border-primary)}
.pm-nivel-linha select{height:34px;padding:0 6px;border:1px solid var(--border-secondary);border-radius:4px;font:inherit;background:#fff}
.pm-lateral{margin:0 0 0 auto;height:100vh;max-height:100vh;max-width:min(720px,100vw);border-radius:0}
.pm-vinculo{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-top:1px solid var(--border-primary)}
.pm-vinculo-topo{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pm-vinculo-topo .btn{margin-left:auto}
.pm-detalhe-grupos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px}
.pm-detalhe-grupos dl{display:grid;grid-template-columns:1fr auto;gap:4px 10px;margin:0;font-size:13px}
.pm-detalhe-grupos dt{color:var(--text-subtle)}
.pm-detalhe-grupos dd{margin:0;text-align:right;color:var(--text-primary)}
.pm-linha-tempo{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--border-primary);display:flex;flex-direction:column;gap:10px;font-size:13px}
.pm-linha-tempo li{position:relative;display:flex;flex-direction:column}
.pm-linha-tempo li::before{content:"";position:absolute;left:-21px;top:4px;width:10px;height:10px;border-radius:50%;background:#2F8F83;border:2px solid #fff}
.pm-linha-tempo li.atrasada::before{background:#E07B39}
.pm-linha-tempo li.concluida::before{background:#6E9CC2}
@media (max-width:720px){.pm-abas{padding:0 16px}.pm-nivel-linha{grid-template-columns:1fr}}
.pm .dist-linha{grid-template-columns:minmax(96px,1fr) minmax(80px,1.6fr) 80px;gap:10px}
.pm .dist-linha>span:first-child{font-size:13px}
.pm-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.pm-kpis .stat{padding:14px}
