/* Visão Consultiva no design system Rubeus UI: as cores, os tipos e os espaços vêm de rubeus-tokens.css (--rbs-*).
   Os nomes curtos abaixo são apelidos dos tokens, usados pelo resto deste arquivo e pelo painel da permanência. */
:root{
  --text-primary:var(--rbs-text-neutral-primary);--text-body:var(--rbs-text-neutral-secondary);--text-subtle:var(--rbs-text-neutral-subtle);--text-disable:var(--rbs-text-neutral-disable);--text-brand:var(--rbs-text-brand-primary);--link:var(--rbs-text-brand-primary);
  --border-primary:var(--rbs-border-neutral-primary);--border-secondary:var(--rbs-border-neutral-secondary);--border-strong:var(--rbs-border-neutral-strong);--brand:var(--rbs-bg-brand-bold-primary);
  --bg-app:var(--rbs-bg-neutral-primary);--bg-bar:var(--rbs-bg-neutral-secondary);--bg-rail:var(--rbs-bg-neutral-secondary);--bg-tertiary:var(--rbs-bg-neutral-tertiary);--bg-disable:var(--rbs-bg-neutral-disable);--bg-surface:var(--rbs-bg-neutral-white);
  --field:var(--rbs-bg-input-neutral-primary);--brand-tint:var(--rbs-overlay-state-pressed);--brand-tint-soft:var(--rbs-overlay-state-hover);--selected:var(--rbs-overlay-state-selected);--white:var(--rbs-bg-neutral-white);
  --warn-fg:var(--rbs-text-semantic-warning-on-subtle);--warn-bg:var(--rbs-bg-semantic-warning-subtle);--warn-bar:var(--rbs-icon-semantic-warning-on-subtle);
  --err-fg:var(--rbs-text-semantic-error-on-subtle);--err-bg:var(--rbs-bg-semantic-error-subtle);--err-bar:var(--rbs-bg-semantic-error-bold);
  --ok-fg:var(--rbs-text-semantic-success-on-subtle);--ok-bg:var(--rbs-bg-semantic-success-subtle);
  --info-fg:var(--rbs-text-semantic-info-on-subtle);--info-bg:var(--rbs-bg-semantic-info-subtle);
  /* Elevação (Material 1 a 3), feita com a sombra do design system */
  --elev-1:0 1px 2px var(--rbs-shadow-30),0 1px 3px 1px var(--rbs-shadow-15);
  --elev-2:0 1px 2px var(--rbs-shadow-30),0 2px 6px 2px var(--rbs-shadow-15);
  --elev-3:0 1px 3px var(--rbs-shadow-30),0 4px 8px 3px var(--rbs-shadow-15);
  --topo:48px;--menu:280px;
}
*{box-sizing:border-box}
body{margin:0;font:var(--rbs-text-body-medium);letter-spacing:var(--rbs-text-body-medium-ls);color:var(--text-body);background:var(--bg-app)}
a{color:var(--link)}a:hover{color:var(--rbs-text-brand-secondary)}
button,input,select,textarea{font-family:inherit;font-size:inherit;letter-spacing:inherit}
:focus-visible{outline:2px solid var(--rbs-border-brand-primary);outline-offset:2px}
.ms{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;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:var(--rbs-text-body-small);letter-spacing:var(--rbs-text-body-small-ls)}
[hidden]{display:none !important}

/* Rolagem (Rubeus UI: Scroll): barra de 4px, sem setas e sem trilho */
.rbs-scroll,.scroll,.cbf-lista,.pm-niveis-lista,.pm-abas{scrollbar-width:thin;scrollbar-color:var(--rbs-border-inverse-tertiary) transparent}
@supports selector(::-webkit-scrollbar){
  .rbs-scroll,.scroll,.cbf-lista,.pm-niveis-lista,.pm-abas{scrollbar-width:auto;scrollbar-color:auto}
  .rbs-scroll::-webkit-scrollbar,.scroll::-webkit-scrollbar,.cbf-lista::-webkit-scrollbar,.pm-niveis-lista::-webkit-scrollbar,.pm-abas::-webkit-scrollbar{width:12px;height:12px}
  .rbs-scroll::-webkit-scrollbar-track,.scroll::-webkit-scrollbar-track,.cbf-lista::-webkit-scrollbar-track,.pm-niveis-lista::-webkit-scrollbar-track,.pm-abas::-webkit-scrollbar-track{background:transparent}
  .rbs-scroll::-webkit-scrollbar-thumb,.scroll::-webkit-scrollbar-thumb,.cbf-lista::-webkit-scrollbar-thumb,.pm-niveis-lista::-webkit-scrollbar-thumb,.pm-abas::-webkit-scrollbar-thumb{background:var(--rbs-border-inverse-tertiary);background-clip:padding-box;border:4px solid transparent;border-radius:8px}
  .rbs-scroll::-webkit-scrollbar-button,.scroll::-webkit-scrollbar-button,.cbf-lista::-webkit-scrollbar-button,.pm-niveis-lista::-webkit-scrollbar-button,.pm-abas::-webkit-scrollbar-button{display:none}
}

/* Estrutura: menu lateral fixo à esquerda, cabeçalho fixo no alto; só o conteúdo rola */
.app{min-height:100vh;display:flex}
.main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}

/* Menu lateral (Rubeus UI: Side nav): 280px aberto, 64px recolhido */
.side-nav{position:sticky;top:0;z-index:70;flex:none;width:var(--menu);height:100vh;display:flex;flex-direction:column;overflow:hidden;background:var(--rbs-bg-neutral-secondary);border-right:.5px solid var(--rbs-border-neutral-secondary);transition:width .2s cubic-bezier(.2,0,0,1)}
.side-nav-logo{flex:none;height:48px;display:flex;align-items:center;padding:8px 12px 8px 20px;font:600 18px/28px var(--rbs-font-heading);color:var(--rbs-text-brand-primary);white-space:nowrap;overflow:hidden}
.side-nav-logo .curto{display:none}
.side-nav-itens{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto}
.side-nav-titulo{display:flex;align-items:center;height:40px;padding:12px 16px 4px 20px;overflow:hidden;font:var(--rbs-text-title-medium);letter-spacing:var(--rbs-text-title-medium-ls);color:var(--rbs-text-neutral-subtle);transition:height .2s,padding .2s,opacity .2s}
.side-nav-titulo span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.side-nav-item{position:relative;display:flex;align-items:center;gap:8px;min-height:48px;padding:12px 16px 12px 20px;color:var(--rbs-text-neutral-subtle);text-decoration:none;font:var(--rbs-text-body-large);letter-spacing:var(--rbs-text-body-large-ls);white-space:nowrap}
.side-nav-item::before{content:"";position:absolute;inset:0;pointer-events:none}
.side-nav-item:hover{color:var(--rbs-text-neutral-subtle)}
.side-nav-item:hover::before{background:color-mix(in srgb,var(--rbs-overlay-state-hover) 50%,transparent)}
.side-nav-item:active::before{background:var(--rbs-overlay-state-pressed)}
.side-nav-item:focus-visible{outline:2px solid var(--rbs-border-brand-primary);outline-offset:-2px}
.side-nav-item .ms{flex:none;font-size:24px;color:var(--rbs-icon-neutral-subtle)}
.side-nav-item .lbl{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.side-nav-item.on{background:var(--rbs-overlay-state-hover);color:var(--rbs-text-brand-primary)}
.side-nav-item.on .ms{color:var(--rbs-icon-brand-primary);font-variation-settings:'FILL' 1}
.side-nav-pe{flex:none;display:flex;justify-content:flex-end;padding:8px}
.side-nav-pe .ms{font-size:24px}
.menu-recolhido{--menu:64px}
.menu-recolhido .side-nav-logo{padding:8px 0;justify-content:center}
.menu-recolhido .side-nav-logo .completo{display:none}
.menu-recolhido .side-nav-logo .curto{display:inline}
.menu-recolhido .side-nav-titulo{height:0;padding-block:0;opacity:0}
.menu-recolhido .side-nav-item{padding-inline:20px}
.menu-recolhido .side-nav-item .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.menu-recolhido .side-nav-pe{justify-content:center}
.menu-recolhido .side-nav-pe .ms{transform:scaleX(-1)}
@media (prefers-reduced-motion:reduce){.side-nav,.side-nav-titulo{transition:none}}

/* Cabeçalho (Rubeus UI: Header): 48px com a linha, trilha no início, conta no fim */
.topbar{position:sticky;top:0;z-index:70;height:var(--topo);flex:none;display:flex;align-items:center;gap:8px;padding:0 0 0 12px;background:var(--rbs-bg-neutral-secondary);border-bottom:1px solid var(--rbs-border-neutral-secondary)}
.breadcrumb{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
.breadcrumb::-webkit-scrollbar{display:none}
.breadcrumb ol{list-style:none;margin:0;padding:0 4px;display:flex;align-items:center;gap:4px;white-space:nowrap}
.breadcrumb li{display:flex;align-items:center;gap:4px;color:var(--rbs-text-neutral-subtle);font:var(--rbs-text-body-medium);letter-spacing:var(--rbs-text-body-medium-ls)}
.breadcrumb li>*{max-width:240px;overflow:hidden;text-overflow:ellipsis}
.breadcrumb li+li::before{content:"chevron_right";font-family:'Material Symbols Outlined';font-size:18px;line-height:1;color:var(--rbs-icon-neutral-disable);-webkit-font-smoothing:antialiased}
.breadcrumb a{color:var(--rbs-text-neutral-subtle);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.topbar-divisor{flex:none;width:1px;height:32px;background:var(--rbs-border-neutral-primary)}

/* Botão de perfil e menu da conta (Rubeus UI: Profile button) */
details.perfil{position:relative;flex:none;align-self:stretch}
details.perfil>summary{list-style:none;position:relative;height:100%;display:flex;align-items:center;gap:12px;padding:0 16px;cursor:pointer}
details.perfil>summary::-webkit-details-marker{display:none}
details.perfil>summary:hover{background:var(--rbs-overlay-state-hover)}
details.perfil>summary:active{background:var(--rbs-overlay-state-pressed)}
details.perfil>summary:focus-visible{outline:2px solid var(--rbs-border-brand-primary);outline-offset:-2px}
details.perfil>summary::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--rbs-border-brand-primary);transition:width .2s}
details.perfil[open]>summary::after{width:100%}
details.perfil .seta{font-size:18px;color:var(--rbs-icon-neutral-subtle);margin-left:-4px;transition:transform .2s}
details.perfil[open] .seta{transform:rotate(180deg)}
.monograma{flex:none;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--rbs-bg-brand-bold-primary);color:var(--rbs-text-brand-on-primary);font:var(--rbs-text-title-small)}
.perfil-texto{display:flex;flex-direction:column;min-width:0}
.perfil-nome,.perfil-base{display:block;max-width:100px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:var(--rbs-text-body-medium);letter-spacing:var(--rbs-text-body-medium-ls)}
.perfil-nome{color:var(--rbs-text-neutral-secondary)}
.perfil-base{color:var(--rbs-text-neutral-subtle)}
.perfil-menu{position:absolute;right:8px;top:calc(100% + 4px);z-index:80;width:240px;padding:8px 0;border-radius:4px;background:var(--rbs-bg-neutral-secondary);box-shadow:var(--elev-2)}
.perfil-menu-cab{display:flex;align-items:center;gap:12px;padding:8px 16px 12px;border-bottom:1px solid var(--rbs-border-neutral-primary);margin-bottom:8px}
.perfil-menu-cab .perfil-nome,.perfil-menu-cab .perfil-base{max-width:160px}
.perfil-menu form{margin:0}
.perfil-menu .menu-item{width:100%;display:flex;align-items:center;gap:12px;height:48px;padding:0 12px;border:0;background:none;color:var(--rbs-text-neutral-primary);font:var(--rbs-text-label-large);letter-spacing:var(--rbs-text-label-large-ls);cursor:pointer;text-align:left}
.perfil-menu .menu-item .ms{color:var(--rbs-icon-neutral-subtle)}
.perfil-menu .menu-item:hover,.perfil-menu .menu-item:focus-visible{background:var(--rbs-overlay-state-hover);outline:none}
@media (max-width:640px){.perfil-texto{display:none}}

/* Título da página (Rubeus UI: Page title): 16px acima e abaixo, 32px nas laterais, título 20px regular */
.page-head{padding:16px 32px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;min-height:72px}
.page-head h1{margin:0;flex:1 1 320px;font:400 20px/28px var(--rbs-font-heading);color:var(--rbs-text-neutral-primary)}
.page-head form{margin:0}
.page-head .voltar{margin:-4px -16px -4px -16px;width:48px;height:48px}
.page-head .voltar .ms{font-size:24px}
.page-head .voltar+h1{flex-grow:1}
.avisos-topo{padding:16px 32px 0}
.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 */
.visao-topo~.content{padding-top:16px}
.meta{display:flex;flex-wrap:wrap;gap:8px 32px;color:var(--text-subtle)}
.meta strong{font-weight:500;color:var(--text-primary)}

/* Botões (Rubeus UI: Button): primário, secundário (contorno), terciário (texto) e perigo; 40px, cantos redondos */
.btn{--btn-h:40px;position:relative;isolation:isolate;height:var(--btn-h);padding:0 24px;border-radius:100px;border:1px solid var(--rbs-button-secondary-outline);background:transparent;color:var(--rbs-button-secondary-label);font:var(--rbs-text-label-large);letter-spacing:var(--rbs-text-label-large-ls);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;white-space:nowrap;overflow:hidden}
.btn:has(>.ms:first-child){padding-left:16px}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:currentColor;opacity:0;transition:opacity .15s}
.btn:hover::after{opacity:.08}
.btn:active::after{opacity:.12}
.btn:hover{color:var(--rbs-button-secondary-label)}
.btn .ms{font-size:18px}
.btn.primary{background:var(--rbs-button-primary-container);border-color:transparent;color:var(--rbs-button-primary-label)}
.btn.danger{background:var(--rbs-button-danger-container);border-color:transparent;color:var(--rbs-button-danger-label)}
.btn.text{border-color:transparent;padding:0 12px;color:var(--rbs-button-tertiary-label)}
.btn.subtle{border-color:var(--rbs-button-subtle-outline);color:var(--rbs-button-subtle-label)}
.btn.small,.copiavel .btn,.cbf-acoes .btn{--btn-h:32px;padding:0 16px}
.btn.small .ms,.copiavel .btn .ms{font-size:16px}
.btn:disabled,.btn[aria-disabled=true]{background:var(--rbs-button-disabled-container);border-color:var(--rbs-button-disabled-outline);color:var(--rbs-button-disabled-label);cursor:not-allowed}
.btn.text:disabled{background:none;border-color:transparent}
.btn:disabled::after{display:none}
.icon-btn:disabled{opacity:.38;cursor:not-allowed}
.btn.is-loading,.icon-btn.is-loading{pointer-events:none;cursor:progress}
.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}}
/* Botão de ícone (Rubeus UI: Icon button): 40px, camada de 8% ao passar o mouse */
.icon-btn{width:40px;height:40px;flex:none;border-radius:50%;border:none;background:transparent;color:var(--rbs-icon-neutral-subtle);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.icon-btn:hover{background:var(--rbs-overlay-state-hover)}
.icon-btn:active{background:var(--rbs-overlay-state-pressed)}

/* Etiquetas de situação (Rubeus UI: Chips): 32px, cantos de 8px; a cor do tipo vai no texto e num fundo suave */
.chip{height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--rbs-chip-outline);display:inline-flex;align-items:center;gap:6px;font:var(--rbs-text-label-large);letter-spacing:var(--rbs-text-label-large-ls);color:var(--rbs-chip-label);background:transparent;white-space:nowrap}
.chip .ms{font-size:18px}
.chip.ok,.chip.ativa,.chip.coleta,.chip.atualizacao{border-color:transparent;background:var(--rbs-overlay-state-selected);color:var(--rbs-text-brand-primary)}
.chip.info,.chip.homologacao,.chip.pagamento{border-color:transparent;background:var(--info-bg);color:var(--info-fg)}
.chip.warn,.chip.aviso,.chip.identificacao{border-color:transparent;background:var(--warn-bg);color:var(--warn-fg)}
.chip.err,.chip.erro{border-color:transparent;background:var(--err-bg);color:var(--err-fg)}
.chip.muted,.chip.rascunho,.chip.rastreio,.chip.ignorar{color:var(--rbs-chip-label)}
.tabs a .chip,.abas-visao a .chip{height:24px;padding:0 8px;margin-left:4px;font:var(--rbs-text-label-medium)}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.tile{text-align:left;background:var(--rbs-card-raised-container);border:1px solid var(--rbs-card-outline);border-radius:8px;padding:16px;display:flex;align-items:center;gap:16px;color:var(--text-primary);text-decoration:none}
.tile:hover{background:color-mix(in srgb,var(--rbs-card-raised-container),var(--rbs-text-brand-primary) 4%)}
.tile.on{border:2px solid var(--rbs-border-brand-primary)}
.tile .circ{width:48px;height:48px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center}
.tile .n{font:var(--rbs-text-heading-medium)}

/* Cartões (Rubeus UI: Card, elevado): fundo branco, linha de 1px, cantos de 8px, sem sombra */
.card{background:var(--rbs-card-raised-container);border:1px solid var(--rbs-card-outline);border-radius:8px;overflow:hidden;color:var(--rbs-card-text)}
.card-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--rbs-divider-color)}
.card-head h2{margin:0;flex:1 1 auto;font:var(--rbs-text-title-large);letter-spacing:var(--rbs-text-title-large-ls);color:var(--rbs-card-text)}
.card-body{padding:16px}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:8px 16px;background:var(--rbs-bg-neutral-secondary);border-bottom:1px solid var(--rbs-divider-color);color:var(--text-subtle)}
.scroll{overflow-x:auto}

/* Tabelas (Rubeus UI: Data table, só leitura): títulos de 56px num tom de 4%, linhas de 48px */
table.t{width:100%;border-collapse:collapse;min-width:900px}
table.t th{height:56px;padding:0 16px;text-align:left;font:var(--rbs-text-title-small);letter-spacing:var(--rbs-text-title-small-ls);color:var(--rbs-table-header-label);background:var(--rbs-table-data-title-container);white-space:nowrap}
table.t td{height:48px;padding:12px 16px;border-top:1px solid var(--rbs-table-divider);vertical-align:middle;color:var(--rbs-table-cell-label)}
table.t td strong,table.t td a{color:var(--text-primary)}
table.t td a{color:var(--link)}
table.t td .sub{display:block;font:var(--rbs-text-body-small);letter-spacing:var(--rbs-text-body-small-ls);color:var(--text-subtle)}
table.t tbody tr:hover td{background:color-mix(in srgb,var(--rbs-overlay-state-hover) 50%,transparent)}
/* Tabela solta na página (fora de cartão): contorno com cantos de 8px */
.content>.scroll>table.t,.content>table.t{border:1px solid var(--rbs-table-data-outline);border-collapse:separate;border-spacing:0;border-radius:8px;overflow:hidden}

/* Campos (Rubeus UI: Input e Select, preenchidos): fundo de 4%, linha de baixo que fica azul-petróleo no foco */
.field{position:relative;display:flex;align-items:center;min-height:56px;background:var(--rbs-form-field-container);border-radius:4px 4px 0 0;box-shadow:inset 0 -1px 0 var(--rbs-form-field-indicator);padding:0 12px 0 16px}
.field::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.field:hover::before{background:color-mix(in srgb,var(--rbs-text-neutral-primary) 8%,transparent)}
.field:hover{box-shadow:inset 0 -1px 0 var(--rbs-form-field-indicator-hover)}
.field:focus-within{box-shadow:inset 0 -2px 0 var(--rbs-form-field-indicator-focus)}
.field:focus-within>span.lbl{color:var(--rbs-text-brand-primary)}
.field>span.lbl{position:absolute;top:6px;left:16px;font:var(--rbs-text-body-small);letter-spacing:var(--rbs-text-body-small-ls);color:var(--rbs-text-neutral-subtle)}
.field input,.field select,.field textarea{position:relative;width:100%;border:none;background:transparent;padding-top:18px;font:var(--rbs-text-body-large);letter-spacing:var(--rbs-text-body-large-ls);color:var(--text-primary);caret-color:var(--rbs-text-brand-primary);outline:none}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer}
.field:has(select)::after{content:"arrow_drop_down";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:'Material Symbols Outlined';font-size:24px;line-height:1;color:var(--rbs-icon-neutral-subtle);pointer-events: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:var(--rbs-text-body-medium)}
.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}

/* Abas (Rubeus UI: Tabs): 48px, rótulo Title Small, indicador de 2px */
.tabs{display:flex;flex-wrap:wrap;padding:0 32px;border-bottom:1px solid var(--rbs-tabs-divider)}
.tabs a{position:relative;height:48px;padding:0 16px;color:var(--rbs-tabs-inactive-label);font:var(--rbs-text-title-small);letter-spacing:var(--rbs-text-title-small-ls);display:flex;align-items:center;gap:8px;text-decoration:none}
.tabs a:hover{background:var(--rbs-overlay-state-hover)}
.tabs a.on{color:var(--rbs-tabs-active-label)}
.tabs a.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--rbs-tabs-active-indicator)}

/* Avisos (Rubeus UI: Alert): só o fundo marca o tipo, sem borda e sem ícone; título na mesma linha, com dois-pontos */
.note{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:8px;background:var(--rbs-bg-semantic-info-subtle);color:var(--rbs-text-semantic-info-on-subtle);font:var(--rbs-text-body-medium);letter-spacing:var(--rbs-text-body-medium-ls)}
.note>.ms:first-child{display:none}
.note.warn{background:var(--warn-bg);color:var(--warn-fg)}
.note.err{background:var(--err-bg);color:var(--err-fg)}
.note.ok{background:var(--ok-bg);color:var(--ok-fg)}
.note p{margin:0}
.note strong{font-weight:500}
.note a{color:inherit;font-weight:500}

/* Caixa de seleção (Rubeus UI: Checkbox) */
.check{display:inline-flex;align-items:center;gap:8px;color:var(--rbs-checkbox-label);cursor:pointer}
.check input{width:18px;height:18px;margin:0;accent-color:var(--rbs-checkbox-selected)}
details>summary{cursor:pointer;color:var(--text-subtle)}

/* Campo copiável (Rubeus UI: Copy field) e lista de dados */
.copiavel{display:flex;align-items:center;gap:8px;background:var(--rbs-copy-field-container);border:1px solid var(--rbs-copy-field-outline);border-radius:4px;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(--rbs-copy-field-text)}
.rotulo{margin:0 0 6px;font:var(--rbs-text-title-small);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}}

/* Telas estreitas: menu recolhido, 16px de margem */
@media (max-width:720px){
  :root{--menu:64px}
  .side-nav-logo{padding:8px 0;justify-content:center}.side-nav-logo .completo{display:none}.side-nav-logo .curto{display:inline}
  .side-nav-titulo{height:0;padding-block:0;opacity:0}.side-nav-item{padding-inline:20px}.side-nav-item .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .side-nav-pe{display:none}
  .page-head,.content,.avisos-topo{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:var(--bg-surface)}
.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::after{opacity:.12}
.menu-acoes .menu{position:absolute;right:0;top:44px;z-index:60;min-width:280px;background:var(--rbs-menu-container);border-radius:4px;box-shadow:var(--elev-2);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:var(--bg-surface)}
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:40px;padding:0 12px;border:0;border-radius:4px 4px 0 0;background:var(--rbs-form-field-container);box-shadow:inset 0 -1px 0 var(--rbs-form-field-indicator);font:inherit;color:var(--text-primary)}
.periodo-compacto input[type=date]:focus{outline:none;box-shadow:inset 0 -2px 0 var(--rbs-form-field-indicator-focus)}

.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:var(--rbs-menu-container);border-radius:4px;box-shadow:var(--elev-2);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{position:relative;height:48px;padding:0 16px;display:inline-flex;align-items:center;gap:4px;color:var(--rbs-tabs-inactive-label);font:var(--rbs-text-title-small);letter-spacing:var(--rbs-text-title-small-ls);text-decoration:none}
.abas-visao a:hover{background:var(--rbs-overlay-state-hover)}
.abas-visao a.on{color:var(--rbs-tabs-active-label)}
.abas-visao a.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--rbs-tabs-active-indicator)}
@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:var(--bg-surface);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:8px;height:40px;padding:0 8px 0 12px;border:0;border-radius:4px 4px 0 0;background:var(--rbs-form-field-container);box-shadow:inset 0 -1px 0 var(--rbs-form-field-indicator);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:var(--rbs-menu-container);border-radius:4px;box-shadow:var(--elev-2);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:var(--bg-surface)}
.glossario-campo{flex:1 1 320px;display:flex;align-items:center;gap:8px;height:48px;padding:0 12px;border:0;border-radius:4px 4px 0 0;background:var(--rbs-form-field-container);box-shadow:inset 0 -1px 0 var(--rbs-form-field-indicator);min-width:0}
.glossario-campo:focus-within{outline:none;box-shadow:inset 0 -2px 0 var(--rbs-form-field-indicator-focus)}
.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:color-mix(in srgb,var(--rbs-bg-neutral-tertiary) 96%,transparent);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 8px 0 12px;border:1px solid var(--rbs-chip-outline);border-radius:8px;background:transparent;font:var(--rbs-text-label-large);letter-spacing:var(--rbs-text-label-large-ls);color:var(--rbs-chip-label);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{background:var(--rbs-chip-state-hover)}
.cbf.on>.cbf-btn{background:var(--rbs-chip-selected);border-color:transparent;color:var(--rbs-chip-selected-label)}
.cbf.on>.cbf-btn b{font-weight:500}
.cbf.aberto>.cbf-btn{background:var(--rbs-chip-state-hover)}
.cbf.aberto>.cbf-btn>.ms:last-child{transform:rotate(180deg)}
.cbf.mais>.cbf-btn{border-style:dashed;background:transparent;color:var(--text-subtle)}
.cbf.extra.on>.cbf-btn{border-radius:8px 0 0 8px}
.cbf-x{height:32px;width:28px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0 8px 8px 0;background:var(--rbs-chip-selected);color:var(--rbs-chip-selected-label);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:var(--rbs-menu-container);border-radius:4px;box-shadow:var(--elev-2);padding:8px 0;display:flex;flex-direction:column}
.cbf-pop[hidden]{display:none}
.cbf-busca{margin:0 8px 6px;height:40px;padding:0 12px;border:0;border-radius:4px 4px 0 0;background:var(--rbs-form-field-container);box-shadow:inset 0 -1px 0 var(--rbs-form-field-indicator);font:inherit;outline:none;color:var(--text-primary)}
.cbf-busca:focus{outline:none;box-shadow:inset 0 -2px 0 var(--rbs-form-field-indicator-focus)}
.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{position:relative;height:48px;padding:0 16px;border:0;background:none;font:var(--rbs-text-title-small);letter-spacing:var(--rbs-text-title-small-ls);color:var(--rbs-tabs-inactive-label);cursor:pointer;white-space:nowrap}
.pm-abas button:hover{background:var(--rbs-overlay-state-hover)}
.pm-abas button.on{color:var(--rbs-tabs-active-label)}
.pm-abas button.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--rbs-tabs-active-indicator)}
.pm .pm-filtros{position:static;border-top:none}
.pm-modo{display:inline-flex;border:1px solid var(--rbs-border-neutral-secondary);border-radius:8px;overflow:hidden;margin-right:6px;background:transparent}
.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(--rbs-button-primary-container);color:var(--rbs-text-brand-on-primary)}
.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:var(--bg-surface)}
.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%,var(--bg-surface))}
.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:32px;padding:0 12px;border:1px solid var(--rbs-chip-outline);border-radius:8px;background:transparent;font:var(--rbs-text-label-large);letter-spacing:var(--rbs-text-label-large-ls);color:var(--rbs-chip-label);cursor:pointer}
.pm-chip:hover{background:var(--rbs-chip-state-hover)}
.pm-chip.on{background:var(--rbs-chip-selected);border-color:transparent;color:var(--rbs-chip-selected-label)}
.pm-outro-dim{display:inline-flex;align-items:center;gap:6px;margin-left:6px}
.pm-select-inline,.pm-outro-dim select{height:32px;padding:0 8px;border:0;border-radius:4px 4px 0 0;background:var(--rbs-form-field-container);box-shadow:inset 0 -1px 0 var(--rbs-form-field-indicator);font:inherit;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:8px;background:var(--err-bg);color:var(--err-fg);font:var(--rbs-text-label-medium)}
.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:8px;padding:0;max-width:min(640px,calc(100vw - 32px));width:100%;box-shadow:var(--elev-3)}
.pm-dialogo::backdrop{background:color-mix(in srgb,var(--rbs-overlay-scrim) 32%,transparent)}
.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:40px;padding:0 8px;border:0;border-radius:4px 4px 0 0;background:var(--rbs-form-field-container);box-shadow:inset 0 -1px 0 var(--rbs-form-field-indicator);font:inherit;color:var(--text-primary)}
.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 var(--bg-surface)}
.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}
