/*
 * Identidade visual da rengaw nos apps (2026-10-02). Carregado por templates/_rengaw_css.html em todos os apps
 * (padrão do app_shell.html) e nas telas de conta; escopado em `body.app-rengaw`.
 * Mesma marca da tela inicial (static/css/inicio-rengaw.css): barra superior "Noite" #061C3D, fundo "Gelo"
 * #F4F7FB, cartões brancos com borda #DCE3EC e cantos de 16px, Azul royal #006ECB em botões/links/item
 * ativo, títulos em Exo 2, texto em IBM Plex Sans, legendas em IBM Plex Mono.
 *
 * A troca é feita redefinindo as variáveis --vz-* do Velzon dentro do <body> (uma variável CSS resolve pelo
 * valor mais próximo na árvore, então elas vencem as do <html>, onde ficam data-theme/data-topbar), mais
 * poucos ajustes de componente que o Velzon fixa sem variável.
 */

body.app-rengaw {
    --rw-noite: #061C3D;
    --rw-borda-noite: #1B3560;
    --rw-titulo: "Exo 2", system-ui, sans-serif;
    --rw-mono: "IBM Plex Mono", ui-monospace, monospace;
    --rw-legenda: #5D6A79;

    /* Tipografia */
    --vz-font-family-primary: "IBM Plex Sans", system-ui, sans-serif;
    --vz-font-family-secondary: "IBM Plex Sans", system-ui, sans-serif;
    --vz-body-font-family: "IBM Plex Sans", system-ui, sans-serif;
    --vz-headings-font-family: var(--rw-titulo);

    /* Cores de marca */
    --vz-primary: #006ECB;
    --vz-primary-rgb: 0, 110, 203;
    --vz-primary-text-emphasis: #003387;
    --vz-primary-bg-subtle: #E8F1FB;
    --vz-primary-border-subtle: #B9D6F2;
    --vz-link-color: #006ECB;
    --vz-link-color-rgb: 0, 110, 203;
    --vz-link-hover-color: #003387;
    --vz-link-hover-color-rgb: 0, 51, 135;

    /* Superfícies e texto */
    --vz-body-bg: #F4F7FB;
    --vz-body-bg-rgb: 244, 247, 251;
    --vz-body-color: #00336A;
    --vz-body-color-rgb: 0, 51, 106;
    --vz-heading-color: #00336A;
    --vz-emphasis-color: #00336A;
    --vz-secondary-color: #4F5D6E;
    --vz-secondary-bg: #FFFFFF;
    --vz-tertiary-bg: #F4F7FB;
    --vz-border-color: #DCE3EC;
    --vz-border-color-translucent: #DCE3EC;
    --vz-light: #F4F7FB;
    --vz-light-rgb: 244, 247, 251;

    /* Barra superior (sempre "Noite", como no site) */
    --vz-header-bg: var(--rw-noite);
    --vz-header-border: var(--rw-borda-noite);
    --vz-header-item-color: #F4F7FB;
    --vz-header-item-bg: #0B2A57;
    --vz-header-item-sub-color: #B8C4D6;
    --vz-topbar-user-bg: #0B2A57;

    /* Menu do app (faixa abaixo da barra superior) */
    --vz-topnav-bg: #FFFFFF;
    --vz-topnav-item-color: #4F5D6E;
    --vz-topnav-item-active-color: #006ECB;

    /* Campos */
    --vz-input-bg-custom: #FFFFFF;
    --vz-input-border-custom: #DCE3EC;

    background-color: var(--vz-body-bg);
    color: var(--vz-body-color);
}

[data-bs-theme="dark"] body.app-rengaw {
    --vz-primary: #0090F4;
    --vz-primary-rgb: 0, 144, 244;
    --vz-primary-text-emphasis: #5DB8FF;
    --vz-primary-bg-subtle: #12366B;
    --vz-primary-border-subtle: #1F4478;
    --vz-link-color: #5DB8FF;
    --vz-link-color-rgb: 93, 184, 255;
    --vz-link-hover-color: #9DD3FF;
    --vz-link-hover-color-rgb: 157, 211, 255;
    --vz-body-bg: #061C3D;
    --vz-body-bg-rgb: 6, 28, 61;
    --vz-body-color: #F4F7FB;
    --vz-body-color-rgb: 244, 247, 251;
    --vz-heading-color: #F4F7FB;
    --vz-emphasis-color: #F4F7FB;
    --vz-secondary-color: #B8C4D6;
    --vz-secondary-bg: #0B2A57;
    --vz-tertiary-bg: #0A2550;
    --vz-border-color: #1F4478;
    --vz-border-color-translucent: #1F4478;
    --vz-light: #0A2550;
    --vz-light-rgb: 10, 37, 80;
    --vz-header-bg: #04142D;
    --vz-header-border: var(--rw-borda-noite);
    --vz-topnav-bg: #0B2A57;
    --vz-topnav-item-color: #B8C4D6;
    --vz-topnav-item-active-color: #5DB8FF;
    --vz-input-bg-custom: #061C3D;
    --vz-input-border-custom: #2D4A75;
    --rw-legenda: #8FA3BF;
}

body.app-rengaw a:focus-visible,
body.app-rengaw button:focus-visible {
    outline: 3px solid #0090F4;
    outline-offset: 2px;
}

/* ---------- Barra superior ---------- */
body.app-rengaw #page-topbar {
    border-bottom: 1px solid var(--vz-header-border);
}
.rw-marca-topbar {
    display: flex !important;
    align-items: center;
    gap: 0.875rem;
}
.rw-marca-logo img {
    display: block;
    height: 1.875rem;
    width: auto;
}
.rw-marca-app {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding-left: 0.875rem;
    border-left: 1px solid #2D4A75;
    font-family: var(--rw-titulo);
    font-weight: 600;
    font-size: 1.0625rem;
    color: #F4F7FB;
    white-space: nowrap;
}
.rw-marca-app i {
    color: #0090F4;
    font-size: 1.125rem;
}
.rw-marca-logo-simbolo {
    display: none !important;
}
@media (max-width: 575.98px) {
    .rw-marca-app {
        display: none;
    }
    /* Celular (2026-10-20): a barra superior não cabia (o avatar ficava cortado à direita a 500px e sumia a 375px).
       Fica só o símbolo da marca, os botões ficam com 40px e sem folga entre eles. */
    .rw-marca-logo-horizontal {
        display: none !important;
    }
    .rw-marca-logo-simbolo {
        display: block !important;
    }
    body.app-rengaw #page-topbar .navbar-header {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    body.app-rengaw #page-topbar .horizontal-logo {
        padding-left: 0.25rem;
    }
    body.app-rengaw #page-topbar .topnav-hamburger {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    body.app-rengaw #page-topbar .navbar-header .btn-topbar {
        width: 40px;
        height: 40px;
    }
    body.app-rengaw #page-topbar .header-item.ms-1 {
        margin-left: 0 !important;
    }
    body.app-rengaw #page-topbar .topbar-user > .btn {
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }
}
@media (max-width: 399.98px) {
    /* Sem notificações ainda (o menu só diz "Nenhuma notificação"): sai da barra nos telefones mais estreitos. */
    body.app-rengaw #page-topbar .rw-topo-notificacoes {
        display: none !important;
    }
}

/* ---------- Uso no celular (2026-10-20, auditoria de todas as telas a 375 e 500px) ---------- */
/* Área de rolagem das tabelas: os `.visually-hidden` (position: absolute) dos cabeçalhos escapavam da rolagem e
   alargavam a página. tabelas.js também envolve numa `.table-responsive` a tabela que vier sem ela. */
.table-responsive {
    position: relative;
}
/* O app.js do Velzon põe `open` no ícone do menu em telas estreitas (pensado para a barra lateral), e o ícone virava
   uma seta sem cara de menu. No layout horizontal ele continua sendo as três linhas. */
[data-layout=horizontal] body.app-rengaw .hamburger-icon.open {
    transform: none;
}
[data-layout=horizontal] body.app-rengaw .hamburger-icon.open span {
    transform: none;
    left: 0;
}
[data-layout=horizontal] body.app-rengaw .hamburger-icon.open span:nth-child(1) { top: 0; width: 80%; }
[data-layout=horizontal] body.app-rengaw .hamburger-icon.open span:nth-child(2) { top: 6px; width: 100%; }
[data-layout=horizontal] body.app-rengaw .hamburger-icon.open span:nth-child(3) { top: auto; bottom: 0; width: 60%; }
@media (max-width: 575.98px) {
    /* Alvo de toque de 40px nas ações principais e nos campos; texto dos campos com 16px, abaixo disso o iPhone
       amplia a página ao tocar no campo. Botões pequenos (-sm) e ícones de linha de tabela continuam como estão. */
    body.app-rengaw .btn:not(.btn-sm):not(.btn-lg):not(.btn-icon):not(.btn-link):not(.btn-close) {
        --vz-btn-padding-y: 0.625rem;
    }
    body.app-rengaw .form-control,
    body.app-rengaw .form-select,
    body.app-rengaw .choices__input,
    body.app-rengaw .choices__inner {
        font-size: 16px;
    }
    /* Paginação das listagens: com muitas páginas os números passavam da tela. */
    body.app-rengaw .dataTables_paginate .pagination {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 0.25rem;
    }
    body.app-rengaw .dataTables_info {
        white-space: normal;
        text-align: center;
    }
    /* Indicadores em duas colunas (col-6): o ícone decorativo ao lado do número empurrava o cartão para fora. */
    body.app-rengaw .col-6 > .card > .card-body.d-flex > .app-icon-badge {
        display: none;
    }
    /* Grupos de botões de filtro (Todos, Ativo, ...) quebram linha em vez de passar da tela. */
    body.app-rengaw .btn-group:not(.btn-group-vertical) {
        flex-wrap: wrap;
        row-gap: 0.25rem;
    }
    /* Formulários em linha (campo + botão) e seletores `w-auto` com opções longas não passam da tela. */
    body.app-rengaw form.d-flex:not(.flex-nowrap) {
        flex-wrap: wrap;
    }
    body.app-rengaw .form-select.w-auto,
    body.app-rengaw .form-control.w-auto {
        max-width: 100%;
    }
    body.app-rengaw input[type="color"].form-control {
        min-height: 40px;
    }
}

/* ---------- Menu do app ---------- */
body.app-rengaw .app-menu {
    border-bottom: 1px solid var(--vz-border-color);
    box-shadow: none;
}
body.app-rengaw .navbar-menu .navbar-nav .nav-link {
    font-weight: 500;
}
/* A IBM Plex Sans é um pouco mais larga que a fonte do Velzon: sem isto, menus com muitos itens (Configuração)
   quebravam cada item em duas linhas e a faixa crescia por cima do título da página. */
[data-layout=horizontal] body.app-rengaw .navbar-menu .navbar-nav .nav-link {
    white-space: nowrap;
    padding-left: 1rem;
    padding-right: 1rem;
}
[data-layout=horizontal] body.app-rengaw .navbar-menu .navbar-nav .nav-link.active {
    box-shadow: inset 0 -2px 0 var(--vz-topnav-item-active-color);
}

/* Abas de página (classe compartilhada `app-abas-treinamentos`, tokens.css fixa #d5d5d5): seguem a borda da marca,
   inclusive no modo escuro, onde o cinza claro virava uma linha branca. */
body.app-rengaw .app-abas-treinamentos {
    --vz-nav-tabs-border-color: var(--vz-border-color);
    --vz-nav-tabs-link-active-border-color: var(--vz-border-color);
    --vz-nav-tabs-link-active-bg: var(--vz-secondary-bg);
    --vz-nav-tabs-link-active-color: var(--vz-primary);
}
body.app-rengaw .app-abas-treinamentos .nav-link {
    font-weight: 500;
}

/* ---------- Cabeçalho da página ---------- */
body.app-rengaw .page-title-box h4 {
    font-family: var(--rw-titulo);
    font-weight: 600;
    font-size: 1.625rem !important; /* o Velzon fixa 15px com !important */
    text-transform: none;
    color: var(--vz-heading-color);
}
body.app-rengaw .page-title-box .breadcrumb {
    font-family: var(--rw-mono);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
body.app-rengaw .page-title-box .breadcrumb-item.active {
    color: var(--rw-legenda);
}

/* ---------- Cartões ---------- */
body.app-rengaw .card {
    border: 1px solid var(--vz-border-color);
    border-radius: 1rem;
    box-shadow: none;
}
body.app-rengaw .card-header {
    background-color: transparent;
    border-bottom: 1px solid var(--vz-border-color);
    border-radius: 1rem 1rem 0 0;
}
/* Rodapé do cartão acompanha os cantos de 16px (o Velzon usa 4px e cobria a curva da borda). */
body.app-rengaw .card-footer {
    background-color: transparent;
    border-radius: 0 0 1rem 1rem;
}
body.app-rengaw .card-title {
    font-family: var(--rw-titulo);
    font-weight: 600;
}

/* ---------- Tabelas ---------- */
body.app-rengaw .table > thead.table-light th {
    --vz-table-bg: var(--vz-tertiary-bg);
    --vz-table-color: var(--rw-legenda);
    font-family: var(--rw-mono);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-color: var(--vz-border-color);
}
body.app-rengaw .table {
    --vz-table-border-color: var(--vz-border-color);
    --vz-table-hover-bg: rgba(0, 110, 203, 0.05);
}

/* ---------- Botões, campos e paginação ---------- */
body.app-rengaw .btn {
    border-radius: 0.625rem;
    font-weight: 500;
}
body.app-rengaw .btn-sm {
    border-radius: 0.5rem;
}
body.app-rengaw .btn-soft-primary {
    --vz-btn-color: var(--vz-primary);
    --vz-btn-bg: var(--vz-primary-bg-subtle);
    --vz-btn-border-color: transparent;
    --vz-btn-hover-color: #FFFFFF;
    --vz-btn-hover-bg: var(--vz-primary);
    --vz-btn-active-bg: var(--vz-primary);
}
body.app-rengaw .form-control,
body.app-rengaw .form-select {
    border-radius: 0.625rem;
    border-color: var(--vz-border-color);
}
body.app-rengaw .form-control:focus,
body.app-rengaw .form-select:focus {
    border-color: var(--vz-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--vz-primary-rgb), 0.15);
}
body.app-rengaw .page-link {
    --vz-pagination-active-bg: var(--vz-primary);
    --vz-pagination-active-border-color: var(--vz-primary);
    --vz-pagination-color: var(--vz-primary);
}
body.app-rengaw .modal-content {
    border-radius: 1rem;
    border: 1px solid var(--vz-border-color);
}
body.app-rengaw .modal-title {
    font-family: var(--rw-titulo);
    font-weight: 600;
}

/* ---------- Rodapé ---------- */
body.app-rengaw .footer {
    font-family: var(--rw-mono);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rw-legenda);
    background-color: transparent;
    border-top: 1px solid var(--vz-border-color);
}

/* Contraste AA do botão "soft" no escuro: #5DB8FF sobre #12366B (~6:1); o #0090F4 padrão ficava em ~3,4:1. */
[data-bs-theme="dark"] body.app-rengaw .btn-soft-primary {
    --vz-btn-color: #5DB8FF;
    --vz-btn-hover-color: #061C3D;
}

/* ---------- Telas de conta (login, esqueci minha senha...): templates/account/_base_entrada.html ---------- */
body.rw-pagina-entrada #layout-wrapper {
    min-height: 100vh;
}
.rw-entrada {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    min-height: 100vh;
}
.rw-entrada-marca {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 3rem;
    padding: 3rem 3.5rem;
    background: var(--rw-noite);
    color: #F4F7FB;
}
.rw-entrada-simbolo {
    position: absolute;
    right: -7rem;
    bottom: -4rem;
    width: 30rem;
    height: auto;
    opacity: 0.14;
    pointer-events: none;
}
.rw-entrada-logo,
.rw-entrada-texto {
    position: relative;
}
.rw-entrada-logo img {
    display: block;
    height: 3rem;
    width: auto;
}
.rw-entrada-sobretitulo {
    font-family: var(--rw-mono);
    font-size: 0.8125rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #0090F4;
    margin: 0 0 1rem;
}
.rw-entrada-titulo {
    font-family: var(--rw-titulo);
    font-weight: 600;
    font-size: clamp(2rem, 3.4vw, 3rem);
    line-height: 1.06;
    letter-spacing: -0.01em;
    margin: 0 0 1.25rem;
    max-width: 26rem;
}
.rw-entrada-descricao {
    font-size: 1.0625rem;
    line-height: 1.6;
    color: #B8C4D6;
    margin: 0;
    max-width: 28rem;
}
.rw-entrada-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    padding: 3rem 1.5rem;
    background: var(--vz-body-bg);
}
/* Sem caixa (pedido do usuário, 2026-10-02): a divisão em dois lados já destaca a área do formulário. */
.rw-entrada-cartao {
    width: 100%;
    max-width: 24rem;
}
.rw-entrada-cartao h1 {
    font-family: var(--rw-titulo);
    font-weight: 600;
    font-size: 1.75rem;
    color: var(--vz-heading-color);
}
.rw-entrada-cartao .btn {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-weight: 600;
}
.rw-entrada-cartao .form-control {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.rw-entrada-rodape {
    width: 100%;
    max-width: 24rem;
    text-align: center;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--rw-legenda);
}
.rw-entrada-rodape p {
    margin: 0;
}
.rw-entrada-termos {
    margin-bottom: 0.75rem !important;
}
.rw-entrada-link {
    font-size: inherit;
    font-weight: 600;
    color: var(--vz-link-color);
    text-decoration: underline;
    text-underline-offset: 2px;
    vertical-align: baseline;
}
.rw-entrada-licenca {
    font-size: 0.75rem;
}
/* Texto dos termos de uso (modal): leitura confortável. */
.rw-termo-conteudo {
    font-size: 0.9375rem;
    line-height: 1.7;
}
@media (max-width: 991.98px) {
    .rw-entrada {
        grid-template-columns: minmax(0, 1fr);
    }
    .rw-entrada-marca {
        gap: 1.5rem;
        padding: 1.75rem 1.5rem;
    }
    .rw-entrada-simbolo {
        width: 16rem;
        right: -4rem;
        bottom: -3rem;
    }
    .rw-entrada-logo img {
        height: 2.25rem;
    }
    .rw-entrada-titulo {
        font-size: 1.625rem;
        margin-bottom: 0;
    }
    .rw-entrada-descricao {
        display: none;
    }
    .rw-entrada-form {
        justify-content: flex-start;
        padding-top: 2rem;
    }
}
.rw-entrada-cartao-largo {
    max-width: 34rem;
}

/* ---------- Indicadores (cartões de número: painel de Treinamentos, Base geográfica) ---------- */
body.app-rengaw .card .text-uppercase.fw-medium.text-muted {
    font-family: var(--rw-mono);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: var(--rw-legenda) !important;
}
body.app-rengaw h4:has(> .counter-value) {
    font-family: var(--rw-titulo);
    font-weight: 600;
    font-size: 2rem;
    line-height: 1.1;
}

/* Modo escuro: texto "Noite" sobre o Azul rengaw nos botões primários (como no site da marca); branco sobre
   #0090F4 ficava em ~3,3:1, abaixo do AA. */
[data-bs-theme="dark"] body.app-rengaw .btn-primary {
    --vz-btn-color: #061C3D;
    --vz-btn-hover-color: #061C3D;
    --vz-btn-active-color: #061C3D;
    --vz-btn-disabled-color: #061C3D;
}
/* Modo escuro da tela de entrada: o lado do formulário um tom abaixo do painel da marca, para não se fundirem. */
[data-bs-theme="dark"] .rw-entrada-form {
    background: #04142D;
}

/* Preenchimento automático do navegador (e-mail/senha salvos): o Chrome pinta o campo de azul-claro, que some sobre o
   fundo Gelo e destoa dos campos vazios (achado do usuário no login, 2026-10-02). Não dá para trocar o fundo dele
   direto; a sombra interna cobre o fundo com a cor normal do campo, e o texto mantém a cor da marca. */
body.app-rengaw input:-webkit-autofill,
body.app-rengaw input:-webkit-autofill:hover,
body.app-rengaw input:-webkit-autofill:focus,
body.app-rengaw textarea:-webkit-autofill,
body.app-rengaw select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--vz-input-bg-custom) inset;
    box-shadow: 0 0 0 1000px var(--vz-input-bg-custom) inset;
    -webkit-text-fill-color: var(--vz-body-color);
    caret-color: var(--vz-body-color);
    transition: background-color 9999s ease-out 0s;
}
body.app-rengaw input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px var(--vz-input-bg-custom) inset, 0 0 0 0.2rem rgba(var(--vz-primary-rgb), 0.15);
    box-shadow: 0 0 0 1000px var(--vz-input-bg-custom) inset, 0 0 0 0.2rem rgba(var(--vz-primary-rgb), 0.15);
}

/* =====================================================================================================================
   Refinamento geral (2026-10-03): revisão de todas as telas. Barra de ferramentas das tabelas, tabelas sem grade,
   estado vazio, paginação, abas sublinhadas, cartões de atalho, fichas de detalhe e rodapé.
   ===================================================================================================================== */

/* ---------- Barra de ferramentas das tabelas (ver static/js/tabelas.js) ---------- */
body.app-rengaw .dataTables_wrapper > .row:first-child {
    align-items: center;
    margin-bottom: 0.75rem;
}
body.app-rengaw .dataTables_length label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    font-size: 0.875rem;
    color: var(--vz-secondary-color);
}
body.app-rengaw .dataTables_length select {
    width: auto;
}
body.app-rengaw .dataTables_filter {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
}
body.app-rengaw .dataTables_filter label {
    position: relative;
    margin: 0;
}
body.app-rengaw .dataTables_filter label::before {
    content: "\f0d1";
    font-family: remixicon;
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rw-legenda);
    pointer-events: none;
}
body.app-rengaw .dataTables_filter input {
    margin-left: 0 !important;
    width: 16rem !important;
    max-width: 60vw;
    padding-left: 2.25rem;
}
body.app-rengaw .dataTables_filter .dt-buttons {
    margin: 0;
}
@media (max-width: 767.98px) {
    body.app-rengaw .dataTables_filter {
        justify-content: flex-start;
        margin-top: 0.5rem;
    }
}

/* ---------- Tabelas: só linhas horizontais (sem grade), cabeçalho com fundo ---------- */
body.app-rengaw .table-bordered,
body.app-rengaw .table-bordered > :not(caption) > * {
    border-width: 0;
}
body.app-rengaw .table-bordered > :not(caption) > * > *,
body.app-rengaw table.table-bordered.dataTable th,
body.app-rengaw table.table-bordered.dataTable td {
    border-width: 0 0 1px 0 !important;
    border-color: var(--vz-border-color);
}
body.app-rengaw .table > thead.table-light th:first-child {
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
}
body.app-rengaw .table > thead.table-light th:last-child {
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}
body.app-rengaw .table > thead.table-light th {
    border-bottom-width: 0 !important;
}
body.app-rengaw .table > tbody > tr > td {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}

/* Estado vazio das tabelas: ícone e texto suave, em vez da frase solta em negrito. */
body.app-rengaw td.dataTables_empty {
    padding: 2.5rem 1rem !important;
    color: var(--vz-secondary-color);
    font-weight: 400;
}
body.app-rengaw td.dataTables_empty::before {
    content: "\ee4f";
    font-family: remixicon;
    display: block;
    font-size: 2rem;
    line-height: 1;
    margin-bottom: 0.5rem;
    color: var(--vz-primary);
    opacity: 0.55;
}

/* Rodapé da tabela: informação à esquerda, paginação em pílulas à direita. */
body.app-rengaw .dataTables_info {
    font-size: 0.8125rem;
    color: var(--vz-secondary-color);
}
body.app-rengaw .dataTables_paginate .pagination {
    gap: 0.25rem;
}
body.app-rengaw .dataTables_paginate .page-link {
    border-radius: 0.5rem !important;
    border-color: transparent;
    min-width: 2.25rem;
    text-align: center;
}
body.app-rengaw .dataTables_paginate .page-item.disabled .page-link {
    background: transparent;
}

/* ---------- Abas de página: sublinhadas, como o menu do app (antes, abas em caixa) ---------- */
body.app-rengaw .app-abas-treinamentos {
    border-bottom: 1px solid var(--vz-border-color);
    gap: 0.25rem;
}
body.app-rengaw .app-abas-treinamentos .nav-link {
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--vz-secondary-color);
    padding: 0.75rem 1rem;
    margin-bottom: -1px;
}
body.app-rengaw .app-abas-treinamentos .nav-link:hover {
    color: var(--vz-primary);
}
body.app-rengaw .app-abas-treinamentos .nav-link.active {
    color: var(--vz-primary);
    border-bottom-color: var(--vz-primary);
    background: transparent;
    font-weight: 600;
}

/* ---------- Cartões de atalho (início de Configuração, Portal, Relatórios): ícone ao lado do texto ---------- */
body.app-rengaw .card:has(.app-icon-badge) {
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
body.app-rengaw a.card:has(.app-icon-badge):hover {
    border-color: var(--vz-primary);
    box-shadow: 0 10px 28px rgba(6, 28, 61, 0.08);
    transform: translateY(-2px);
}
body.app-rengaw .card-body:has(> .app-icon-badge) {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 1rem;
    align-items: start;
    padding: 1.25rem;
}
body.app-rengaw .card-body > .app-icon-badge {
    grid-row: span 2;
    margin-bottom: 0 !important;
    width: 3rem;
    height: 3rem;
    border-radius: 0.75rem;
    font-size: 1.375rem;
}
body.app-rengaw .card-body:has(> .app-icon-badge) .card-title {
    font-family: var(--rw-titulo);
    font-weight: 600;
    font-size: 1.0625rem;
    margin-bottom: 0.25rem;
}
body.app-rengaw .card-body:has(> .app-icon-badge) .card-text {
    margin-bottom: 0;
}
@media (prefers-reduced-motion: reduce) {
    body.app-rengaw a.card:has(.app-icon-badge):hover {
        transform: none;
    }
}

/* ---------- Ficha de detalhe (<dl class="rw-ficha">): pares rótulo/valor em grade ---------- */
.rw-ficha {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 1.25rem 2rem;
    margin: 0;
}
.rw-ficha > div {
    min-width: 0;
}
.rw-ficha dt {
    font-family: var(--rw-mono);
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rw-legenda);
    margin-bottom: 0.25rem;
}
.rw-ficha dd {
    margin: 0;
    overflow-wrap: anywhere;
}
.rw-ficha .rw-ficha-largo {
    grid-column: 1 / -1;
}

/* ---------- Lista de interruptores (notificações): uma linha por item, separadas ---------- */
.rw-lista-interruptores .form-check {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 0 0.875rem 0;
    margin: 0;
    border-bottom: 1px solid var(--vz-border-color);
}
.rw-lista-interruptores .form-check:last-child {
    border-bottom: 0;
}
.rw-lista-interruptores .form-check .form-check-input {
    float: none;
    margin: 0;
}
.rw-lista-interruptores .form-check-label {
    font-weight: 500;
}

/* ---------- Rodapé do app ---------- */
body.app-rengaw .footer .rw-rodape {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Menu suspenso de filtros (listagem de Treinamentos). */
.rw-menu-filtros {
    min-width: 17rem;
}
.rw-menu-filtros .form-check {
    margin: 0;
}

/* Contêiner de onde a exportação saiu (static/js/tabelas.js): vazio, não deve ocupar espaço nem o "gap" do flex. */
body.app-rengaw [id$="-botoes-exportacao"]:empty {
    display: none;
}

/* Nome do app na barra superior é um link para o início do app (2026-10-03). */
a.rw-marca-app {
    text-decoration: none;
}
a.rw-marca-app:hover span,
a.rw-marca-app:focus-visible span {
    text-decoration: underline;
    text-underline-offset: 4px;
    color: #FFFFFF;
}

/* Texto integral dos termos na tela de concordância: área rolável, legível nos dois modos. */
.rw-termo-leitura {
    max-height: 50vh;
    overflow-y: auto;
    padding: 1.25rem;
    background: var(--vz-secondary-bg);
    border: 1px solid var(--vz-border-color);
    border-radius: 0.75rem;
}
.rw-termo-leitura:focus-visible {
    outline: 3px solid #0090F4;
    outline-offset: 2px;
}

/* Menu de exportação na barra da tabela (à direita): abre alinhado pela direita do botão, sem passar do cartão. */
body.app-rengaw .dataTables_filter .dt-buttons {
    position: relative;
}
body.app-rengaw .dataTables_filter .dt-button-collection {
    left: auto !important;
    right: 0 !important;
}

/* Telas de entrada em telas largas (pedido do usuário, 2026-10-03): a página não rola; só o lado direito rola, e o
   painel da marca fica parado. O conteúdo continua centralizado na vertical quando cabe (margens automáticas, em vez
   de justify-content:center, que cortaria o topo de um conteúdo maior que a coluna). No celular os lados se empilham
   e a página rola normalmente. O <footer> genérico do base.html (vazio aqui) não pode somar altura à página. */
body.rw-pagina-entrada > footer {
    display: none;
}
@media (min-width: 992px) {
    .rw-entrada {
        height: 100vh;
        min-height: 0;
    }
    .rw-entrada-form {
        overflow-y: auto;
        justify-content: flex-start;
    }
    .rw-entrada-cartao {
        margin-top: auto;
    }
    .rw-entrada-rodape {
        margin-bottom: auto;
    }
    .rw-termo-leitura {
        max-height: none;
        overflow: visible;
    }
}

/* Página "Em construção" dos apps ainda não desenvolvidos (templates/_em_construcao.html). */
.rw-em-construcao .card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 3.5rem 1.5rem;
}
.rw-em-construcao-icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    border-radius: 1.25rem;
    background: var(--vz-primary-bg-subtle);
    color: var(--vz-primary);
    font-size: 2.5rem;
    margin-bottom: 1.25rem;
}
.rw-em-construcao-selo {
    font-family: var(--rw-mono);
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--vz-primary);
    margin-bottom: 0.75rem;
}
.rw-em-construcao-titulo {
    font-family: var(--rw-titulo);
    font-weight: 600;
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: var(--vz-heading-color);
    margin-bottom: 0.75rem;
}
.rw-em-construcao-descricao {
    font-size: 1.0625rem;
    max-width: 36rem;
    margin-bottom: 0.5rem;
}
.rw-em-construcao-nota {
    color: var(--vz-secondary-color);
    max-width: 36rem;
    margin-bottom: 1.75rem;
}

/* =====================================================================================================
 * App Reserva de espaços (2026-10-03): agenda (FullCalendar 6), cartões de espaço, chips, paleta de cores,
 * ocupação semanal e selos de situação. A cor de cada espaço chega por `--cor` no próprio elemento.
 * ===================================================================================================== */
.rw-sobretitulo-app {
    font-family: var(--rw-mono);
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rw-legenda);
}
.min-w-0 { min-width: 0; }

/* Agenda */
.rw-agenda {
    --fc-border-color: var(--vz-border-color);
    --fc-page-bg-color: var(--vz-secondary-bg);
    --fc-neutral-bg-color: var(--vz-tertiary-bg);
    --fc-today-bg-color: rgba(0, 144, 244, 0.07);
    --fc-now-indicator-color: #F06548;
    --fc-highlight-color: rgba(0, 110, 203, 0.12);
    --fc-list-event-hover-bg-color: var(--vz-tertiary-bg);
    --fc-button-bg-color: var(--vz-secondary-bg);
    --fc-button-border-color: var(--vz-border-color);
    --fc-button-text-color: var(--vz-body-color);
    --fc-button-hover-bg-color: var(--vz-primary-bg-subtle);
    --fc-button-hover-border-color: var(--vz-primary-border-subtle);
    --fc-button-active-bg-color: var(--vz-primary);
    --fc-button-active-border-color: var(--vz-primary);
    --fc-event-text-color: #FFFFFF;
}
.rw-agenda .fc .fc-toolbar-title {
    font-family: var(--rw-titulo);
    font-weight: 600;
    font-size: 1.25rem;
}
.rw-agenda .fc .fc-toolbar-title::first-letter { text-transform: uppercase; }
.rw-agenda .fc .fc-button {
    border-radius: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    padding: 0.375rem 0.75rem;
    text-transform: capitalize;
    box-shadow: none !important;
}
.rw-agenda .fc .fc-button-primary:hover { color: var(--vz-body-color); }
.rw-agenda .fc .fc-button-primary:not(:disabled).fc-button-active,
.rw-agenda .fc .fc-button-primary:not(:disabled):active {
    color: #FFFFFF;
}
.rw-agenda .fc .fc-col-header-cell-cushion {
    font-family: var(--rw-mono);
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rw-legenda);
    padding: 0.5rem 0.25rem;
}
.rw-agenda .fc .fc-daygrid-day-number {
    font-size: 0.8125rem;
    color: var(--vz-secondary-color);
    padding: 0.375rem 0.5rem;
}
.rw-agenda .fc .fc-day-today .fc-daygrid-day-number {
    background: var(--vz-primary);
    color: #FFFFFF;
    border-radius: 999px;
    min-width: 1.75rem;
    text-align: center;
    margin: 0.25rem;
    padding: 0.125rem 0.375rem;
}
.rw-agenda .fc a { color: inherit; text-decoration: none; }
.rw-agenda .fc .fc-event {
    border-radius: 0.375rem;
    font-size: 0.75rem;
    padding: 1px 2px;
    cursor: pointer;
}
.rw-agenda .fc .fc-event .fc-event-main,
.rw-agenda .fc .fc-event .fc-event-time,
.rw-agenda .fc .fc-event .fc-event-title { color: #FFFFFF; }
.rw-agenda .fc .fc-event .fc-event-time { font-weight: 600; }
.rw-agenda .fc .fc-list-event-title a { color: var(--vz-body-color) !important; }
.rw-agenda .fc .fc-list-event-dot { border-color: currentColor; }
.rw-agenda .fc .fc-event.rw-evento-pendente {
    background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.28) 0 6px, transparent 6px 12px);
    border-style: dashed;
}
.rw-agenda .fc .fc-event.rw-evento-cancelada,
.rw-agenda .fc .fc-event.rw-evento-recusada {
    opacity: 0.45;
    text-decoration: line-through;
}
.rw-agenda .fc .fc-list-event-title,
.rw-agenda .fc .fc-list-event-time { color: var(--vz-body-color); }
.rw-agenda .fc .fc-list-day-cushion { background: var(--vz-tertiary-bg); }
/* Na vista em lista o Velzon pinta a linha do evento com a cor primária: a cor vai só no ponto (2026-10-04). */
.rw-agenda .fc .fc-list-event { background: transparent !important; }
.rw-agenda .fc .fc-list-event td { background: transparent; text-align: left; }
.rw-agenda .fc .fc-list-event:hover td { background: var(--vz-tertiary-bg); }
.rw-agenda .fc .fc-scrollgrid { border-radius: 0.75rem; overflow: hidden; }

/* Legenda, pontos de cor e próximas reservas */
.rw-ponto {
    display: inline-block;
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    margin-right: 0.5rem;
    vertical-align: middle;
    flex-shrink: 0;
}
.rw-legenda-espacos li {
    display: flex;
    align-items: center;
    font-size: 0.8125rem;
    padding: 0.125rem 0;
}
.rw-proxima {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    padding: 0.625rem 0;
    color: inherit;
    border-bottom: 1px solid var(--vz-border-color);
}
.rw-proxima:last-child { border-bottom: 0; }
.rw-proxima:hover { color: inherit; }
.rw-proxima:hover .rw-proxima-titulo { color: var(--vz-primary); }
.rw-proxima-data,
.rw-reserva-dia {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--cor, var(--vz-primary)) 12%, transparent);
    color: var(--cor, var(--vz-primary));
    font-family: var(--rw-mono);
    font-size: 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    line-height: 1.1;
}
.rw-proxima-data strong,
.rw-reserva-dia strong {
    font-family: var(--rw-titulo);
    font-size: 1.125rem;
    letter-spacing: 0;
}
.rw-reserva-dia { width: 3.75rem; height: 3.75rem; }
.rw-reserva-dia strong { font-size: 1.5rem; }
.rw-proxima-texto { display: flex; flex-direction: column; min-width: 0; gap: 0.125rem; align-items: flex-start; }
.rw-proxima-titulo { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.rw-proxima-meta { font-size: 0.75rem; color: var(--vz-secondary-color); }

/* Modal da reserva: cabeçalho com a cor do espaço */
.rw-modal-reserva-cabecalho {
    background: var(--cor, var(--vz-primary));
    color: #FFFFFF;
    border-bottom: 0;
}
.rw-modal-reserva-cabecalho .modal-title,
.rw-modal-reserva-cabecalho .rw-modal-reserva-espaco { color: #FFFFFF; }
.rw-modal-reserva-espaco { font-family: var(--rw-mono); letter-spacing: 0.1em; opacity: 0.85; }
.rw-modal-reserva-cabecalho .btn-close { filter: invert(1) grayscale(1) brightness(2); }

/* Cartão de reserva/espaço: a cor do espaço aparece no ícone/data (sem borda lateral colorida, regra da identidade) */
.rw-reserva-cartao { overflow: hidden; }
.rw-cartao-espaco {
    color: inherit;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    margin-bottom: 0;
}
a.rw-cartao-espaco:hover {
    transform: translateY(-2px);
    box-shadow: 0 0.5rem 1.25rem rgba(6, 28, 61, 0.08);
    color: inherit;
}
.rw-cartao-espaco-inativo { opacity: 0.6; }
.rw-cartao-espaco-acao { margin-top: 0.5rem; }
.rw-espaco-icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--cor, var(--vz-primary)) 14%, transparent);
    color: var(--cor, var(--vz-primary));
    font-size: 1.375rem;
}
.rw-espaco-icone-grande { width: 3.75rem; height: 3.75rem; font-size: 1.875rem; border-radius: 1rem; }
.rw-capacidade {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-family: var(--rw-mono);
    font-size: 0.8125rem;
    color: var(--vz-secondary-color);
}
.rw-recurso-icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.5rem;
    background: var(--vz-tertiary-bg);
    color: var(--vz-secondary-color);
    font-size: 0.9375rem;
}
.rw-recursos {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0;
    list-style: none;
}
.rw-recursos li {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.625rem;
    border-radius: 999px;
    background: var(--vz-tertiary-bg);
    border: 1px solid var(--vz-border-color);
    font-size: 0.8125rem;
}
.rw-instrucoes {
    padding: 0.75rem 1rem;
    border-radius: 0.75rem;
    background: var(--vz-primary-bg-subtle);
}

/* Chips selecionáveis (checkbox) e de navegação */
.rw-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rw-chip { position: relative; }
.rw-chip input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}
.rw-chip label,
.rw-chip-link {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.875rem;
    border-radius: 999px;
    border: 1px solid var(--vz-border-color);
    background: var(--vz-secondary-bg);
    color: var(--vz-body-color);
    font-size: 0.8125rem;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.rw-chip label:hover,
.rw-chip-link:hover { border-color: var(--vz-primary-border-subtle); color: var(--vz-body-color); }
.rw-chip input:checked + label,
.rw-chip-link.active {
    background: var(--vz-primary);
    border-color: var(--vz-primary);
    color: #FFFFFF;
}
.rw-chip input:focus-visible + label { outline: 2px solid var(--vz-primary); outline-offset: 2px; }

/* Paleta de cores do espaço (radio) */
.rw-cores { display: flex; flex-wrap: wrap; gap: 0.625rem; }
.rw-cor { position: relative; }
.rw-cor input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rw-cor label {
    display: block;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: var(--cor);
    cursor: pointer;
    box-shadow: 0 0 0 2px var(--vz-secondary-bg);
    transition: box-shadow 0.15s ease;
}
.rw-cor input:checked + label { box-shadow: 0 0 0 3px var(--vz-secondary-bg), 0 0 0 5px var(--cor); }
.rw-cor input:focus-visible + label { outline: 2px solid var(--vz-primary); outline-offset: 4px; }

/* Painel "Sobre o espaço" do formulário de reserva */
.rw-sobre-espaco { overflow: hidden; position: sticky; top: 6rem; }
.rw-sobre-espaco-faixa { height: 6px; }

/* Ocupação semanal */
.rw-ocupacao li {
    display: grid;
    grid-template-columns: 5.5rem 1fr 2.75rem;
    align-items: center;
    gap: 0.75rem;
    padding: 0.375rem 0;
    font-size: 0.8125rem;
}
.rw-ocupacao-dia { font-family: var(--rw-mono); text-transform: capitalize; color: var(--vz-secondary-color); }
.rw-ocupacao-barra {
    display: block;
    height: 0.5rem;
    border-radius: 999px;
    background: var(--vz-tertiary-bg);
    overflow: hidden;
}
.rw-ocupacao-barra span { display: block; height: 100%; background: var(--cor); border-radius: inherit; }
.rw-ocupacao-valor { text-align: right; font-family: var(--rw-mono); }
.rw-ocupacao-fechado { grid-column: 2 / 4; color: var(--vz-secondary-color); font-style: italic; }

/* Série e situação */
.rw-serie li { display: flex; justify-content: space-between; gap: 0.5rem; padding: 0.375rem 0; border-bottom: 1px solid var(--vz-border-color); }
.rw-serie li:last-child { border-bottom: 0; }
.rw-serie-atual a { font-weight: 600; }
.rw-serie-inativa a { text-decoration: line-through; color: var(--vz-secondary-color); }
.rw-status { font-weight: 500; }
.rw-status-confirmada { background: #E6F7F4; color: #067A6A; }
.rw-status-pendente { background: #FEF4E4; color: #8A5200; }
.rw-status-recusada { background: #FDECE8; color: #B4321A; }
.rw-status-cancelada { background: #EEF1F5; color: #4F5D6E; }
[data-bs-theme="dark"] body.app-rengaw .rw-status-confirmada { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-status-pendente { background: rgba(247, 184, 75, 0.18); color: #F7CB7C; }
[data-bs-theme="dark"] body.app-rengaw .rw-status-recusada { background: rgba(240, 101, 72, 0.18); color: #F59A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-status-cancelada { background: rgba(255, 255, 255, 0.08); color: #B8C4D6; }
[data-bs-theme="dark"] body.app-rengaw .rw-agenda { --fc-today-bg-color: rgba(0, 144, 244, 0.12); }
@media (prefers-reduced-motion: reduce) {
    .rw-cartao-espaco, a.rw-cartao-espaco:hover { transition: none; transform: none; }
}

/* =====================================================================================================
 * App Competências (2026-10-03): régua de níveis, matriz em mapa de calor, aderência, escala de avaliação,
 * quadro do PDI, primeiros passos e selos de situação. Reaproveita .rw-espaco-icone, .rw-ficha etc.
 * ===================================================================================================== */
/* Régua de 5 níveis */
.rw-nivel { display: inline-flex; gap: 3px; vertical-align: middle; }
.rw-nivel-pip {
    width: 0.875rem;
    height: 0.5rem;
    border-radius: 999px;
    background: var(--vz-border-color);
}
.rw-nivel-pip.cheio { background: var(--vz-primary); }
.rw-nivel-pip.esperado { box-shadow: 0 0 0 2px var(--vz-secondary-bg), 0 0 0 3.5px #F7B84B; }

/* Matriz (mapa de calor) */
.rw-matriz-rolagem { overflow-x: auto; }
.rw-matriz { border-collapse: separate; border-spacing: 3px; min-width: 100%; }
.rw-matriz th, .rw-matriz td { font-size: 0.8125rem; }
.rw-matriz-pessoa {
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--vz-secondary-bg);
    min-width: 11rem;
    max-width: 14rem;
    padding: 0.375rem 0.75rem 0.375rem 0;
    font-weight: 500;
    text-align: left;
}
.rw-matriz-pessoa a { color: var(--vz-body-color); }
.rw-matriz-pessoa a:hover { color: var(--vz-primary); }
.rw-matriz thead th { vertical-align: bottom; }
.rw-matriz-comp { height: 9rem; padding: 0 0 0.5rem; }
.rw-matriz-comp span {
    display: inline-block;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    max-height: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--rw-mono);
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--rw-legenda);
    border-left: 3px solid var(--cor);
    padding-top: 0.25rem;
}
.rw-celula {
    min-width: 2.75rem;
    height: 2.5rem;
    text-align: center;
    border-radius: 0.5rem;
    font-family: var(--rw-mono);
    white-space: nowrap;
}
.rw-celula strong { font-family: var(--rw-titulo); font-size: 0.9375rem; }
.rw-celula-esperado { opacity: 0.7; font-size: 0.6875rem; }
.rw-celula-atinge { background: #D7F2EC; color: #05695C; }
.rw-celula-perto { background: #FDEBC8; color: #7A4A00; }
.rw-celula-abaixo { background: #FBD9D1; color: #A12B12; }
.rw-celula-sem { background: repeating-linear-gradient(135deg, var(--vz-tertiary-bg) 0 5px, var(--vz-border-color) 5px 6px); color: var(--vz-secondary-color); }
.rw-celula-livre { background: #E1EEFB; color: #003387; }
.rw-celula-vazia { background: transparent; }
.rw-matriz-aderencia { padding-left: 0.75rem; white-space: nowrap; text-align: left; }
.rw-legenda-matriz { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; font-size: 0.8125rem; color: var(--vz-secondary-color); }
.rw-legenda-matriz li { display: inline-flex; align-items: center; gap: 0.5rem; }
.rw-celula-amostra { display: inline-block; width: 1rem; height: 1rem; border-radius: 0.3125rem; flex-shrink: 0; border: 1px solid var(--vz-border-color); }

/* Aderência: anel com o percentual */
.rw-aderencia {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    font-family: var(--rw-mono);
    font-size: 0.75rem;
    font-weight: 600;
    background:
        radial-gradient(closest-side, var(--vz-secondary-bg) 76%, transparent 78% 100%),
        conic-gradient(var(--vz-primary) var(--valor), var(--vz-border-color) 0);
}
.rw-aderencia-grande { width: 3.75rem; height: 3.75rem; font-size: 0.875rem; }

/* Lacunas, pendências e ações */
.rw-lacuna { padding: 0.5rem 0; }
.rw-lacuna + .rw-lacuna { border-top: 1px solid var(--vz-border-color); }
.rw-lacuna-barra { display: block; height: 0.5rem; margin-top: 0.375rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; }
.rw-lacuna-barra span { display: block; height: 100%; background: #F06548; border-radius: inherit; }
.rw-pendencias li {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 0;
    border-bottom: 1px solid var(--vz-border-color);
}
.rw-pendencias li:last-child { border-bottom: 0; }
.rw-pendencias li > i { font-size: 1.25rem; color: var(--vz-primary); }
.rw-pendencias li > span { flex-grow: 1; }
.rw-acao-linha {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 0;
    color: inherit;
    border-bottom: 1px solid var(--vz-border-color);
}
.rw-acao-linha:last-child { border-bottom: 0; }
.rw-acao-linha:hover { color: inherit; }
.rw-acao-linha:hover .fw-medium { color: var(--vz-primary); }

/* Primeiros passos */
.rw-primeiros-passos { background: linear-gradient(0deg, var(--vz-secondary-bg), var(--vz-secondary-bg)); }
.rw-passos { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 0.75rem; padding: 0; margin: 0; list-style: none; counter-reset: passo; }
.rw-passos a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    height: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--vz-border-color);
    border-radius: 0.75rem;
    color: var(--vz-body-color);
}
.rw-passos a:hover { border-color: var(--vz-primary-border-subtle); color: var(--vz-body-color); }
.rw-passo-icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--vz-primary-bg-subtle);
    color: var(--vz-primary);
    font-size: 1.125rem;
}
.rw-passos li.feito a { color: var(--vz-secondary-color); }
.rw-passos li.feito .rw-passo-icone { background: #0AB39C; color: #FFFFFF; }

/* Catálogo e perfil */
.rw-grupo-titulo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--rw-mono);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rw-legenda);
    margin: 0 0 0.75rem;
}
.rw-grupo-titulo i { font-size: 1rem; }
.rw-grupo-titulo span { margin-left: 0.25rem; padding: 0 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); }
.rw-competencia, .rw-cargo, .rw-ciclo { flex: 1 1 auto; width: 100%; margin-bottom: 0; }
.rw-niveis summary { cursor: pointer; font-size: 0.8125rem; color: var(--vz-primary); }
.rw-niveis li { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.25rem 0; font-size: 0.8125rem; }
.rw-niveis li .rw-nivel { margin-top: 0.3rem; flex-shrink: 0; }
.rw-ficha-compacta { grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
.rw-ficha-compacta dd { font-family: var(--rw-titulo); font-size: 1.125rem; font-weight: 600; }
.rw-competencia-linha { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
.rw-competencia-linha:first-child { padding-top: 0; }
.rw-competencia-linha:last-of-type { border-bottom: 0; }

/* Escala de avaliação (radio de 5 níveis) */
.rw-escala { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.5rem; margin-bottom: 0.5rem; }
.rw-escala-opcao { position: relative; }
.rw-escala-opcao input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rw-escala-opcao label {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.125rem;
    height: 100%;
    padding: 0.625rem 0.25rem 0.75rem;
    border: 1px solid var(--vz-border-color);
    border-radius: 0.75rem;
    background: var(--vz-secondary-bg);
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.rw-escala-opcao label strong { font-family: var(--rw-titulo); font-size: 1.25rem; line-height: 1.1; }
.rw-escala-opcao label span { font-size: 0.75rem; color: var(--vz-secondary-color); }
.rw-escala-opcao label:hover { border-color: var(--vz-primary-border-subtle); }
.rw-escala-opcao input:checked + label { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
.rw-escala-opcao input:checked + label span { color: rgba(255, 255, 255, 0.85); }
.rw-escala-opcao input:focus-visible + label { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
.rw-escala-marca {
    position: absolute;
    top: -0.55rem;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 0.375rem;
    border-radius: 999px;
    background: #0090F4;
    color: #FFFFFF;
    font-family: var(--rw-mono);
    font-size: 0.5625rem;
    font-style: normal;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}
.rw-escala-marca.rw-escala-esperado { top: auto; bottom: -0.55rem; background: #F7B84B; color: #061C3D; }
.rw-escala-descricao { min-height: 1.25rem; color: var(--vz-secondary-color); }
@media (max-width: 575.98px) {
    .rw-escala label span { display: none; }
}

/* Quadro do PDI */
.rw-quadro { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.rw-quadro-coluna { padding: 0.75rem; border-radius: 1rem; background: var(--vz-tertiary-bg); border: 1px solid var(--vz-border-color); min-height: 8rem; }
.rw-quadro-titulo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--rw-mono);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rw-legenda);
    margin: 0.25rem 0.25rem 0.75rem;
}
.rw-quadro-titulo span { padding: 0 0.5rem; border-radius: 999px; background: var(--vz-secondary-bg); }
.rw-quadro-cartao { margin-bottom: 0.625rem; }
.rw-quadro-cartao .card-body { padding: 0.875rem; }
.rw-quadro-cartao.atrasada { border-color: #F5B5A6 !important; }
.rw-quadro-vazio { margin: 0.5rem 0.25rem; font-size: 0.8125rem; color: var(--vz-secondary-color); }
@media (max-width: 991.98px) { .rw-quadro { grid-template-columns: 1fr; } }

/* Selos de situação */
.rw-av-pendente, .rw-ciclo-planejado, .rw-acao-planejada { background: #EEF1F5; color: #4F5D6E; }
.rw-av-autoavaliada, .rw-ciclo-aberto, .rw-acao-em_andamento { background: #E1EEFB; color: #003387; }
.rw-av-concluida, .rw-acao-concluida { background: #E6F7F4; color: #067A6A; }
.rw-ciclo-encerrado { background: #EEF1F5; color: #061C3D; }
.rw-acao-cancelada { background: #FDECE8; color: #B4321A; }

/* Modo escuro */
[data-bs-theme="dark"] body.app-rengaw .rw-celula-atinge { background: rgba(10, 179, 156, 0.22); color: #7BE3D2; }
[data-bs-theme="dark"] body.app-rengaw .rw-celula-perto { background: rgba(247, 184, 75, 0.22); color: #F7CB7C; }
[data-bs-theme="dark"] body.app-rengaw .rw-celula-abaixo { background: rgba(240, 101, 72, 0.24); color: #F7A592; }
[data-bs-theme="dark"] body.app-rengaw .rw-celula-livre { background: rgba(0, 144, 244, 0.2); color: #8FCBFA; }
[data-bs-theme="dark"] body.app-rengaw .rw-av-pendente,
[data-bs-theme="dark"] body.app-rengaw .rw-ciclo-planejado,
[data-bs-theme="dark"] body.app-rengaw .rw-acao-planejada,
[data-bs-theme="dark"] body.app-rengaw .rw-ciclo-encerrado { background: rgba(255, 255, 255, 0.08); color: #B8C4D6; }
[data-bs-theme="dark"] body.app-rengaw .rw-av-autoavaliada,
[data-bs-theme="dark"] body.app-rengaw .rw-ciclo-aberto,
[data-bs-theme="dark"] body.app-rengaw .rw-acao-em_andamento { background: rgba(0, 144, 244, 0.18); color: #8FCBFA; }
[data-bs-theme="dark"] body.app-rengaw .rw-av-concluida,
[data-bs-theme="dark"] body.app-rengaw .rw-acao-concluida { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-escala-opcao input:checked + label { color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-escala-opcao input:checked + label span { color: rgba(6, 28, 61, 0.8); }
@media (prefers-reduced-motion: reduce) { .rw-escala-opcao label { transition: none; } }

/* =====================================================================================================
 * App Recrutamento (2026-10-03): cartões de vaga, funil em colunas, etapas, estrelas, linha do tempo,
 * agenda de entrevistas e a página pública de candidatura. Reaproveita .rw-espaco-icone, .rw-quadro-*,
 * .rw-chip-link, .rw-ficha, .rw-passos e .rw-acao-linha.
 */
.rw-mono { font-family: var(--rw-mono); font-size: 0.8125rem; letter-spacing: 0.04em; }
.rw-chip-contador { margin-left: 0.25rem; padding: 0 0.4rem; border-radius: 999px; background: var(--vz-tertiary-bg); font-size: 0.75rem; }
.rw-chip-link.active .rw-chip-contador { background: rgba(255, 255, 255, 0.25); color: #FFFFFF; }

/* Selos */
.rw-vaga-aberta, .rw-cand-contratado, .rw-entrevista-realizada { background: #E6F7F4; color: #067A6A; }
.rw-vaga-pausada, .rw-vaga-solicitada, .rw-prioridade-alta { background: #FEF4E4; color: #8A5200; }
.rw-vaga-rascunho, .rw-vaga-encerrada, .rw-cand-desistiu, .rw-entrevista-cancelada { background: #EEF1F5; color: #4F5D6E; }
.rw-vaga-cancelada, .rw-cand-reprovado, .rw-prioridade-urgente, .rw-entrevista-faltou { background: #FDECE8; color: #B4321A; }
.rw-etapa-badge, .rw-entrevista-agendada { background: #E1EEFB; color: #003387; }
.rw-habilidade { background: var(--vz-tertiary-bg); color: var(--vz-body-color); font-weight: 500; }

/* Cartão de vaga */
.rw-vaga-cartao { flex: 1 1 auto; width: 100%; }
.rw-vaga-detalhes li { display: flex; align-items: center; gap: 0.375rem; padding: 0.125rem 0; }
.rw-vaga-numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; padding-top: 0.75rem; border-top: 1px solid var(--vz-border-color); }
.rw-vaga-numeros dt { font-family: var(--rw-mono); font-size: 0.625rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rw-legenda); }
.rw-vaga-numeros dd { margin: 0; font-family: var(--rw-titulo); font-size: 1.25rem; font-weight: 600; }

/* Avatar com iniciais */
.rw-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--vz-primary-bg-subtle);
    color: var(--vz-primary);
    font-family: var(--rw-titulo);
    font-size: 0.8125rem;
    font-weight: 600;
}
.rw-avatar-grande { width: 4rem; height: 4rem; font-size: 1.375rem; }

/* Estrelas */
.rw-estrelas { display: inline-flex; gap: 1px; font-size: 0.875rem; color: #C3CCD8; line-height: 1; }
.rw-estrelas .cheia { color: #F7B84B; }
.rw-estrelas-input { display: inline-flex; flex-direction: row-reverse; justify-content: center; gap: 0.25rem; }
.rw-estrelas-input-esquerda { justify-content: flex-end; }
.rw-estrelas-input input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rw-estrelas-input label { font-size: 1.625rem; line-height: 1; color: #C3CCD8; cursor: pointer; transition: color 0.1s ease; }
.rw-estrelas-input label:hover,
.rw-estrelas-input label:hover ~ label,
.rw-estrelas-input input:checked ~ label { color: #F7B84B; }
.rw-estrelas-input input:focus-visible + label { outline: 2px solid var(--vz-primary); outline-offset: 2px; border-radius: 4px; }
.rw-estrelas-form fieldset { border: 0; padding: 0; margin: 0; }

/* Funil geral do painel */
.rw-funil-etapa { display: grid; grid-template-columns: minmax(9rem, 12rem) 1fr 2.5rem; align-items: center; gap: 0.75rem; padding: 0.4rem 0; }
.rw-funil-rotulo { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; }
.rw-funil-rotulo i { color: var(--vz-primary); font-size: 1rem; }
.rw-funil-barra { display: block; height: 0.75rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; }
.rw-funil-barra span { display: block; height: 100%; border-radius: inherit; background: #006ECB; }
.rw-funil-contratado .rw-funil-barra span { background: #0AB39C; }
.rw-funil-total { text-align: right; font-family: var(--rw-titulo); font-size: 1rem; }
.rw-barra-azul span { background: #0090F4; }
@media (max-width: 575.98px) {
    .rw-funil-etapa { grid-template-columns: 1fr 2.5rem; }
    .rw-funil-barra { grid-column: 1 / -1; grid-row: 2; }
}

/* Quadro com a data (agenda) */
.rw-data-quadro {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
    border-radius: 0.75rem;
    background: var(--vz-primary-bg-subtle);
    color: var(--vz-primary);
    line-height: 1;
}
.rw-data-quadro strong { font-family: var(--rw-titulo); font-size: 1.0625rem; }
.rw-data-quadro span { font-family: var(--rw-mono); font-size: 0.5625rem; text-transform: uppercase; letter-spacing: 0.08em; margin-top: 2px; }
.rw-data-quadro-alerta { background: #FEF4E4; color: #8A5200; }
.rw-acao-linha.atrasada .fw-medium { color: #B4321A; }
.rw-hora { display: flex; flex-direction: column; min-width: 3.25rem; font-family: var(--rw-titulo); font-size: 1.125rem; font-weight: 600; color: var(--vz-primary); line-height: 1.1; }
.rw-hora span { font-family: var(--rw-mono); font-size: 0.625rem; font-weight: 500; color: var(--rw-legenda); }
.rw-entrevista-cartao { flex: 1 1 auto; width: 100%; }

/* Funil da vaga: uma coluna por etapa, rolagem horizontal em telas estreitas */
.rw-funil-quadro { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(14.5rem, 1fr); gap: 0.75rem; overflow-x: auto; padding-bottom: 0.5rem; align-items: start; }
.rw-quadro-titulo-texto { display: inline-flex; align-items: center; gap: 0.375rem; }
.rw-funil-quadro .rw-quadro-titulo { gap: 0.5rem; font-family: inherit; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--vz-heading-color); }
.rw-funil-quadro .rw-quadro-rotulo { background: none !important; padding: 0 !important; }
.rw-funil-quadro .rw-quadro-titulo-texto { min-width: 0; background: none; padding: 0; }
.rw-funil-quadro .rw-quadro-titulo-texto .rw-quadro-rotulo { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rw-funil-quadro .rw-quadro-titulo > span:last-child { flex-shrink: 0; }
.rw-quadro-titulo-texto i { font-size: 0.9375rem; color: var(--vz-primary); }
.rw-coluna-contratado { background: color-mix(in srgb, #0AB39C 8%, var(--vz-tertiary-bg)); }
.rw-coluna-contratado .rw-quadro-titulo-texto i { color: #0AB39C; }
.rw-candidato-cartao.contratado .rw-avatar { background: #0AB39C; color: #FFFFFF; }

/* Etapas da candidatura */
.rw-etapas { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.5rem; padding: 0; margin: 0; list-style: none; }
.rw-etapas li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.375rem; text-align: center; }
.rw-etapas li::before {
    content: "";
    position: absolute;
    top: 1.125rem;
    right: 50%;
    width: 100%;
    height: 2px;
    background: var(--vz-border-color);
    z-index: 0;
}
.rw-etapas li:first-child::before { display: none; }
.rw-etapas li.feita::before, .rw-etapas li.atual::before { background: #0090F4; }
.rw-etapa-marca {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: 2px solid var(--vz-border-color);
    background: var(--vz-secondary-bg);
    color: var(--rw-legenda);
    font-family: var(--rw-titulo);
    font-weight: 600;
}
.rw-etapas li.feita .rw-etapa-marca { background: #0090F4; border-color: #0090F4; color: #FFFFFF; }
.rw-etapas li.atual .rw-etapa-marca { border-color: #006ECB; color: #006ECB; box-shadow: 0 0 0 4px color-mix(in srgb, #0090F4 18%, transparent); }
.rw-etapas li.atual.interrompida .rw-etapa-marca { border-color: #F06548; color: #F06548; box-shadow: none; }
.rw-etapa-nome { font-size: 0.75rem; color: var(--vz-secondary-color); }
.rw-etapas li.atual .rw-etapa-nome { color: var(--vz-body-color); font-weight: 600; }
@media (max-width: 767.98px) {
    .rw-etapas { grid-template-columns: repeat(3, 1fr); row-gap: 1rem; }
    .rw-etapas li::before { display: none; }
}

/* Linha do tempo */
.rw-linha-tempo li { display: flex; gap: 0.75rem; padding: 0.625rem 0; border-top: 1px solid var(--vz-border-color); }
.rw-linha-tempo-icone { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; flex-shrink: 0; border-radius: 50%; background: var(--vz-tertiary-bg); color: var(--rw-legenda); }
.rw-linha-tempo-etapa .rw-linha-tempo-icone { background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
.rw-linha-tempo-entrevista .rw-linha-tempo-icone { background: #FEF4E4; color: #8A5200; }

/* Contato e listas */
.rw-contato li { display: flex; align-items: center; gap: 0.5rem; padding: 0.3rem 0; word-break: break-word; }
.rw-contato i { color: var(--vz-primary); font-size: 1rem; }
.rw-lista-check { padding: 0; margin: 0; list-style: none; }
.rw-lista-check li { position: relative; padding: 0.2rem 0 0.2rem 1.375rem; }
.rw-lista-check li::before {
    content: "";
    position: absolute;
    left: 0.25rem;
    top: 0.55rem;
    width: 0.5rem;
    height: 0.3rem;
    border-left: 2px solid #0090F4;
    border-bottom: 2px solid #0090F4;
    transform: rotate(-45deg);
}

/* Página pública de candidatura */
body.rw-pagina-vaga { background: var(--vz-body-bg); }
.rw-vaga-publica { min-height: 100vh; display: flex; flex-direction: column; }
.rw-vaga-publica-topo { background: var(--rw-noite); color: #FFFFFF; padding: 3rem 0 4.5rem; }
.rw-vaga-publica-sobretitulo { font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: #5DB8FF; margin-bottom: 0.5rem; }
.rw-vaga-publica-titulo { font-family: var(--rw-titulo); font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 600; color: #FFFFFF; margin-bottom: 1rem; }
.rw-vaga-publica-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; }
.rw-vaga-publica-chips li { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.3rem 0.75rem; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 999px; font-size: 0.8125rem; color: #DCE3EC; }
.rw-vaga-publica-corpo { margin-top: -2.5rem; flex: 1 0 auto; padding-bottom: 2rem; }
.rw-vaga-publica-corpo .col-lg-7 { padding-top: 3.5rem; }
.rw-vaga-publica-corpo h2 { font-family: var(--rw-titulo); font-weight: 600; }
.rw-vaga-publica-form { position: sticky; top: 1rem; }
.rw-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.rw-vaga-publica-rodape { display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 1.25rem; font-size: 0.75rem; color: var(--rw-legenda); }
@media (max-width: 991.98px) {
    .rw-vaga-publica-corpo { margin-top: 0; padding-top: 1.5rem; }
    .rw-vaga-publica-corpo .col-lg-7 { padding-top: 0; }
    .rw-vaga-publica-form { position: static; }
}

/* Modo escuro */
[data-bs-theme="dark"] body.app-rengaw .rw-vaga-aberta,
[data-bs-theme="dark"] body.app-rengaw .rw-cand-contratado,
[data-bs-theme="dark"] body.app-rengaw .rw-entrevista-realizada { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-vaga-pausada,
[data-bs-theme="dark"] body.app-rengaw .rw-vaga-solicitada,
[data-bs-theme="dark"] body.app-rengaw .rw-prioridade-alta,
[data-bs-theme="dark"] body.app-rengaw .rw-data-quadro-alerta,
[data-bs-theme="dark"] body.app-rengaw .rw-linha-tempo-entrevista .rw-linha-tempo-icone { background: rgba(247, 184, 75, 0.18); color: #F7CB7C; }
[data-bs-theme="dark"] body.app-rengaw .rw-vaga-rascunho,
[data-bs-theme="dark"] body.app-rengaw .rw-vaga-encerrada,
[data-bs-theme="dark"] body.app-rengaw .rw-cand-desistiu,
[data-bs-theme="dark"] body.app-rengaw .rw-entrevista-cancelada { background: rgba(255, 255, 255, 0.08); color: #B8C4D6; }
[data-bs-theme="dark"] body.app-rengaw .rw-vaga-cancelada,
[data-bs-theme="dark"] body.app-rengaw .rw-cand-reprovado,
[data-bs-theme="dark"] body.app-rengaw .rw-prioridade-urgente,
[data-bs-theme="dark"] body.app-rengaw .rw-entrevista-faltou { background: rgba(240, 101, 72, 0.18); color: #F59A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-etapa-badge,
[data-bs-theme="dark"] body.app-rengaw .rw-entrevista-agendada { background: rgba(0, 144, 244, 0.18); color: #8FCBFA; }
[data-bs-theme="dark"] body.app-rengaw .rw-estrelas,
[data-bs-theme="dark"] body.app-rengaw .rw-estrelas-input label { color: #2D4A75; }
[data-bs-theme="dark"] body.app-rengaw .rw-estrelas .cheia,
[data-bs-theme="dark"] body.app-rengaw .rw-estrelas-input label:hover,
[data-bs-theme="dark"] body.app-rengaw .rw-estrelas-input label:hover ~ label,
[data-bs-theme="dark"] body.app-rengaw .rw-estrelas-input input:checked ~ label { color: #F7B84B; }
[data-bs-theme="dark"] body.app-rengaw .rw-etapas li.atual .rw-etapa-marca { border-color: #0090F4; color: #5DB8FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-vaga-publica-topo { background: #04142D; }
@media (prefers-reduced-motion: reduce) { .rw-estrelas-input label { transition: none; } }

/* =====================================================================================================
 * App Patrimônio (2026-10-03): selos de situação, ícone do bem, busca por código com câmera, prévia da etiqueta,
 * distribuição por categoria/local, conferência de inventário e seleção de etiquetas. Reaproveita .rw-acao-linha,
 * .rw-linha-tempo, .rw-funil-barra, .rw-data-quadro, .rw-chip-link, .rw-ficha e .rw-passos.
 */
.rw-bem-em_uso, .rw-manutencao-concluida, .rw-inventario-encerrado { background: #E6F7F4; color: #067A6A; }
.rw-bem-disponivel, .rw-inventario-aberto { background: #E1EEFB; color: #003387; }
.rw-bem-manutencao, .rw-manutencao-aberta { background: #FEF4E4; color: #8A5200; }
.rw-bem-extraviado { background: #FDECE8; color: #B4321A; }
.rw-bem-baixado, .rw-manutencao-cancelada { background: #EEF1F5; color: #4F5D6E; }

.rw-bem-icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    border-radius: 0.625rem;
    background: var(--vz-primary-bg-subtle);
    color: var(--vz-primary);
    font-size: 1.125rem;
}
.rw-bem-icone-ok { background: #E6F7F4; color: #067A6A; }
.rw-bem-icone-alerta { background: #FEF4E4; color: #8A5200; }

/* Busca por código (leitor, câmera ou digitação) */
.rw-localizar { position: relative; display: flex; gap: 0.5rem; align-items: stretch; }
.rw-localizar > i { position: absolute; left: 0.875rem; top: 50%; transform: translateY(-50%); color: var(--rw-legenda); font-size: 1.125rem; pointer-events: none; }
.rw-localizar .form-control { padding-left: 2.5rem; font-family: var(--rw-mono); letter-spacing: 0.03em; }
.rw-localizar .rw-camera[hidden] { display: none; }

/* Leitura pela câmera (tela cheia) */
.rw-camera-fundo { position: fixed; inset: 0; z-index: 2000; background: #061C3D; display: flex; align-items: center; justify-content: center; }
.rw-camera-fundo video { width: 100%; height: 100%; object-fit: cover; }
.rw-camera-mira { position: absolute; width: min(70vw, 18rem); aspect-ratio: 1; border: 3px solid #0090F4; border-radius: 1rem; box-shadow: 0 0 0 100vmax rgba(6, 28, 61, 0.45); }
.rw-camera-ajuda { position: absolute; top: 1.5rem; left: 1rem; right: 1rem; margin: 0; text-align: center; color: #FFFFFF; font-weight: 500; }
.rw-camera-fechar { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); min-width: 8rem; }

/* Distribuição por categoria/local (painel) */
.rw-distribuicao { display: block; padding: 0.375rem 0; color: var(--vz-body-color); font-size: 0.875rem; }
.rw-distribuicao:hover { color: var(--vz-primary); }
.rw-distribuicao .rw-funil-barra { height: 0.5rem; margin-top: 0.25rem; }

/* Prévia da etiqueta (ficha do bem) */
.rw-etiqueta {
    max-width: 22rem;
    margin: 0 auto;
    padding: 0.875rem;
    border: 1px dashed var(--vz-border-color);
    border-radius: 0.875rem;
    background: #FFFFFF;
    color: #061C3D;
}
.rw-etiqueta-topo { display: flex; gap: 0.75rem; align-items: stretch; }
.rw-etiqueta-qr { width: 6.5rem; flex-shrink: 0; }
.rw-etiqueta-qr svg { width: 100%; height: auto; display: block; }
.rw-etiqueta-topo > div:last-child { display: flex; flex-direction: column; }
.rw-etiqueta-cab { font-family: var(--rw-mono); font-size: 0.625rem; letter-spacing: 0.08em; text-transform: uppercase; color: #5D6A79; }
.rw-etiqueta-nome { font-family: var(--rw-titulo); font-weight: 600; font-size: 0.9375rem; line-height: 1.25; color: #00336A; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rw-etiqueta-codigo { margin-top: auto; font-family: var(--rw-mono); font-weight: 600; font-size: 1.125rem; letter-spacing: 0.04em; }
.rw-etiqueta-barras { margin-top: 0.625rem; }
.rw-etiqueta-barras svg { width: 100%; height: 3.25rem; display: block; }

/* Conferência */
.rw-conferir-cartao { border-color: var(--vz-primary-border-subtle); background: color-mix(in srgb, var(--vz-primary) 4%, var(--vz-card-bg)); }
.rw-lista-rolavel { max-height: 28rem; overflow-y: auto; }
.rw-inventario-cartao { color: var(--vz-body-color); transition: border-color 0.15s ease; margin-bottom: 0; }
.rw-inventario-cartao:hover { border-color: var(--vz-primary-border-subtle); color: var(--vz-body-color); }

/* Seleção de etiquetas */
.rw-lista-etiquetas li { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
.rw-lista-etiquetas li:last-child { border-bottom: 0; }
.rw-lista-etiquetas li[hidden] { display: none; }
.rw-lista-etiquetas label { display: flex; align-items: center; gap: 0.75rem; flex-grow: 1; min-width: 0; margin: 0; cursor: pointer; }
.rw-busca-lista { position: relative; }
.rw-busca-lista i { position: absolute; left: 0.625rem; top: 50%; transform: translateY(-50%); color: var(--rw-legenda); }
.rw-busca-lista .form-control { padding-left: 2rem; min-width: 14rem; }
.rw-resumo-impressao { display: flex; flex-wrap: wrap; gap: 0.375rem; align-items: baseline; padding: 0.75rem 1rem; border-radius: 0.75rem; background: var(--vz-tertiary-bg); }
@media (min-width: 1200px) { .rw-etiquetas-opcoes { position: sticky; top: 9rem; } }

/* Ícones da categoria (radio) */
.rw-icones { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rw-icone-opcao { position: relative; }
.rw-icone-opcao input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rw-icone-opcao label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid var(--vz-border-color);
    border-radius: 0.75rem;
    font-size: 1.25rem;
    color: var(--vz-body-color);
    cursor: pointer;
}
.rw-icone-opcao input:checked + label { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
.rw-icone-opcao input:focus-visible + label { outline: 2px solid var(--vz-primary); outline-offset: 2px; }

/* Histórico: cor do ícone pelo tipo */
.rw-mov-transferencia .rw-linha-tempo-icone, .rw-mov-cadastro .rw-linha-tempo-icone { background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
.rw-mov-manutencao .rw-linha-tempo-icone { background: #FEF4E4; color: #8A5200; }
.rw-mov-conferencia .rw-linha-tempo-icone, .rw-mov-reativacao .rw-linha-tempo-icone { background: #E6F7F4; color: #067A6A; }
.rw-mov-baixa .rw-linha-tempo-icone { background: #FDECE8; color: #B4321A; }
.rw-linha-tempo-painel li:first-child { border-top: 0; padding-top: 0; }

/* Modo escuro */
[data-bs-theme="dark"] body.app-rengaw .rw-bem-em_uso,
[data-bs-theme="dark"] body.app-rengaw .rw-manutencao-concluida,
[data-bs-theme="dark"] body.app-rengaw .rw-inventario-encerrado,
[data-bs-theme="dark"] body.app-rengaw .rw-bem-icone-ok,
[data-bs-theme="dark"] body.app-rengaw .rw-mov-conferencia .rw-linha-tempo-icone,
[data-bs-theme="dark"] body.app-rengaw .rw-mov-reativacao .rw-linha-tempo-icone { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-bem-disponivel,
[data-bs-theme="dark"] body.app-rengaw .rw-inventario-aberto { background: rgba(0, 144, 244, 0.18); color: #8FCBFA; }
[data-bs-theme="dark"] body.app-rengaw .rw-bem-manutencao,
[data-bs-theme="dark"] body.app-rengaw .rw-manutencao-aberta,
[data-bs-theme="dark"] body.app-rengaw .rw-bem-icone-alerta,
[data-bs-theme="dark"] body.app-rengaw .rw-mov-manutencao .rw-linha-tempo-icone { background: rgba(247, 184, 75, 0.18); color: #F7CB7C; }
[data-bs-theme="dark"] body.app-rengaw .rw-bem-extraviado,
[data-bs-theme="dark"] body.app-rengaw .rw-mov-baixa .rw-linha-tempo-icone { background: rgba(240, 101, 72, 0.18); color: #F59A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-bem-baixado,
[data-bs-theme="dark"] body.app-rengaw .rw-manutencao-cancelada { background: rgba(255, 255, 255, 0.08); color: #B8C4D6; }
[data-bs-theme="dark"] body.app-rengaw .rw-etiqueta { border-color: #2D4A75; }

/* =====================================================================================================
 * App Frequência (2026-10-04): relógio e botão do ponto, marcações do dia, semana em barras, selos de situação,
 * espelho do mês e cores das atividades. Reaproveita .rw-acao-linha, .rw-passos, .rw-chip, .rw-cores, .rw-ficha.
 */
.rw-ponto-cartao .card-body { padding: 2rem 1.5rem; }
.rw-relogio { font-family: var(--rw-titulo); font-weight: 600; font-size: clamp(3rem, 9vw, 4.5rem); line-height: 1; color: var(--vz-heading-color, #00336A); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.rw-relogio-seg { font-size: 0.45em; color: var(--rw-legenda); margin-left: 0.1em; }
.rw-ponto-status { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 0.75rem; color: var(--vz-secondary-color); }
.rw-ponto-ponto { width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--rw-borda, #DCE3EC); }
.rw-ponto-ativo { background: #0AB39C; box-shadow: 0 0 0 0.25rem rgba(10, 179, 156, 0.2); }
.rw-ponto-botao { min-width: min(100%, 18rem); padding: 0.9rem 1.5rem; font-size: 1.0625rem; }
.rw-marcacoes li { display: flex; align-items: center; gap: 0.625rem; padding: 0.375rem 0; border-top: 1px solid var(--vz-border-color); }
.rw-marcacoes li:first-child { border-top: 0; }
.rw-marcacao-hora { font-family: var(--rw-titulo); font-weight: 600; font-size: 1.0625rem; min-width: 3.25rem; }
.rw-marcacao-local { color: var(--rw-legenda); }

.rw-semana { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0.5rem; align-items: end; }
.rw-semana-dia { display: flex; flex-direction: column; align-items: center; gap: 0.375rem; min-width: 0; }
.rw-semana-valor { font-family: var(--rw-mono); font-size: 0.6875rem; color: var(--vz-secondary-color); min-height: 1rem; white-space: nowrap; }
.rw-semana-coluna { position: relative; width: 100%; max-width: 2.75rem; height: 8rem; border-radius: 0.5rem; background: var(--vz-tertiary-bg); overflow: hidden; }
.rw-semana-previsto { position: absolute; left: 0; right: 0; bottom: 0; border-top: 2px dashed var(--rw-legenda); }
.rw-semana-feito { position: absolute; left: 0; right: 0; bottom: 0; background: var(--vz-primary); border-radius: 0.5rem 0.5rem 0 0; }
.rw-semana-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--vz-secondary-color); }
.rw-semana-dia.hoje .rw-semana-rotulo { color: var(--vz-primary); font-weight: 600; }
.rw-semana-dia.hoje .rw-semana-coluna { outline: 2px solid var(--vz-primary-border-subtle); }
.rw-legenda-cor { display: inline-block; width: 0.875rem; height: 0.625rem; border-radius: 0.2rem; margin-right: 0.25rem; vertical-align: middle; }
.rw-legenda-previsto { border-top: 2px dashed var(--rw-legenda); height: 0; border-radius: 0; }
.rw-legenda-feito { background: var(--vz-primary); }

.rw-estado { display: inline-flex; align-items: center; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.75rem; font-weight: 500; white-space: nowrap; background: #EEF1F5; color: #4F5D6E; }
.rw-estado-trabalhando, .rw-solicitacao-aprovada { background: #E6F7F4; color: #067A6A; }
.rw-estado-remoto { background: #E1EEFB; color: #003387; }
.rw-estado-intervalo, .rw-solicitacao-pendente { background: #FEF4E4; color: #8A5200; }
.rw-estado-falta, .rw-estado-sem_registro, .rw-solicitacao-recusada { background: #FDECE8; color: #B4321A; }
.rw-estado-ausencia { background: #F0ECFF; color: #5B3FD9; }
.rw-solicitacao { display: flex; gap: 0.75rem; padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); }
.rw-solicitacao:last-child { border-bottom: 0; padding-bottom: 0; }
.rw-solicitacao:first-child { padding-top: 0; }

.rw-ficha-totais { grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); margin-bottom: 1.25rem; }
.rw-ficha-totais dd { font-family: var(--rw-titulo); font-weight: 600; font-size: 1.25rem; }
.rw-tabela-espelho tbody th { font-weight: 500; }
.rw-dia-livre { background: var(--vz-tertiary-bg); }
.rw-dia-livre th, .rw-dia-livre td { color: var(--vz-secondary-color); }
.rw-dia-futuro { opacity: 0.55; }
.rw-hora-chip { display: inline-flex; align-items: center; gap: 0.2rem; margin: 0.125rem 0.25rem 0.125rem 0; padding: 0.1rem 0.45rem; border-radius: 0.375rem; background: var(--vz-tertiary-bg); font-family: var(--rw-mono); font-size: 0.8125rem; }
.rw-hora-chip.ajuste { background: #FEF4E4; color: #8A5200; }
.rw-mes-atual { min-width: 9rem; opacity: 1 !important; }
.rw-cor-ponto { display: inline-block; width: 0.625rem; height: 0.625rem; border-radius: 50%; margin-right: 0.5rem; vertical-align: middle; }
.rw-cor-ponto-grande { width: 1rem; height: 1rem; margin-right: 0; flex-shrink: 0; }
.rw-campo-ano { width: 6rem; }

[data-bs-theme="dark"] body.app-rengaw .rw-relogio { color: #F4F7FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-estado { background: rgba(255, 255, 255, 0.08); color: #B8C4D6; }
[data-bs-theme="dark"] body.app-rengaw .rw-estado-trabalhando,
[data-bs-theme="dark"] body.app-rengaw .rw-solicitacao-aprovada { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-estado-remoto { background: rgba(0, 144, 244, 0.18); color: #8FCBFA; }
[data-bs-theme="dark"] body.app-rengaw .rw-estado-intervalo,
[data-bs-theme="dark"] body.app-rengaw .rw-solicitacao-pendente,
[data-bs-theme="dark"] body.app-rengaw .rw-hora-chip.ajuste { background: rgba(247, 184, 75, 0.18); color: #F7CB7C; }
[data-bs-theme="dark"] body.app-rengaw .rw-estado-falta,
[data-bs-theme="dark"] body.app-rengaw .rw-estado-sem_registro,
[data-bs-theme="dark"] body.app-rengaw .rw-solicitacao-recusada { background: rgba(240, 101, 72, 0.18); color: #F59A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-estado-ausencia { background: rgba(123, 97, 255, 0.2); color: #C4B5FF; }

/* Botão "soft" amarelo: o texto amarelo do Velzon sobre fundo amarelo claro fica abaixo do contraste AA no modo claro
   (2026-10-04, achado no painel da Frequência). No escuro o padrão já tem contraste. */
:root:not([data-bs-theme="dark"]) body.app-rengaw .btn-soft-warning:not(:hover):not(:focus):not(:active) { color: #8A5200; }
:root:not([data-bs-theme="dark"]) body.app-rengaw .alert-warning { color: #7A4A00; }

/* ===================================================================================================================
 * App Colaboradores (2026-10-04): situação, documentos, checklists, linhas clicáveis, organograma em árvore.
 * =================================================================================================================== */
body.app-rengaw .rw-situacao-ativo, body.app-rengaw .rw-documento-valido, body.app-rengaw .rw-documento-sem_validade { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-situacao-afastado, body.app-rengaw .rw-documento-vencendo, body.app-rengaw .rw-documento-pendente { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-situacao-desligado { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-documento-vencido { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-linha-link { color: var(--vz-body-color); text-decoration: none; border-radius: 0.625rem; }
body.app-rengaw .rw-linha-link:hover, body.app-rengaw .rw-linha-link:focus-visible { background: var(--vz-tertiary-bg); color: var(--vz-body-color); }
body.app-rengaw .rw-data-quadro.rw-data-hoje { background: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-data-quadro.rw-data-hoje span { color: #FFFFFF; }
body.app-rengaw .rw-evolucao { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0.375rem; }
body.app-rengaw .rw-evolucao .rw-semana-coluna { min-height: 8rem; }
body.app-rengaw .rw-evolucao .rw-semana-rotulo { text-transform: capitalize; }

body.app-rengaw .rw-tarefa { margin: 0; }
body.app-rengaw .rw-tarefa-botao { display: flex; align-items: flex-start; gap: 0.5rem; width: 100%; padding: 0.375rem 0.25rem; border: 0; border-radius: 0.5rem; background: none; color: var(--vz-body-color); text-align: left; }
body.app-rengaw .rw-tarefa-botao:not(:disabled):hover { background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-tarefa-botao i { font-size: 1.125rem; line-height: 1.25rem; color: var(--rw-legenda); }
body.app-rengaw .rw-tarefa.feita .rw-tarefa-botao i { color: #0AB39C; }
body.app-rengaw .rw-tarefa.feita .rw-tarefa-botao > span { text-decoration: line-through; color: var(--rw-legenda); }
body.app-rengaw .rw-tarefa.feita .rw-tarefa-botao > span span { text-decoration: none; }

/* Organograma: árvore de cima para baixo com conectores; rola na horizontal se não couber. */
body.app-rengaw .rw-organograma { overflow-x: auto; padding-bottom: 0.5rem; }
body.app-rengaw .rw-organograma ul { display: flex; justify-content: center; margin: 0; padding: 1.25rem 0 0; list-style: none; position: relative; }
body.app-rengaw .rw-organograma > ul { padding-top: 0; width: max-content; min-width: 100%; }
body.app-rengaw .rw-organograma li { position: relative; display: flex; flex-direction: column; align-items: center; padding: 1.25rem 0.3rem 0; }
body.app-rengaw .rw-organograma > ul > li { padding-top: 0; }
body.app-rengaw .rw-organograma li::before, body.app-rengaw .rw-organograma li::after { content: ""; position: absolute; top: 0; width: 50%; height: 1.25rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-organograma li::before { right: 50%; }
body.app-rengaw .rw-organograma li::after { left: 50%; border-left: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-organograma li:only-child::before, body.app-rengaw .rw-organograma li:only-child::after { border-top: 0; }
body.app-rengaw .rw-organograma li:first-child::before, body.app-rengaw .rw-organograma li:last-child::after { border-top: 0; }
body.app-rengaw .rw-organograma li:last-child::before { border-right: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-organograma > ul > li::before, body.app-rengaw .rw-organograma > ul > li::after { display: none; }
body.app-rengaw .rw-organograma ul ul::before { content: ""; position: absolute; top: 0; left: 50%; height: 1.25rem; border-left: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-org-cartao { display: flex; align-items: center; gap: 0.5rem; width: 11rem; padding: 0.5rem 0.625rem; border: 1px solid var(--vz-border-color); border-radius: 0.875rem; background: var(--vz-secondary-bg); color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-org-cartao:hover, body.app-rengaw .rw-org-cartao:focus-visible { border-color: var(--vz-primary); color: var(--vz-body-color); }

[data-bs-theme="dark"] body.app-rengaw .rw-situacao-ativo, [data-bs-theme="dark"] body.app-rengaw .rw-documento-valido,
[data-bs-theme="dark"] body.app-rengaw .rw-documento-sem_validade { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-situacao-afastado, [data-bs-theme="dark"] body.app-rengaw .rw-documento-vencendo,
[data-bs-theme="dark"] body.app-rengaw .rw-documento-pendente { background: rgba(247, 184, 75, 0.18); color: #F7CB7C; }
[data-bs-theme="dark"] body.app-rengaw .rw-situacao-desligado { background: rgba(255, 255, 255, 0.08); color: #B8C4D6; }
[data-bs-theme="dark"] body.app-rengaw .rw-documento-vencido { background: rgba(240, 101, 72, 0.18); color: #F59A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-data-quadro.rw-data-hoje, [data-bs-theme="dark"] body.app-rengaw .rw-data-quadro.rw-data-hoje span { color: #061C3D; }

/* ---------- App Estacionamento (2026-10-04) ---------- */
body.app-rengaw .rw-placa { display: inline-block; font-family: var(--rw-mono); font-weight: 600; letter-spacing: 0.08em; padding: 0.1rem 0.5rem; border: 1px solid var(--vz-border-color); border-top: 3px solid var(--vz-primary); border-radius: 0.375rem; background: var(--vz-secondary-bg); color: var(--vz-heading-color, var(--vz-body-color)); white-space: nowrap; }
body.app-rengaw .rw-placa-grande { font-size: 1.5rem; padding: 0.25rem 0.875rem; }
body.app-rengaw .rw-placa-pequena { font-size: 0.75rem; padding: 0 0.375rem; border-top-width: 2px; }
body.app-rengaw .rw-placa-campo { font-family: var(--rw-mono); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
body.app-rengaw .rw-est-livres { font-family: var(--rw-titulo); font-size: 1.125rem; }
body.app-rengaw .rw-est-livres span { font-size: 2.25rem; font-weight: 700; color: var(--vz-primary); line-height: 1; }
body.app-rengaw .rw-est-anel { --pct: 0; width: 6rem; height: 6rem; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--rw-anel, #0AB39C) calc(var(--pct) * 1%), var(--vz-tertiary-bg) 0); flex-shrink: 0; }
body.app-rengaw .rw-est-anel.alto { --rw-anel: #F7B84B; }
body.app-rengaw .rw-est-anel.cheio { --rw-anel: #F06548; }
body.app-rengaw .rw-est-anel span { width: 4.5rem; height: 4.5rem; border-radius: 50%; background: var(--vz-secondary-bg); display: grid; place-items: center; font-family: var(--rw-mono); font-weight: 600; }
body.app-rengaw .rw-est-tipo { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 0.75rem; }
body.app-rengaw .rw-est-tipo i { color: var(--vz-primary); font-size: 1.125rem; }
body.app-rengaw .rw-est-tipo span { flex-grow: 1; color: var(--vz-secondary-color); font-size: 0.8125rem; }
body.app-rengaw .rw-est-tipo strong { font-family: var(--rw-mono); }
body.app-rengaw .rw-est-tipos { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-est-total { font-family: var(--rw-titulo); font-size: 2.25rem; font-weight: 700; color: var(--vz-primary); line-height: 1.1; }
body.app-rengaw .rw-est-memoria { list-style: none; padding: 0; margin: 0 0 0.75rem; }
body.app-rengaw .rw-est-memoria li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.375rem 0; border-bottom: 1px dashed var(--vz-border-color); font-size: 0.875rem; }
body.app-rengaw .rw-est-memoria li.total { font-weight: 600; border-bottom-style: solid; }
body.app-rengaw .rw-est-horas { display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); gap: 0.25rem; align-items: end; height: 8rem; }
body.app-rengaw .rw-est-hora { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; gap: 0.25rem; min-width: 0; }
body.app-rengaw .rw-est-hora span { width: 100%; min-height: 2px; background: var(--vz-primary); border-radius: 0.25rem 0.25rem 0 0; }
body.app-rengaw .rw-est-hora small { font-family: var(--rw-mono); font-size: 0.625rem; color: var(--vz-secondary-color); min-height: 0.875rem; }
body.app-rengaw .rw-est-dias { grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 0.375rem; }
body.app-rengaw .rw-est-dias .rw-semana-valor { font-size: 0.625rem; }
body.rw-est-publico { background: var(--vz-body-bg); }
body.app-rengaw .rw-est-publico-pagina { width: 100%; max-width: 28rem; margin: 0 auto; padding: 1.5rem 1rem 2rem; box-sizing: border-box; }
body.app-rengaw .rw-est-publico-cartao .rw-placa { font-size: 1.25rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-est-dias .rw-semana-valor { display: none; }
    body.app-rengaw .rw-est-horas small { font-size: 0.5rem; }
}
body.app-rengaw .rw-placa-campo::placeholder { font-weight: 400; color: var(--vz-secondary-color); opacity: 0.7; }

/* ---------- App Menu digital (2026-10-04) ----------
 * Quadro de pedidos (três colunas), linhas do cardápio com foto, selos, ranking, mesas, horários, cores de destaque e
 * a página pública do cardápio (celular primeiro). A página pública usa a cor de destaque escolhida pelo restaurante
 * (--rw-menu-cor, de uma lista fixa do código) só em detalhes; textos e fundos seguem as variáveis do tema.
 */
body.app-rengaw .rw-menu-quadro { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
body.app-rengaw .rw-menu-coluna { background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 16px; padding: 0.75rem; min-height: 8rem; }
body.app-rengaw .rw-menu-coluna-titulo { font-family: var(--rw-mono); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--vz-secondary-color); margin: 0.25rem 0.25rem 0.75rem; display: flex; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-menu-pedido { margin-bottom: 0.75rem; }
body.app-rengaw .rw-menu-pedido:last-child { margin-bottom: 0; }
body.app-rengaw .rw-menu-coluna-novo .rw-menu-pedido { box-shadow: inset 0 3px 0 #F06548; }
body.app-rengaw .rw-menu-itens { list-style: none; padding: 0; margin: 0 0 0.5rem; }
body.app-rengaw .rw-menu-itens li { padding: 0.2rem 0; border-bottom: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-menu-itens li:last-child { border-bottom: 0; }
body.app-rengaw .rw-menu-qtd { font-family: var(--rw-mono); font-weight: 600; color: var(--vz-primary); }
body.app-rengaw .rw-menu-obs { background: rgba(247, 184, 75, 0.16); border-radius: 8px; padding: 0.35rem 0.5rem; }
body.app-rengaw .rw-menu-vazio { color: var(--vz-secondary-color); font-size: 0.875rem; text-align: center; margin: 1.5rem 0; }
body.app-rengaw .rw-menu-chamados { border-color: #F06548; }
body.app-rengaw .rw-menu-chamado { display: flex; align-items: center; gap: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.5rem 0.75rem; background: var(--vz-body-bg); }
@media (max-width: 991.98px) { body.app-rengaw .rw-menu-quadro { grid-template-columns: minmax(0, 1fr); } }

body.app-rengaw .rw-menu-secao + .rw-menu-secao { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-menu-linha { display: flex; align-items: center; gap: 0.875rem; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-menu-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-menu-linha.apagado .rw-menu-foto, body.app-rengaw .rw-menu-linha.apagado p { opacity: 0.6; }
body.app-rengaw .rw-menu-foto { width: 3.5rem; height: 3.5rem; border-radius: 12px; object-fit: cover; flex: 0 0 auto; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-menu-foto-vazia { display: inline-flex; align-items: center; justify-content: center; color: var(--vz-secondary-color); font-size: 1.25rem; border: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-menu-desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.app-rengaw .rw-menu-selo { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.75rem; padding: 0.1rem 0.5rem; border-radius: 999px; background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); color: var(--vz-body-color); }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-menu-linha { flex-wrap: wrap; }
    body.app-rengaw .rw-menu-linha > .text-end { width: 100%; text-align: left !important; }
    body.app-rengaw .rw-menu-linha > .text-end .justify-content-end { justify-content: flex-start !important; }
}

body.app-rengaw .rw-menu-selos-escolha { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-menu-selo-opcao { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 999px; cursor: pointer; }
body.app-rengaw .rw-menu-selo-opcao .form-check-input { margin: 0; }
body.app-rengaw .rw-menu-selo-opcao:has(input:checked) { border-color: var(--vz-primary); background: var(--vz-primary-bg-subtle); }
body.app-rengaw .rw-menu-previa { min-height: 8rem; display: flex; align-items: center; justify-content: center; border: 1px dashed var(--vz-border-color); border-radius: 12px; overflow: hidden; text-align: center; padding: 0.5rem; }
body.app-rengaw .rw-menu-previa img { width: 100%; max-height: 14rem; object-fit: cover; border-radius: 8px; }

body.app-rengaw .rw-menu-ranking + .rw-menu-ranking { margin-top: 0.75rem; }
body.app-rengaw .rw-menu-ranking-barra { height: 6px; border-radius: 999px; background: var(--vz-secondary-bg); margin-top: 0.25rem; overflow: hidden; }
body.app-rengaw .rw-menu-ranking-barra span { display: block; height: 100%; background: var(--vz-primary); border-radius: 999px; }

body.app-rengaw .rw-menu-mesas { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-menu-mesa { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem; }
body.app-rengaw .rw-menu-mesa.apagado { opacity: 0.65; }
body.app-rengaw .rw-menu-link-geral { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; padding: 0.75rem; border-radius: 12px; background: var(--vz-secondary-bg); }

body.app-rengaw .rw-menu-horarios { display: grid; gap: 0.5rem; max-width: 40rem; }
body.app-rengaw .rw-menu-horario { display: grid; grid-template-columns: 9rem minmax(0, 8rem) auto minmax(0, 8rem) auto; align-items: center; gap: 0.5rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-menu-horario { grid-template-columns: 1fr auto 1fr; }
    body.app-rengaw .rw-menu-horario > span.fw-medium, body.app-rengaw .rw-menu-horario .form-switch { grid-column: 1 / -1; }
}

body.app-rengaw .rw-menu-cores { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-menu-cor { position: relative; width: 2.25rem; height: 2.25rem; border-radius: 50%; cursor: pointer; border: 3px solid transparent; box-shadow: 0 0 0 1px var(--vz-border-color); }
body.app-rengaw .rw-menu-cor input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
body.app-rengaw .rw-menu-cor:has(input:checked) { border-color: var(--vz-body-bg); box-shadow: 0 0 0 2px var(--vz-primary); }
body.app-rengaw .rw-menu-cor:has(input:focus-visible) { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
.rw-menu-cor-azul { background: #006ECB; }
.rw-menu-cor-verde { background: #0A7F6F; }
.rw-menu-cor-vermelho { background: #C23A22; }
.rw-menu-cor-laranja { background: #B85C00; }
.rw-menu-cor-roxo { background: #5B3FD9; }
.rw-menu-cor-grafite { background: #36414F; }

/* Página pública do cardápio. */
body.rw-menu-publico { background: var(--vz-body-bg); }
body.app-rengaw .rw-menu-pagina { width: 100%; max-width: 40rem; margin: 0 auto; padding: 0 1rem 7rem; box-sizing: border-box; }
body.app-rengaw .rw-menu-capa { margin: 0 -1rem 1rem; padding: 2rem 1rem 1.5rem; text-align: center; background: #061C3D; color: #FFFFFF; border-bottom: 4px solid var(--rw-menu-cor); }
body.app-rengaw .rw-menu-capa-mesa { font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: #8FCBFF; margin: 0 0 0.25rem; }
body.app-rengaw .rw-menu-capa-nome { font-family: var(--rw-titulo); font-weight: 700; font-size: 1.75rem; color: #FFFFFF; margin: 0; }
body.app-rengaw .rw-menu-capa-slogan { color: rgba(255, 255, 255, 0.8); margin: 0.25rem 0 0; }
body.app-rengaw .rw-menu-aberto { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.25rem 0.75rem; border-radius: 999px; font-size: 0.8125rem; background: rgba(255, 255, 255, 0.1); }
body.app-rengaw .rw-menu-aberto::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: #F06548; }
body.app-rengaw .rw-menu-aberto.sim::before { background: #0AB39C; }
body.app-rengaw .rw-menu-info-botao { border: 1px solid rgba(255, 255, 255, 0.3); background: transparent; color: #FFFFFF; border-radius: 999px; padding: 0.25rem 0.75rem; font-size: 0.8125rem; }
body.app-rengaw .rw-menu-info { margin-top: 1rem; font-size: 0.875rem; color: rgba(255, 255, 255, 0.9); }
body.app-rengaw .rw-menu-info p { margin: 0 0 0.35rem; }
body.app-rengaw .rw-menu-info a { color: #8FCBFF; }
body.app-rengaw .rw-menu-tabela-horarios { margin: 0.75rem auto 0; font-size: 0.8125rem; }
body.app-rengaw .rw-menu-tabela-horarios th { font-weight: 500; padding: 0.1rem 1rem 0.1rem 0; text-align: left; }
body.app-rengaw .rw-menu-boas-vindas { text-align: center; color: var(--vz-secondary-color); }
body.app-rengaw .rw-menu-acoes-mesa { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-bottom: 0.75rem; }
body.app-rengaw .rw-menu-nota { text-align: center; color: var(--vz-secondary-color); font-size: 0.875rem; margin: 1rem 0; }
body.app-rengaw .rw-menu-busca-barra { position: sticky; top: 0; z-index: 5; background: var(--vz-body-bg); padding: 0.75rem 0 0.5rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-menu-busca { position: relative; }
body.app-rengaw .rw-menu-busca i { position: absolute; left: 0.875rem; top: 50%; transform: translateY(-50%); color: var(--vz-secondary-color); }
body.app-rengaw .rw-menu-busca .form-control { padding-left: 2.5rem; border-radius: 999px; }
body.app-rengaw .rw-menu-categorias { display: flex; gap: 0.5rem; overflow-x: auto; padding: 0.625rem 0 0.25rem; scrollbar-width: none; }
body.app-rengaw .rw-menu-categorias::-webkit-scrollbar { display: none; }
body.app-rengaw .rw-menu-categorias a { flex: 0 0 auto; padding: 0.3rem 0.875rem; border-radius: 999px; border: 1px solid var(--vz-border-color); background: var(--vz-secondary-bg); color: var(--vz-body-color); font-size: 0.875rem; text-decoration: none; }
body.app-rengaw .rw-menu-categorias a:hover, body.app-rengaw .rw-menu-categorias a:focus-visible { border-color: var(--rw-menu-cor); }
body.app-rengaw .rw-menu-pub-secao { scroll-margin-top: 7rem; padding-top: 0.75rem; }
body.app-rengaw .rw-menu-pub-secao h2 { font-family: var(--rw-titulo); font-size: 1.25rem; margin: 0.5rem 0 0.25rem; padding-left: 0.75rem; position: relative; }
body.app-rengaw .rw-menu-pub-secao h2::before { content: ""; position: absolute; left: 0; top: 0.2rem; bottom: 0.2rem; width: 3px; border-radius: 2px; background: var(--rw-menu-cor); }
body.app-rengaw .rw-menu-pub-secao-desc { color: var(--vz-secondary-color); font-size: 0.875rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-menu-pub-item { display: flex; gap: 0.875rem; padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-menu-pub-item h3 { font-family: var(--rw-titulo); font-size: 1rem; font-weight: 600; margin: 0 0 0.2rem; }
body.app-rengaw .rw-menu-pub-item.esgotado h3, body.app-rengaw .rw-menu-pub-item.esgotado .rw-menu-pub-foto { opacity: 0.55; }
body.app-rengaw .rw-menu-pub-desc { font-size: 0.875rem; color: var(--vz-secondary-color); margin: 0 0 0.35rem; }
body.app-rengaw .rw-menu-pub-preco { margin: 0.25rem 0 0; }
body.app-rengaw .rw-menu-pub-preco del { color: var(--vz-secondary-color); font-size: 0.875rem; }
body.app-rengaw .rw-menu-pub-preco strong { font-family: var(--rw-titulo); font-size: 1.0625rem; }
body.app-rengaw .rw-menu-esgotado { font-size: 0.75rem; font-weight: 600; color: #C23A22; }
[data-bs-theme="dark"] body.app-rengaw .rw-menu-esgotado { color: #FA896B; }
body.app-rengaw .rw-menu-pub-foto { width: 6rem; height: 6rem; border-radius: 14px; object-fit: cover; flex: 0 0 auto; }
body.app-rengaw .rw-menu-pedir { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.5rem; align-items: center; }
body.app-rengaw .rw-menu-qtd-controle { display: inline-flex; align-items: center; gap: 0.25rem; }
body.app-rengaw .rw-menu-qtd-controle .form-control { width: 3.25rem; text-align: center; -moz-appearance: textfield; }
body.app-rengaw .rw-menu-qtd-controle .form-control::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.app-rengaw .rw-menu-qtd-controle .btn { width: 2rem; height: 2rem; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
body.app-rengaw .rw-menu-obs-item { flex: 1 1 10rem; display: none; }
body.app-rengaw .rw-menu-pub-item.escolhido .rw-menu-obs-item { display: block; }
body.app-rengaw .rw-menu-sacola { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom)); background: var(--vz-body-bg); border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-menu-sacola-botao { max-width: 38rem; margin: 0 auto; display: flex; justify-content: space-between; padding: 0.75rem 1rem; border-radius: 14px; }
body.app-rengaw .rw-menu-revisao { height: auto; max-height: 85vh; border-radius: 18px 18px 0 0; }
body.app-rengaw .rw-menu-revisao .offcanvas-body { max-width: 40rem; margin: 0 auto; width: 100%; }
body.app-rengaw .rw-menu-revisao-lista { list-style: none; padding: 0; margin: 0 0 0.75rem; }
body.app-rengaw .rw-menu-revisao-lista li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.35rem 0; border-bottom: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-menu-acompanhar { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.625rem 0.75rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-menu-conta { margin: 0.75rem 0 0.5rem; }
body.app-rengaw .rw-menu-conta > div { display: flex; justify-content: space-between; padding: 0.2rem 0; }
body.app-rengaw .rw-menu-conta dt { font-weight: 400; }
body.app-rengaw .rw-menu-conta dd { margin: 0; font-family: var(--rw-mono); }
body.app-rengaw .rw-menu-conta .total { font-weight: 600; border-top: 1px solid var(--vz-border-color); margin-top: 0.25rem; padding-top: 0.4rem; }
body.app-rengaw .rw-menu-aviso { margin-top: 0.75rem; }
body.app-rengaw .rw-menu-rodape { text-align: center; color: var(--vz-secondary-color); font-size: 0.75rem; margin-top: 2rem; }
body.app-rengaw .rw-menu-marca { vertical-align: -2px; margin-left: 0.25rem; }
body.app-rengaw .rw-menu-marca-escura { display: none; }
[data-bs-theme="dark"] body.app-rengaw .rw-menu-marca-clara { display: none; }
[data-bs-theme="dark"] body.app-rengaw .rw-menu-marca-escura { display: inline; }
[data-bs-theme="dark"] body.app-rengaw .rw-menu-capa { background: #030F22; }
@media (max-width: 400px) { body.app-rengaw .rw-menu-pub-foto { width: 4.5rem; height: 4.5rem; } }

/* ------------------------------------------------------------------------------------------------------------------
 * App Barbearia (2026-10-04): agenda do dia em colunas por profissional, selos de situação, fila de espera, cartão
 * fidelidade, escolhas em "pílulas" (dias e serviços) e a página pública de agendamento (reaproveita .rw-menu-pagina,
 * .rw-menu-capa e .rw-menu-rodape do Menu digital). Cores fixas no claro com equivalentes no escuro.
 * ------------------------------------------------------------------------------------------------------------------ */
body.app-rengaw .rw-barb-situacao { display: inline-flex; align-items: center; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.75rem; font-weight: 500; white-space: nowrap; background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-barb-situacao-confirmado { background: #E1EEFB; color: #003387; }
body.app-rengaw .rw-barb-situacao-atendimento { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-barb-situacao-concluido { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-barb-situacao-faltou, body.app-rengaw .rw-barb-situacao-cancelado { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-situacao { background: rgba(255, 255, 255, 0.08); color: #C9D3E0; }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-situacao-confirmado { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-situacao-atendimento { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-situacao-concluido { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-situacao-faltou, [data-bs-theme="dark"] body.app-rengaw .rw-barb-situacao-cancelado { background: rgba(240, 101, 72, 0.18); color: #FA896B; }

body.app-rengaw .rw-barb-hora { font-family: var(--rw-mono); font-size: 0.875rem; font-weight: 600; min-width: 3.25rem; color: var(--vz-primary); }
body.app-rengaw .rw-barb-avatar { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; flex: 0 0 auto; border-radius: 50%; color: #FFFFFF; font-family: var(--rw-titulo); font-weight: 600; font-size: 0.875rem; }

/* Agenda em colunas */
body.app-rengaw .rw-barb-grade-rolagem { overflow-x: auto; }
body.app-rengaw .rw-barb-grade { display: grid; grid-template-columns: 3.25rem repeat(var(--rw-colunas), minmax(10rem, 1fr)); column-gap: 0.5rem; min-width: calc(3.75rem + var(--rw-colunas) * 10.5rem); padding-bottom: 0.75rem; }
body.app-rengaw .rw-barb-cabecalho { display: flex; align-items: center; gap: 0.5rem; padding: 0 0.25rem 0.75rem; font-weight: 500; min-width: 0; }
body.app-rengaw .rw-barb-escala { position: relative; }
body.app-rengaw .rw-barb-escala span { position: absolute; right: 0.25rem; transform: translateY(-50%); font-family: var(--rw-mono); font-size: 0.6875rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-barb-coluna { position: relative; border-radius: 12px; background: var(--vz-tertiary-bg); overflow: hidden; }
body.app-rengaw .rw-barb-coluna.folga { background: repeating-linear-gradient(-45deg, var(--vz-tertiary-bg), var(--vz-tertiary-bg) 8px, var(--vz-secondary-bg) 8px, var(--vz-secondary-bg) 16px); }
body.app-rengaw .rw-barb-linha-hora { position: absolute; left: 0; right: 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-barb-livre { position: absolute; left: 3px; right: 3px; display: flex; align-items: center; padding: 0 0.5rem; border-radius: 6px; color: transparent; font-family: var(--rw-mono); font-size: 0.75rem; text-decoration: none; }
body.app-rengaw .rw-barb-livre:hover, body.app-rengaw .rw-barb-livre:focus-visible { background: var(--vz-primary-bg-subtle); color: var(--vz-primary); outline: 1px dashed var(--vz-primary); }
body.app-rengaw .rw-barb-evento { position: absolute; left: 4px; right: 4px; display: flex; flex-direction: column; gap: 0; padding: 0.2rem 0.5rem; overflow: hidden; border-radius: 8px; background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); color: var(--vz-body-color); text-decoration: none; font-size: 0.75rem; line-height: 1.25; z-index: 1; }
body.app-rengaw .rw-barb-evento strong::before { content: ""; display: inline-block; width: 0.5rem; height: 0.5rem; border-radius: 50%; margin-right: 0.35rem; vertical-align: 0.05rem; background: var(--rw-prof); }
body.app-rengaw .rw-barb-evento strong { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.app-rengaw .rw-barb-evento span { color: var(--vz-secondary-color); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.app-rengaw .rw-barb-evento:hover, body.app-rengaw .rw-barb-evento:focus-visible { border-color: var(--vz-primary); color: var(--vz-body-color); }
body.app-rengaw .rw-barb-evento-atendimento { background: #FEF4E4; border-color: #F3D49B; }
body.app-rengaw .rw-barb-evento-concluido { opacity: 0.7; }
body.app-rengaw .rw-barb-evento-faltou { opacity: 0.6; text-decoration: line-through; }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-evento-atendimento { background: rgba(247, 184, 75, 0.14); border-color: rgba(247, 184, 75, 0.35); }
body.app-rengaw .rw-barb-bloqueio { position: absolute; left: 4px; right: 4px; padding: 0.25rem 0.5rem; border-radius: 8px; background: repeating-linear-gradient(-45deg, var(--vz-secondary-bg), var(--vz-secondary-bg) 6px, var(--vz-tertiary-bg) 6px, var(--vz-tertiary-bg) 12px); border: 1px dashed var(--vz-border-color); font-size: 0.75rem; color: var(--vz-secondary-color); overflow: hidden; }
body.app-rengaw .rw-barb-agora { position: absolute; left: 0; right: 0; border-top: 2px solid #E5484D; z-index: 2; }
body.app-rengaw .rw-barb-agora::before { content: ""; position: absolute; left: -1px; top: -5px; width: 8px; height: 8px; border-radius: 50%; background: #E5484D; }

/* Cartão fidelidade */
body.app-rengaw .rw-barb-fidelidade { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-barb-fidelidade span { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; border: 2px dashed var(--vz-border-color); color: var(--vz-secondary-color); }
body.app-rengaw .rw-barb-fidelidade span.cheio { border: 2px solid var(--vz-primary); background: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-barb-fidelidade span.brinde { border-color: #0AB39C; color: #067A6A; }
body.app-rengaw .rw-barb-fidelidade span.brinde.cheio { background: #0AB39C; color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-fidelidade span.cheio { color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-fidelidade span.brinde { color: #5FD9C5; }

/* Fila de espera */
body.app-rengaw .rw-barb-fila-item { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-barb-fila-item:last-child { border-bottom: 0; }
body.app-rengaw .rw-barb-fila-item.chamado { background: var(--vz-success-bg-subtle); margin: 0 -0.75rem; padding-left: 0.75rem; padding-right: 0.75rem; border-radius: 12px; }
body.app-rengaw .rw-barb-fila-posicao { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); font-family: var(--rw-titulo); font-weight: 700; }

/* Opções em pílulas (dias de trabalho, serviços do profissional) */
body.app-rengaw .rw-barb-opcoes { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-barb-opcao { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.45rem 0.85rem; border: 1px solid var(--vz-border-color); border-radius: 999px; cursor: pointer; margin: 0; }
body.app-rengaw .rw-barb-opcao input { margin: 0; }
body.app-rengaw .rw-barb-opcao:has(input:checked) { border-color: var(--vz-primary); background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }

/* Página pública */
body.app-rengaw .rw-barb-passo { margin-top: 1.5rem; }
body.app-rengaw .rw-barb-passo h2, body.app-rengaw .rw-barb-dados h2 { display: flex; align-items: center; gap: 0.5rem; font-family: var(--rw-titulo); font-size: 1.125rem; margin: 0 0 0.75rem; }
body.app-rengaw .rw-barb-passo-num { display: inline-flex; align-items: center; justify-content: center; width: 1.625rem; height: 1.625rem; border-radius: 50%; background: #061C3D; color: #FFFFFF; font-size: 0.8125rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-passo-num { background: #0090F4; color: #061C3D; }
body.app-rengaw .rw-barb-escolhas { display: grid; gap: 0.5rem; }
body.app-rengaw .rw-barb-escolhas-linha { grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); }
body.app-rengaw .rw-barb-escolha { position: relative; display: flex; flex-direction: column; gap: 0.15rem; padding: 0.75rem 6rem 0.75rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 14px; background: var(--vz-secondary-bg); color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-barb-escolha-prof { flex-direction: row; align-items: center; gap: 0.625rem; padding: 0.75rem; }
body.app-rengaw .rw-barb-escolha:hover, body.app-rengaw .rw-barb-escolha:focus-visible { border-color: var(--vz-primary); color: var(--vz-body-color); }
body.app-rengaw .rw-barb-escolha.escolhido { border: 2px solid var(--vz-primary); background: var(--vz-primary-bg-subtle); }
body.app-rengaw .rw-barb-preco { position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); font-family: var(--rw-titulo); }
body.app-rengaw .rw-barb-dias { display: flex; gap: 0.5rem; overflow-x: auto; padding-bottom: 0.5rem; margin-bottom: 0.75rem; scroll-snap-type: x mandatory; }
body.app-rengaw .rw-barb-dia { flex: 0 0 4rem; display: flex; flex-direction: column; align-items: center; padding: 0.5rem 0.25rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-secondary-bg); color: var(--vz-body-color); text-decoration: none; scroll-snap-align: start; font-size: 0.75rem; text-transform: uppercase; font-family: var(--rw-mono); }
body.app-rengaw .rw-barb-dia strong { font-family: var(--rw-titulo); font-size: 1.25rem; text-transform: none; }
body.app-rengaw .rw-barb-dia.escolhido { background: #061C3D; border-color: #061C3D; color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-dia.escolhido { background: #0090F4; border-color: #0090F4; color: #061C3D; }
body.app-rengaw .rw-barb-horarios { display: grid; grid-template-columns: repeat(auto-fill, minmax(5rem, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-barb-horario { position: relative; display: flex; flex-direction: column; align-items: center; padding: 0.55rem 0.25rem; border: 1px solid var(--vz-border-color); border-radius: 10px; background: var(--vz-secondary-bg); cursor: pointer; margin: 0; font-family: var(--rw-mono); font-weight: 600; }
body.app-rengaw .rw-barb-horario small { font-family: var(--vz-body-font-family); font-weight: 400; font-size: 0.6875rem; color: var(--vz-secondary-color); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-barb-horario-radio { position: absolute; opacity: 0; pointer-events: none; }
body.app-rengaw .rw-barb-horario:has(input:focus-visible) { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-barb-horario:has(input:checked) { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-barb-horario:has(input:checked) small { color: rgba(255, 255, 255, 0.85); }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-horario:has(input:checked), [data-bs-theme="dark"] body.app-rengaw .rw-barb-horario:has(input:checked) small { color: #061C3D; }
body.app-rengaw .rw-barb-dados { margin-top: 1.5rem; padding: 1.25rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); scroll-margin-top: 1rem; }
body.app-rengaw .rw-barb-confirmacao { margin-top: 1.5rem; padding: 1.5rem 1.25rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); text-align: center; }
body.app-rengaw .rw-barb-confirmacao h2 { font-family: var(--rw-titulo); font-size: 1.375rem; margin: 0.75rem 0 1rem; }
body.app-rengaw .rw-barb-confirmacao .rw-menu-conta { text-align: left; }
body.app-rengaw .rw-barb-confirmacao-icone { display: inline-flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: #0AB39C; color: #FFFFFF; font-size: 1.75rem; }
body.app-rengaw .rw-barb-confirmacao-icone.cancelado { background: #F06548; }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-coluna { background: rgba(255, 255, 255, 0.03); }
[data-bs-theme="dark"] body.app-rengaw .rw-barb-evento { background: #143462; border-color: rgba(143, 203, 255, 0.25); }
body.app-rengaw .rw-barb-categoria { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--vz-secondary-color); margin: 0.75rem 0 0; }
body.app-rengaw .rw-barb-categoria:first-child { margin-top: 0; }

/* ------------------------------------------------------------------------------------------------------------------
 * App Consultórios (2026-10-04): reaproveita a grade, os selos e a página pública da Barbearia e salão (.rw-barb-*);
 * aqui só o que é próprio: cores das situações da consulta, horário fora do atendimento e a semana de horários.
 * ------------------------------------------------------------------------------------------------------------------ */
body.app-rengaw .rw-cons-situacao-confirmada { background: #E1EEFB; color: #003387; }
body.app-rengaw .rw-cons-situacao-chegou, body.app-rengaw .rw-cons-situacao-atendimento { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-cons-situacao-atendida { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-cons-situacao-faltou, body.app-rengaw .rw-cons-situacao-cancelada { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-cons-situacao-confirmada { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cons-situacao-chegou, [data-bs-theme="dark"] body.app-rengaw .rw-cons-situacao-atendimento { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-cons-situacao-atendida { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-cons-situacao-faltou, [data-bs-theme="dark"] body.app-rengaw .rw-cons-situacao-cancelada { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-cons-evento-chegou, body.app-rengaw .rw-cons-evento-atendimento { background: #FEF4E4; border-color: #F3D49B; }
body.app-rengaw .rw-cons-evento-atendida { opacity: 0.7; }
body.app-rengaw .rw-cons-evento-faltou { opacity: 0.6; text-decoration: line-through; }
[data-bs-theme="dark"] body.app-rengaw .rw-cons-evento-chegou, [data-bs-theme="dark"] body.app-rengaw .rw-cons-evento-atendimento { background: rgba(247, 184, 75, 0.14); border-color: rgba(247, 184, 75, 0.35); }
body.app-rengaw .rw-cons-fora { position: absolute; left: 0; right: 0; background: repeating-linear-gradient(-45deg, var(--vz-tertiary-bg), var(--vz-tertiary-bg) 8px, var(--vz-secondary-bg) 8px, var(--vz-secondary-bg) 16px); }
body.app-rengaw .rw-cons-semana { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-cons-dia { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem; min-height: 5rem; }
body.app-rengaw .rw-cons-turno { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.25rem 0.5rem; margin-bottom: 0.375rem; border-radius: 8px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
body.app-rengaw .rw-barb-confirmacao-icone.rw-cons-pendente { background: #F7B84B; color: #061C3D; }

/* ------------------------------------------------------------------------------------------------------------------
 * App Gestão de estoque (2026-10-04): busca pelo código, gráfico de entradas e saídas, ícone do tipo de movimentação,
 * escolha do tipo ao registrar, classes da curva ABC e chips de categoria. Reaproveita .rw-localizar, .rw-semana,
 * .rw-acao-linha, .rw-menu-ranking, .rw-ficha e .rw-passos.
 * ------------------------------------------------------------------------------------------------------------------ */
body.app-rengaw .rw-est-busca { min-width: min(100%, 18rem); }
body.app-rengaw .rw-est-coluna { display: flex; align-items: flex-end; gap: 2px; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-est-coluna > span { flex: 1; border-radius: 0.375rem 0.375rem 0 0; min-height: 0; }
body.app-rengaw .rw-est-entrada { background: #0AB39C; }
body.app-rengaw .rw-est-saida { background: var(--vz-primary); }
body.app-rengaw .rw-est-legenda { display: inline-block; width: 0.625rem; height: 0.625rem; border-radius: 3px; margin-right: 0.25rem; vertical-align: middle; }
body.app-rengaw .rw-est-legenda.entrada { background: #0AB39C; }
body.app-rengaw .rw-est-legenda.saida { background: var(--vz-primary); }
body.app-rengaw .rw-est-tipo.entrada { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-est-tipo.saida { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-est-tipo.ajuste { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-est-tipo.entrada { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-est-tipo.saida { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-est-tipo.ajuste { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
body.app-rengaw .rw-est-tipos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-est-tipo-opcao { position: relative; display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.875rem 0.5rem; border: 1px solid var(--vz-border-color); border-radius: 12px; cursor: pointer; font-weight: 500; text-align: center; }
body.app-rengaw .rw-est-tipo-opcao input { position: absolute; opacity: 0; pointer-events: none; }
body.app-rengaw .rw-est-tipo-opcao i { font-size: 1.25rem; }
body.app-rengaw .rw-est-tipo-opcao:focus-within { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-est-tipo-opcao.ativo { border-color: var(--vz-primary); background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
@media (max-width: 575.98px) { body.app-rengaw .rw-est-tipo-opcao { flex-direction: column; gap: 0.25rem; font-size: 0.8125rem; } }
body.app-rengaw .rw-est-abc { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 8px; font-family: var(--rw-titulo); font-weight: 700; }
body.app-rengaw .rw-est-abc.a { background: #E1EEFB; color: #003387; }
body.app-rengaw .rw-est-abc.b { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-est-abc.c { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-est-abc.a { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-est-abc.b { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
body.app-rengaw .rw-est-chip { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.375rem 0.5rem 0.375rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 999px; font-size: 0.875rem; }
body.app-rengaw .rw-est-chip .btn-close { font-size: 0.5rem; }
body.app-rengaw .rw-est-aviso { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-est-aviso { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
body.app-rengaw .rw-est-tipo i { color: inherit; }

/* ------------------------------------------------------------------------------------------------------------------
 * Versão do AppSuite no rodapé (2026-10-04): número em mono, sem brigar com o texto do rodapé.
 * ------------------------------------------------------------------------------------------------------------------ */
.rw-versao { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; letter-spacing: 0.02em; white-space: nowrap; }

/* ------------------------------------------------------------------------------------------------------------------
 * App Planejamento estratégico (2026-10-04): seletor do ciclo com o tempo decorrido, selos e barras do semáforo
 * (alvo, atenção, crítico, sem dado), mapa estratégico em faixas por perspectiva e matriz SWOT. Reaproveita
 * .rw-acao-linha, .rw-bem-icone, .rw-ficha, .rw-passos e .rw-chip-link.
 * ------------------------------------------------------------------------------------------------------------------ */
body.app-rengaw .rw-pe-ciclo .form-select { max-width: 100%; }
body.app-rengaw .rw-pe-tempo { display: inline-block; width: 6rem; height: 0.375rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; vertical-align: middle; }
body.app-rengaw .rw-pe-tempo > span { display: block; height: 100%; background: var(--vz-primary); }
body.app-rengaw .rw-pe-farol { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.125rem 0.625rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-pe-farol::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: currentColor; }
body.app-rengaw .rw-pe-farol.alvo { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pe-farol.atencao { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-pe-farol.critico { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-pe-farol.sem { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-pe-farol.alvo { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-pe-farol.atencao { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pe-farol.critico { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-pe-ponto { display: inline-block; width: 0.625rem; height: 0.625rem; border-radius: 50%; margin-right: 0.375rem; flex-shrink: 0; vertical-align: middle; }
body.app-rengaw .rw-pe-ponto.alvo { background: #0AB39C; }
body.app-rengaw .rw-pe-ponto.atencao { background: #F7B84B; }
body.app-rengaw .rw-pe-ponto.critico { background: #F06548; }
body.app-rengaw .rw-pe-ponto.sem { background: var(--vz-border-color); }
body.app-rengaw .rw-pe-barra-linha { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pe-barra-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-pe-barra, body.app-rengaw .rw-pe-mini { height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin: 0.375rem 0; }
body.app-rengaw .rw-pe-mini { width: 5rem; margin: 0; flex-shrink: 0; }
body.app-rengaw .rw-pe-barra > span, body.app-rengaw .rw-pe-mini > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-border-color); }
body.app-rengaw .rw-pe-barra.alvo > span, body.app-rengaw .rw-pe-mini > span.alvo { background: #0AB39C; }
body.app-rengaw .rw-pe-barra.atencao > span, body.app-rengaw .rw-pe-mini > span.atencao { background: #F7B84B; }
body.app-rengaw .rw-pe-barra.critico > span, body.app-rengaw .rw-pe-mini > span.critico { background: #F06548; }
body.app-rengaw .rw-bem-icone.rw-pe-icone-critico { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-bem-icone.rw-pe-icone-critico { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-pe-progresso { width: 5.5rem; }
body.app-rengaw .rw-pe-texto { flex-basis: 0; }
@media (max-width: 767.98px) { body.app-rengaw .rw-pe-atualizar { flex-basis: 100%; padding-left: 3.25rem; } }
body.app-rengaw .rw-pe-grafico { min-height: 300px; }

/* Mapa estratégico: uma faixa por perspectiva, objetivos em cartões com a faixa de cima na cor do semáforo. */
body.app-rengaw .rw-pe-faixa { display: grid; grid-template-columns: 12rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-pe-faixa:first-child { padding-top: 0; }
body.app-rengaw .rw-pe-faixa:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-pe-faixa-titulo { display: flex; flex-direction: column; align-items: flex-start; gap: 0.375rem; font-family: "Exo 2", sans-serif; font-weight: 600; }
body.app-rengaw .rw-pe-faixa-titulo > i { font-size: 1.5rem; color: var(--vz-primary); }
body.app-rengaw .rw-pe-faixa-objetivos { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 0.75rem; align-items: stretch; }
body.app-rengaw .rw-pe-obj { display: flex; flex-direction: column; justify-content: space-between; gap: 0.75rem; padding: 0.875rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-secondary-bg); color: var(--vz-body-color); text-decoration: none; transition: border-color 0.15s ease; }
body.app-rengaw .rw-pe-obj:hover { border-color: var(--vz-primary); color: var(--vz-body-color); }
body.app-rengaw .rw-pe-obj:focus-visible { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-pe-obj-titulo { font-weight: 600; line-height: 1.3; }
body.app-rengaw .rw-pe-obj-rodape { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; font-size: 0.75rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pe-obj-rodape strong { font-family: "Exo 2", sans-serif; font-size: 1rem; color: var(--vz-body-color); }
body.app-rengaw .rw-pe-obj.alvo { box-shadow: inset 0 4px 0 #0AB39C; }
body.app-rengaw .rw-pe-obj.atencao { box-shadow: inset 0 4px 0 #F7B84B; }
body.app-rengaw .rw-pe-obj.critico { box-shadow: inset 0 4px 0 #F06548; }
body.app-rengaw .rw-pe-obj.sem { box-shadow: inset 0 4px 0 var(--vz-border-color); }
@media (max-width: 767.98px) {
    body.app-rengaw .rw-pe-faixa { grid-template-columns: 1fr; }
    body.app-rengaw .rw-pe-faixa-titulo { flex-direction: row; align-items: center; flex-wrap: wrap; }
}

/* Matriz SWOT 2 x 2 (uma coluna no celular). */
body.app-rengaw .rw-pe-swot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
body.app-rengaw .rw-pe-quadrante { padding: 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; }
body.app-rengaw .rw-pe-quadrante li { padding: 0.375rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pe-quadrante li:last-child { border-bottom: 0; }
body.app-rengaw .rw-pe-quadrante-titulo { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; margin-bottom: 0.5rem; }
body.app-rengaw .rw-pe-quadrante.forca { background: #F1FAF8; }
body.app-rengaw .rw-pe-quadrante.forca .rw-pe-quadrante-titulo { color: #067A6A; }
body.app-rengaw .rw-pe-quadrante.fraqueza { background: #FEF7F5; }
body.app-rengaw .rw-pe-quadrante.fraqueza .rw-pe-quadrante-titulo { color: #B4321A; }
body.app-rengaw .rw-pe-quadrante.oportunidade { background: #F0F6FD; }
body.app-rengaw .rw-pe-quadrante.oportunidade .rw-pe-quadrante-titulo { color: #003387; }
body.app-rengaw .rw-pe-quadrante.ameaca { background: #FFFAF1; }
body.app-rengaw .rw-pe-quadrante.ameaca .rw-pe-quadrante-titulo { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-pe-quadrante.forca { background: rgba(10, 179, 156, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-pe-quadrante.forca .rw-pe-quadrante-titulo { color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-pe-quadrante.fraqueza { background: rgba(240, 101, 72, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-pe-quadrante.fraqueza .rw-pe-quadrante-titulo { color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-pe-quadrante.oportunidade { background: rgba(0, 144, 244, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-pe-quadrante.oportunidade .rw-pe-quadrante-titulo { color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pe-quadrante.ameaca { background: rgba(247, 184, 75, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-pe-quadrante.ameaca .rw-pe-quadrante-titulo { color: #F7C873; }
@media (max-width: 767.98px) { body.app-rengaw .rw-pe-swot { grid-template-columns: 1fr; } }

/* Compras antigo (2026-10-04): só a isca continua, usada pelo Orçamento de obra */
body.app-rengaw .rw-cp-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/*
 * App Gestão de acervos (2026-10-04): selos de situação do item, das exposições e dos inventários, barra de
 * proporção, elemento Dublin Core ao lado do rótulo, imagem do item, etapa atual da itinerância, retorno da leitura
 * no inventário e o catálogo público (reaproveita .rw-menu-pagina/.rw-menu-capa). Claro e escuro.
 */
body.app-rengaw [class*="rw-acv-"].badge { font-family: "IBM Plex Mono", monospace; font-weight: 600; font-size: 0.75rem; border-radius: 999px; padding: 0.25rem 0.625rem; }
body.app-rengaw .rw-acv-disponivel, body.app-rengaw .rw-acv-expo-em_cartaz, body.app-rengaw .rw-acv-inv-concluido { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-acv-emprestado, body.app-rengaw .rw-acv-inv-andamento { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-acv-exposicao, body.app-rengaw .rw-acv-expo-planejada { background: #EEEAFB; color: #5B3FB8; }
body.app-rengaw .rw-acv-restauracao { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-acv-extraviado { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-acv-baixado, body.app-rengaw .rw-acv-expo-encerrada { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-disponivel, [data-bs-theme="dark"] body.app-rengaw .rw-acv-expo-em_cartaz, [data-bs-theme="dark"] body.app-rengaw .rw-acv-inv-concluido { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-emprestado, [data-bs-theme="dark"] body.app-rengaw .rw-acv-inv-andamento { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-exposicao, [data-bs-theme="dark"] body.app-rengaw .rw-acv-expo-planejada { background: rgba(140, 110, 230, 0.2); color: #B9A6F5; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-restauracao { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-extraviado { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-acv-barra { display: block; height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin: 0.375rem 0 0; }
body.app-rengaw .rw-acv-barra > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-bem-icone.rw-acv-icone-alerta { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-bem-icone.rw-acv-icone-ok { background: #E6F7F4; color: #067A6A; }
[data-bs-theme="dark"] body.app-rengaw .rw-bem-icone.rw-acv-icone-alerta { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-bem-icone.rw-acv-icone-ok { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
body.app-rengaw .rw-acv-elemento { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--vz-secondary-color); opacity: 0.8; margin-left: 0.25rem; }
body.app-rengaw .rw-acv-imagem { display: block; max-width: 100%; max-height: 22rem; border-radius: 12px; border: 1px solid var(--vz-border-color); object-fit: contain; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-acv-miniatura { width: 3.5rem; height: 3.5rem; flex-shrink: 0; border-radius: 10px; object-fit: cover; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-acv-etapa-atual { background: rgba(0, 110, 203, 0.06); border-radius: 10px; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-etapa-atual { background: rgba(0, 144, 244, 0.12); }
body.app-rengaw .rw-acv-leitura-ok { background: #E6F7F4; color: #067A6A; border-color: transparent; }
body.app-rengaw .rw-acv-leitura-repetido { background: #E5F2FD; color: #005BA8; border-color: transparent; }
body.app-rengaw .rw-acv-leitura-fora { background: #FEF4E4; color: #8A5200; border-color: transparent; }
body.app-rengaw .rw-acv-leitura-nao_achado { background: #FDECE8; color: #B4321A; border-color: transparent; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-leitura-ok { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-leitura-repetido { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-leitura-fora { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-leitura-nao_achado { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-menu-pagina.rw-acv-publico { max-width: 52rem; padding-bottom: 2rem; }
body.app-rengaw .rw-acv-publico-item { margin-bottom: 0.75rem; transition: border-color 0.15s ease; }
body.app-rengaw .rw-acv-publico-item:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-acv-onde { background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); color: var(--vz-body-color); }
body.app-rengaw .rw-acv-onde.alert-danger { background: #FDECE8; color: #B4321A; border-color: transparent; }
body.app-rengaw .rw-acv-onde.alert-info { background: #E5F2FD; color: #005BA8; border-color: transparent; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-onde.alert-danger { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-onde.alert-info { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }

/*
 * App Condomínios (2026-10-05): selos de situação (reserva, ocorrência) e de categoria do comunicado, "novo", dias da
 * agenda, conversa da ocorrência, opções da enquete com barra de resultado, receitas e despesas (texto e gráfico de
 * colunas do ano) e a grade de ícones da área. Claro e escuro.
 */
body.app-rengaw [class*="rw-cond-"].badge { font-family: "IBM Plex Mono", monospace; font-weight: 600; font-size: 0.75rem; border-radius: 999px; padding: 0.25rem 0.625rem; }
body.app-rengaw .rw-cond-aprovada, body.app-rengaw .rw-cond-resolvida, body.app-rengaw .rw-cond-receita.badge { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-cond-pendente, body.app-rengaw .rw-cond-andamento { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-cond-aberta, body.app-rengaw .rw-cond-novo { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-cond-recusada, body.app-rengaw .rw-cond-despesa.badge { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-cond-cancelada { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-aprovada, [data-bs-theme="dark"] body.app-rengaw .rw-cond-resolvida, [data-bs-theme="dark"] body.app-rengaw .rw-cond-receita.badge { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-pendente, [data-bs-theme="dark"] body.app-rengaw .rw-cond-andamento { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-aberta, [data-bs-theme="dark"] body.app-rengaw .rw-cond-novo { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-recusada, [data-bs-theme="dark"] body.app-rengaw .rw-cond-despesa.badge { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-cond-cat-aviso, body.app-rengaw .rw-cond-cat-evento { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-cond-cat-manutencao { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-cond-cat-assembleia, body.app-rengaw .rw-cond-cat-financeiro { background: #EEEAFB; color: #5B3FB8; }
body.app-rengaw .rw-cond-cat-seguranca { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-cat-aviso, [data-bs-theme="dark"] body.app-rengaw .rw-cond-cat-evento { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-cat-manutencao { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-cat-assembleia, [data-bs-theme="dark"] body.app-rengaw .rw-cond-cat-financeiro { background: rgba(140, 110, 230, 0.2); color: #B9A6F5; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-cat-seguranca { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-cond-receita:not(.badge) { color: #067A6A; }
body.app-rengaw .rw-cond-despesa:not(.badge) { color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-receita:not(.badge) { color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-despesa:not(.badge) { color: #FA896B; }
body.app-rengaw .rw-bem-icone.rw-cond-icone-alerta { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-bem-icone.rw-cond-icone-alerta { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-cond-dia + .rw-cond-dia { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--vz-border-color); }

body.app-rengaw .rw-cond-decidir { flex-basis: 100%; }
body.app-rengaw .rw-cond-decidir .form-control { flex: 1 1 12rem; }
body.app-rengaw .rw-cond-entregar .form-control { width: 12rem; }
@media (max-width: 575.98px) { body.app-rengaw .rw-cond-entregar { flex-basis: 100%; } body.app-rengaw .rw-cond-entregar .form-control { width: auto; flex: 1; } }
body.app-rengaw .rw-cond-comunicado.fixado { border-color: var(--vz-primary); }
body.app-rengaw .rw-cond-comunicado:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-cond-texto { font-size: 1rem; line-height: 1.6; }
body.app-rengaw .rw-cond-mensagem { padding: 0.875rem 1rem; border-radius: 12px; background: var(--vz-tertiary-bg); margin-bottom: 0.75rem; }
body.app-rengaw .rw-cond-mensagem.admin { background: rgba(0, 110, 203, 0.07); border: 1px solid rgba(0, 110, 203, 0.2); margin-left: 2rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-mensagem.admin { background: rgba(0, 144, 244, 0.12); border-color: rgba(0, 144, 244, 0.3); }
body.app-rengaw .rw-cond-mensagem > div > p:last-child { margin-bottom: 0; }
body.app-rengaw .rw-cond-opcao { display: flex; align-items: center; gap: 0.625rem; padding: 0.75rem 0.875rem; border: 1px solid var(--vz-border-color); border-radius: 12px; margin-bottom: 0.5rem; cursor: pointer; }
body.app-rengaw .rw-cond-opcao:has(input:checked), body.app-rengaw .rw-cond-opcao:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-cond-opcao .form-check-input { margin: 0; flex-shrink: 0; }
body.app-rengaw .rw-cond-barra { height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin-top: 0.375rem; }
body.app-rengaw .rw-cond-barra > span { display: block; height: 100%; border-radius: 999px; background: #8FB3D9; }
body.app-rengaw .rw-cond-barra.lider > span, body.app-rengaw .rw-cond-barra.receita > span { background: var(--vz-primary); }
body.app-rengaw .rw-cond-barra.despesa > span { background: #F06548; }
body.app-rengaw .rw-cond-mes { min-width: 9rem; text-align: center; font-family: var(--rw-titulo); }
body.app-rengaw .rw-cond-grafico { display: grid; grid-template-columns: repeat(12, 1fr); gap: 0.25rem; height: 9rem; align-items: end; }
body.app-rengaw .rw-cond-coluna { display: flex; flex-direction: column; align-items: center; height: 100%; text-decoration: none; border-radius: 6px; }
body.app-rengaw .rw-cond-coluna.atual { background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-cond-barras { flex: 1; display: flex; align-items: flex-end; gap: 2px; width: 100%; justify-content: center; }
body.app-rengaw .rw-cond-barras > span { width: 40%; max-width: 0.75rem; min-height: 1px; border-radius: 3px 3px 0 0; }
body.app-rengaw .rw-cond-barras .r, body.app-rengaw .rw-cond-legenda.r { background: #0AB39C; }
body.app-rengaw .rw-cond-barras .d, body.app-rengaw .rw-cond-legenda.d { background: #F06548; }
body.app-rengaw .rw-cond-mes-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; color: var(--vz-secondary-color); margin-top: 0.25rem; }
body.app-rengaw .rw-cond-legenda { display: inline-block; width: 0.75rem; height: 0.75rem; border-radius: 3px; margin-right: 0.375rem; vertical-align: -0.1rem; }
body.app-rengaw .rw-cond-icones { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-cond-icone { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border: 1px solid var(--vz-border-color); border-radius: 12px; font-size: 1.375rem; cursor: pointer; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cond-icone input { position: absolute; opacity: 0; }
body.app-rengaw .rw-cond-icone:has(input:checked) { border-color: var(--vz-primary); color: var(--vz-primary); background: rgba(0, 110, 203, 0.06); }
body.app-rengaw .rw-cond-icone:has(input:focus-visible) { outline: 2px solid var(--vz-primary); outline-offset: 2px; }

/*
 * App Gestão de projetos (2026-10-05): saúde, situação e prioridade em selos, barra de progresso na cor do projeto,
 * cartões do portfólio, quadro (colunas, cartões arrastáveis, adicionar rápido), cronograma (Gantt em CSS), grade de
 * horas da semana, comentários e escolha de cor. Claro e escuro.
 */
body.app-rengaw [class*="rw-proj-"].badge { font-family: "IBM Plex Mono", monospace; font-weight: 600; font-size: 0.75rem; border-radius: 999px; padding: 0.25rem 0.625rem; }
body.app-rengaw .rw-proj-saude-no_prazo, body.app-rengaw .rw-proj-saude-concluido, body.app-rengaw .rw-proj-rel-verde, body.app-rengaw .rw-proj-tar-concluida, body.app-rengaw .rw-proj-sit-concluido { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-proj-saude-atencao, body.app-rengaw .rw-proj-rel-amarelo, body.app-rengaw .rw-proj-pri-alta, body.app-rengaw .rw-proj-tar-revisao, body.app-rengaw .rw-proj-sit-pausado { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-proj-saude-atrasado, body.app-rengaw .rw-proj-rel-vermelho, body.app-rengaw .rw-proj-pri-urgente, body.app-rengaw .rw-proj-sit-cancelado { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-proj-tar-fazendo, body.app-rengaw .rw-proj-sit-andamento, body.app-rengaw .rw-proj-pri-media { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-proj-saude-inativo, body.app-rengaw .rw-proj-tar-a_fazer, body.app-rengaw .rw-proj-pri-baixa, body.app-rengaw .rw-proj-sit-planejamento, body.app-rengaw .rw-proj-contagem { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-proj-saude-no_prazo, [data-bs-theme="dark"] body.app-rengaw .rw-proj-saude-concluido, [data-bs-theme="dark"] body.app-rengaw .rw-proj-rel-verde, [data-bs-theme="dark"] body.app-rengaw .rw-proj-tar-concluida, [data-bs-theme="dark"] body.app-rengaw .rw-proj-sit-concluido { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-proj-saude-atencao, [data-bs-theme="dark"] body.app-rengaw .rw-proj-rel-amarelo, [data-bs-theme="dark"] body.app-rengaw .rw-proj-pri-alta, [data-bs-theme="dark"] body.app-rengaw .rw-proj-tar-revisao, [data-bs-theme="dark"] body.app-rengaw .rw-proj-sit-pausado { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-proj-saude-atrasado, [data-bs-theme="dark"] body.app-rengaw .rw-proj-rel-vermelho, [data-bs-theme="dark"] body.app-rengaw .rw-proj-pri-urgente, [data-bs-theme="dark"] body.app-rengaw .rw-proj-sit-cancelado { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-proj-tar-fazendo, [data-bs-theme="dark"] body.app-rengaw .rw-proj-sit-andamento, [data-bs-theme="dark"] body.app-rengaw .rw-proj-pri-media { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
body.app-rengaw .rw-proj-cor { display: inline-block; width: 0.75rem; height: 0.75rem; border-radius: 4px; flex-shrink: 0; }
body.app-rengaw .rw-proj-barra { height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin-top: 0.375rem; }
body.app-rengaw .rw-proj-barra > span { display: block; height: 100%; border-radius: 999px; }
body.app-rengaw .rw-proj-linha { padding: 0.75rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-proj-linha:first-child { border-top: 0; padding-top: 0; }
body.app-rengaw .rw-proj-cartao { transition: border-color 0.15s ease; }
body.app-rengaw .rw-proj-cartao:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-proj-hoje { color: #8A5200; font-weight: 600; }
[data-bs-theme="dark"] body.app-rengaw .rw-proj-hoje { color: #F7C873; }
body.app-rengaw .rw-proj-prioridade { width: 0.625rem; height: 0.625rem; margin-top: 0.375rem; border-radius: 50%; flex-shrink: 0; align-self: flex-start; background: var(--vz-border-color); }
body.app-rengaw .rw-proj-prioridade.media { background: #299CDB; }
body.app-rengaw .rw-proj-prioridade.alta { background: #F7B84B; }
body.app-rengaw .rw-proj-prioridade.urgente { background: #F06548; }
body.app-rengaw .rw-proj-quadro { position: relative; display: grid; grid-template-columns: repeat(4, minmax(15rem, 1fr)); gap: 1rem; overflow-x: auto; padding-bottom: 0.5rem; }
body.app-rengaw .rw-proj-coluna { background: var(--vz-tertiary-bg); border-radius: 16px; padding: 0.875rem; min-height: 12rem; display: flex; flex-direction: column; transition: box-shadow 0.15s ease; }
body.app-rengaw .rw-proj-coluna.sobre { box-shadow: inset 0 0 0 2px var(--vz-primary); }
body.app-rengaw .rw-proj-coluna h2 { font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-proj-cartoes { display: flex; flex-direction: column; gap: 0.5rem; flex: 1; min-height: 3rem; }
body.app-rengaw .rw-proj-tarefa { background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem; }
body.app-rengaw .com-arrastar .rw-proj-tarefa { cursor: grab; }
body.app-rengaw .rw-proj-tarefa.arrastando { opacity: 0.5; }
body.app-rengaw .rw-proj-tarefa a { text-decoration: none; }
body.app-rengaw .rw-proj-tarefa a:hover { text-decoration: underline; }
@media (min-width: 992px) { body.app-rengaw .com-arrastar .rw-proj-mover { display: none; } body.app-rengaw .com-arrastar .rw-proj-tarefa:focus-within .rw-proj-mover { display: block; } }
body.app-rengaw .rw-proj-rapida .form-control { background: transparent; border-style: dashed; }
body.app-rengaw .rw-proj-avatar { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--vz-primary); color: #FFFFFF; font-size: 0.75rem; font-weight: 600; flex-shrink: 0; }
[data-bs-theme="dark"] body.app-rengaw .rw-proj-avatar { color: #061C3D; }
body.app-rengaw .rw-proj-gantt { position: relative; overflow-x: auto; }
body.app-rengaw .rw-proj-gantt-linha { display: grid; grid-template-columns: minmax(10rem, 14rem) minmax(24rem, 1fr); align-items: center; border-top: 1px solid var(--vz-border-color); min-height: 2.5rem; }
body.app-rengaw .rw-proj-gantt-escala { border-top: 0; font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-proj-gantt-nome { padding-right: 0.75rem; font-size: 0.8125rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-proj-gantt-trilho { position: relative; height: 2.5rem; }
body.app-rengaw .rw-proj-gantt-mes { position: absolute; top: 50%; transform: translateY(-50%); padding-left: 0.25rem; border-left: 1px solid var(--vz-border-color); white-space: nowrap; }
body.app-rengaw .rw-proj-gantt-barra { position: absolute; top: 0.75rem; height: 1rem; min-width: 0.375rem; border-radius: 6px; background: var(--c); }
body.app-rengaw .rw-proj-gantt-barra.feita, body.app-rengaw .rw-proj-legenda.feita { background: #0AB39C; }
body.app-rengaw .rw-proj-gantt-barra.atrasada, body.app-rengaw .rw-proj-legenda.atrasada { background: #F06548; }
body.app-rengaw .rw-proj-gantt-marco { position: absolute; top: 50%; width: 0.75rem; height: 0.75rem; transform: translate(-50%, -50%) rotate(45deg); background: #F7B84B; border-radius: 2px; }
body.app-rengaw .rw-proj-gantt-marco.feito { background: #0AB39C; }
body.app-rengaw .rw-proj-gantt-hoje { position: absolute; top: 0; bottom: 0; width: 2px; background: #F06548; opacity: 0.6; }
body.app-rengaw .rw-proj-legenda.hoje { width: 2px; background: #F06548; opacity: 0.6; }
body.app-rengaw .rw-proj-legenda { display: inline-block; position: static; width: 0.75rem; height: 0.75rem; border-radius: 3px; margin-right: 0.375rem; vertical-align: -0.1rem; opacity: 1; }
body.app-rengaw .rw-proj-semana td, body.app-rengaw .rw-proj-semana th { white-space: nowrap; }
body.app-rengaw .rw-proj-hoje-col { color: var(--vz-primary); }
body.app-rengaw .rw-proj-comentario { display: flex; gap: 0.75rem; padding: 0.75rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-proj-comentario:first-child { border-top: 0; padding-top: 0; }
body.app-rengaw .rw-proj-cores { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-proj-cor-opcao { position: relative; width: 2.25rem; height: 2.25rem; border-radius: 10px; background: var(--c); cursor: pointer; border: 3px solid transparent; }
body.app-rengaw .rw-proj-cor-opcao input { position: absolute; opacity: 0; }
body.app-rengaw .rw-proj-cor-opcao:has(input:checked) { border-color: var(--vz-body-color); box-shadow: inset 0 0 0 2px var(--vz-secondary-bg); }
body.app-rengaw .rw-proj-cor-opcao:has(input:focus-visible) { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-proj-saude-opcao { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.875rem; border: 1px solid var(--vz-border-color); border-radius: 999px; cursor: pointer; }
body.app-rengaw .rw-proj-saude-opcao:has(input:checked) { border-color: var(--vz-primary); }
body.app-rengaw .rw-proj-saude-opcao .form-check-input { margin: 0; }
body.app-rengaw .rw-proj-report.vermelho { border-color: #F06548; }
body.app-rengaw .rw-proj-report.amarelo { border-color: #F7B84B; }

/*
 * App Revisão sistemática (2026-10-05): selos de decisão e de voto, realce das palavras de inclusão e exclusão,
 * estudo em modo foco, botões de voto com atalho, números do painel, barra de progresso, fluxograma PRISMA (também na
 * impressão) e estratégia de busca. Claro e escuro.
 */
body.app-rengaw [class*="rw-rs-"].badge { font-family: "IBM Plex Mono", monospace; font-weight: 600; font-size: 0.75rem; border-radius: 999px; padding: 0.25rem 0.625rem; }
body.app-rengaw .rw-rs-incluido, body.app-rengaw .rw-rs-voto-incluir, body.app-rengaw .rw-rs-sit-concluida { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-rs-excluido, body.app-rengaw .rw-rs-voto-excluir { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-rs-conflito.badge, body.app-rengaw .rw-rs-voto-talvez, body.app-rengaw .rw-rs-sit-extracao { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-rs-pendente, body.app-rengaw .rw-rs-sit-protocolo { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-rs-sit-triagem { background: #E5F2FD; color: #005BA8; }
[data-bs-theme="dark"] body.app-rengaw .rw-rs-incluido, [data-bs-theme="dark"] body.app-rengaw .rw-rs-voto-incluir, [data-bs-theme="dark"] body.app-rengaw .rw-rs-sit-concluida { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-rs-excluido, [data-bs-theme="dark"] body.app-rengaw .rw-rs-voto-excluir { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-rs-conflito.badge, [data-bs-theme="dark"] body.app-rengaw .rw-rs-voto-talvez, [data-bs-theme="dark"] body.app-rengaw .rw-rs-sit-extracao { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-rs-sit-triagem { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
body.app-rengaw mark.rw-rs-inc { background: #C9F0E8; color: #04574C; padding: 0 0.125rem; border-radius: 3px; }
body.app-rengaw mark.rw-rs-exc { background: #FAD7CE; color: #8F2410; padding: 0 0.125rem; border-radius: 3px; }
[data-bs-theme="dark"] body.app-rengaw mark.rw-rs-inc { background: rgba(10, 179, 156, 0.3); color: #A8F0E3; }
[data-bs-theme="dark"] body.app-rengaw mark.rw-rs-exc { background: rgba(240, 101, 72, 0.3); color: #FFC2B3; }
body.app-rengaw .rw-rs-titulo { line-height: 1.4; }
body.app-rengaw .rw-rs-resumo { font-size: 0.9375rem; line-height: 1.7; }
body.app-rengaw .rw-rs-btn { display: flex; align-items: center; justify-content: center; gap: 0.25rem; border: 1px solid var(--vz-border-color); background: var(--vz-secondary-bg); color: var(--vz-body-color); font-weight: 600; }
body.app-rengaw .rw-rs-btn kbd { margin-left: auto; font-size: 0.6875rem; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-rs-btn.incluir:hover, body.app-rengaw .rw-rs-btn.incluir.ativo { background: #0AB39C; border-color: #0AB39C; color: #FFFFFF; }
body.app-rengaw .rw-rs-btn.excluir:hover, body.app-rengaw .rw-rs-btn.excluir.ativo { background: #D9482B; border-color: #D9482B; color: #FFFFFF; }
body.app-rengaw .rw-rs-btn.talvez:hover, body.app-rengaw .rw-rs-btn.talvez.ativo { background: #F7B84B; border-color: #F7B84B; color: #061C3D; }
body.app-rengaw .rw-rs-ponto { display: inline-block; width: 0.625rem; height: 0.625rem; border-radius: 50%; margin-right: 0.375rem; flex-shrink: 0; background: var(--vz-border-color); }
body.app-rengaw .rw-rs-ponto.incluido { background: #0AB39C; }
body.app-rengaw .rw-rs-ponto.excluido { background: #F06548; }
body.app-rengaw .rw-rs-ponto.conflito { background: #F7B84B; }
body.app-rengaw .rw-rs-voto-txt.incluir { color: #067A6A; }
body.app-rengaw .rw-rs-voto-txt.excluir { color: #B4321A; }
body.app-rengaw .rw-rs-voto-txt.talvez { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-rs-voto-txt.incluir { color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-rs-voto-txt.excluir { color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-rs-voto-txt.talvez { color: #F7C873; }
body.app-rengaw .rw-rs-barra { height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin-top: 0.375rem; }
body.app-rengaw .rw-rs-barra > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-rs-numero { font-family: var(--rw-titulo); font-size: 1.5rem; font-weight: 600; line-height: 1.2; }
body.app-rengaw .rw-rs-alerta { color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-rs-alerta { color: #FA896B; }
body.app-rengaw .rw-rs-conflito.card { border-color: #F7B84B; }
body.app-rengaw .rw-rs-estrategia { white-space: pre-wrap; font-family: var(--rw-mono); font-size: 0.75rem; background: var(--vz-tertiary-bg); padding: 0.625rem; border-radius: 8px; }
body.app-rengaw .rw-rs-col-estudo { min-width: 16rem; }
body.app-rengaw .rw-rs-prisma { display: grid; grid-template-columns: 7rem minmax(14rem, 22rem) minmax(12rem, 20rem); gap: 1rem 1.5rem; align-items: stretch; justify-content: center; }
body.app-rengaw .rw-rs-fase { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vz-secondary-color); writing-mode: vertical-rl; transform: rotate(180deg); text-align: center; background: var(--vz-tertiary-bg); border-radius: 8px; padding: 0.5rem 0.25rem; justify-self: start; }
body.app-rengaw .rw-rs-fase:empty { background: transparent; }
body.app-rengaw .rw-rs-caixa { position: relative; border: 1.5px solid var(--vz-body-color); border-radius: 10px; padding: 0.75rem 0.875rem; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-rs-caixa.lateral { border-style: dashed; border-color: var(--vz-secondary-color); }
body.app-rengaw .rw-rs-caixa.final { border-color: var(--vz-primary); background: rgba(0, 110, 203, 0.06); }
body.app-rengaw .rw-rs-caixa:not(.lateral):not(.final)::after { content: ""; position: absolute; left: 50%; bottom: -1rem; width: 1.5px; height: 1rem; background: var(--vz-body-color); }
body.app-rengaw .rw-rs-caixa:not(.lateral)::before { content: ""; position: absolute; right: -1.5rem; top: 50%; width: 1.5rem; height: 1.5px; background: var(--vz-secondary-color); }
body.app-rengaw .rw-rs-caixa.final::before { display: none; }
@media (max-width: 767.98px) {
    body.app-rengaw .rw-rs-prisma { grid-template-columns: 1fr; }
    body.app-rengaw .rw-rs-fase { writing-mode: horizontal-tb; transform: none; justify-self: stretch; }
    body.app-rengaw .rw-rs-fase:empty { display: none; }
    body.app-rengaw .rw-rs-caixa::before, body.app-rengaw .rw-rs-caixa::after { display: none; }
}
@media print {
    body.app-rengaw #page-topbar, body.app-rengaw .app-menu, body.app-rengaw .rw-rs-abas, body.app-rengaw .rw-rs-nao-imprimir, body.app-rengaw footer.footer, body.app-rengaw .page-title-box .breadcrumb { display: none !important; }
    body.app-rengaw .main-content, body.app-rengaw .page-content { margin: 0 !important; padding: 0 !important; }
}

/*
 * App Projetos de pesquisa (2026-10-05): selos de situação, barra de execução com a marca do tempo decorrido, barra do
 * Gantt com o andamento, contagem da produção, cartões clicáveis e relatório para imprimir. Reaproveita o Gantt e as
 * linhas do app Gestão de projetos (.rw-proj-gantt*, .rw-proj-linha). Claro e escuro.
 */
body.app-rengaw .rw-pq-situacao, body.app-rengaw [class*="rw-pq-sit-"].badge, body.app-rengaw .rw-pq-ent.badge { font-family: "IBM Plex Mono", monospace; font-weight: 600; font-size: 0.75rem; border-radius: 999px; padding: 0.25rem 0.625rem; }
body.app-rengaw .rw-pq-situacao { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-pq-situacao.andamento, body.app-rengaw .rw-pq-ent.producao { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-pq-situacao.concluido, body.app-rengaw .rw-pq-sit-ok, body.app-rengaw .rw-pq-ent.entregue { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pq-situacao.prestacao, body.app-rengaw .rw-pq-sit-alerta, body.app-rengaw .rw-pq-ent.submetido { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-pq-situacao.nao_aprovado, body.app-rengaw .rw-pq-sit-atraso { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-pq-sit-neutro, body.app-rengaw .rw-pq-ent.planejado { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-pq-situacao.andamento, [data-bs-theme="dark"] body.app-rengaw .rw-pq-ent.producao { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pq-situacao.concluido, [data-bs-theme="dark"] body.app-rengaw .rw-pq-sit-ok, [data-bs-theme="dark"] body.app-rengaw .rw-pq-ent.entregue { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-pq-situacao.prestacao, [data-bs-theme="dark"] body.app-rengaw .rw-pq-sit-alerta, [data-bs-theme="dark"] body.app-rengaw .rw-pq-ent.submetido { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pq-situacao.nao_aprovado, [data-bs-theme="dark"] body.app-rengaw .rw-pq-sit-atraso { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-pq-execucao { position: relative; height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); margin-top: 0.375rem; }
body.app-rengaw .rw-pq-execucao > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-pq-execucao > span.acima, body.app-rengaw .rw-pq-barra.acima { background: #F06548; }
body.app-rengaw .rw-pq-execucao > i { position: absolute; top: -0.25rem; bottom: -0.25rem; width: 2px; margin-left: -1px; background: var(--vz-body-color); border-radius: 2px; }
body.app-rengaw .rw-pq-marca-tempo { display: inline-block; width: 2px; height: 0.875rem; background: var(--vz-body-color); vertical-align: -0.15rem; margin-right: 0.25rem; }
body.app-rengaw .rw-pq-barra { background: var(--vz-primary); }
body.app-rengaw .rw-pq-col-barra { min-width: 9rem; }
body.app-rengaw .rw-pq-gantt { background: linear-gradient(90deg, var(--vz-primary) var(--p), rgba(0, 110, 203, 0.35) var(--p)); }
[data-bs-theme="dark"] body.app-rengaw .rw-pq-gantt { background: linear-gradient(90deg, #0090F4 var(--p), rgba(0, 144, 244, 0.35) var(--p)); }
body.app-rengaw .rw-pq-legenda { background: linear-gradient(90deg, var(--vz-primary) 50%, rgba(0, 110, 203, 0.35) 50%); }
body.app-rengaw .rw-pq-gantt-fim { position: absolute; top: 0; bottom: 0; width: 0; border-left: 2px dashed var(--vz-secondary-color); }
body.app-rengaw .rw-pq-pct { width: 4.5rem; }
body.app-rengaw .rw-pq-pct-txt { min-width: 2.75rem; text-align: right; }
body.app-rengaw .rw-pq-atrasado { border-color: #F06548; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pq-atrasado { color: #FA896B; }
body.app-rengaw .rw-pq-card-atraso { border-color: #F7B84B; }
body.app-rengaw .rw-pq-titulo { line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.app-rengaw .rw-card-link { transition: border-color 0.15s ease; }
body.app-rengaw .rw-card-link:hover, body.app-rengaw .rw-card-link:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-pq-contagem { border: 1px solid var(--vz-border-color); border-radius: 999px; padding: 0.375rem 0.875rem; background: var(--vz-secondary-bg); font-size: 0.875rem; }
body.app-rengaw .rw-pq-contagem strong { font-family: var(--rw-titulo); color: var(--vz-primary); margin-right: 0.25rem; }
body.app-rengaw .rw-pq-secao { font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); border-top: 1px solid var(--vz-border-color); padding-top: 1rem; margin-top: 1.25rem; }
@media print {
    body.app-rengaw #page-topbar, body.app-rengaw .app-menu, body.app-rengaw .rw-pq-nao-imprimir, body.app-rengaw footer.footer, body.app-rengaw .page-title-box { display: none !important; }
    body.app-rengaw .main-content, body.app-rengaw .page-content { margin: 0 !important; padding: 0 !important; }
    body.app-rengaw .rw-pq-relatorio { border: 0; }
}

/*
 * App Orientação (2026-10-05): selos de situação do orientando e das entregas, avatar com a inicial, barra do tempo até
 * a defesa, linha do tempo dos marcos, parecer em destaque e alertas. Reaproveita .rw-proj-linha/.rw-proj-barra e o
 * relatório para imprimir do app Projetos de pesquisa (.rw-pq-relatorio, .rw-pq-secao, .rw-pq-nao-imprimir). Claro e escuro.
 */
body.app-rengaw .rw-ori-sit.badge, body.app-rengaw .rw-ori-ent.badge { font-family: "IBM Plex Mono", monospace; font-weight: 600; font-size: 0.75rem; border-radius: 999px; padding: 0.25rem 0.625rem; }
body.app-rengaw .rw-ori-sit.ativo, body.app-rengaw .rw-ori-sit.concluido, body.app-rengaw .rw-ori-ent.aprovado { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-ori-sit.andamento, body.app-rengaw .rw-ori-ent.revisado { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-ori-sit.trancado, body.app-rengaw .rw-ori-ent.refazer { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-ori-sit.desligado { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-ori-sit.ativo, [data-bs-theme="dark"] body.app-rengaw .rw-ori-sit.concluido, [data-bs-theme="dark"] body.app-rengaw .rw-ori-ent.aprovado { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-ori-sit.andamento, [data-bs-theme="dark"] body.app-rengaw .rw-ori-ent.revisado { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ori-sit.trancado, [data-bs-theme="dark"] body.app-rengaw .rw-ori-ent.refazer { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-ori-sit.desligado { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-ori-avatar { flex-shrink: 0; width: 2.25rem; height: 2.25rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); font-family: var(--rw-titulo); font-weight: 600; }
body.app-rengaw .rw-ori-barra { background: var(--vz-primary); }
body.app-rengaw .rw-ori-alerta { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-ori-alerta { color: #F7C873; }
body.app-rengaw .rw-ori-atrasado { border-color: #F06548; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-ori-atrasado { color: #FA896B; }
body.app-rengaw .rw-ori-card-atraso { border-color: #F7B84B; }
body.app-rengaw .rw-ori-subtitulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ori-parecer { background: var(--vz-tertiary-bg); border-radius: 10px; padding: 0.75rem 0.875rem; }
body.app-rengaw .rw-ori-linha-tempo > li { position: relative; padding-left: 0.25rem; }
body.app-rengaw .rw-ori-linha-tempo > li + li::before { content: ""; position: absolute; left: 0.84rem; top: -0.75rem; height: 1.5rem; width: 2px; background: var(--vz-border-color); }
body.app-rengaw .rw-ori-linha-tempo > li.feito + li::before { background: #0AB39C; }

/*
 * App Plano de aula (2026-10-05): selos de situação, códigos da BNCC traduzidos, grade da semana, sequência didática
 * (faixa de tempo proporcional e momentos numerados) e blocos do planejamento. Impressão reaproveita .rw-pq-relatorio.
 * Claro e escuro.
 */
body.app-rengaw .rw-pa-sit.badge, body.app-rengaw .rw-pa-min.badge { font-family: "IBM Plex Mono", monospace; font-weight: 600; font-size: 0.75rem; border-radius: 999px; padding: 0.25rem 0.625rem; }
body.app-rengaw .rw-pa-sit.rascunho, body.app-rengaw .rw-pa-min { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-pa-sit.pronto { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-pa-sit.aplicado { background: #E6F7F4; color: #067A6A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pa-sit.pronto { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pa-sit.aplicado { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
body.app-rengaw .rw-pa-alerta { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-pa-alerta { color: #F7C873; }
body.app-rengaw .rw-pa-subtitulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pa-bncc { display: inline-flex; align-items: center; border: 1px solid var(--vz-border-color); border-radius: 10px; overflow: hidden; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-pa-bncc-codigo { font-family: var(--rw-mono); font-weight: 600; font-size: 0.8125rem; color: var(--vz-primary); background: var(--vz-primary-bg-subtle); padding: 0.25rem 0.5rem; border-radius: 6px; }
body.app-rengaw .rw-pa-bncc .rw-pa-bncc-codigo { border-radius: 0; }
body.app-rengaw .rw-pa-bncc-texto { font-size: 0.8125rem; padding: 0.25rem 0.625rem; }
body.app-rengaw .rw-pa-semana { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-pa-semana-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
body.app-rengaw .rw-pa-dia { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem; min-height: 9rem; display: flex; flex-direction: column; gap: 0.5rem; }
body.app-rengaw .rw-pa-dia.hoje { border-color: var(--vz-primary); box-shadow: inset 0 0 0 1px var(--vz-primary); }
body.app-rengaw .rw-pa-dia-nome { font-family: var(--rw-mono); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pa-dia-nome strong { color: var(--vz-body-color); }
body.app-rengaw .rw-pa-aula { display: block; text-decoration: none; color: inherit; background: var(--vz-tertiary-bg); border-radius: 8px; padding: 0.5rem 0.625rem; font-size: 0.875rem; }
body.app-rengaw .rw-pa-aula:hover, body.app-rengaw .rw-pa-aula:focus-visible { outline: 1px solid var(--vz-primary); }
body.app-rengaw .rw-pa-aula-rascunho { display: block; margin-top: 0.25rem; font-family: var(--rw-mono); font-size: 0.6875rem; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-pa-aula-rascunho { color: #F7C873; }
body.app-rengaw .rw-pa-vazio { margin-top: auto; font-size: 0.8125rem; color: var(--vz-secondary-color); text-decoration: none; border: 1px dashed var(--vz-border-color); border-radius: 8px; padding: 0.375rem 0.5rem; text-align: center; }
body.app-rengaw .rw-pa-vazio:hover, body.app-rengaw .rw-pa-vazio:focus-visible { color: var(--vz-primary); border-color: var(--vz-primary); }
@media (max-width: 991.98px) {
    body.app-rengaw .rw-pa-semana, body.app-rengaw .rw-pa-semana-7 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.app-rengaw .rw-pa-dia { min-height: 0; }
}
body.app-rengaw .rw-pa-tempo { display: flex; gap: 3px; height: 0.625rem; }
body.app-rengaw .rw-pa-tempo > span { border-radius: 4px; background: var(--vz-primary); opacity: 0.85; min-width: 4px; }
body.app-rengaw .rw-pa-tempo > span:nth-child(even) { opacity: 0.45; }
body.app-rengaw .rw-pa-momento { display: flex; gap: 0.75rem; padding: 0.75rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pa-momento:first-child { border-top: 0; padding-top: 0; }
body.app-rengaw .rw-pa-momento-num { flex-shrink: 0; width: 1.75rem; height: 1.75rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); font-family: var(--rw-titulo); font-weight: 600; font-size: 0.875rem; }
body.app-rengaw .rw-pa-form-momento { border-top: 1px solid var(--vz-border-color); padding-top: 1rem; }
body.app-rengaw .rw-pa-blocos dt { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); font-weight: 500; margin-top: 0.875rem; }
body.app-rengaw .rw-pa-blocos dt:first-child { margin-top: 0; }
body.app-rengaw .rw-pa-blocos dd { margin-bottom: 0; }

/*
 * App Diário de classe (2026-10-05): situação do aluno, número de chamada, botões P/F/J da chamada (grandes, para o
 * celular), campo de nota e tabela do diário. Boletim para imprimir reaproveita .rw-pq-relatorio. Claro e escuro.
 */
body.app-rengaw .rw-dc-sit.badge { font-family: "IBM Plex Mono", monospace; font-weight: 600; font-size: 0.75rem; border-radius: 999px; padding: 0.25rem 0.625rem; }
body.app-rengaw .rw-dc-sit.ok { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-dc-sit.media { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-dc-sit.frequencia { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-dc-sit.sem_dados, body.app-rengaw .rw-dc-sit.transferido { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-dc-sit.ok { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-dc-sit.media { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-dc-sit.frequencia { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-dc-alerta { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-dc-alerta { color: #F7C873; }
body.app-rengaw .rw-dc-numero { flex-shrink: 0; width: 2rem; height: 2rem; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: var(--vz-tertiary-bg); font-family: var(--rw-mono); font-size: 0.8125rem; font-weight: 600; }
body.app-rengaw .rw-dc-chamada { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-dc-chamada:first-child { border-top: 0; padding-top: 0; }
body.app-rengaw .rw-dc-reg { min-width: 2.75rem; min-height: 2.5rem; font-family: var(--rw-mono); font-weight: 600; border: 1px solid var(--vz-border-color); background: var(--vz-secondary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .btn-check:checked + .rw-dc-reg.P { background: #0AB39C; border-color: #0AB39C; color: #FFFFFF; }
body.app-rengaw .btn-check:checked + .rw-dc-reg.F { background: #D9482B; border-color: #D9482B; color: #FFFFFF; }
body.app-rengaw .btn-check:checked + .rw-dc-reg.J { background: #F7B84B; border-color: #F7B84B; color: #061C3D; }
body.app-rengaw .btn-check:focus-visible + .rw-dc-reg { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-dc-nota { width: 6rem; text-align: center; font-family: var(--rw-mono); }
body.app-rengaw .rw-dc-tabela td, body.app-rengaw .rw-dc-tabela th { white-space: nowrap; }

/* =====================================================================================================
 * App Treinamentos (reconstruído em 2026-10-10): capa do curso, progresso, sala de aula, quiz, estrelas e NPS,
 * matriz de conformidade, anel de percentual, QR de check-in, conquistas e trilhas. Reaproveita .rw-acao-linha,
 * .rw-chip-link, .rw-status, .rw-lacuna, .rw-data-quadro, .rw-ficha, .rw-passos e .rw-cartao-espaco.
 * ===================================================================================================== */
body.app-rengaw {
    --rw-trn-azul: #006ECB; --rw-trn-verde: #067A6A; --rw-trn-roxo: #5B4FC4; --rw-trn-laranja: #B4500A;
    --rw-trn-rosa: #B42363; --rw-trn-cinza: #5D6A79;
}
[data-bs-theme="dark"] body.app-rengaw {
    --rw-trn-azul: #4DB2F8; --rw-trn-verde: #5FD9C5; --rw-trn-roxo: #A79FF0; --rw-trn-laranja: #F5A56B;
    --rw-trn-rosa: #F18AB6; --rw-trn-cinza: #B8C4D6;
}
.rw-trn-cor-azul { --rw-trn-cor: var(--rw-trn-azul); }
.rw-trn-cor-verde { --rw-trn-cor: var(--rw-trn-verde); }
.rw-trn-cor-roxo { --rw-trn-cor: var(--rw-trn-roxo); }
.rw-trn-cor-laranja { --rw-trn-cor: var(--rw-trn-laranja); }
.rw-trn-cor-rosa { --rw-trn-cor: var(--rw-trn-rosa); }
.rw-trn-cor-cinza { --rw-trn-cor: var(--rw-trn-cinza); }
.rw-trn-capa {
    flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem;
    border-radius: 10px; color: var(--rw-trn-cor, var(--vz-primary)); font-size: 1.25rem;
    background: color-mix(in srgb, var(--rw-trn-cor, var(--vz-primary)) 12%, transparent);
}
.rw-trn-capa-lg { width: 3.25rem; height: 3.25rem; border-radius: 14px; font-size: 1.625rem; }

/* Progresso */
.rw-trn-progresso { flex: 1 1 auto; display: block; height: 0.5rem; min-width: 4rem; border-radius: 999px; background: var(--vz-border-color); overflow: hidden; }
.rw-trn-progresso > span { display: block; height: 100%; border-radius: inherit; background: var(--vz-primary); }

/* Situações */
.rw-trn-sit-pendente, .rw-trn-curso-rascunho, .rw-trn-turma-inscricoes, .rw-trn-ext-pendente { background: #EEF1F5; color: #3F4B5B; }
.rw-trn-sit-andamento, .rw-trn-turma-andamento, .rw-trn-tipo { background: #E5F1FB; color: #00559E; }
.rw-trn-sit-concluida, .rw-trn-curso-publicado, .rw-trn-turma-concluida, .rw-trn-ext-aprovado { background: #E6F7F4; color: #067A6A; }
.rw-trn-sit-espera, .rw-trn-obrigatorio { background: #FEF4E4; color: #8A5200; }
.rw-trn-sit-reprovada, .rw-trn-sit-atrasada, .rw-trn-ext-recusado { background: #FDECE8; color: #B4321A; }
.rw-trn-sit-cancelada, .rw-trn-curso-arquivado, .rw-trn-turma-cancelada { background: #EEF1F5; color: #4F5D6E; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-sit-pendente, [data-bs-theme="dark"] body.app-rengaw .rw-trn-curso-rascunho,
[data-bs-theme="dark"] body.app-rengaw .rw-trn-turma-inscricoes, [data-bs-theme="dark"] body.app-rengaw .rw-trn-ext-pendente,
[data-bs-theme="dark"] body.app-rengaw .rw-trn-sit-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-trn-curso-arquivado,
[data-bs-theme="dark"] body.app-rengaw .rw-trn-turma-cancelada { background: rgba(255, 255, 255, 0.08); color: #C4CFDE; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-sit-andamento, [data-bs-theme="dark"] body.app-rengaw .rw-trn-turma-andamento,
[data-bs-theme="dark"] body.app-rengaw .rw-trn-tipo { background: rgba(0, 144, 244, 0.18); color: #7CC6FA; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-sit-concluida, [data-bs-theme="dark"] body.app-rengaw .rw-trn-curso-publicado,
[data-bs-theme="dark"] body.app-rengaw .rw-trn-turma-concluida, [data-bs-theme="dark"] body.app-rengaw .rw-trn-ext-aprovado { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-sit-espera, [data-bs-theme="dark"] body.app-rengaw .rw-trn-obrigatorio { background: rgba(247, 184, 75, 0.18); color: #F7CB7C; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-sit-reprovada, [data-bs-theme="dark"] body.app-rengaw .rw-trn-sit-atrasada,
[data-bs-theme="dark"] body.app-rengaw .rw-trn-ext-recusado { background: rgba(240, 101, 72, 0.18); color: #F59A86; }

/* Cartões e listas */
.rw-trn-cartao { width: 100%; }
.rw-trn-meta { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; }
.rw-trn-meta li { display: inline-flex; align-items: center; gap: 0.25rem; }
.rw-trn-secao { font-family: var(--rw-mono); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rw-legenda); margin: 0 0 0.75rem; }
.rw-trn-item { display: flex; align-items: center; gap: 0.875rem; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); color: inherit; }
.rw-trn-item:last-child { border-bottom: 0; }
.rw-trn-item:hover .fw-medium { color: var(--vz-primary); }
.rw-trn-numeros { display: flex; gap: 1.5rem; }
.rw-trn-numeros dt { font-family: var(--rw-mono); font-size: 0.625rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rw-legenda); }
.rw-trn-numeros dd { margin: 0; font-family: "Exo 2", sans-serif; font-size: 1.25rem; font-weight: 600; }
.rw-trn-avatar { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; background: color-mix(in srgb, var(--vz-primary) 14%, transparent); color: var(--vz-primary); font-weight: 600; font-size: 0.875rem; }
.rw-trn-citacao, .rw-trn-resposta { margin: 0.75rem 0 0; padding: 0.5rem 0.75rem; border-radius: 10px; background: #F4F7FB; font-size: 0.875rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-citacao, [data-bs-theme="dark"] body.app-rengaw .rw-trn-resposta { background: rgba(255, 255, 255, 0.05); }
.rw-trn-details > summary { cursor: pointer; list-style: none; }
.rw-trn-details > summary::-webkit-details-marker { display: none; }

/* Aulas */
.rw-trn-aulas li { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
.rw-trn-aulas li:last-child { border-bottom: 0; }
.rw-trn-aulas li > i { color: var(--vz-primary); }
.rw-trn-aula-marca { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; border: 1px solid var(--vz-border-color); color: var(--rw-legenda); }
.rw-trn-aulas li.feita .rw-trn-aula-marca { background: #067A6A; border-color: #067A6A; color: #FFFFFF; }
.rw-trn-aulas li.atual .rw-trn-aula-marca { border-color: var(--vz-primary); color: var(--vz-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--vz-primary) 20%, transparent); }
.rw-trn-aulas li.atual a { font-weight: 600; }
.rw-trn-aulas a { color: inherit; }
.rw-trn-aulas a:hover { color: var(--vz-primary); }
.rw-trn-aulas-compacta li { padding: 0.5rem 0; font-size: 0.875rem; }
.rw-trn-aula-gestao, .rw-trn-questao-gestao { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
.rw-trn-aula-gestao:last-child, .rw-trn-questao-gestao:last-child { border-bottom: 0; }
.rw-trn-questao-gestao { display: block; }
.rw-trn-ordem { flex: none; width: 1.5rem; text-align: center; font-family: var(--rw-mono); font-size: 0.75rem; color: var(--rw-legenda); }
.rw-trn-leitura { font-size: 1rem; line-height: 1.7; max-width: 46rem; }
.rw-trn-video { border-radius: 12px; overflow: hidden; background: #061C3D; }
.rw-trn-faltas { padding-left: 1.125rem; }

/* Quiz */
.rw-trn-questao { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 1rem; margin-bottom: 1rem; }
.rw-trn-questao legend { float: none; font-size: 1rem; font-weight: 500; display: flex; gap: 0.625rem; margin-bottom: 0.75rem; }
.rw-trn-questao.certa { border-color: #0AB39C; }
.rw-trn-questao.errada { border-color: #F06548; }
.rw-trn-questao-num { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 1.625rem; height: 1.625rem; border-radius: 50%; background: color-mix(in srgb, var(--vz-primary) 14%, transparent); color: var(--vz-primary); font-size: 0.8125rem; font-weight: 600; }
.rw-trn-alternativa { padding: 0.5rem 0.75rem 0.5rem 2.25rem; border-radius: 10px; margin-bottom: 0.25rem; }
.rw-trn-alternativa:hover { background: color-mix(in srgb, var(--vz-primary) 6%, transparent); }
.rw-trn-alternativa.correta { background: #E6F7F4; }
.rw-trn-alternativa.marcada-errada { background: #FDECE8; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-alternativa.correta { background: rgba(10, 179, 156, 0.18); }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-alternativa.marcada-errada { background: rgba(240, 101, 72, 0.18); }
.rw-trn-explicacao { margin: 0.5rem 0 0; font-size: 0.875rem; color: var(--rw-legenda); }
.rw-trn-nota { font-family: "Exo 2", sans-serif; font-size: 2rem; font-weight: 700; line-height: 1; }

/* Estrelas, NPS e escalas */
.rw-trn-estrelas { position: relative; display: inline-block; font-size: 1rem; line-height: 1; letter-spacing: 0.1em; vertical-align: middle; }
.rw-trn-estrelas-fundo { color: var(--vz-border-color); }
.rw-trn-estrelas-cheias { position: absolute; inset: 0 auto 0 0; overflow: hidden; white-space: nowrap; color: #F7B84B; }
.rw-trn-estrelas-escolha { display: inline-flex; gap: 0.25rem; }
.rw-trn-estrelas-escolha label { cursor: pointer; font-size: 1.75rem; color: var(--vz-border-color); line-height: 1; }
.rw-trn-estrelas-escolha:has(.btn-check:checked) label { color: #F7B84B; }
.rw-trn-estrelas-escolha .btn-check:checked + label ~ label { color: var(--vz-border-color); }
.rw-trn-estrelas-escolha .btn-check:focus-visible + label { outline: 2px solid var(--vz-primary); outline-offset: 2px; border-radius: 4px; }
.rw-trn-nps, .rw-trn-escala { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.rw-trn-nps .btn { min-width: 2.25rem; }
.rw-trn-escala .btn { min-width: 3rem; }
.rw-trn-escala-legenda { max-width: 16.5rem; }

/* Trilhas */
.rw-trn-trilha-resumo { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
.rw-trn-trilha-resumo:last-child { border-bottom: 0; }
.rw-trn-trilha-passos { display: flex; flex-wrap: wrap; gap: 0.375rem; list-style: none; padding: 0; margin: 0; counter-reset: passo; }
.rw-trn-trilha-passos li { counter-increment: passo; font-size: 0.8125rem; padding: 0.25rem 0.625rem; border-radius: 999px; border: 1px solid var(--vz-border-color); }
.rw-trn-trilha-passos li::before { content: counter(passo) ". "; color: var(--rw-legenda); }
.rw-trn-trilha-passos li.feito { background: #E6F7F4; border-color: #E6F7F4; color: #067A6A; }
.rw-trn-trilha-passos li.bloqueado { color: var(--rw-legenda); border-style: dashed; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-trilha-passos li.feito { background: rgba(10, 179, 156, 0.18); border-color: transparent; color: #5FD9C5; }
.rw-trn-linha-tempo li { position: relative; display: flex; align-items: center; gap: 0.875rem; padding: 0 0 1.25rem; }
.rw-trn-linha-tempo li:not(:last-child)::after { content: ""; position: absolute; left: 1rem; top: 2.25rem; bottom: 0.25rem; width: 2px; background: var(--vz-border-color); }
.rw-trn-linha-marca { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; background: color-mix(in srgb, var(--vz-primary) 14%, transparent); color: var(--vz-primary); }
.rw-trn-linha-tempo li.feito .rw-trn-linha-marca { background: #067A6A; color: #FFFFFF; }
.rw-trn-linha-tempo li.bloqueado { color: var(--rw-legenda); }
.rw-trn-linha-tempo li.bloqueado .rw-trn-linha-marca { background: var(--vz-border-color); color: var(--rw-legenda); }

/* Conquistas e certificado */
.rw-trn-conquistas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.rw-trn-conquistas li { display: flex; align-items: center; gap: 0.5rem; font-size: 0.8125rem; color: var(--rw-legenda); }
.rw-trn-conquista-icone { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; border: 1px dashed var(--vz-border-color); font-size: 1.125rem; }
.rw-trn-conquistas li.feita { color: inherit; font-weight: 500; }
.rw-trn-conquistas li.feita .rw-trn-conquista-icone { border: 0; background: #FEF4E4; color: #B4500A; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-conquistas li.feita .rw-trn-conquista-icone { background: rgba(247, 184, 75, 0.18); color: #F7CB7C; }
.rw-trn-medalha { display: inline-flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: #FEF4E4; color: #B4500A; font-size: 1.75rem; }
.rw-trn-medalha-sm { width: 2.5rem; height: 2.5rem; font-size: 1.25rem; flex: none; }
[data-bs-theme="dark"] .rw-trn-medalha { background: rgba(247, 184, 75, 0.18); color: #F7CB7C; }
.rw-trn-turma-opcao { padding: 0.5rem 0.75rem 0.5rem 2.25rem; border: 1px solid var(--vz-border-color); border-radius: 10px; margin-bottom: 0.5rem; }

/* Apoio dos pedidos */
.rw-trn-apoio { flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 3.25rem; padding: 0.375rem 0; border: 1px solid var(--vz-border-color); border-radius: 12px; background: transparent; color: var(--rw-legenda); }
.rw-trn-apoio:hover:not(:disabled) { border-color: var(--vz-primary); color: var(--vz-primary); }
.rw-trn-apoio.apoiado { border-color: var(--vz-primary); background: color-mix(in srgb, var(--vz-primary) 10%, transparent); color: var(--vz-primary); }
.rw-trn-apoio:disabled { opacity: 0.7; }

/* Painel: anel, colunas e conformidade */
.rw-trn-anel { --pct: 0; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 4.5rem; height: 4.5rem; border-radius: 50%;
    background: radial-gradient(closest-side, var(--vz-secondary-bg) 76%, transparent 78%), conic-gradient(#0AB39C calc(var(--pct) * 1%), var(--vz-border-color) 0); }
.rw-trn-anel strong { font-family: "Exo 2", sans-serif; font-size: 1rem; }
.rw-trn-legenda { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rw-trn-conf { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.25rem 0.625rem; border-radius: 999px; font-size: 0.8125rem; text-decoration: none; }
a.rw-trn-conf.ativo { box-shadow: 0 0 0 2px currentColor; }
.rw-trn-conf-em_dia { background: #E6F7F4; color: #067A6A; }
.rw-trn-conf-vencendo { background: #FEF4E4; color: #8A5200; }
.rw-trn-conf-andamento { background: #E5F1FB; color: #00559E; }
.rw-trn-conf-pendente { background: #EEF1F5; color: #3F4B5B; }
.rw-trn-conf-atrasado, .rw-trn-conf-vencido { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-conf-em_dia { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-conf-vencendo { background: rgba(247, 184, 75, 0.18); color: #F7CB7C; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-conf-andamento { background: rgba(0, 144, 244, 0.18); color: #7CC6FA; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-conf-pendente { background: rgba(255, 255, 255, 0.08); color: #C4CFDE; }
[data-bs-theme="dark"] body.app-rengaw .rw-trn-conf-atrasado, [data-bs-theme="dark"] body.app-rengaw .rw-trn-conf-vencido { background: rgba(240, 101, 72, 0.18); color: #F59A86; }
.rw-trn-colunas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.75rem; align-items: end; height: 11rem; }
.rw-trn-coluna { display: flex; flex-direction: column; align-items: center; gap: 0.375rem; height: 100%; }
.rw-trn-coluna-barra { flex: 1 1 auto; display: flex; align-items: flex-end; width: 100%; max-width: 2.75rem; }
.rw-trn-coluna-barra > span { display: block; width: 100%; min-height: 2px; border-radius: 8px 8px 2px 2px; background: var(--vz-primary); }
.rw-trn-coluna-valor { font-size: 0.75rem; font-weight: 600; }
.rw-trn-coluna-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; color: var(--rw-legenda); }

/* Matriz de conformidade */
.rw-trn-matriz-rolagem { overflow-x: auto; }
.rw-trn-matriz th, .rw-trn-matriz td { white-space: nowrap; vertical-align: middle; }
.rw-trn-matriz tbody th { font-family: inherit; text-transform: none; letter-spacing: normal; font-size: 0.875rem; }
.rw-trn-matriz-coluna span { display: inline-block; max-width: 9rem; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; }
.rw-trn-celula { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 8px; font-size: 1.0625rem; text-decoration: none; }

/* QR de check-in */
.rw-trn-qr { display: inline-block; padding: 1rem; border-radius: 16px; background: #FFFFFF; border: 1px solid #DCE3EC; }
.rw-trn-qr svg { display: block; width: min(320px, 70vw); height: auto; }
.rw-trn-qr.fechado { opacity: 0.25; filter: grayscale(1); }
.rw-trn-placar { font-family: "Exo 2", sans-serif; font-size: 1.25rem; }
@media (max-width: 575.98px) {
    .rw-trn-numeros { gap: 1rem; }
    .rw-trn-colunas { gap: 0.375rem; }
    .rw-trn-conquistas { grid-template-columns: 1fr; }
}

/* ===== Onda 1 da revisão dos apps (2026-10-11) ===== */

/* Frequência: selo do lembrete na tela Equipe (Onda 1) */
body.app-rengaw .rw-freq-lembrete-impar { background: rgba(247,184,75,.18); color: #8A5200; }
body.app-rengaw .rw-freq-lembrete-sem_registro { background: rgba(240,101,72,.14); color: #B23A1E; }
[data-bs-theme="dark"] body.app-rengaw .rw-freq-lembrete-impar { color: #F7B84B; }
[data-bs-theme="dark"] body.app-rengaw .rw-freq-lembrete-sem_registro { color: #F59A86; }
/* Recrutamento: retorno ao candidato (Onda 1) */
body.app-rengaw .rw-rec-retorno-padrao { background: rgba(0,110,203,.12); color: var(--vz-primary); }
body.app-rengaw .rw-rec-retorno-pendente { background: rgba(247,184,75,.18); color: #8A5200; }
body.app-rengaw .rw-rec-retorno-enviado { background: rgba(10,179,156,.14); color: #067A6A; }
[data-bs-theme="dark"] body.app-rengaw .rw-rec-retorno-pendente { color: #F7B84B; }
[data-bs-theme="dark"] body.app-rengaw .rw-rec-retorno-enviado { color: #3DD9C1; }
body.app-rengaw .rw-rec-retorno-previa { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: .75rem 1rem;
    background: var(--vz-light-bg-subtle, var(--vz-tertiary-bg)); max-height: 22rem; overflow-y: auto; }

/* Planejamento estratégico: saúde do plano (Onda 1) */
body.app-rengaw .rw-pe-saude .rw-bem-icone { flex-shrink: 0; }

/* Gestão de projetos: menções em comentários (Onda 1) */
body.app-rengaw .rw-proj-mencao { color: var(--vz-primary); font-weight: 600; background: rgba(var(--vz-primary-rgb), .08); border-radius: 6px; padding: 0 .2rem; }

/* Diário de classe: busca ativa (Onda 1) */
body.app-rengaw .rw-dc-busca-icone { color: var(--vz-danger); background: rgba(var(--vz-danger-rgb), .1); }
body.app-rengaw .rw-dc-busca + .rw-dc-busca { border-top: 1px solid var(--vz-border-color); padding-top: .75rem; }
body.app-rengaw .rw-dc-busca.encerrado { opacity: .7; }

/* Diário de classe: mapa de frequência mensal (Onda 1) */
body.app-rengaw .rw-dc-mapa { font-size: .8125rem; }
body.app-rengaw .rw-dc-mapa th, body.app-rengaw .rw-dc-mapa td { padding: .25rem .2rem; border-left: 1px solid var(--vz-border-color); min-width: 1.6rem; }
body.app-rengaw .rw-dc-mapa .rw-dc-mapa-nome { min-width: 11rem; max-width: 14rem; position: sticky; left: 0; background: var(--vz-card-bg); z-index: 1; }
body.app-rengaw .rw-dc-mapa th.com-aula { color: var(--vz-primary); }
body.app-rengaw .rw-dc-mapa th.fim-de-semana { color: var(--vz-secondary-color); background: var(--vz-light); }
body.app-rengaw .rw-dc-mapa-celula { font-family: "IBM Plex Mono", monospace; }
body.app-rengaw .rw-dc-mapa-celula.falta { color: var(--vz-danger); font-weight: 700; }
body.app-rengaw .rw-dc-mapa-celula.justificada { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-dc-mapa-celula.justificada { color: var(--vz-warning); }
body.app-rengaw .rw-dc-assinaturas { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 2rem 4rem; margin-top: 3.5rem; text-align: center; }
body.app-rengaw .rw-dc-assinatura-linha { display: block; border-top: 1px solid currentColor; margin-bottom: .35rem; }
@media print { body.app-rengaw .rw-dc-mapa { font-size: 9px; } body.app-rengaw .rw-dc-mapa .rw-dc-mapa-nome { position: static; } }

/* Menu digital: alérgenos e filtro de restrições (Onda 1) */
body.app-rengaw .rw-menu-alergeno { background: var(--vz-warning-bg-subtle); color: var(--vz-body-color); }
body.app-rengaw .rw-menu-restricoes { margin-top: .5rem; }
body.app-rengaw .rw-menu-restricoes > summary { cursor: pointer; font-size: .875rem; font-weight: 500; color: var(--vz-primary); list-style: none; }
body.app-rengaw .rw-menu-restricoes > summary::-webkit-details-marker { display: none; }
body.app-rengaw .rw-menu-restricoes fieldset { border: 0; padding: 0; margin: 0; }
body.app-rengaw .rw-menu-restricoes-contador { display: inline-flex; min-width: 1.25rem; height: 1.25rem; align-items: center; justify-content: center; border-radius: 999px; background: var(--vz-primary); color: #fff; font-size: .75rem; margin-left: .25rem; }
body.app-rengaw .rw-menu-restricoes-contador[hidden] { display: none; }

/* ===== Onda 2 da revisão dos apps (2026-10-11) ===== */

/* Gestão de projetos: dependências, carga e cronômetro (Onda 2) */
body.app-rengaw .rw-proj-aguardando { display:inline-flex; align-items:center; gap:.25rem; padding:0 .375rem; border-radius:6px; background:rgba(247,184,75,.18); color:#8A5200; font-size:.75rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-proj-aguardando { color:#F7B84B; background:rgba(247,184,75,.14); }
body.app-rengaw .rw-proj-gantt-dep { position:absolute; top:calc(50% - 1px); height:2px; background:var(--vz-secondary-color); opacity:.7; pointer-events:auto; }
body.app-rengaw .rw-proj-gantt-dep::after { content:""; position:absolute; right:-1px; top:-3px; border:4px solid transparent; border-left:5px solid var(--vz-secondary-color); }
body.app-rengaw .rw-proj-gantt-dep.conflito, body.app-rengaw .rw-proj-legenda.dep.conflito { background:#F06548; opacity:1; }
body.app-rengaw .rw-proj-gantt-dep.conflito::after { border-left-color:#F06548; }
body.app-rengaw .rw-proj-legenda.dep { height:2px; width:1rem; vertical-align:.2rem; background:var(--vz-secondary-color); }
body.app-rengaw .rw-proj-carga th[scope="row"] { min-width:11rem; }
body.app-rengaw .rw-proj-carga-cap .form-control { width:4.5rem; }
body.app-rengaw .rw-proj-carga-celula { display:flex; flex-direction:column; align-items:center; gap:.125rem; min-width:5rem; padding:.375rem; border-radius:10px; }
body.app-rengaw .rw-proj-carga-celula.ok { background:rgba(10,179,156,.10); }
body.app-rengaw .rw-proj-carga-celula.cheio { background:rgba(247,184,75,.18); }
body.app-rengaw .rw-proj-carga-celula.acima { background:rgba(240,101,72,.16); color:#B4341A; font-weight:600; }
[data-bs-theme="dark"] body.app-rengaw .rw-proj-carga-celula.acima { color:#FA9A84; }
body.app-rengaw .rw-proj-carga-barra { display:block; width:100%; height:4px; border-radius:2px; background:var(--vz-border-color); overflow:hidden; }
body.app-rengaw .rw-proj-carga-barra > span { display:block; height:100%; background:#0AB39C; }
body.app-rengaw .cheio .rw-proj-carga-barra > span { background:#F7B84B; }
body.app-rengaw .acima .rw-proj-carga-barra > span { background:#F06548; }
body.app-rengaw .rw-proj-carga-acima th[scope="row"] { color:#B4341A; }
[data-bs-theme="dark"] body.app-rengaw .rw-proj-carga-acima th[scope="row"] { color:#FA9A84; }
body.app-rengaw .rw-proj-legenda.carga.ok { background:#0AB39C; } body.app-rengaw .rw-proj-legenda.carga.cheio { background:#F7B84B; } body.app-rengaw .rw-proj-legenda.carga.acima { background:#F06548; }
body.app-rengaw .rw-proj-crono { border-color:var(--vz-primary); }
body.app-rengaw .rw-proj-crono-pulso { width:.75rem; height:.75rem; border-radius:50%; background:#F06548; animation:rw-pulso 1.4s ease-in-out infinite; flex-shrink:0; }
@keyframes rw-pulso { 0%,100% { opacity:1; } 50% { opacity:.3; } }
@media (prefers-reduced-motion: reduce) { body.app-rengaw .rw-proj-crono-pulso { animation:none; } }
body.app-rengaw .rw-proj-crono-relogio { font-family:"Exo 2",sans-serif; font-size:1.75rem; font-weight:600; font-variant-numeric:tabular-nums; color:var(--vz-heading-color); }
body.app-rengaw .rw-proj-crono-form .form-control { width:16rem; max-width:100%; }

/* Competências: 9Box, feedback e 360° (Onda 2) */
body.app-rengaw .rw-comp-9box-moldura { display:grid; grid-template-columns:auto 1fr; grid-template-rows:1fr auto; gap:.5rem; position:relative; overflow-x:auto; }
body.app-rengaw .rw-comp-9box-eixo-y { writing-mode:vertical-rl; transform:rotate(180deg); align-self:center; }
body.app-rengaw .rw-comp-9box-eixo-x { grid-column:2; text-align:center; }
body.app-rengaw .rw-comp-9box { display:grid; gap:.5rem; min-width:36rem; }
body.app-rengaw .rw-comp-9box-linha { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; }
body.app-rengaw .rw-comp-9box-celula { border:1px solid var(--vz-border-color); border-radius:16px; padding:.75rem; min-height:8rem; background:var(--vz-card-bg); }
body.app-rengaw .rw-comp-9box-numero { display:inline-flex; align-items:center; justify-content:center; width:1.5rem; height:1.5rem; border-radius:6px; font-family:"IBM Plex Mono",monospace; font-size:.75rem; background:var(--vz-light); flex-shrink:0; }
body.app-rengaw .rw-comp-q1 { background:rgba(240,101,72,.08); } body.app-rengaw .rw-comp-q2, body.app-rengaw .rw-comp-q4 { background:rgba(247,184,75,.10); }
body.app-rengaw .rw-comp-q3, body.app-rengaw .rw-comp-q5, body.app-rengaw .rw-comp-q7 { background:rgba(0,110,203,.06); }
body.app-rengaw .rw-comp-q6, body.app-rengaw .rw-comp-q8 { background:rgba(10,179,156,.10); } body.app-rengaw .rw-comp-q9 { background:rgba(10,179,156,.18); }
body.app-rengaw .rw-comp-feedback { display:flex; gap:.75rem; align-items:flex-start; padding:.75rem 0; border-top:1px solid var(--vz-border-color); }
body.app-rengaw .rw-comp-feedback:first-child { border-top:0; }
body.app-rengaw .rw-comp-feedback-icone { display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; border-radius:10px; background:rgba(0,110,203,.10); color:var(--vz-primary); flex-shrink:0; }
body.app-rengaw .rw-comp-feedback-elogio .rw-comp-feedback-icone { background:rgba(10,179,156,.12); color:#087F6F; }
[data-bs-theme="dark"] body.app-rengaw .rw-comp-feedback-elogio .rw-comp-feedback-icone { color:#3ED1BC; }
body.app-rengaw .rw-comp-360-linha { display:flex; align-items:center; gap:.75rem; padding:.375rem 0; }
body.app-rengaw .rw-comp-360-nome { width:40%; min-width:8rem; font-size:.875rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.app-rengaw .rw-comp-360-media { font-family:"Exo 2",sans-serif; width:2.5rem; text-align:right; }

/* Espaços: check-in e ocupação (Onda 2) */
body.app-rengaw .rw-esp-numero { font-family:"Exo 2",sans-serif; font-weight:600; }
body.app-rengaw .rw-esp-comparativo { min-width:9rem; }
body.app-rengaw .rw-esp-barra { display:block; height:6px; border-radius:3px; background:var(--vz-border-color); overflow:hidden; margin:.125rem 0; }
body.app-rengaw .rw-esp-barra > span { display:block; height:100%; background:var(--vz-primary); max-width:100%; }
body.app-rengaw .rw-esp-barra-real > span { background:#0AB39C; }
body.app-rengaw .rw-esp-checkin-linha { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; padding:.75rem 0; border-top:1px solid var(--vz-border-color); }
body.app-rengaw .rw-esp-checkin-linha:first-child { border-top:0; }
body.app-rengaw .rw-esp-livre { color:#087F6F; font-weight:600; } [data-bs-theme="dark"] body.app-rengaw .rw-esp-livre { color:#3ED1BC; }
body.app-rengaw .rw-status-liberada { background:rgba(93,106,121,.14); color:#4F5D6E; } [data-bs-theme="dark"] body.app-rengaw .rw-status-liberada { color:#B5C0CC; }

/* Frequência: banco de horas com validade e conferência do comprovante (Onda 2) */
body.app-rengaw .rw-freq-banco { display:inline-block; padding:.15rem .55rem; border-radius:999px; font-size:.75rem; font-weight:600; }
body.app-rengaw .rw-freq-banco-valido { background:rgba(10,179,156,.14); color:#067A6A; }
body.app-rengaw .rw-freq-banco-vencendo { background:rgba(247,184,75,.18); color:#8A5200; }
body.app-rengaw .rw-freq-banco-vencido { background:rgba(240,101,72,.14); color:#B23A1E; }
body.app-rengaw .rw-freq-banco-compensado { background:var(--vz-light); color:var(--vz-secondary-color); }
body.app-rengaw .rw-freq-conferido { color:#067A6A; font-weight:600; }
body.app-rengaw .rw-freq-quebra { word-break:break-all; }
[data-bs-theme="dark"] body.app-rengaw .rw-freq-banco-valido,
[data-bs-theme="dark"] body.app-rengaw .rw-freq-conferido { color:#3FD9C2; }
[data-bs-theme="dark"] body.app-rengaw .rw-freq-banco-vencendo { color:#F7B84B; }
[data-bs-theme="dark"] body.app-rengaw .rw-freq-banco-vencido { color:#F59A86; }

/* Colaboradores: pré-admissão, dependentes e férias (Onda 2) */
body.app-rengaw .rw-colab-pre-pendente, body.app-rengaw .rw-colab-ferias-pendente { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-colab-pre-preenchida { background: #E1EEFB; color: #003387; }
body.app-rengaw .rw-colab-pre-admitida, body.app-rengaw .rw-colab-ferias-aprovada { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-colab-pre-expirada, body.app-rengaw .rw-colab-ferias-recusada { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-colab-pre-cancelada, body.app-rengaw .rw-colab-ferias-cancelada { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-colab-ir { background: #E1EEFB; color: #006ECB; font-family: var(--rw-mono); letter-spacing: 0.06em; }
body.app-rengaw .rw-colab-pedido { padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-colab-pedido:first-child { padding-top: 0; }
body.app-rengaw .rw-colab-pedido:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-colab-publica-texto { color: #DCE3EC; max-width: 46rem; }
body.app-rengaw .rw-colab-publica-corpo { max-width: 64rem; }
body.app-rengaw .rw-colab-publica-corpo > form > .card:first-of-type, body.app-rengaw .rw-colab-publica-corpo > .card:first-of-type { margin-top: 0; }
body.app-rengaw .rw-colab-linha-formset + .rw-colab-linha-formset { border-top: 1px dashed var(--vz-border-color); padding-top: 0.5rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-colab-pre-pendente, [data-bs-theme="dark"] body.app-rengaw .rw-colab-ferias-pendente { background: rgba(247, 184, 75, 0.18); color: #F7CB7C; }
[data-bs-theme="dark"] body.app-rengaw .rw-colab-pre-preenchida, [data-bs-theme="dark"] body.app-rengaw .rw-colab-ir { background: rgba(0, 144, 244, 0.18); color: #7CC4FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-colab-pre-admitida, [data-bs-theme="dark"] body.app-rengaw .rw-colab-ferias-aprovada { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-colab-pre-expirada, [data-bs-theme="dark"] body.app-rengaw .rw-colab-ferias-recusada { background: rgba(240, 101, 72, 0.18); color: #F59A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-colab-pre-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-colab-ferias-cancelada { background: rgba(255, 255, 255, 0.08); color: #B8C4D6; }

/* Menu digital: complementos e conta da mesa (Onda 2) */
body.app-rengaw .rw-menu-opcoes { border: 1px solid var(--vz-border-color); border-radius: 10px; padding: .5rem .75rem; margin: .5rem 0; }
body.app-rengaw .rw-menu-opcoes legend { float: none; width: auto; font-size: .875rem; font-weight: 600; margin: 0 0 .25rem; padding: 0; }
body.app-rengaw .rw-menu-opcoes-regra { font-family: "IBM Plex Mono", monospace; font-size: .6875rem; text-transform: uppercase; letter-spacing: .04em; color: var(--vz-secondary-color); font-weight: 500; margin-left: .25rem; }
body.app-rengaw .rw-menu-opcoes .form-check { margin-bottom: .125rem; }
body.app-rengaw .rw-menu-opcao-escolhida { color: var(--vz-secondary-color); padding-left: 1.5rem; }
body.app-rengaw .rw-menu-grupo { border-top: 1px solid var(--vz-border-color); padding-top: 1rem; margin-top: 1rem; }
body.app-rengaw .rw-menu-grupo-novo { background: var(--vz-light); border-radius: 12px; padding: .75rem; }
body.app-rengaw .rw-menu-opcoes-lista { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-menu-opcoes-lista > li { padding: .375rem 0; border-bottom: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-menu-conta-linhas { list-style: none; padding: 0; margin: 0 0 .75rem; }
body.app-rengaw .rw-menu-conta-linhas > li { display: flex; justify-content: space-between; gap: .75rem; padding: .375rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-menu-divisao { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: .75rem; margin-top: 1rem; }
body.app-rengaw .rw-menu-divisao-grade th, body.app-rengaw .rw-menu-divisao-grade td { white-space: nowrap; }
body.app-rengaw .rw-menu-divisao-resultado { margin-top: .75rem; }
body.app-rengaw .rw-menu-divisao-pessoas { list-style: none; padding: 0; margin: 0 0 .5rem; display: grid; gap: .5rem; }
body.app-rengaw .rw-menu-divisao-pessoas > li { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: .5rem .75rem; background: var(--vz-card-bg); }
[data-bs-theme="dark"] body.app-rengaw .rw-menu-grupo-novo { background: rgba(255,255,255,.04); }

/* Estacionamento: convênios (Onda 2) */
body.app-rengaw .rw-est-convenio { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .75rem; padding: .75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-est-convenio:last-child { border-bottom: 0; }
body.app-rengaw .rw-est-convenio-link { max-width: 34rem; }
body.app-rengaw .rw-est-convenio-linha { color: #067A6A; font-weight: 500; }
body.app-rengaw .rw-est-camera { width: 100%; max-height: 16rem; border-radius: 12px; background: #061C3D; margin-bottom: .5rem; object-fit: cover; }
[data-bs-theme="dark"] body.app-rengaw .rw-est-convenio-linha { color: #3fd6b8; }

/* Conferência visual das Ondas 1 e 2 (2026-10-12): ajustes achados no Chrome headless */
:root:not([data-bs-theme="dark"]) body.app-rengaw .alert-warning .alert-link { color: #5C3700; }
/* Competências: 9Box cabe na tela do celular (sem a orientação de cada quadrante) */
@media (max-width: 575.98px) {
    body.app-rengaw .rw-comp-9box { min-width: 0; }
    body.app-rengaw .rw-comp-9box-linha, body.app-rengaw .rw-comp-9box { gap: .35rem; }
    body.app-rengaw .rw-comp-9box-celula { padding: .5rem; min-height: 6.5rem; min-width: 0; font-size: .8125rem; }
    body.app-rengaw .rw-comp-9box-acao, body.app-rengaw .rw-comp-9box-coord, body.app-rengaw .rw-comp-9box-numero { display: none; }
    body.app-rengaw .rw-comp-9box-celula strong { font-size: .78rem; hyphens: auto; }
    body.app-rengaw .rw-comp-9box-celula .badge { display: none; }
}
/* Estacionamento: campos de data dos filtros (histórico e relatório de convênios) com largura de data */
body.app-rengaw .rw-campo-data { width: 9.5rem; flex: 0 0 auto; }

/* ===== Onda 3 da revisão dos apps (2026-10-12) ===== */

/* Condomínios: assembleia virtual (Onda 3) */
body.app-rengaw .rw-cond-encerrada { background: #EEEAFB; color: #5B3FB8; }
body.app-rengaw .rw-cond-res-aprovado { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-cond-res-reprovado { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-cond-res-sem_quorum { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-encerrada { background: rgba(140, 110, 230, 0.2); color: #B9A6F5; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-res-aprovado { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-res-reprovado { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-res-sem_quorum { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
body.app-rengaw .rw-cond-subtitulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.75rem; }
body.app-rengaw .rw-cond-link { font-family: var(--rw-mono); font-size: 0.8125rem; word-break: break-all; }
body.app-rengaw .rw-cond-edital { white-space: pre-wrap; font-size: 0.875rem; line-height: 1.6; padding: 1rem; border-radius: 12px; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-cond-procuracao { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cond-procuracao:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-cond-procuracao:first-child { padding-top: 0; }
body.app-rengaw .rw-cond-procuracao.invalida { opacity: 0.7; }
body.app-rengaw .rw-cond-motivo { flex: 1 1 12rem; }
body.app-rengaw .rw-cond-fracao.ok { color: #067A6A; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-fracao.ok { color: #5FD9C5; }

/* Frequência: horas extras, adicional noturno e alertas da CLT (Onda 3) */
body.app-rengaw .rw-freq-adicionais { padding-top:1rem; border-top:1px solid var(--vz-border-color); }
body.app-rengaw .rw-freq-pct { display:inline-block; padding:0 .4rem; border-radius:999px; font-size:.7rem; font-weight:600; background:rgba(0,110,203,.10); color:#006ECB; vertical-align:middle; }
body.app-rengaw .rw-freq-alerta { display:inline-flex; align-items:center; gap:.25rem; margin:.1rem .25rem .1rem 0; padding:.15rem .55rem; border-radius:999px; font-size:.75rem; font-weight:600; background:rgba(240,101,72,.12); color:#B23A1E; white-space:nowrap; }
body.app-rengaw .rw-freq-alerta-total { color:#B23A1E; }
body.app-rengaw .rw-freq-mais1 { margin-left:.15rem; font-size:.65rem; font-weight:600; color:var(--vz-secondary-color); }
body.app-rengaw .rw-freq-relatorio td { vertical-align:middle; }
[data-bs-theme="dark"] body.app-rengaw .rw-freq-pct { background:rgba(0,144,244,.18); color:#7CC4FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-freq-alerta { background:rgba(240,101,72,.18); color:#F59A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-freq-alerta-total { color:#F59A86; }
/* Frequência: horas no relógio abaixo das noturnas reduzidas, em texto de apoio */
body.app-rengaw .rw-freq-relogio { font-family: "IBM Plex Sans", sans-serif; font-size: .75rem; font-weight: 400; line-height: 1.3; }

/* Upload de arquivos nos apps (Onda 3) */
body.app-rengaw .rw-rec-arquivo { display:flex; align-items:center; gap:.5rem; padding:.5rem .75rem; border:1px solid var(--vz-border-color); border-radius:10px; background:var(--vz-light-bg-subtle, var(--vz-tertiary-bg)); }
body.app-rengaw .rw-rec-arquivo i { color:var(--vz-primary); font-size:1.1rem; }
body.app-rengaw .rw-colab-arquivo { display:inline-flex; align-items:center; gap:.25rem; margin-top:.15rem; }
body.app-rengaw .rw-colab-anexar { position:relative; }
body.app-rengaw .rw-colab-anexar > summary { list-style:none; cursor:pointer; }
body.app-rengaw .rw-colab-anexar > summary::-webkit-details-marker { display:none; }
body.app-rengaw .rw-colab-anexar-corpo { position:absolute; right:0; top:calc(100% + .25rem); z-index:5; width:16rem; padding:.75rem; background:var(--vz-secondary-bg, var(--vz-body-bg)); border:1px solid var(--vz-border-color); border-radius:12px; box-shadow:0 .5rem 1.5rem rgba(6,28,61,.12); }
[data-bs-theme="dark"] body.app-rengaw .rw-colab-anexar-corpo { box-shadow:0 .5rem 1.5rem rgba(0,0,0,.45); }
body.app-rengaw .rw-acv-marc-pulados, body.app-rengaw .rw-acv-marc-aviso { color:#8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-marc-pulados,
[data-bs-theme="dark"] body.app-rengaw .rw-acv-marc-aviso { color:#F7B84B; }
body.app-rengaw .rw-cond-res-sem_decisao { background: #EEF1F5; color: #4F5D6E; }
[data-bs-theme="dark"] body.app-rengaw .rw-cond-res-sem_decisao { background: rgba(93, 106, 121, 0.22); color: #B9C3CF; }

/* ======================================================================================================== */
/* Ajuda nos apps (2026-10-12, apps_compartilhados/ajuda): painel lateral, tour guiado, pontos de ajuda,      */
/* convite da primeira visita e central de ajuda. Claro e escuro; 500px.                                    */
/* ======================================================================================================== */
body.app-rengaw {
    --rw-ajuda-veu: rgba(6, 28, 61, 0.62);
    --rw-ajuda-destaque: #0090F4;
    --rw-ajuda-sombra: 0 1.25rem 3rem rgba(6, 28, 61, 0.28);
}
[data-bs-theme="dark"] body.app-rengaw {
    --rw-ajuda-veu: rgba(0, 0, 0, 0.66);
    --rw-ajuda-sombra: 0 1.25rem 3rem rgba(0, 0, 0, 0.55);
}
body.app-rengaw .rw-ajuda-oculto { display: none !important; }
body.app-rengaw kbd { font-family: var(--rw-mono); font-size: 0.75em; padding: 0.1rem 0.4rem; border-radius: 6px;
    background: var(--vz-tertiary-bg); color: var(--vz-body-color); border: 1px solid var(--vz-border-color); }

/* Painel lateral */
body.app-rengaw .rw-ajuda-painel { --vz-offcanvas-width: 460px; width: min(460px, 100vw); background: var(--vz-secondary-bg);
    border-left: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ajuda-painel-cabecalho { gap: 0.875rem; align-items: center; background: var(--rw-noite); color: #F4F7FB;
    padding: 1.1rem 1.25rem; }
body.app-rengaw .rw-ajuda-painel-cabecalho h2 { color: #FFFFFF; font-family: var(--rw-titulo); }
body.app-rengaw .rw-ajuda-painel-icone { flex: 0 0 2.75rem; height: 2.75rem; border-radius: 12px; display: inline-flex;
    align-items: center; justify-content: center; font-size: 1.35rem; background: rgba(0, 144, 244, 0.18); color: #5DB8FF; }
body.app-rengaw .rw-ajuda-sobretitulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em;
    text-transform: uppercase; color: #B8C4D6; }
body.app-rengaw .rw-ajuda-painel-corpo { padding: 1.25rem; }
body.app-rengaw .rw-ajuda-painel-rodape { padding: 1rem 1.25rem; border-top: 1px solid var(--vz-border-color);
    display: flex; flex-direction: column; gap: 0.6rem; }
body.app-rengaw .rw-ajuda-atalho { font-size: 0.8125rem; color: var(--vz-secondary-color); text-align: center; }
body.app-rengaw .rw-ajuda-busca { position: relative; margin-bottom: 1rem; }
body.app-rengaw .rw-ajuda-busca > i { position: absolute; left: 0.85rem; top: 50%; transform: translateY(-50%);
    color: var(--vz-secondary-color); pointer-events: none; z-index: 1; }
body.app-rengaw .rw-ajuda-busca .form-control { padding-left: 2.4rem; border-radius: 999px; }
body.app-rengaw .rw-ajuda-resumo { font-size: 1rem; line-height: 1.55; }
body.app-rengaw .rw-ajuda-acoes { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.5rem; }

/* Resultados da busca */
body.app-rengaw .rw-ajuda-resultados-info { font-size: 0.8125rem; color: var(--vz-secondary-color); margin-bottom: 0.5rem; }
body.app-rengaw .rw-ajuda-resultados-lista { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
body.app-rengaw .rw-ajuda-resultados-lista a { display: flex; flex-direction: column; gap: 0.2rem; padding: 0.75rem 0.9rem;
    border: 1px solid var(--vz-border-color); border-radius: 12px; color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-ajuda-resultados-lista a:hover,
body.app-rengaw .rw-ajuda-resultados-lista a:focus-visible { background: var(--vz-primary-bg-subtle); border-color: var(--vz-primary-border-subtle); }
body.app-rengaw .rw-ajuda-resultado-tipo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.06em;
    text-transform: uppercase; color: var(--vz-primary); }
body.app-rengaw .rw-ajuda-resultado-titulo { font-weight: 600; font-family: var(--rw-titulo); }
body.app-rengaw .rw-ajuda-resultado-trecho { font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ajuda-resultados mark { padding: 0 0.1rem; border-radius: 3px; background: rgba(0, 144, 244, 0.2); color: inherit; }

/* Conteúdo (painel e central) */
body.app-rengaw .rw-ajuda-secao { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ajuda-secao-titulo { display: flex; align-items: center; gap: 0.5rem; font-family: var(--rw-titulo);
    font-weight: 600; font-size: 1rem; margin-bottom: 0.65rem; color: var(--vz-heading-color); }
body.app-rengaw .rw-ajuda-secao-titulo i { color: var(--vz-primary); font-size: 1.1rem; }
body.app-rengaw .rw-ajuda-secao p, body.app-rengaw .rw-ajuda-guia p, body.app-rengaw .rw-ajuda-visao p { line-height: 1.6; }
body.app-rengaw ol.rw-ajuda-passos { list-style: none; counter-reset: rw-passo; padding: 0; margin: 0 0 0.75rem; }
body.app-rengaw ol.rw-ajuda-passos > li { counter-increment: rw-passo; position: relative; padding: 0 0 0.75rem 2.4rem; line-height: 1.55; }
body.app-rengaw ol.rw-ajuda-passos > li::before { content: counter(rw-passo); position: absolute; left: 0; top: -0.05rem;
    width: 1.65rem; height: 1.65rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--rw-mono); font-size: 0.75rem; font-weight: 600; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
body.app-rengaw ol.rw-ajuda-passos > li:not(:last-child)::after { content: ""; position: absolute; left: 0.8rem; top: 1.75rem;
    bottom: 0.15rem; width: 1px; background: var(--vz-border-color); }
body.app-rengaw dl.rw-ajuda-campos { margin: 0; display: grid; gap: 0.6rem; }
body.app-rengaw dl.rw-ajuda-campos > div { padding: 0.65rem 0.8rem; border-radius: 12px; background: var(--vz-tertiary-bg); }
body.app-rengaw dl.rw-ajuda-campos dt { font-weight: 600; margin-bottom: 0.15rem; display: flex; align-items: center; gap: 0.4rem; }
body.app-rengaw dl.rw-ajuda-campos dt i { color: var(--vz-primary); }
body.app-rengaw dl.rw-ajuda-campos dd { margin: 0; font-size: 0.875rem; line-height: 1.55; color: var(--vz-secondary-color); }
body.app-rengaw ul.rw-ajuda-dicas { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
body.app-rengaw ul.rw-ajuda-dicas > li { position: relative; padding-left: 1.6rem; line-height: 1.55; }
body.app-rengaw ul.rw-ajuda-dicas > li::before { content: "\eea9"; font-family: remixicon; position: absolute; left: 0; top: 0;
    color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw ul.rw-ajuda-dicas > li::before { color: #F7B84B; }
body.app-rengaw .rw-ajuda-nota { display: flex; gap: 0.65rem; padding: 0.75rem 0.9rem; border-radius: 12px; margin: 0.75rem 0;
    background: var(--vz-primary-bg-subtle); color: var(--vz-body-color); font-size: 0.9rem; line-height: 1.55; }
body.app-rengaw .rw-ajuda-nota > i { color: var(--vz-primary); font-size: 1.1rem; line-height: 1.4; }
body.app-rengaw .rw-ajuda-nota-atencao { background: rgba(247, 184, 75, 0.16); }
body.app-rengaw .rw-ajuda-nota-atencao > i { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-ajuda-nota-atencao > i { color: #F7B84B; }
body.app-rengaw .rw-ajuda-gestor { margin: 0.75rem 0; padding: 0.75rem 0.9rem; border: 1px dashed var(--vz-border-color);
    border-radius: 12px; }
body.app-rengaw .rw-ajuda-gestor > :last-child { margin-bottom: 0; }
body.app-rengaw .rw-ajuda-selo-gestor { display: inline-block; font-family: var(--rw-mono); font-size: 0.625rem; font-weight: 600;
    letter-spacing: 0.06em; text-transform: uppercase; padding: 0.1rem 0.45rem; border-radius: 999px; vertical-align: middle;
    background: rgba(247, 184, 75, 0.2); color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-ajuda-selo-gestor { color: #F7B84B; }
body.app-rengaw .rw-ajuda-gestor > .rw-ajuda-selo-gestor { margin-bottom: 0.4rem; }
body.app-rengaw .rw-ajuda-exemplo { font-size: 0.875rem; padding: 0.6rem 0.8rem; border-radius: 10px; margin: 0.5rem 0;
    background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-ajuda-faq details { border: 1px solid var(--vz-border-color); border-radius: 12px; margin-bottom: 0.5rem; }
body.app-rengaw .rw-ajuda-faq summary { cursor: pointer; padding: 0.7rem 2.4rem 0.7rem 0.9rem; font-weight: 600; list-style: none;
    position: relative; border-radius: 12px; }
body.app-rengaw .rw-ajuda-faq summary::-webkit-details-marker { display: none; }
body.app-rengaw .rw-ajuda-faq summary::after { content: "\ea4e"; font-family: remixicon; position: absolute; right: 0.9rem;
    top: 50%; transform: translateY(-50%); color: var(--vz-secondary-color); transition: transform 0.2s; }
body.app-rengaw .rw-ajuda-faq details[open] > summary::after { transform: translateY(-50%) rotate(180deg); }
body.app-rengaw .rw-ajuda-faq summary:hover { background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-ajuda-faq details > p { padding: 0 0.9rem 0.8rem; margin: 0; line-height: 1.6; color: var(--vz-secondary-color); }

/* "Isto ajudou?" */
body.app-rengaw .rw-ajuda-avaliacao { margin-top: 1.25rem; padding: 0.9rem 1rem; border-radius: 12px; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-ajuda-avaliacao-pergunta { font-weight: 600; margin-bottom: 0.5rem; }
body.app-rengaw .rw-ajuda-avaliacao-botoes { display: flex; gap: 0.5rem; }
body.app-rengaw .rw-ajuda-avaliacao [aria-pressed="true"] { box-shadow: 0 0 0 2px var(--vz-primary); }
body.app-rengaw .rw-ajuda-avaliacao-comentario { margin-top: 0.75rem; }
body.app-rengaw .rw-ajuda-avaliacao-obrigado { margin: 0.5rem 0 0; font-size: 0.875rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ajuda-avaliacao-obrigado:empty { display: none; }

/* Tour guiado */
body.app-rengaw .rw-ajuda-bloqueio { position: fixed; inset: 0; z-index: 1090; background: transparent; }
body.app-rengaw .rw-ajuda-bloqueio-escuro { background: var(--rw-ajuda-veu); }
body.app-rengaw .rw-ajuda-recorte { position: fixed; z-index: 1091; pointer-events: none; border-radius: 12px;
    box-shadow: 0 0 0 200vmax var(--rw-ajuda-veu); outline: 2px solid var(--rw-ajuda-destaque); outline-offset: 0;
    transition: left 0.25s ease, top 0.25s ease, width 0.25s ease, height 0.25s ease; }
body.app-rengaw .rw-ajuda-balao { position: fixed; z-index: 1092; width: min(360px, calc(100vw - 24px)); padding: 1rem 1.1rem;
    background: var(--vz-secondary-bg); color: var(--vz-body-color); border: 1px solid var(--vz-border-color);
    border-radius: 16px; box-shadow: var(--rw-ajuda-sombra); opacity: 0; transform: translateY(4px);
    transition: opacity 0.2s ease, transform 0.2s ease; }
body.app-rengaw .rw-ajuda-balao:focus { outline: none; }
body.app-rengaw .rw-ajuda-balao.rw-ajuda-balao-entra { opacity: 1; transform: none; }
body.app-rengaw .rw-ajuda-balao-centro { left: 50% !important; top: 50% !important; transform: translate(-50%, -48%);
    width: min(420px, calc(100vw - 24px)); }
body.app-rengaw .rw-ajuda-balao-centro.rw-ajuda-balao-entra { transform: translate(-50%, -50%); }
body.app-rengaw .rw-ajuda-balao-barra { left: 8px !important; right: 8px; top: auto !important; bottom: 8px; width: auto; }
body.app-rengaw .rw-ajuda-balao-barra.rw-ajuda-balao-centro,
body.app-rengaw .rw-ajuda-balao-barra.rw-ajuda-balao-centro.rw-ajuda-balao-entra { left: 8px !important; top: auto !important; transform: none; width: auto; }
body.app-rengaw .rw-ajuda-seta { position: absolute; width: 14px; height: 14px; background: var(--vz-secondary-bg);
    border: 1px solid var(--vz-border-color); transform: translateX(-50%) rotate(45deg); }
body.app-rengaw .rw-ajuda-seta-cima .rw-ajuda-seta { top: -8px; border-right: 0; border-bottom: 0; }
body.app-rengaw .rw-ajuda-seta-baixo .rw-ajuda-seta { bottom: -8px; border-left: 0; border-top: 0; }
body.app-rengaw .rw-ajuda-balao-topo { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.4rem; }
body.app-rengaw .rw-ajuda-balao-contador { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--vz-primary); }
body.app-rengaw .rw-ajuda-balao-pular { border: 0; background: none; padding: 0.15rem 0.25rem; font-size: 0.8125rem;
    color: var(--vz-secondary-color); text-decoration: underline; }
body.app-rengaw .rw-ajuda-balao-titulo { font-family: var(--rw-titulo); font-weight: 600; font-size: 1.05rem; margin-bottom: 0.35rem; }
body.app-rengaw .rw-ajuda-balao-texto { font-size: 0.9rem; line-height: 1.55; margin-bottom: 0.75rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ajuda-balao-progresso { height: 4px; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin-bottom: 0.75rem; }
body.app-rengaw .rw-ajuda-balao-progresso > span { display: block; height: 100%; background: var(--vz-primary); transition: width 0.25s ease; }
body.app-rengaw .rw-ajuda-balao-acoes { display: flex; justify-content: flex-end; gap: 0.5rem; }
body.rw-ajuda-tour-ativo .tooltip { display: none; }

/* Pontos de ajuda */
body.app-rengaw .rw-ajuda-ponto { position: fixed; z-index: 1080; width: 24px; height: 24px; padding: 0; border-radius: 50%;
    border: 2px solid #FFFFFF; background: var(--rw-ajuda-destaque); color: var(--rw-noite); display: inline-flex;
    align-items: center; justify-content: center; box-shadow: 0 0 0 0 rgba(0, 144, 244, 0.55); animation: rw-ajuda-pulso 1.8s infinite; }
body.app-rengaw .rw-ajuda-ponto:focus-visible { outline: 3px solid var(--rw-noite); outline-offset: 2px; }
[data-bs-theme="dark"] body.app-rengaw .rw-ajuda-ponto { border-color: var(--rw-noite); }
[data-bs-theme="dark"] body.app-rengaw .rw-ajuda-ponto:focus-visible { outline-color: #FFFFFF; }
body.app-rengaw .rw-ajuda-ponto[aria-expanded="true"] { animation: none; background: var(--rw-noite); color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ajuda-ponto[aria-expanded="true"] { background: #FFFFFF; color: var(--rw-noite); }
body.app-rengaw .rw-ajuda-ponto-fora { display: none; }
body.app-rengaw .rw-ajuda-ponto-numero { font-family: var(--rw-mono); font-size: 0.6875rem; font-weight: 700; }
@keyframes rw-ajuda-pulso {
    0% { box-shadow: 0 0 0 0 rgba(0, 144, 244, 0.55); }
    70% { box-shadow: 0 0 0 10px rgba(0, 144, 244, 0); }
    100% { box-shadow: 0 0 0 0 rgba(0, 144, 244, 0); }
}
body.rw-ajuda-pontos-ativo .rw-ajuda-alvo { outline: 2px dashed var(--rw-ajuda-destaque); outline-offset: 4px; border-radius: 6px; }
body.app-rengaw .rw-ajuda-dica { position: fixed; z-index: 1085; width: min(300px, calc(100vw - 24px)); padding: 0.85rem 2.2rem 0.85rem 0.95rem;
    background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 14px; box-shadow: var(--rw-ajuda-sombra); }
body.app-rengaw .rw-ajuda-dica .btn-close { position: absolute; top: 0.6rem; right: 0.6rem; }
body.app-rengaw .rw-ajuda-dica-titulo { font-family: var(--rw-titulo); font-weight: 600; margin-bottom: 0.25rem; }
body.app-rengaw .rw-ajuda-dica-texto { font-size: 0.875rem; line-height: 1.5; margin: 0; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ajuda-pontos-faixa { position: fixed; z-index: 1086; left: 50%; bottom: 1rem; transform: translateX(-50%);
    display: flex; align-items: center; gap: 0.75rem; padding: 0.55rem 0.6rem 0.55rem 1.1rem; border-radius: 999px;
    background: var(--rw-noite); color: #F4F7FB; font-size: 0.875rem; box-shadow: var(--rw-ajuda-sombra); width: max-content;
    max-width: calc(100vw - 16px); }
[data-bs-theme="dark"] body.app-rengaw .rw-ajuda-pontos-faixa { border: 1px solid var(--rw-borda-noite); }

/* Convite da primeira visita */
body.app-rengaw .rw-ajuda-convite { position: fixed; z-index: 1070; right: 1.25rem; bottom: 1.25rem; width: min(360px, calc(100vw - 16px));
    display: flex; gap: 0.85rem; padding: 1rem; background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color);
    border-radius: 16px; box-shadow: var(--rw-ajuda-sombra); opacity: 0; transform: translateY(8px); transition: opacity 0.3s, transform 0.3s; }
body.app-rengaw .rw-ajuda-convite.rw-ajuda-convite-entra { opacity: 1; transform: none; }
body.app-rengaw .rw-ajuda-convite-icone { flex: 0 0 2.5rem; height: 2.5rem; border-radius: 12px; display: inline-flex; align-items: center;
    justify-content: center; font-size: 1.2rem; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
body.app-rengaw .rw-ajuda-convite-titulo { font-family: var(--rw-titulo); font-weight: 600; }
body.app-rengaw .rw-ajuda-convite-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; }

/* Central de ajuda */
body.app-rengaw .rw-ajuda-hero-icone { flex: 0 0 3.5rem; height: 3.5rem; border-radius: 16px; display: inline-flex; align-items: center;
    justify-content: center; font-size: 1.75rem; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
body.app-rengaw .rw-ajuda-busca-central { margin-bottom: 0; }
body.app-rengaw .rw-ajuda-busca-central .form-control { border-radius: 12px; }
body.app-rengaw .rw-ajuda-central-contagem { color: var(--vz-secondary-color); }
body.app-rengaw .rw-ajuda-central-contagem:empty { display: none; }
body.app-rengaw .rw-ajuda-toc { position: sticky; top: 9.5rem; padding: 1rem; border: 1px solid var(--vz-border-color);
    border-radius: 16px; background: var(--vz-secondary-bg); max-height: calc(100vh - 11rem); overflow-y: auto; }
body.app-rengaw .rw-ajuda-toc a { display: block; padding: 0.3rem 0.6rem; border-radius: 8px; color: var(--vz-body-color);
    font-size: 0.875rem; text-decoration: none; }
body.app-rengaw .rw-ajuda-toc ul ul a { padding-left: 1.2rem; font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ajuda-toc a:hover { background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-ajuda-toc a.active { background: var(--vz-primary-bg-subtle); color: var(--vz-primary); font-weight: 600; }
body.app-rengaw .rw-ajuda-bloco, body.app-rengaw .rw-ajuda-grupo,
body.app-rengaw .rw-ajuda-central .rw-ajuda-faq details { scroll-margin-top: 9rem; }
body.app-rengaw .rw-ajuda-bloco-titulo, body.app-rengaw .rw-ajuda-grupo-titulo { display: flex; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-ajuda-bloco-titulo i, body.app-rengaw .rw-ajuda-grupo-titulo i { color: var(--vz-primary); }
body.app-rengaw .rw-ajuda-grupo-titulo { margin: 0.5rem 0 1rem; }
body.app-rengaw .rw-ajuda-atalho-guia { color: var(--vz-body-color); text-decoration: none; margin-bottom: 0; }
body.app-rengaw .rw-ajuda-atalho-guia:hover { border-color: var(--vz-primary-border-subtle); }
body.app-rengaw .rw-ajuda-glossario { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 0.75rem; margin: 0; }
body.app-rengaw .rw-ajuda-glossario > div { padding: 0.8rem 0.9rem; border-radius: 12px; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-ajuda-glossario dt { font-family: var(--rw-titulo); font-weight: 600; margin-bottom: 0.2rem; }
body.app-rengaw .rw-ajuda-glossario dd { margin: 0; font-size: 0.875rem; line-height: 1.55; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ajuda-trilha { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 0.75rem; margin: 1rem 0; }
body.app-rengaw .rw-ajuda-trilha > div { padding: 0.9rem; border: 1px solid var(--vz-border-color); border-radius: 14px; }
body.app-rengaw .rw-ajuda-trilha-numero { display: inline-flex; width: 1.8rem; height: 1.8rem; align-items: center; justify-content: center;
    border-radius: 50%; font-family: var(--rw-mono); font-weight: 600; font-size: 0.8rem; margin-bottom: 0.4rem;
    background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
body.app-rengaw .rw-ajuda-trilha strong { display: block; font-family: var(--rw-titulo); margin-bottom: 0.2rem; }
body.app-rengaw .rw-ajuda-trilha p { font-size: 0.8125rem; color: var(--vz-secondary-color); margin: 0; }
body.app-rengaw .rw-ajuda-indice { font-family: var(--rw-mono); background: rgba(10, 179, 156, 0.15); color: #067A6A; }
body.app-rengaw .rw-ajuda-indice-medio { background: rgba(247, 184, 75, 0.2); color: #8A5200; }
body.app-rengaw .rw-ajuda-indice-baixo { background: rgba(240, 101, 72, 0.15); color: #B23A1E; }
[data-bs-theme="dark"] body.app-rengaw .rw-ajuda-indice { color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-ajuda-indice-medio { color: #F7B84B; }
[data-bs-theme="dark"] body.app-rengaw .rw-ajuda-indice-baixo { color: #F59A86; }

@media (max-width: 991.98px) {
    body.app-rengaw .rw-ajuda-toc { position: static; max-height: none; }
}
@media (max-width: 576px) {
    body.app-rengaw .rw-ajuda-convite { right: 8px; left: 8px; bottom: 8px; width: auto; }
    body.app-rengaw .rw-ajuda-dica { left: 8px !important; right: 8px; top: auto !important; bottom: 4.5rem; width: auto; }
    body.app-rengaw .rw-ajuda-pontos-faixa { left: 8px; right: 8px; transform: none; border-radius: 16px; width: auto; }
    body.app-rengaw .rw-ajuda-painel-corpo, body.app-rengaw .rw-ajuda-painel-cabecalho { padding-left: 1rem; padding-right: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
    body.app-rengaw .rw-ajuda-ponto { animation: none; }
    body.app-rengaw .rw-ajuda-recorte, body.app-rengaw .rw-ajuda-balao, body.app-rengaw .rw-ajuda-convite,
    body.app-rengaw .rw-ajuda-balao-progresso > span, body.app-rengaw .rw-ajuda-faq summary::after { transition: none; }
}
@media print {
    #page-topbar, .app-menu, .footer, .page-title-right, .rw-ajuda-nao-imprimir, .rw-ajuda-convite, .rw-ajuda-painel { display: none !important; }
    body.app-rengaw { background: #FFFFFF; }
    .main-content { margin: 0 !important; }
    .page-content { padding: 0 !important; }
    .rw-ajuda-central-conteudo { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; }
    .rw-ajuda-central .card { box-shadow: none; }
    .rw-ajuda-central .rw-ajuda-glossario > div, .rw-ajuda-faq details, dl.rw-ajuda-campos > div { break-inside: avoid; }
}

/* ===== App gestao_alugueis (2026-10-14) ===== */
body.app-rengaw .rw-alug-selo { font-weight: 600; font-size: 0.75rem; }
body.app-rengaw .rw-alug-paga { background: #E3F6F1; color: #066B5D; }
body.app-rengaw .rw-alug-aberta { background: #E6F2FD; color: #0057A3; }
body.app-rengaw .rw-alug-atrasada { background: #FDECE8; color: #A8331A; }
body.app-rengaw .rw-alug-cancelada { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-alug-texto-atraso { color: #B5381E; }
[data-bs-theme="dark"] body.app-rengaw .rw-alug-paga { background: rgba(10, 179, 156, 0.18); color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-alug-aberta { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-alug-atrasada { background: rgba(240, 101, 72, 0.18); color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-alug-cancelada { background: rgba(255, 255, 255, 0.08); color: #B8C2CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-alug-texto-atraso { color: #FFA28F; }
body.app-rengaw .rw-alug-item { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-alug-item:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-alug-item-pior { background: #FFF6F3; margin: 0 -1rem; padding-left: 1rem; padding-right: 1rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-alug-item-pior { background: rgba(240, 101, 72, 0.08); }
body.app-rengaw .rw-alug-foto { position: relative; display: inline-block; }
body.app-rengaw .rw-alug-foto img { width: 4.5rem; height: 4.5rem; object-fit: cover; border-radius: 10px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-alug-foto-excluir { position: absolute; top: -0.4rem; right: -0.4rem; width: 1.4rem; height: 1.4rem; border-radius: 50%; border: 0; padding: 0; line-height: 1.4rem; background: #061C3D; color: #FFFFFF; font-size: 0.85rem; }
body.app-rengaw .rw-alug-foto-excluir:focus-visible { outline: 2px solid #0090F4; outline-offset: 2px; }
body.app-rengaw .rw-alug-portal-bloco { background: var(--vz-secondary-bg, #FFFFFF); border: 1px solid var(--vz-border-color); border-radius: 16px; padding: 1rem 1.25rem; margin-bottom: 1rem; }
body.app-rengaw .rw-alug-portal-linha { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-alug-portal-linha:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-alug-barra-salvar { position: sticky; bottom: 0.75rem; z-index: 5; box-shadow: 0 6px 20px rgba(6, 28, 61, 0.12); }

/* ===== App diario_obra (2026-10-14) ===== */
/* Diário de obra: selos de situação e saúde, barras de avanço × prazo, calendário do mês pela condição do dia,
 * períodos de clima, galeria de fotos e linha do tempo. Claro e escuro. */
body.app-rengaw .rw-do-selo, body.app-rengaw .rw-do-saude, body.app-rengaw .rw-do-sit, body.app-rengaw .rw-do-equip { font-weight: 600; }
body.app-rengaw .rw-do-selo-rascunho, body.app-rengaw .rw-do-sit-planejada, body.app-rengaw .rw-do-equip-parado { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-do-selo-assinado, body.app-rengaw .rw-do-sit-andamento, body.app-rengaw .rw-do-saude-concluida { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-do-selo-aceito, body.app-rengaw .rw-do-saude-no_ritmo, body.app-rengaw .rw-do-sit-concluida, body.app-rengaw .rw-do-equip-operando { background: #E3F6F2; color: #087565; }
body.app-rengaw .rw-do-saude-atencao, body.app-rengaw .rw-do-sit-paralisada, body.app-rengaw .rw-do-equip-manutencao { background: #FEF3E0; color: #8A5200; }
body.app-rengaw .rw-do-selo-contestado, body.app-rengaw .rw-do-saude-atrasada { background: #FDECE8; color: #B5371C; }
[data-bs-theme="dark"] body.app-rengaw .rw-do-selo-rascunho, [data-bs-theme="dark"] body.app-rengaw .rw-do-sit-planejada, [data-bs-theme="dark"] body.app-rengaw .rw-do-equip-parado { background: rgba(255, 255, 255, 0.08); color: #C3CDD9; }
[data-bs-theme="dark"] body.app-rengaw .rw-do-selo-assinado, [data-bs-theme="dark"] body.app-rengaw .rw-do-sit-andamento, [data-bs-theme="dark"] body.app-rengaw .rw-do-saude-concluida { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-do-selo-aceito, [data-bs-theme="dark"] body.app-rengaw .rw-do-saude-no_ritmo, [data-bs-theme="dark"] body.app-rengaw .rw-do-sit-concluida, [data-bs-theme="dark"] body.app-rengaw .rw-do-equip-operando { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-do-saude-atencao, [data-bs-theme="dark"] body.app-rengaw .rw-do-sit-paralisada, [data-bs-theme="dark"] body.app-rengaw .rw-do-equip-manutencao { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-do-selo-contestado, [data-bs-theme="dark"] body.app-rengaw .rw-do-saude-atrasada { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-do-contagem { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); font-weight: 600; }

body.app-rengaw .rw-do-barra { height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin-top: 0.375rem; }
body.app-rengaw .rw-do-barra > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-do-barra-prazo > span { background: #5D6A79; }
[data-bs-theme="dark"] body.app-rengaw .rw-do-barra-prazo > span { background: #8C9AAB; }
body.app-rengaw .rw-do-dupla { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
body.app-rengaw .rw-do-obra-linha { padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-do-obra-linha:first-child { padding-top: 0; }
body.app-rengaw .rw-do-obra-linha:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-do-servico { padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-do-servico:last-child { border-bottom: 0; }

/* Cores dos tipos de dia (calendário, legenda, barra de dias, selo da lista). */
body.app-rengaw { --rw-do-trabalhado: #0AB39C; --rw-do-chuva: #006ECB; --rw-do-parado: #F7B84B; --rw-do-semrdo: #F06548; --rw-do-folga: #DCE3EC; }
[data-bs-theme="dark"] body.app-rengaw { --rw-do-folga: #2A3A52; }
body.app-rengaw .rw-do-dias { display: flex; height: 0.625rem; border-radius: 999px; overflow: hidden; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-do-dia-trabalhado { background: var(--rw-do-trabalhado); }
body.app-rengaw .rw-do-dia-chuva { background: var(--rw-do-chuva); }
body.app-rengaw .rw-do-dia-parado { background: var(--rw-do-parado); }
body.app-rengaw .rw-do-tipo { font-size: 0.8125rem; display: inline-flex; align-items: center; gap: 0.375rem; }
body.app-rengaw .rw-do-tipo::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--rw-do-folga); }
body.app-rengaw .rw-do-tipo-trabalhado::before { background: var(--rw-do-trabalhado); }
body.app-rengaw .rw-do-tipo-chuva::before { background: var(--rw-do-chuva); }
body.app-rengaw .rw-do-tipo-parado::before { background: var(--rw-do-parado); }

body.app-rengaw .rw-do-calendario { display: grid; gap: 0.375rem; }
body.app-rengaw .rw-do-cal-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.375rem; }
body.app-rengaw .rw-do-cal-cabeca span { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); text-align: center; }
body.app-rengaw .rw-do-cal-dia { position: relative; display: flex; align-items: flex-start; justify-content: space-between; aspect-ratio: 1 / 0.8; border-radius: 10px; padding: 0.375rem 0.5rem; font-weight: 600; font-size: 0.875rem; border: 1px solid var(--vz-border-color); color: var(--vz-body-color); text-decoration: none; background: var(--vz-secondary-bg, #FFFFFF); }
body.app-rengaw a.rw-do-cal-dia:hover { box-shadow: 0 0 0 2px var(--vz-primary) inset; }
body.app-rengaw .rw-do-cal-dia i { font-size: 0.75rem; opacity: 0.85; }
body.app-rengaw .rw-do-cal-trabalhado { background: var(--rw-do-trabalhado); border-color: var(--rw-do-trabalhado); color: #FFFFFF; }
body.app-rengaw .rw-do-cal-chuva { background: var(--rw-do-chuva); border-color: var(--rw-do-chuva); color: #FFFFFF; }
body.app-rengaw .rw-do-cal-parado { background: var(--rw-do-parado); border-color: var(--rw-do-parado); color: #061C3D; }
body.app-rengaw .rw-do-cal-sem_rdo { border: 2px dashed var(--rw-do-semrdo); color: #B5371C; }
[data-bs-theme="dark"] body.app-rengaw .rw-do-cal-sem_rdo { color: #FA896B; }
body.app-rengaw .rw-do-cal-folga, body.app-rengaw .rw-do-cal-sem_expediente { background: var(--rw-do-folga); border-color: var(--rw-do-folga); color: var(--vz-secondary-color); }
body.app-rengaw .rw-do-cal-fora { opacity: 0.35; }
body.app-rengaw .rw-do-legenda { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-do-legenda span { display: inline-flex; align-items: center; gap: 0.375rem; }
body.app-rengaw .rw-do-legenda i { display: inline-block; width: 0.75rem; height: 0.75rem; border-radius: 3px; aspect-ratio: auto; padding: 0; }

body.app-rengaw .rw-do-periodos { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
body.app-rengaw .rw-do-periodo { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem; }
body.app-rengaw .rw-do-periodo .rw-do-clima { font-size: 1.75rem; line-height: 1; display: block; margin-bottom: 0.25rem; }
body.app-rengaw .rw-do-cond-praticavel { border-color: var(--rw-do-trabalhado); }
body.app-rengaw .rw-do-cond-impraticavel { border-color: var(--rw-do-semrdo); }
body.app-rengaw .rw-do-clima { color: #F7B84B; font-size: 1.125rem; }
body.app-rengaw .rw-do-clima-nublado { color: #8C9AAB; }
body.app-rengaw .rw-do-clima-chuva_fraca, body.app-rengaw .rw-do-clima-chuva_forte { color: var(--vz-primary); }
body.app-rengaw .rw-do-escolha { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-do-escolha .btn { border-radius: 10px; }

body.app-rengaw .rw-do-item { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-do-item:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-do-qtd { min-width: 2rem; height: 2rem; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-family: "Exo 2", sans-serif; font-weight: 700; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-do-icone-alerta { background: #FDECE8; color: #B5371C; }
[data-bs-theme="dark"] body.app-rengaw .rw-do-icone-alerta { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-do-exec { display: grid; grid-template-columns: minmax(0, 1.4fr) 6.5rem minmax(0, 1.2fr) 4.5rem; align-items: center; gap: 0.5rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-do-exec:last-of-type { border-bottom: 0; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-do-exec { grid-template-columns: 1fr 6.5rem; }
    body.app-rengaw .rw-do-exec > :nth-child(3) { grid-column: 1 / -1; }
    body.app-rengaw .rw-do-dupla, body.app-rengaw .rw-do-periodos { grid-template-columns: 1fr; }
    body.app-rengaw .rw-do-cal-dia { font-size: 0.75rem; padding: 0.25rem; }
}

body.app-rengaw .rw-do-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-do-galeria-mini { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-do-foto { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: 12px; overflow: hidden; background: var(--vz-tertiary-bg); aspect-ratio: 4 / 3; cursor: zoom-in; }
body.app-rengaw .rw-do-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.app-rengaw .rw-do-foto span { position: absolute; left: 0; right: 0; bottom: 0; padding: 0.25rem 0.5rem; font-size: 0.75rem; color: #FFFFFF; background: rgba(6, 28, 61, 0.72); text-align: left; }
body.app-rengaw .rw-do-foto:focus-visible { outline: 2px solid #0090F4; outline-offset: 2px; }
body.app-rengaw .rw-do-foto-caixa { position: relative; }
body.app-rengaw .rw-do-foto-remover { position: absolute; top: 0.375rem; right: 0.375rem; padding: 0.125rem 0.375rem; }
body.app-rengaw .rw-do-foto-grande { max-width: 100%; max-height: 75vh; border-radius: 12px; }

body.app-rengaw .rw-do-linha { list-style: none; margin: 0; padding: 0 0 0 0.25rem; position: relative; }
body.app-rengaw .rw-do-linha::before { content: ""; position: absolute; left: 1.125rem; top: 0.5rem; bottom: 0.5rem; width: 2px; background: var(--vz-border-color); }
body.app-rengaw .rw-do-evento { position: relative; display: flex; gap: 0.875rem; padding: 0.5rem 0; }
body.app-rengaw .rw-do-evento-icone { position: relative; z-index: 1; flex: 0 0 auto; width: 1.75rem; height: 1.75rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--vz-secondary-bg, #FFFFFF); border: 2px solid var(--vz-border-color); color: var(--vz-secondary-color); font-size: 0.875rem; }
body.app-rengaw .rw-do-evento-rdo .rw-do-evento-icone, body.app-rengaw .rw-do-evento-inicio .rw-do-evento-icone { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-do-evento-servico .rw-do-evento-icone, body.app-rengaw .rw-do-evento-aceito .rw-do-evento-icone { border-color: var(--rw-do-trabalhado); color: #087565; }
body.app-rengaw .rw-do-evento-grave .rw-do-evento-icone, body.app-rengaw .rw-do-evento-contestado .rw-do-evento-icone { border-color: var(--rw-do-semrdo); color: #B5371C; }
[data-bs-theme="dark"] body.app-rengaw .rw-do-evento-servico .rw-do-evento-icone, [data-bs-theme="dark"] body.app-rengaw .rw-do-evento-aceito .rw-do-evento-icone { color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-do-evento-grave .rw-do-evento-icone, [data-bs-theme="dark"] body.app-rengaw .rw-do-evento-contestado .rw-do-evento-icone { color: #FA896B; }

body.app-rengaw .rw-do-publico-corpo { padding-top: 1.5rem; }

/* Gestão de acervos e biblioteca: reservas com fila (2026-10-14). */
body.app-rengaw .rw-acv-reservado { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-acv-reservado { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
body.app-rengaw .rw-acv-posicao { flex: 0 0 auto; width: 2rem; height: 2rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: "Exo 2", sans-serif; font-weight: 600; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }

/* ===== App gestao_temporada (2026-10-14) ===== */
/* Gestão de temporada: selos, cores dos canais, calendário multi-imóvel (CSS grid, linhas = imóveis, colunas =
 * noites), cotação, checklist, cartões de imóvel e limpeza, e a página do hóspede (reaproveita .rw-menu-pagina e
 * .rw-menu-capa do Menu digital). Claro e escuro. */
body.app-rengaw { --rw-tmp-direto: #006ECB; --rw-tmp-airbnb: #C2384B; --rw-tmp-booking: #1D4F91; --rw-tmp-vrbo: #0E7C6B; --rw-tmp-outro: #5D6A79; }
[data-bs-theme="dark"] body.app-rengaw { --rw-tmp-direto: #2E8FE6; --rw-tmp-airbnb: #D9566A; --rw-tmp-booking: #4A7FC4; --rw-tmp-vrbo: #1E9B87; --rw-tmp-outro: #7B8796; }
body.app-rengaw .rw-tmp-ponto { display: inline-block; flex: 0 0 auto; width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--rw-tmp-cor, #0090F4); margin-right: 0.5rem; vertical-align: middle; }
body.app-rengaw .rw-tmp-canal { display: inline-block; width: 0.75rem; height: 0.75rem; border-radius: 3px; margin-right: 0.375rem; vertical-align: -1px; background: var(--rw-tmp-outro); }
body.app-rengaw .rw-tmp-canal-direto { background: var(--rw-tmp-direto); }
body.app-rengaw .rw-tmp-canal-airbnb { background: var(--rw-tmp-airbnb); }
body.app-rengaw .rw-tmp-canal-booking { background: var(--rw-tmp-booking); }
body.app-rengaw .rw-tmp-canal-vrbo { background: var(--rw-tmp-vrbo); }
body.app-rengaw .rw-tmp-canal-outro { background: var(--rw-tmp-outro); }
body.app-rengaw .rw-tmp-legenda-pre { background: transparent; border: 2px dashed var(--rw-tmp-direto); }
body.app-rengaw .rw-tmp-legenda-bloqueio { background: repeating-linear-gradient(135deg, #DCE3EC 0 3px, #F4F7FB 3px 6px); border: 1px solid #B5C0CE; }
body.app-rengaw .rw-tmp-legenda-importado { background: transparent; border: 2px dashed #5D6A79; }

body.app-rengaw .rw-tmp-selo { font-weight: 600; font-size: 0.75rem; }
body.app-rengaw .rw-tmp-pre, body.app-rengaw .rw-tmp-limpeza-andamento { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-tmp-confirmada, body.app-rengaw .rw-tmp-limpeza-pendente { background: #E6F2FD; color: #0057A3; }
body.app-rengaw .rw-tmp-hospedado { background: #E3F6F1; color: #066B5D; }
body.app-rengaw .rw-tmp-concluida, body.app-rengaw .rw-tmp-limpeza-concluida { background: #E8F7EE; color: #17663A; }
body.app-rengaw .rw-tmp-cancelada, body.app-rengaw .rw-tmp-limpeza-cancelada { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-tmp-virada { background: #FDECE8; color: #A8331A; }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-pre, [data-bs-theme="dark"] body.app-rengaw .rw-tmp-limpeza-andamento { background: rgba(247, 184, 75, 0.18); color: #F7C96F; }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-confirmada, [data-bs-theme="dark"] body.app-rengaw .rw-tmp-limpeza-pendente { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-hospedado { background: rgba(10, 179, 156, 0.18); color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-concluida, [data-bs-theme="dark"] body.app-rengaw .rw-tmp-limpeza-concluida { background: rgba(46, 160, 90, 0.2); color: #8EE0AE; }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-tmp-limpeza-cancelada { background: rgba(255, 255, 255, 0.08); color: #B5C0CE; }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-virada { background: rgba(240, 101, 72, 0.18); color: #FFA28F; }
body.app-rengaw .rw-tmp-texto-alerta { color: #B5381E; }
body.app-rengaw .rw-tmp-texto-aviso { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-texto-alerta { color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-texto-aviso { color: #F7C96F; }

body.app-rengaw .rw-tmp-numero { font-family: var(--rw-titulo); font-weight: 700; font-size: 1.5rem; color: var(--vz-heading-color, inherit); line-height: 1.2; }
body.app-rengaw .rw-tmp-data { flex: 0 0 auto; width: 2.75rem; padding: 0.25rem 0; border-radius: 10px; background: var(--vz-light-bg-subtle, #F4F7FB); border: 1px solid var(--vz-border-color); text-align: center; font-family: var(--rw-mono); font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); line-height: 1.1; }
body.app-rengaw .rw-tmp-data b { display: block; font-family: var(--rw-titulo); font-size: 1.125rem; color: var(--vz-heading-color, inherit); letter-spacing: 0; }
body.app-rengaw .rw-tmp-resumo { display: grid; gap: 0.25rem; }
body.app-rengaw .rw-tmp-resumo > div { display: flex; justify-content: space-between; gap: 1rem; }
body.app-rengaw .rw-tmp-resumo dt { font-weight: 400; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tmp-resumo dd { margin: 0; font-weight: 500; text-align: right; }
body.app-rengaw .rw-tmp-resumo .total { border-top: 1px solid var(--vz-border-color); padding-top: 0.375rem; margin-top: 0.125rem; }
body.app-rengaw .rw-tmp-resumo .total dt, body.app-rengaw .rw-tmp-resumo .total dd { font-weight: 700; color: var(--vz-heading-color, inherit); }
body.app-rengaw .rw-tmp-cotacao { position: sticky; top: 6rem; }
body.app-rengaw .rw-tmp-mensagem { border-bottom: 1px solid var(--vz-border-color); padding: 0.625rem 0; }
body.app-rengaw .rw-tmp-mensagem:last-child { border-bottom: 0; }
body.app-rengaw .rw-tmp-mensagem summary { cursor: pointer; }
body.app-rengaw .rw-tmp-checklist .form-check { padding: 0.625rem 0.75rem 0.625rem 2.75rem; border: 1px solid var(--vz-border-color); border-radius: 10px; margin-bottom: 0.5rem; }
body.app-rengaw .rw-tmp-checklist .form-check-input { width: 1.25rem; height: 1.25rem; margin-top: 0.05rem; margin-left: -2rem; }
body.app-rengaw .rw-tmp-checklist .form-check-input:checked + .form-check-label { text-decoration: line-through; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tmp-limpeza-cartao:hover, body.app-rengaw .rw-tmp-imovel-cartao:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-tmp-imovel-icone { flex: 0 0 auto; width: 2.75rem; height: 2.75rem; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.375rem; color: #FFFFFF; background: var(--rw-tmp-cor, #0090F4); }
body.app-rengaw .rw-tmp-marcadores { display: grid; gap: 0.375rem; font-size: 0.875rem; }
body.app-rengaw .rw-tmp-marcadores > div { display: flex; gap: 0.5rem; flex-wrap: wrap; }
body.app-rengaw .rw-tmp-marcadores dd { margin: 0; color: var(--vz-secondary-color); }

/* Calendário multi-imóvel */
body.app-rengaw .rw-tmp-grade-rolagem { position: relative; overflow-x: auto; border: 1px solid var(--vz-border-color); border-radius: 12px; }
body.app-rengaw .rw-tmp-grade { --rw-tmp-col: 2.5rem; --rw-tmp-nome: 11rem; min-width: calc(var(--rw-tmp-nome) + var(--rw-tmp-dias) * var(--rw-tmp-col)); }
body.app-rengaw .rw-tmp-cabeca, body.app-rengaw .rw-tmp-linha { display: grid; grid-template-columns: var(--rw-tmp-nome) 1fr; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tmp-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-tmp-nome { position: sticky; left: 0; z-index: 3; display: flex; align-items: center; min-width: 0; padding: 0 0.75rem; background: var(--vz-secondary-bg, #FFFFFF); border-right: 1px solid var(--vz-border-color); font-weight: 500; color: var(--vz-heading-color, inherit); }
body.app-rengaw a.rw-tmp-nome:hover { color: var(--vz-primary); }
body.app-rengaw .rw-tmp-canto { font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--vz-secondary-color); font-weight: 400; }
body.app-rengaw .rw-tmp-faixa { display: grid; grid-template-columns: repeat(var(--rw-tmp-dias), minmax(var(--rw-tmp-col), 1fr)); grid-template-rows: 3rem; align-items: center; }
body.app-rengaw .rw-tmp-cabeca .rw-tmp-faixa { grid-template-rows: auto; }
body.app-rengaw .rw-tmp-dia { padding: 0.375rem 0; text-align: center; font-family: var(--rw-mono); font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--vz-secondary-color); border-left: 1px solid var(--vz-border-color); line-height: 1.2; }
body.app-rengaw .rw-tmp-dia b { display: block; font-family: var(--rw-titulo); font-size: 0.9375rem; color: var(--vz-heading-color, inherit); }
body.app-rengaw .rw-tmp-dia.fds, body.app-rengaw .rw-tmp-celula.fds { background: rgba(93, 106, 121, 0.06); }
body.app-rengaw .rw-tmp-dia.hoje { background: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-tmp-dia.hoje b { color: #FFFFFF; }
body.app-rengaw .rw-tmp-celula { grid-row: 1; align-self: stretch; border-left: 1px solid var(--vz-border-color); }
body.app-rengaw a.rw-tmp-celula:hover, body.app-rengaw a.rw-tmp-celula:focus-visible { background: rgba(0, 110, 203, 0.12); outline: none; }
body.app-rengaw a.rw-tmp-celula:focus-visible { box-shadow: inset 0 0 0 2px var(--vz-primary); }
body.app-rengaw .rw-tmp-celula.hoje { box-shadow: inset 2px 0 0 var(--vz-primary); }
body.app-rengaw .rw-tmp-barra { grid-row: 1; z-index: 2; display: flex; align-items: center; gap: 0.25rem; height: 2.125rem; margin: 0 2px; padding: 0 0.5rem; border-radius: 8px; overflow: hidden; white-space: nowrap; font-size: 0.8125rem; font-weight: 500; color: #FFFFFF; background: var(--rw-tmp-outro); text-decoration: none; }
body.app-rengaw .rw-tmp-barra span { overflow: hidden; text-overflow: ellipsis; }
body.app-rengaw .rw-tmp-barra:hover, body.app-rengaw .rw-tmp-barra:focus-visible { color: #FFFFFF; filter: brightness(1.08); outline: 2px solid var(--vz-heading-color, #00336A); outline-offset: 1px; }
body.app-rengaw .rw-tmp-barra.corta-inicio { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: 0; }
body.app-rengaw .rw-tmp-barra.corta-fim { border-top-right-radius: 0; border-bottom-right-radius: 0; margin-right: 0; }
body.app-rengaw .rw-tmp-canal-fundo-direto { background: var(--rw-tmp-direto); }
body.app-rengaw .rw-tmp-canal-fundo-airbnb { background: var(--rw-tmp-airbnb); }
body.app-rengaw .rw-tmp-canal-fundo-booking { background: var(--rw-tmp-booking); }
body.app-rengaw .rw-tmp-canal-fundo-vrbo { background: var(--rw-tmp-vrbo); }
body.app-rengaw .rw-tmp-canal-fundo-outro { background: var(--rw-tmp-outro); }
body.app-rengaw .rw-tmp-barra.pre { background: var(--vz-secondary-bg, #FFFFFF); color: var(--rw-tmp-direto); border: 2px dashed currentColor; }
body.app-rengaw .rw-tmp-barra.pre:hover { color: var(--rw-tmp-direto); }
body.app-rengaw .rw-tmp-bloqueio { color: #4F5D6E; background: repeating-linear-gradient(135deg, #DCE3EC 0 6px, #EEF1F5 6px 12px); border: 1px solid #B5C0CE; }
body.app-rengaw .rw-tmp-bloqueio:hover { color: #00336A; }
body.app-rengaw .rw-tmp-importado { color: #4F5D6E; background: var(--vz-secondary-bg, #FFFFFF); border: 2px dashed #5D6A79; }
body.app-rengaw .rw-tmp-importado:hover { color: #00336A; }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-bloqueio { color: #DCE3EC; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0 6px, rgba(255, 255, 255, 0.04) 6px 12px); border-color: rgba(255, 255, 255, 0.2); }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-importado { color: #DCE3EC; border-color: #8C99A8; }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-bloqueio:hover, [data-bs-theme="dark"] body.app-rengaw .rw-tmp-importado:hover { color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tmp-legenda-bloqueio { background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0 3px, rgba(255, 255, 255, 0.05) 3px 6px); border-color: rgba(255, 255, 255, 0.25); }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-tmp-grade { --rw-tmp-nome: 7.5rem; --rw-tmp-col: 2.25rem; }
    body.app-rengaw .rw-tmp-cotacao { position: static; }
}

/* Página do hóspede */
body.app-rengaw .rw-menu-pagina.rw-tmp-guia { max-width: 42rem; padding-bottom: 2rem; }
body.app-rengaw .rw-tmp-guia-bloco { background: var(--vz-secondary-bg, #FFFFFF); border: 1px solid var(--vz-border-color); border-radius: 16px; padding: 1.125rem 1.25rem; margin-bottom: 1rem; }
body.app-rengaw .rw-tmp-guia-datas { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
body.app-rengaw .rw-tmp-guia-datas > div { display: flex; flex-direction: column; }
body.app-rengaw .rw-tmp-guia-datas b { font-family: var(--rw-titulo); font-size: 1.25rem; color: var(--vz-heading-color, inherit); }
body.app-rengaw .rw-tmp-guia-datas > div:last-child { text-align: right; }
body.app-rengaw .rw-tmp-guia-datas > i { font-size: 1.5rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tmp-guia-codigo { font-family: var(--rw-mono); font-size: 1.25rem; letter-spacing: 0.12em; color: var(--vz-heading-color, inherit); }
body.app-rengaw .rw-tmp-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ===== App orcamento_obra (2026-10-14) ===== */
body.app-rengaw .rw-oo-situacao { display: inline-flex; align-items: center; padding: 0.125rem 0.625rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; white-space: nowrap; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-oo-situacao.enviado { background: #EEEAFB; color: #5B3FB8; }
body.app-rengaw .rw-oo-situacao.aprovado { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-oo-situacao.recusado, body.app-rengaw .rw-oo-situacao.cancelado { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-oo-situacao.substituido { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-situacao.enviado { background: rgba(155, 132, 238, 0.18); color: #C9BCF7; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-situacao.aprovado { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-situacao.recusado, [data-bs-theme="dark"] body.app-rengaw .rw-oo-situacao.cancelado { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-situacao.substituido { background: rgba(247, 184, 75, 0.18); color: #F7C873; }

body.app-rengaw .rw-oo-totais { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin: 0; }
body.app-rengaw .rw-oo-totais dt { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-oo-totais dd { margin: 0; font-family: "Exo 2", sans-serif; font-size: 1.125rem; font-weight: 600; color: var(--vz-heading-color, var(--vz-body-color)); white-space: nowrap; }
body.app-rengaw .rw-oo-total-venda dd { color: var(--vz-primary); font-size: 1.375rem; }

body.app-rengaw .rw-oo-planilha th, body.app-rengaw .rw-oo-planilha td { vertical-align: middle; }
body.app-rengaw .rw-oo-linha-etapa td, body.app-rengaw .rw-oo-linha-etapa th { background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-oo-linha-subetapa td { background: rgba(0, 110, 203, 0.04); }
body.app-rengaw .rw-oo-linha-subetapa td:nth-child(2) { padding-left: 1.5rem; }
body.app-rengaw .rw-oo-linha-item td:nth-child(2) { padding-left: 1.25rem; }
body.app-rengaw .rw-oo-linha-total th, body.app-rengaw .rw-oo-linha-total td { border-top: 1px solid var(--vz-border-color); font-weight: 600; }
body.app-rengaw .rw-oo-linha-venda th, body.app-rengaw .rw-oo-linha-venda td { color: var(--vz-primary); font-size: 1rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-linha-subetapa td { background: rgba(0, 144, 244, 0.07); }

body.app-rengaw .rw-oo-barra { position: relative; height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin: 0.375rem 0 0; display: block; }
body.app-rengaw .rw-oo-barra > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-oo-barra.estourou > span { background: #D9482B; }
body.app-rengaw .rw-oo-barra-fina { height: 0.25rem; min-width: 4rem; }
body.app-rengaw .rw-oo-comparacao { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-oo-comparacao:last-child { border-bottom: 0; }

body.app-rengaw .rw-oo-icone-alerta { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-oo-icone-aviso { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-icone-alerta { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-icone-aviso { background: rgba(247, 184, 75, 0.18); color: #F7C873; }

body.app-rengaw .rw-oo-bdi-numero { font-family: "Exo 2", sans-serif; font-size: 2.25rem; font-weight: 700; line-height: 1.1; color: var(--vz-primary); }
body.app-rengaw .rw-oo-bdi-resultado { border-color: var(--vz-primary); }

body.app-rengaw .rw-oo-cronograma .rw-oo-pct { width: 4.5rem; min-width: 4.5rem; margin: 0 auto; text-align: center; }
body.app-rengaw .rw-oo-soma { font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-oo-soma.completa { color: #067A6A; font-weight: 600; }
body.app-rengaw .rw-oo-soma.excedida { color: #B4321A; font-weight: 600; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-soma.completa { color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-soma.excedida { color: #FA896B; }

body.app-rengaw .rw-oo-colunas { display: flex; align-items: flex-end; gap: 0.375rem; height: 11rem; padding-bottom: 1.5rem; position: relative; }
body.app-rengaw .rw-oo-coluna { flex: 1 1 0; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; }
body.app-rengaw .rw-oo-coluna-barra { display: block; width: 100%; max-width: 2.5rem; min-height: 2px; border-radius: 6px 6px 0 0; background: var(--vz-primary); }
body.app-rengaw .rw-oo-coluna-rotulo { position: absolute; bottom: -1.375rem; font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; color: var(--vz-secondary-color); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
body.app-rengaw .rw-oo-curva { width: 100%; height: 11rem; display: block; }
body.app-rengaw .rw-oo-curva-eixo { stroke: var(--vz-border-color); stroke-width: 0.6; }
body.app-rengaw .rw-oo-curva-guia { stroke: var(--vz-border-color); stroke-width: 0.3; stroke-dasharray: 2 2; }
body.app-rengaw .rw-oo-curva-linha { fill: none; stroke: var(--vz-primary); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }

body.app-rengaw .rw-oo-classe { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 8px; font-family: "Exo 2", sans-serif; font-weight: 700; }
body.app-rengaw .rw-oo-classe.classe-a { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-oo-classe.classe-b { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-oo-classe.classe-c { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-classe.classe-a { background: rgba(0, 144, 244, 0.2); color: #7CC4FA; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-classe.classe-b { background: rgba(247, 184, 75, 0.18); color: #F7C873; }

body.app-rengaw .rw-oo-fonte { display: inline-block; padding: 0 0.5rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-oo-fonte.sinapi { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-oo-fonte.exemplo { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-fonte.sinapi { background: rgba(0, 144, 244, 0.2); color: #7CC4FA; }
[data-bs-theme="dark"] body.app-rengaw .rw-oo-fonte.exemplo { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
body.app-rengaw .rw-oo-coef { width: 6.5rem; text-align: end; }
body.app-rengaw .rw-oo-exemplo { padding: 0.625rem 0.75rem; border-radius: 10px; background: var(--vz-tertiary-bg); color: var(--vz-body-color); white-space: pre-wrap; word-break: break-all; }

body.app-rengaw .rw-oo-publico-corpo { width: 100%; max-width: 52rem; margin: 0 auto; padding: 1.5rem 1rem 2rem; }
body.app-rengaw .rw-oo-publico-total { text-align: end; }
body.app-rengaw .rw-oo-publico-total span { display: block; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-oo-publico-total strong { font-family: "Exo 2", sans-serif; font-size: 1.75rem; color: var(--vz-primary); }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-oo-totais { width: 100%; justify-content: space-between; }
    body.app-rengaw .rw-oo-publico-total { text-align: start; }
}
body.app-rengaw .rw-oo-planilha td:nth-child(2) { min-width: 14rem; } /* orcamento_obra: descrição legível no celular */

/* ===== App vendas (2026-10-14) ===== */
/* Frente de caixa em tela cheia: some o menu do app, o cabeçalho e o rodapé; fica só a barra superior (ajuda, tema). */
body.app-rengaw.rw-ven-pdv-modo .app-menu,
body.app-rengaw.rw-ven-pdv-modo .page-title-box,
body.app-rengaw.rw-ven-pdv-modo .footer { display: none !important; }
body.app-rengaw.rw-ven-pdv-modo .page-content { padding-top: 1.25rem !important; padding-bottom: 1.5rem !important; }
.rw-ven-pdv-barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; margin-bottom: 1rem; }
.rw-ven-caixa-selo { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.25rem 0.75rem; border-radius: 999px; background: var(--vz-success-bg-subtle); color: var(--vz-success-text-emphasis); font-family: var(--rw-mono); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; white-space: nowrap; }
.rw-ven-busca { position: relative; display: flex; gap: 0.5rem; align-items: stretch; }
.rw-ven-busca > i { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--rw-legenda); font-size: 1.375rem; pointer-events: none; z-index: 2; }
.rw-ven-busca input[type="search"] { padding-left: 3rem; font-size: 1.125rem; }
.rw-ven-resultados { position: absolute; top: calc(100% + 0.25rem); left: 0; right: 0; z-index: 30; list-style: none; margin: 0; padding: 0.25rem; max-height: 22rem; overflow-y: auto; background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 12px; box-shadow: 0 12px 32px rgba(6, 28, 61, 0.14); }
.rw-ven-resultados[hidden] { display: none; }
.rw-ven-resultados-fixo { position: static; box-shadow: none; max-height: 12rem; }
.rw-ven-resultados-fixo:empty { display: none; }
.rw-ven-resultados li { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0.75rem; border-radius: 8px; cursor: pointer; }
.rw-ven-resultados li.ativo, .rw-ven-resultados li:hover { background: var(--vz-primary-bg-subtle); }
.rw-ven-resultados li.vazio { cursor: default; color: var(--vz-secondary-color); background: none; }
.rw-ven-carrinho tbody tr { cursor: pointer; }
.rw-ven-carrinho tbody tr.selecionado > td { background: var(--vz-primary-bg-subtle); }
.rw-ven-qtd { display: inline-block; min-width: 3.25rem; text-align: center; font-weight: 600; }
.rw-ven-botao-linha { width: 2rem; height: 2rem; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.rw-ven-vazio { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; margin: 0; padding: 2.5rem 1rem; color: var(--vz-secondary-color); text-align: center; }
.rw-ven-vazio i { font-size: 2.5rem; color: var(--rw-legenda); }
.rw-ven-vazio[hidden] { display: none; }
.rw-ven-favoritos { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: 0.5rem; }
.rw-ven-favorito { display: flex; flex-direction: column; align-items: flex-start; gap: 0.25rem; min-height: 4.5rem; padding: 0.625rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-secondary-bg); color: var(--vz-body-color); text-align: left; }
.rw-ven-favorito:hover, .rw-ven-favorito:focus-visible { border-color: var(--vz-primary); background: var(--vz-primary-bg-subtle); }
.rw-ven-favorito .nome { font-weight: 500; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rw-ven-favorito .preco { margin-top: auto; color: var(--vz-primary); font-size: 0.8125rem; }
.rw-ven-totais > div { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: 0.375rem 0; border-bottom: 1px dashed var(--vz-border-color); }
.rw-ven-totais dt { font-weight: 400; color: var(--vz-secondary-color); }
.rw-ven-totais dd { margin: 0; font-family: var(--rw-mono); }
.rw-ven-totais .rw-ven-total { border-bottom: 0; padding-top: 0.75rem; }
.rw-ven-totais .rw-ven-total dt { color: var(--vz-body-color); font-family: "Exo 2", sans-serif; font-weight: 600; font-size: 1.125rem; }
.rw-ven-totais .rw-ven-total dd { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 2.25rem; color: var(--vz-primary); line-height: 1.1; }
.rw-ven-pagar { padding-top: 0.875rem; padding-bottom: 0.875rem; font-size: 1.125rem; }
.rw-ven-teclas { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.rw-ven-teclas .btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.375rem; flex-wrap: wrap; }
.rw-ven-pdv kbd, #pdv-modal-pagamento kbd, #pdv-modal-sucesso kbd { font-family: var(--rw-mono); font-size: 0.6875rem; padding: 0.125rem 0.375rem; border-radius: 4px; background: rgba(6, 28, 61, 0.08); color: inherit; box-shadow: none; }
.rw-ven-pdv .btn-primary kbd, #pdv-modal-pagamento .btn-primary kbd, #pdv-modal-sucesso .btn-primary kbd { background: rgba(255, 255, 255, 0.2); }
.rw-ven-atalhos { font-size: 0.8125rem; }
.rw-ven-atalhos summary { cursor: pointer; color: var(--vz-secondary-color); }
.rw-ven-atalhos dl { margin: 0.5rem 0 0; }
.rw-ven-atalhos dl > div { display: flex; gap: 0.75rem; padding: 0.25rem 0; }
.rw-ven-atalhos dt { min-width: 5.5rem; font-weight: 400; }
.rw-ven-atalhos dd { margin: 0; color: var(--vz-secondary-color); }
.rw-ven-pag-topo { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-bottom: 1rem; }
.rw-ven-pag-topo > div { padding: 0.75rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; }
.rw-ven-pag-topo strong { display: block; font-family: "Exo 2", sans-serif; font-size: 1.75rem; line-height: 1.2; }
.rw-ven-formas { display: grid; grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr)); gap: 0.5rem; }
.rw-ven-forma { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 10px; background: var(--vz-secondary-bg); color: var(--vz-body-color); text-align: left; }
.rw-ven-forma.ativo { border-color: var(--vz-primary); background: var(--vz-primary-bg-subtle); color: var(--vz-primary-text-emphasis); font-weight: 600; }
.rw-ven-pagamentos, .rw-ven-esperas { list-style: none; margin: 0; padding: 0; }
.rw-ven-pagamentos li, .rw-ven-esperas li { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
.rw-ven-abrir-icone { display: inline-flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; border-radius: 16px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); font-size: 2rem; }
.rw-ven-abrir-icone.sucesso { background: var(--vz-success-bg-subtle); color: var(--vz-success-text-emphasis); }
.rw-ven-troco { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 2.5rem; margin-bottom: 1rem; color: var(--vz-success-text-emphasis); }
.rw-ven-troco[hidden], #ok-rotulo-troco[hidden] { display: none; }
body.app-rengaw .rw-ven-dias { grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 0.375rem; }
body.app-rengaw .rw-ven-dias .rw-semana-valor { font-size: 0.625rem; }
body.app-rengaw .rw-ven-aviso { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-ven-texto-aviso { color: #8A5200; }
body.app-rengaw .rw-ven-abc-a { background: var(--vz-success-bg-subtle); color: var(--vz-success-text-emphasis); }
body.app-rengaw .rw-ven-abc-b { background: var(--vz-primary-bg-subtle); color: var(--vz-primary-text-emphasis); }
body.app-rengaw .rw-ven-abc-c { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-ven-aviso { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-ven-texto-aviso { color: #F7C873; }
[data-bs-theme="dark"] .rw-ven-pdv kbd, [data-bs-theme="dark"] #pdv-modal-pagamento kbd, [data-bs-theme="dark"] #pdv-modal-sucesso kbd { background: rgba(255, 255, 255, 0.12); }
[data-bs-theme="dark"] .rw-ven-resultados { box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4); }
@media (max-width: 767.98px) {
    body.app-rengaw .rw-ven-dias .rw-semana-valor { display: none; }
    .rw-ven-totais .rw-ven-total dd { font-size: 1.75rem; }
    .rw-ven-pag-topo strong { font-size: 1.375rem; }
    .rw-ven-carrinho td, .rw-ven-carrinho th { padding-left: 0.5rem; padding-right: 0.5rem; }
}

/* ===== App academias (2026-10-14) ===== */
/* Gestão de academias e estúdios: selos de situação, mapa de frequência, cartões de aula e de plano, resultado do
 * check-in, gráficos de evolução, grade semanal, ficha de treino (tela e impressão) e a área do aluno (reaproveita
 * .rw-menu-pagina/.rw-menu-capa do Menu digital). Sem borda lateral colorida: a cor da modalidade vai no ícone e em pontos. */
body.app-rengaw .rw-acad-selo { display: inline-flex; align-items: center; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.75rem; font-weight: 500; white-space: nowrap; background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-acad-selo-ativa, body.app-rengaw .rw-acad-selo-paga, body.app-rengaw .rw-acad-selo-presente, body.app-rengaw .rw-acad-selo-confirmada { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-acad-selo-trancada, body.app-rengaw .rw-acad-selo-espera, body.app-rengaw .rw-acad-selo-aberta { background: #E1EEFB; color: #003387; }
body.app-rengaw .rw-acad-selo-risco, body.app-rengaw .rw-acad-selo-saude { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-acad-selo-atrasada, body.app-rengaw .rw-acad-selo-cancelada, body.app-rengaw .rw-acad-selo-faltou { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-acad-selo { background: rgba(255, 255, 255, 0.08); color: #C9D3E0; }
[data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-ativa, [data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-paga, [data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-presente, [data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-confirmada { background: rgba(10, 179, 156, 0.18); color: #6FDCC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-trancada, [data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-espera, [data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-aberta { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-risco, [data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-saude { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-atrasada, [data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-acad-selo-faltou { background: rgba(240, 101, 72, 0.18); color: #F7A08D; }

body.app-rengaw .rw-acad-hora { font-family: var(--rw-mono); font-size: 0.875rem; font-weight: 600; color: var(--vz-primary); min-width: 3rem; }
body.app-rengaw .rw-acad-ocupacao { display: flex; flex-direction: column; align-items: flex-end; gap: 0.25rem; width: 5.5rem; flex-shrink: 0; }
body.app-rengaw .rw-acad-ocupacao .rw-menu-ranking-barra { width: 100%; }
body.app-rengaw .rw-acad-modalidade-icone { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 0.75rem; color: #FFFFFF; font-size: 1.25rem; flex-shrink: 0; }
body.app-rengaw .rw-acad-posicao { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--vz-tertiary-bg); font-family: var(--rw-mono); font-size: 0.8125rem; flex-shrink: 0; }

body.app-rengaw .rw-acad-mapa-rolagem { position: relative; overflow-x: auto; }
body.app-rengaw .rw-acad-mapa { border-collapse: separate; border-spacing: 3px; width: 100%; min-width: 36rem; }
body.app-rengaw .rw-acad-mapa th { font-family: var(--rw-mono); font-size: 0.6875rem; font-weight: 500; color: var(--vz-secondary-color); text-align: center; padding: 0 0.25rem; }
body.app-rengaw .rw-acad-mapa tbody th { text-align: left; text-transform: uppercase; letter-spacing: 0.06em; }
body.app-rengaw .rw-acad-mapa td, body.app-rengaw .rw-acad-legenda { height: 1.375rem; border-radius: 0.3rem; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-acad-legenda { display: inline-block; width: 1rem; height: 0.875rem; }
body.app-rengaw .rw-acad-mapa .nivel-1, body.app-rengaw .rw-acad-legenda.nivel-1 { background: #CCE6FD; }
body.app-rengaw .rw-acad-mapa .nivel-2, body.app-rengaw .rw-acad-legenda.nivel-2 { background: #80C4FA; }
body.app-rengaw .rw-acad-mapa .nivel-3, body.app-rengaw .rw-acad-legenda.nivel-3 { background: #0090F4; }
body.app-rengaw .rw-acad-mapa .nivel-4, body.app-rengaw .rw-acad-legenda.nivel-4 { background: #003387; }
[data-bs-theme="dark"] body.app-rengaw .rw-acad-mapa .nivel-1, [data-bs-theme="dark"] body.app-rengaw .rw-acad-legenda.nivel-1 { background: #0B3358; }
[data-bs-theme="dark"] body.app-rengaw .rw-acad-mapa .nivel-2, [data-bs-theme="dark"] body.app-rengaw .rw-acad-legenda.nivel-2 { background: #005BA8; }
[data-bs-theme="dark"] body.app-rengaw .rw-acad-mapa .nivel-4, [data-bs-theme="dark"] body.app-rengaw .rw-acad-legenda.nivel-4 { background: #8FCBFF; }
body.app-rengaw .rw-acad-meses { grid-template-columns: repeat(6, minmax(0, 1fr)); }
body.app-rengaw .rw-acad-semanas { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0.375rem; }
body.app-rengaw .rw-acad-semanas .rw-semana-coluna { height: 5rem; }
@media (max-width: 575.98px) { body.app-rengaw .rw-acad-semanas .rw-semana-rotulo { font-size: 0.5625rem; letter-spacing: 0; } }

body.app-rengaw a.rw-acad-aula-cartao { color: inherit; transition: border-color 0.15s; }
body.app-rengaw a.rw-acad-aula-cartao:hover { border-color: var(--vz-primary-border-subtle); }
body.app-rengaw a.rw-acad-aula-cartao.cancelada { opacity: 0.65; }

body.app-rengaw .rw-acad-resultado .card-body { padding: 1.5rem; }
body.app-rengaw .rw-acad-resultado-icone { display: inline-flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; font-size: 2rem; flex-shrink: 0; color: #FFFFFF; }
body.app-rengaw .rw-acad-resultado.liberado { border-color: #0AB39C; }
body.app-rengaw .rw-acad-resultado.liberado .rw-acad-resultado-icone { background: #0A7F6F; }
body.app-rengaw .rw-acad-resultado.recusado { border-color: #F06548; }
body.app-rengaw .rw-acad-resultado.recusado .rw-acad-resultado-icone { background: #C23A22; }
body.app-rengaw .rw-acad-avisos { padding-left: 1.25rem; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-acad-avisos { color: #F7C873; }
body.app-rengaw .rw-acad-camera { width: 100%; max-width: 22rem; border-radius: 0.75rem; background: #061C3D; }

body.app-rengaw .rw-acad-grafico { color: var(--vz-primary); }
body.app-rengaw .rw-acad-grafico svg { width: 100%; height: auto; display: block; background: var(--vz-tertiary-bg); border-radius: 0.75rem; }
body.app-rengaw .rw-acad-grafico circle { fill: var(--vz-secondary-bg, #FFFFFF); stroke: currentColor; stroke-width: 2; }
body.app-rengaw .rw-acad-qr svg { width: 11rem; height: 11rem; max-width: 100%; background: #FFFFFF; border-radius: 0.75rem; padding: 0.375rem; }

body.app-rengaw .rw-acad-plano { display: block; height: 100%; padding: 1rem 1.25rem; border: 1px solid var(--vz-border-color); border-radius: 1rem; cursor: pointer; background: var(--vz-secondary-bg); transition: border-color 0.15s, box-shadow 0.15s; }
body.app-rengaw .rw-acad-plano:hover { border-color: var(--vz-primary-border-subtle); }
body.app-rengaw .btn-check:checked + .rw-acad-plano { border-color: var(--vz-primary); box-shadow: 0 0 0 2px var(--vz-primary); }
body.app-rengaw .btn-check:focus-visible + .rw-acad-plano { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-acad-plano-preco { font-family: var(--rw-titulo); font-weight: 700; font-size: 1.375rem; margin: 0.25rem 0; }
body.app-rengaw .rw-acad-plano-preco small { font-size: 0.8125rem; font-weight: 400; color: var(--vz-secondary-color); }
body.app-rengaw .rw-acad-termo { max-height: 14rem; overflow-y: auto; padding: 0.75rem 1rem; margin-bottom: 1rem; border: 1px solid var(--vz-border-color); border-radius: 0.75rem; background: var(--vz-tertiary-bg); font-size: 0.875rem; }
body.app-rengaw .rw-acad-termo p:last-child { margin-bottom: 0; }
body.app-rengaw .rw-acad-parq { padding-left: 1.25rem; margin-bottom: 1rem; }
body.app-rengaw .rw-acad-parq li { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-acad-parq li:last-child { border-bottom: 0; }
body.app-rengaw .rw-acad-modelo { display: block; padding: 1rem; border: 1px solid var(--vz-border-color); border-radius: 1rem; background: var(--vz-secondary-bg); color: inherit; }
body.app-rengaw .rw-acad-modelo:hover, body.app-rengaw .rw-acad-modelo:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-acad-divisao { display: inline-flex; align-items: center; justify-content: center; width: 1.875rem; height: 1.875rem; border-radius: 0.5rem; background: var(--vz-primary); color: #FFFFFF; font-family: var(--rw-titulo); font-weight: 700; flex-shrink: 0; }
[data-bs-theme="dark"] body.app-rengaw .rw-acad-divisao { color: #061C3D; }

body.app-rengaw .rw-acad-grade { display: grid; grid-template-columns: repeat(7, minmax(9rem, 1fr)); gap: 0.75rem; overflow-x: auto; position: relative; padding-bottom: 0.25rem; }
body.app-rengaw .rw-acad-grade-aula { position: relative; display: block; padding: 0.5rem 0.625rem 0.5rem 1.375rem; margin-bottom: 0.5rem; border: 1px solid var(--vz-border-color); border-radius: 0.625rem; color: inherit; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-acad-grade-aula::before { content: ""; position: absolute; left: 0.5rem; top: 0.8rem; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--rw-acad-cor, var(--vz-primary)); }
body.app-rengaw .rw-acad-grade-aula:hover { border-color: var(--vz-primary-border-subtle); }
body.app-rengaw .rw-acad-grade-aula.inativa { opacity: 0.55; }
@media (max-width: 991.98px) { body.app-rengaw .rw-acad-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { body.app-rengaw .rw-acad-grade { grid-template-columns: minmax(0, 1fr); } }

/* Área do aluno e grade pública */
body.app-rengaw .rw-acad-publico .rw-acad-cartao { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; padding: 1.25rem; margin-bottom: 1rem; border-radius: 1rem; background: #061C3D; color: #FFFFFF; }
body.app-rengaw .rw-acad-cartao-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: #8FCBFF; margin: 0 0 0.25rem; }
body.app-rengaw .rw-acad-cartao-codigo { font-family: var(--rw-titulo); font-weight: 700; font-size: 2.25rem; line-height: 1; margin: 0 0 0.5rem; color: #FFFFFF; }
body.app-rengaw .rw-acad-cartao-qr svg { width: 8.5rem; height: 8.5rem; background: #FFFFFF; border-radius: 0.75rem; padding: 0.375rem; display: block; }
body.app-rengaw .rw-acad-cartao-dica { grid-column: 1 / -1; margin: 0; font-size: 0.8125rem; color: rgba(255, 255, 255, 0.8); }
body.app-rengaw .rw-acad-cartao-dica a { color: #8FCBFF; }
@media (max-width: 400px) { body.app-rengaw .rw-acad-publico .rw-acad-cartao { grid-template-columns: 1fr; justify-items: center; text-align: center; } }
body.app-rengaw .rw-acad-secao { padding: 1rem 1.25rem; margin-bottom: 1rem; border: 1px solid var(--vz-border-color); border-radius: 1rem; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-acad-secao h2 { font-family: var(--rw-titulo); font-size: 1.125rem; font-weight: 700; margin-bottom: 0.75rem; }
body.app-rengaw .rw-acad-reserva { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-acad-reserva:last-child { border-bottom: 0; }
body.app-rengaw .rw-acad-dia { font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vz-secondary-color); margin: 0.75rem 0 0; }
body.app-rengaw .rw-acad-treino { border-top: 1px solid var(--vz-border-color); padding: 0.5rem 0; }
body.app-rengaw .rw-acad-treino:first-of-type { border-top: 0; }
body.app-rengaw .rw-acad-treino summary { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-weight: 600; list-style: none; }
body.app-rengaw .rw-acad-treino summary::-webkit-details-marker { display: none; }
body.app-rengaw .rw-acad-exercicios { padding-left: 1.25rem; margin: 0.5rem 0 0; }
body.app-rengaw .rw-acad-exercicios li { padding: 0.375rem 0; }
body.app-rengaw .rw-acad-exercicios li span { display: block; }
body.app-rengaw .rw-acad-tag { display: inline-flex; align-items: center; padding: 0.25rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 999px; font-size: 0.8125rem; background: var(--vz-secondary-bg); }
[data-bs-theme="dark"] body.app-rengaw .rw-acad-publico .rw-acad-cartao { background: #030F22; border: 1px solid rgba(255, 255, 255, 0.12); }

/* Ficha para imprimir */
body.app-rengaw .rw-acad-folha { max-width: 60rem; margin: 0 auto; padding: 2rem 1rem; }
body.app-rengaw .rw-acad-tabela-impressa th { font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; }
body.app-rengaw .rw-acad-tabela-impressa td, body.app-rengaw .rw-acad-tabela-impressa th { border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-acad-anotar { width: 4.5rem; }
body.app-rengaw .rw-acad-orientacoes { padding: 0.75rem 1rem; border-radius: 0.75rem; background: var(--vz-tertiary-bg); }
@media print {
    body.app-rengaw.rw-acad-impressao { background: #FFFFFF !important; color: #000000; }
    body.app-rengaw .rw-acad-nao-imprimir { display: none !important; }
    body.app-rengaw .rw-acad-folha { padding: 0; max-width: none; }
    body.app-rengaw .rw-acad-folha section { break-inside: avoid; }
}

/* ===== App agenda_cuidador (2026-10-14) ===== */
body.app-rengaw .rw-cuid-pessoa { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-cuid-avatar { flex: 0 0 3rem; width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; display: inline-flex; align-items: center; justify-content: center; background: #E7F1FB; color: #006ECB; font-family: var(--rw-titulo); font-weight: 700; }
body.app-rengaw .rw-cuid-avatar-sm { flex-basis: 2.25rem; width: 2.25rem; height: 2.25rem; font-size: 0.85rem; }
body.app-rengaw .rw-cuid-pessoa-nome { font-family: var(--rw-titulo); font-weight: 600; font-size: 1.1rem; }
body.app-rengaw .rw-cuid-alergia { color: #B42318; font-weight: 500; }
body.app-rengaw .rw-cuid-trocar { flex: 0 0 auto; max-width: 12rem; }
body.app-rengaw .rw-cuid-aviso { display: flex; gap: 0.5rem; align-items: flex-start; margin-top: 1rem; padding: 0.75rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; color: var(--vz-secondary-color); background: var(--vz-secondary-bg); }
body.app-rengaw .rw-cuid-progresso { height: 0.5rem; border-radius: 999px; }
body.app-rengaw .rw-cuid-dose { display: flex; align-items: center; gap: 0.75rem; padding: 0.65rem 0.25rem; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cuid-dose:last-child { border-bottom: 0; }
body.app-rengaw .rw-cuid-hora { flex: 0 0 auto; min-width: 3.5rem; font-family: var(--rw-mono); font-weight: 600; }
body.app-rengaw .rw-cuid-dose-atrasada .rw-cuid-hora { color: #B42318; }
body.app-rengaw .rw-cuid-link { color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-cuid-link:hover { color: var(--vz-primary); }
body.app-rengaw .rw-cuid-dose-acoes { display: flex; flex-wrap: wrap; gap: 0.25rem; justify-content: flex-end; }
body.app-rengaw .rw-cuid-selo { font-weight: 500; }
body.app-rengaw .rw-cuid-selo-dada, body.app-rengaw .rw-cuid-situacao-realizado { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-cuid-selo-recusada { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-cuid-selo-pulada, body.app-rengaw .rw-cuid-situacao-cancelado { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-cuid-selo-atrasada { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-cuid-selo-agora, body.app-rengaw .rw-cuid-situacao-agendado { background: #E7F1FB; color: #005BA8; }
body.app-rengaw .rw-cuid-icone-alerta { background: #FDECE8 !important; color: #B4321A !important; }
body.app-rengaw .rw-cuid-repor { color: #8A5200; }
body.app-rengaw .rw-cuid-numero { font-family: var(--rw-titulo); font-weight: 700; font-size: 2rem; line-height: 1.1; }
body.app-rengaw .rw-cuid-adesao { display: grid; grid-template-columns: minmax(0, 12rem) 1fr auto; gap: 0.75rem; align-items: center; padding: 0.4rem 0; }
body.app-rengaw .rw-cuid-adesao .progress { height: 0.5rem; }
body.app-rengaw .rw-cuid-nota { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cuid-nota:last-child { border-bottom: 0; }
body.app-rengaw .rw-cuid-nota.importante { padding-left: 0.75rem; padding-right: 0.75rem; background: #FFF8EC; border-radius: 10px; border-bottom-color: transparent; margin-bottom: 0.25rem; }
body.app-rengaw .rw-cuid-categoria { font-weight: 500; background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-cuid-categoria-plantao { background: #E7F1FB; color: #005BA8; }
body.app-rengaw .rw-cuid-categoria-intercorrencia { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-cuid-categoria-recado { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-cuid-agora { display: inline-block; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: #0AB39C; margin-right: 0.4rem; box-shadow: 0 0 0 3px rgba(10, 179, 156, 0.2); }
body.app-rengaw .rw-cuid-grafico { min-height: 260px; }
body.app-rengaw .rw-cuid-dia { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cuid-dia:last-child { border-bottom: 0; }
body.app-rengaw .rw-cuid-dia.hoje .rw-data-quadro { background: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-cuid-ordem { flex: 0 0 2rem; width: 2rem; height: 2rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #FDECE8; color: #B4321A; font-weight: 700; }
body.app-rengaw .rw-cuid-membro { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cuid-membro:last-child { border-bottom: 0; }
body.app-rengaw .rw-cuid-membro .form-select, body.app-rengaw .rw-cuid-membro .form-control { width: auto; max-width: 12rem; }
body.app-rengaw .rw-cuid-publico-foto { display: block; width: 6rem; height: 6rem; margin: 0.5rem auto; border-radius: 50%; object-fit: cover; border: 3px solid #FFFFFF; }
body.app-rengaw .rw-cuid-publico-bloco { padding: 1rem; margin-bottom: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-cuid-publico-bloco h2 { display: flex; gap: 0.5rem; align-items: center; font-family: var(--rw-mono); font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.5rem; }
body.app-rengaw .rw-cuid-publico-bloco.alerta { border-color: #F3B4A6; background: #FDECE8; color: #7A1E0E; }
body.app-rengaw .rw-cuid-publico-bloco.alerta h2 { color: #B4321A; }
body.app-rengaw .rw-cuid-publico-contato { display: flex; justify-content: space-between; gap: 0.5rem; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-cuid-publico-contato:last-child { border-bottom: 0; }
body.app-rengaw .rw-cuid-publico-contato span:last-child { color: var(--vz-primary); font-weight: 600; white-space: nowrap; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-cuid-dose { flex-wrap: wrap; }
    body.app-rengaw .rw-cuid-dose-acoes { width: 100%; }
    body.app-rengaw .rw-cuid-dose-acoes .btn { flex: 1 1 auto; }
    body.app-rengaw .rw-cuid-adesao { grid-template-columns: 1fr auto; }
    body.app-rengaw .rw-cuid-adesao .progress { grid-column: 1 / -1; grid-row: 2; }
    body.app-rengaw .rw-cuid-pessoa { flex-wrap: wrap; }
    body.app-rengaw .rw-cuid-trocar { max-width: none; width: 100%; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-avatar { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-alergia { color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-selo-dada, [data-bs-theme="dark"] body.app-rengaw .rw-cuid-situacao-realizado, [data-bs-theme="dark"] body.app-rengaw .rw-cuid-categoria-recado { background: rgba(10, 179, 156, 0.18); color: #5FD8C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-selo-recusada { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-selo-pulada, [data-bs-theme="dark"] body.app-rengaw .rw-cuid-situacao-cancelado, [data-bs-theme="dark"] body.app-rengaw .rw-cuid-categoria { background: rgba(255, 255, 255, 0.08); color: #C2CBD6; }
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-selo-atrasada, [data-bs-theme="dark"] body.app-rengaw .rw-cuid-icone-alerta, [data-bs-theme="dark"] body.app-rengaw .rw-cuid-categoria-intercorrencia, [data-bs-theme="dark"] body.app-rengaw .rw-cuid-ordem { background: rgba(240, 101, 72, 0.18) !important; color: #FA896B !important; }
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-selo-agora, [data-bs-theme="dark"] body.app-rengaw .rw-cuid-situacao-agendado, [data-bs-theme="dark"] body.app-rengaw .rw-cuid-categoria-plantao { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-repor { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-nota.importante { background: rgba(247, 184, 75, 0.1); }
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-dose-atrasada .rw-cuid-hora { color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-publico-bloco.alerta { background: rgba(240, 101, 72, 0.14); border-color: rgba(240, 101, 72, 0.4); color: #FBC4B6; }
[data-bs-theme="dark"] body.app-rengaw .rw-cuid-publico-bloco.alerta h2 { color: #FA896B; }

/* ===== App saude_pet (2026-10-14) ===== */
body.app-rengaw .rw-pet-avatar { flex-shrink: 0; width: 2.75rem; height: 2.75rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; background: #E1EEFB; color: #006ECB; font-size: 1.35rem; }
body.app-rengaw .rw-pet-avatar img { width: 100%; height: 100%; object-fit: cover; }
body.app-rengaw .rw-pet-avatar-grande { width: 4.5rem; height: 4.5rem; font-size: 2.1rem; }
body.app-rengaw .rw-pet-especie-gato { background: #EFE9FC; color: #5B3FD9; }
body.app-rengaw .rw-pet-especie-ave, body.app-rengaw .rw-pet-especie-reptil { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pet-especie-coelho, body.app-rengaw .rw-pet-especie-roedor { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-avatar { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-especie-gato { background: rgba(155, 130, 255, 0.2); color: #C9BBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-especie-ave, [data-bs-theme="dark"] body.app-rengaw .rw-pet-especie-reptil { background: rgba(10, 179, 156, 0.18); color: #6FDCC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-especie-coelho, [data-bs-theme="dark"] body.app-rengaw .rw-pet-especie-roedor { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
body.app-rengaw .rw-pet-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-pet-grade-larga { grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); }
body.app-rengaw .rw-pet-cartao { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem; min-width: 0; border: 1px solid var(--vz-border-color); border-radius: 0.875rem; color: var(--vz-body-color); text-decoration: none; transition: border-color 0.15s; }
body.app-rengaw .rw-pet-cartao:hover, body.app-rengaw .rw-pet-cartao:focus-visible { border-color: var(--vz-primary); color: var(--vz-body-color); }
body.app-rengaw .rw-pet-texto-alerta { color: #B4321A; font-weight: 500; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-texto-alerta { color: #FF9D8A; }
body.app-rengaw .rw-pet-selo { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.75rem; font-weight: 500; white-space: nowrap; background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-pet-selo-ok, body.app-rengaw .rw-pet-gravidade-leve { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pet-selo-agendada { background: #E1EEFB; color: #003387; }
body.app-rengaw .rw-pet-selo-vencendo, body.app-rengaw .rw-pet-gravidade-moderada { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-pet-selo-vencida, body.app-rengaw .rw-pet-gravidade-grave { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-selo { background: rgba(255, 255, 255, 0.08); color: #C9D3E0; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-selo-ok, [data-bs-theme="dark"] body.app-rengaw .rw-pet-gravidade-leve { background: rgba(10, 179, 156, 0.18); color: #6FDCC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-selo-agendada { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-selo-vencendo, [data-bs-theme="dark"] body.app-rengaw .rw-pet-gravidade-moderada { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-selo-vencida, [data-bs-theme="dark"] body.app-rengaw .rw-pet-gravidade-grave { background: rgba(240, 101, 72, 0.2); color: #FF9D8A; }
body.app-rengaw .rw-pet-hora { flex-shrink: 0; min-width: 3.25rem; font-family: "IBM Plex Mono", monospace; font-weight: 600; color: var(--vz-heading-color, #00336A); line-height: 1.1; }
body.app-rengaw .rw-pet-hora small { display: block; font-weight: 400; font-size: 0.7rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pet-dose.dada .rw-pet-hora, body.app-rengaw .rw-pet-dose.pulada .rw-pet-hora { color: var(--vz-secondary-color); text-decoration: line-through; }
body.app-rengaw .rw-pet-dose.atrasada .rw-pet-hora { color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-dose.atrasada .rw-pet-hora { color: #FF9D8A; }
body.app-rengaw .rw-pet-data { flex-shrink: 0; width: 2.75rem; padding: 0.3rem 0; border-radius: 0.625rem; background: #E1EEFB; color: #003387; text-align: center; line-height: 1.05; }
body.app-rengaw .rw-pet-data strong { display: block; font-family: "Exo 2", sans-serif; font-size: 1.05rem; }
body.app-rengaw .rw-pet-data small { display: block; font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; text-transform: uppercase; }
body.app-rengaw .rw-pet-data.atrasado { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-data { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-data.atrasado { background: rgba(240, 101, 72, 0.2); color: #FF9D8A; }
body.app-rengaw .rw-pet-icone-pequeno { width: 2.25rem; height: 2.25rem; font-size: 1.1rem; flex-shrink: 0; }
body.app-rengaw .rw-pet-alergia { padding: 0.4rem 0.75rem; border-radius: 0.625rem; background: #FDECE8; color: #9A2914; font-size: 0.875rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-alergia { background: rgba(240, 101, 72, 0.18); color: #FFB4A6; }
body.app-rengaw .rw-pet-aviso-vet { display: flex; gap: 0.5rem; align-items: flex-start; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pet-aviso-vet i { color: var(--vz-primary); font-size: 1.1rem; }
body.app-rengaw .rw-pet-linha { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-pet-linha li { position: relative; display: flex; gap: 0.75rem; padding-bottom: 1rem; }
body.app-rengaw .rw-pet-linha li:not(:last-child)::before { content: ""; position: absolute; left: 1rem; top: 2.1rem; bottom: 0.2rem; width: 2px; background: var(--vz-border-color); }
body.app-rengaw .rw-pet-linha-icone { flex-shrink: 0; width: 2rem; height: 2rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #E1EEFB; color: #006ECB; }
body.app-rengaw .rw-pet-linha-verde .rw-pet-linha-icone { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pet-linha-alerta .rw-pet-linha-icone { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-pet-linha-grafite .rw-pet-linha-icone { background: #EEF1F5; color: #4F5D6E; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-linha-icone { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-linha-verde .rw-pet-linha-icone { background: rgba(10, 179, 156, 0.18); color: #6FDCC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-linha-alerta .rw-pet-linha-icone { background: rgba(240, 101, 72, 0.2); color: #FF9D8A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pet-linha-grafite .rw-pet-linha-icone { background: rgba(255, 255, 255, 0.08); color: #C9D3E0; }
body.app-rengaw .rw-pet-grafico { color: var(--vz-primary); }
body.app-rengaw .rw-pet-grafico svg { width: 100%; height: auto; display: block; background: var(--vz-tertiary-bg); border-radius: 0.75rem; }
body.app-rengaw .rw-pet-grafico circle { fill: var(--vz-secondary-bg, #FFFFFF); stroke: currentColor; stroke-width: 2; }
body.app-rengaw .rw-pet-previa { display: flex; gap: 0.5rem; align-items: center; padding: 0.6rem 0.9rem; border-radius: 0.75rem; background: var(--vz-tertiary-bg); color: var(--vz-body-color); font-size: 0.9rem; }
body.app-rengaw .rw-pet-previa i { color: var(--vz-primary); font-size: 1.1rem; }
body.app-rengaw .rw-pet-qr { max-width: 13rem; padding: 0.75rem; border-radius: 0.875rem; background: #FFFFFF; border: 1px solid #DCE3EC; }
body.app-rengaw .rw-pet-qr svg { width: 100%; height: auto; display: block; }
body.app-rengaw .rw-pet-capa { text-align: center; }
body.app-rengaw .rw-pet-capa-foto { width: 7rem; height: 7rem; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255, 255, 255, 0.85); margin-bottom: 0.75rem; }
body.app-rengaw .rw-pet-perdido { margin-bottom: 1rem; padding: 1rem 1.25rem; border-radius: 1rem; background: #B4321A; color: #FFFFFF; }
body.app-rengaw .rw-pet-perdido h2 { font-family: "Exo 2", sans-serif; font-size: 1.35rem; font-weight: 700; color: #FFFFFF; margin-bottom: 0.25rem; }
body.app-rengaw .rw-pet-contato, body.app-rengaw .rw-pet-secao { padding: 1rem 1.25rem; margin-bottom: 1rem; border: 1px solid var(--vz-border-color); border-radius: 1rem; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-pet-secao h2 { font-family: "Exo 2", sans-serif; font-size: 1.125rem; font-weight: 700; margin-bottom: 0.75rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-pet-dose { flex-wrap: wrap; }
    body.app-rengaw .rw-pet-dose form { width: 100%; justify-content: flex-end; }
}

/* ===== App plano_contratacoes (2026-10-14) ===== */
body.app-rengaw .rw-pca-situacao { display: inline-flex; align-items: center; padding: 0.125rem 0.625rem; border-radius: 999px; font-family: var(--rw-mono, "IBM Plex Mono", monospace); font-size: 0.75rem; font-weight: 600; white-space: nowrap; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-pca-situacao.enviada, body.app-rengaw .rw-pca-situacao.aguardando, body.app-rengaw .rw-pca-situacao.aprovacao, body.app-rengaw .rw-pca-situacao.consolidacao, body.app-rengaw .rw-pca-situacao.exec-em_andamento { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-pca-situacao.devolvida, body.app-rengaw .rw-pca-situacao.reprovada, body.app-rengaw .rw-pca-situacao.elaboracao { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-pca-situacao.aceita, body.app-rengaw .rw-pca-situacao.aprovada, body.app-rengaw .rw-pca-situacao.aprovado, body.app-rengaw .rw-pca-situacao.execucao, body.app-rengaw .rw-pca-situacao.exec-contratada { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pca-situacao.recusada, body.app-rengaw .rw-pca-situacao.cancelada, body.app-rengaw .rw-pca-situacao.exec-nao_sera { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.enviada, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.aguardando, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.aprovacao, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.consolidacao, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.exec-em_andamento { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.devolvida, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.reprovada, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.elaboracao { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.aceita, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.aprovada, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.aprovado, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.execucao, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.exec-contratada { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.recusada, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-pca-situacao.exec-nao_sera { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
body.app-rengaw .rw-pca-aviso { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-aviso { color: #F7C873; }
body.app-rengaw .rw-pca-barra { height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin: 0.375rem 0 0; }
body.app-rengaw .rw-pca-barra > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-pca-icone-alerta { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-icone-alerta { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
body.app-rengaw .rw-pca-cronograma { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0.75rem; counter-reset: etapa; }
body.app-rengaw .rw-pca-cronograma > li { position: relative; padding: 0.75rem 0.75rem 0.75rem 3rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-pca-cronograma-marca { position: absolute; left: 0.75rem; top: 0.75rem; display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-pca-cronograma > li.feita .rw-pca-cronograma-marca { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pca-cronograma > li.atual { border-color: var(--vz-primary); }
body.app-rengaw .rw-pca-cronograma > li.atual .rw-pca-cronograma-marca { background: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-pca-cronograma > li.atrasada .rw-pca-cronograma-marca { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-cronograma > li.feita .rw-pca-cronograma-marca { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-cronograma > li.atual .rw-pca-cronograma-marca { color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-cronograma > li.atrasada .rw-pca-cronograma-marca { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
body.app-rengaw .rw-pca-sugestao, body.app-rengaw .rw-pca-grupo { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pca-sugestao:last-child, body.app-rengaw .rw-pca-grupo:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-pca-sugestao:first-child, body.app-rengaw .rw-pca-grupo:first-child { padding-top: 0; }
body.app-rengaw .rw-pca-itens { min-width: 52rem; }
body.app-rengaw .rw-pca-itens .rw-pca-codigo { width: 7rem; }
body.app-rengaw .rw-pca-itens .rw-pca-descricao { min-width: 16rem; }
body.app-rengaw .rw-pca-itens .rw-pca-un { width: 5rem; }
body.app-rengaw .rw-pca-itens .rw-pca-num { width: 7rem; text-align: right; }
body.app-rengaw .rw-pca-itens select { width: 10rem; }
body.app-rengaw .rw-pca-trilha > li { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pca-trilha > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-pca-dif { padding: 0.25rem 0.5rem; border-radius: 8px; margin-bottom: 0.25rem; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-pca-dif.incluido { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pca-dif.excluido { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-pca-dif.alterado { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-dif.incluido { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-dif.excluido { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
[data-bs-theme="dark"] body.app-rengaw .rw-pca-dif.alterado { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
body.app-rengaw .rw-pca-normas { padding-left: 1.1rem; margin: 0; }
body.app-rengaw .rw-pca-normas > li { margin-bottom: 0.625rem; }
body.app-rengaw .rw-pca-normas > li:last-child { margin-bottom: 0; }
body.app-rengaw .rw-pca-normas .text-muted { display: block; font-size: 0.8125rem; margin-top: 0.125rem; }
body.app-rengaw .rw-pca-publico .card { border-radius: 16px; }

/* ===== App controle_frota (2026-10-14) ===== */
/* Controle de frota: selos (requisição, veículo, manutenção, multa, sinistro), citação de norma, alertas do painel,
 * gráfico de custo por mês, barras de custo por veículo, placa, checklist da saída e a página de normas. Claro e escuro. */
body.app-rengaw .rw-fr-sel { font-weight: 600; }
body.app-rengaw .rw-fr-req-cancelada, body.app-rengaw .rw-fr-req-concluida, body.app-rengaw .rw-fr-veic-inativo, body.app-rengaw .rw-fr-sel-inativo, body.app-rengaw .rw-fr-man-cancelada, body.app-rengaw .rw-fr-multa-cancelada, body.app-rengaw .rw-fr-sin-encerrado, body.app-rengaw .rw-fr-man-agendada { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-fr-req-aprovada, body.app-rengaw .rw-fr-req-em_uso, body.app-rengaw .rw-fr-veic-em_uso, body.app-rengaw .rw-fr-sel-uso, body.app-rengaw .rw-fr-sel-publico, body.app-rengaw .rw-fr-multa-indicado, body.app-rengaw .rw-fr-multa-recurso, body.app-rengaw .rw-fr-sin-apuracao { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-fr-veic-disponivel, body.app-rengaw .rw-fr-sel-ok, body.app-rengaw .rw-fr-sel-todos, body.app-rengaw .rw-fr-man-concluida, body.app-rengaw .rw-fr-multa-paga { background: #E3F6F2; color: #087565; }
body.app-rengaw .rw-fr-req-pendente, body.app-rengaw .rw-fr-veic-manutencao, body.app-rengaw .rw-fr-sel-atencao, body.app-rengaw .rw-fr-man-oficina, body.app-rengaw .rw-fr-sin-aberto { background: #FEF3E0; color: #8A5200; }
body.app-rengaw .rw-fr-req-recusada, body.app-rengaw .rw-fr-sel-perigo, body.app-rengaw .rw-fr-multa-recebida { background: #FDECE8; color: #B5371C; }
[data-bs-theme="dark"] body.app-rengaw .rw-fr-req-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-fr-req-concluida, [data-bs-theme="dark"] body.app-rengaw .rw-fr-veic-inativo, [data-bs-theme="dark"] body.app-rengaw .rw-fr-sel-inativo, [data-bs-theme="dark"] body.app-rengaw .rw-fr-man-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-fr-multa-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-fr-sin-encerrado, [data-bs-theme="dark"] body.app-rengaw .rw-fr-man-agendada { background: rgba(255, 255, 255, 0.08); color: #C3CDD9; }
[data-bs-theme="dark"] body.app-rengaw .rw-fr-req-aprovada, [data-bs-theme="dark"] body.app-rengaw .rw-fr-req-em_uso, [data-bs-theme="dark"] body.app-rengaw .rw-fr-veic-em_uso, [data-bs-theme="dark"] body.app-rengaw .rw-fr-sel-uso, [data-bs-theme="dark"] body.app-rengaw .rw-fr-sel-publico, [data-bs-theme="dark"] body.app-rengaw .rw-fr-multa-indicado, [data-bs-theme="dark"] body.app-rengaw .rw-fr-multa-recurso, [data-bs-theme="dark"] body.app-rengaw .rw-fr-sin-apuracao { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-fr-veic-disponivel, [data-bs-theme="dark"] body.app-rengaw .rw-fr-sel-ok, [data-bs-theme="dark"] body.app-rengaw .rw-fr-sel-todos, [data-bs-theme="dark"] body.app-rengaw .rw-fr-man-concluida, [data-bs-theme="dark"] body.app-rengaw .rw-fr-multa-paga { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-fr-req-pendente, [data-bs-theme="dark"] body.app-rengaw .rw-fr-veic-manutencao, [data-bs-theme="dark"] body.app-rengaw .rw-fr-sel-atencao, [data-bs-theme="dark"] body.app-rengaw .rw-fr-man-oficina, [data-bs-theme="dark"] body.app-rengaw .rw-fr-sin-aberto { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-fr-req-recusada, [data-bs-theme="dark"] body.app-rengaw .rw-fr-sel-perigo, [data-bs-theme="dark"] body.app-rengaw .rw-fr-multa-recebida { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-fr-texto-atencao { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-fr-texto-atencao { color: #F7C873; }
body.app-rengaw .rw-fr-contagem { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); font-weight: 600; }

/* Citação de norma ao lado de um texto e a lista da página Normas. */
body.app-rengaw .rw-fr-norma { display: inline-flex; align-items: center; gap: 0.25rem; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; padding: 0.0625rem 0.5rem; border-radius: 999px; border: 1px solid var(--vz-border-color); color: var(--vz-secondary-color); text-decoration: none; white-space: nowrap; }
body.app-rengaw .rw-fr-norma:hover { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-fr-itens-norma { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-fr-itens-norma li { display: grid; grid-template-columns: minmax(7rem, 11rem) minmax(0, 1fr); gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fr-itens-norma li:last-child { border-bottom: 0; }
body.app-rengaw .rw-fr-itens-norma li > span:only-child { grid-column: 1 / -1; }
@media (max-width: 575.98px) { body.app-rengaw .rw-fr-itens-norma li { grid-template-columns: 1fr; gap: 0.125rem; } body.app-rengaw .rw-fr-norma { white-space: normal; } }

/* Alertas e ícones por nível. */
body.app-rengaw .rw-fr-alerta-perigo, body.app-rengaw .rw-fr-plano-vencida, body.app-rengaw .rw-fr-doc-vencido { background: #FDECE8; color: #B5371C; }
body.app-rengaw .rw-fr-alerta-atencao, body.app-rengaw .rw-fr-plano-proxima, body.app-rengaw .rw-fr-plano-sem_historico, body.app-rengaw .rw-fr-doc-proximo { background: #FEF3E0; color: #8A5200; }
body.app-rengaw .rw-fr-alerta-ok, body.app-rengaw .rw-fr-plano-ok, body.app-rengaw .rw-fr-doc-ok { background: #E3F6F2; color: #087565; }
[data-bs-theme="dark"] body.app-rengaw .rw-fr-alerta-perigo, [data-bs-theme="dark"] body.app-rengaw .rw-fr-plano-vencida, [data-bs-theme="dark"] body.app-rengaw .rw-fr-doc-vencido { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-fr-alerta-atencao, [data-bs-theme="dark"] body.app-rengaw .rw-fr-plano-proxima, [data-bs-theme="dark"] body.app-rengaw .rw-fr-plano-sem_historico, [data-bs-theme="dark"] body.app-rengaw .rw-fr-doc-proximo { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-fr-alerta-ok, [data-bs-theme="dark"] body.app-rengaw .rw-fr-plano-ok, [data-bs-theme="dark"] body.app-rengaw .rw-fr-doc-ok { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
body.app-rengaw .rw-fr-rolagem { max-height: 26rem; overflow-y: auto; position: relative; }

/* Gráfico de custo por mês (barras empilhadas) e barras de custo por veículo. */
body.app-rengaw { --rw-fr-comb: #006ECB; --rw-fr-manut: #F7B84B; }
[data-bs-theme="dark"] body.app-rengaw { --rw-fr-comb: #0090F4; }
body.app-rengaw .rw-fr-meses { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.75rem; align-items: end; height: 11rem; }
body.app-rengaw .rw-fr-mes { display: flex; flex-direction: column; align-items: center; gap: 0.375rem; height: 100%; }
body.app-rengaw .rw-fr-mes-barra { flex: 1 1 auto; width: 100%; max-width: 2.5rem; display: flex; flex-direction: column-reverse; border-radius: 8px; overflow: hidden; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-fr-mes-barra span { display: block; width: 100%; }
body.app-rengaw .rw-fr-mes-comb { background: var(--rw-fr-comb); }
body.app-rengaw .rw-fr-mes-manut { background: var(--rw-fr-manut); }
body.app-rengaw .rw-fr-mes-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-fr-legenda { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-fr-legenda span { display: inline-flex; align-items: center; gap: 0.375rem; }
body.app-rengaw .rw-fr-legenda i { display: inline-block; width: 0.75rem; height: 0.75rem; border-radius: 3px; }
body.app-rengaw .rw-fr-custo { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fr-custo:last-child { border-bottom: 0; }
body.app-rengaw .rw-fr-barra { height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin: 0.375rem 0 0.25rem; }
body.app-rengaw .rw-fr-barra > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }

/* Placa, primeiros passos e checklist. */
body.app-rengaw .rw-fr-placa { display: inline-block; font-family: "IBM Plex Mono", monospace; font-weight: 600; letter-spacing: 0.08em; padding: 0.125rem 0.5rem; border: 2px solid #061C3D; border-top-width: 5px; border-top-color: #003387; border-radius: 6px; background: #FFFFFF; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-fr-placa { border-color: #C3CDD9; border-top-color: #0090F4; background: #0C2348; color: #FFFFFF; }
body.app-rengaw .rw-fr-passos { padding-left: 1.25rem; margin: 0; }
body.app-rengaw .rw-fr-passos li { padding: 0.125rem 0; }
body.app-rengaw .rw-fr-check { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fr-check:last-child { border-bottom: 0; }
body.app-rengaw .rw-fr-check-obs { flex: 1 1 100%; }
@media (max-width: 575.98px) { body.app-rengaw .rw-fr-meses { gap: 0.375rem; height: 9rem; } }

/* ===== App mapa_riscos (2026-10-14) ===== */
/* Mapa de riscos da contratação: selos de situação e de nível (faixas baixo, médio, alto, extremo), etapas do
 * assistente, matriz de calor 5x5, sugestões do banco de riscos, tratamento, trilha e normas. Claro e escuro. */
body.app-rengaw .rw-mr-situacao, body.app-rengaw .rw-mr-nivel, body.app-rengaw .rw-mr-fase { display: inline-flex; align-items: center; padding: 0.125rem 0.625rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; white-space: nowrap; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-mr-fase { font-family: inherit; font-weight: 500; }
body.app-rengaw .rw-mr-situacao.aguardando, body.app-rengaw .rw-mr-situacao.andamento, body.app-rengaw .rw-mr-situacao.elaboracao { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-mr-situacao.vigente, body.app-rengaw .rw-mr-situacao.aprovada, body.app-rengaw .rw-mr-situacao.concluida { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-mr-situacao.devolvida, body.app-rengaw .rw-mr-situacao.pendente { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-mr-situacao.ocorreu { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-situacao.aguardando, [data-bs-theme="dark"] body.app-rengaw .rw-mr-situacao.andamento, [data-bs-theme="dark"] body.app-rengaw .rw-mr-situacao.elaboracao { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-situacao.vigente, [data-bs-theme="dark"] body.app-rengaw .rw-mr-situacao.aprovada, [data-bs-theme="dark"] body.app-rengaw .rw-mr-situacao.concluida { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-situacao.devolvida, [data-bs-theme="dark"] body.app-rengaw .rw-mr-situacao.pendente { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-situacao.ocorreu { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
/* Faixas de nível: o mesmo tom no selo e na matriz. */
body.app-rengaw .rw-mr-nivel.baixo, body.app-rengaw .rw-mr-matriz td.baixo, body.app-rengaw .rw-mr-cor.baixo { background: #D7F2EC; color: #06604F; }
body.app-rengaw .rw-mr-nivel.medio, body.app-rengaw .rw-mr-matriz td.medio, body.app-rengaw .rw-mr-cor.medio { background: #FDEFC9; color: #7A4A00; }
body.app-rengaw .rw-mr-nivel.alto, body.app-rengaw .rw-mr-matriz td.alto, body.app-rengaw .rw-mr-cor.alto { background: #FBD5C3; color: #8F2D0E; }
body.app-rengaw .rw-mr-nivel.extremo, body.app-rengaw .rw-mr-matriz td.extremo, body.app-rengaw .rw-mr-cor.extremo { background: #F6B4A6; color: #7A1A06; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-nivel.baixo, [data-bs-theme="dark"] body.app-rengaw .rw-mr-matriz td.baixo, [data-bs-theme="dark"] body.app-rengaw .rw-mr-cor.baixo { background: rgba(10, 179, 156, 0.32); color: #9CF0E1; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-nivel.medio, [data-bs-theme="dark"] body.app-rengaw .rw-mr-matriz td.medio, [data-bs-theme="dark"] body.app-rengaw .rw-mr-cor.medio { background: rgba(247, 184, 75, 0.36); color: #FFE2A8; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-nivel.alto, [data-bs-theme="dark"] body.app-rengaw .rw-mr-matriz td.alto, [data-bs-theme="dark"] body.app-rengaw .rw-mr-cor.alto { background: rgba(240, 101, 72, 0.40); color: #FFC9B8; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-nivel.extremo, [data-bs-theme="dark"] body.app-rengaw .rw-mr-matriz td.extremo, [data-bs-theme="dark"] body.app-rengaw .rw-mr-cor.extremo { background: rgba(220, 53, 30, 0.62); color: #FFE3DC; }
body.app-rengaw .rw-mr-aviso { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-aviso { color: #F7C873; }
body.app-rengaw .rw-mr-icone-alerta { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-icone-alerta { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
body.app-rengaw .rw-mr-norma { display: inline-flex; align-items: center; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; padding: 0.0625rem 0.5rem; border-radius: 999px; border: 1px solid var(--vz-border-color); color: var(--vz-secondary-color); text-decoration: none; white-space: nowrap; }
body.app-rengaw .rw-mr-norma:hover { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-mr-codigo { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; }
/* Etapas do assistente. */
body.app-rengaw .rw-mr-etapas { display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 1rem; }
body.app-rengaw .rw-mr-etapas a { position: relative; display: block; height: 100%; padding: 0.625rem 0.75rem 0.625rem 2.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-secondary-bg); color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-mr-etapas a:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-mr-etapa-marca { position: absolute; left: 0.625rem; top: 0.625rem; display: inline-flex; align-items: center; justify-content: center; width: 1.625rem; height: 1.625rem; border-radius: 50%; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-mr-etapas li.feita .rw-mr-etapa-marca { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-mr-etapas li.atual a { border-color: var(--vz-primary); box-shadow: inset 0 -3px 0 var(--vz-primary); }
body.app-rengaw .rw-mr-etapas li.atual .rw-mr-etapa-marca { background: var(--vz-primary); color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-etapas li.feita .rw-mr-etapa-marca { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-etapas li.atual .rw-mr-etapa-marca { background: var(--vz-primary); color: #061C3D; }
/* Matriz de calor. */
body.app-rengaw .rw-mr-matriz-caixa { overflow-x: auto; position: relative; }
body.app-rengaw .rw-mr-matriz { border-collapse: separate; border-spacing: 4px; width: 100%; min-width: 17rem; table-layout: fixed; }
body.app-rengaw .rw-mr-matriz td { height: 3.25rem; border-radius: 8px; text-align: center; vertical-align: middle; padding: 0.125rem; }
body.app-rengaw .rw-mr-matriz td.marcada { outline: 3px solid var(--vz-primary); outline-offset: -3px; }
body.app-rengaw form .rw-mr-matriz td[data-p] { cursor: pointer; }
body.app-rengaw .rw-mr-eixo { width: 1.75rem; text-align: center; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; color: var(--vz-secondary-color); font-weight: 600; }
body.app-rengaw .rw-mr-eixo-y { width: 1.5rem; padding: 0; }
body.app-rengaw .rw-mr-eixo-y span, body.app-rengaw .rw-mr-eixo-x { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); font-weight: 600; }
body.app-rengaw .rw-mr-eixo-y span { display: inline-block; writing-mode: vertical-rl; transform: rotate(180deg); }
body.app-rengaw .rw-mr-eixo-x { text-align: center; }
body.app-rengaw .rw-mr-marca { display: inline-block; margin: 1px; padding: 0 0.3rem; border-radius: 6px; background: rgba(255, 255, 255, 0.75); color: #061C3D; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 700; text-decoration: none; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-marca { background: rgba(6, 28, 61, 0.7); color: #FFFFFF; }
body.app-rengaw .rw-mr-vazio { font-size: 0.6875rem; opacity: 0.55; }
body.app-rengaw .rw-mr-legenda { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.5rem; font-size: 0.8125rem; }
body.app-rengaw .rw-mr-legenda li { display: inline-flex; align-items: center; gap: 0.375rem; }
body.app-rengaw .rw-mr-cor { display: inline-block; width: 0.875rem; height: 0.875rem; border-radius: 4px; }
/* Sugestões, tratamento, trilha, diferenças e normas. */
body.app-rengaw .rw-mr-sugestao, body.app-rengaw .rw-mr-tratamento { padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-mr-sugestao:first-child, body.app-rengaw .rw-mr-tratamento:first-child { padding-top: 0; }
body.app-rengaw .rw-mr-sugestao:last-child, body.app-rengaw .rw-mr-tratamento:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-mr-sugestao.importada { opacity: 0.6; }
body.app-rengaw .rw-mr-sugestao-dados { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 0.25rem 1rem; margin: 0.5rem 0 0.5rem 1.75rem; font-size: 0.875rem; }
body.app-rengaw .rw-mr-sugestao-dados dt { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--vz-secondary-color); font-weight: 600; }
body.app-rengaw .rw-mr-sugestao-dados dd { margin-bottom: 0.25rem; }
body.app-rengaw .rw-mr-destaque .card-body { background: var(--vz-secondary-bg); border-radius: 16px; }
body.app-rengaw .rw-mr-barra-acoes { position: sticky; bottom: 0; padding: 0.75rem 0; background: var(--vz-body-bg); z-index: 2; }
body.app-rengaw .rw-mr-menu { min-width: 17rem; }
body.app-rengaw .rw-mr-filtros { display: flex; flex-wrap: wrap; gap: 0.375rem; }
body.app-rengaw .rw-mr-nova-acao { padding-bottom: 0.5rem; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-mr-trilha > li { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-mr-trilha > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-mr-dif { padding: 0.25rem 0.5rem; border-radius: 8px; margin-bottom: 0.25rem; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-mr-dif.incluido { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-mr-dif.excluido { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-mr-dif.alterado { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-dif.incluido { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-dif.excluido { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
[data-bs-theme="dark"] body.app-rengaw .rw-mr-dif.alterado { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
body.app-rengaw .rw-mr-normas { padding-left: 1.1rem; margin: 0; }
body.app-rengaw .rw-mr-normas > li { margin-bottom: 0.625rem; }
body.app-rengaw .rw-mr-normas > li:last-child { margin-bottom: 0; }
body.app-rengaw .rw-mr-normas .text-muted { display: block; font-size: 0.8125rem; margin-top: 0.125rem; }
@media (max-width: 575.98px) { body.app-rengaw .rw-mr-matriz td { height: 2.5rem; } body.app-rengaw .rw-mr-sugestao-dados { margin-left: 0; } }

/* ===== App atas_registro_precos (2026-10-14) ===== */
body.app-rengaw .rw-arp-situacao { display: inline-flex; align-items: center; padding: 0.125rem 0.625rem; border-radius: 999px; font-family: var(--rw-mono, "IBM Plex Mono", monospace); font-size: 0.75rem; font-weight: 600; white-space: nowrap; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-arp-situacao.vigente, body.app-rengaw .rw-arp-situacao.ativo, body.app-rengaw .rw-arp-situacao.autorizada, body.app-rengaw .rw-arp-situacao.emitido { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-arp-situacao.futura, body.app-rengaw .rw-arp-situacao.solicitada, body.app-rengaw .rw-arp-situacao.aceita_fornecedor { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-arp-situacao.suspenso { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-arp-situacao.cancelada, body.app-rengaw .rw-arp-situacao.cancelado, body.app-rengaw .rw-arp-situacao.negada { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-arp-situacao.vigente, [data-bs-theme="dark"] body.app-rengaw .rw-arp-situacao.ativo, [data-bs-theme="dark"] body.app-rengaw .rw-arp-situacao.autorizada, [data-bs-theme="dark"] body.app-rengaw .rw-arp-situacao.emitido { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-arp-situacao.futura, [data-bs-theme="dark"] body.app-rengaw .rw-arp-situacao.solicitada, [data-bs-theme="dark"] body.app-rengaw .rw-arp-situacao.aceita_fornecedor { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-arp-situacao.suspenso { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-arp-situacao.cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-arp-situacao.cancelado, [data-bs-theme="dark"] body.app-rengaw .rw-arp-situacao.negada { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
body.app-rengaw .rw-arp-aviso { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-arp-aviso { color: #F7C873; }
body.app-rengaw .rw-arp-ok { color: #067A6A; }
[data-bs-theme="dark"] body.app-rengaw .rw-arp-ok { color: #5FD9C5; }
body.app-rengaw .rw-arp-barra { height: 0.375rem; min-width: 4rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin: 0.375rem 0 0; }
body.app-rengaw .rw-arp-barra > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-arp-icone-alerta { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-arp-icone-alerta { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
body.app-rengaw .rw-arp-dias { font-family: var(--rw-mono, "IBM Plex Mono", monospace); font-size: 0.75rem; white-space: nowrap; color: var(--vz-secondary-color); }
body.app-rengaw .rw-arp-norma { display: inline-flex; align-items: flex-start; gap: 0.375rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-arp-norma i { color: var(--vz-primary); margin-top: 0.125rem; }
body.app-rengaw .rw-arp-normas { padding-left: 1.1rem; margin: 0; }
body.app-rengaw .rw-arp-normas > li { margin-bottom: 0.625rem; }
body.app-rengaw .rw-arp-normas > li:last-child { margin-bottom: 0; }
body.app-rengaw .rw-arp-normas .text-muted { display: block; font-size: 0.8125rem; margin-top: 0.125rem; }
body.app-rengaw .rw-arp-trilha > li { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-arp-trilha > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-arp-etapas { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0.75rem; margin-bottom: 1rem; }
body.app-rengaw .rw-arp-etapas > li { position: relative; padding: 0.75rem 0.75rem 0.75rem 3rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-arp-etapa-marca { position: absolute; left: 0.75rem; top: 0.75rem; display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-arp-etapas > li.feita .rw-arp-etapa-marca { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-arp-etapas > li.atual { border-color: var(--vz-primary); }
body.app-rengaw .rw-arp-etapas > li.atual .rw-arp-etapa-marca { background: var(--vz-primary); color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-arp-etapas > li.feita .rw-arp-etapa-marca { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-arp-etapas > li.atual .rw-arp-etapa-marca { color: #061C3D; }
body.app-rengaw .rw-arp-col-qtd { width: 9rem; min-width: 7rem; }
body.app-rengaw .rw-arp-colunas { padding: 0.5rem 0.75rem; border-radius: 10px; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-arp-publico .card { border-radius: 16px; }
body.app-rengaw .rw-arp-tabela td:first-child { min-width: 13rem; }

/* ===== App transparencia (2026-10-14) =====
 * Transparência fácil: selos de situação, prazos, radar, listas e linha do tempo (gestão) e o portal público
 * (topo do órgão, menu, barra de acessibilidade com alto contraste e tamanho da letra, rodapé). Claro e escuro. */
body.app-rengaw .rw-tr-situacao { display: inline-flex; align-items: center; padding: 0.125rem 0.625rem; border-radius: 999px; font-family: var(--rw-mono, "IBM Plex Mono", monospace); font-size: 0.75rem; font-weight: 600; white-space: nowrap; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-tr-situacao.aberto, body.app-rengaw .rw-tr-situacao.aberta, body.app-rengaw .rw-tr-situacao.recurso, body.app-rengaw .rw-tr-situacao.radar-manual { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-tr-situacao.prorrogado, body.app-rengaw .rw-tr-situacao.prorrogada, body.app-rengaw .rw-tr-situacao.radar-parcial, body.app-rengaw .rw-tr-situacao.resultado-parcial, body.app-rengaw .rw-tr-situacao.resultado-outro_orgao, body.app-rengaw .rw-tr-situacao.resultado-inexistente { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-tr-situacao.respondido, body.app-rengaw .rw-tr-situacao.respondida, body.app-rengaw .rw-tr-situacao.recurso_julgado, body.app-rengaw .rw-tr-situacao.radar-atende, body.app-rengaw .rw-tr-situacao.resultado-concedido { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-tr-situacao.radar-nao, body.app-rengaw .rw-tr-situacao.resultado-negado { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.aberto, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.aberta, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.recurso, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.radar-manual { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.prorrogado, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.prorrogada, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.radar-parcial, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.resultado-parcial, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.resultado-outro_orgao, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.resultado-inexistente { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.respondido, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.respondida, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.recurso_julgado, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.radar-atende, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.resultado-concedido { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.radar-nao, [data-bs-theme="dark"] body.app-rengaw .rw-tr-situacao.resultado-negado { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
body.app-rengaw .rw-tr-prazo { font-family: var(--rw-mono, "IBM Plex Mono", monospace); font-size: 0.8125rem; white-space: nowrap; }
body.app-rengaw .rw-tr-prazo.vencido { color: #B4321A; font-weight: 600; }
body.app-rengaw .rw-tr-prazo.hoje { color: #8A5200; font-weight: 600; }
[data-bs-theme="dark"] body.app-rengaw .rw-tr-prazo.vencido { color: #FF9C86; }
[data-bs-theme="dark"] body.app-rengaw .rw-tr-prazo.hoje { color: #F7C873; }
body.app-rengaw .rw-tr-radar-numero { font-family: var(--rw-titulo, "Exo 2", sans-serif); font-weight: 700; font-size: 2.25rem; line-height: 1; color: var(--vz-primary); min-width: 5.5rem; }
body.app-rengaw .rw-tr-barra { height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; }
body.app-rengaw .rw-tr-barra > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-tr-lista > li { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tr-lista > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-tr-criterios > li { padding: 0.75rem 1.25rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tr-criterios > li:first-child { border-top: 0; }
body.app-rengaw .rw-tr-criterios .rw-tr-situacao { min-width: 5.5rem; justify-content: center; }
body.app-rengaw .rw-tr-classe { font-family: var(--rw-mono, "IBM Plex Mono", monospace); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; }
body.app-rengaw .rw-tr-classe.essencial { color: #B4321A; font-weight: 600; }
[data-bs-theme="dark"] body.app-rengaw .rw-tr-classe.essencial { color: #FF9C86; }
body.app-rengaw .rw-tr-linha-tempo { list-style: none; margin: 0; padding: 0 0 0 1rem; border-left: 2px solid var(--vz-border-color); }
body.app-rengaw .rw-tr-linha-tempo > li { position: relative; padding: 0 0 0.875rem 0.75rem; }
body.app-rengaw .rw-tr-linha-tempo > li::before { content: ""; position: absolute; left: -1.4375rem; top: 0.3rem; width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--vz-primary); border: 2px solid var(--vz-secondary-bg); }
body.app-rengaw .rw-tr-normas { padding-left: 1.1rem; margin-bottom: 0.75rem; }
body.app-rengaw .rw-tr-normas > li { margin-bottom: 0.5rem; }
body.app-rengaw .rw-tr-normas > li .text-muted { display: block; }
body.app-rengaw .rw-tr-colunas { padding-left: 1rem; }
body.app-rengaw .rw-tr-qr { width: 7rem; flex-shrink: 0; background: #FFFFFF; border-radius: 10px; padding: 0.25rem; }
body.app-rengaw .rw-tr-qr svg { width: 100%; height: auto; display: block; }

/* Portal público */
body.rw-tr-publico { background: var(--vz-body-bg); font-size: calc(1rem * var(--rw-tr-escala, 1)); }
html.rw-tr-fonte-ajustada body.rw-tr-publico .small, html.rw-tr-fonte-ajustada body.rw-tr-publico .form-text { font-size: calc(0.875rem * var(--rw-tr-escala, 1)); }
html.rw-tr-fonte-ajustada body.rw-tr-publico .table, html.rw-tr-fonte-ajustada body.rw-tr-publico .form-control, html.rw-tr-fonte-ajustada body.rw-tr-publico .btn { font-size: calc(0.8125rem * var(--rw-tr-escala, 1)); }
body.rw-tr-publico .rw-tr-largura { width: 100%; max-width: 72rem; margin: 0 auto; padding-left: 1rem; padding-right: 1rem; box-sizing: border-box; }
body.rw-tr-publico .rw-tr-acessibilidade { background: #030F22; color: #D6E4F5; padding: 0.375rem 0; }
body.rw-tr-publico .rw-tr-botao-a11y { color: #FFFFFF; border: 1px solid rgba(255, 255, 255, 0.35); background: transparent; padding: 0.125rem 0.625rem; }
body.rw-tr-publico .rw-tr-botao-a11y:hover, body.rw-tr-publico .rw-tr-botao-a11y:focus-visible, body.rw-tr-publico .rw-tr-botao-a11y[aria-pressed="true"] { background: #FFFFFF; color: #061C3D; }
body.rw-tr-publico .rw-tr-topo { background: #061C3D; color: #FFFFFF; padding-top: 1.75rem; border-bottom: 4px solid #0090F4; }
body.rw-tr-publico .rw-tr-topo-sobre { font-family: var(--rw-mono, "IBM Plex Mono", monospace); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: #8FCBFF; }
body.rw-tr-publico .rw-tr-topo-nome { display: inline-block; font-family: var(--rw-titulo, "Exo 2", sans-serif); font-weight: 700; font-size: 1.75rem; line-height: 1.2; color: #FFFFFF; text-decoration: none; }
body.rw-tr-publico .rw-tr-topo-local { color: rgba(255, 255, 255, 0.8); }
body.rw-tr-publico .rw-tr-topo-busca { display: flex; gap: 0.5rem; max-width: 40rem; }
body.rw-tr-publico .rw-tr-topo-busca .form-control { background: #FFFFFF; color: #061C3D; border-color: transparent; }
body.rw-tr-publico .rw-tr-topo-busca .btn { background: #0090F4; border-color: #0090F4; color: #061C3D; }
body.rw-tr-publico .rw-tr-menu { margin-top: 1.25rem; background: rgba(255, 255, 255, 0.06); }
body.rw-tr-publico .rw-tr-menu .rw-tr-largura { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; padding-top: 0.625rem; padding-bottom: 0.625rem; }
body.rw-tr-publico .rw-tr-menu a { color: #FFFFFF; text-decoration: none; font-weight: 500; }
body.rw-tr-publico .rw-tr-menu a:hover, body.rw-tr-publico .rw-tr-menu a:focus-visible { text-decoration: underline; }
body.rw-tr-publico .rw-tr-previa { background: #FEF4E4; color: #6B3F00; padding: 0.5rem 0; font-size: 0.875rem; }
body.rw-tr-publico .rw-tr-rodape { background: #061C3D; color: #D6E4F5; padding: 2rem 0 1.25rem; margin-top: 2rem; }
body.rw-tr-publico .rw-tr-rodape a { color: #8FCBFF; }
body.rw-tr-publico > footer.text-muted { color: inherit; padding: 0; }
body.rw-tr-publico .rw-tr-cartao-secao { text-decoration: none; color: inherit; transition: border-color 0.15s ease; }
body.rw-tr-publico .rw-tr-cartao-secao:hover, body.rw-tr-publico .rw-tr-cartao-secao:focus-visible { border-color: var(--vz-primary); }
body.rw-tr-publico .rw-tr-cartao-titulo { font-family: var(--rw-titulo, "Exo 2", sans-serif); }
body.app-rengaw .rw-tr-resposta { padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tr-resposta:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-tr-resposta summary { cursor: pointer; font-weight: 500; }
[data-bs-theme="dark"] body.rw-tr-publico .rw-tr-topo, [data-bs-theme="dark"] body.rw-tr-publico .rw-tr-rodape { background: #030F22; }
[data-bs-theme="dark"] body.rw-tr-publico .rw-tr-previa { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
@media (max-width: 575.98px) {
    body.rw-tr-publico .rw-tr-topo-nome { font-size: 1.375rem; }
}
/* Alto contraste (botão do portal): preto, branco e amarelo, sem cores decorativas. */
html.rw-tr-alto-contraste body.rw-tr-publico, html.rw-tr-alto-contraste body.rw-tr-publico .card, html.rw-tr-alto-contraste body.rw-tr-publico .card-header, html.rw-tr-alto-contraste body.rw-tr-publico .table, html.rw-tr-alto-contraste body.rw-tr-publico .table > :not(caption) > * > *, html.rw-tr-alto-contraste body.rw-tr-publico .rw-tr-topo, html.rw-tr-alto-contraste body.rw-tr-publico .rw-tr-rodape, html.rw-tr-alto-contraste body.rw-tr-publico .form-control, html.rw-tr-alto-contraste body.rw-tr-publico .form-select, html.rw-tr-alto-contraste body.rw-tr-publico .alert { background: #000000 !important; color: #FFFFFF !important; border-color: #FFFFFF !important; }
html.rw-tr-alto-contraste body.rw-tr-publico a, html.rw-tr-alto-contraste body.rw-tr-publico .text-muted, html.rw-tr-alto-contraste body.rw-tr-publico .text-primary, html.rw-tr-alto-contraste body.rw-tr-publico .rw-tr-topo-sobre { color: #FFFF00 !important; }
html.rw-tr-alto-contraste body.rw-tr-publico .btn { background: #000000 !important; color: #FFFF00 !important; border: 2px solid #FFFF00 !important; }
html.rw-tr-alto-contraste body.rw-tr-publico .app-icon-badge { background: #000000 !important; color: #FFFF00 !important; border: 1px solid #FFFF00; }

/* ===== App links_quebrados (2026-10-14) ===== */
/* Caçador de links quebrados: selo de saúde (boa, atenção, ruim), selos de resultado e de situação, evolução em colunas,
 * linha do site no painel, progresso da varredura e a página pública do robô. Claro e escuro. */
body.app-rengaw .rw-lq-numero { font-family: var(--rw-titulo); font-size: 1.75rem; font-weight: 600; line-height: 1.2; }
body.app-rengaw .rw-lq-saude { display: inline-block; padding: 0.15rem 0.6rem; border-radius: 999px; font-family: var(--rw-titulo); font-weight: 600; font-size: 0.9375rem; white-space: nowrap; }
body.app-rengaw .rw-lq-numero .rw-lq-saude { font-size: 1.5rem; padding: 0.1rem 0.75rem; }
body.app-rengaw .rw-lq-saude-boa { background: #E8F7EE; color: #17663A; }
body.app-rengaw .rw-lq-saude-atencao { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-lq-saude-ruim { background: #FDECE8; color: #A8331A; }
body.app-rengaw .rw-lq-saude-sem { background: #EEF1F5; color: #4F5D6E; font-family: var(--rw-mono); font-size: 0.75rem; font-weight: 500; }
body.app-rengaw .rw-lq-res, body.app-rengaw .rw-lq-sit, body.app-rengaw .rw-lq-novo { font-weight: 600; font-size: 0.75rem; white-space: normal; text-align: left; }
body.app-rengaw .rw-lq-res-ok, body.app-rengaw .rw-lq-sit-concluida { background: #E8F7EE; color: #17663A; }
body.app-rengaw .rw-lq-res-redirecionado, body.app-rengaw .rw-lq-sit-na_fila, body.app-rengaw .rw-lq-sit-executando { background: #E6F2FD; color: #0057A3; }
body.app-rengaw .rw-lq-res-quebrado, body.app-rengaw .rw-lq-res-erro_servidor, body.app-rengaw .rw-lq-res-dns, body.app-rengaw .rw-lq-res-ssl, body.app-rengaw .rw-lq-res-conexao, body.app-rengaw .rw-lq-res-tempo, body.app-rengaw .rw-lq-sit-falhou { background: #FDECE8; color: #A8331A; }
body.app-rengaw .rw-lq-res-ancora, body.app-rengaw .rw-lq-res-restrito { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-lq-res-bloqueado, body.app-rengaw .rw-lq-res-robots, body.app-rengaw .rw-lq-sit-cancelada { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-lq-novo { background: #061C3D; color: #FFFFFF; }
body.app-rengaw .rw-lq-url { min-width: 14rem; max-width: 28rem; }
body.app-rengaw .rw-lq-mais summary { cursor: pointer; color: var(--vz-primary); }
body.app-rengaw .rw-lq-site-linha { display: grid; grid-template-columns: minmax(0, 1fr) minmax(6rem, 10rem) auto; gap: 1rem; align-items: center; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-lq-site-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-lq-site-nome { min-width: 0; }
body.app-rengaw .rw-lq-site-nome:hover .fw-medium { color: var(--vz-primary); }
body.app-rengaw .rw-lq-evolucao { display: flex; align-items: flex-end; gap: 0.25rem; height: 3.5rem; }
body.app-rengaw .card-body > .rw-lq-evolucao { height: 8rem; gap: 0.5rem; }
body.app-rengaw .rw-lq-evolucao-item { flex: 1 1 0; max-width: 2.5rem; height: 100%; display: flex; }
body.app-rengaw .rw-lq-evolucao-coluna { position: relative; width: 100%; height: 100%; border-radius: 0.375rem; background: var(--vz-tertiary-bg); overflow: hidden; }
body.app-rengaw .rw-lq-evolucao-coluna > span { position: absolute; left: 0; right: 0; bottom: 0; border-radius: 0.375rem 0.375rem 0 0; min-height: 2px; }
body.app-rengaw .rw-lq-faixa-boa { background: #2EA05A; }
body.app-rengaw .rw-lq-faixa-atencao { background: #F7B84B; }
body.app-rengaw .rw-lq-faixa-ruim { background: #F06548; }
body.app-rengaw .rw-lq-faixa-sem { background: #B5C0CE; }
body.app-rengaw .rw-lq-pulso { width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--vz-primary); animation: rw-lq-pulso 1.4s ease-in-out infinite; }
@keyframes rw-lq-pulso { 0%, 100% { opacity: 1; } 50% { opacity: 0.25; } }
@media (prefers-reduced-motion: reduce) { body.app-rengaw .rw-lq-pulso { animation: none; } }
body.app-rengaw .rw-lq-codigo { padding: 0.75rem 1rem; border-radius: 10px; background: var(--vz-tertiary-bg); font-family: var(--rw-mono); font-size: 0.8125rem; white-space: pre-wrap; }
body.app-rengaw .rw-lq-robo .card { margin-bottom: 1rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-lq-site-linha { grid-template-columns: minmax(0, 1fr) auto; }
    body.app-rengaw .rw-lq-site-evolucao { grid-column: 1 / -1; grid-row: 2; }
    body.app-rengaw .rw-lq-numero { font-size: 1.375rem; }
    body.app-rengaw .rw-lq-url { min-width: 11rem; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-lq-saude-boa, [data-bs-theme="dark"] body.app-rengaw .rw-lq-res-ok, [data-bs-theme="dark"] body.app-rengaw .rw-lq-sit-concluida { background: rgba(46, 160, 90, 0.2); color: #8EE0AE; }
[data-bs-theme="dark"] body.app-rengaw .rw-lq-saude-atencao, [data-bs-theme="dark"] body.app-rengaw .rw-lq-res-ancora, [data-bs-theme="dark"] body.app-rengaw .rw-lq-res-restrito { background: rgba(247, 184, 75, 0.18); color: #F7C96F; }
[data-bs-theme="dark"] body.app-rengaw .rw-lq-saude-ruim, [data-bs-theme="dark"] body.app-rengaw .rw-lq-res-quebrado, [data-bs-theme="dark"] body.app-rengaw .rw-lq-res-erro_servidor, [data-bs-theme="dark"] body.app-rengaw .rw-lq-res-dns, [data-bs-theme="dark"] body.app-rengaw .rw-lq-res-ssl, [data-bs-theme="dark"] body.app-rengaw .rw-lq-res-conexao, [data-bs-theme="dark"] body.app-rengaw .rw-lq-res-tempo, [data-bs-theme="dark"] body.app-rengaw .rw-lq-sit-falhou { background: rgba(240, 101, 72, 0.18); color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-lq-res-redirecionado, [data-bs-theme="dark"] body.app-rengaw .rw-lq-sit-na_fila, [data-bs-theme="dark"] body.app-rengaw .rw-lq-sit-executando { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-lq-saude-sem, [data-bs-theme="dark"] body.app-rengaw .rw-lq-res-bloqueado, [data-bs-theme="dark"] body.app-rengaw .rw-lq-res-robots, [data-bs-theme="dark"] body.app-rengaw .rw-lq-sit-cancelada { background: rgba(255, 255, 255, 0.08); color: #B5C0CE; }
[data-bs-theme="dark"] body.app-rengaw .rw-lq-novo { background: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-lq-faixa-boa { background: #3FBF74; }
[data-bs-theme="dark"] body.app-rengaw .rw-lq-faixa-sem { background: #5D6A79; }

/* ===== App monitora_url (2026-10-14) ===== */
/* Monitora URL: semáforo (ponto e estado), selos de uptime e de resultado, gráfico de 24 horas em colunas, barras de 90
 * dias, linha do monitor no painel, modelos do cadastro e a página de status pública. Claro e escuro. */
body.app-rengaw .rw-mu-numero { font-family: var(--rw-titulo); font-size: 1.75rem; font-weight: 600; line-height: 1.2; display: flex; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-mu-ponto { display: inline-block; width: 0.625rem; height: 0.625rem; border-radius: 50%; background: currentColor; margin-right: 0.375rem; flex: 0 0 auto; }
body.app-rengaw .rw-mu-ponto-grande { width: 1rem; height: 1rem; margin-right: 0; }
body.app-rengaw .rw-mu-estado { display: inline-flex; align-items: center; font-weight: 600; font-size: 0.8125rem; white-space: nowrap; }
body.app-rengaw .rw-mu-estado-verde { color: #17663A; }
body.app-rengaw .rw-mu-estado-amarelo { color: #8A5200; }
body.app-rengaw .rw-mu-estado-vermelho { color: #A8331A; }
body.app-rengaw .rw-mu-estado-azul { color: #0057A3; }
body.app-rengaw .rw-mu-estado-cinza { color: #4F5D6E; }
body.app-rengaw .rw-mu-estado-vermelho .rw-mu-ponto, body.app-rengaw .rw-mu-ponto.rw-mu-estado-vermelho { animation: rw-mu-pulso 1.4s ease-in-out infinite; }
@keyframes rw-mu-pulso { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
@media (prefers-reduced-motion: reduce) { body.app-rengaw .rw-mu-ponto { animation: none !important; } }
body.app-rengaw .rw-mu-uptime { display: inline-block; padding: 0.15rem 0.6rem; border-radius: 999px; font-family: var(--rw-titulo); font-weight: 600; font-size: 0.9375rem; white-space: nowrap; }
body.app-rengaw .rw-mu-numero .rw-mu-uptime { font-size: 1.375rem; }
body.app-rengaw .rw-mu-res { display: inline-block; padding: 0.1rem 0.5rem; border-radius: 999px; font-weight: 600; font-size: 0.75rem; }
body.app-rengaw .rw-mu-uptime-verde, body.app-rengaw .rw-mu-res-ok { background: #E8F7EE; color: #17663A; }
body.app-rengaw .rw-mu-uptime-amarelo, body.app-rengaw .rw-mu-res-lento { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-mu-uptime-vermelho, body.app-rengaw .rw-mu-res-falha { background: #FDECE8; color: #A8331A; }
body.app-rengaw .rw-mu-uptime-sem, body.app-rengaw .rw-mu-res-pausado { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-mu-uptime-sem { font-family: var(--rw-mono); font-size: 0.75rem; font-weight: 500; }
body.app-rengaw .rw-mu-res-manutencao { background: #E6F2FD; color: #0057A3; }
body.app-rengaw .rw-mu-linha { display: grid; grid-template-columns: minmax(0, 1fr) minmax(6rem, 12rem) auto; gap: 1rem; align-items: center; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-mu-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-mu-linha:hover .fw-medium { color: var(--vz-primary); }
body.app-rengaw .rw-mu-grafico { display: flex; align-items: flex-end; gap: 0.25rem; height: 9rem; }
body.app-rengaw .rw-mu-grafico-mini { height: 2.5rem; gap: 2px; }
body.app-rengaw .rw-mu-grafico-item { flex: 1 1 0; height: 100%; display: flex; }
body.app-rengaw .rw-mu-grafico-coluna { position: relative; width: 100%; height: 100%; border-radius: 0.25rem; background: var(--vz-tertiary-bg); overflow: hidden; }
body.app-rengaw .rw-mu-grafico-coluna > span { position: absolute; left: 0; right: 0; bottom: 0; border-radius: 0.25rem 0.25rem 0 0; }
body.app-rengaw .rw-mu-cor-verde { background: #2EA05A; }
body.app-rengaw .rw-mu-cor-amarelo { background: #F7B84B; }
body.app-rengaw .rw-mu-cor-vermelho { background: #F06548; }
body.app-rengaw .rw-mu-cor-sem { background: #D5DCE5; }
body.app-rengaw .rw-mu-barras { display: flex; gap: 2px; height: 2rem; align-items: stretch; }
body.app-rengaw .rw-mu-barra { flex: 1 1 0; min-width: 0; border-radius: 2px; }
body.app-rengaw .rw-mu-faixa-vermelho { background: #FDECE8; border-color: #F7C4B7; }
body.app-rengaw .rw-mu-faixa-verde .h5 { color: #17663A; }
body.app-rengaw .rw-mu-faixa-vermelho .h5 { color: #A8331A; }
body.app-rengaw .rw-mu-modelos { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-mu-modelo { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 10px; background: var(--vz-secondary-bg); color: var(--vz-body-color); text-align: left; font-size: 0.875rem; }
body.app-rengaw .rw-mu-modelo i { font-size: 1.25rem; color: var(--vz-primary); }
body.app-rengaw .rw-mu-modelo:hover, body.app-rengaw .rw-mu-modelo.ativo { border-color: var(--vz-primary); }
body.app-rengaw .rw-mu-endereco { padding: 0.5rem 0.75rem; border-radius: 10px; background: var(--vz-tertiary-bg); font-family: var(--rw-mono); font-size: 0.8125rem; }
body.app-rengaw .rw-mu-publica { max-width: 52rem; }
body.app-rengaw .rw-mu-publica .card { margin-bottom: 1rem; }
body.app-rengaw .rw-mu-geral { display: flex; align-items: center; gap: 0.75rem; padding: 1rem 1.25rem; margin-bottom: 1rem; border-radius: 16px; font-family: var(--rw-titulo); font-size: 1.125rem; font-weight: 600; background: #E8F7EE; color: #17663A; }
body.app-rengaw .rw-mu-geral-vermelho { background: #FDECE8; color: #A8331A; }
body.app-rengaw .rw-mu-geral-amarelo { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-mu-geral-azul { background: #E6F2FD; color: #0057A3; }
body.app-rengaw .rw-mu-publica-item { padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-mu-publica-item:first-child { padding-top: 0; }
body.app-rengaw .rw-mu-publica-item:last-child { border-bottom: 0; padding-bottom: 0; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-mu-linha { grid-template-columns: minmax(0, 1fr) auto; }
    body.app-rengaw .rw-mu-linha-grafico { grid-column: 1 / -1; grid-row: 2; }
    body.app-rengaw .rw-mu-numero { font-size: 1.375rem; }
    body.app-rengaw .rw-mu-barras { gap: 1px; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-mu-estado-verde, [data-bs-theme="dark"] body.app-rengaw .rw-mu-faixa-verde .h5 { color: #8EE0AE; }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-estado-amarelo { color: #F7C96F; }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-estado-vermelho, [data-bs-theme="dark"] body.app-rengaw .rw-mu-faixa-vermelho .h5 { color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-estado-azul { color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-estado-cinza { color: #B5C0CE; }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-uptime-verde, [data-bs-theme="dark"] body.app-rengaw .rw-mu-res-ok, [data-bs-theme="dark"] body.app-rengaw .rw-mu-geral { background: rgba(46, 160, 90, 0.2); color: #8EE0AE; }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-uptime-amarelo, [data-bs-theme="dark"] body.app-rengaw .rw-mu-res-lento, [data-bs-theme="dark"] body.app-rengaw .rw-mu-geral-amarelo { background: rgba(247, 184, 75, 0.18); color: #F7C96F; }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-uptime-vermelho, [data-bs-theme="dark"] body.app-rengaw .rw-mu-res-falha, [data-bs-theme="dark"] body.app-rengaw .rw-mu-geral-vermelho { background: rgba(240, 101, 72, 0.18); color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-res-manutencao, [data-bs-theme="dark"] body.app-rengaw .rw-mu-geral-azul { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-uptime-sem, [data-bs-theme="dark"] body.app-rengaw .rw-mu-res-pausado { background: rgba(255, 255, 255, 0.08); color: #B5C0CE; }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-faixa-vermelho { background: rgba(240, 101, 72, 0.12); border-color: rgba(240, 101, 72, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-cor-verde { background: #3FBF74; }
[data-bs-theme="dark"] body.app-rengaw .rw-mu-cor-sem { background: #3A4656; }

/* ===== App vencimento_ssl (2026-10-14) ===== */
/* Vencimento de SSL e domínios: selo de faixa do semáforo, semáforo do painel, linha do tempo dos próximos 90 dias,
 * quadrado da data, etiquetas de mudança e problema, dias restantes e página de status pública. Claro e escuro. */
body.app-rengaw .rw-vs-faixa { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.6rem; border-radius: 999px; font-weight: 600; font-size: 0.75rem; white-space: nowrap; }
body.app-rengaw .rw-vs-faixa-critico { background: #FDECE8; color: #A8331A; }
body.app-rengaw .rw-vs-faixa-atencao { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-vs-faixa-problema { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-vs-faixa-em_dia { background: #E8F7EE; color: #17663A; }
body.app-rengaw .rw-vs-faixa-sem, body.app-rengaw .rw-vs-faixa-inativo { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-vs-faixa-vencido { background: #A8331A; color: #FFFFFF; }
body.app-rengaw .rw-vs-semaforo { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-vs-sinal { display: flex; flex-direction: column; gap: 0.125rem; padding: 0.875rem 1rem; border-radius: 16px; border: 1px solid var(--vz-border-color); background: var(--vz-secondary-bg); color: var(--vz-body-color); text-decoration: none; position: relative; overflow: hidden; }
body.app-rengaw .rw-vs-sinal::before { content: ""; width: 0.75rem; height: 0.75rem; border-radius: 50%; margin-bottom: 0.375rem; background: #B5C0CE; }
body.app-rengaw .rw-vs-sinal:hover, body.app-rengaw .rw-vs-sinal:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-vs-sinal-numero { font-family: var(--rw-titulo); font-size: 1.75rem; font-weight: 600; line-height: 1.1; }
body.app-rengaw .rw-vs-sinal-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-vs-sinal-vencido::before { background: #A8331A; }
body.app-rengaw .rw-vs-sinal-critico::before { background: #F06548; }
body.app-rengaw .rw-vs-sinal-atencao::before { background: #F7B84B; }
body.app-rengaw .rw-vs-sinal-problema::before { background: #E8853A; }
body.app-rengaw .rw-vs-sinal-em_dia::before { background: #2EA05A; }
body.app-rengaw .rw-vs-tempo { position: relative; height: 4.5rem; margin: 0 0.5rem; }
body.app-rengaw .rw-vs-tempo-trilho { position: absolute; left: 0; right: 0; top: 1.5rem; height: 4px; border-radius: 999px; background: var(--vz-border-color); }
body.app-rengaw .rw-vs-tempo-ponto { position: absolute; top: calc(1.5rem - 6px); width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; border: 3px solid var(--vz-secondary-bg); box-shadow: 0 0 0 1px var(--vz-border-color); }
body.app-rengaw .rw-vs-tempo-ponto:hover, body.app-rengaw .rw-vs-tempo-ponto:focus-visible { transform: scale(1.3); z-index: 2; outline: none; box-shadow: 0 0 0 2px var(--vz-primary); }
body.app-rengaw .rw-vs-tempo-critico, body.app-rengaw .rw-vs-tempo-vencido { background: #F06548; }
body.app-rengaw .rw-vs-tempo-atencao { background: #F7B84B; }
body.app-rengaw .rw-vs-tempo-em_dia { background: #2EA05A; }
body.app-rengaw .rw-vs-tempo-marcas { position: absolute; left: 0; right: 0; top: 2.75rem; display: flex; justify-content: space-between; font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-vs-data { flex: 0 0 auto; width: 3.25rem; padding: 0.25rem 0; border-radius: 10px; text-align: center; line-height: 1.1; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-vs-data > span { display: block; font-family: var(--rw-titulo); font-size: 1.125rem; font-weight: 600; }
body.app-rengaw .rw-vs-data > small { font-family: var(--rw-mono); font-size: 0.625rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-vs-data-vencido, body.app-rengaw .rw-vs-data-critico { background: #FDECE8; color: #A8331A; }
body.app-rengaw .rw-vs-data-atencao { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-vs-dias { font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-vs-dias-vencido { color: #A8331A; }
body.app-rengaw .rw-vs-numero { font-family: var(--rw-titulo); font-size: 1.5rem; font-weight: 600; line-height: 1.2; }
body.app-rengaw .rw-vs-mudanca { background: #E6F2FD; color: #0057A3; font-weight: 600; }
body.app-rengaw .rw-vs-problema { background: #FFF4E0; color: #8A5200; font-weight: 600; }
body.app-rengaw .rw-vs-col-nome { min-width: 12rem; }
body.app-rengaw .rw-vs-nomes { columns: 2 18rem; }
body.app-rengaw .rw-vs-nomes .form-check { break-inside: avoid; }
body.app-rengaw .rw-vs-link { display: block; padding: 0.5rem 0.75rem; border-radius: 10px; background: var(--vz-tertiary-bg); font-size: 0.8125rem; }
body.app-rengaw .rw-vs-copiado::after { content: " \2713"; }
body.app-rengaw .rw-vs-girando { display: inline-block; animation: rw-vs-girar 1s linear infinite; }
@keyframes rw-vs-girar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { body.app-rengaw .rw-vs-girando { animation: none; } }
@media (max-width: 1199.98px) { body.app-rengaw .rw-vs-semaforo { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-vs-semaforo { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
    body.app-rengaw .rw-vs-sinal-numero { font-size: 1.375rem; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-vs-faixa-critico, [data-bs-theme="dark"] body.app-rengaw .rw-vs-data-vencido, [data-bs-theme="dark"] body.app-rengaw .rw-vs-data-critico { background: rgba(240, 101, 72, 0.18); color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-vs-faixa-vencido { background: #F06548; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-vs-faixa-atencao, [data-bs-theme="dark"] body.app-rengaw .rw-vs-faixa-problema, [data-bs-theme="dark"] body.app-rengaw .rw-vs-data-atencao, [data-bs-theme="dark"] body.app-rengaw .rw-vs-problema { background: rgba(247, 184, 75, 0.18); color: #F7C96F; }
[data-bs-theme="dark"] body.app-rengaw .rw-vs-faixa-em_dia { background: rgba(46, 160, 90, 0.2); color: #8EE0AE; }
[data-bs-theme="dark"] body.app-rengaw .rw-vs-faixa-sem, [data-bs-theme="dark"] body.app-rengaw .rw-vs-faixa-inativo { background: rgba(255, 255, 255, 0.08); color: #B5C0CE; }
[data-bs-theme="dark"] body.app-rengaw .rw-vs-mudanca { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-vs-dias-vencido { color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-vs-sinal-vencido::before { background: #FF7A5C; }

/* ===== App mesada_digital (2026-10-14) =====
 * Carteira virtual da criança: avatares por ícone e cor (nunca foto), potes com cor própria (Gastar, Guardar, Doar,
 * Investir e Metas), barra empilhada, sonhos com progresso, medalhas, escolhas em grade (avatar, ícones) e a área da
 * criança (reaproveita .rw-menu-pagina/.rw-menu-capa). Alegre sem gradiente nem emoji. Claro e escuro. */
body.app-rengaw .rw-mes-avatar { flex-shrink: 0; width: 2.75rem; height: 2.75rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.35rem; background: #E1EEFB; color: #006ECB; }
body.app-rengaw .rw-mes-avatar-grande { width: 4.25rem; height: 4.25rem; font-size: 2.1rem; }
body.app-rengaw .rw-mes-cor-azul { background: #E1EEFB; color: #006ECB; }
body.app-rengaw .rw-mes-cor-verde { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-mes-cor-roxo { background: #EFE9FC; color: #5B3FD9; }
body.app-rengaw .rw-mes-cor-laranja { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-mes-cor-rosa { background: #FCE8F1; color: #A8295E; }
body.app-rengaw .rw-mes-cor-turquesa { background: #E3F6FA; color: #0B6E82; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-cor-azul, [data-bs-theme="dark"] body.app-rengaw .rw-mes-avatar { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-cor-verde { background: rgba(10, 179, 156, 0.18); color: #6FDCC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-cor-roxo { background: rgba(155, 130, 255, 0.2); color: #C9BBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-cor-laranja { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-cor-rosa { background: rgba(226, 109, 155, 0.2); color: #F5A8C7; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-cor-turquesa { background: rgba(41, 182, 210, 0.18); color: #86DCEC; }
body.app-rengaw .rw-mes-total { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.125rem; color: var(--vz-heading-color, #00336A); white-space: nowrap; }
body.app-rengaw .rw-mes-total-grande { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 2rem; line-height: 1.1; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-mes-texto-ok { color: #067A6A; }
body.app-rengaw .rw-mes-texto-alerta { color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-texto-ok { color: #6FDCC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-texto-alerta { color: #FF9D8A; }
body.app-rengaw .rw-mes-potes { display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-mes-pote { display: flex; flex-direction: column; gap: 0.25rem; padding: 0.875rem; border-radius: 1rem; border: 1px solid var(--vz-border-color); background: var(--vz-secondary-bg); }
body.app-rengaw .rw-mes-pote-icone { width: 2.25rem; height: 2.25rem; border-radius: 0.75rem; display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; }
body.app-rengaw .rw-mes-pote-nome { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-mes-pote-valor { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.25rem; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-mes-pote-gastar .rw-mes-pote-icone { background: #E1EEFB; color: #006ECB; }
body.app-rengaw .rw-mes-pote-guardar .rw-mes-pote-icone { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-mes-pote-doar .rw-mes-pote-icone { background: #FCE8F1; color: #A8295E; }
body.app-rengaw .rw-mes-pote-investir .rw-mes-pote-icone { background: #EFE9FC; color: #5B3FD9; }
body.app-rengaw .rw-mes-pote-meta .rw-mes-pote-icone { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-pote-gastar .rw-mes-pote-icone { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-pote-guardar .rw-mes-pote-icone { background: rgba(10, 179, 156, 0.18); color: #6FDCC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-pote-doar .rw-mes-pote-icone { background: rgba(226, 109, 155, 0.2); color: #F5A8C7; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-pote-investir .rw-mes-pote-icone { background: rgba(155, 130, 255, 0.2); color: #C9BBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-pote-meta .rw-mes-pote-icone { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
body.app-rengaw .rw-mes-barra { display: flex; height: 0.625rem; border-radius: 999px; overflow: hidden; background: var(--vz-tertiary-bg); margin: 0.5rem 0 0.4rem; }
body.app-rengaw .rw-mes-barra-gastar { background: #0090F4; }
body.app-rengaw .rw-mes-barra-guardar { background: #0AB39C; }
body.app-rengaw .rw-mes-barra-meta { background: #F7B84B; }
body.app-rengaw .rw-mes-barra-doar { background: #E26D9B; }
body.app-rengaw .rw-mes-barra-investir { background: #7C63E6; }
body.app-rengaw .rw-mes-legenda { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 0.9rem; font-size: 0.8rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-mes-ponto { display: inline-block; width: 0.55rem; height: 0.55rem; border-radius: 50%; margin-right: 0.3rem; }
body.app-rengaw .rw-mes-crianca { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-mes-crianca:first-child { padding-top: 0; }
body.app-rengaw .rw-mes-crianca:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-mes-crianca-topo { display: flex; align-items: center; gap: 0.75rem; color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-mes-crianca-topo:hover .fw-medium, body.app-rengaw .rw-mes-crianca-topo:focus-visible .fw-medium { color: var(--vz-primary); }
body.app-rengaw .rw-mes-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-mes-cartao { display: block; padding: 0.875rem; border: 1px solid var(--vz-border-color); border-radius: 0.875rem; color: var(--vz-body-color); text-decoration: none; transition: border-color 0.15s; }
body.app-rengaw .rw-mes-cartao:hover, body.app-rengaw .rw-mes-cartao:focus-visible { border-color: var(--vz-primary); color: var(--vz-body-color); }
body.app-rengaw .rw-mes-selo { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.75rem; font-weight: 500; white-space: nowrap; background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-mes-selo-gastar { background: #E1EEFB; color: #003387; }
body.app-rengaw .rw-mes-selo-guardar, body.app-rengaw .rw-mes-situacao-aprovada, body.app-rengaw .rw-mes-situacao-aprovado, body.app-rengaw .rw-mes-situacao-concluida { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-mes-selo-doar { background: #FCE8F1; color: #A8295E; }
body.app-rengaw .rw-mes-selo-investir { background: #EFE9FC; color: #5B3FD9; }
body.app-rengaw .rw-mes-situacao-aguardando, body.app-rengaw .rw-mes-situacao-pendente, body.app-rengaw .rw-mes-situacao-ativa { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-mes-situacao-recusada, body.app-rengaw .rw-mes-situacao-recusado { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-selo { background: rgba(255, 255, 255, 0.08); color: #C9D3E0; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-selo-gastar { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-selo-guardar, [data-bs-theme="dark"] body.app-rengaw .rw-mes-situacao-aprovada, [data-bs-theme="dark"] body.app-rengaw .rw-mes-situacao-aprovado, [data-bs-theme="dark"] body.app-rengaw .rw-mes-situacao-concluida { background: rgba(10, 179, 156, 0.18); color: #6FDCC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-selo-doar { background: rgba(226, 109, 155, 0.2); color: #F5A8C7; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-selo-investir { background: rgba(155, 130, 255, 0.2); color: #C9BBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-situacao-aguardando, [data-bs-theme="dark"] body.app-rengaw .rw-mes-situacao-pendente, [data-bs-theme="dark"] body.app-rengaw .rw-mes-situacao-ativa { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-situacao-recusada, [data-bs-theme="dark"] body.app-rengaw .rw-mes-situacao-recusado { background: rgba(240, 101, 72, 0.2); color: #FF9D8A; }
body.app-rengaw .rw-mes-meta { display: flex; gap: 0.75rem; align-items: center; padding: 0.5rem 0; }
body.app-rengaw .rw-mes-meta-icone { flex-shrink: 0; width: 3rem; height: 3rem; border-radius: 0.875rem; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; background: #FEF4E4; color: #8A5200; font-size: 1.5rem; }
body.app-rengaw .rw-mes-meta-icone img { width: 100%; height: 100%; object-fit: cover; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-meta-icone { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
body.app-rengaw .rw-mes-progresso { height: 0.5rem; margin: 0.35rem 0 0.2rem; border-radius: 999px; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-mes-progresso .progress-bar { background: #F7B84B; border-radius: 999px; }
body.app-rengaw .rw-mes-meta.alcancada .rw-mes-progresso .progress-bar { background: #0AB39C; }
body.app-rengaw .rw-mes-meta-bloco { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-mes-meta-bloco:last-child { border-bottom: 0; }
body.app-rengaw .rw-mes-meta-imagem { max-width: 100%; max-height: 9rem; border-radius: 0.875rem; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-mes-valor-curto { width: 7.5rem; }
body.app-rengaw .rw-mes-tarefa-icone { flex-shrink: 0; width: 2.5rem; height: 2.5rem; border-radius: 0.75rem; display: inline-flex; align-items: center; justify-content: center; background: #E1EEFB; color: #006ECB; font-size: 1.25rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-tarefa-icone { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
body.app-rengaw .rw-mes-mov { flex-shrink: 0; width: 2rem; height: 2rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
body.app-rengaw .rw-mes-mov-entrada { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-mes-mov-saida { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-mov-entrada { background: rgba(10, 179, 156, 0.18); color: #6FDCC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-mov-saida { background: rgba(240, 101, 72, 0.2); color: #FF9D8A; }
body.app-rengaw .rw-mes-decisao { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-mes-decisao:first-child { padding-top: 0; }
body.app-rengaw .rw-mes-decisao:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-mes-decisao-form { display: flex; gap: 0.5rem; align-items: center; margin-top: 0.5rem; }
body.app-rengaw .rw-mes-decisao-form input { flex: 1 1 auto; min-width: 0; }
body.app-rengaw .rw-mes-data { flex-shrink: 0; width: 2.75rem; padding: 0.3rem 0; border-radius: 0.625rem; background: #E6F7F4; color: #067A6A; text-align: center; line-height: 1.05; }
body.app-rengaw .rw-mes-data strong { display: block; font-family: "Exo 2", sans-serif; font-size: 1.05rem; }
body.app-rengaw .rw-mes-data small { display: block; font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; text-transform: uppercase; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-data { background: rgba(10, 179, 156, 0.18); color: #6FDCC9; }
body.app-rengaw .rw-mes-sugestoes { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-mes-sugestao { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.8rem; border: 1px dashed var(--vz-border-color); border-radius: 999px; color: var(--vz-body-color); text-decoration: none; font-size: 0.875rem; }
body.app-rengaw .rw-mes-sugestao:hover, body.app-rengaw .rw-mes-sugestao:focus-visible { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-mes-escolhas { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-mes-escolha { position: relative; display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.3rem; border: 2px solid transparent; border-radius: 1rem; cursor: pointer; }
body.app-rengaw .rw-mes-escolha input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
body.app-rengaw .rw-mes-escolha:has(input:checked) { border-color: var(--vz-primary); background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-mes-escolha:has(input:focus-visible) { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-mes-escolha-cor, body.app-rengaw .rw-mes-escolha-texto { padding: 0.35rem 0.75rem; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-mes-escolha-cor:has(input:checked), body.app-rengaw .rw-mes-escolha-texto:has(input:checked) { border: 2px solid var(--vz-primary); }
body.app-rengaw .rw-mes-bolinha { width: 1.1rem; height: 1.1rem; border-radius: 50%; border: 2px solid currentColor; }
body.app-rengaw .rw-mes-consentimento { padding: 0.875rem 1rem; border-radius: 0.875rem; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-mes-medalhas { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-mes-medalha { padding: 0.875rem; text-align: center; border: 1px dashed var(--vz-border-color); border-radius: 1rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-mes-medalha.ganha { border: 1px solid #F7B84B; color: var(--vz-body-color); }
body.app-rengaw .rw-mes-medalha-icone { width: 3rem; height: 3rem; margin: 0 auto 0.4rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-mes-medalha.ganha .rw-mes-medalha-icone { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-medalha-icone { background: rgba(255, 255, 255, 0.08); color: #C9D3E0; }
[data-bs-theme="dark"] body.app-rengaw .rw-mes-medalha.ganha .rw-mes-medalha-icone { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
body.app-rengaw .rw-mes-crescimento { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
body.app-rengaw .rw-mes-crescimento > div { padding: 0.75rem; border-radius: 0.875rem; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-mes-crescimento .rw-sobretitulo-app { display: block; margin-bottom: 0.15rem; }
body.app-rengaw .rw-mes-crescimento strong { font-family: "Exo 2", sans-serif; font-size: 1.05rem; }
body.app-rengaw .rw-mes-colunas { display: flex; align-items: flex-end; gap: 0.3rem; height: 7rem; padding: 0.5rem; border-radius: 0.875rem; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-mes-colunas span { flex: 1 1 0; min-height: 2px; border-radius: 0.35rem 0.35rem 0 0; background: #7C63E6; }
body.app-rengaw .rw-mes-licoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 0.5rem; margin-bottom: 0.75rem; }
body.app-rengaw .rw-mes-licao { padding: 0.75rem 0.875rem; border: 1px solid var(--vz-border-color); border-radius: 0.875rem; color: var(--vz-body-color); }
body.app-rengaw .rw-mes-licao summary { cursor: pointer; font-weight: 500; }
body.app-rengaw .rw-mes-licao-link { display: flex; align-items: center; gap: 0.5rem; text-decoration: none; }
body.app-rengaw .rw-mes-licao-link:hover, body.app-rengaw .rw-mes-licao-link:focus-visible { border-color: var(--vz-primary); color: var(--vz-body-color); }
body.app-rengaw .rw-mes-qr { max-width: 12rem; padding: 0.75rem; border-radius: 0.875rem; background: #FFFFFF; border: 1px solid #DCE3EC; }
body.app-rengaw .rw-mes-qr svg { width: 100%; height: auto; display: block; }
body.app-rengaw .rw-mes-capa { text-align: center; }
body.app-rengaw .rw-mes-capa .rw-mes-avatar { margin-bottom: 0.5rem; border: 3px solid rgba(255, 255, 255, 0.85); }
body.app-rengaw .rw-mes-bloco { padding: 1rem 1.25rem; margin-bottom: 1rem; border: 1px solid var(--vz-border-color); border-radius: 1rem; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-mes-bloco h2 { font-family: "Exo 2", sans-serif; font-size: 1.125rem; font-weight: 700; margin-bottom: 0.75rem; }
body.app-rengaw .rw-mes-bloco h2 i { color: var(--vz-primary); }
body.app-rengaw .rw-mes-pin input { max-width: 10rem; margin: 0 auto; text-align: center; font-size: 1.75rem; letter-spacing: 0.5em; }
body.app-rengaw .rw-mes-respostas { display: grid; gap: 0.5rem; }
body.app-rengaw .rw-mes-licao-texto { font-size: 1.05rem; margin: 0; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-mes-crescimento { grid-template-columns: 1fr; }
    body.app-rengaw .rw-mes-decisao-form { flex-wrap: wrap; }
    body.app-rengaw .rw-mes-decisao-form input { flex-basis: 100%; }
    body.app-rengaw .rw-mes-tarefa { flex-wrap: wrap; }
}
@media print {
    body.app-rengaw .rw-mes-nao-imprimir { display: none !important; }
}

/* ===== App central_servicos (2026-10-14) ===== */
/* Central de serviços: selos de prioridade/situação/tipo, relógio do ANS, indicadores, barras, portal com busca,
   incidentes em andamento, conversa, avaliação, quadro e agenda de mudanças. Claro e escuro. */
body.app-rengaw .rw-cs-pri { display: inline-block; min-width: 2rem; padding: 0.125rem 0.375rem; border-radius: 6px; font-family: var(--rw-mono); font-size: 0.6875rem; font-weight: 600; text-align: center; }
body.app-rengaw .rw-cs-pri-1 { background: #F06548; color: #fff; }
body.app-rengaw .rw-cs-pri-2 { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-cs-pri-3 { background: #E6F2FD; color: #0057A3; }
body.app-rengaw .rw-cs-pri-4 { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-cs-sit, body.app-rengaw .rw-cs-tipo, body.app-rengaw .rw-cs-aprov, body.app-rengaw .rw-cs-risco { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.125rem 0.5rem; border-radius: 999px; font-size: 0.75rem; font-weight: 500; white-space: nowrap; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-cs-sit-novo { background: #E6F2FD; color: #0057A3; }
body.app-rengaw .rw-cs-sit-atendimento { background: #E9E7FD; color: #4B3BB5; }
body.app-rengaw .rw-cs-sit-aguardando, body.app-rengaw .rw-cs-sit-aprovacao, body.app-rengaw .rw-cs-aprov-pendente, body.app-rengaw .rw-cs-risco-medio { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-cs-sit-resolvido, body.app-rengaw .rw-cs-aprov-aprovado, body.app-rengaw .rw-cs-risco-baixo { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-cs-sit-reprovado, body.app-rengaw .rw-cs-aprov-reprovado, body.app-rengaw .rw-cs-risco-alto { background: #FDECE8; color: #A8331A; }
body.app-rengaw .rw-cs-tipo-incidente { background: #FDECE8; color: #A8331A; }
body.app-rengaw .rw-cs-tipo-mudanca { background: #E9E7FD; color: #4B3BB5; }
body.app-rengaw .rw-cs-tipo-requisicao { background: #E6F2FD; color: #0057A3; }
body.app-rengaw .rw-cs-tipo-interna { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-cs-relogio { display: inline-flex; flex-direction: column; gap: 0.25rem; min-width: 8.5rem; }
body.app-rengaw .rw-cs-relogio-barra { display: block; height: 6px; border-radius: 999px; background: var(--vz-border-color); overflow: hidden; }
body.app-rengaw .rw-cs-relogio-barra > span { display: block; height: 100%; border-radius: 999px; background: #2EA05A; }
body.app-rengaw .rw-cs-relogio-risco .rw-cs-relogio-barra > span { background: #F7B84B; }
body.app-rengaw .rw-cs-relogio-estourado .rw-cs-relogio-barra > span { background: #F06548; }
body.app-rengaw .rw-cs-relogio-pausado .rw-cs-relogio-barra > span { background: var(--vz-secondary-color); }
body.app-rengaw .rw-cs-relogio-texto { font-size: 0.75rem; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-cs-relogio-estourado .rw-cs-relogio-texto, body.app-rengaw .rw-cs-fora { color: #A8331A; }
body.app-rengaw .rw-cs-relogio-risco .rw-cs-relogio-texto { color: #8A5200; }
body.app-rengaw .rw-cs-relogio-pausado .rw-cs-relogio-texto { color: var(--vz-secondary-color); }
body.app-rengaw .rw-cs-indicador { transition: border-color 0.15s ease; }
body.app-rengaw a.rw-cs-indicador:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-cs-ind-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-cs-ind-numero { font-family: var(--rw-titulo); font-size: 1.75rem; font-weight: 600; line-height: 1.15; margin-bottom: 0.25rem; }
body.app-rengaw .rw-cs-ind-alerta .rw-cs-ind-numero { color: #A8331A; }
body.app-rengaw .rw-cs-barra-linha { display: grid; grid-template-columns: minmax(0, 9rem) 1fr auto; align-items: center; gap: 0.75rem; padding: 0.375rem 0; }
body.app-rengaw .rw-cs-barra { display: block; height: 8px; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; }
body.app-rengaw .rw-cs-barra > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-cs-barra-azul > span { background: #0090F4; }
body.app-rengaw .rw-cs-portal { padding: 1.5rem; border-radius: 16px; background: #061C3D; color: #fff; }
body.app-rengaw .rw-cs-portal .rw-sobretitulo-app { color: #8FCBFF; }
body.app-rengaw .rw-cs-portal h2 { color: #fff; }
body.app-rengaw .rw-cs-busca { position: relative; display: flex; gap: 0.5rem; }
body.app-rengaw .rw-cs-busca > i { position: absolute; left: 0.875rem; top: 50%; transform: translateY(-50%); color: var(--vz-secondary-color); pointer-events: none; z-index: 1; }
body.app-rengaw .rw-cs-busca input { padding-left: 2.5rem; }
body.app-rengaw .rw-cs-incidentes { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1rem; }
body.app-rengaw .rw-cs-incidente { display: flex; align-items: center; gap: 0.875rem; padding: 0.875rem 1rem; border-radius: 16px; background: #FDECE8; color: #6E1F0E; border: 1px solid #F6C4B8; }
body.app-rengaw .rw-cs-incidente .rw-sobretitulo-app { color: #A8331A; }
body.app-rengaw .rw-cs-incidente-icone { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 12px; background: #F06548; color: #fff; font-size: 1.25rem; }
body.app-rengaw .rw-cs-servico { transition: border-color 0.15s ease, transform 0.15s ease; }
body.app-rengaw .rw-cs-servico:hover, body.app-rengaw .rw-cs-servico:focus-visible { border-color: var(--vz-primary); transform: translateY(-1px); }
body.app-rengaw .rw-cs-destaque { border-color: var(--vz-primary); }
body.app-rengaw .rw-cs-texto { white-space: normal; overflow-wrap: anywhere; }
body.app-rengaw .rw-cs-solucao { padding: 0.875rem 1rem; border-radius: 12px; background: #E6F7F4; color: #04554A; }
body.app-rengaw .rw-cs-anexo { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.25rem 0.625rem; border-radius: 999px; border: 1px solid var(--vz-border-color); font-size: 0.8125rem; text-decoration: none; max-width: 100%; overflow-wrap: anywhere; }
body.app-rengaw .rw-cs-linha { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }
body.app-rengaw .rw-cs-int { padding: 0.75rem 1rem; border-radius: 12px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cs-int-solicitante { background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-cs-int-interna { background: #FFF8EB; border-color: #F5D9A8; }
body.app-rengaw .rw-cs-int-evento { padding: 0 0 0 0.25rem; border: 0; }
body.app-rengaw .rw-cs-int-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 0.375rem; }
body.app-rengaw .rw-cs-notas { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-cs-notas label { display: inline-flex; flex-direction: column; align-items: center; gap: 0.125rem; min-width: 4.25rem; padding: 0.5rem; font-size: 0.75rem; }
body.app-rengaw .rw-cs-notas label i { font-size: 1.5rem; }
body.app-rengaw .rw-cs-notas .btn-check:checked + label { background: var(--vz-primary); color: #fff; border-color: var(--vz-primary); }
body.app-rengaw .rw-cs-linha-estourada > td { background: #FFF6F3; }
body.app-rengaw .rw-cs-col-assunto { min-width: 14rem; }
body.app-rengaw .rw-cs-menu-servicos { max-height: 22rem; overflow-y: auto; }
body.app-rengaw .rw-cs-horas { max-width: 7rem; }
body.app-rengaw .rw-cs-matriz table { max-width: 26rem; }
body.app-rengaw .rw-cs-link { display: block; padding: 0.5rem 0.75rem; border-radius: 10px; background: var(--vz-tertiary-bg); font-size: 0.8125rem; }
body.app-rengaw .rw-cs-data { flex: 0 0 auto; width: 3.25rem; padding: 0.25rem 0; border-radius: 10px; text-align: center; line-height: 1.1; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-cs-data > span { display: block; font-family: var(--rw-titulo); font-size: 1.125rem; font-weight: 600; }
body.app-rengaw .rw-cs-data > small { font-family: var(--rw-mono); font-size: 0.625rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cs-artigo p { line-height: 1.65; }
body.app-rengaw .rw-cs-copiado::after { content: " \2713"; }
body.app-rengaw .rw-cs-quadro .rw-cs-cartao .rw-cs-relogio { width: 100%; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-cs-portal { padding: 1rem; }
    body.app-rengaw .rw-cs-busca { flex-wrap: wrap; }
    body.app-rengaw .rw-cs-busca > i { top: 1.4rem; }
    body.app-rengaw .rw-cs-busca .btn { width: 100%; }
    body.app-rengaw .rw-cs-barra-linha { grid-template-columns: minmax(0, 6rem) 1fr auto; }
    body.app-rengaw .rw-cs-incidente { flex-wrap: wrap; }
    body.app-rengaw .rw-cs-ind-numero { font-size: 1.375rem; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-cs-pri-1 { background: #FF7A5C; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-pri-2, [data-bs-theme="dark"] body.app-rengaw .rw-cs-sit-aguardando, [data-bs-theme="dark"] body.app-rengaw .rw-cs-sit-aprovacao, [data-bs-theme="dark"] body.app-rengaw .rw-cs-aprov-pendente, [data-bs-theme="dark"] body.app-rengaw .rw-cs-risco-medio, [data-bs-theme="dark"] body.app-rengaw .rw-cs-tipo-interna { background: rgba(247, 184, 75, 0.18); color: #F7C96F; }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-pri-3, [data-bs-theme="dark"] body.app-rengaw .rw-cs-sit-novo, [data-bs-theme="dark"] body.app-rengaw .rw-cs-tipo-requisicao { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-sit-atendimento, [data-bs-theme="dark"] body.app-rengaw .rw-cs-tipo-mudanca { background: rgba(140, 125, 245, 0.2); color: #C3BAFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-sit-resolvido, [data-bs-theme="dark"] body.app-rengaw .rw-cs-aprov-aprovado, [data-bs-theme="dark"] body.app-rengaw .rw-cs-risco-baixo { background: rgba(46, 160, 90, 0.2); color: #8EE0AE; }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-sit-reprovado, [data-bs-theme="dark"] body.app-rengaw .rw-cs-aprov-reprovado, [data-bs-theme="dark"] body.app-rengaw .rw-cs-risco-alto, [data-bs-theme="dark"] body.app-rengaw .rw-cs-tipo-incidente { background: rgba(240, 101, 72, 0.18); color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-relogio-estourado .rw-cs-relogio-texto, [data-bs-theme="dark"] body.app-rengaw .rw-cs-fora, [data-bs-theme="dark"] body.app-rengaw .rw-cs-ind-alerta .rw-cs-ind-numero { color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-relogio-risco .rw-cs-relogio-texto { color: #F7C96F; }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-portal { background: #0B2A55; }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-incidente { background: rgba(240, 101, 72, 0.14); color: #FFD3C8; border-color: rgba(240, 101, 72, 0.4); }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-incidente .rw-sobretitulo-app { color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-solucao { background: rgba(46, 160, 90, 0.16); color: #B9EBCD; }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-int-interna { background: rgba(247, 184, 75, 0.1); border-color: rgba(247, 184, 75, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-linha-estourada > td { background: rgba(240, 101, 72, 0.1); }
[data-bs-theme="dark"] body.app-rengaw .rw-cs-notas .btn-check:checked + label { color: #061C3D; }
body.app-rengaw .rw-cs-quadro .rw-proj-coluna { border: 1px solid var(--vz-border-color); }

/* ===== App ativos_ti (2026-10-14) ===== */
body.app-rengaw .rw-ati-estado { font-weight: 600; }
body.app-rengaw .rw-ati-estado-planejado { background: #FFF4DB; color: #7A4D00; }
body.app-rengaw .rw-ati-estado-estoque { background: #E1EEFB; color: #003387; }
body.app-rengaw .rw-ati-estado-em_uso { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-ati-estado-manutencao { background: #FDE8E3; color: #A0301A; }
body.app-rengaw .rw-ati-estado-aposentado { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-ati-estado-descartado { background: #E4E7EC; color: #3A4553; }
body.app-rengaw .rw-ati-renovar { background: #FFF4DB; color: #7A4D00; font-weight: 600; }
body.app-rengaw .rw-ati-barra-planejado span { background: #F7B84B; }
body.app-rengaw .rw-ati-barra-estoque span { background: #0090F4; }
body.app-rengaw .rw-ati-barra-em_uso span { background: #0AB39C; }
body.app-rengaw .rw-ati-barra-manutencao span { background: #F06548; }
body.app-rengaw .rw-ati-barra-aposentado span, body.app-rengaw .rw-ati-barra-descartado span { background: #5D6A79; }
body.app-rengaw .rw-ati-barra-uso-ok span { background: #0AB39C; }
body.app-rengaw .rw-ati-barra-uso-excesso span { background: #F06548; }
body.app-rengaw .rw-ati-barra-uso-ociosa span { background: #F7B84B; }
body.app-rengaw .rw-ati-conf-ok { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-ati-conf-excesso { background: #FDE8E3; color: #A0301A; }
body.app-rengaw .rw-ati-conf-ociosa { background: #FFF4DB; color: #7A4D00; }
body.app-rengaw span.rw-ati-conf { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 10px; flex-shrink: 0; font-size: 1.1rem; }
body.app-rengaw .rw-ati-idade { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.75rem; align-items: end; }
body.app-rengaw .rw-ati-idade-coluna { display: flex; flex-direction: column; align-items: center; gap: 0.35rem; text-align: center; min-width: 0; }
body.app-rengaw .rw-ati-idade-barra { display: flex; align-items: flex-end; width: 100%; max-width: 3.5rem; height: 7rem; border-radius: 10px; background: var(--vz-tertiary-bg); overflow: hidden; }
body.app-rengaw .rw-ati-idade-barra span { display: block; width: 100%; background: #0090F4; border-radius: 10px 10px 0 0; }
body.app-rengaw .rw-ati-idade-coluna.velha .rw-ati-idade-barra span { background: #F7B84B; }
body.app-rengaw .rw-ati-qr svg { width: 9rem; height: 9rem; }
body.app-rengaw .rw-ati-barras svg { width: 100%; max-width: 14rem; height: 3rem; }
body.app-rengaw .rw-ati-qr, body.app-rengaw .rw-ati-barras { background: #FFFFFF; border-radius: 10px; padding: 0.5rem; display: inline-block; }
body.app-rengaw .rw-ati-tco > div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.35rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ati-tco dt { font-family: var(--rw-mono, "IBM Plex Mono", monospace); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); font-weight: 500; }
body.app-rengaw .rw-ati-tco dd { margin: 0; font-weight: 600; }
body.app-rengaw .rw-ati-tco > div.total { border-bottom: 0; }
body.app-rengaw .rw-ati-tco > div.total dd { font-family: var(--rw-titulo, "Exo 2", sans-serif); font-size: 1.15rem; color: var(--vz-primary); }
body.app-rengaw .rw-ati-instalados { columns: 2 16rem; column-gap: 1.5rem; font-size: 0.875rem; }
body.app-rengaw .rw-ati-instalados li { break-inside: avoid; padding: 0.15rem 0; }
body.app-rengaw .rw-ati-etq-lista { columns: 2 18rem; column-gap: 1.5rem; }
body.app-rengaw .rw-ati-etq-lista li { break-inside: avoid; display: flex; gap: 0.5rem; align-items: baseline; padding: 0.2rem 0; }
body.app-rengaw .rw-ati-termo { background: var(--vz-tertiary-bg); border-radius: 12px; padding: 1rem 1.25rem; line-height: 1.6; }
body.app-rengaw .rw-ati-item { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ati-item:last-child { border-bottom: 0; }
body.app-rengaw .rw-ati-item-icone { width: 2rem; height: 2rem; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: #E1EEFB; color: #006ECB; flex-shrink: 0; }
body.app-rengaw .rw-ati-item.feito .rw-ati-item-icone { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-ati-item.feito .fw-medium { text-decoration: line-through; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ati-aceite { border-color: #F7B84B; background: #FFFBF1; }
[data-bs-theme="dark"] body.app-rengaw .rw-ati-estado-planejado,
[data-bs-theme="dark"] body.app-rengaw .rw-ati-renovar,
[data-bs-theme="dark"] body.app-rengaw .rw-ati-conf-ociosa { background: rgba(247, 184, 75, 0.16); color: #F9D18C; }
[data-bs-theme="dark"] body.app-rengaw .rw-ati-estado-estoque { background: rgba(0, 144, 244, 0.16); color: #9CD3FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-ati-estado-em_uso,
[data-bs-theme="dark"] body.app-rengaw .rw-ati-conf-ok { background: rgba(10, 179, 156, 0.16); color: #8BE3D6; }
[data-bs-theme="dark"] body.app-rengaw .rw-ati-estado-manutencao,
[data-bs-theme="dark"] body.app-rengaw .rw-ati-conf-excesso { background: rgba(240, 101, 72, 0.16); color: #F7B2A3; }
[data-bs-theme="dark"] body.app-rengaw .rw-ati-estado-aposentado,
[data-bs-theme="dark"] body.app-rengaw .rw-ati-estado-descartado { background: rgba(255, 255, 255, 0.08); color: #C5CEDA; }
[data-bs-theme="dark"] body.app-rengaw .rw-ati-item-icone { background: rgba(0, 144, 244, 0.16); color: #9CD3FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-ati-item.feito .rw-ati-item-icone { background: rgba(10, 179, 156, 0.16); color: #8BE3D6; }
[data-bs-theme="dark"] body.app-rengaw .rw-ati-aceite { border-color: rgba(247, 184, 75, 0.45); background: rgba(247, 184, 75, 0.07); }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-ati-idade { gap: 0.35rem; }
    body.app-rengaw .rw-ati-idade-barra { height: 5rem; }
}

/* ===== App gestao_financeira (2026-10-14) ===== */
/* Gestão financeira: valores, ícones de categoria, barras de orçamento e metas, selos de situação, nota de saúde,
   cartões de conta, calendário e gráficos. Claro e escuro; sem borda lateral colorida. */
body.app-rengaw .rw-fin-destaque { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.75rem; line-height: 1.15; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-fin-entrada { color: #1E7A46; }
body.app-rengaw .rw-fin-saida { color: #B3261E; }
body.app-rengaw .rw-fin-atrasado { color: #B3261E; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-entrada { color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-saida, [data-bs-theme="dark"] body.app-rengaw .rw-fin-atrasado { color: #FF9C93; }
body.app-rengaw .rw-fin-mes { font-family: "Exo 2", sans-serif; font-weight: 600; font-size: 1.05rem; color: var(--vz-heading-color, #00336A); padding: 0 0.35rem; }

body.app-rengaw .rw-fin-cat { flex-shrink: 0; width: 2.25rem; height: 2.25rem; border-radius: 0.75rem; display: inline-flex; align-items: center; justify-content: center; font-size: 1.15rem; }
body.app-rengaw .rw-fin-cat-lg { width: 3.25rem; height: 3.25rem; border-radius: 1rem; font-size: 1.6rem; }
body.app-rengaw .rw-fin-cat-mini { display: inline-flex; width: 1.4rem; height: 1.4rem; border-radius: 0.45rem; align-items: center; justify-content: center; font-size: 0.8rem; vertical-align: middle; }
body.app-rengaw .rw-fin-cor-azul { background: #E1EEFB; color: #006ECB; }
body.app-rengaw .rw-fin-cor-verde { background: #E4F5EA; color: #1E7A46; }
body.app-rengaw .rw-fin-cor-roxo { background: #EFE9FC; color: #5B3FD9; }
body.app-rengaw .rw-fin-cor-laranja { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-fin-cor-rosa { background: #FCE8F1; color: #A8295E; }
body.app-rengaw .rw-fin-cor-turquesa { background: #E3F6FA; color: #0B6E82; }
body.app-rengaw .rw-fin-cor-cinza { background: #EEF1F5; color: #4F5D6E; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-cor-azul { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-cor-verde { background: rgba(46, 158, 91, 0.2); color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-cor-roxo { background: rgba(155, 130, 255, 0.2); color: #C9BBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-cor-laranja { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-cor-rosa { background: rgba(226, 109, 155, 0.2); color: #F5A8C7; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-cor-turquesa { background: rgba(41, 182, 210, 0.18); color: #86DCEC; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-cor-cinza { background: rgba(255, 255, 255, 0.08); color: #C5CEDA; }

body.app-rengaw .rw-fin-data { flex-shrink: 0; width: 2.6rem; display: inline-flex; flex-direction: column; align-items: center; line-height: 1.05; padding: 0.3rem 0; border-radius: 0.6rem; background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fin-data strong { font-family: "Exo 2", sans-serif; font-size: 1.05rem; }
body.app-rengaw .rw-fin-data small { font-family: "IBM Plex Mono", monospace; font-size: 0.62rem; text-transform: uppercase; color: var(--vz-secondary-color); }

body.app-rengaw .rw-fin-barra { height: 0.45rem; border-radius: 1rem; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-fin-barra-lg { height: 0.75rem; }
body.app-rengaw .rw-fin-barra .progress-bar { border-radius: 1rem; background: var(--vz-primary); }
body.app-rengaw .rw-fin-barra .rw-fin-estado-ok { background: #2E9E5B; }
body.app-rengaw .rw-fin-barra .rw-fin-estado-atencao { background: #E08A1E; }
body.app-rengaw .rw-fin-barra .rw-fin-estado-estourado { background: #D64545; }
body.app-rengaw .rw-fin-orc { padding: 0.5rem 0; }
body.app-rengaw .rw-fin-orc + .rw-fin-orc { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fin-orc-edicao { display: flex; align-items: center; gap: 1rem; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fin-orc-edicao:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-fin-orc-edicao .rw-fin-orc { border: 0; }
body.app-rengaw .rw-fin-orc-campo { flex: 0 0 8rem; }
body.app-rengaw .rw-fin-meta { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.6rem 0; color: inherit; }
body.app-rengaw .rw-fin-meta + .rw-fin-meta { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fin-meta:hover .fw-medium { color: var(--vz-primary); }

body.app-rengaw .rw-fin-nota { flex-shrink: 0; width: 7rem; height: 7rem; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 0.5rem solid currentColor; }
body.app-rengaw .rw-fin-nota strong { font-family: "Exo 2", sans-serif; font-size: 2.1rem; line-height: 1; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-fin-nota small { font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-fin-nota.rw-fin-faixa-otima { color: #2E9E5B; }
body.app-rengaw .rw-fin-nota.rw-fin-faixa-boa { color: #0090F4; }
body.app-rengaw .rw-fin-nota.rw-fin-faixa-atencao { color: #E08A1E; }
body.app-rengaw .rw-fin-nota.rw-fin-faixa-critica { color: #D64545; }
body.app-rengaw .badge.rw-fin-faixa { font-weight: 600; }
body.app-rengaw .badge.rw-fin-faixa-otima { background: #E4F5EA; color: #1E7A46; }
body.app-rengaw .badge.rw-fin-faixa-boa { background: #E1EEFB; color: #006ECB; }
body.app-rengaw .badge.rw-fin-faixa-atencao { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .badge.rw-fin-faixa-critica { background: #FDECEA; color: #B3261E; }
[data-bs-theme="dark"] body.app-rengaw .badge.rw-fin-faixa-otima { background: rgba(46, 158, 91, 0.2); color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .badge.rw-fin-faixa-boa { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .badge.rw-fin-faixa-atencao { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .badge.rw-fin-faixa-critica { background: rgba(214, 69, 69, 0.2); color: #FF9C93; }
body.app-rengaw .rw-fin-saude li { padding: 0.4rem 0; }
body.app-rengaw .rw-fin-saude li + li { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fin-saude .rw-fin-barra { margin: 0.25rem 0; }

body.app-rengaw .rw-fin-grafico { min-height: 240px; }
body.app-rengaw .rw-fin-grafico-alto { min-height: 300px; }
body.app-rengaw .rw-fin-filtros { min-width: 17rem; }

body.app-rengaw .rw-fin-selo { display: inline-flex; align-items: center; gap: 0.25rem; border: 0; border-radius: 1rem; padding: 0.15rem 0.6rem; font-size: 0.75rem; font-weight: 600; line-height: 1.5; background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw button.rw-fin-selo { cursor: pointer; }
body.app-rengaw .rw-fin-selo-pago, body.app-rengaw .rw-fin-fatura-paga { background: #E4F5EA; color: #1E7A46; }
body.app-rengaw .rw-fin-selo-previsto, body.app-rengaw .rw-fin-fatura-aberta { background: #E1EEFB; color: #006ECB; }
body.app-rengaw .rw-fin-fatura-fechada { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-fin-selo-vencido, body.app-rengaw .rw-fin-fatura-vencida { background: #FDECEA; color: #B3261E; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-selo { background: rgba(255, 255, 255, 0.08); color: #C5CEDA; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-selo-pago, [data-bs-theme="dark"] body.app-rengaw .rw-fin-fatura-paga { background: rgba(46, 158, 91, 0.2); color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-selo-previsto, [data-bs-theme="dark"] body.app-rengaw .rw-fin-fatura-aberta { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-fatura-fechada { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-selo-vencido, [data-bs-theme="dark"] body.app-rengaw .rw-fin-fatura-vencida { background: rgba(214, 69, 69, 0.2); color: #FF9C93; }
body.app-rengaw tr.rw-fin-linha-vencida > td { background: rgba(214, 69, 69, 0.05); }
body.app-rengaw tr.rw-fin-linha-prevista > td { color: var(--vz-secondary-color); }
body.app-rengaw tr.rw-fin-linha-apagada > td { opacity: 0.6; }
body.app-rengaw .rw-fin-tag { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; color: var(--vz-primary); }

body.app-rengaw .rw-fin-tipos .rw-fin-tipo { border: 1px solid var(--vz-border-color); border-radius: 0.625rem; background: var(--vz-card-bg, #FFFFFF); color: var(--vz-body-color); font-weight: 500; }
body.app-rengaw .btn-check:checked + .rw-fin-tipo-despesa { background: #FDECEA; border-color: #D64545; color: #B3261E; }
body.app-rengaw .btn-check:checked + .rw-fin-tipo-receita { background: #E4F5EA; border-color: #2E9E5B; color: #1E7A46; }
body.app-rengaw .btn-check:checked + .rw-fin-tipo-transferencia { background: #E1EEFB; border-color: #006ECB; color: #006ECB; }
[data-bs-theme="dark"] body.app-rengaw .btn-check:checked + .rw-fin-tipo-despesa { background: rgba(214, 69, 69, 0.2); color: #FF9C93; }
[data-bs-theme="dark"] body.app-rengaw .btn-check:checked + .rw-fin-tipo-receita { background: rgba(46, 158, 91, 0.2); color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .btn-check:checked + .rw-fin-tipo-transferencia { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
body.app-rengaw .btn-check:focus-visible + .rw-fin-tipo { outline: 2px solid var(--vz-primary); outline-offset: 2px; }

body.app-rengaw .rw-fin-conta { display: flex; flex-direction: column; gap: 0.15rem; height: 100%; padding: 1rem; border-radius: 1rem; border: 1px solid var(--vz-border-color); background: var(--vz-card-bg, #FFFFFF); color: inherit; }
body.app-rengaw .rw-fin-conta:hover { border-color: var(--vz-primary-border-subtle, #9CC9F0); color: inherit; }
body.app-rengaw .rw-fin-saldo { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.4rem; margin-top: 0.6rem; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-fin-saldo.rw-fin-saida { color: #B3261E; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-saldo.rw-fin-saida { color: #FF9C93; }
body.app-rengaw .rw-fin-inativa { opacity: 0.6; }

body.app-rengaw .rw-fin-cat-item { padding: 0.6rem 0; }
body.app-rengaw .rw-fin-cat-item + .rw-fin-cat-item { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fin-cat-item > a { color: inherit; }
body.app-rengaw .rw-fin-subs { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.4rem 0 0 2.75rem; }
body.app-rengaw .rw-fin-sub { font-size: 0.8rem; padding: 0.1rem 0.6rem; border-radius: 1rem; border: 1px solid var(--vz-border-color); color: var(--vz-body-color); }
body.app-rengaw .rw-fin-sub:hover { border-color: var(--vz-primary); color: var(--vz-primary); }

body.app-rengaw .rw-fin-estrategia { height: 100%; padding: 1rem; border-radius: 1rem; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fin-estrategia-melhor { border-color: #2E9E5B; background: rgba(46, 158, 91, 0.06); }

body.app-rengaw .rw-fin-cal { display: flex; flex-direction: column; border: 1px solid var(--vz-border-color); border-radius: 1rem; overflow: hidden; }
body.app-rengaw .rw-fin-cal-cabeca, body.app-rengaw .rw-fin-cal-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
body.app-rengaw .rw-fin-cal-cabeca span { padding: 0.4rem; text-align: center; font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; background: var(--vz-secondary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-fin-cal-dia { min-height: 6rem; padding: 0.35rem; border-top: 1px solid var(--vz-border-color); border-left: 1px solid var(--vz-border-color); display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
body.app-rengaw .rw-fin-cal-dia:first-child { border-left: 0; }
body.app-rengaw .rw-fin-cal-fora { background: var(--vz-secondary-bg); opacity: 0.6; }
body.app-rengaw .rw-fin-cal-num { font-family: "Exo 2", sans-serif; font-weight: 600; font-size: 0.85rem; }
body.app-rengaw .rw-fin-cal-hoje .rw-fin-cal-num { display: inline-flex; width: 1.6rem; height: 1.6rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-fin-cal-item { display: block; font-size: 0.7rem; padding: 0.05rem 0.35rem; border-radius: 0.35rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; background: #FDECEA; color: #B3261E; }
body.app-rengaw .rw-fin-cal-receita { background: #E4F5EA; color: #1E7A46; }
body.app-rengaw .rw-fin-cal-fatura { background: #EFE9FC; color: #5B3FD9; }
body.app-rengaw .rw-fin-cal-divida { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-fin-cal-paga { text-decoration: line-through; opacity: 0.7; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-cal-item { background: rgba(214, 69, 69, 0.2); color: #FF9C93; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-cal-receita { background: rgba(46, 158, 91, 0.2); color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-cal-fatura { background: rgba(155, 130, 255, 0.2); color: #C9BBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-fin-cal-divida { background: rgba(247, 184, 75, 0.18); color: #F7C873; }

body.app-rengaw .rw-fin-aviso { display: flex; gap: 0.5rem; align-items: flex-start; padding: 0.75rem; border-radius: 0.75rem; background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fin-aviso i { color: var(--vz-primary); font-size: 1.1rem; }
body.app-rengaw .rw-fin-lista-passos { padding-left: 1.2rem; }
body.app-rengaw .rw-fin-lista-passos li { margin-bottom: 0.35rem; }

@media (max-width: 575.98px) {
    body.app-rengaw .rw-fin-destaque { font-size: 1.45rem; }
    body.app-rengaw .rw-fin-nota { width: 5.5rem; height: 5.5rem; border-width: 0.4rem; }
    body.app-rengaw .rw-fin-nota strong { font-size: 1.6rem; }
    body.app-rengaw .rw-fin-orc-edicao { flex-wrap: wrap; gap: 0.25rem; padding-bottom: 0.5rem; }
    body.app-rengaw .rw-fin-orc-campo { flex: 1 1 100%; }
}

/* ===== App plano_estudo (2026-10-14) ===== */
/* Plano de estudo: cores das disciplinas, faixa do plano em uso, contagem, "o que estudar agora", anéis de meta,
   sequência (chama), ciclo, mapa de constância, edital verticalizado, cronômetro, revisões, erros e colunas. */
body.app-rengaw .rw-pes-cor-azul { background: #0090F4; }
body.app-rengaw .rw-pes-cor-verde { background: #0AB39C; }
body.app-rengaw .rw-pes-cor-roxo { background: #7A5AF8; }
body.app-rengaw .rw-pes-cor-laranja { background: #F7853B; }
body.app-rengaw .rw-pes-cor-rosa { background: #E5487D; }
body.app-rengaw .rw-pes-cor-turquesa { background: #17A2B8; }
body.app-rengaw .rw-pes-cor-amarelo { background: #E8B21A; }
body.app-rengaw .rw-pes-cor-cinza { background: #8A96A4; }
body.app-rengaw .rw-pes-ponto { display: inline-block; width: 0.625rem; height: 0.625rem; border-radius: 50%; flex: 0 0 auto; vertical-align: middle; }

body.app-rengaw .rw-pes-faixa {
    display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 1rem; margin-bottom: 1rem;
    background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 12px;
}
body.app-rengaw .rw-pes-selo { background: var(--vz-light); color: var(--vz-body-color); font-weight: 500; }
body.app-rengaw .rw-pes-selo-alerta { background: #FDE8E4; color: #A8331A; }
body.app-rengaw .rw-pes-selo-ok { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pes-selo-alta { background: #FEF4E4; color: #8A5200; font-weight: 500; }
body.app-rengaw .rw-pes-texto-alerta { color: #A8331A; }
body.app-rengaw .rw-pes-texto-ok { color: #067A6A; }

body.app-rengaw .rw-pes-hero { padding: 1rem 0.5rem; }
body.app-rengaw .rw-pes-hero-titulo { font-family: var(--rw-titulo); font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 600; max-width: 40rem; }
body.app-rengaw .rw-pes-numero { font-family: var(--rw-titulo); font-size: 3rem; font-weight: 700; line-height: 1; color: var(--vz-primary); }
body.app-rengaw .rw-pes-agora { background: linear-gradient(0deg, var(--vz-secondary-bg), var(--vz-secondary-bg)); }
body.app-rengaw .rw-pes-agora h2, body.app-rengaw .rw-pes-agora h3 { font-family: var(--rw-titulo); }

body.app-rengaw .rw-pes-anel { width: 4rem; height: 4rem; flex: 0 0 auto; transform: rotate(-90deg); }
body.app-rengaw .rw-pes-anel circle { fill: none; stroke-width: 3.5; }
body.app-rengaw .rw-pes-anel-fundo { stroke: var(--vz-border-color); }
body.app-rengaw .rw-pes-anel-valor { stroke: var(--vz-primary); stroke-linecap: round; transition: stroke-dasharray 0.4s; }
body.app-rengaw .rw-pes-anel text { transform: rotate(90deg); transform-origin: 18px 18px; font-family: var(--rw-titulo); font-size: 0.5rem; font-weight: 600; fill: var(--vz-heading-color, var(--vz-body-color)); }

body.app-rengaw .rw-pes-chama { display: inline-flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; border-radius: 50%; background: var(--vz-light); color: var(--vz-secondary-color); font-size: 1.75rem; flex: 0 0 auto; }
body.app-rengaw .rw-pes-chama.acesa { background: #FEF0E6; color: #C2570C; }

body.app-rengaw .rw-pes-barra { display: block; height: 0.5rem; border-radius: 999px; background: var(--vz-light); overflow: hidden; min-width: 3rem; }
body.app-rengaw .rw-pes-barra > span { display: block; height: 100%; border-radius: 999px; }
body.app-rengaw .rw-pes-barra-grossa { height: 0.75rem; margin-bottom: 0.25rem; }
body.app-rengaw .rw-pes-barra-curta { width: 6rem; flex: 0 0 auto; }
body.app-rengaw .rw-pes-ciclo-linha { display: flex; align-items: center; gap: 0.625rem; padding: 0.375rem 0; }
body.app-rengaw .rw-pes-ciclo-nome { width: 11rem; flex: 0 0 auto; font-weight: 500; }
body.app-rengaw .rw-pes-ciclo-tempo { width: 7.5rem; flex: 0 0 auto; text-align: right; white-space: nowrap; }

body.app-rengaw .rw-pes-mapa { display: flex; gap: 4px; overflow-x: auto; padding-bottom: 0.25rem; position: relative; }
body.app-rengaw .rw-pes-mapa-semana { display: grid; grid-template-rows: repeat(7, 1fr); gap: 4px; flex: 1 1 0; min-width: 0.875rem; max-width: 2.5rem; }
body.app-rengaw .rw-pes-mapa-dia { display: block; aspect-ratio: 1 / 1; border-radius: 4px; background: var(--vz-light); }
body.app-rengaw .rw-pes-mapa-dia.nivel-1 { background: #BFE3FD; }
body.app-rengaw .rw-pes-mapa-dia.nivel-2 { background: #66BDF8; }
body.app-rengaw .rw-pes-mapa-dia.nivel-3 { background: #0090F4; }
body.app-rengaw .rw-pes-mapa-dia.nivel-4 { background: #003387; }
body.app-rengaw .rw-pes-mapa-dia.futuro { opacity: 0.35; }
body.app-rengaw .rw-pes-mapa-legenda { display: flex; align-items: center; gap: 4px; justify-content: flex-end; margin-top: 0.5rem; }
body.app-rengaw .rw-pes-mapa-legenda .rw-pes-mapa-dia { width: 0.75rem; }

body.app-rengaw .rw-pes-topicos { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-pes-topicos li { display: flex; align-items: flex-start; gap: 0.625rem; padding: 0.625rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pes-topicos li:first-child { border-top: 0; }
body.app-rengaw .rw-pes-topicos form { margin: 0; }
body.app-rengaw .rw-pes-check { border: 0; background: none; padding: 0; color: var(--vz-secondary-color); font-size: 1.375rem; line-height: 1; cursor: pointer; }
body.app-rengaw span.rw-pes-check { cursor: default; }
body.app-rengaw .rw-pes-check:focus-visible { outline: 2px solid var(--vz-primary); outline-offset: 2px; border-radius: 50%; }
body.app-rengaw .rw-pes-topicos li.visto .rw-pes-check { color: #0AB39C; }
body.app-rengaw .rw-pes-topico-titulo { display: block; color: var(--vz-body-color); }
body.app-rengaw a.rw-pes-topico-titulo:hover { color: var(--vz-primary); }
body.app-rengaw .rw-pes-topicos li.visto .rw-pes-topico-titulo { color: var(--vz-secondary-color); }
body.app-rengaw .rw-pes-topico-info { display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.8125rem; color: var(--vz-secondary-color); margin-top: 0.125rem; }

body.app-rengaw .rw-pes-previa { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem 1rem; height: 100%; }
body.app-rengaw .rw-pes-previa ol { padding-left: 1.125rem; }
body.app-rengaw .rw-pes-modelo { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; cursor: pointer; height: 100%; margin: 0; }
body.app-rengaw .rw-pes-modelo:has(input:checked) { border-color: var(--vz-primary); background: var(--vz-primary-bg-subtle); }
body.app-rengaw .rw-pes-modelo .form-check-input { margin: 0; flex: 0 0 auto; }

body.app-rengaw .rw-pes-plano { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 1rem; height: 100%; }
body.app-rengaw .rw-pes-plano.em-uso { border-color: var(--vz-primary); box-shadow: inset 0 0 0 1px var(--vz-primary); }
body.app-rengaw .rw-pes-plano.arquivado { opacity: 0.7; }

body.app-rengaw .rw-pes-cronometro { text-align: center; }
body.app-rengaw .rw-pes-relogio { font-family: var(--rw-mono); font-size: clamp(3rem, 9vw, 4.5rem); font-weight: 500; line-height: 1.1; margin-bottom: 0.25rem; font-variant-numeric: tabular-nums; }
body.app-rengaw .rw-pes-cronometro.rodando .rw-pes-relogio { color: var(--vz-primary); }
body.app-rengaw .rw-pes-cronometro.descanso .rw-pes-relogio { color: #067A6A; }

body.app-rengaw .rw-pes-revisao { display: flex; flex-wrap: wrap; align-items: center; gap: 0.625rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pes-revisao:last-child { border-bottom: 0; }
body.app-rengaw .rw-pes-botoes-revisao { display: flex; gap: 0.25rem; margin: 0; }
body.app-rengaw .rw-pes-data { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 10px; background: var(--vz-light); line-height: 1; flex: 0 0 auto; }
body.app-rengaw .rw-pes-data strong { font-family: var(--rw-titulo); font-size: 1.05rem; }
body.app-rengaw .rw-pes-data small { font-family: var(--rw-mono); font-size: 0.625rem; text-transform: uppercase; }

body.app-rengaw .rw-pes-erro.dominado { opacity: 0.75; }
body.app-rengaw .rw-pes-correto { padding: 0.625rem 0.75rem; border-radius: 10px; background: #E6F7F4; color: #065C51; font-size: 0.875rem; }
body.app-rengaw .rw-pes-recado { display: flex; gap: 0.625rem; padding: 0.625rem 0; border-top: 1px solid var(--vz-border-color); }

body.app-rengaw .rw-pes-colunas { display: flex; align-items: flex-end; gap: 0.5rem; height: 11rem; }
body.app-rengaw .rw-pes-coluna { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 0.25rem; height: 100%; min-width: 0; }
body.app-rengaw .rw-pes-coluna-valor { white-space: nowrap; font-size: 0.6875rem; }
body.app-rengaw .rw-pes-coluna-barra { flex: 1 1 auto; width: 100%; max-width: 2.5rem; display: flex; align-items: flex-end; background: var(--vz-light); border-radius: 6px; overflow: hidden; }
body.app-rengaw .rw-pes-coluna-barra > span { display: block; width: 100%; background: var(--vz-primary); border-radius: 6px 6px 0 0; min-height: 2px; }
body.app-rengaw .rw-pes-coluna-verde > span { background: #0AB39C; }
body.app-rengaw .rw-pes-num { width: 5.5rem; }

[data-bs-theme="dark"] body.app-rengaw .rw-pes-selo-alerta { background: rgba(240, 101, 72, 0.18); color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-pes-selo-ok { background: rgba(10, 179, 156, 0.18); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pes-selo-alta { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pes-texto-alerta { color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-pes-texto-ok { color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pes-chama.acesa { background: rgba(247, 133, 59, 0.2); color: #FFA466; }
[data-bs-theme="dark"] body.app-rengaw .rw-pes-correto { background: rgba(10, 179, 156, 0.16); color: #8FE6D8; }
[data-bs-theme="dark"] body.app-rengaw .rw-pes-mapa-dia.nivel-1 { background: #123B5E; }
[data-bs-theme="dark"] body.app-rengaw .rw-pes-mapa-dia.nivel-2 { background: #0B5E9C; }
[data-bs-theme="dark"] body.app-rengaw .rw-pes-mapa-dia.nivel-4 { background: #8FD0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pes-cronometro.descanso .rw-pes-relogio { color: #5FD9C6; }

@media (max-width: 575.98px) {
    body.app-rengaw .rw-pes-ciclo-nome { width: 7rem; }
    body.app-rengaw .rw-pes-ciclo-tempo { width: auto; }
    body.app-rengaw .rw-pes-numero { font-size: 2.5rem; }
    body.app-rengaw .rw-pes-botoes-revisao { width: 100%; }
    body.app-rengaw .rw-pes-botoes-revisao .btn { flex: 1 1 0; }
}

/* ===== App agendamento_visitas (2026-10-14) ===== */
/* Visitas: agenda e ocupação, selos de situação, contagem da portaria, check-in, mapa de horários, página pública
 * (experiências, calendário do mês, sessões), ingresso, vitrine para iframe e pesquisa. Reaproveita .rw-acao-linha,
 * .rw-menu-*, .rw-barb-passo/.rw-barb-horario/.rw-barb-dias e .rw-ficha. Claro e escuro. */
body.app-rengaw .rw-vis-hora { font-family: var(--rw-mono); font-size: 0.875rem; font-weight: 600; color: var(--vz-primary); min-width: 3rem; }
body.app-rengaw .rw-vis-ocupacao { display: flex; flex-direction: column; align-items: flex-end; gap: 0.25rem; width: 5.5rem; flex-shrink: 0; }
body.app-rengaw .rw-vis-ocupacao .rw-menu-ranking-barra { width: 100%; }
body.app-rengaw .rw-vis-cancelada .fw-medium { text-decoration: line-through; }
body.app-rengaw .rw-vis-codigo { font-family: var(--rw-mono); font-size: 0.8125rem; letter-spacing: 0.06em; color: var(--vz-secondary-color); min-width: 5.5rem; }
body.app-rengaw .rw-vis-codigo-grande { font-family: var(--rw-mono); font-size: 1.5rem; font-weight: 600; letter-spacing: 0.18em; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-vis-num { width: 4.5rem; }
body.app-rengaw .rw-vis-contador { display: inline-flex; align-items: center; justify-content: center; min-width: 1.25rem; height: 1.25rem; padding: 0 0.35rem; border-radius: 999px; background: var(--vz-primary); color: #FFFFFF; font-size: 0.6875rem; font-weight: 600; }
body.app-rengaw .rw-vis-data { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 12px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); flex-shrink: 0; line-height: 1.1; }
body.app-rengaw .rw-vis-data strong { font-family: var(--rw-titulo, inherit); font-size: 1.125rem; }
body.app-rengaw .rw-vis-data span { font-family: var(--rw-mono); font-size: 0.625rem; text-transform: uppercase; }

/* Selos de situação */
body.app-rengaw .rw-vis-selo { display: inline-flex; align-items: center; gap: 0.2rem; padding: 0.15rem 0.5rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 600; white-space: nowrap; border: 1px solid transparent; }
body.app-rengaw .rw-vis-selo-confirmada { background: #E6F6F3; color: #0A6E61; }
body.app-rengaw .rw-vis-selo-pendente { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-vis-selo-espera { background: #E8F2FC; color: #005BA8; }
body.app-rengaw .rw-vis-selo-cancelada, body.app-rengaw .rw-vis-selo-recusada, body.app-rengaw .rw-vis-selo-falta { background: #FDECE8; color: #A8321C; }
body.app-rengaw .rw-vis-selo-expirada { background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-vis-selo-presente { background: #0A7F6F; color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-selo-confirmada { background: rgba(10, 179, 156, 0.18); color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-selo-pendente { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-selo-espera { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-selo-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-vis-selo-recusada, [data-bs-theme="dark"] body.app-rengaw .rw-vis-selo-falta { background: rgba(240, 101, 72, 0.18); color: #FFA28F; }

/* Agenda: dias da semana */
body.app-rengaw .rw-vis-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.375rem; }
body.app-rengaw .rw-vis-dia { display: flex; flex-direction: column; align-items: center; padding: 0.4rem 0.2rem; border: 1px solid var(--vz-border-color); border-radius: 12px; color: var(--vz-body-color); text-decoration: none; font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; }
body.app-rengaw .rw-vis-dia strong { font-size: 1rem; }
body.app-rengaw .rw-vis-dia.hoje { border-color: var(--vz-primary); }
body.app-rengaw .rw-vis-dia.escolhido { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-dia.escolhido { color: #061C3D; }

/* Sessão: contagem da portaria */
body.app-rengaw .rw-vis-contagem { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-vis-contagem > div { display: flex; flex-direction: column; padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; }
body.app-rengaw .rw-vis-contagem span { font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-vis-contagem strong { font-family: var(--rw-titulo, inherit); font-size: 1.75rem; line-height: 1.2; }
body.app-rengaw .rw-vis-contagem small { color: var(--vz-secondary-color); }
body.app-rengaw .rw-vis-contagem-destaque { background: var(--vz-primary-bg-subtle); border-color: var(--vz-primary-border-subtle) !important; }

/* Check-in */
body.app-rengaw .rw-vis-resultado .card-body { padding: 1.5rem; }
body.app-rengaw .rw-vis-resultado-icone { display: inline-flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; font-size: 2rem; flex-shrink: 0; color: #FFFFFF; }
body.app-rengaw .rw-vis-resultado.liberado { border-color: #0AB39C; }
body.app-rengaw .rw-vis-resultado.liberado .rw-vis-resultado-icone { background: #0A7F6F; }
body.app-rengaw .rw-vis-resultado.recusado { border-color: #F06548; }
body.app-rengaw .rw-vis-resultado.recusado .rw-vis-resultado-icone { background: #C23A22; }
body.app-rengaw .rw-vis-avisos { padding-left: 1.25rem; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-avisos { color: #F7C873; }
body.app-rengaw .rw-vis-camera { width: 100%; max-width: 22rem; border-radius: 0.75rem; background: #061C3D; }

/* Painel: mapa de horários, barras, comentários */
body.app-rengaw .rw-vis-mapa-rolagem { position: relative; overflow-x: auto; }
body.app-rengaw .rw-vis-mapa { border-collapse: separate; border-spacing: 3px; width: 100%; min-width: 30rem; }
body.app-rengaw .rw-vis-mapa th { font-family: var(--rw-mono); font-size: 0.6875rem; font-weight: 500; color: var(--vz-secondary-color); text-align: center; padding: 0 0.25rem; }
body.app-rengaw .rw-vis-mapa tbody th { text-align: left; text-transform: uppercase; letter-spacing: 0.06em; }
body.app-rengaw .rw-vis-mapa td, body.app-rengaw .rw-vis-legenda { height: 1.375rem; border-radius: 0.3rem; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-vis-legenda { display: inline-block; width: 1rem; height: 0.875rem; }
body.app-rengaw .rw-vis-mapa .nivel-1, body.app-rengaw .rw-vis-legenda.nivel-1 { background: #CCE6FD; }
body.app-rengaw .rw-vis-mapa .nivel-2, body.app-rengaw .rw-vis-legenda.nivel-2 { background: #80C4FA; }
body.app-rengaw .rw-vis-mapa .nivel-3, body.app-rengaw .rw-vis-legenda.nivel-3 { background: #0090F4; }
body.app-rengaw .rw-vis-mapa .nivel-4, body.app-rengaw .rw-vis-legenda.nivel-4 { background: #003387; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-mapa .nivel-1, [data-bs-theme="dark"] body.app-rengaw .rw-vis-legenda.nivel-1 { background: #0B3358; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-mapa .nivel-2, [data-bs-theme="dark"] body.app-rengaw .rw-vis-legenda.nivel-2 { background: #005BA8; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-mapa .nivel-4, [data-bs-theme="dark"] body.app-rengaw .rw-vis-legenda.nivel-4 { background: #8FCBFF; }
body.app-rengaw .rw-vis-barra-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.35rem 0; }
body.app-rengaw .rw-vis-barra-linha > span:first-child { width: 9rem; flex-shrink: 0; }
body.app-rengaw .rw-vis-comentario { margin: 0; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-vis-comentario:last-child { border-bottom: 0; }
body.app-rengaw .rw-vis-comentario blockquote { font-style: italic; }
body.app-rengaw .rw-vis-estrelas { color: #B87A00; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-estrelas { color: #F7C873; }
body.app-rengaw .rw-vis-historico { list-style: none; padding: 0; }
body.app-rengaw .rw-vis-historico li { padding: 0.4rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-vis-historico li:last-child { border-bottom: 0; }
body.app-rengaw .rw-vis-historico .rw-mono { color: var(--vz-secondary-color); margin-right: 0.5rem; }
body.app-rengaw .rw-vis-decisao { border-color: #F7B84B; }
body.app-rengaw .rw-vis-qr { width: 11rem; max-width: 100%; padding: 0.5rem; background: #FFFFFF; border-radius: 12px; border: 1px solid #DCE3EC; }
body.app-rengaw .rw-vis-qr svg { width: 100%; height: auto; display: block; }

/* Página pública: experiências, calendário, sessões, ingresso */
body.app-rengaw .rw-vis-experiencias { display: flex; flex-direction: column; gap: 0.5rem; }
body.app-rengaw .rw-vis-exp { position: relative; display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.875rem 5.5rem 0.875rem 0.875rem; border: 1px solid var(--vz-border-color); border-radius: 14px; background: var(--vz-secondary-bg); color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-vis-exp:hover { border-color: var(--vz-primary-border-subtle); color: var(--vz-body-color); }
body.app-rengaw .rw-vis-exp.escolhido { border-color: var(--vz-primary); box-shadow: 0 0 0 1px var(--vz-primary); }
body.app-rengaw .rw-vis-exp .rw-barb-preco { position: absolute; top: 0.875rem; right: 0.875rem; }
body.app-rengaw .rw-vis-exp-icone { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 10px; flex-shrink: 0; font-size: 1.25rem; color: #FFFFFF; background: var(--rw-vis-cor, #006ECB); }
body.app-rengaw .rw-vis-calendario { padding: 0.875rem; border: 1px solid var(--vz-border-color); border-radius: 14px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-vis-mes { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 4px; }
body.app-rengaw .rw-vis-mes th { font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; color: var(--vz-secondary-color); text-align: center; font-weight: 500; }
body.app-rengaw .rw-vis-mes td { padding: 0; text-align: center; }
body.app-rengaw .rw-vis-mes-dia { display: flex; align-items: center; justify-content: center; height: 2.5rem; border-radius: 10px; font-weight: 600; text-decoration: none; color: var(--vz-body-color); }
body.app-rengaw .rw-vis-mes-dia.fora, body.app-rengaw .rw-vis-mes-dia.fechado { color: var(--vz-secondary-color); font-weight: 400; opacity: 0.6; }
body.app-rengaw .rw-vis-mes-dia.livre, body.app-rengaw .rw-vis-mes-legenda.livre { background: #E6F6F3; color: #0A6E61; }
body.app-rengaw .rw-vis-mes-dia.poucas, body.app-rengaw .rw-vis-mes-legenda.poucas { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-vis-mes-dia.lotado, body.app-rengaw .rw-vis-mes-legenda.lotado { background: #FDECE8; color: #A8321C; }
body.app-rengaw a.rw-vis-mes-dia:hover { outline: 2px solid var(--vz-primary); }
body.app-rengaw .rw-vis-mes-dia.escolhido { background: var(--vz-primary); color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-mes-dia.livre, [data-bs-theme="dark"] body.app-rengaw .rw-vis-mes-legenda.livre { background: rgba(10, 179, 156, 0.2); color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-mes-dia.poucas, [data-bs-theme="dark"] body.app-rengaw .rw-vis-mes-legenda.poucas { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-mes-dia.lotado, [data-bs-theme="dark"] body.app-rengaw .rw-vis-mes-legenda.lotado { background: rgba(240, 101, 72, 0.2); color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-vis-mes-dia.escolhido { color: #061C3D; }
body.app-rengaw .rw-vis-mes-legenda { display: inline-block; width: 0.875rem; height: 0.875rem; border-radius: 4px; margin-right: 0.35rem; vertical-align: -2px; }
body.app-rengaw a.rw-barb-horario { color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw a.rw-barb-horario.escolhido { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw a.rw-barb-horario.escolhido small { color: inherit; }
body.app-rengaw a.rw-barb-horario.lotado { border-style: dashed; }
[data-bs-theme="dark"] body.app-rengaw a.rw-barb-horario.escolhido { color: #061C3D; }
body.app-rengaw .rw-vis-ingressos { padding: 0.875rem 0.875rem 0.25rem; border: 1px solid var(--vz-border-color); border-radius: 14px; }
body.app-rengaw .rw-vis-ingressos legend { float: none; width: auto; font-size: 0.875rem; font-weight: 500; padding: 0 0.25rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-vis-bilhete { margin-top: 1rem; padding: 1.25rem; border: 1px solid var(--vz-border-color); border-radius: 18px; background: var(--vz-secondary-bg); text-align: center; }
body.app-rengaw .rw-vis-bilhete-data { font-family: var(--rw-mono); text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.8125rem; color: var(--vz-secondary-color); margin: 0.5rem 0 0; }
body.app-rengaw .rw-vis-bilhete-hora { font-family: var(--rw-titulo, inherit); font-size: 2.25rem; font-weight: 700; margin: 0; }
body.app-rengaw .rw-vis-bilhete-hora span { font-size: 1rem; font-weight: 400; color: var(--vz-secondary-color); }
body.app-rengaw .rw-vis-secao-publica { margin-top: 1rem; padding: 1rem 1.25rem; border: 1px solid var(--vz-border-color); border-radius: 14px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-vis-secao-publica h2 { font-size: 1rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-vis-notas { display: flex; gap: 0.5rem; }
body.app-rengaw .rw-vis-nota { position: relative; flex: 1 1 0; margin: 0; }
body.app-rengaw .rw-vis-nota input { position: absolute; opacity: 0; }
body.app-rengaw .rw-vis-nota span { display: flex; align-items: center; justify-content: center; gap: 0.25rem; padding: 0.6rem 0; border: 1px solid var(--vz-border-color); border-radius: 10px; cursor: pointer; font-weight: 600; }
body.app-rengaw .rw-vis-nota span i { color: #B87A00; }
body.app-rengaw .rw-vis-nota input:checked + span { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-vis-nota input:checked + span i { color: inherit; }
body.app-rengaw .rw-vis-nota input:focus-visible + span { outline: 2px solid var(--vz-primary); outline-offset: 2px; }

/* Vitrine (iframe no site do cliente) */
body.rw-vis-vitrine-corpo { background: transparent; }
body.app-rengaw .rw-vis-vitrine { padding: 1rem; }
body.app-rengaw .rw-vis-vitrine-titulo { font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-vis-vitrine-item { display: flex; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-vis-vitrine-data { padding: 0.2rem 0.55rem; border: 1px solid var(--vz-primary-border-subtle); border-radius: 999px; font-size: 0.75rem; font-family: var(--rw-mono); text-decoration: none; color: var(--vz-primary); }
body.app-rengaw .rw-vis-vitrine-data:hover { background: var(--vz-primary); color: #FFFFFF; }

@media (max-width: 575.98px) {
    body.app-rengaw .rw-vis-contagem { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.app-rengaw .rw-vis-barra-linha > span:first-child { width: 6.5rem; }
    body.app-rengaw .rw-vis-dia { font-size: 0.5625rem; padding: 0.35rem 0; }
    body.app-rengaw .rw-vis-exp { padding-right: 4.5rem; }
}

/* ===== App orcamento_facil (2026-10-14) ===== */
/* Orçamento fácil: selos de situação, editor de itens, resumo e totais, compartilhar, fotos, conversa, linha do tempo,
 * checklist, cores da marca e a página do cliente (reaproveita .rw-menu-pagina/.rw-menu-capa e os dias e horários
 * .rw-barb-*). Sem borda lateral colorida. Claro e escuro. */
body.app-rengaw .rw-orcf-status { display: inline-flex; align-items: center; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 600; white-space: nowrap; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-orcf-status-enviado, body.app-rengaw .rw-orcf-status-agendado { background: #E8F2FC; color: #005BA8; }
body.app-rengaw .rw-orcf-status-visualizado, body.app-rengaw .rw-orcf-status-execucao, body.app-rengaw .rw-orcf-status-a_agendar { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-orcf-status-aprovado, body.app-rengaw .rw-orcf-status-convertido, body.app-rengaw .rw-orcf-status-concluido { background: #E6F6F3; color: #0A6E61; }
body.app-rengaw .rw-orcf-status-recusado, body.app-rengaw .rw-orcf-status-cancelado { background: #FDECE8; color: #A8321C; }
[data-bs-theme="dark"] body.app-rengaw .rw-orcf-status-enviado, [data-bs-theme="dark"] body.app-rengaw .rw-orcf-status-agendado { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-orcf-status-visualizado, [data-bs-theme="dark"] body.app-rengaw .rw-orcf-status-execucao, [data-bs-theme="dark"] body.app-rengaw .rw-orcf-status-a_agendar { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-orcf-status-aprovado, [data-bs-theme="dark"] body.app-rengaw .rw-orcf-status-convertido, [data-bs-theme="dark"] body.app-rengaw .rw-orcf-status-concluido { background: rgba(10, 179, 156, 0.18); color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-orcf-status-recusado, [data-bs-theme="dark"] body.app-rengaw .rw-orcf-status-cancelado { background: rgba(240, 101, 72, 0.18); color: #FFA28F; }
body.app-rengaw .rw-orcf-pergunta { display: inline-flex; align-items: center; gap: 0.2rem; padding: 0.1rem 0.45rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 600; background: #FFF4E0; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-orcf-pergunta { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
body.app-rengaw .rw-orcf-data { flex: 0 0 2.75rem; display: flex; flex-direction: column; align-items: center; line-height: 1.1; padding: 0.3rem 0; border-radius: 10px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; }
body.app-rengaw .rw-orcf-data strong { font-family: var(--rw-titulo); font-size: 1.125rem; }
body.app-rengaw .rw-orcf-hora { flex: 0 0 3.25rem; font-family: var(--rw-mono); font-weight: 600; color: var(--vz-primary); }
/* Editor de itens */
body.app-rengaw .rw-orcf-itens { min-width: 52rem; }
body.app-rengaw .rw-orcf-itens td { vertical-align: top; padding-top: 0.5rem; padding-bottom: 0.5rem; }
body.app-rengaw .rw-orcf-c-tipo { width: 9.5rem; }
body.app-rengaw .rw-orcf-c-num { width: 7rem; }
body.app-rengaw .rw-orcf-c-un { width: 7rem; }
body.app-rengaw .rw-orcf-linha-total { padding-top: 0.95rem !important; white-space: nowrap; }
body.app-rengaw .rw-orcf-catalogo { width: auto; min-width: 14rem; max-width: 100%; }
body.app-rengaw .rw-orcf-totais { display: grid; gap: 0.3rem; max-width: 22rem; }
body.app-rengaw .rw-orcf-totais > div { display: flex; justify-content: space-between; gap: 1rem; }
body.app-rengaw .rw-orcf-totais dt { font-weight: 400; color: var(--vz-secondary-color); }
body.app-rengaw .rw-orcf-totais dd { margin: 0; font-family: var(--rw-mono); }
body.app-rengaw .rw-orcf-totais .rw-orcf-total { border-top: 1px solid var(--vz-border-color); padding-top: 0.4rem; margin-top: 0.15rem; }
body.app-rengaw .rw-orcf-totais .rw-orcf-total dt, body.app-rengaw .rw-orcf-totais .rw-orcf-total dd { color: var(--vz-heading-color, var(--vz-body-color)); font-family: var(--rw-titulo); font-weight: 700; font-size: 1.125rem; }
body.app-rengaw .rw-orcf-resumo .rw-orcf-totais { max-width: none; }
body.app-rengaw .rw-orcf-fora td { color: var(--vz-secondary-color); }
body.app-rengaw .rw-orcf-tag { display: inline-block; margin-left: 0.25rem; padding: 0.05rem 0.45rem; border-radius: 999px; font-size: 0.6875rem; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-orcf-pagamento { padding: 0.75rem 1rem; border-radius: 12px; background: var(--vz-tertiary-bg); max-width: 26rem; }
/* Envio e aceite */
body.app-rengaw .rw-orcf-compartilhar { display: flex; gap: 1rem; align-items: center; }
body.app-rengaw .rw-orcf-compartilhar .d-grid { flex: 1 1 auto; min-width: 0; }
body.app-rengaw .rw-orcf-qr { flex: 0 0 auto; padding: 0.5rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: #FFFFFF; line-height: 0; }
body.app-rengaw .rw-orcf-qr svg { width: 7.5rem; height: 7.5rem; }
body.app-rengaw .rw-orcf-copiado { border-color: var(--vz-success) !important; }
body.app-rengaw .rw-orcf-aprovado { background: #F2FBF9; }
[data-bs-theme="dark"] body.app-rengaw .rw-orcf-aprovado { background: rgba(10, 179, 156, 0.08); }
body.app-rengaw .rw-orcf-assinatura { width: 10rem; color: var(--vz-body-color); }
body.app-rengaw .rw-orcf-assinatura-svg { display: block; width: 100%; height: auto; }
/* Fotos, conversa, linha do tempo e checklist */
body.app-rengaw .rw-orcf-fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-orcf-foto { margin: 0; }
body.app-rengaw .rw-orcf-foto img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-orcf-foto figcaption { margin-top: 0.35rem; }
body.app-rengaw .rw-orcf-conversa { display: flex; flex-direction: column; gap: 0.5rem; }
body.app-rengaw .rw-orcf-msg { max-width: 85%; padding: 0.6rem 0.85rem; border-radius: 14px; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-orcf-msg-prestador { align-self: flex-end; background: var(--vz-primary-bg-subtle); }
body.app-rengaw .rw-orcf-msg-autor { margin: 0 0 0.15rem; font-family: var(--rw-mono); font-size: 0.6875rem; color: var(--vz-secondary-color); text-transform: uppercase; letter-spacing: 0.04em; }
body.app-rengaw .rw-orcf-tempo { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
body.app-rengaw .rw-orcf-tempo li { display: flex; gap: 0.6rem; align-items: flex-start; }
body.app-rengaw .rw-orcf-tempo li > i { flex: 0 0 1.75rem; height: 1.75rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
body.app-rengaw .rw-orcf-revisao + .rw-orcf-revisao { margin-top: 0.5rem; }
body.app-rengaw .rw-orcf-revisao summary { cursor: pointer; }
body.app-rengaw .rw-orcf-tarefa { display: flex; align-items: center; gap: 0.5rem; width: 100%; padding: 0.25rem 0; border: 0; background: none; color: var(--vz-body-color); text-align: left; }
body.app-rengaw .rw-orcf-tarefa i { font-size: 1.25rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-orcf-tarefa.feito span { text-decoration: line-through; color: var(--vz-secondary-color); }
body.app-rengaw .rw-orcf-tarefa.feito i { color: var(--vz-success); }
/* Configurações: logotipo, cores e PIX */
body.app-rengaw .rw-orcf-logo-previa { max-height: 3rem; max-width: 8rem; object-fit: contain; border-radius: 8px; border: 1px solid var(--vz-border-color); background: #FFFFFF; padding: 0.25rem; }
body.app-rengaw .rw-orcf-cores { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-orcf-cor { position: relative; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--rw-orcf-cor); cursor: pointer; margin: 0; box-shadow: 0 0 0 2px var(--vz-secondary-bg); }
body.app-rengaw .rw-orcf-cor input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
body.app-rengaw .rw-orcf-cor:has(input:checked) { box-shadow: 0 0 0 2px var(--vz-secondary-bg), 0 0 0 4px var(--vz-body-color); }
body.app-rengaw .rw-orcf-cor:has(input:focus-visible) { outline: 2px solid var(--vz-primary); outline-offset: 4px; }
body.app-rengaw .rw-orcf-pix { display: block; padding: 0.5rem 0.75rem; border-radius: 10px; background: var(--vz-tertiary-bg); color: var(--vz-body-color); font-size: 0.75rem; word-break: break-all; }
/* Página do cliente */
body.app-rengaw .rw-menu-pagina.rw-orcf-publico { max-width: 44rem; padding-bottom: 2rem; }
body.app-rengaw .rw-orcf-capa-logo { display: block; max-height: 4rem; max-width: 12rem; margin: 0 auto 0.75rem; padding: 0.35rem 0.6rem; border-radius: 10px; background: #FFFFFF; object-fit: contain; }
body.app-rengaw .rw-orcf-faixa { display: flex; gap: 0.75rem; align-items: flex-start; margin-top: 1rem; padding: 1rem 1.1rem; border-radius: 16px; border: 1px solid var(--vz-border-color); background: var(--vz-secondary-bg); }
body.app-rengaw .rw-orcf-faixa > i { font-size: 1.5rem; color: var(--vz-secondary-color); line-height: 1; }
body.app-rengaw .rw-orcf-faixa-ok { background: #0A6E61; border-color: #0A6E61; color: #FFFFFF; }
body.app-rengaw .rw-orcf-faixa-ok > i { color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-orcf-faixa-ok { background: #0B4F46; border-color: #0B4F46; }
body.app-rengaw .rw-orcf-bloco { margin-top: 1rem; padding: 1.1rem 1.15rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); scroll-margin-top: 1rem; }
body.app-rengaw .rw-orcf-h2 { font-family: var(--rw-titulo); font-size: 1.125rem; margin: 0 0 0.75rem; }
body.app-rengaw .rw-orcf-lista { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-orcf-item { display: flex; gap: 0.75rem; align-items: flex-start; justify-content: space-between; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-orcf-item:last-child { border-bottom: 0; }
body.app-rengaw .rw-orcf-item-opcional { background: var(--vz-tertiary-bg); margin: 0 -0.6rem; padding: 0.6rem; border-radius: 10px; border-bottom: 0; }
body.app-rengaw .rw-orcf-item-opcional + .rw-orcf-item { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-orcf-publico .rw-orcf-totais { max-width: none; }
body.app-rengaw .rw-orcf-pix-caixa { padding: 0.75rem; border-radius: 12px; border: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-orcf-decisao { border-width: 2px; border-color: var(--rw-menu-cor, var(--vz-primary)); }
body.app-rengaw .rw-orcf-canvas { display: block; width: 100%; max-width: 400px; aspect-ratio: 400 / 150; border: 1px dashed var(--vz-border-color); border-radius: 12px; background: var(--vz-body-bg); touch-action: none; cursor: crosshair; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-orcf-compartilhar { flex-direction: column; align-items: stretch; }
    body.app-rengaw .rw-orcf-qr { align-self: center; }
    body.app-rengaw .rw-orcf-msg { max-width: 100%; }
    body.app-rengaw .rw-orcf-assinatura { width: 100%; }
}

/* ===== App aulas (2026-10-14) ===== */
/* Aulas: selos de inscrição/aula/cobrança, agenda da semana em colunas, chamada, pacotes com saldo, grade de
 * disponibilidade e as páginas públicas (reaproveitam .rw-menu-pagina/.rw-menu-capa e .rw-barb-*). Sem borda lateral
 * colorida: a cor do curso vai num ponto. Claro e escuro. */
body.app-rengaw .rw-aul-selo { display: inline-flex; align-items: center; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.75rem; font-weight: 500; white-space: nowrap; background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-aul-selo-confirmada, body.app-rengaw .rw-aul-selo-presente, body.app-rengaw .rw-aul-selo-realizada, body.app-rengaw .rw-aul-selo-cob-paga { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-aul-selo-espera, body.app-rengaw .rw-aul-selo-agendada, body.app-rengaw .rw-aul-selo-cob-aberta { background: #E1EEFB; color: #003387; }
body.app-rengaw .rw-aul-selo-justificada, body.app-rengaw .rw-aul-selo-pendente { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-aul-selo-falta, body.app-rengaw .rw-aul-selo-cancelada, body.app-rengaw .rw-aul-selo-cob-atrasada { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-aul-selo-cob-cancelada { background: #EEF1F5; color: #4F5D6E; }
[data-bs-theme="dark"] body.app-rengaw .rw-aul-selo, [data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-cob-cancelada { background: rgba(255, 255, 255, 0.08); color: #C9D3E0; }
[data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-confirmada, [data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-presente, [data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-realizada, [data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-cob-paga { background: rgba(10, 179, 156, 0.18); color: #6FDCC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-espera, [data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-agendada, [data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-cob-aberta { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-justificada, [data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-pendente { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-falta, [data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-aul-selo-cob-atrasada { background: rgba(240, 101, 72, 0.18); color: #F7A08D; }

body.app-rengaw .rw-aul-hora { display: inline-flex; flex-direction: column; font-family: var(--rw-mono); font-size: 0.875rem; font-weight: 600; color: var(--vz-primary); min-width: 3rem; line-height: 1.2; }
body.app-rengaw .rw-aul-hora small { font-weight: 400; font-size: 0.75rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-aul-ocupacao { display: flex; flex-direction: column; align-items: flex-end; gap: 0.25rem; width: 5.5rem; flex-shrink: 0; }
body.app-rengaw .rw-aul-ocupacao .rw-menu-ranking-barra { width: 100%; }
body.app-rengaw .rw-aul-credito { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; height: 2rem; padding: 0 0.5rem; border-radius: 999px; background: #E6F7F4; color: #067A6A; font-family: var(--rw-titulo); font-weight: 700; flex-shrink: 0; }
body.app-rengaw .rw-aul-credito.zerado { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-aul-credito { background: rgba(10, 179, 156, 0.18); color: #6FDCC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-aul-credito.zerado { background: rgba(240, 101, 72, 0.18); color: #F7A08D; }
body.app-rengaw .rw-aul-posicao { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--vz-tertiary-bg); font-family: var(--rw-mono); font-size: 0.8125rem; flex-shrink: 0; }
body.app-rengaw .rw-aul-link { padding: 0.375rem 0.625rem; border-radius: 0.5rem; background: var(--vz-tertiary-bg); color: var(--vz-body-color); }

/* Agenda da semana */
body.app-rengaw .rw-aul-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.75rem; margin-bottom: 1.5rem; }
body.app-rengaw .rw-aul-dia { min-width: 0; padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-aul-dia.hoje { border-color: var(--vz-primary); box-shadow: 0 0 0 1px var(--vz-primary); }
body.app-rengaw .rw-aul-dia-topo { display: flex; align-items: baseline; gap: 0.375rem; margin-bottom: 0.625rem; }
body.app-rengaw .rw-aul-dia-topo strong { font-family: var(--rw-titulo); font-size: 1.25rem; }
body.app-rengaw .rw-aul-dia-nome { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-aul-dia-mais { margin-left: auto; display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 0.5rem; color: var(--vz-primary); background: var(--vz-primary-bg-subtle); }
body.app-rengaw .rw-aul-dia-mais:hover, body.app-rengaw .rw-aul-dia-mais:focus-visible { background: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-aul-dia-vazio { font-size: 0.8125rem; color: var(--vz-secondary-color); margin: 0; }
body.app-rengaw a.rw-aul-cartao { display: flex; flex-direction: column; gap: 0.125rem; padding: 0.5rem 0.625rem; margin-bottom: 0.5rem; border: 1px solid var(--vz-border-color); border-radius: 0.625rem; color: inherit; background: var(--vz-body-bg); transition: border-color 0.15s; }
body.app-rengaw a.rw-aul-cartao:hover, body.app-rengaw a.rw-aul-cartao:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw a.rw-aul-cartao.cancelada { opacity: 0.6; }
body.app-rengaw a.rw-aul-cartao.pendente { border-color: #F7B84B; }
body.app-rengaw .rw-aul-cartao-hora { font-family: var(--rw-mono); font-size: 0.75rem; font-weight: 600; color: var(--vz-primary); }
body.app-rengaw .rw-aul-cartao-curso { font-weight: 600; font-size: 0.875rem; line-height: 1.25; overflow-wrap: anywhere; }
body.app-rengaw .rw-aul-cartao-curso::before { content: ""; display: inline-block; width: 0.5rem; height: 0.5rem; margin-right: 0.375rem; border-radius: 50%; background: var(--rw-aul-cor, var(--vz-primary)); vertical-align: middle; }
body.app-rengaw .rw-aul-cartao-prof, body.app-rengaw .rw-aul-cartao-vagas { font-size: 0.75rem; color: var(--vz-secondary-color); }
@media (max-width: 1199.98px) { body.app-rengaw .rw-aul-semana { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { body.app-rengaw .rw-aul-semana { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { body.app-rengaw .rw-aul-semana { grid-template-columns: minmax(0, 1fr); } }

/* Aula: inscritos e chamada */
body.app-rengaw .rw-aul-inscrito { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-aul-inscrito:last-child { border-bottom: 0; }
body.app-rengaw .rw-aul-chamada { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem; margin: 0.5rem 0 0; padding: 0; border: 0; }
body.app-rengaw .rw-aul-chamada .form-control { flex: 1 1 14rem; }

/* Pacotes e grade de disponibilidade */
body.app-rengaw .rw-aul-pacote { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-aul-pacote:last-child { border-bottom: 0; }
body.app-rengaw .rw-aul-pacote.encerrado { opacity: 0.6; }
body.app-rengaw .rw-aul-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-aul-grade-dia { display: flex; flex-direction: column; gap: 0.375rem; padding: 0.625rem; border-radius: 0.75rem; background: var(--vz-tertiary-bg); min-width: 0; }
body.app-rengaw .rw-aul-grade-dia strong { font-size: 0.8125rem; }
body.app-rengaw .rw-aul-faixa { display: flex; align-items: center; justify-content: space-between; gap: 0.25rem; padding: 0.25rem 0.5rem; border-radius: 0.5rem; background: var(--vz-primary-bg-subtle); color: var(--vz-primary-text-emphasis); font-family: var(--rw-mono); font-size: 0.75rem; }
@media (max-width: 991.98px) { body.app-rengaw .rw-aul-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { body.app-rengaw .rw-aul-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Páginas públicas: agendar, minha aula e área do aluno */
body.app-rengaw .rw-aul-experimental { display: block; font-family: var(--vz-body-font-family); font-size: 0.6875rem; font-weight: 600; color: #067A6A; text-transform: uppercase; letter-spacing: 0.06em; }
[data-bs-theme="dark"] body.app-rengaw .rw-aul-experimental { color: #6FDCC9; }
body.app-rengaw .rw-aul-publico .rw-barb-escolha-prof { flex-wrap: wrap; }
body.app-rengaw .rw-aul-bio { display: block; flex-basis: 100%; white-space: normal; }
body.app-rengaw .rw-aul-vagas { color: #067A6A !important; }
body.app-rengaw .rw-aul-horario-espera .rw-aul-vagas { color: #8A5200 !important; }
[data-bs-theme="dark"] body.app-rengaw .rw-aul-vagas { color: #6FDCC9 !important; }
[data-bs-theme="dark"] body.app-rengaw .rw-aul-horario-espera .rw-aul-vagas { color: #F7C873 !important; }
body.app-rengaw .rw-aul-tipos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-aul-tipo { display: flex; gap: 0.5rem; align-items: flex-start; padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; cursor: pointer; background: var(--vz-body-bg); }
body.app-rengaw .rw-aul-tipo span { display: flex; flex-direction: column; }
body.app-rengaw .rw-aul-tipo small { color: var(--vz-secondary-color); }
body.app-rengaw .rw-aul-tipo:has(input:checked) { border-color: var(--vz-primary); box-shadow: 0 0 0 1px var(--vz-primary); }
@media (max-width: 420px) { body.app-rengaw .rw-aul-tipos { grid-template-columns: minmax(0, 1fr); } }
body.app-rengaw .rw-aul-icone-espera { background: #F7B84B !important; color: #061C3D !important; }
body.app-rengaw .rw-aul-numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin: 1rem 0; }
body.app-rengaw .rw-aul-numeros div { display: flex; flex-direction: column; align-items: center; padding: 0.75rem 0.25rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-aul-numeros strong { font-family: var(--rw-titulo); font-size: 1.5rem; line-height: 1.1; }
body.app-rengaw .rw-aul-numeros span { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); text-align: center; }
body.app-rengaw .rw-aul-bloco { margin-top: 1.25rem; padding: 1rem 1.25rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-aul-bloco > h2 { font-family: var(--rw-titulo); }
body.app-rengaw .rw-aul-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); color: inherit; }
body.app-rengaw .rw-aul-item:last-child { border-bottom: 0; }
body.app-rengaw a.rw-aul-item:hover .fw-medium, body.app-rengaw a.rw-aul-item:focus-visible .fw-medium { color: var(--vz-primary); }
body.app-rengaw .rw-aul-diario { border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-aul-diario:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-aul-diario summary { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; cursor: pointer; list-style: none; }
body.app-rengaw .rw-aul-diario summary::-webkit-details-marker { display: none; }
body.app-rengaw .rw-aul-diario summary::after { content: "\ea4e"; font-family: remixicon; margin-left: auto; color: var(--vz-secondary-color); transition: transform 0.15s; }
body.app-rengaw .rw-aul-diario[open] summary::after { transform: rotate(180deg); }
body.app-rengaw .rw-aul-diario-corpo { padding: 0 0 0.75rem 3.75rem; font-size: 0.875rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-aul-nota { padding: 0.5rem 0.75rem; border-radius: 0.625rem; background: var(--vz-primary-bg-subtle); color: var(--vz-primary-text-emphasis); }
@media (max-width: 575.98px) { body.app-rengaw .rw-aul-diario-corpo { padding-left: 0; } }

/* ---------------------------------------------------------------------------------------------------------------
   Cobrança v2 (Planos de assinatura e Assinatura da organização, 2026-10-15). Prefixo rw-cob-.
   --------------------------------------------------------------------------------------------------------------- */
body.app-rengaw .rw-cob-status {
    display: inline-block; padding: 0.15rem 0.6rem; border-radius: 999px; font-size: 0.8125rem; font-weight: 600;
    background: var(--vz-secondary-bg-subtle); color: var(--vz-secondary-text-emphasis);
}
body.app-rengaw .rw-cob-status-ativa,
body.app-rengaw .rw-cob-status-trial { background: var(--vz-success-bg-subtle); color: var(--vz-success-text-emphasis); }
body.app-rengaw .rw-cob-status-aguardando,
body.app-rengaw .rw-cob-status-inadimplente { background: var(--vz-warning-bg-subtle); color: #8A5200; }
body.app-rengaw .rw-cob-status-suspensa,
body.app-rengaw .rw-cob-status-cancelada { background: var(--vz-danger-bg-subtle); color: var(--vz-danger-text-emphasis); }
[data-bs-theme="dark"] body.app-rengaw .rw-cob-status-aguardando,
[data-bs-theme="dark"] body.app-rengaw .rw-cob-status-inadimplente { color: #FFD48A; }

body.app-rengaw .rw-cob-fatura { font-size: 0.8125rem; font-weight: 600; }
body.app-rengaw .rw-cob-fatura-paga { color: var(--vz-success-text-emphasis); }
body.app-rengaw .rw-cob-fatura-falhou { color: var(--vz-danger-text-emphasis); }
body.app-rengaw .rw-cob-fatura-aberta { color: var(--vz-primary-text-emphasis); }

body.app-rengaw .rw-cob-situacao { border-left-width: 1px; }
body.app-rengaw .rw-cob-vazio .app-icon-badge { margin-inline: auto; }

body.app-rengaw .rw-cob-opcao { cursor: pointer; transition: border-color 0.15s, box-shadow 0.15s; }
body.app-rengaw .rw-cob-opcao:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-cob-opcao:has(input:checked) { border-color: var(--vz-primary); box-shadow: 0 0 0 2px var(--vz-primary-bg-subtle); }
body.app-rengaw .rw-cob-opcao:has(input:disabled) { cursor: not-allowed; opacity: 0.75; }
body.app-rengaw .rw-cob-destaque { border-color: var(--vz-primary); }
body.app-rengaw .rw-cob-preco { font-family: var(--rw-titulo, "Exo 2"), sans-serif; font-size: 1.125rem; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-cob-preco.small { font-size: 0.9375rem; }
body.app-rengaw .rw-cob-inclui li { display: flex; gap: 0.4rem; align-items: baseline; padding: 0.15rem 0; }
body.app-rengaw .rw-cob-inclui i { color: var(--vz-primary); }
body.app-rengaw .rw-cob-check { padding: 0.5rem 0.75rem 0.5rem 2rem; border: 1px solid var(--vz-border-color); border-radius: 0.625rem; }

body.app-rengaw .rw-cob-resumo { position: sticky; top: 5.5rem; }
@media (max-width: 1199.98px) { body.app-rengaw .rw-cob-resumo { position: static; } }
body.app-rengaw .rw-cob-barra { height: 0.5rem; border-radius: 999px; }

body.app-rengaw .rw-cob-linha-tempo li { position: relative; padding: 0 0 0.9rem 1.25rem; border-left: 2px solid var(--vz-border-color); margin-left: 0.35rem; }
body.app-rengaw .rw-cob-linha-tempo li::before {
    content: ""; position: absolute; left: -0.4rem; top: 0.25rem; width: 0.7rem; height: 0.7rem; border-radius: 50%;
    background: var(--vz-primary); border: 2px solid var(--vz-body-bg);
}
body.app-rengaw .rw-cob-linha-tempo li:last-child { border-left-color: transparent; }
body.app-rengaw .rw-cob-linha-quando { display: block; font-family: var(--rw-mono); font-size: 0.75rem; color: var(--vz-secondary-color); }

body.app-rengaw .rw-escolhas { display: flex; flex-wrap: wrap; gap: 0.25rem 0; }

/* Aviso de cobrança no alto das telas (teste grátis acabando, pagamento pendente, somente leitura). */
.rw-aviso-cobranca { border-radius: 0.75rem; }

/* ===== Normas e base legal, comuns a todos os apps (2026-10-15) ===== */
/* Página `templates/_normas_pagina.html` e linha `templates/_base_legal.html`. Claro e escuro pelas variáveis. */
body.app-rengaw .rw-normas-aviso { display: flex; gap: 0.5rem; align-items: flex-start; }
body.app-rengaw .rw-normas-aviso > i { font-size: 1.1rem; line-height: 1.3; }
body.app-rengaw .rw-normas-itens { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-normas-itens > li { display: grid; grid-template-columns: minmax(6.5rem, 10rem) minmax(0, 1fr); gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-normas-itens > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-normas-itens > li > span:only-child { grid-column: 1 / -1; }
body.app-rengaw .rw-normas-artigo { font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; font-weight: 600; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-normas-no-app { display: block; font-size: 0.8125rem; margin-top: 0.25rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-normas-nao-titulo { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); margin: 1rem 0 0.375rem; }
body.app-rengaw .rw-normas-nao { padding-left: 1.1rem; margin: 0; font-size: 0.875rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-base-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem; font-size: 0.8125rem; color: var(--vz-secondary-color); margin: 0 0 0.75rem; }
body.app-rengaw .rw-base-legal > i { color: var(--vz-primary); }
body.app-rengaw .rw-base-legal a { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; padding: 0.0625rem 0.5rem; border-radius: 999px; border: 1px solid var(--vz-border-color); color: var(--vz-secondary-color); text-decoration: none; }
body.app-rengaw .rw-base-legal a:hover, body.app-rengaw .rw-base-legal a:focus-visible { border-color: var(--vz-primary); color: var(--vz-primary); }
@media (max-width: 575.98px) { body.app-rengaw .rw-normas-itens > li { grid-template-columns: 1fr; gap: 0.125rem; } }

/* ===== App Assinatura eletrônica (2026-10-15) =====
 * Selos de situação, barra de assinaturas, linha do tempo da trilha, hashes em mono, assinatura desenhada e as páginas
 * públicas (signatário e validador; reaproveitam .rw-menu-pagina/.rw-menu-capa). Claro e escuro. Sem borda lateral
 * colorida: a cor vai em ícones, selos e pontos. */
body.app-rengaw .rw-ass-icone { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 12px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); font-size: 1.35rem; }
body.app-rengaw .rw-ass-icone-sm { width: 2.25rem; height: 2.25rem; font-size: 1.1rem; border-radius: 10px; }
body.app-rengaw .rw-ass-status { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 600; white-space: nowrap; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-ass-status-em_andamento, body.app-rengaw .rw-ass-status-pendente { background: #E8F2FC; color: #005BA8; }
body.app-rengaw .rw-ass-status-aguardando, body.app-rengaw .rw-ass-status-expirado { background: #FFF4E0; color: #8A5200; }
body.app-rengaw .rw-ass-status-concluido { background: #E6F6F3; color: #0A6E61; }
body.app-rengaw .rw-ass-status-recusado, body.app-rengaw .rw-ass-status-cancelado, body.app-rengaw .rw-ass-status-alerta { background: #FDECE8; color: #A8321C; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-status-em_andamento, [data-bs-theme="dark"] body.app-rengaw .rw-ass-status-pendente { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-status-aguardando, [data-bs-theme="dark"] body.app-rengaw .rw-ass-status-expirado { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-status-concluido { background: rgba(10, 179, 156, 0.18); color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-status-recusado, [data-bs-theme="dark"] body.app-rengaw .rw-ass-status-cancelado, [data-bs-theme="dark"] body.app-rengaw .rw-ass-status-alerta { background: rgba(240, 101, 72, 0.18); color: #FFA28F; }
body.app-rengaw .rw-ass-barra { display: block; height: 0.375rem; margin-top: 0.25rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; min-width: 4rem; }
body.app-rengaw .rw-ass-barra > span { display: block; height: 100%; background: var(--vz-primary); border-radius: 999px; }
body.app-rengaw .rw-ass-barra-larga { height: 0.5rem; }
body.app-rengaw .rw-ass-data { flex: 0 0 2.75rem; display: flex; flex-direction: column; align-items: center; line-height: 1.1; padding: 0.3rem 0; border-radius: 10px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; }
body.app-rengaw .rw-ass-data strong { font-family: var(--rw-titulo); font-size: 1.125rem; }
body.app-rengaw .rw-ass-hash { font-family: var(--rw-mono); font-size: 0.6875rem; color: var(--vz-secondary-color); word-break: break-all; }
body.app-rengaw .rw-ass-ordem { flex: 0 0 1.75rem; height: 1.75rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--vz-tertiary-bg); font-family: var(--rw-mono); font-size: 0.75rem; font-weight: 600; }
body.app-rengaw .rw-ass-signatario { flex-wrap: wrap; }
body.app-rengaw .rw-ass-qr svg { width: 130px; height: 130px; background: #FFFFFF; padding: 6px; border-radius: 10px; }
body.app-rengaw .rw-ass-ok { color: #0A6E61; }
body.app-rengaw .rw-ass-erro { color: #A8321C; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-ok { color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-erro { color: #FFA28F; }
body.app-rengaw .rw-ass-assinatura-caixa { display: inline-block; padding: 0.25rem 0.5rem; border: 1px dashed var(--vz-border-color); border-radius: 10px; }
body.app-rengaw .rw-ass-assinatura-svg { width: 200px; height: 75px; color: var(--vz-body-color); }
body.app-rengaw .rw-ass-digitada-mostra, body.app-rengaw .rw-ass-previa { font-family: "Segoe Script", "Brush Script MT", "Snell Roundhand", cursive; font-size: 1.6rem; line-height: 1.3; color: var(--vz-body-color); }
body.app-rengaw .rw-ass-previa { margin: 0.5rem 0 0; min-height: 2.2rem; padding: 0.25rem 0.75rem; border-bottom: 1px solid var(--vz-border-color); overflow-wrap: anywhere; }
body.app-rengaw .rw-ass-chip { display: inline-block; margin: 0 0.25rem 0.25rem 0; padding: 0.1rem 0.5rem; border-radius: 999px; border: 1px solid var(--vz-border-color); font-size: 0.75rem; }
body.app-rengaw .rw-ass-papel + .rw-ass-papel { border-top: 1px solid var(--vz-border-color); padding-top: 0.75rem; }
body.app-rengaw .rw-ass-linha-tempo { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-ass-linha-tempo > li { position: relative; padding: 0 0 0.85rem 1.25rem; border-left: 2px solid var(--vz-border-color); margin-left: 0.35rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-ass-linha-tempo > li::before { content: ""; position: absolute; left: -0.4rem; top: 0.3rem; width: 0.7rem; height: 0.7rem; border-radius: 50%; background: var(--vz-secondary-color); border: 2px solid var(--vz-secondary-bg); }
body.app-rengaw .rw-ass-linha-tempo > li:last-child { border-left-color: transparent; }
body.app-rengaw .rw-ass-linha-tempo > li.rw-ass-evento-assinado::before, body.app-rengaw .rw-ass-linha-tempo > li.rw-ass-evento-concluido::before, body.app-rengaw .rw-ass-linha-tempo > li.rw-ass-evento-selado::before { background: #0AB39C; }
body.app-rengaw .rw-ass-linha-tempo > li.rw-ass-evento-enviado::before, body.app-rengaw .rw-ass-linha-tempo > li.rw-ass-evento-convite::before { background: var(--vz-primary); }
body.app-rengaw .rw-ass-linha-tempo > li.rw-ass-evento-alerta::before, body.app-rengaw .rw-ass-linha-tempo > li.rw-ass-evento-recusado::before, body.app-rengaw .rw-ass-linha-tempo > li.rw-ass-evento-bloqueio::before, body.app-rengaw .rw-ass-linha-tempo > li.rw-ass-evento-codigo_errado::before, body.app-rengaw .rw-ass-linha-tempo > li.rw-ass-evento-cancelado::before { background: #F06548; }
body.app-rengaw .rw-ass-norma { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.8125rem; color: var(--vz-secondary-color); margin: 0 0 0.75rem; }
body.app-rengaw .rw-ass-norma > i { color: var(--vz-primary); font-size: 1rem; line-height: 1.3; }
/* Páginas públicas */
body.app-rengaw .rw-menu-pagina.rw-ass-publico { max-width: 44rem; padding-bottom: 2rem; }
body.app-rengaw .rw-ass-bloco { margin-top: 1rem; padding: 1.1rem 1.15rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); scroll-margin-top: 1rem; }
body.app-rengaw .rw-ass-h2 { font-family: var(--rw-titulo); font-size: 1.125rem; margin: 0 0 0.75rem; display: flex; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-ass-h3 { font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin: 0 0 0.5rem; }
body.app-rengaw .rw-ass-passo { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 1.6rem; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--vz-primary); color: #FFFFFF; font-size: 0.8125rem; font-family: var(--rw-mono); }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-passo { color: #061C3D; }
body.app-rengaw .rw-ass-lista { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-ass-lista > li { display: flex; gap: 0.75rem; align-items: center; padding: 0.55rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ass-lista > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-ass-lista > li > i { font-size: 1.25rem; color: var(--vz-primary); }
body.app-rengaw .rw-ass-faixa { display: flex; gap: 0.75rem; align-items: flex-start; margin-top: 1rem; padding: 1rem 1.1rem; border-radius: 16px; border: 1px solid var(--vz-border-color); background: var(--vz-secondary-bg); }
body.app-rengaw .rw-ass-faixa > i { font-size: 1.5rem; color: var(--vz-secondary-color); line-height: 1; }
body.app-rengaw .rw-ass-faixa-ok { background: #0A6E61; border-color: #0A6E61; color: #FFFFFF; }
body.app-rengaw .rw-ass-faixa-ok > i { color: #FFFFFF; }
body.app-rengaw .rw-ass-faixa-alerta { background: #FDECE8; border-color: #F5C2B6; color: #7A2414; }
body.app-rengaw .rw-ass-faixa-alerta > i { color: #A8321C; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-faixa-ok { background: #0B4F46; border-color: #0B4F46; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-faixa-alerta { background: rgba(240, 101, 72, 0.16); border-color: rgba(240, 101, 72, 0.4); color: #FFC4B7; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-faixa-alerta > i { color: #FFA28F; }
body.app-rengaw .rw-ass-canvas { display: block; width: 100%; max-width: 400px; aspect-ratio: 400 / 150; border: 1px dashed var(--vz-border-color); border-radius: 12px; background: var(--vz-body-bg); touch-action: none; cursor: crosshair; }
body.app-rengaw .rw-ass-canvas.is-invalid { border-color: #F06548; }
body.app-rengaw .rw-ass-codigo { font-family: var(--rw-mono); font-size: 1.5rem; letter-spacing: 0.35em; max-width: 12rem; }
body.app-rengaw .rw-ass-isca-caixa { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
body.app-rengaw .rw-ass-veredito { display: flex; gap: 0.85rem; align-items: flex-start; }
body.app-rengaw .rw-ass-veredito > i { font-size: 2.25rem; line-height: 1; }
body.app-rengaw .rw-ass-veredito-ok > i { color: #0A6E61; }
body.app-rengaw .rw-ass-veredito-info > i { color: var(--vz-primary); }
body.app-rengaw .rw-ass-veredito-erro > i { color: #A8321C; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-veredito-ok > i { color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-veredito-erro > i { color: #FFA28F; }
body.app-rengaw .rw-ass-checagens { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-ass-checagens > li { position: relative; padding: 0.3rem 0 0.3rem 1.6rem; }
body.app-rengaw .rw-ass-checagens > li::before { position: absolute; left: 0; top: 0.25rem; font-family: remixicon; font-size: 1.05rem; line-height: 1.3; }
body.app-rengaw .rw-ass-checagens > li.ok::before { content: "\eb80"; color: #0A6E61; }
body.app-rengaw .rw-ass-checagens > li.erro::before { content: "\eb96"; color: #A8321C; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-checagens > li.ok::before { color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ass-checagens > li.erro::before { color: #FFA28F; }

/* ---------------------------------------------------------------- Acesso a ambientes (2026-10-15, prefixo rw-ace-) */
body.app-rengaw .rw-ace-hora { font-family: var(--rw-mono); font-size: 0.8125rem; color: var(--vz-secondary-color); min-width: 3rem; flex-shrink: 0; }
body.app-rengaw .rw-ace-avatar { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; flex-shrink: 0; background: rgba(0, 110, 203, 0.1); color: #006ECB; font-family: var(--rw-titulo); font-weight: 600; font-size: 0.8125rem; }
body.app-rengaw .rw-ace-avatar-convite { background: rgba(10, 127, 111, 0.12); color: #0A7F6F; font-size: 1rem; }
body.app-rengaw .rw-ace-selo { display: inline-flex; align-items: center; gap: 0.25rem; font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.04em; text-transform: uppercase; padding: 0.125rem 0.5rem; border-radius: 999px; background: var(--vz-light, #F4F7FB); color: var(--vz-secondary-color); white-space: nowrap; }
body.app-rengaw .rw-ace-selo-dentro { background: rgba(10, 127, 111, 0.12); color: #08695C; }
body.app-rengaw .rw-ace-selo-ativo { background: rgba(0, 110, 203, 0.1); color: #005BA8; }
body.app-rengaw .rw-ace-selo-negado { background: rgba(194, 58, 34, 0.1); color: #A3301C; }
body.app-rengaw .rw-ace-selo-aviso { background: rgba(247, 184, 75, 0.18); color: #7A4B00; }
body.app-rengaw .rw-ace-qr { width: 11rem; max-width: 100%; padding: 0.5rem; background: #FFFFFF; border-radius: 12px; border: 1px solid #DCE3EC; }
body.app-rengaw .rw-ace-qr-grande { width: 15rem; }
body.app-rengaw .rw-ace-qr svg { width: 100%; height: auto; display: block; }
body.app-rengaw .rw-ace-codigo { font-family: var(--rw-mono); font-size: 1.375rem; font-weight: 600; letter-spacing: 0.18em; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-ace-camera { width: 100%; max-width: 22rem; border-radius: 0.75rem; background: #061C3D; display: block; }
body.app-rengaw .rw-ace-foto-bloco { display: flex; gap: 1rem; align-items: flex-start; }
body.app-rengaw .rw-ace-foto-previa { width: 5.5rem; height: 5.5rem; border-radius: 12px; border: 1px dashed var(--vz-border-color); display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; color: var(--vz-secondary-color); font-size: 2rem; background: var(--vz-light, #F4F7FB); }
body.app-rengaw .rw-ace-foto-previa img, body.app-rengaw .rw-ace-foto-grande img { width: 100%; height: 100%; object-fit: cover; }
body.app-rengaw .rw-ace-foto-grande { width: 6.5rem; height: 6.5rem; border-radius: 16px; overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: rgba(0, 110, 203, 0.1); color: #006ECB; font-family: var(--rw-titulo); font-weight: 700; font-size: 1.75rem; }
body.app-rengaw .rw-ace-termos { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem 1rem; }
body.app-rengaw .rw-ace-termos-texto { max-height: 9rem; overflow-y: auto; font-size: 0.8125rem; color: var(--vz-secondary-color); white-space: pre-line; }
body.app-rengaw .rw-ace-liberar { border: 1px solid rgba(194, 58, 34, 0.35); border-radius: 12px; padding: 0.75rem 1rem; background: rgba(194, 58, 34, 0.04); }
body.app-rengaw .rw-ace-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
body.app-rengaw .rw-ace-barras { display: flex; align-items: flex-end; gap: 0.25rem; height: 9rem; padding-top: 1rem; }
body.app-rengaw .rw-ace-barra { flex: 1 1 0; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 0.125rem; }
body.app-rengaw .rw-ace-barra-coluna { width: 100%; max-width: 1.75rem; min-height: 2px; background: #006ECB; border-radius: 4px 4px 0 0; }
body.app-rengaw .rw-ace-barra-valor { font-family: var(--rw-mono); font-size: 0.625rem; color: var(--vz-secondary-color); min-height: 0.8rem; }
body.app-rengaw .rw-ace-barra-hora { font-family: var(--rw-mono); font-size: 0.625rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ace-contagem { border-radius: 10px; padding-left: 0.5rem; padding-right: 0.5rem; }
body.app-rengaw .rw-ace-contagem.contado { background: rgba(10, 127, 111, 0.08); }
body.app-rengaw .rw-ace-contagem:not(.contado) { background: rgba(194, 58, 34, 0.05); }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-ace-barra-valor { display: none; }
    body.app-rengaw .rw-ace-barra:nth-child(even) .rw-ace-barra-hora { visibility: hidden; }
    body.app-rengaw .rw-ace-foto-bloco { flex-direction: column; }
}

/* Catraca em modo quiosque: sem menu, sem cabeçalho de página e sem rodapé. */
body.app-rengaw.rw-ace-quiosque .app-menu,
body.app-rengaw.rw-ace-quiosque .page-title-box,
body.app-rengaw.rw-ace-quiosque .footer { display: none !important; }
body.app-rengaw.rw-ace-quiosque .page-content { padding-top: 1.25rem !important; padding-bottom: 1.5rem !important; }
body.app-rengaw .rw-ace-catraca { max-width: 56rem; margin: 0 auto; }
body.app-rengaw .rw-ace-catraca-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; margin-bottom: 1rem; }
body.app-rengaw .rw-ace-catraca-leitura { text-align: center; padding: 2.5rem 1rem; border: 2px dashed var(--vz-border-color); border-radius: 20px; background: var(--vz-card-bg, #FFFFFF); }
body.app-rengaw .rw-ace-catraca-icone { font-size: 4rem; color: #006ECB; display: block; line-height: 1; margin-bottom: 0.5rem; }
body.app-rengaw .rw-ace-catraca-campo { max-width: 24rem; font-family: var(--rw-mono); text-align: center; letter-spacing: 0.08em; }
body.app-rengaw .rw-ace-resultado:not([hidden]) { position: fixed; inset: 0; z-index: 1080; display: flex; align-items: center; justify-content: center; padding: 1.5rem; color: #FFFFFF; text-align: center; cursor: pointer; }
body.app-rengaw .rw-ace-resultado.liberado { background: #0A6B4F; }
body.app-rengaw .rw-ace-resultado.negado { background: #A3261A; }
body.app-rengaw .rw-ace-resultado-caixa { max-width: 40rem; }
body.app-rengaw .rw-ace-resultado-foto { width: 11rem; height: 11rem; margin: 0 auto 1.25rem; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.16); font-size: 6rem; border: 4px solid rgba(255, 255, 255, 0.85); }
body.app-rengaw .rw-ace-resultado-foto img { width: 100%; height: 100%; object-fit: cover; }
body.app-rengaw .rw-ace-resultado-titulo { font-family: var(--rw-titulo); font-weight: 700; font-size: clamp(2.5rem, 9vw, 5rem); letter-spacing: 0.06em; margin: 0; color: #FFFFFF; }
body.app-rengaw .rw-ace-resultado-nome { font-family: var(--rw-titulo); font-size: clamp(1.4rem, 4vw, 2.25rem); font-weight: 600; margin: 0.25rem 0 0; color: #FFFFFF; }
body.app-rengaw .rw-ace-resultado-motivo { font-size: clamp(1rem, 2.6vw, 1.375rem); margin: 0.5rem 0 0; color: rgba(255, 255, 255, 0.92); }
body.app-rengaw .rw-ace-resultado-avisos { list-style: none; padding: 0; margin: 1rem 0 0; font-size: 1rem; color: #FFE7A8; }
[data-bs-theme="dark"] body.app-rengaw .rw-ace-avatar, [data-bs-theme="dark"] body.app-rengaw .rw-ace-foto-grande { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ace-avatar-convite { background: rgba(10, 179, 156, 0.18); color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ace-selo-dentro { background: rgba(10, 179, 156, 0.18); color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ace-selo-ativo { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ace-selo-negado { background: rgba(240, 101, 72, 0.18); color: #FFA28F; }
[data-bs-theme="dark"] body.app-rengaw .rw-ace-selo-aviso { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-ace-barra-coluna { background: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-ace-catraca-icone { color: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-ace-foto-previa { background: rgba(255, 255, 255, 0.04); }
[data-bs-theme="dark"] body.app-rengaw .rw-ace-contagem.contado { background: rgba(10, 179, 156, 0.12); }
[data-bs-theme="dark"] body.app-rengaw .rw-ace-contagem:not(.contado) { background: rgba(240, 101, 72, 0.08); }

/*
 * App Compras públicas (reformulado em 2026-10-15, prefixo rw-cpub-): selos de fase e situação, topo do processo com a
 * linha das fases, abas com rolagem, funil do painel, linhas de lista, barra de limite, checklist, trilha, escolha por
 * item, documentos gerados, fila da ordem cronológica e as páginas públicas. Claro e escuro; 500px.
 */
body.app-rengaw .rw-cpub-selo { display: inline-flex; align-items: center; padding: 0.125rem 0.625rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; white-space: nowrap; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-cpub-selo.preparatoria, body.app-rengaw .rw-cpub-selo.selecao, body.app-rengaw .rw-cpub-selo.atestado, body.app-rengaw .rw-cpub-selo.liquidado { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-cpub-selo.legalidade, body.app-rengaw .rw-cpub-selo.analise { background: #EEEAFB; color: #5B3FB8; }
body.app-rengaw .rw-cpub-selo.contratacao, body.app-rengaw .rw-cpub-selo.aguardando_ateste, body.app-rengaw .rw-cpub-selo.defesa, body.app-rengaw .rw-cpub-selo.ressalvas { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-cpub-selo.concluido, body.app-rengaw .rw-cpub-selo.vigente, body.app-rengaw .rw-cpub-selo.adjudicado, body.app-rengaw .rw-cpub-selo.pago, body.app-rengaw .rw-cpub-selo.favoravel { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-cpub-selo.encerrado, body.app-rengaw .rw-cpub-selo.extinto, body.app-rengaw .rw-cpub-selo.fracassado, body.app-rengaw .rw-cpub-selo.deserto, body.app-rengaw .rw-cpub-selo.cancelado, body.app-rengaw .rw-cpub-selo.aplicada, body.app-rengaw .rw-cpub-selo.desfavoravel { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.preparatoria, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.selecao, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.atestado, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.liquidado { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.legalidade, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.analise { background: rgba(140, 110, 230, 0.2); color: #B9A6F5; }
[data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.contratacao, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.aguardando_ateste, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.defesa, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.ressalvas { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.concluido, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.vigente, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.adjudicado, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.pago, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.favoravel { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.encerrado, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.extinto, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.fracassado, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.deserto, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.cancelado, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.aplicada, [data-bs-theme="dark"] body.app-rengaw .rw-cpub-selo.desfavoravel { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-cpub-economia { color: #067A6A; }
[data-bs-theme="dark"] body.app-rengaw .rw-cpub-economia { color: #5FD9C5; }

body.app-rengaw .rw-cpub-fases { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; list-style: none; padding: 0; }
body.app-rengaw .rw-cpub-fases li { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cpub-fase-marca { display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; border-radius: 999px; border: 1px solid var(--vz-border-color); font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; flex-shrink: 0; }
body.app-rengaw .rw-cpub-fases li.feito .rw-cpub-fase-marca { background: #0AB39C; border-color: #0AB39C; color: #FFFFFF; }
body.app-rengaw .rw-cpub-fases li.atual { color: var(--vz-body-color); font-weight: 600; }
body.app-rengaw .rw-cpub-fases li.atual .rw-cpub-fase-marca { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cpub-fases li.atual .rw-cpub-fase-marca { color: #061C3D; }
body.app-rengaw .rw-cpub-abas-rolagem { overflow-x: auto; }
body.app-rengaw .rw-cpub-abas-rolagem .nav-tabs { min-width: max-content; }

body.app-rengaw .rw-cpub-funil { display: grid; grid-template-columns: repeat(auto-fit, minmax(5.75rem, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-cpub-funil-etapa { display: flex; flex-direction: column; gap: 0.125rem; padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-cpub-funil-etapa:hover, body.app-rengaw .rw-cpub-funil-etapa:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-cpub-funil-n { font-family: "Exo 2", sans-serif; font-size: 1.5rem; font-weight: 600; line-height: 1; }

body.app-rengaw .rw-cpub-linha { display: flex; align-items: center; gap: 0.625rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); color: var(--vz-body-color); text-decoration: none; min-width: 0; }
body.app-rengaw .rw-cpub-linha:last-child { border-bottom: 0; }
body.app-rengaw a.rw-cpub-linha:hover { color: var(--vz-primary); }
body.app-rengaw .rw-cpub-barra { height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; margin: 0.375rem 0; }
body.app-rengaw .rw-cpub-barra > span { display: block; height: 100%; max-width: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-cpub-barra.alerta > span { background: #F7B84B; }
body.app-rengaw .rw-cpub-barra.estourou > span { background: #F06548; }

body.app-rengaw .rw-cpub-checklist { list-style: none; padding: 0; margin: 0 0 0.75rem; }
body.app-rengaw .rw-cpub-checklist li { display: flex; gap: 0.5rem; align-items: flex-start; padding: 0.25rem 0; }
body.app-rengaw .rw-cpub-checklist li > i { margin-top: 0.125rem; flex-shrink: 0; }
body.app-rengaw .rw-cpub-checklist li.ok > i { color: #0AB39C; }
body.app-rengaw .rw-cpub-checklist li.falta > i { color: #D9482B; }
body.app-rengaw .rw-cpub-checklist li.opcional > i { color: var(--vz-secondary-color); }
@media (min-width: 992px) { body.app-rengaw .rw-cpub-checklist-colunas { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 1.5rem; } }

body.app-rengaw .rw-cpub-trilha { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-cpub-trilha li { display: grid; align-items: baseline; grid-template-columns: 9.5rem 1fr; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cpub-trilha li:last-child { border-bottom: 0; }
@media (max-width: 575.98px) { body.app-rengaw .rw-cpub-trilha li { grid-template-columns: 1fr; gap: 0.125rem; } }

body.app-rengaw .rw-cpub-col-curta { min-width: 5rem; }
body.app-rengaw .rw-cpub-col-valor { min-width: 7.5rem; }
body.app-rengaw #cpub-itens select[name="catalogo"] { min-width: 10rem; }
body.app-rengaw #cpub-itens input[name="codigo"] { min-width: 6.5rem; }
body.app-rengaw #cpub-itens input[name="descricao"] { min-width: 14rem; }
body.app-rengaw #cpub-itens select[name="exclusivo"] { min-width: 5rem; }
body.app-rengaw .rw-cpub-parecer { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cpub-parecer:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-cpub-parecer:first-child { padding-top: 0; }
body.app-rengaw .rw-cpub-item-escolha { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem 1rem; margin-bottom: 0.75rem; }
body.app-rengaw .rw-cpub-item-escolha legend { float: none; width: auto; font-size: 0.9375rem; }
body.app-rengaw .rw-cpub-doc { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; color: var(--vz-body-color); text-decoration: none; height: 100%; }
body.app-rengaw .rw-cpub-doc:hover, body.app-rengaw .rw-cpub-doc:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-cpub-clausulas { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: 0.25rem 1.5rem; }

body.app-rengaw .rw-cpub-fila { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-cpub-fila > li:not(.rw-cpub-fila-quebra) { display: flex; flex-wrap: wrap; align-items: center; gap: 0.625rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cpub-fila-pos { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 8px; background: var(--vz-tertiary-bg); font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; flex-shrink: 0; }
body.app-rengaw .rw-cpub-fila > li.atrasado .rw-cpub-fila-pos { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-cpub-fila > li.atrasado .rw-cpub-fila-pos { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
body.app-rengaw .rw-cpub-fila-quebra { padding: 0.75rem; border: 1px dashed var(--vz-border-color); border-radius: 12px; margin: 0.5rem 0; }

body.app-rengaw .rw-menu-pagina.rw-cpub-publico { max-width: 60rem; padding-bottom: 2rem; }
body.app-rengaw .rw-menu-pagina.rw-cpub-publico-largo { max-width: 72rem; }
body.app-rengaw .rw-cpub-publico-corpo { padding-top: 1.5rem; }
body.app-rengaw .rw-cpub-publico .table .rw-mono { white-space: nowrap; }
body.app-rengaw .rw-cpub-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ------------------------------------------------------------------ PDTIC fácil (2026-10-15, prefixo rw-pdt-) */
body.app-rengaw .rw-pdt-situacao { display: inline-flex; align-items: center; padding: 0.125rem 0.625rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; white-space: nowrap; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-pdt-situacao.elaboracao, body.app-rengaw .rw-pdt-situacao.aguardando, body.app-rengaw .rw-pdt-situacao.andamento, body.app-rengaw .rw-pdt-situacao.recebida, body.app-rengaw .rw-pdt-situacao.planejada { background: #E5F2FD; color: #005BA8; }
body.app-rengaw .rw-pdt-situacao.vigente, body.app-rengaw .rw-pdt-situacao.aprovada, body.app-rengaw .rw-pdt-situacao.concluida, body.app-rengaw .rw-pdt-situacao.aceita, body.app-rengaw .rw-pdt-situacao.atingida { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pdt-situacao.devolvida, body.app-rengaw .rw-pdt-situacao.parcial { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-pdt-situacao.recusada, body.app-rengaw .rw-pdt-situacao.nao_atingida { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.elaboracao, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.aguardando, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.andamento, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.recebida, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.planejada { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.vigente, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.aprovada, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.concluida, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.aceita, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.atingida { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.devolvida, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.parcial { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.recusada, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-situacao.nao_atingida { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
body.app-rengaw .rw-pdt-codigo { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; color: var(--vz-primary); }
body.app-rengaw .rw-bem-icone.rw-pdt-codigo { color: var(--vz-primary); }
body.app-rengaw .rw-pdt-numero { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.25rem; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-pdt-aviso { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-aviso { color: #F7C873; }
body.app-rengaw .rw-pdt-icone-alerta { background: #FDECE8; color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-icone-alerta { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
body.app-rengaw .rw-pdt-exemplo { display: inline-flex; padding: 0 0.5rem; border-radius: 999px; border: 1px dashed var(--vz-border-color); font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pdt-destaque .card-body { background: var(--vz-secondary-bg); border-radius: 16px; }
body.app-rengaw .rw-pdt-menu { min-width: 16rem; }
body.app-rengaw .rw-pdt-menu form { margin: 0; }
/* Barras de progresso */
body.app-rengaw .rw-pdt-barra { display: block; height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; }
body.app-rengaw .rw-pdt-barra > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-pdt-barra.acima > span { background: #D9482B; }
body.app-rengaw .rw-pdt-vigente, body.app-rengaw .rw-pdt-elaboracao { display: block; padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); color: inherit; text-decoration: none; }
body.app-rengaw .rw-pdt-vigente:first-child, body.app-rengaw .rw-pdt-elaboracao:first-child { padding-top: 0; }
body.app-rengaw .rw-pdt-vigente:last-child, body.app-rengaw .rw-pdt-elaboracao:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-pdt-fases-barra { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-pdt-fase-barra { display: block; min-width: 0; }
body.app-rengaw .rw-pdt-fase-rotulo { display: block; font-size: 0.75rem; margin-bottom: 0.25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Passos das fases */
body.app-rengaw .rw-pdt-fases { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 1rem; }
body.app-rengaw .rw-pdt-fases a { position: relative; display: block; height: 100%; padding: 0.625rem 0.75rem 0.75rem 2.875rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-secondary-bg); color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-pdt-fases a:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-pdt-fase-marca { position: absolute; left: 0.625rem; top: 0.625rem; display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-pdt-fases li.feita .rw-pdt-fase-marca { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pdt-fases li.atual a { border-color: var(--vz-primary); box-shadow: inset 0 -3px 0 var(--vz-primary); }
body.app-rengaw .rw-pdt-fases li.atual .rw-pdt-fase-marca { background: var(--vz-primary); color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-fases li.feita .rw-pdt-fase-marca { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-fases li.atual .rw-pdt-fase-marca { background: var(--vz-primary); color: #061C3D; }
/* Checklist das atividades */
body.app-rengaw .rw-pdt-atividade { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); scroll-margin-top: 6rem; }
body.app-rengaw .rw-pdt-atividade:first-child { padding-top: 0; }
body.app-rengaw .rw-pdt-atividade:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-pdt-check { font-size: 1.25rem; line-height: 1.2; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pdt-atividade.concluida .rw-pdt-check, body.app-rengaw .rw-pdt-atividade.nao_se_aplica .rw-pdt-check { color: #0A8F7C; }
body.app-rengaw .rw-pdt-atividade.andamento .rw-pdt-check { color: var(--vz-primary); }
body.app-rengaw .rw-pdt-explica { margin-top: 0.25rem; font-size: 0.8125rem; }
body.app-rengaw .rw-pdt-explica summary { cursor: pointer; color: var(--vz-primary); font-weight: 500; }
body.app-rengaw .rw-pdt-explica[open] { padding: 0.5rem 0.75rem; border-radius: 10px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-pdt-explica p { margin: 0.375rem 0 0; }
body.app-rengaw .rw-pdt-sumario { padding-left: 1.25rem; }
body.app-rengaw .rw-pdt-sumario li { padding: 0.125rem 0; }
body.app-rengaw .rw-pdt-biblioteca summary { cursor: pointer; color: var(--vz-primary); font-weight: 500; }
body.app-rengaw .rw-pdt-ficha-1 { grid-template-columns: 1fr; }
/* Cronograma (plano de trabalho) */
body.app-rengaw .rw-pdt-gantt { position: relative; }
body.app-rengaw .rw-pdt-gantt-meses { position: relative; height: 1.25rem; margin-left: 40%; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; color: var(--vz-secondary-color); text-transform: uppercase; }
body.app-rengaw .rw-pdt-gantt-meses span { position: absolute; top: 0; white-space: nowrap; border-left: 1px solid var(--vz-border-color); padding-left: 0.25rem; }
body.app-rengaw .rw-pdt-gantt-linha { display: grid; grid-template-columns: 40% 60%; align-items: center; padding: 0.25rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pdt-gantt-nome { font-size: 0.8125rem; padding-right: 0.5rem; }
body.app-rengaw .rw-pdt-gantt-trilho { position: relative; height: 1rem; background: var(--vz-secondary-bg); border-radius: 6px; }
body.app-rengaw .rw-pdt-gantt-barra { position: absolute; top: 0; bottom: 0; border-radius: 6px; background: #8FB8E0; }
body.app-rengaw .rw-pdt-gantt-barra.andamento, body.app-rengaw .rw-pdt-cor.andamento { background: var(--vz-primary); }
body.app-rengaw .rw-pdt-gantt-barra.concluida, body.app-rengaw .rw-pdt-gantt-barra.nao_se_aplica, body.app-rengaw .rw-pdt-cor.concluida { background: #0AB39C; }
body.app-rengaw .rw-pdt-gantt-barra.atrasada, body.app-rengaw .rw-pdt-cor.atrasada { background: #D9482B; }
body.app-rengaw .rw-pdt-cor.pendente { background: #8FB8E0; }
body.app-rengaw .rw-pdt-gantt-hoje { position: absolute; top: -0.25rem; bottom: -0.25rem; width: 2px; background: #061C3D; z-index: 1; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-gantt-hoje { background: #FFFFFF; }
body.app-rengaw .rw-pdt-legenda { display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.8125rem; }
body.app-rengaw .rw-pdt-legenda li { display: inline-flex; align-items: center; gap: 0.375rem; }
body.app-rengaw .rw-pdt-cor { display: inline-block; width: 0.875rem; height: 0.875rem; border-radius: 4px; }
/* Diagnóstico */
body.app-rengaw .rw-pdt-resumo-anterior { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 0.75rem 1rem; border-radius: 12px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-pdt-resumo-anterior .rw-pdt-situacao { margin: 0.125rem 0; }
body.app-rengaw .rw-pdt-swot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-pdt-swot-quadro { padding: 0.875rem 1rem; border-radius: 12px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pdt-swot-quadro li { padding: 0.25rem 0; }
body.app-rengaw .rw-pdt-swot-titulo { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }
body.app-rengaw .rw-pdt-swot-quadro.forca { background: #F0FAF8; } body.app-rengaw .rw-pdt-swot-quadro.forca .rw-pdt-swot-titulo { color: #067A6A; }
body.app-rengaw .rw-pdt-swot-quadro.fraqueza { background: #FFF8EC; } body.app-rengaw .rw-pdt-swot-quadro.fraqueza .rw-pdt-swot-titulo { color: #8A5200; }
body.app-rengaw .rw-pdt-swot-quadro.oportunidade { background: #F0F7FE; } body.app-rengaw .rw-pdt-swot-quadro.oportunidade .rw-pdt-swot-titulo { color: #005BA8; }
body.app-rengaw .rw-pdt-swot-quadro.ameaca { background: #FEF3F0; } body.app-rengaw .rw-pdt-swot-quadro.ameaca .rw-pdt-swot-titulo { color: #B4321A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-swot-quadro.forca { background: rgba(10, 179, 156, 0.10); } [data-bs-theme="dark"] body.app-rengaw .rw-pdt-swot-quadro.forca .rw-pdt-swot-titulo { color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-swot-quadro.fraqueza { background: rgba(247, 184, 75, 0.10); } [data-bs-theme="dark"] body.app-rengaw .rw-pdt-swot-quadro.fraqueza .rw-pdt-swot-titulo { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-swot-quadro.oportunidade { background: rgba(0, 144, 244, 0.10); } [data-bs-theme="dark"] body.app-rengaw .rw-pdt-swot-quadro.oportunidade .rw-pdt-swot-titulo { color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-swot-quadro.ameaca { background: rgba(240, 101, 72, 0.10); } [data-bs-theme="dark"] body.app-rengaw .rw-pdt-swot-quadro.ameaca .rw-pdt-swot-titulo { color: #FF9C86; }
body.app-rengaw .rw-pdt-link-publico { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-pdt-link-publico code { font-size: 0.8125rem; }
body.app-rengaw .rw-pdt-alinhamento { display: flex; align-items: center; gap: 0.625rem; padding: 0.375rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pdt-alinhamento:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-pdt-pilula { display: inline-flex; min-width: 1.75rem; justify-content: center; padding: 0 0.5rem; border-radius: 999px; background: #E5F2FD; color: #005BA8; font-weight: 600; font-size: 0.8125rem; }
body.app-rengaw .rw-pdt-pilula.vazia { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-pilula { background: rgba(0, 144, 244, 0.18); color: #6CC0FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-pilula.vazia { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
/* Planejamento */
body.app-rengaw .rw-pdt-posicao { flex-shrink: 0; width: 2.25rem; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.05rem; color: var(--vz-primary); text-align: center; }
body.app-rengaw .rw-pdt-nota { flex-shrink: 0; display: inline-flex; min-width: 2.5rem; justify-content: center; padding: 0.125rem 0.5rem; border-radius: 8px; background: var(--vz-tertiary-bg); font-family: "IBM Plex Mono", monospace; font-weight: 600; font-size: 0.8125rem; }
body.app-rengaw .rw-pdt-meta { padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); scroll-margin-top: 6rem; }
body.app-rengaw .rw-pdt-meta:first-child { padding-top: 0; }
body.app-rengaw .rw-pdt-meta:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-pdt-pca { display: inline-flex; padding: 0 0.4rem; border-radius: 6px; background: #EFEAFD; color: #5B3FB8; font-size: 0.75rem; font-weight: 600; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-pca { background: rgba(140, 110, 230, 0.2); color: #C9B8FF; }
body.app-rengaw .rw-pdt-nivel { flex-shrink: 0; display: inline-flex; padding: 0.125rem 0.5rem; border-radius: 8px; font-family: "IBM Plex Mono", monospace; font-weight: 600; font-size: 0.75rem; }
body.app-rengaw .rw-pdt-nivel.baixo, body.app-rengaw .rw-pdt-mapa td.baixo { background: #D7F2EC; color: #06604F; }
body.app-rengaw .rw-pdt-nivel.medio, body.app-rengaw .rw-pdt-mapa td.medio { background: #FDEFC9; color: #7A4A00; }
body.app-rengaw .rw-pdt-nivel.alto, body.app-rengaw .rw-pdt-mapa td.alto { background: #FBD5C3; color: #8F2D0E; }
body.app-rengaw .rw-pdt-nivel.extremo, body.app-rengaw .rw-pdt-mapa td.extremo { background: #F6B4A6; color: #7A1A06; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-nivel.baixo, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-mapa td.baixo { background: rgba(10, 179, 156, 0.32); color: #9CF0E1; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-nivel.medio, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-mapa td.medio { background: rgba(247, 184, 75, 0.36); color: #FFE2A8; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-nivel.alto, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-mapa td.alto { background: rgba(240, 101, 72, 0.40); color: #FFC9B8; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-nivel.extremo, [data-bs-theme="dark"] body.app-rengaw .rw-pdt-mapa td.extremo { background: rgba(220, 53, 30, 0.62); color: #FFE3DC; }
body.app-rengaw .rw-pdt-mapa-caixa { overflow-x: auto; position: relative; }
body.app-rengaw .rw-pdt-mapa { border-collapse: separate; border-spacing: 4px; width: 100%; min-width: 17rem; table-layout: fixed; }
body.app-rengaw .rw-pdt-mapa td { height: 3rem; border-radius: 8px; text-align: center; vertical-align: middle; padding: 0.125rem; }
body.app-rengaw .rw-pdt-eixo { width: 1.75rem; text-align: center; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; color: var(--vz-secondary-color); font-weight: 600; }
body.app-rengaw .rw-pdt-eixo-y { width: 1.5rem; padding: 0; }
body.app-rengaw .rw-pdt-eixo-y span, body.app-rengaw .rw-pdt-eixo-x { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); font-weight: 600; }
body.app-rengaw .rw-pdt-eixo-y span { display: inline-block; writing-mode: vertical-rl; transform: rotate(180deg); }
body.app-rengaw .rw-pdt-eixo-x { text-align: center; }
body.app-rengaw .rw-pdt-marca { display: inline-block; margin: 1px; padding: 0 0.3rem; border-radius: 6px; background: rgba(255, 255, 255, 0.75); color: #061C3D; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 700; text-decoration: none; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-marca { background: rgba(6, 28, 61, 0.7); color: #FFFFFF; }
body.app-rengaw .rw-pdt-ranking { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pdt-ranking:last-child { border-bottom: 0; }
body.app-rengaw .rw-pdt-ranking.fora { opacity: 0.72; }
body.app-rengaw .rw-pdt-ranking.fora .rw-pdt-posicao { color: var(--vz-secondary-color); }
body.app-rengaw .rw-pdt-gut-nota { display: flex; align-items: baseline; gap: 0.375rem; padding: 0.625rem 0.875rem; border-radius: 12px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-pdt-gut-nota strong { font-family: "Exo 2", sans-serif; font-size: 1.5rem; color: var(--vz-primary); }
/* Documento, trilha e acompanhamento */
body.app-rengaw .rw-pdt-trilha > li { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pdt-trilha > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-pdt-csv { padding: 0.75rem 1rem; border-radius: 10px; background: var(--vz-secondary-bg); font-size: 0.8125rem; white-space: pre-wrap; }
body.app-rengaw .rw-pdt-dif { padding: 0.25rem 0.5rem; border-radius: 8px; margin-bottom: 0.25rem; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-pdt-dif.incluido { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pdt-dif.excluido { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-pdt-dif.alterado { background: #FEF4E4; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-dif.incluido { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-dif.excluido { background: rgba(240, 101, 72, 0.18); color: #FF9C86; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdt-dif.alterado { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
body.app-rengaw .rw-pdt-acao { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.5rem 0.75rem; margin-top: 0.375rem; border-radius: 10px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-pdt-acao.atrasada { box-shadow: inset 0 0 0 1px rgba(217, 72, 43, 0.45); }
body.app-rengaw .rw-pdt-percentual { width: 5rem; }
body.app-rengaw .rw-pdt-doc { max-width: 52rem; margin: 0 auto; }
body.app-rengaw .rw-pdt-doc-capa { padding: 2rem 1.5rem; margin-bottom: 1.5rem; border-radius: 16px; background: #061C3D; color: #FFFFFF; }
body.app-rengaw .rw-pdt-doc-capa .rw-sobretitulo-app { color: #8FCBFF; }
body.app-rengaw .rw-pdt-doc-capa .text-muted { color: #B7C6D9 !important; }
body.app-rengaw .rw-pdt-doc-capa code { color: #8FCBFF; }
body.app-rengaw .rw-pdt-doc-titulo { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.75rem; color: #FFFFFF; margin-bottom: 0.5rem; }
body.app-rengaw .rw-pdt-doc-capa .rw-pdt-aviso { color: #F7C873; }
body.app-rengaw .rw-pdt-doc-secao { padding: 1rem 0; border-top: 1px solid var(--vz-border-color); scroll-margin-top: 6rem; }
body.app-rengaw .rw-pdt-doc-secao h3 { font-family: "Exo 2", sans-serif; font-size: 1.15rem; font-weight: 700; color: var(--vz-heading-color, var(--vz-body-color)); margin-bottom: 0.75rem; }
body.app-rengaw .rw-pdt-doc-meta { padding: 0.5rem 0; }
body.app-rengaw .rw-pdt-termos { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 0.25rem 1rem; }
body.app-rengaw .rw-pdt-termos div { display: flex; gap: 0.5rem; }
body.app-rengaw .rw-pdt-termos dt { min-width: 3.5rem; font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; }
body.app-rengaw .rw-pdt-termos dd { margin: 0; }
body.app-rengaw .rw-menu-pagina.rw-pdt-publico { max-width: 60rem; padding-bottom: 2rem; }
@media (max-width: 991.98px) { body.app-rengaw .rw-pdt-fases { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-pdt-fases-barra { grid-template-columns: 1fr; gap: 0.375rem; }
    body.app-rengaw .rw-pdt-swot { grid-template-columns: 1fr; }
    body.app-rengaw .rw-pdt-gantt-meses { display: none; }
    body.app-rengaw .rw-pdt-gantt-linha { grid-template-columns: 1fr; gap: 0.25rem; }
    body.app-rengaw .rw-pdt-mapa td { height: 2.25rem; }
    body.app-rengaw .rw-pdt-doc-capa { padding: 1.25rem 1rem; }
}
@media print {
    body.app-rengaw .rw-pdt-nao-imprimir { display: none !important; }
    body.app-rengaw .rw-pdt-doc-capa { background: none; color: #000000; border: 1px solid #DCE3EC; }
    body.app-rengaw .rw-pdt-doc-titulo { color: #00336A; }
}

/* ---------------------------------------------------------------- App Contatos (2026-10-15, prefixo rw-ctt-) */
body.app-rengaw .rw-ctt-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ctt-avatar { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 12px; background: #E6F3FE; color: #006ECB; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.95rem; overflow: hidden; }
body.app-rengaw .rw-ctt-avatar i { font-size: 1.2rem; }
body.app-rengaw .rw-ctt-avatar img { width: 100%; height: 100%; object-fit: cover; }
body.app-rengaw .rw-ctt-avatar-setor { background: #EEF1F6; color: #00336A; }
body.app-rengaw .rw-ctt-avatar-empresa { background: #E9F7F4; color: #067A6A; }
body.app-rengaw .rw-ctt-avatar-util { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-ctt-avatar-grande { width: 4rem; height: 4rem; border-radius: 16px; font-size: 1.4rem; }
body.app-rengaw .rw-ctt-avatar-grande i { font-size: 1.75rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-avatar { background: rgba(0, 144, 244, 0.16); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-avatar-setor { background: rgba(255, 255, 255, 0.08); color: #DCE3EC; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-avatar-empresa { background: rgba(10, 179, 156, 0.16); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-avatar-util { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
/* Busca instantânea */
body.app-rengaw .rw-ctt-busca-caixa { min-width: min(100%, 18rem); }
body.app-rengaw .rw-ctt-busca { position: relative; }
body.app-rengaw .rw-ctt-busca > .ri-search-line { position: absolute; left: 0.95rem; top: 50%; transform: translateY(-50%); color: var(--vz-secondary-color); font-size: 1.15rem; pointer-events: none; }
body.app-rengaw .rw-ctt-busca .form-control { padding-left: 2.6rem; padding-right: 2.75rem; }
body.app-rengaw .rw-ctt-atalho { position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); padding: 0.1rem 0.45rem; border-radius: 6px; border: 1px solid var(--vz-border-color); background: var(--vz-secondary-bg); color: var(--vz-secondary-color); font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; }
body.app-rengaw .rw-ctt-resultados { position: absolute; z-index: 1050; left: 0; right: 0; top: calc(100% + 0.375rem); margin: 0; padding: 0.375rem; list-style: none; background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 12px; box-shadow: 0 12px 32px rgba(6, 28, 61, 0.14); max-height: 22rem; overflow-y: auto; }
body.app-rengaw .rw-ctt-resultados[hidden] { display: none; }
body.app-rengaw .rw-ctt-resultados li { display: flex; align-items: center; gap: 0.5rem; border-radius: 8px; padding-right: 0.5rem; }
body.app-rengaw .rw-ctt-resultados li[aria-selected="true"], body.app-rengaw .rw-ctt-resultados li:hover { background: var(--vz-tertiary-bg, #F4F7FB); }
body.app-rengaw .rw-ctt-resultado { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 0.625rem; padding: 0.5rem 0.625rem; color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-ctt-resultado i { font-size: 1.15rem; color: var(--vz-primary); }
body.app-rengaw .rw-ctt-resultado-tel { white-space: nowrap; }
/* Telefones úteis e emergência */
body.app-rengaw .rw-ctt-util .card-body { display: flex; flex-direction: column; gap: 0.375rem; }
body.app-rengaw .rw-ctt-util-nome { color: var(--vz-heading-color, var(--vz-body-color)); font-family: "Exo 2", sans-serif; }
body.app-rengaw .rw-ctt-numero { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.25rem 0.5rem; padding: 0.5rem 0.75rem; border-radius: 10px; background: var(--vz-tertiary-bg, #F4F7FB); color: var(--vz-primary); text-decoration: none; }
body.app-rengaw .rw-ctt-numero:hover, body.app-rengaw .rw-ctt-numero:focus-visible { background: #E6F3FE; }
body.app-rengaw .rw-ctt-numero span { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.25rem; letter-spacing: 0.02em; }
body.app-rengaw .rw-ctt-numero small { color: var(--vz-secondary-color); font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-numero { background: rgba(255, 255, 255, 0.06); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-numero:hover, [data-bs-theme="dark"] body.app-rengaw .rw-ctt-numero:focus-visible { background: rgba(0, 144, 244, 0.18); }
body.app-rengaw .rw-ctt-emergencia { display: grid; grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-ctt-sos { display: flex; flex-direction: column; align-items: flex-start; padding: 0.75rem 1rem; border-radius: 14px; background: #FDECE8; color: #A8331A; text-decoration: none; }
body.app-rengaw .rw-ctt-sos:hover, body.app-rengaw .rw-ctt-sos:focus-visible { background: #FAD9D0; color: #8A2612; }
body.app-rengaw .rw-ctt-sos-numero { font-family: "Exo 2", sans-serif; font-weight: 800; font-size: 1.85rem; line-height: 1.1; }
body.app-rengaw .rw-ctt-sos-nome { font-size: 0.8125rem; font-weight: 600; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-sos { background: rgba(240, 101, 72, 0.16); color: #FF9C86; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-sos:hover, [data-bs-theme="dark"] body.app-rengaw .rw-ctt-sos:focus-visible { background: rgba(240, 101, 72, 0.26); color: #FFC2B4; }
body.app-rengaw .rw-ctt-plantao-assunto { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); margin-top: 0.25rem; }
body.app-rengaw .rw-ctt-linha + .rw-ctt-plantao-assunto { margin-top: 0.75rem; }
body.app-rengaw .rw-ctt-ligar .rw-mono { font-size: 0.8125rem; }
body.app-rengaw .rw-ctt-passos li { margin-bottom: 0.25rem; }
/* Qualidade */
body.app-rengaw .rw-ctt-qualidade { display: flex; align-items: center; gap: 0.625rem; padding: 0.75rem 1rem; border-radius: 12px; background: var(--vz-tertiary-bg, #F4F7FB); color: var(--vz-body-color); text-decoration: none; height: 100%; }
body.app-rengaw .rw-ctt-qualidade:hover, body.app-rengaw .rw-ctt-qualidade:focus-visible { background: #E6F3FE; }
body.app-rengaw .rw-ctt-qualidade i { font-size: 1.35rem; color: var(--vz-primary); }
body.app-rengaw .rw-ctt-qualidade-numero { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.6rem; color: var(--vz-heading-color, var(--vz-body-color)); }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-qualidade { background: rgba(255, 255, 255, 0.05); }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-qualidade:hover, [data-bs-theme="dark"] body.app-rengaw .rw-ctt-qualidade:focus-visible { background: rgba(0, 144, 244, 0.16); }
/* Selos e etiquetas */
body.app-rengaw .rw-ctt-selo { display: inline-block; padding: 0.1rem 0.5rem; border-radius: 999px; background: #E6F3FE; color: #00336A; font-size: 0.75rem; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-ctt-selo-ok { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-ctt-selo-aviso { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-ctt-selo-inativo { background: #EEF1F6; color: #4F5D6E; }
body.app-rengaw .rw-ctt-selo-hoje { background: #006ECB; color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-selo { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-selo-ok { background: rgba(10, 179, 156, 0.18); color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-selo-aviso { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-selo-inativo { background: rgba(255, 255, 255, 0.08); color: #C3CDD9; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-selo-hoje { background: #0090F4; color: #061C3D; }
body.app-rengaw .rw-ctt-etiqueta { display: inline-flex; align-items: center; margin: 0 0.25rem 0.25rem 0; padding: 0.1rem 0.55rem; border-radius: 999px; border: 1px solid var(--vz-border-color); font-size: 0.75rem; color: var(--vz-body-color); text-decoration: none; white-space: nowrap; }
body.app-rengaw a.rw-ctt-etiqueta:hover { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-ctt-etiqueta-acao a { color: inherit; text-decoration: none; }
body.app-rengaw .rw-ctt-etiqueta-acao .btn-link { color: var(--vz-secondary-color); line-height: 1; }
body.app-rengaw .rw-ctt-estrela { color: #C98A00; margin-left: 0.25rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-estrela { color: #F7C873; }
/* Ficha */
body.app-rengaw .rw-ctt-canais { display: grid; grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr)); gap: 0.625rem; }
body.app-rengaw .rw-ctt-canal { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0.75rem; border-radius: 12px; background: var(--vz-tertiary-bg, #F4F7FB); }
body.app-rengaw .rw-ctt-canal > i { font-size: 1.3rem; color: var(--vz-primary); }
body.app-rengaw .rw-ctt-canal .rw-mono { font-size: 0.95rem; white-space: nowrap; }
body.app-rengaw .rw-ctt-canal-acoes { display: flex; gap: 0.25rem; flex: 0 0 auto; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-canal { background: rgba(255, 255, 255, 0.05); }
body.app-rengaw .rw-ctt-qr svg { width: 11rem; height: 11rem; max-width: 100%; padding: 0.5rem; border-radius: 12px; background: #FFFFFF; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ctt-historico { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-ctt-historico > li { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ctt-historico > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-ctt-historico ul { margin: 0.25rem 0 0; padding-left: 1.1rem; }
body.app-rengaw .rw-ctt-copiado { position: fixed; z-index: 1080; left: 50%; bottom: 1.5rem; transform: translateX(-50%); padding: 0.5rem 1rem; border-radius: 999px; background: #061C3D; color: #FFFFFF; font-weight: 600; box-shadow: 0 8px 24px rgba(6, 28, 61, 0.25); }
body.app-rengaw .rw-ctt-copiado[hidden] { display: none; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-copiado { background: #0090F4; color: #061C3D; }
/* Cadastro: telefones e e-mails */
body.app-rengaw .rw-ctt-item { display: flex; align-items: flex-start; gap: 0.5rem; margin-bottom: 0.625rem; }
body.app-rengaw .rw-ctt-item[hidden] { display: none; }
body.app-rengaw .rw-ctt-item-tipo { flex: 0 0 9.5rem; }
body.app-rengaw .rw-ctt-filtros { min-width: 16rem; }
body.app-rengaw .rw-ctt-resposta { max-width: 22rem; }
body.app-rengaw .rw-ctt-sugestao { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ctt-sugestao:last-child { border-bottom: 0; }
body.app-rengaw .rw-ctt-rolagem { max-height: 22rem; overflow-y: auto; }
/* Estrutura */
body.app-rengaw .rw-ctt-arvore, body.app-rengaw .rw-ctt-arvore ul { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-ctt-arvore ul { margin-left: 1.25rem; padding-left: 1rem; border-left: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-ctt-no { padding: 0.25rem 0; }
body.app-rengaw .rw-ctt-no-linha { display: flex; align-items: center; gap: 0.625rem; padding: 0.375rem 0.5rem; border-radius: 10px; }
body.app-rengaw .rw-ctt-no-linha:hover { background: var(--vz-tertiary-bg, #F4F7FB); }
body.app-rengaw .rw-ctt-no-linha > a:not(.rw-ctt-no-tel) { flex: 1 1 auto; color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-ctt-no-empresa > .rw-ctt-no-linha .fw-medium, body.app-rengaw .rw-ctt-no-setor > .rw-ctt-no-linha .fw-medium { font-family: "Exo 2", sans-serif; font-weight: 700 !important; }
body.app-rengaw .rw-ctt-no-tel { white-space: nowrap; text-decoration: none; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctt-no-linha:hover { background: rgba(255, 255, 255, 0.05); }
body.app-rengaw .rw-ctt-colunas { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: 0 1.5rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-ctt-atalho { display: none; }
    body.app-rengaw .rw-ctt-busca .form-control { padding-right: 0.75rem; }
    body.app-rengaw .rw-ctt-item-tipo { flex-basis: 7.5rem; }
    body.app-rengaw .rw-ctt-canal { flex-wrap: wrap; }
    body.app-rengaw .rw-ctt-arvore ul { margin-left: 0.5rem; padding-left: 0.625rem; }
    body.app-rengaw .rw-ctt-no-tel { display: none; }
    body.app-rengaw .rw-ctt-emergencia { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ===================== Base de questões (rw-bq-, 2026-10-15) ===================== */
body.app-rengaw .rw-bq-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-bq-numero { font-family: "Exo 2", sans-serif; font-size: 2.25rem; font-weight: 700; line-height: 1.1; color: var(--vz-primary); margin-bottom: 0.25rem; }
body.app-rengaw .rw-bq-numero-menor { font-size: 1.5rem; }
body.app-rengaw .rw-bq-numero.rw-bq-atencao { color: #B45309; }
body.app-rengaw .rw-bq-chama { font-size: 1.75rem; margin-right: 0.25rem; color: var(--vz-secondary-color); vertical-align: -0.2rem; }
body.app-rengaw .rw-bq-chama.acesa { color: #C2570C; }
body.app-rengaw .rw-bq-privado { display: flex; align-items: center; gap: 0.5rem; color: var(--vz-secondary-color); font-size: 0.875rem; }
body.app-rengaw .rw-bq-privado i { color: var(--vz-primary); }
body.app-rengaw .rw-bq-ref { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; letter-spacing: 0.02em; color: var(--vz-secondary-color); margin-bottom: 0.75rem; }
body.app-rengaw .rw-bq-ref > i { color: var(--vz-primary); margin-right: 0.375rem; font-size: 0.95rem; }
body.app-rengaw .rw-bq-ref > span + span::before { content: "·"; margin: 0 0.4rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-bq-ref-num { color: var(--vz-body-color); font-weight: 600; }
body.app-rengaw .rw-bq-aviso { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.8125rem; color: #8A5200; background: #FFF7E6; border: 1px solid #F5D9A8; border-radius: 10px; padding: 0.5rem 0.75rem; }
body.app-rengaw .rw-bq-aviso i { font-size: 1rem; line-height: 1.2; }
body.app-rengaw .rw-bq-aceite { border-color: #F5D9A8; }
body.app-rengaw .rw-bq-selo { background: var(--vz-light); color: var(--vz-body-color); font-weight: 500; }
body.app-rengaw .rw-bq-selo-previa { background: #FFF1D6; color: #8A5200; font-weight: 500; }
body.app-rengaw .rw-bq-atalhos { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-bq-atalhos li + li { margin-top: 0.5rem; }
body.app-rengaw .rw-bq-atalhos a { display: flex; align-items: center; gap: 0.5rem; text-decoration: none; }
body.app-rengaw .rw-bq-barra-linha { margin-bottom: 0.75rem; }
body.app-rengaw .rw-bq-barra { display: block; height: 0.5rem; border-radius: 999px; background: var(--vz-light); overflow: hidden; margin-top: 0.25rem; }
body.app-rengaw .rw-bq-barra > span { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-bq-barra > span.bom { background: #0A8F7C; }
body.app-rengaw .rw-bq-barra > span.medio { background: #E0A12E; }
body.app-rengaw .rw-bq-barra > span.fraco { background: #E0583B; }
body.app-rengaw .rw-bq-linha-q { display: flex; align-items: center; gap: 0.75rem; }
body.app-rengaw .rw-bq-num { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-width: 2.25rem; height: 2.25rem; padding: 0 0.375rem; border-radius: 10px; background: var(--vz-light); font-family: "Exo 2", sans-serif; font-weight: 700; color: var(--vz-body-color); }
body.app-rengaw .rw-bq-num.certa { background: #DDF5F0; color: #066B5D; }
body.app-rengaw .rw-bq-num.errada { background: #FDE6E1; color: #A3311B; }
body.app-rengaw .rw-bq-celula-texto { max-width: 28rem; }
body.app-rengaw .rw-bq-filtros { width: min(34rem, calc(100vw - 2rem)); }
body.app-rengaw .rw-bq-progresso { font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; color: var(--vz-secondary-color); }
/* Questão */
body.app-rengaw .rw-bq-enunciado { font-size: 1rem; line-height: 1.6; }
body.app-rengaw .rw-bq-enunciado p:last-child { margin-bottom: 0.75rem; }
body.app-rengaw .rw-bq-apoio { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem 1rem; margin-bottom: 1rem; background: var(--vz-tertiary-bg, #F4F7FB); }
body.app-rengaw .rw-bq-apoio summary { cursor: pointer; font-weight: 600; }
body.app-rengaw .rw-bq-apoio > div { margin-top: 0.75rem; max-height: 22rem; overflow-y: auto; line-height: 1.6; }
body.app-rengaw .rw-bq-imagem { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem; font-size: 0.875rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-bq-alternativas { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.5rem; }
body.app-rengaw .rw-bq-alternativas > li { position: relative; display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.625rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; }
body.app-rengaw .rw-bq-escolha > li { padding: 0; }
body.app-rengaw .rw-bq-escolha > li > label { display: flex; align-items: flex-start; gap: 0.75rem; flex: 1 1 auto; padding: 0.625rem 0.75rem; cursor: pointer; margin: 0; }
body.app-rengaw .rw-bq-letra { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 1.75rem; height: 1.75rem; border-radius: 50%; border: 1.5px solid var(--vz-border-color); font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.875rem; }
body.app-rengaw .rw-bq-escolha > li:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-bq-escolha input:checked + label .rw-bq-letra { background: var(--vz-primary); border-color: var(--vz-primary); color: #fff; }
body.app-rengaw .rw-bq-escolha input:checked + label { font-weight: 500; }
body.app-rengaw .rw-bq-escolha > li:has(input:checked) { border-color: var(--vz-primary); background: rgba(0, 110, 203, 0.05); }
body.app-rengaw .rw-bq-escolha input:focus-visible + label { outline: 2px solid var(--vz-primary); outline-offset: 2px; border-radius: 10px; }
body.app-rengaw .rw-bq-alternativas > li.riscada label > span:last-child { text-decoration: line-through; opacity: 0.55; }
body.app-rengaw .rw-bq-alternativas > li.correta { border-color: #0A8F7C; background: #E8F8F4; }
body.app-rengaw .rw-bq-alternativas > li.correta .rw-bq-letra { background: #0A8F7C; border-color: #0A8F7C; color: #fff; }
body.app-rengaw .rw-bq-alternativas > li.errada { border-color: #E0583B; background: #FDEFEC; }
body.app-rengaw .rw-bq-alternativas > li.errada .rw-bq-letra { background: #E0583B; border-color: #E0583B; color: #fff; }
body.app-rengaw .rw-bq-escolha > li.errada:has(input:checked) { border-color: #E0583B; background: #FDEFEC; }
body.app-rengaw .rw-bq-escolha > li.errada input:checked + label .rw-bq-letra { background: #E0583B; border-color: #E0583B; color: #fff; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-escolha > li.errada:has(input:checked) { background: rgba(240, 101, 72, 0.14); border-color: #F07A60; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-escolha > li.errada input:checked + label .rw-bq-letra { color: #fff; }
body.app-rengaw .rw-bq-riscar { flex: 0 0 auto; align-self: center; border: 0; background: transparent; color: var(--vz-secondary-color); padding: 0.375rem 0.625rem; border-radius: 8px; }
body.app-rengaw .rw-bq-riscar:hover, body.app-rengaw .rw-bq-riscar:focus-visible { color: var(--vz-primary); background: var(--vz-light); }
body.app-rengaw .rw-bq-cronometro { display: inline-flex; align-items: center; gap: 0.375rem; font-family: "IBM Plex Mono", monospace; font-size: 0.875rem; padding: 0.25rem 0.625rem; border-radius: 999px; background: var(--vz-light); color: var(--vz-body-color); }
body.app-rengaw .rw-bq-cronometro.acabando { background: #FDE6E1; color: #A3311B; }
body.app-rengaw .rw-bq-resultado.certa { border-color: #0A8F7C; }
body.app-rengaw .rw-bq-resultado.errada { border-color: #E0583B; }
body.app-rengaw .rw-bq-resultado-titulo { display: flex; align-items: center; gap: 0.5rem; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.25rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-bq-resultado.certa .rw-bq-resultado-titulo { color: #066B5D; }
body.app-rengaw .rw-bq-resultado.errada .rw-bq-resultado-titulo { color: #A3311B; }
body.app-rengaw .rw-bq-explicacao { background: var(--vz-tertiary-bg, #F4F7FB); border-radius: 10px; padding: 0.625rem 0.75rem; font-size: 0.875rem; }
body.app-rengaw .rw-bq-vazio-icone { display: block; font-size: 3rem; color: var(--vz-primary); margin-bottom: 0.5rem; }
/* Prévia */
body.app-rengaw .rw-bq-pdf { position: sticky; top: 5.5rem; }
body.app-rengaw .rw-bq-pdf iframe { width: 100%; height: calc(100vh - 12rem); min-height: 28rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: #fff; }
body.app-rengaw .rw-bq-pq.com-aviso { border-color: #F5C26B; }
body.app-rengaw .rw-bq-pq-num { display: inline-flex; align-items: center; gap: 0.375rem; font-family: "Exo 2", sans-serif; font-weight: 700; }
body.app-rengaw .rw-bq-pq-num input { width: 5rem; }
body.app-rengaw .rw-bq-avisos { list-style: none; margin: 0 0 0.75rem; padding: 0.5rem 0.75rem; border-radius: 10px; background: #FFF7E6; color: #8A5200; font-size: 0.8125rem; }
body.app-rengaw .rw-bq-avisos li { display: flex; gap: 0.375rem; }
body.app-rengaw .rw-bq-barra-acoes { position: sticky; bottom: 0; z-index: 5; display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: flex-end; padding: 0.75rem 1rem; margin: 0 0 1rem; background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 16px; }
/* Simulado */
body.app-rengaw .rw-bq-sim-topo { position: sticky; top: 4.5rem; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; margin-bottom: 1rem; background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 16px; }
body.app-rengaw .rw-bq-mapa { display: flex; flex-wrap: wrap; gap: 0.375rem; margin-bottom: 1rem; }
body.app-rengaw .rw-bq-mapa a { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; height: 2rem; border-radius: 8px; border: 1px solid var(--vz-border-color); text-decoration: none; color: var(--vz-body-color); font-size: 0.8125rem; font-weight: 600; }
body.app-rengaw .rw-bq-mapa a.feita { background: var(--vz-primary); border-color: var(--vz-primary); color: #fff; }
body.app-rengaw .rw-bq-nota { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.125rem; color: var(--vz-body-color); }
body.app-rengaw .rw-bq-nota.passou, body.app-rengaw .rw-bq-nota-card.passou .rw-bq-numero { color: #066B5D; }
body.app-rengaw .rw-bq-nota.abaixo, body.app-rengaw .rw-bq-nota-card.abaixo .rw-bq-numero { color: #A3311B; }
/* Desempenho */
body.app-rengaw .rw-bq-semanas { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 0.5rem; align-items: end; }
body.app-rengaw .rw-bq-semana { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; font-size: 0.75rem; }
body.app-rengaw .rw-bq-semana-barra { display: flex; align-items: flex-end; width: 100%; max-width: 3rem; height: 8rem; background: var(--vz-light); border-radius: 8px; overflow: hidden; }
body.app-rengaw .rw-bq-semana-barra > span { display: block; width: 100%; background: var(--vz-primary); border-radius: 8px 8px 0 0; }
body.app-rengaw .rw-bq-semana-rotulo, body.app-rengaw .rw-bq-semana-pct { font-family: "IBM Plex Mono", monospace; color: var(--vz-secondary-color); }
body.app-rengaw .rw-bq-semana-valor { font-weight: 600; }
/* Flashcards */
body.app-rengaw .rw-bq-flash { max-width: 46rem; margin: 0 auto; }
body.app-rengaw .rw-bq-flash-frente { font-size: 1.0625rem; line-height: 1.6; min-height: 6rem; }
body.app-rengaw .rw-bq-flash-verso { font-size: 1rem; line-height: 1.6; }
body.app-rengaw .rw-bq-notas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-bq-notas[hidden] { display: none; }
body.app-rengaw .rw-bq-notas .btn { display: flex; flex-direction: column; align-items: center; gap: 0.125rem; }
body.app-rengaw .rw-bq-notas .btn small { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; opacity: 0.85; }
body.app-rengaw .rw-bq-caderno { color: inherit; text-decoration: none; }
body.app-rengaw .rw-bq-caderno:hover { border-color: var(--vz-primary); }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-aviso, [data-bs-theme="dark"] body.app-rengaw .rw-bq-avisos { background: rgba(247, 184, 75, 0.12); border-color: rgba(247, 184, 75, 0.3); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-aceite, [data-bs-theme="dark"] body.app-rengaw .rw-bq-pq.com-aviso { border-color: rgba(247, 184, 75, 0.4); }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-selo-previa { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-numero.rw-bq-atencao { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-chama.acesa { color: #FFA466; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-alternativas > li.correta { background: rgba(10, 179, 156, 0.14); border-color: #2BB59F; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-alternativas > li.errada { background: rgba(240, 101, 72, 0.14); border-color: #F07A60; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-escolha > li:has(input:checked) { background: rgba(0, 144, 244, 0.12); }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-escolha input:checked + label .rw-bq-letra, [data-bs-theme="dark"] body.app-rengaw .rw-bq-mapa a.feita { color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-num.certa { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-num.errada, [data-bs-theme="dark"] body.app-rengaw .rw-bq-cronometro.acabando { background: rgba(240, 101, 72, 0.2); color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-resultado.certa .rw-bq-resultado-titulo, [data-bs-theme="dark"] body.app-rengaw .rw-bq-nota.passou, [data-bs-theme="dark"] body.app-rengaw .rw-bq-nota-card.passou .rw-bq-numero { color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-resultado.errada .rw-bq-resultado-titulo, [data-bs-theme="dark"] body.app-rengaw .rw-bq-nota.abaixo, [data-bs-theme="dark"] body.app-rengaw .rw-bq-nota-card.abaixo .rw-bq-numero { color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-bq-apoio, [data-bs-theme="dark"] body.app-rengaw .rw-bq-explicacao { background: rgba(255, 255, 255, 0.04); }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-bq-numero { font-size: 1.75rem; }
    body.app-rengaw .rw-bq-semanas { gap: 0.25rem; }
    body.app-rengaw .rw-bq-semana-pct { display: none; }
    body.app-rengaw .rw-bq-notas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.app-rengaw .rw-bq-sim-topo { top: 4rem; }
    body.app-rengaw .rw-bq-celula-texto { max-width: 14rem; }
}

/* ======================================================================================================================
 * App Gestão de demandas (2026-10-15, prefixo rw-dem-): caixa de entrada com parecidas, selos de situação, painel
 * (indicadores, barras semanais, quadrantes, carga), lista priorizada com o porquê e a linha de corte, triagem guiada,
 * matriz urgente × importante e quadro com arrastar e soltar, gráfico valor × esforço, notas GUT/RICE, duelo da
 * comparação em pares, delegação (níveis, sugestões, carga) e as páginas públicas (reaproveitam .rw-menu-pagina e
 * .rw-menu-capa). Sem borda lateral colorida: as cores ficam em selos, barras e pontos. Claro e escuro.
 * ==================================================================================================================== */
body.app-rengaw .rw-dem-rapida { position: relative; min-width: 14rem; }
body.app-rengaw .rw-dem-parecidas { margin-top: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-dem-parecidas[hidden] { display: none; }
body.app-rengaw .rw-dem-parecidas-titulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin: 0 0 0.25rem; }
body.app-rengaw .rw-dem-parecidas a { display: block; padding: 0.2rem 0; color: var(--vz-body-color); text-decoration: none; overflow-wrap: anywhere; }
body.app-rengaw .rw-dem-parecidas a:hover { text-decoration: underline; }
body.app-rengaw .rw-dem-codigo { font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.04em; color: var(--vz-secondary-color); white-space: nowrap; }
body.app-rengaw .rw-dem-passos { padding-left: 1.25rem; }
body.app-rengaw .rw-dem-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-dem-lista { display: flex; flex-direction: column; gap: 0.375rem; }
body.app-rengaw .rw-dem-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-dem-linha:hover, body.app-rengaw .rw-dem-linha:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-dem-selo { display: inline-flex; align-items: center; padding: 0.1rem 0.55rem; border-radius: 999px; background: #EEF1F6; color: #3D4A5C; font-size: 0.75rem; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-dem-selo-entrada { background: #E6F3FE; color: #00336A; }
body.app-rengaw .rw-dem-selo-priorizada { background: #E8EEFB; color: #003387; }
body.app-rengaw .rw-dem-selo-delegada, body.app-rengaw .rw-dem-del-aguardando, body.app-rengaw .rw-dem-del-ajuste { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-dem-selo-andamento, body.app-rengaw .rw-dem-del-aceita { background: #E6F3FE; color: #005BA8; }
body.app-rengaw .rw-dem-selo-aguardando { background: #F3EEFC; color: #5B3A9A; }
body.app-rengaw .rw-dem-selo-concluida { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-dem-selo-arquivada { background: #EEF1F6; color: #4F5D6E; }
body.app-rengaw .rw-dem-selo-atraso, body.app-rengaw .rw-dem-del-recusada { background: #FDECE8; color: #A83A22; }
body.app-rengaw .rw-dem-selo-foco { background: #006ECB; color: #FFFFFF; }
body.app-rengaw .rw-dem-q-selo-fazer { background: #FDECE8; color: #A83A22; }
body.app-rengaw .rw-dem-q-selo-agendar { background: #E6F3FE; color: #005BA8; }
body.app-rengaw .rw-dem-q-selo-delegar { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-dem-q-selo-eliminar { background: #EEF1F6; color: #4F5D6E; }
body.app-rengaw .rw-dem-etiqueta { display: inline-flex; align-items: center; margin: 0 0.25rem 0.25rem 0; padding: 0.1rem 0.6rem; border: 1px solid var(--vz-border-color); border-radius: 999px; font-size: 0.8125rem; }
body.app-rengaw .rw-dem-etiqueta a { color: inherit; text-decoration: none; }
body.app-rengaw .rw-dem-texto { white-space: normal; overflow-wrap: anywhere; }
/* Painel */
body.app-rengaw .rw-dem-indicador { color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw a.rw-dem-indicador:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-dem-indicador-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-dem-indicador-numero { font-family: var(--rw-titulo); font-weight: 700; font-size: 2rem; line-height: 1.1; color: var(--vz-heading-color, var(--vz-body-color)); margin-bottom: 0.25rem; }
body.app-rengaw .rw-dem-foco-frase { font-family: var(--rw-titulo); font-weight: 600; font-size: 1.125rem; margin-bottom: 0.75rem; }
body.app-rengaw .rw-dem-barras { display: flex; align-items: flex-end; gap: 0.5rem; height: 9rem; }
body.app-rengaw .rw-dem-barras-semana { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.25rem; height: 100%; min-width: 0; }
body.app-rengaw .rw-dem-barras-par { flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; gap: 2px; }
body.app-rengaw .rw-dem-barra { display: block; width: 40%; max-width: 1rem; min-height: 2px; border-radius: 4px 4px 0 0; }
body.app-rengaw .rw-dem-barra-entrada { background: #0090F4; }
body.app-rengaw .rw-dem-barra-concluida { background: #0AB39C; }
body.app-rengaw .rw-dem-barras-rotulo { font-family: var(--rw-mono); font-size: 0.625rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-dem-legenda { display: inline-block; width: 0.75rem; height: 0.75rem; border-radius: 3px; margin-right: 0.25rem; vertical-align: -1px; }
body.app-rengaw .rw-dem-quad-linha, body.app-rengaw .rw-dem-carga-mini { display: grid; grid-template-columns: minmax(8rem, 12rem) 1fr auto; align-items: center; gap: 0.75rem; padding: 0.3rem 0; }
body.app-rengaw .rw-dem-quad-trilho { display: block; height: 0.5rem; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; }
body.app-rengaw .rw-dem-quad-barra { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); }
body.app-rengaw .rw-dem-quad-barra.rw-dem-q-fazer { background: #E0552F; }
body.app-rengaw .rw-dem-quad-barra.rw-dem-q-agendar { background: #006ECB; }
body.app-rengaw .rw-dem-quad-barra.rw-dem-q-delegar { background: #E09A1F; }
body.app-rengaw .rw-dem-quad-barra.rw-dem-q-eliminar { background: #8796A8; }
body.app-rengaw .rw-dem-quad-barra.rw-dem-sobrecarga { background: #E0552F; }
body.app-rengaw .rw-dem-quad-n { font-family: var(--rw-titulo); font-weight: 600; min-width: 1.5rem; text-align: right; }
body.app-rengaw .rw-dem-rank-mini { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-dem-rank-mini:last-child { border-bottom: 0; }
body.app-rengaw .rw-dem-rank-mini:hover .fw-medium { text-decoration: underline; }
body.app-rengaw .rw-dem-posicao { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 10px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary-text-emphasis); font-family: var(--rw-titulo); font-weight: 700; }
/* Lista priorizada */
body.app-rengaw .rw-dem-abas { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
body.app-rengaw .rw-dem-abas .nav-link { white-space: nowrap; }
body.app-rengaw .rw-dem-capacidade, body.app-rengaw .rw-dem-progresso { display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.75rem 1rem; border-radius: 12px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary-text-emphasis); margin-bottom: 1rem; }
body.app-rengaw .rw-dem-capacidade i, body.app-rengaw .rw-dem-progresso i { font-size: 1.125rem; line-height: 1.3; }
body.app-rengaw .rw-dem-ranking { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-dem-rank { display: flex; align-items: flex-start; gap: 0.875rem; padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-dem-rank:last-child { border-bottom: 0; }
body.app-rengaw .rw-dem-rank a { overflow-wrap: anywhere; }
body.app-rengaw .rw-dem-rank-fora { opacity: 0.72; }
body.app-rengaw .rw-dem-porque { font-size: 0.8125rem; color: var(--vz-body-color); margin-top: 0.15rem; }
body.app-rengaw .rw-dem-porque i { color: var(--vz-primary); }
body.app-rengaw .rw-dem-pontos { font-family: var(--rw-titulo); font-weight: 700; font-size: 1.25rem; line-height: 1; }
body.app-rengaw .rw-dem-corte { display: flex; align-items: center; gap: 0.75rem; margin: 0.75rem 0 0.25rem; color: var(--vz-primary); font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; }
body.app-rengaw .rw-dem-corte::before, body.app-rengaw .rw-dem-corte::after { content: ""; flex: 1; border-top: 2px dashed var(--vz-primary); }
body.app-rengaw .rw-dem-corte span { flex: none; max-width: 70%; text-align: center; }
/* Triagem */
body.app-rengaw .rw-dem-escolhas { display: flex; flex-wrap: wrap; gap: 0.375rem; }
body.app-rengaw .rw-dem-triagem legend, body.app-rengaw legend.rw-dem-legenda-campo, body.app-rengaw .rw-dem-checkin-form legend { font-size: 0.875rem; font-weight: 600; margin-bottom: 0.25rem; }
body.app-rengaw .rw-dem-triagem kbd { font-size: 0.6875rem; padding: 0.05rem 0.35rem; }
body.app-rengaw .rw-dem-vazio-icone { font-size: 2.5rem; color: var(--vz-success); display: block; margin-bottom: 0.5rem; }
/* Matriz */
body.app-rengaw .rw-dem-matriz { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
body.app-rengaw .rw-dem-eixo { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vz-secondary-color); text-align: center; }
body.app-rengaw .rw-dem-quadrante { border: 1px solid var(--vz-border-color); border-radius: 16px; padding: 0.875rem; min-height: 12rem; background: var(--vz-secondary-bg); display: flex; flex-direction: column; transition: box-shadow 0.15s ease; }
body.app-rengaw .rw-dem-quadrante.sobre { box-shadow: inset 0 0 0 2px var(--vz-primary); }
body.app-rengaw .rw-dem-quadrante-topo { display: flex; align-items: flex-start; gap: 0.625rem; margin-bottom: 0.75rem; }
body.app-rengaw .rw-dem-quadrante-topo > i { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 10px; font-size: 1.125rem; }
body.app-rengaw .rw-dem-quadrante.rw-dem-q-fazer .rw-dem-quadrante-topo > i { background: #FDECE8; color: #A83A22; }
body.app-rengaw .rw-dem-quadrante.rw-dem-q-agendar .rw-dem-quadrante-topo > i { background: #E6F3FE; color: #005BA8; }
body.app-rengaw .rw-dem-quadrante.rw-dem-q-delegar .rw-dem-quadrante-topo > i { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-dem-quadrante.rw-dem-q-eliminar .rw-dem-quadrante-topo > i { background: #EEF1F6; color: #4F5D6E; }
body.app-rengaw .rw-dem-quadrante-topo p { color: var(--vz-secondary-color); }
body.app-rengaw .rw-dem-contagem { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5rem; padding: 0 0.4rem; border-radius: 999px; background: var(--vz-tertiary-bg); font-family: var(--rw-mono); font-size: 0.75rem; color: var(--vz-body-color); }
body.app-rengaw .rw-dem-cartoes { display: flex; flex-direction: column; gap: 0.5rem; flex: 1; min-height: 3rem; }
body.app-rengaw .rw-dem-cartoes-linha { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); }
body.app-rengaw .rw-dem-cartao { background: var(--vz-body-bg); border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.625rem 0.75rem; min-width: 0; }
body.app-rengaw .com-arrastar .rw-dem-cartao[draggable="true"], body.app-rengaw .com-arrastar .rw-dem-tarefa[draggable="true"] { cursor: grab; }
body.app-rengaw .rw-dem-cartao.arrastando, body.app-rengaw .rw-dem-tarefa.arrastando { opacity: 0.5; }
@media (min-width: 992px) { body.app-rengaw .com-arrastar .rw-dem-mover { display: none; } body.app-rengaw .com-arrastar .rw-dem-cartao:focus-within .rw-dem-mover { display: block; } }
/* Valor × esforço */
body.app-rengaw .rw-dem-ve { display: flex; flex-direction: column; gap: 4px; overflow-x: auto; position: relative; }
body.app-rengaw .rw-dem-ve-linha { display: grid; grid-template-columns: 6.5rem repeat(5, minmax(3.5rem, 1fr)); gap: 4px; }
body.app-rengaw .rw-dem-ve-rotulo, body.app-rengaw .rw-dem-ve-rotulo-x { display: flex; align-items: center; font-size: 0.75rem; color: var(--vz-secondary-color); line-height: 1.2; }
body.app-rengaw .rw-dem-ve-rotulo-x { justify-content: center; text-align: center; padding-top: 0.25rem; }
body.app-rengaw .rw-dem-ve-celula { min-height: 3.5rem; border-radius: 8px; padding: 0.25rem; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 3px; }
body.app-rengaw .rw-dem-ve-ganho_rapido { background: #E6F7F4; }
body.app-rengaw .rw-dem-ve-grande_aposta { background: #E6F3FE; }
body.app-rengaw .rw-dem-ve-preenchimento { background: #F4F7FB; }
body.app-rengaw .rw-dem-ve-evitar { background: #FDECE8; }
body.app-rengaw .rw-dem-ponto { display: inline-flex; align-items: center; justify-content: center; min-width: 1.75rem; height: 1.75rem; padding: 0 0.3rem; border-radius: 999px; background: #006ECB; color: #FFFFFF; font-family: var(--rw-mono); font-size: 0.6875rem; text-decoration: none; }
body.app-rengaw .rw-dem-ponto:hover, body.app-rengaw .rw-dem-ponto:focus-visible { background: #003387; color: #FFFFFF; }
body.app-rengaw .rw-dem-ve-legenda { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.5rem 0; }
body.app-rengaw .rw-dem-ve-amostra { flex: none; width: 1.25rem; height: 1.25rem; border-radius: 6px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-dem-nota-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-dem-nota-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-dem-nota-linha .form-select { width: auto; min-width: 8rem; }
body.app-rengaw .rw-dem-tabela-notas .form-select, body.app-rengaw .rw-dem-tabela-notas .form-control { min-width: 5rem; }
body.app-rengaw .rw-dem-titulo-cel { min-width: 12rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-dem-posicao-cel, body.app-rengaw .rw-dem-escore { font-family: var(--rw-titulo); font-weight: 600; }
/* Comparação em pares */
body.app-rengaw .rw-dem-progresso-barra { height: 0.5rem; border-radius: 999px; }
body.app-rengaw .rw-dem-duelo { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 1rem; margin-bottom: 1rem; }
body.app-rengaw .rw-dem-duelo-lado { display: flex; flex-direction: column; gap: 0.5rem; text-align: left; padding: 1.25rem; min-height: 12rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); color: var(--vz-body-color); transition: border-color 0.15s ease, box-shadow 0.15s ease; }
body.app-rengaw .rw-dem-duelo-lado:hover, body.app-rengaw .rw-dem-duelo-lado:focus-visible { border-color: var(--vz-primary); box-shadow: 0 0 0 3px var(--vz-primary-bg-subtle); outline: none; }
body.app-rengaw .rw-dem-duelo-titulo { font-family: var(--rw-titulo); font-weight: 600; font-size: 1.125rem; line-height: 1.3; overflow-wrap: anywhere; }
body.app-rengaw .rw-dem-duelo-desc { overflow-wrap: anywhere; }
body.app-rengaw .rw-dem-duelo-acao { display: inline-flex; align-items: center; gap: 0.35rem; align-self: flex-start; padding: 0.35rem 0.75rem; border-radius: 10px; background: var(--vz-primary); color: #FFFFFF; font-weight: 600; font-size: 0.875rem; }
body.app-rengaw .rw-dem-duelo-ou { align-self: center; font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vz-secondary-color); }
/* Revisão */
body.app-rengaw .rw-dem-trilha { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
body.app-rengaw .rw-dem-trilha > div { border: 1px solid var(--vz-border-color); border-radius: 16px; padding: 1rem; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-dem-trilha p { margin: 0.25rem 0 0; font-size: 0.875rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-dem-trilha-n { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 999px; background: var(--vz-primary); color: #FFFFFF; font-weight: 700; margin-right: 0.5rem; }
body.app-rengaw .rw-dem-revisao-linha { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-dem-revisao-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-dem-revisao-linha a { overflow-wrap: anywhere; }
body.app-rengaw .rw-dem-antiga .rw-dem-posicao { background: #FEF4E4; color: #8A5200; }
/* Demanda */
body.app-rengaw .rw-dem-destaque { border-color: var(--vz-primary); }
body.app-rengaw .rw-dem-citacao { padding: 0.5rem 0.75rem; border-radius: 10px; background: var(--vz-tertiary-bg); font-style: italic; }
body.app-rengaw .rw-dem-checkin { padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-dem-checkin:last-child { border-bottom: 0; }
body.app-rengaw .rw-dem-checkin-no_rumo .rw-dem-selo { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-dem-checkin-ajuda .rw-dem-selo { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-dem-checkin-atraso .rw-dem-selo { background: #FDECE8; color: #A83A22; }
body.app-rengaw .rw-dem-check { font-size: 1.25rem; line-height: 1; color: var(--vz-primary); }
body.app-rengaw .rw-dem-feito { text-decoration: line-through; color: var(--vz-secondary-color); }
body.app-rengaw .rw-dem-comentario { padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-dem-comentario:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-dem-pessoa { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; padding: 0.3rem 0; }
body.app-rengaw .rw-dem-papel { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--vz-secondary-color); min-width: 7.5rem; }
body.app-rengaw .rw-dem-trilha-eventos { list-style: none; padding: 0; margin: 0; max-height: 24rem; overflow-y: auto; }
body.app-rengaw .rw-dem-trilha-eventos li { padding: 0.4rem 0; border-bottom: 1px solid var(--vz-border-color); font-size: 0.875rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-dem-trilha-eventos li:last-child { border-bottom: 0; }
/* Delegar */
body.app-rengaw .rw-dem-sugestao { display: flex; flex-direction: column; width: 100%; height: 100%; text-align: left; padding: 0.875rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-secondary-bg); color: var(--vz-body-color); }
body.app-rengaw .rw-dem-sugestao:hover, body.app-rengaw .rw-dem-sugestao:focus-visible, body.app-rengaw .rw-dem-sugestao.escolhida { border-color: var(--vz-primary); box-shadow: 0 0 0 3px var(--vz-primary-bg-subtle); outline: none; }
body.app-rengaw .rw-dem-escolher { margin-top: 0.5rem; color: var(--vz-primary); font-weight: 600; }
body.app-rengaw .rw-dem-nivel { display: flex; flex-direction: column; gap: 0.25rem; height: 100%; padding: 0.875rem; border: 1px solid var(--vz-border-color); border-radius: 12px; cursor: pointer; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-dem-nivel i { font-size: 1.25rem; color: var(--vz-primary); }
body.app-rengaw .rw-dem-nivel .small { color: var(--vz-secondary-color); }
body.app-rengaw .btn-check:checked + .rw-dem-nivel { border-color: var(--vz-primary); box-shadow: 0 0 0 3px var(--vz-primary-bg-subtle); }
body.app-rengaw .btn-check:focus-visible + .rw-dem-nivel { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-dem-carga { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-dem-carga:last-child { border-bottom: 0; }
body.app-rengaw .rw-dem-carga-nome { width: 12rem; min-width: 0; }
body.app-rengaw .rw-dem-carga-trilho { margin-bottom: 0.25rem; }
body.app-rengaw .rw-dem-redistribuir { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-dem-redistribuir:last-child { border-bottom: 0; }
body.app-rengaw .rw-dem-redistribuir-para { width: 14rem; max-width: 100%; }
/* Quadro */
body.app-rengaw .rw-dem-quadro { position: relative; display: grid; grid-template-columns: repeat(6, minmax(14rem, 1fr)); gap: 0.75rem; overflow-x: auto; padding-bottom: 0.5rem; }
body.app-rengaw .rw-dem-coluna { border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-dem-coluna.sobre { box-shadow: inset 0 0 0 2px var(--vz-primary); }
body.app-rengaw .rw-dem-tarefa a { overflow-wrap: anywhere; }
body.app-rengaw .rw-dem-filtros { min-width: 16rem; }
/* Páginas públicas */
body.app-rengaw .rw-menu-pagina.rw-dem-publico { max-width: 42rem; padding-bottom: 2rem; }
body.app-rengaw .rw-dem-publico-sub { color: #C9D6E6; margin: 0.5rem 0 0; }
body.app-rengaw .rw-dem-publico-situacao { font-family: var(--rw-titulo); font-size: 1.25rem; }
body.app-rengaw .rw-dem-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.app-rengaw .rw-dem-privacidade { padding: 0.875rem 1rem; border-radius: 12px; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-dem-passos-publico { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; padding: 0; margin: 0 0 1rem; }
body.app-rengaw .rw-dem-passos-publico li { display: flex; flex-direction: column; align-items: center; gap: 0.35rem; text-align: center; font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-dem-passos-publico li.feito { color: var(--vz-body-color); font-weight: 600; }
body.app-rengaw .rw-dem-passo-bola { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 999px; border: 2px solid var(--vz-border-color); font-weight: 700; }
body.app-rengaw .rw-dem-passos-publico li.feito .rw-dem-passo-bola { background: #067A6A; border-color: #067A6A; color: #FFFFFF; }
/* Escuro */
[data-bs-theme="dark"] body.app-rengaw .rw-dem-selo { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-selo-entrada, [data-bs-theme="dark"] body.app-rengaw .rw-dem-selo-priorizada, [data-bs-theme="dark"] body.app-rengaw .rw-dem-selo-andamento, [data-bs-theme="dark"] body.app-rengaw .rw-dem-del-aceita, [data-bs-theme="dark"] body.app-rengaw .rw-dem-q-selo-agendar { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-selo-delegada, [data-bs-theme="dark"] body.app-rengaw .rw-dem-del-aguardando, [data-bs-theme="dark"] body.app-rengaw .rw-dem-del-ajuste, [data-bs-theme="dark"] body.app-rengaw .rw-dem-q-selo-delegar, [data-bs-theme="dark"] body.app-rengaw .rw-dem-checkin-ajuda .rw-dem-selo { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-selo-aguardando { background: rgba(155, 120, 230, 0.2); color: #C9B6F2; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-selo-concluida, [data-bs-theme="dark"] body.app-rengaw .rw-dem-checkin-no_rumo .rw-dem-selo { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-selo-atraso, [data-bs-theme="dark"] body.app-rengaw .rw-dem-del-recusada, [data-bs-theme="dark"] body.app-rengaw .rw-dem-q-selo-fazer, [data-bs-theme="dark"] body.app-rengaw .rw-dem-checkin-atraso .rw-dem-selo { background: rgba(240, 101, 72, 0.2); color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-selo-foco { background: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-quadrante.rw-dem-q-fazer .rw-dem-quadrante-topo > i { background: rgba(240, 101, 72, 0.2); color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-quadrante.rw-dem-q-agendar .rw-dem-quadrante-topo > i { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-quadrante.rw-dem-q-delegar .rw-dem-quadrante-topo > i { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-quadrante.rw-dem-q-eliminar .rw-dem-quadrante-topo > i { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-ve-ganho_rapido { background: rgba(10, 179, 156, 0.16); }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-ve-grande_aposta { background: rgba(0, 144, 244, 0.14); }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-ve-preenchimento { background: rgba(255, 255, 255, 0.05); }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-ve-evitar { background: rgba(240, 101, 72, 0.14); }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-ponto { background: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-ponto:hover { background: #8FCBFF; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-antiga .rw-dem-posicao { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-duelo-acao, [data-bs-theme="dark"] body.app-rengaw .rw-dem-trilha-n { color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-dem-cartao { background: var(--vz-tertiary-bg); }
@media (max-width: 767.98px) {
    body.app-rengaw .rw-dem-matriz { grid-template-columns: minmax(0, 1fr); }
    body.app-rengaw .rw-dem-eixo { display: none; }
    body.app-rengaw .rw-dem-duelo { grid-template-columns: minmax(0, 1fr); }
    body.app-rengaw .rw-dem-duelo-lado { min-height: 0; }
    body.app-rengaw .rw-dem-trilha { grid-template-columns: minmax(0, 1fr); }
    body.app-rengaw .rw-dem-quad-linha, body.app-rengaw .rw-dem-carga-mini { grid-template-columns: minmax(6rem, 8rem) 1fr auto; gap: 0.5rem; }
    body.app-rengaw .rw-dem-carga-nome { width: 100%; }
    body.app-rengaw .rw-dem-passos-publico { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.app-rengaw .rw-dem-rank { gap: 0.625rem; }
    body.app-rengaw .rw-dem-indicador-numero { font-size: 1.625rem; }
}

/* ==========================================================================================================
   Base de conhecimento (2026-10-15, plano 086). Prefixo rw-bco-. Claro e escuro; sem borda lateral colorida.
   ========================================================================================================== */
body.app-rengaw .rw-bco-min { min-width: 0; }
body.app-rengaw .rw-bco-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-bco-passos { padding-left: 1.25rem; margin-bottom: 0; }
body.app-rengaw .rw-bco-passos li { margin-bottom: 0.375rem; }
/* Busca */
body.app-rengaw .rw-bco-busca-caixa { min-width: min(100%, 18rem); }
body.app-rengaw .rw-bco-busca { position: relative; }
body.app-rengaw .rw-bco-busca-icone { position: absolute; left: 0.95rem; top: 1.25rem; transform: translateY(-50%); color: var(--vz-secondary-color); font-size: 1.15rem; pointer-events: none; }
body.app-rengaw .rw-bco-busca .form-control { padding-left: 2.6rem; min-height: 2.5rem; }
body.app-rengaw .rw-bco-sugestoes { position: absolute; z-index: 1050; left: 0; right: 0; top: calc(100% + 0.375rem); padding: 0.375rem; background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 12px; box-shadow: 0 12px 32px rgba(6, 28, 61, 0.14); max-height: 22rem; overflow-y: auto; }
body.app-rengaw .rw-bco-sugestoes[hidden] { display: none; }
body.app-rengaw .rw-bco-sugestao { display: flex; flex-direction: column; padding: 0.5rem 0.625rem; border-radius: 8px; color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-bco-sugestao:hover, body.app-rengaw .rw-bco-sugestao.ativo { background: var(--vz-tertiary-bg, #F4F7FB); }
body.app-rengaw .rw-bco-sugestao-titulo { font-weight: 600; overflow-wrap: anywhere; }
body.app-rengaw .rw-bco-sugestao-espaco { font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-bco-filtros { min-width: 16rem; }
body.app-rengaw .rw-bco-resultado { padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-bco-resultado:first-child { padding-top: 0; }
body.app-rengaw .rw-bco-resultado:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-bco-resultado-titulo { font-family: "Exo 2", sans-serif; font-size: 1.0625rem; margin-bottom: 0.125rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-bco-resultado-titulo a { color: var(--vz-primary); text-decoration: none; }
body.app-rengaw .rw-bco-resultado-caminho { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-bco-resultado-trecho mark { background: #FFE9A8; color: inherit; padding: 0 0.1em; border-radius: 3px; }
body.app-rengaw .rw-bco-vazio { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.375rem; padding: 1.5rem 0.5rem; }
body.app-rengaw .rw-bco-vazio > i { font-size: 2rem; color: var(--vz-secondary-color); }
/* Linhas, selos e tags */
body.app-rengaw .rw-bco-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-bco-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-bco-linha:hover .rw-bco-linha-titulo { color: var(--vz-primary); }
body.app-rengaw .rw-bco-linha-icone { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 10px; background: var(--vz-primary-bg-subtle, #E6F3FE); color: var(--vz-primary); font-size: 1.1rem; }
body.app-rengaw .rw-bco-linha-texto { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
body.app-rengaw .rw-bco-linha-titulo { font-weight: 600; overflow-wrap: anywhere; }
body.app-rengaw .rw-bco-linha-detalhe { font-size: 0.8125rem; color: var(--vz-secondary-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-bco-selo { display: inline-flex; align-items: center; gap: 0.25rem; flex: 0 0 auto; padding: 0.15rem 0.5rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; background: #EEF2F7; color: #4F5D6E; }
body.app-rengaw .rw-bco-selo-revisao, body.app-rengaw .rw-bco-selo-agendado { background: #E6F3FE; color: #00509A; }
body.app-rengaw .rw-bco-selo-vencido { background: #FFF1D6; color: #7A4A00; }
body.app-rengaw .rw-bco-selo-verificado { background: #E3F6F2; color: #046355; }
body.app-rengaw .rw-bco-selo-arquivado { background: #EEF2F7; color: #4F5D6E; }
body.app-rengaw .rw-bco-tag { display: inline-flex; align-items: center; padding: 0.2rem 0.6rem; border-radius: 999px; border: 1px solid var(--vz-border-color); font-size: 0.8125rem; color: var(--vz-body-color); text-decoration: none; background: var(--vz-secondary-bg); }
body.app-rengaw a.rw-bco-tag:hover { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-bco-papel { font-weight: 600; }
/* Espaços e árvore */
body.app-rengaw .rw-bco-espaco { text-decoration: none; color: var(--vz-body-color); transition: border-color 0.15s ease; }
body.app-rengaw .rw-bco-espaco:hover, body.app-rengaw .rw-bco-espaco:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-bco-espaco-icone { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 12px; font-size: 1.35rem; }
body.app-rengaw .rw-bco-espaco-nome { display: block; font-family: "Exo 2", sans-serif; font-weight: 600; font-size: 1.0625rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-bco-espaco-descricao { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 0.875rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-bco-espaco-meta { display: block; margin-top: 0.25rem; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-bco-cor-azul { background: #E6F3FE; color: #006ECB; }
body.app-rengaw .rw-bco-cor-verde { background: #E3F6F2; color: #046355; }
body.app-rengaw .rw-bco-cor-roxo { background: #EFEAFB; color: #5B3FB0; }
body.app-rengaw .rw-bco-cor-laranja { background: #FFF1D6; color: #7A4A00; }
body.app-rengaw .rw-bco-cor-vermelho { background: #FDECE8; color: #A8321A; }
body.app-rengaw .rw-bco-cor-cinza { background: #EEF2F7; color: #4F5D6E; }
body.app-rengaw .rw-bco-arvore { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-bco-arvore .rw-bco-arvore { padding-left: 1.25rem; border-left: 1px dashed var(--vz-border-color); margin-left: 0.6rem; }
body.app-rengaw .rw-bco-no-link { display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.5rem; border-radius: 8px; color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-bco-no-link:hover, body.app-rengaw .rw-bco-no-link:focus-visible { background: var(--vz-tertiary-bg, #F4F7FB); color: var(--vz-primary); }
body.app-rengaw .rw-bco-no-link > i { color: var(--vz-primary); font-size: 1.1rem; }
body.app-rengaw .rw-bco-no-nome { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
body.app-rengaw .rw-bco-no-qtd { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-bco-trilha { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem; font-size: 0.875rem; }
body.app-rengaw .rw-bco-trilha > i { color: var(--vz-secondary-color); }
body.app-rengaw .rw-bco-opcao { display: flex; flex-direction: column; gap: 0.2rem; height: 100%; padding: 0.75rem 0.875rem 0.75rem 2.5rem; position: relative; border: 1px solid var(--vz-border-color); border-radius: 12px; cursor: pointer; }
body.app-rengaw .rw-bco-opcao .form-check-input { position: absolute; left: 0.875rem; top: 0.95rem; margin: 0; }
body.app-rengaw .rw-bco-opcao:has(.form-check-input:checked) { border-color: var(--vz-primary); box-shadow: 0 0 0 3px var(--vz-primary-bg-subtle, #E6F3FE); }
body.app-rengaw .rw-bco-opcao-titulo { font-weight: 600; }
body.app-rengaw .rw-bco-opcao-texto { font-size: 0.8125rem; color: var(--vz-secondary-color); }
/* Artigo */
body.app-rengaw .rw-bco-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; min-width: 0; }
body.app-rengaw .rw-bco-resumo { font-size: 1.0625rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-bco-conteudo { font-size: 0.975rem; line-height: 1.7; overflow-wrap: anywhere; }
body.app-rengaw .rw-bco-conteudo h2, body.app-rengaw .rw-bco-conteudo h3, body.app-rengaw .rw-bco-conteudo h4 { font-family: "Exo 2", sans-serif; margin-top: 1.5rem; margin-bottom: 0.5rem; scroll-margin-top: 6rem; }
body.app-rengaw .rw-bco-conteudo h2 { font-size: 1.375rem; }
body.app-rengaw .rw-bco-conteudo h3 { font-size: 1.125rem; }
body.app-rengaw .rw-bco-conteudo h4 { font-size: 1rem; }
body.app-rengaw .rw-bco-conteudo > :first-child { margin-top: 0; }
body.app-rengaw .rw-bco-conteudo blockquote { margin: 1rem 0; padding: 0.5rem 1rem; border-radius: 10px; background: var(--vz-tertiary-bg, #F4F7FB); color: var(--vz-secondary-color); }
body.app-rengaw .rw-bco-conteudo blockquote p { margin: 0; }
body.app-rengaw .rw-bco-conteudo pre { padding: 0.875rem 1rem; border-radius: 10px; background: #061C3D; color: #E6EEF7; font-size: 0.85rem; white-space: pre-wrap; }
body.app-rengaw .rw-bco-conteudo code { padding: 0.1rem 0.35rem; border-radius: 5px; background: var(--vz-tertiary-bg, #F4F7FB); color: #A8321A; font-size: 0.875em; }
body.app-rengaw .rw-bco-conteudo pre code { padding: 0; background: transparent; color: inherit; }
body.app-rengaw .rw-bco-conteudo .table { margin: 1rem 0; }
body.app-rengaw .rw-bco-conteudo .table th { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; background: var(--vz-tertiary-bg, #F4F7FB); }
body.app-rengaw .rw-bco-conteudo .rw-bco-tarefas { list-style: none; padding-left: 0.25rem; }
body.app-rengaw .rw-bco-conteudo .rw-bco-tarefa input { margin-right: 0.4rem; vertical-align: middle; }
body.app-rengaw .rw-bco-imagem { display: block; max-width: 100%; height: auto; margin: 1rem 0; border-radius: 12px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-bco-link-ausente { color: var(--vz-secondary-color); text-decoration: underline dotted; }
body.app-rengaw .rw-bco-callout { margin: 1rem 0; padding: 0.75rem 1rem; border-radius: 12px; border: 1px solid; }
body.app-rengaw .rw-bco-callout p { margin: 0; }
body.app-rengaw .rw-bco-callout-titulo { display: flex; align-items: center; gap: 0.4rem; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.25rem !important; }
body.app-rengaw .rw-bco-callout-atencao { background: #FFF6E5; border-color: #F5D79A; color: #5C3800; }
body.app-rengaw .rw-bco-callout-dica { background: #E9F8F4; border-color: #A9E2D6; color: #034D42; }
body.app-rengaw .rw-bco-callout-nota { background: #EAF4FE; border-color: #B5D9F7; color: #003F78; }
body.app-rengaw .rw-bco-sumario ul li { padding: 0.2rem 0; }
body.app-rengaw .rw-bco-sumario a { color: var(--vz-body-color); text-decoration: none; font-size: 0.875rem; }
body.app-rengaw .rw-bco-sumario a:hover { color: var(--vz-primary); }
body.app-rengaw .rw-bco-sumario-n3 { padding-left: 0.875rem !important; }
@media (min-width: 1200px) { body.app-rengaw .rw-bco-sumario { position: sticky; top: 9rem; } }
body.app-rengaw .rw-bco-ciencia { border-color: var(--vz-primary); background: var(--vz-primary-bg-subtle, #E6F3FE); }
body.app-rengaw .rw-bco-ciencia-icone { font-size: 1.75rem; color: var(--vz-primary); }
body.app-rengaw .rw-bco-comentario { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-bco-comentario:first-child { padding-top: 0; }
body.app-rengaw .rw-bco-anexo { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-bco-anexo:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-bco-anexo > i { color: var(--vz-primary); font-size: 1.15rem; }
body.app-rengaw .rw-bco-pendente { display: flex; flex-wrap: wrap; align-items: center; gap: 0 0.75rem; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-bco-pendente:last-child { border-bottom: 0; }
body.app-rengaw .rw-bco-pendente .rw-bco-linha { flex: 1 1 18rem; border-bottom: 0; min-width: 0; }
/* Editor */
body.app-rengaw .rw-bco-barra { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-bco-barra[hidden] { display: none; }
body.app-rengaw [data-bco-editor] { font-family: "IBM Plex Mono", monospace; font-size: 0.875rem; line-height: 1.6; min-height: 20rem; }
body.app-rengaw .rw-bco-previa { min-height: 20rem; padding: 1rem; border: 1px dashed var(--vz-border-color); border-radius: 12px; }
body.app-rengaw .rw-bco-cola summary { cursor: pointer; font-size: 0.875rem; color: var(--vz-primary); }
body.app-rengaw .rw-bco-cola ul { padding-left: 1.1rem; margin-top: 0.5rem; }
body.app-rengaw .rw-bco-cola code { font-size: 0.8rem; }
body.app-rengaw .rw-bco-aviso-lgpd { color: #7A4A00; }
/* Versões e comparação */
body.app-rengaw .rw-bco-versao { padding: 0.625rem 0.75rem; margin: 0 -0.75rem; border-radius: 10px; }
body.app-rengaw .rw-bco-versao-ativa { background: var(--vz-tertiary-bg, #F4F7FB); }
body.app-rengaw .rw-bco-diff table { font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; }
body.app-rengaw .rw-bco-diff td { white-space: pre-wrap; overflow-wrap: anywhere; vertical-align: top; border: 0; }
body.app-rengaw .rw-bco-diff .rw-bco-diff-n { width: 2.5rem; color: var(--vz-secondary-color); text-align: right; }
body.app-rengaw .rw-bco-diff-removido td:nth-child(2), body.app-rengaw .rw-bco-diff-alterado td:nth-child(2) { background: #FDECE8; color: #7A2412; }
body.app-rengaw .rw-bco-diff-incluido td:nth-child(4), body.app-rengaw .rw-bco-diff-alterado td:nth-child(4) { background: #E3F6F2; color: #034D42; }
/* Página pública */
body.rw-bco-publico-corpo { background: var(--vz-body-bg); }
body.app-rengaw .rw-bco-publico { max-width: 52rem; margin: 0 auto; padding: 0 1rem 2rem; }
body.app-rengaw .rw-bco-publico-topo { margin: 0 -1rem 1.5rem; padding: 2rem 1.25rem 1.5rem; background: #061C3D; color: #FFFFFF; border-radius: 0 0 16px 16px; }
body.app-rengaw .rw-bco-publico-org { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: #8FCBFF; margin-bottom: 0.375rem; }
body.app-rengaw .rw-bco-publico-titulo { font-family: "Exo 2", sans-serif; font-size: 1.75rem; color: #FFFFFF; margin-bottom: 0.25rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-bco-publico-meta { color: #C9D6E6; margin: 0; font-size: 0.875rem; }
body.app-rengaw .rw-bco-publico-sumario { padding: 0.75rem 1rem; border-radius: 12px; background: var(--vz-tertiary-bg, #F4F7FB); }
body.app-rengaw .rw-bco-publico-sumario a { text-decoration: none; }
body.app-rengaw .rw-bco-publico-rodape { text-align: center; color: var(--vz-secondary-color); font-size: 0.8125rem; }
/* Escuro */
[data-bs-theme="dark"] body.app-rengaw .rw-bco-selo { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-selo-revisao, [data-bs-theme="dark"] body.app-rengaw .rw-bco-selo-agendado { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-selo-vencido { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-selo-verificado { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-linha-icone { background: rgba(0, 144, 244, 0.16); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-cor-azul { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-cor-verde { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-cor-roxo { background: rgba(155, 120, 230, 0.2); color: #C9B6F2; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-cor-laranja { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-cor-vermelho { background: rgba(240, 101, 72, 0.2); color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-cor-cinza { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-resultado-trecho mark { background: rgba(247, 184, 75, 0.3); color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-conteudo code { background: rgba(255, 255, 255, 0.08); color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-conteudo pre { background: #020D1F; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-callout-atencao { background: rgba(247, 184, 75, 0.12); border-color: rgba(247, 184, 75, 0.35); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-callout-dica { background: rgba(10, 179, 156, 0.12); border-color: rgba(10, 179, 156, 0.35); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-callout-nota { background: rgba(0, 144, 244, 0.12); border-color: rgba(0, 144, 244, 0.35); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-ciencia { background: rgba(0, 144, 244, 0.12); }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-ciencia-icone { color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-aviso-lgpd { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-diff-removido td:nth-child(2), [data-bs-theme="dark"] body.app-rengaw .rw-bco-diff-alterado td:nth-child(2) { background: rgba(240, 101, 72, 0.16); color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-diff-incluido td:nth-child(4), [data-bs-theme="dark"] body.app-rengaw .rw-bco-diff-alterado td:nth-child(4) { background: rgba(10, 179, 156, 0.16); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-bco-opcao:has(.form-check-input:checked) { box-shadow: 0 0 0 3px rgba(0, 144, 244, 0.25); }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-bco-linha-detalhe { white-space: normal; }
    body.app-rengaw .rw-bco-publico-titulo { font-size: 1.375rem; }
}
body.app-rengaw .rw-bco-barra .btn { min-width: 2.25rem; }
body.app-rengaw .rw-bco-barra .btn i { font-size: 1.05rem; }
body.app-rengaw .rw-bco-diff td, body.app-rengaw .rw-bco-diff th { padding: 0.15rem 0.5rem; line-height: 1.45; }

/* ---------- App Inteligência artificial (2026-10-15, plano 089; prefixo rw-ia-) ---------- */
body.app-rengaw .rw-ia-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-ia-numero { font-family: "Exo 2", sans-serif; font-size: 1.625rem; font-weight: 600; color: var(--vz-heading-color, var(--vz-body-color)); line-height: 1.15; margin-bottom: 0.25rem; }
body.app-rengaw .rw-ia-numero small { font-size: 0.875rem; font-weight: 500; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ia-estado { display: flex; align-items: center; gap: 0.5rem; font-family: "Exo 2", sans-serif; font-size: 1.375rem; font-weight: 600; margin-bottom: 0.5rem; }
body.app-rengaw .rw-ia-estado i { font-size: 1.5rem; }
body.app-rengaw .rw-ia-estado-ok { color: #087F6E; }
body.app-rengaw .rw-ia-estado-aviso { color: #8A5200; }
body.app-rengaw .rw-ia-estado-desligado { color: #B23A1F; }
body.app-rengaw .rw-ia-alerta-texto { color: #8A5200; }
body.app-rengaw .rw-ia-selo { display: inline-flex; align-items: center; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-ia-selo-ok { background: #E3F6F3; color: #087F6E; }
body.app-rengaw .rw-ia-selo-aviso { background: #FFF3DE; color: #8A5200; }
body.app-rengaw .rw-ia-selo-falha { background: #FDECE8; color: #B23A1F; }
body.app-rengaw .rw-ia-selo-inativo { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-ia-mono { font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-ia-fila { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-ia-fila li { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ia-fila li:last-child { border-bottom: 0; }
body.app-rengaw .rw-ia-fila-numero { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 1.75rem; height: 1.75rem; border-radius: 8px; background: rgba(0, 110, 203, 0.1); color: var(--vz-primary); font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; font-weight: 600; }
body.app-rengaw .rw-ia-fila-icone { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 1.75rem; height: 1.75rem; border-radius: 8px; background: rgba(0, 110, 203, 0.1); color: var(--vz-primary); }
body.app-rengaw .rw-ia-fila-texto { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; overflow-wrap: anywhere; }
body.app-rengaw .rw-ia-trilha { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; margin: 0; padding: 0; }
body.app-rengaw .rw-ia-trilha li { display: inline-flex; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-ia-trilha li + li::before { content: "›"; color: var(--vz-secondary-color); margin-right: 0.75rem; }
body.app-rengaw .rw-ia-trilha-pequena { gap: 0.25rem 0.75rem; font-size: 0.875rem; }
body.app-rengaw .rw-ia-trilha-pequena li + li::before { margin-right: 0.25rem; }
body.app-rengaw .rw-ia-trilha-pequena .rw-ia-fila-numero { width: 1.375rem; height: 1.375rem; font-size: 0.6875rem; }
body.app-rengaw .rw-ia-interruptor { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ia-interruptor:last-child { border-bottom: 0; }
body.app-rengaw .rw-ia-interruptor .form-check-input { margin: 0; float: none; }
body.app-rengaw .rw-ia-resposta { padding: 0.875rem 1rem; border-radius: 12px; background: var(--vz-tertiary-bg, #F4F7FB); border: 1px solid var(--vz-border-color); white-space: normal; overflow-wrap: anywhere; }
/* Escuro */
[data-bs-theme="dark"] body.app-rengaw .rw-ia-estado-ok, [data-bs-theme="dark"] body.app-rengaw .rw-ia-selo-ok { color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-ia-estado-aviso, [data-bs-theme="dark"] body.app-rengaw .rw-ia-selo-aviso, [data-bs-theme="dark"] body.app-rengaw .rw-ia-alerta-texto { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-ia-estado-desligado, [data-bs-theme="dark"] body.app-rengaw .rw-ia-selo-falha { color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-ia-selo-ok { background: rgba(10, 179, 156, 0.2); }
[data-bs-theme="dark"] body.app-rengaw .rw-ia-selo-aviso { background: rgba(247, 184, 75, 0.18); }
[data-bs-theme="dark"] body.app-rengaw .rw-ia-selo-falha { background: rgba(240, 101, 72, 0.2); }
[data-bs-theme="dark"] body.app-rengaw .rw-ia-selo-inativo { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-ia-fila-numero, [data-bs-theme="dark"] body.app-rengaw .rw-ia-fila-icone { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ia-resposta { background: rgba(255, 255, 255, 0.04); }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-ia-numero { font-size: 1.375rem; }
    body.app-rengaw .rw-ia-interruptor { align-items: flex-start; }
}

/* ------------------------------------------------------------------ Auditoria (plano 090) */
body.app-rengaw .rw-aud-grafico { min-height: 260px; }
body.app-rengaw .rw-aud-hash { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; overflow-wrap: anywhere; word-break: break-all; color: var(--vz-secondary-color); background: transparent; }
body.app-rengaw .rw-aud-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-aud-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-aud-alerta { padding: 0.875rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-aud-alerta:last-child { border-bottom: 0; }
body.app-rengaw .rw-aud-nivel-info { background: rgba(0, 110, 203, 0.12); color: #00336A; }
body.app-rengaw .rw-aud-nivel-atencao { background: rgba(247, 184, 75, 0.22); color: #6B4200; }
body.app-rengaw .rw-aud-nivel-critico { background: rgba(240, 101, 72, 0.16); color: #A2301A; }
body.app-rengaw .rw-aud-seguranca { background: rgba(240, 101, 72, 0.16); color: #A2301A; }
body.app-rengaw .rw-aud-acesso { background: rgba(0, 110, 203, 0.12); color: #00336A; }
body.app-rengaw .rw-aud-feito { background: rgba(0, 110, 203, 0.12); color: #00336A; }
body.app-rengaw .rw-aud-sobre { background: rgba(93, 106, 121, 0.14); color: #2F3A47; }
body.app-rengaw .rw-aud-linha-tempo { list-style: none; margin: 0; padding: 0; position: relative; }
body.app-rengaw .rw-aud-linha-tempo::before { content: ""; position: absolute; left: 0.9375rem; top: 0.5rem; bottom: 0.5rem; width: 2px; background: var(--vz-border-color); }
body.app-rengaw .rw-aud-dia { position: relative; padding: 0.75rem 0 0.25rem 2.75rem; }
body.app-rengaw .rw-aud-dia span { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-aud-item { position: relative; display: flex; gap: 0.875rem; padding: 0.5rem 0; }
body.app-rengaw .rw-aud-ponto { position: relative; z-index: 1; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--vz-card-bg, #fff); border: 2px solid var(--vz-border-color); color: var(--vz-primary); }
body.app-rengaw .rw-aud-item-exclusao .rw-aud-ponto, body.app-rengaw .rw-aud-item-erro .rw-aud-ponto, body.app-rengaw .rw-aud-item-seguranca .rw-aud-ponto { color: #C2412A; }
body.app-rengaw .rw-aud-conteudo { min-width: 0; flex: 1 1 auto; overflow-wrap: anywhere; }
body.app-rengaw .rw-aud-hora { font-family: "IBM Plex Mono", monospace; font-weight: 600; }
body.app-rengaw .rw-aud-mudancas { margin: 0; padding-left: 1rem; font-size: 0.875rem; color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-aud-nivel-info, [data-bs-theme="dark"] body.app-rengaw .rw-aud-acesso, [data-bs-theme="dark"] body.app-rengaw .rw-aud-feito { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-aud-nivel-atencao { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-aud-nivel-critico, [data-bs-theme="dark"] body.app-rengaw .rw-aud-seguranca { background: rgba(240, 101, 72, 0.2); color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-aud-sobre { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-aud-item-exclusao .rw-aud-ponto, [data-bs-theme="dark"] body.app-rengaw .rw-aud-item-erro .rw-aud-ponto, [data-bs-theme="dark"] body.app-rengaw .rw-aud-item-seguranca .rw-aud-ponto { color: #FFA08B; }

/* ---------------------------------------------------------------------------------------------------------------
   App Protocolo (2026-10-15, prefixo rw-ptc-): número, selos de situação, linhas, caixa, linha do tempo, QR, barras,
   páginas públicas. Claro e escuro; telas estreitas no fim.
   --------------------------------------------------------------------------------------------------------------- */
body.app-rengaw .rw-ptc-numero { font-family: "IBM Plex Mono", monospace; font-weight: 600; color: var(--vz-heading-color, #00336A); white-space: nowrap; }
body.app-rengaw .rw-ptc-mono { font-family: "IBM Plex Mono", monospace; letter-spacing: 0.04em; }
body.app-rengaw .rw-ptc-selo { display: inline-block; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; background: #E8F2FC; color: #00336A; white-space: nowrap; }
body.app-rengaw .rw-ptc-selo-em_tramite { background: #FFF4DE; color: #7A4A00; }
body.app-rengaw .rw-ptc-selo-arquivado { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-ptc-selo-encerrado { background: #E3F6F2; color: #046B5C; }
body.app-rengaw .rw-ptc-selo-juntado { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-ptc-selo-devolucao { background: #FDECE8; color: #9A2A12; }
body.app-rengaw .rw-ptc-selo-lai { background: #E8F2FC; color: #006ECB; }
body.app-rengaw .rw-ptc-sigilo { color: #7A4A00; font-size: 0.95rem; }
body.app-rengaw .rw-ptc-sigilo-forte { color: #9A2A12; }
body.app-rengaw .rw-ptc-prazo { white-space: nowrap; }
body.app-rengaw .rw-ptc-prazo-atraso { color: #C0341A; font-weight: 600; }
body.app-rengaw .rw-ptc-prazo-atraso i { margin-right: 0.2rem; }
body.app-rengaw .rw-ptc-lista { display: flex; flex-direction: column; gap: 0.25rem; }
body.app-rengaw .rw-ptc-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0.5rem; border-bottom: 1px solid var(--vz-border-color); color: inherit; text-decoration: none; border-radius: 10px; }
body.app-rengaw .rw-ptc-linha:hover, body.app-rengaw .rw-ptc-linha:focus-visible { background: var(--vz-light, #F4F7FB); }
body.app-rengaw .rw-ptc-linha-icone { flex: 0 0 2.25rem; height: 2.25rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: #E8F2FC; color: #006ECB; font-size: 1.1rem; }
body.app-rengaw .rw-ptc-dir-saida { background: #E3F6F2; color: #046B5C; }
body.app-rengaw .rw-ptc-dir-interno { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-ptc-linha-corpo { flex: 1 1 auto; min-width: 0; }
body.app-rengaw .rw-ptc-linha-assunto { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-ptc-linha-detalhe { display: block; font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ptc-linha-fim { flex: 0 0 auto; font-size: 0.875rem; }
body.app-rengaw .rw-ptc-atalho { flex-direction: row; align-items: center; gap: 0.75rem; text-decoration: none; color: inherit; height: 100%; }
body.app-rengaw .rw-ptc-atalho:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-ptc-numero-card { text-decoration: none; color: inherit; height: 100%; }
body.app-rengaw .rw-ptc-numero-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ptc-numero-valor { font-family: "Exo 2", sans-serif; font-size: 1.75rem; font-weight: 700; color: var(--vz-heading-color, #00336A); line-height: 1.2; }
body.app-rengaw .rw-ptc-numero-alerta .rw-ptc-numero-valor { color: #C0341A; }
body.app-rengaw .rw-ptc-contador { background: #EEF1F5; color: #4F5D6E; margin-left: 0.25rem; }
body.app-rengaw .rw-ptc-contador-alerta { background: #FDECE8; color: #9A2A12; }
body.app-rengaw .rw-ptc-passos { padding-left: 1.2rem; margin-bottom: 1rem; }
body.app-rengaw .rw-ptc-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-ptc-barras { display: flex; align-items: flex-end; gap: 0.5rem; height: 9rem; }
body.app-rengaw .rw-ptc-barras-col { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; height: 100%; min-width: 0; }
body.app-rengaw .rw-ptc-barras-par { flex: 1 1 auto; display: flex; align-items: flex-end; gap: 3px; width: 100%; justify-content: center; }
body.app-rengaw .rw-ptc-barra-r, body.app-rengaw .rw-ptc-barra-e { width: 40%; max-width: 1.1rem; min-height: 2px; border-radius: 4px 4px 0 0; }
body.app-rengaw .rw-ptc-barra-r { background: #006ECB; }
body.app-rengaw .rw-ptc-barra-e { background: #0AB39C; }
body.app-rengaw .rw-ptc-barras-rotulo { font-size: 0.7rem; color: var(--vz-secondary-color); margin-top: 0.25rem; white-space: nowrap; }
body.app-rengaw .rw-ptc-legenda { display: inline-block; width: 0.7rem; height: 0.7rem; border-radius: 3px; margin-right: 0.3rem; vertical-align: -1px; }
body.app-rengaw .rw-ptc-legenda-r { background: #006ECB; }
body.app-rengaw .rw-ptc-legenda-e { background: #0AB39C; }
body.app-rengaw .rw-ptc-cabeca { display: flex; gap: 1.5rem; align-items: flex-start; }
body.app-rengaw .rw-ptc-cabeca-dados { flex: 1 1 auto; min-width: 0; }
body.app-rengaw .rw-ptc-cabeca-numero { font-family: "IBM Plex Mono", monospace; font-size: 1.75rem; font-weight: 600; margin-bottom: 0.25rem; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-ptc-qr { flex: 0 0 auto; margin: 0; text-align: center; padding: 0.5rem; background: #FFFFFF; border: 1px solid #DCE3EC; border-radius: 12px; }
body.app-rengaw .rw-ptc-qr svg { width: 130px; height: 130px; display: block; }
body.app-rengaw .rw-ptc-qr figcaption { font-size: 0.7rem; color: #4F5D6E; margin-top: 0.25rem; }
body.app-rengaw .rw-ptc-pendente { border-color: #F7B84B; background: #FFFBF2; }
body.app-rengaw .rw-ptc-tempo { list-style: none; padding: 0; margin: 0 0 0.75rem; position: relative; }
body.app-rengaw .rw-ptc-tempo-item { position: relative; padding: 0 0 0.9rem 1.5rem; border-left: 2px solid var(--vz-border-color); margin-left: 0.4rem; }
body.app-rengaw .rw-ptc-tempo-item:last-child { padding-bottom: 0.2rem; }
body.app-rengaw .rw-ptc-tempo-ponto { position: absolute; left: -0.45rem; top: 0.15rem; width: 0.8rem; height: 0.8rem; border-radius: 50%; background: #FFFFFF; border: 2px solid #006ECB; }
body.app-rengaw .rw-ptc-tempo-encerramento .rw-ptc-tempo-ponto, body.app-rengaw .rw-ptc-tempo-ciencia .rw-ptc-tempo-ponto { background: #0AB39C; border-color: #0AB39C; }
body.app-rengaw .rw-ptc-tempo-devolucao .rw-ptc-tempo-ponto, body.app-rengaw .rw-ptc-tempo-reabertura .rw-ptc-tempo-ponto { border-color: #F06548; }
body.app-rengaw .rw-ptc-tempo-arquivamento .rw-ptc-tempo-ponto { background: #5D6A79; border-color: #5D6A79; }
body.app-rengaw .rw-ptc-tempo-quando { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.03em; color: var(--vz-secondary-color); margin: 0; text-transform: uppercase; }
body.app-rengaw .rw-ptc-tempo-texto { margin: 0.1rem 0 0; }
body.app-rengaw .rw-ptc-tempo-quem { font-size: 0.8125rem; color: var(--vz-secondary-color); margin: 0.1rem 0 0; }
body.app-rengaw .rw-ptc-anexo { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ptc-anexo > i { font-size: 1.1rem; color: #006ECB; margin-top: 0.1rem; }
body.app-rengaw .rw-ptc-hash { font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; color: var(--vz-secondary-color); word-break: break-all; }
body.app-rengaw .rw-ptc-acoes .accordion-button { font-weight: 600; }
body.app-rengaw .rw-ptc-explica { padding-left: 1rem; margin-bottom: 1rem; }
body.app-rengaw .rw-ptc-filtros { min-width: 18rem; }
body.app-rengaw .rw-ptc-barra-h { display: flex; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-ptc-barra-h-rotulo { flex: 0 0 4.5rem; font-family: "IBM Plex Mono", monospace; font-size: 0.8rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; }
body.app-rengaw .rw-ptc-barra-h-trilho { flex: 1 1 auto; height: 0.6rem; background: #EEF1F5; border-radius: 999px; overflow: hidden; }
body.app-rengaw .rw-ptc-barra-h-trilho > span { display: block; height: 100%; background: #006ECB; border-radius: 999px; }
body.app-rengaw .rw-ptc-barra-h-valor { flex: 0 0 3rem; text-align: right; font-weight: 600; }
body.app-rengaw .rw-ptc-url { font-family: "IBM Plex Mono", monospace; font-size: 0.8rem; word-break: break-all; cursor: copy; border-bottom: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-ptc-copiado { color: #0AB39C; border-bottom-color: #0AB39C; }
body.app-rengaw .rw-ptc-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.app-rengaw .rw-ptc-publico-sub { color: rgba(255, 255, 255, 0.82); margin-bottom: 0; }
body.app-rengaw .rw-ptc-privacidade { border-top: 1px solid var(--vz-border-color); padding-top: 1rem; }
body.app-rengaw .rw-ptc-resposta-publica { background: #E3F6F2; border-radius: 12px; padding: 0.9rem 1rem; margin-top: 0.75rem; }
body.app-rengaw .rw-ptc-codigo-grande { font-family: "IBM Plex Mono", monospace; font-size: 2rem; font-weight: 600; letter-spacing: 0.15em; color: #00336A; margin-bottom: 0.5rem; }
body.app-rengaw .rw-ptc-resumo { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-ptc-resumo li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.45rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ptc-resumo li:last-child { border-bottom: 0; }
body.app-rengaw .rw-ptc-resumo span { color: var(--vz-secondary-color); }
body.app-rengaw .rw-ptc-resumo strong { font-family: "Exo 2", sans-serif; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-selo { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-selo-em_tramite { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-selo-arquivado, [data-bs-theme="dark"] body.app-rengaw .rw-ptc-selo-juntado { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-selo-encerrado { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-selo-devolucao { background: rgba(240, 101, 72, 0.2); color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-selo-lai { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-sigilo { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-sigilo-forte, [data-bs-theme="dark"] body.app-rengaw .rw-ptc-prazo-atraso, [data-bs-theme="dark"] body.app-rengaw .rw-ptc-numero-alerta .rw-ptc-numero-valor { color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-numero, [data-bs-theme="dark"] body.app-rengaw .rw-ptc-numero-valor, [data-bs-theme="dark"] body.app-rengaw .rw-ptc-cabeca-numero { color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-linha:hover, [data-bs-theme="dark"] body.app-rengaw .rw-ptc-linha:focus-visible { background: rgba(255, 255, 255, 0.05); }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-linha-icone { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-dir-saida { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-dir-interno, [data-bs-theme="dark"] body.app-rengaw .rw-ptc-contador { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-contador-alerta { background: rgba(240, 101, 72, 0.2); color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-barra-r, [data-bs-theme="dark"] body.app-rengaw .rw-ptc-legenda-r, [data-bs-theme="dark"] body.app-rengaw .rw-ptc-barra-h-trilho > span { background: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-barra-h-trilho { background: rgba(255, 255, 255, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-pendente { border-color: rgba(247, 184, 75, 0.45); background: rgba(247, 184, 75, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-tempo-ponto { background: #061C3D; border-color: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-anexo > i { color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-resposta-publica { background: rgba(10, 179, 156, 0.14); }
[data-bs-theme="dark"] body.app-rengaw .rw-ptc-codigo-grande { color: #FFFFFF; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-ptc-cabeca { flex-direction: column-reverse; align-items: stretch; }
    body.app-rengaw .rw-ptc-qr { align-self: center; }
    body.app-rengaw .rw-ptc-cabeca-numero { font-size: 1.4rem; }
    body.app-rengaw .rw-ptc-linha { flex-wrap: wrap; }
    body.app-rengaw .rw-ptc-linha-fim { margin-left: 3rem; }
    body.app-rengaw .rw-ptc-barras { gap: 0.2rem; }
    body.app-rengaw .rw-ptc-barras-rotulo { font-size: 0.6rem; }
    body.app-rengaw .rw-ptc-codigo-grande { font-size: 1.5rem; }
}

/* ---------------------------------------------------------------------------------------------------------------
   App Chaves (2026-10-15, prefixo rw-chv-): código, selos de situação, linhas, números do painel, linha do tempo,
   mapa do quadro, faixas da consulta "quem estava com a chave", assinatura, etiquetas. Claro e escuro; telas estreitas
   no fim.
   --------------------------------------------------------------------------------------------------------------- */
body.app-rengaw .rw-chv-codigo { font-family: "IBM Plex Mono", monospace; font-weight: 600; color: var(--vz-heading-color, #00336A); white-space: nowrap; text-decoration: none; }
body.app-rengaw .rw-chv-codigo-grande { font-size: 1.25rem; }
body.app-rengaw .rw-chv-selo { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.15rem 0.6rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; white-space: nowrap; background: var(--vz-light); color: var(--vz-secondary-color); }
body.app-rengaw .rw-chv-selo-quadro { background: #E1F5F1; color: #066A5C; }
body.app-rengaw .rw-chv-selo-fora { background: #E5F1FB; color: #00336A; }
body.app-rengaw .rw-chv-selo-atraso { background: #FDE8E3; color: #9C2A12; }
body.app-rengaw .rw-chv-selo-bloqueada { background: #FFF2DA; color: #7A4A00; }
body.app-rengaw .rw-chv-marca { display: inline-block; padding: 0 0.45rem; border: 1px solid var(--vz-border-color); border-radius: 6px; font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-chv-marca-critica { border-color: #F0B6A8; color: #9C2A12; }
body.app-rengaw .rw-chv-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0.5rem; border-bottom: 1px solid var(--vz-border-color); color: inherit; text-decoration: none; border-radius: 10px; }
body.app-rengaw .rw-chv-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-chv-linha-link:hover, body.app-rengaw .rw-chv-linha-marcavel:hover { background: var(--vz-light); }
body.app-rengaw .rw-chv-linha-marcavel { cursor: pointer; margin: 0; }
body.app-rengaw .rw-chv-linha-alerta { background: #FDF1EE; }
body.app-rengaw .rw-chv-lista-marcar { max-height: 32rem; overflow-y: auto; position: relative; }
body.app-rengaw .rw-chv-numero { text-decoration: none; color: inherit; height: 100%; }
body.app-rengaw .rw-chv-numero-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-chv-numero-valor { font-family: "Exo 2", sans-serif; font-size: 1.75rem; font-weight: 700; color: var(--vz-heading-color, #00336A); line-height: 1.2; }
body.app-rengaw .rw-chv-numero-valor small { font-size: 1rem; }
body.app-rengaw .rw-chv-numero-alerta .rw-chv-numero-valor { color: #C0341A; }
body.app-rengaw .rw-chv-passos { padding-left: 1.2rem; margin-bottom: 1rem; }
body.app-rengaw .rw-chv-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-chv-filtros { min-width: 17rem; }
body.app-rengaw .rw-chv-camera[hidden] { display: none; }
body.app-rengaw .rw-chv-icone-grande { display: inline-flex; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; border-radius: 14px; background: #E5F1FB; color: #006ECB; font-size: 1.6rem; }
body.app-rengaw .rw-chv-pessoa { display: inline-flex; align-items: center; gap: 0.2rem; margin: 0 0.4rem 0.4rem 0; padding: 0.2rem 0.65rem; border: 1px solid var(--vz-border-color); border-radius: 999px; font-size: 0.8125rem; color: inherit; text-decoration: none; }
body.app-rengaw .rw-chv-qr svg { width: 7.5rem; height: 7.5rem; }
body.app-rengaw .rw-chv-foto { max-width: 100%; max-height: 12rem; border-radius: 12px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-chv-acao > summary { list-style: none; }
body.app-rengaw .rw-chv-acao > summary::-webkit-details-marker { display: none; }
/* Linha do tempo */
body.app-rengaw .rw-chv-tempo { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-chv-tempo li { position: relative; padding: 0 0 0.85rem 1.5rem; border-left: 2px solid var(--vz-border-color); margin-left: 0.4rem; }
body.app-rengaw .rw-chv-tempo li:last-child { padding-bottom: 0.2rem; }
body.app-rengaw .rw-chv-tempo li::before { content: ""; position: absolute; left: -0.45rem; top: 0.2rem; width: 0.8rem; height: 0.8rem; border-radius: 50%; background: var(--vz-card-bg, #FFFFFF); border: 2px solid #006ECB; }
body.app-rengaw .rw-chv-tempo li.rw-chv-tempo-devolucao::before { background: #0AB39C; border-color: #0AB39C; }
body.app-rengaw .rw-chv-tempo li.rw-chv-tempo-ocorrencia::before, body.app-rengaw .rw-chv-tempo li.rw-chv-tempo-bloqueio::before, body.app-rengaw .rw-chv-tempo li.rw-chv-tempo-baixa::before { border-color: #F06548; background: #F06548; }
body.app-rengaw .rw-chv-tempo li.rw-chv-tempo-cadastro::before, body.app-rengaw .rw-chv-tempo li.rw-chv-tempo-edicao::before { border-color: #5D6A79; }
/* Barras do painel */
body.app-rengaw .rw-chv-barra { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto; align-items: center; gap: 0.6rem; margin-bottom: 0.55rem; }
body.app-rengaw .rw-chv-barra-rotulo { font-size: 0.8125rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-chv-barra-trilho { display: block; height: 0.5rem; border-radius: 999px; background: var(--vz-light); overflow: hidden; }
body.app-rengaw .rw-chv-barra-trilho span { display: block; height: 100%; border-radius: 999px; background: #006ECB; }
/* Mapa do quadro */
body.app-rengaw .rw-chv-mapa-rolagem { overflow-x: auto; position: relative; padding-bottom: 0.25rem; }
body.app-rengaw .rw-chv-mapa { display: grid; gap: 0.4rem; min-width: min-content; }
body.app-rengaw .rw-chv-pos { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 4.5rem; padding: 0.9rem 0.3rem 0.35rem; border-radius: 10px; border: 1px solid var(--vz-border-color); text-align: center; font-size: 0.75rem; color: inherit; text-decoration: none; overflow: hidden; }
body.app-rengaw .rw-chv-pos strong { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; }
body.app-rengaw .rw-chv-pos-rotulo { position: absolute; top: 0.2rem; left: 0.4rem; font-family: "IBM Plex Mono", monospace; font-size: 0.62rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-chv-pos-nome { display: block; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.68rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-chv-pos-quadro { background: #E1F5F1; border-color: #9ED9CF; }
body.app-rengaw .rw-chv-pos-fora { background: #E5F1FB; border-color: #9CC8EC; }
body.app-rengaw .rw-chv-pos-atraso { background: #FDE8E3; border-color: #F0B6A8; }
body.app-rengaw .rw-chv-pos-bloqueada { background: #FFF2DA; border-color: #F2CF8E; }
body.app-rengaw .rw-chv-pos-vazia { border-style: dashed; color: var(--vz-secondary-color); background: transparent; }
body.app-rengaw .rw-chv-legenda { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; list-style: none; padding: 0; margin: 0 0 1rem; font-size: 0.8125rem; }
body.app-rengaw .rw-chv-legenda li { display: inline-flex; align-items: center; gap: 0.4rem; }
body.app-rengaw .rw-chv-legenda .rw-chv-pos { display: inline-block; width: 1rem; height: 1rem; min-height: 0; padding: 0; border-radius: 4px; }
/* Consulta: faixas no intervalo */
body.app-rengaw .rw-chv-faixa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 0.75rem; align-items: center; padding: 0.55rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-chv-faixa:last-child { border-bottom: 0; }
body.app-rengaw .rw-chv-faixa-trilho { position: relative; height: 0.75rem; border-radius: 999px; background: var(--vz-light); }
body.app-rengaw .rw-chv-faixa-trilho span { position: absolute; top: 0; bottom: 0; border-radius: 999px; background: #006ECB; min-width: 0.4rem; }
body.app-rengaw .rw-chv-faixa-trilho span.rw-chv-faixa-aberta { background: #4FA3E3; }
/* Assinatura e etiqueta */
body.app-rengaw .rw-chv-assinar { max-width: 400px; }
body.app-rengaw .rw-chv-assinar-tela { display: block; width: 100%; max-width: 400px; aspect-ratio: 8 / 3; height: auto; border: 1px dashed var(--vz-border-color); border-radius: 10px; background: var(--vz-input-bg-custom, #FFFFFF); touch-action: none; cursor: crosshair; }
body.app-rengaw .rw-chv-etiqueta-previa { display: flex; align-items: center; gap: 0.6rem; margin-top: 0.5rem; padding: 0.5rem; border: 1px solid var(--vz-border-color); border-radius: 10px; background: #FFFFFF; color: #061C3D; }
body.app-rengaw .rw-chv-etiqueta-qr svg { width: 4.5rem; height: 4.5rem; display: block; }
/* Escuro */
[data-bs-theme="dark"] body.app-rengaw .rw-chv-codigo, [data-bs-theme="dark"] body.app-rengaw .rw-chv-numero-valor { color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-chv-etiqueta-previa .rw-chv-codigo { color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-chv-numero-alerta .rw-chv-numero-valor { color: #FFA08B; }
[data-bs-theme="dark"] body.app-rengaw .rw-chv-selo-quadro, [data-bs-theme="dark"] body.app-rengaw .rw-chv-pos-quadro { background: rgba(10, 179, 156, 0.18); color: #7DE3D3; border-color: rgba(10, 179, 156, 0.45); }
[data-bs-theme="dark"] body.app-rengaw .rw-chv-selo-fora, [data-bs-theme="dark"] body.app-rengaw .rw-chv-pos-fora { background: rgba(0, 144, 244, 0.18); color: #9DD3FB; border-color: rgba(0, 144, 244, 0.45); }
[data-bs-theme="dark"] body.app-rengaw .rw-chv-selo-atraso, [data-bs-theme="dark"] body.app-rengaw .rw-chv-pos-atraso { background: rgba(240, 101, 72, 0.2); color: #FFA08B; border-color: rgba(240, 101, 72, 0.5); }
[data-bs-theme="dark"] body.app-rengaw .rw-chv-selo-bloqueada, [data-bs-theme="dark"] body.app-rengaw .rw-chv-pos-bloqueada { background: rgba(247, 184, 75, 0.18); color: #F7CF85; border-color: rgba(247, 184, 75, 0.45); }
[data-bs-theme="dark"] body.app-rengaw .rw-chv-marca-critica { color: #FFA08B; border-color: rgba(240, 101, 72, 0.5); }
[data-bs-theme="dark"] body.app-rengaw .rw-chv-linha-alerta { background: rgba(240, 101, 72, 0.12); }
[data-bs-theme="dark"] body.app-rengaw .rw-chv-icone-grande { background: rgba(0, 144, 244, 0.18); color: #9DD3FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-chv-barra-trilho span, [data-bs-theme="dark"] body.app-rengaw .rw-chv-faixa-trilho span { background: #0090F4; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-chv-linha { flex-wrap: wrap; }
    body.app-rengaw .rw-chv-faixa { grid-template-columns: minmax(0, 1fr); gap: 0.35rem; }
    body.app-rengaw .rw-chv-barra { grid-template-columns: minmax(0, 1fr) auto; }
    body.app-rengaw .rw-chv-barra-trilho { grid-column: 1 / -1; grid-row: 2; }
}

/* ============================================================================================================
   App Coworking (2026-10-15, prefixo rw-cow-): reserva de posto de trabalho, mapa do andar, Quem vem.
   Estados do posto: livre (verde), meu (azul royal), reservado (grafite), indisponível (tracejado).
   ============================================================================================================ */
body.app-rengaw .rw-cow-passos { padding-left: 1.2rem; margin-bottom: 1rem; }
body.app-rengaw .rw-cow-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-cow-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; margin: 0.25rem 0 0.75rem; }
body.app-rengaw .rw-cow-lista li { padding: 0.25rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cow-lista li:last-child { border-bottom: 0; }
body.app-rengaw .rw-cow-reserva { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; margin-bottom: 0.5rem; }
body.app-rengaw .rw-cow-reserva-icone, body.app-rengaw .rw-cow-qr-icone { width: 2.75rem; height: 2.75rem; flex: 0 0 auto; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: #E8F2FC; color: #006ECB; font-size: 1.35rem; }
body.app-rengaw .rw-cow-qr-icone { width: 3.5rem; height: 3.5rem; font-size: 1.75rem; }
body.app-rengaw .rw-cow-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-cow-numeros > div { display: flex; flex-direction: column; gap: 0.15rem; }
body.app-rengaw .rw-cow-numero { font-family: "Exo 2", sans-serif; font-size: 1.75rem; font-weight: 700; color: #00336A; line-height: 1.1; }
body.app-rengaw .rw-cow-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-cow-progresso { height: 0.5rem; border-radius: 999px; }
body.app-rengaw .rw-cow-barras { display: flex; align-items: flex-end; gap: 0.5rem; min-height: 9rem; }
body.app-rengaw .rw-cow-barras-longas { overflow-x: auto; padding-bottom: 0.25rem; position: relative; }
body.app-rengaw .rw-cow-barra { flex: 1 1 0; min-width: 2.25rem; display: flex; flex-direction: column; align-items: center; gap: 0.25rem; text-decoration: none; color: inherit; }
body.app-rengaw .rw-cow-barra-valor { font-size: 0.75rem; font-weight: 600; color: #00336A; }
body.app-rengaw .rw-cow-barra-trilho { position: relative; width: 100%; max-width: 2.25rem; height: 6rem; background: #EEF1F5; border-radius: 8px; overflow: hidden; }
body.app-rengaw .rw-cow-barra-cheia, body.app-rengaw .rw-cow-barra-real { position: absolute; left: 0; right: 0; bottom: 0; }
body.app-rengaw .rw-cow-barra-cheia { background: #9FB3C8; }
body.app-rengaw .rw-cow-barra-real { background: #006ECB; left: 25%; right: 25%; border-radius: 4px 4px 0 0; }
body.app-rengaw a.rw-cow-barra .rw-cow-barra-cheia { background: #006ECB; }
body.app-rengaw a.rw-cow-barra:hover .rw-cow-barra-trilho, body.app-rengaw a.rw-cow-barra:focus-visible .rw-cow-barra-trilho { outline: 2px solid #0090F4; outline-offset: 2px; }
body.app-rengaw .rw-cow-barra-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.66rem; text-transform: uppercase; color: #4F5D6E; white-space: nowrap; }
body.app-rengaw .rw-cow-pessoa { display: flex; align-items: center; gap: 0.75rem; padding: 0.55rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cow-pessoa:last-child { border-bottom: 0; }
body.app-rengaw .rw-cow-avatar { width: 2.1rem; height: 2.1rem; flex: 0 0 auto; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #00336A; color: #FFFFFF; font-family: "Exo 2", sans-serif; font-weight: 700; }
body.app-rengaw .rw-cow-estrela { color: #B26B00; }
body.app-rengaw .rw-cow-selo { display: inline-block; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; background: #E8F2FC; color: #006ECB; white-space: nowrap; }
body.app-rengaw .rw-cow-selo-concluida, body.app-rengaw .rw-cow-selo-posto-ativo { background: #E3F6F2; color: #046B5C; }
body.app-rengaw .rw-cow-selo-liberada, body.app-rengaw .rw-cow-selo-posto-manutencao { background: #FFF4DE; color: #7A4A00; }
body.app-rengaw .rw-cow-selo-cancelada, body.app-rengaw .rw-cow-selo-posto-inativo { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-cow-selo-sugerido { background: #006ECB; color: #FFFFFF; margin-left: 0.25rem; }
body.app-rengaw .rw-cow-recursos-filtro { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-cow-recurso-campo { display: flex; align-items: center; gap: 0.5rem; padding: 0.35rem 0.5rem; border: 1px solid var(--vz-border-color); border-radius: 10px; margin: 0; cursor: pointer; }
body.app-rengaw .rw-cow-recurso-campo i { color: #006ECB; font-size: 1.1rem; }
body.app-rengaw .rw-cow-recurso-campo input { width: 4.2rem; flex: 0 0 auto; }
body.app-rengaw .rw-cow-opcao { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; margin-bottom: 0.5rem; cursor: pointer; }
body.app-rengaw .rw-cow-opcao:has(input:checked) { border-color: #006ECB; box-shadow: 0 0 0 1px #006ECB inset; }
body.app-rengaw .rw-cow-opcao-sugerida { background: rgba(0, 110, 203, 0.04); }
body.app-rengaw .rw-cow-icones { display: inline-flex; flex-wrap: wrap; gap: 0.35rem 0.7rem; font-size: 0.8rem; color: #4F5D6E; }
body.app-rengaw .rw-cow-icones span { display: inline-flex; align-items: center; gap: 0.15rem; white-space: nowrap; }
body.app-rengaw .rw-cow-icones i { color: #006ECB; font-size: 1rem; }
body.app-rengaw .rw-cow-icones-grandes { display: flex; font-size: 0.875rem; }
body.app-rengaw .rw-cow-vazio-icone { font-size: 2.5rem; color: #9FB3C8; }
body.app-rengaw .rw-cow-legenda { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; font-size: 0.85rem; }
body.app-rengaw .rw-cow-legenda li { display: inline-flex; align-items: center; gap: 0.35rem; }
body.app-rengaw .rw-cow-ponto { display: inline-block; width: 0.8rem; height: 0.8rem; border-radius: 50%; margin-right: 0.35rem; vertical-align: -0.05rem; border: 2px solid transparent; }
body.app-rengaw .rw-cow-ponto-livre { background: #0A8F7C; }
body.app-rengaw .rw-cow-ponto-meu { background: #006ECB; }
body.app-rengaw .rw-cow-ponto-reservado { background: #5D6A79; }
body.app-rengaw .rw-cow-ponto-indisponivel { background: transparent; border: 2px dashed #9FB3C8; }
body.app-rengaw .rw-cow-mapa-rolagem { overflow-x: auto; position: relative; border: 1px solid var(--vz-border-color); border-radius: 12px; background: #FFFFFF; }
body.app-rengaw .rw-cow-planta { position: relative; min-width: 640px; user-select: none; }
body.app-rengaw .rw-cow-planta img { display: block; width: 100%; height: auto; border-radius: 12px; }
body.app-rengaw .rw-cow-marca { position: absolute; transform: translate(-50%, -50%); min-width: 2.4rem; padding: 0.2rem 0.45rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; font-weight: 600; line-height: 1.3; text-align: center; text-decoration: none; white-space: nowrap; border: 2px solid #FFFFFF; box-shadow: 0 1px 3px rgba(6, 28, 61, 0.35); color: #FFFFFF; }
body.app-rengaw .rw-cow-marca-livre { background: #0A8F7C; }
body.app-rengaw .rw-cow-marca-meu { background: #006ECB; outline: 2px solid #0090F4; outline-offset: 1px; }
body.app-rengaw .rw-cow-marca-reservado { background: #5D6A79; cursor: default; }
body.app-rengaw .rw-cow-marca-indisponivel { background: #FFFFFF; color: #4F5D6E; border: 2px dashed #9FB3C8; cursor: default; }
body.app-rengaw a.rw-cow-marca:hover, body.app-rengaw a.rw-cow-marca:focus-visible { color: #FFFFFF; transform: translate(-50%, -50%) scale(1.12); }
body.app-rengaw .rw-cow-editando .rw-cow-marca { cursor: grab; touch-action: none; }
body.app-rengaw .rw-cow-editando .rw-cow-marca:focus-visible { outline: 3px solid #0090F4; outline-offset: 2px; }
body.app-rengaw .rw-cow-marca-arrastando { cursor: grabbing; z-index: 2; }
body.app-rengaw .rw-cow-marca-solta { position: static; transform: none; display: inline-block; background: #00336A; cursor: grab; touch-action: none; }
body.app-rengaw .rw-cow-bandeja { margin-top: 0.75rem; padding: 0.75rem; border: 1px dashed #9FB3C8; border-radius: 12px; }
body.app-rengaw .rw-cow-bandeja-itens { display: flex; flex-wrap: wrap; gap: 0.5rem; min-height: 2.2rem; }
body.app-rengaw .rw-cow-calendario .fc-event.rw-cow-ev-confirmada { background: #006ECB; border-color: #006ECB; }
body.app-rengaw .rw-cow-calendario .fc-event.rw-cow-ev-concluida { background: #0A8F7C; border-color: #0A8F7C; }
body.app-rengaw .rw-cow-calendario .fc-event.rw-cow-ev-liberada { background: #FFF4DE; border-color: #F7B84B; color: #7A4A00; }
body.app-rengaw .rw-cow-calendario .fc-event.rw-cow-ev-liberada .fc-event-title, body.app-rengaw .rw-cow-calendario .fc-event.rw-cow-ev-liberada .fc-event-time { color: #7A4A00; }
body.app-rengaw .rw-cow-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.55rem 0.25rem; border-bottom: 1px solid var(--vz-border-color); color: inherit; text-decoration: none; border-radius: 8px; }
body.app-rengaw .rw-cow-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-cow-linha:hover, body.app-rengaw .rw-cow-linha:focus-visible { background: #F4F7FB; }
body.app-rengaw .rw-cow-data { width: 2.8rem; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.15rem 0; }
body.app-rengaw .rw-cow-data span { font-family: "Exo 2", sans-serif; font-size: 1.15rem; font-weight: 700; color: #00336A; line-height: 1.1; }
body.app-rengaw .rw-cow-data small { font-family: "IBM Plex Mono", monospace; font-size: 0.62rem; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-cow-semana { display: grid; grid-template-columns: repeat(auto-fit, minmax(4.5rem, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-cow-dia { display: flex; flex-direction: column; align-items: center; gap: 0.1rem; padding: 0.5rem 0.25rem; border: 1px solid var(--vz-border-color); border-radius: 12px; text-decoration: none; color: inherit; }
body.app-rengaw .rw-cow-dia:hover, body.app-rengaw .rw-cow-dia:focus-visible { border-color: #006ECB; }
body.app-rengaw .rw-cow-dia-ativo { border-color: #006ECB; box-shadow: 0 0 0 1px #006ECB inset; background: rgba(0, 110, 203, 0.05); }
body.app-rengaw .rw-cow-dia-nome { font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-cow-dia-n { font-family: "Exo 2", sans-serif; font-size: 1.35rem; font-weight: 700; color: #00336A; }
body.app-rengaw .rw-cow-dia-extra { font-size: 0.75rem; color: #B26B00; min-height: 1rem; display: inline-flex; gap: 0.25rem; align-items: center; }
body.app-rengaw .rw-cow-dia-extra .ri-user-line { color: #006ECB; }
body.app-rengaw .rw-cow-foto { display: block; max-width: 100%; max-height: 14rem; border-radius: 12px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cow-qr { width: 120px; height: 120px; background: #FFFFFF; padding: 4px; border-radius: 8px; }
body.app-rengaw .rw-cow-qr svg { width: 100%; height: 100%; }
body.app-rengaw .rw-cow-ranking { padding-left: 1.25rem; }
body.app-rengaw .rw-cow-ranking li { padding: 0.3rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cow-ranking li > span { display: inline-block; max-width: calc(100% - 3rem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
body.app-rengaw .rw-cow-ranking li > strong { float: right; color: #00336A; }
body.app-rengaw .rw-cow-catalogo { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-cow-recurso { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.35rem 0.65rem; border: 1px solid var(--vz-border-color); border-radius: 999px; text-decoration: none; color: #00336A; font-size: 0.85rem; }
body.app-rengaw .rw-cow-recurso i { color: #006ECB; }
body.app-rengaw .rw-cow-recurso small { color: #4F5D6E; font-family: "IBM Plex Mono", monospace; }
body.app-rengaw .rw-cow-recurso:hover, body.app-rengaw .rw-cow-recurso:focus-visible { border-color: #006ECB; }
body.app-rengaw .rw-cow-recurso-inativo { opacity: 0.6; text-decoration: line-through; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-cow-reserva { flex-wrap: wrap; }
    body.app-rengaw .rw-cow-opcao { flex-wrap: wrap; }
    body.app-rengaw .rw-cow-barras:not(.rw-cow-barras-longas) { gap: 0.25rem; }
    body.app-rengaw .rw-cow-barra { min-width: 0; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-cow-sobretitulo, [data-bs-theme="dark"] body.app-rengaw .rw-cow-rotulo, [data-bs-theme="dark"] body.app-rengaw .rw-cow-barra-rotulo, [data-bs-theme="dark"] body.app-rengaw .rw-cow-dia-nome, [data-bs-theme="dark"] body.app-rengaw .rw-cow-data small, [data-bs-theme="dark"] body.app-rengaw .rw-cow-icones, [data-bs-theme="dark"] body.app-rengaw .rw-cow-recurso small { color: #A9B7C8; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-numero, [data-bs-theme="dark"] body.app-rengaw .rw-cow-barra-valor, [data-bs-theme="dark"] body.app-rengaw .rw-cow-dia-n, [data-bs-theme="dark"] body.app-rengaw .rw-cow-data span, [data-bs-theme="dark"] body.app-rengaw .rw-cow-ranking li > strong, [data-bs-theme="dark"] body.app-rengaw .rw-cow-recurso { color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-reserva-icone, [data-bs-theme="dark"] body.app-rengaw .rw-cow-qr-icone { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-icones i, [data-bs-theme="dark"] body.app-rengaw .rw-cow-recurso i, [data-bs-theme="dark"] body.app-rengaw .rw-cow-recurso-campo i { color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-barra-trilho { background: rgba(255, 255, 255, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-barra-cheia { background: #4F6178; }
[data-bs-theme="dark"] body.app-rengaw a.rw-cow-barra .rw-cow-barra-cheia, [data-bs-theme="dark"] body.app-rengaw .rw-cow-barra-real { background: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-avatar { background: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-estrela, [data-bs-theme="dark"] body.app-rengaw .rw-cow-dia-extra { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-dia-extra .ri-user-line { color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-selo { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-selo-concluida, [data-bs-theme="dark"] body.app-rengaw .rw-cow-selo-posto-ativo { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-selo-liberada, [data-bs-theme="dark"] body.app-rengaw .rw-cow-selo-posto-manutencao { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-selo-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-cow-selo-posto-inativo { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-selo-sugerido { background: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-opcao:has(input:checked), [data-bs-theme="dark"] body.app-rengaw .rw-cow-dia-ativo { border-color: #0090F4; box-shadow: 0 0 0 1px #0090F4 inset; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-opcao-sugerida, [data-bs-theme="dark"] body.app-rengaw .rw-cow-dia-ativo { background: rgba(0, 144, 244, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-linha:hover, [data-bs-theme="dark"] body.app-rengaw .rw-cow-linha:focus-visible { background: rgba(255, 255, 255, 0.05); }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-mapa-rolagem { background: #0B2447; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-marca { border-color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-marca-indisponivel { background: #0B2447; color: #C9D6E6; border-color: #6B7F96; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-ponto-indisponivel { border-color: #6B7F96; }
[data-bs-theme="dark"] body.app-rengaw .rw-cow-marca-solta { background: #0090F4; color: #061C3D; }

/* ============================================================================================================
   App Teletrabalho (2026-10-15, prefixo rw-tel-): plano de entregas, plano de trabalho, check-in, agenda presencial
   e avaliação. Situações: em andamento (azul), concluído/aceito (verde), atenção/aguardando (âmbar), atraso (coral),
   cancelado/substituído (cinza).
   ============================================================================================================ */
body.app-rengaw .rw-tel-passos { padding-left: 1.2rem; margin-bottom: 1rem; }
body.app-rengaw .rw-tel-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-tel-titulo-secao { font-family: "IBM Plex Mono", monospace; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; margin: 1.5rem 0 0.75rem; }
body.app-rengaw .rw-tel-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; margin: 0.25rem 0 0.6rem; }
body.app-rengaw .rw-tel-lista li { padding: 0.3rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tel-lista li:last-child { border-bottom: 0; }
body.app-rengaw .rw-tel-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-tel-numeros > div { display: flex; flex-direction: column; gap: 0.15rem; }
body.app-rengaw .rw-tel-numero { font-family: "Exo 2", sans-serif; font-size: 1.75rem; font-weight: 700; color: #00336A; line-height: 1.1; }
body.app-rengaw .rw-tel-numero.rw-tel-alerta, body.app-rengaw .rw-tel-alerta { color: #B4361C; }
body.app-rengaw .rw-tel-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-tel-progresso { height: 0.5rem; border-radius: 999px; background: #EEF1F5; }
body.app-rengaw .rw-tel-progresso .progress-bar { background: #006ECB; }
body.app-rengaw .rw-tel-entrega, body.app-rengaw .rw-tel-registro, body.app-rengaw .rw-tel-dia { display: flex; align-items: center; gap: 0.75rem; padding: 0.7rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tel-entrega:last-of-type, body.app-rengaw .rw-tel-registro:last-child, body.app-rengaw .rw-tel-dia:last-child { border-bottom: 0; }
body.app-rengaw .rw-tel-dia { flex-wrap: wrap; }
body.app-rengaw .rw-tel-dia-data { width: 3.25rem; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; padding: 0.3rem 0; border-radius: 10px; background: #E8F2FC; color: #006ECB; line-height: 1.15; }
body.app-rengaw .rw-tel-dia-data span { font-family: "IBM Plex Mono", monospace; font-size: 0.62rem; text-transform: uppercase; }
body.app-rengaw .rw-tel-dia-data strong { font-family: "Exo 2", sans-serif; font-size: 0.95rem; }
body.app-rengaw .rw-tel-checkin { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tel-checkin:last-child { border-bottom: 0; }
body.app-rengaw .rw-tel-selo { display: inline-block; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; background: #E8F2FC; color: #005BA8; white-space: nowrap; }
body.app-rengaw .rw-tel-selo-execucao, body.app-rengaw .rw-tel-selo-andamento, body.app-rengaw .rw-tel-selo-combinado { background: #E8F2FC; color: #005BA8; }
body.app-rengaw .rw-tel-selo-avaliado, body.app-rengaw .rw-tel-selo-aceito, body.app-rengaw .rw-tel-selo-entregue, body.app-rengaw .rw-tel-selo-ritmo, body.app-rengaw .rw-tel-selo-concluido { background: #E3F6F2; color: #046B5C; }
body.app-rengaw .rw-tel-selo-aceite, body.app-rengaw .rw-tel-selo-avaliacao, body.app-rengaw .rw-tel-selo-pendente, body.app-rengaw .rw-tel-selo-vence, body.app-rengaw .rw-tel-selo-atencao, body.app-rengaw .rw-tel-selo-convocacao { background: #FFF4DE; color: #7A4A00; }
body.app-rengaw .rw-tel-selo-atrasada, body.app-rengaw .rw-tel-selo-contestado, body.app-rengaw .rw-tel-selo-travado { background: #FDEBE6; color: #A0301A; }
body.app-rengaw .rw-tel-selo-rascunho, body.app-rengaw .rw-tel-selo-cancelado, body.app-rengaw .rw-tel-selo-substituido, body.app-rengaw .rw-tel-selo-extra { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-tel-ritmos, body.app-rengaw .rw-tel-escala { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-tel-ritmo, body.app-rengaw .rw-tel-escala-opcao { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.45rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 10px; cursor: pointer; margin: 0; }
body.app-rengaw .rw-tel-ritmo input, body.app-rengaw .rw-tel-escala-opcao input { margin: 0; }
body.app-rengaw .rw-tel-ritmo:has(input:checked), body.app-rengaw .rw-tel-escala-opcao:has(input:checked) { border-color: #006ECB; box-shadow: 0 0 0 1px #006ECB inset; background: #F4F9FE; }
body.app-rengaw .rw-tel-nivel { display: inline-flex; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.85rem; background: #EEF1F5; color: #00336A; }
body.app-rengaw .rw-tel-nivel-5 { background: #006ECB; color: #FFFFFF; }
body.app-rengaw .rw-tel-nivel-4 { background: #CFE6FB; color: #00336A; }
body.app-rengaw .rw-tel-nivel-2 { background: #FFF4DE; color: #7A4A00; }
body.app-rengaw .rw-tel-nivel-1 { background: #FDEBE6; color: #A0301A; }
body.app-rengaw .rw-tel-contestacao { margin-top: 0.75rem; padding: 0.75rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-light); }
body.app-rengaw .rw-tel-clausulas { padding-left: 1.2rem; }
body.app-rengaw .rw-tel-clausulas li { margin-bottom: 0.9rem; }
body.app-rengaw .rw-tel-cronometro { display: flex; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-tel-cronometro-tempo { font-family: "IBM Plex Mono", monospace; font-size: 0.85rem; color: #4F5D6E; }
body.app-rengaw .rw-tel-cronometro-ligado .rw-tel-cronometro-tempo { color: #006ECB; font-weight: 600; }
body.app-rengaw .rw-tel-barra-linha { display: flex; align-items: center; gap: 0.6rem; padding: 0.35rem 0; }
body.app-rengaw .rw-tel-barra-rotulo { width: 11rem; flex: 0 0 auto; font-size: 0.85rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-numero { color: #E6EEF7; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-numero.rw-tel-alerta, [data-bs-theme="dark"] body.app-rengaw .rw-tel-alerta { color: #FF9C85; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-rotulo, [data-bs-theme="dark"] body.app-rengaw .rw-tel-sobretitulo, [data-bs-theme="dark"] body.app-rengaw .rw-tel-titulo-secao, [data-bs-theme="dark"] body.app-rengaw .rw-tel-cronometro-tempo { color: #A9B8CA; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-progresso { background: rgba(255, 255, 255, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-progresso .progress-bar { background: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-dia-data { background: rgba(0, 144, 244, 0.14); color: #7CC4FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-selo, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-execucao, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-andamento, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-combinado { background: rgba(0, 144, 244, 0.16); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-avaliado, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-aceito, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-entregue, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-ritmo, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-concluido { background: rgba(10, 179, 156, 0.18); color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-aceite, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-avaliacao, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-pendente, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-vence, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-atencao, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-convocacao { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-atrasada, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-contestado, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-travado { background: rgba(240, 101, 72, 0.18); color: #FF9C85; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-rascunho, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-cancelado, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-substituido, [data-bs-theme="dark"] body.app-rengaw .rw-tel-selo-extra { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-ritmo:has(input:checked), [data-bs-theme="dark"] body.app-rengaw .rw-tel-escala-opcao:has(input:checked) { border-color: #0090F4; box-shadow: 0 0 0 1px #0090F4 inset; background: rgba(0, 144, 244, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-nivel { background: rgba(255, 255, 255, 0.1); color: #E6EEF7; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-nivel-5 { background: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-nivel-4 { background: rgba(0, 144, 244, 0.3); color: #E6EEF7; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-nivel-2 { background: rgba(247, 184, 75, 0.25); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-tel-nivel-1 { background: rgba(240, 101, 72, 0.25); color: #FF9C85; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-tel-barra-rotulo { width: 7.5rem; }
    body.app-rengaw .rw-tel-entrega { align-items: flex-start; flex-wrap: wrap; }
}

/* ==========================================================================================================
   App Conformidade LGPD (2026-10-15, prefixo rw-lgpd-): nota, gravidade, achados, opções de ajuste, trecho citado,
   texto grifado, comparação, evolução da nota e a mensagem de espera da análise. Claro e escuro.
   ========================================================================================================== */
body.app-rengaw .rw-lgpd-codigo { font-family: "IBM Plex Mono", monospace; font-weight: 600; color: var(--vz-heading-color, #00336A); white-space: nowrap; text-decoration: none; }
body.app-rengaw .rw-lgpd-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-lgpd-selo { font-weight: 600; }
body.app-rengaw .rw-lgpd-passos { padding-left: 1.2rem; margin-bottom: 0; }
body.app-rengaw .rw-lgpd-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-lgpd-filtros { min-width: 17rem; }
body.app-rengaw .rw-lgpd-indicador { display: flex; align-items: center; gap: 0.85rem; }
body.app-rengaw .rw-lgpd-indicador h4 { font-family: "Exo 2", sans-serif; font-weight: 700; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-lgpd-indicador h4:empty { display: none; }
body.app-rengaw .rw-lgpd-badge-alta { background: #FDEBE6 !important; color: #A0301A !important; }
body.app-rengaw .rw-lgpd-vazio { display: flex; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-lgpd-vazio i { font-size: 1.15rem; color: #0AB39C; }

/* Nota de 0 a 100 */
body.app-rengaw .rw-lgpd-nota { display: inline-flex; align-items: baseline; justify-content: center; gap: 0.1rem; min-width: 4.5rem; padding: 0.55rem 0.85rem; border-radius: 14px; font-family: "Exo 2", sans-serif; line-height: 1; }
body.app-rengaw .rw-lgpd-nota strong { font-size: 1.9rem; font-weight: 700; }
body.app-rengaw .rw-lgpd-nota small { font-size: 0.8rem; opacity: 0.8; }
body.app-rengaw .rw-lgpd-nota-pequena { min-width: 3.4rem; padding: 0.3rem 0.55rem; border-radius: 10px; }
body.app-rengaw .rw-lgpd-nota-pequena strong { font-size: 1.05rem; }
body.app-rengaw .rw-lgpd-nota-boa { background: #E1F5F1; color: #066A5C; }
body.app-rengaw .rw-lgpd-nota-media { background: #FFF4DE; color: #7A4A00; }
body.app-rengaw .rw-lgpd-nota-baixa { background: #FDEBE6; color: #A0301A; }

/* Gravidade */
body.app-rengaw .rw-lgpd-grav { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.15rem 0.6rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-lgpd-grav-alta { background: #FDEBE6; color: #A0301A; }
body.app-rengaw .rw-lgpd-grav-media { background: #FFF4DE; color: #7A4A00; }
body.app-rengaw .rw-lgpd-grav-baixa { background: #E5F1FB; color: #00336A; }

/* Situação, linhas, contagens */
body.app-rengaw .rw-lgpd-situacoes { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-lgpd-situacoes a { display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 0.5rem; border-bottom: 1px solid var(--vz-border-color); color: inherit; text-decoration: none; border-radius: 10px; }
body.app-rengaw .rw-lgpd-situacoes li:last-child a { border-bottom: 0; }
body.app-rengaw .rw-lgpd-situacoes a:hover { background: var(--vz-light); }
body.app-rengaw .rw-lgpd-situacoes strong { margin-left: auto; font-family: "Exo 2", sans-serif; font-size: 1.1rem; }
body.app-rengaw .rw-lgpd-ponto { width: 0.7rem; height: 0.7rem; border-radius: 50%; flex: 0 0 auto; }
body.app-rengaw .rw-lgpd-ponto-secondary { background: #8A97A8; }
body.app-rengaw .rw-lgpd-ponto-danger { background: #E5533A; }
body.app-rengaw .rw-lgpd-ponto-warning { background: #F7B84B; }
body.app-rengaw .rw-lgpd-ponto-success { background: #0AB39C; }
body.app-rengaw .rw-lgpd-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0.5rem; border-bottom: 1px solid var(--vz-border-color); color: inherit; text-decoration: none; border-radius: 10px; min-width: 0; }
body.app-rengaw .rw-lgpd-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-lgpd-linha:hover { background: var(--vz-light); }
body.app-rengaw .rw-lgpd-data { flex: 0 0 auto; padding: 0.3rem 0.5rem; border-radius: 8px; background: #E5F1FB; color: #00336A; font-family: "IBM Plex Mono", monospace; font-size: 0.8rem; font-weight: 600; }
body.app-rengaw .rw-lgpd-data-vencida { background: #FDEBE6; color: #A0301A; }
body.app-rengaw .rw-lgpd-contagem { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
body.app-rengaw .rw-lgpd-contagem dt { font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; color: #4F5D6E; font-weight: 500; }
body.app-rengaw .rw-lgpd-contagem dd { margin: 0; font-family: "Exo 2", sans-serif; font-size: 1.35rem; font-weight: 700; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-lgpd-pessoa { display: inline-flex; align-items: center; gap: 0.2rem; margin: 0 0.4rem 0.4rem 0; padding: 0.2rem 0.65rem; border: 1px solid var(--vz-border-color); border-radius: 999px; font-size: 0.8125rem; }

/* Modo da análise e mensagem de espera */
body.app-rengaw .rw-lgpd-modo { margin-top: 0.25rem; padding: 0.85rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-light); }
body.app-rengaw .rw-lgpd-reanalise { margin-top: 0.75rem; }
.rw-lgpd-espera:not([hidden]) { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(6, 28, 61, 0.55); }
.rw-lgpd-espera-caixa { max-width: 26rem; padding: 1.75rem; border-radius: 16px; background: var(--vz-card-bg, #FFFFFF); text-align: center; border: 1px solid var(--vz-border-color); }

/* Versões e evolução da nota */
body.app-rengaw .rw-lgpd-versao { padding: 0.9rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-lgpd-versao:last-child { border-bottom: 0; padding-bottom: 0; }
body.app-rengaw .rw-lgpd-versao:first-child { padding-top: 0; }
body.app-rengaw .rw-lgpd-versao-numero { display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem; border-radius: 12px; background: #E5F1FB; color: #006ECB; font-family: "Exo 2", sans-serif; font-weight: 700; }
body.app-rengaw .rw-lgpd-hash { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; word-break: break-all; }
body.app-rengaw .rw-lgpd-analises { list-style: none; margin: 0.6rem 0 0 3.6rem; padding: 0; }
body.app-rengaw .rw-lgpd-analises a { display: flex; align-items: center; gap: 0.6rem; padding: 0.3rem 0; color: inherit; text-decoration: none; font-size: 0.85rem; }
body.app-rengaw .rw-lgpd-analises a:hover span:last-child { text-decoration: underline; }
body.app-rengaw .rw-lgpd-evolucao { display: flex; align-items: flex-end; gap: 0.6rem; height: 9rem; list-style: none; margin: 0; padding: 0; overflow-x: auto; }
body.app-rengaw .rw-lgpd-evolucao li { flex: 1 0 2.4rem; max-width: 4rem; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 0.25rem; }
body.app-rengaw .rw-lgpd-evolucao-barra { display: flex; align-items: flex-start; justify-content: center; width: 100%; height: calc(var(--nota) * 1% * 0.8 + 1.2rem); border-radius: 8px 8px 4px 4px; background: #CFE6FB; }
body.app-rengaw .rw-lgpd-evolucao li:last-child .rw-lgpd-evolucao-barra { background: #006ECB; color: #FFFFFF; }
body.app-rengaw .rw-lgpd-evolucao-barra span { font-family: "Exo 2", sans-serif; font-size: 0.8rem; font-weight: 700; padding-top: 0.15rem; }
body.app-rengaw .rw-lgpd-evolucao small { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; color: #4F5D6E; }

/* Achados e opções de ajuste */
body.app-rengaw .rw-lgpd-achado { padding: 1rem 1.1rem; margin-bottom: 0.9rem; border: 1px solid var(--vz-border-color); border-radius: 14px; }
body.app-rengaw .rw-lgpd-achado:last-child { margin-bottom: 0; }
body.app-rengaw .rw-lgpd-achado header { margin-bottom: 0.4rem; }
body.app-rengaw .rw-lgpd-achado-resolvido { opacity: 0.8; }
body.app-rengaw .rw-lgpd-origem { display: inline-flex; align-items: center; gap: 0.25rem; font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.06em; color: #4F5D6E; }
body.app-rengaw .rw-lgpd-trecho { margin: 0 0 0.6rem; padding: 0.55rem 0.85rem; border-radius: 10px; background: #FFF8E6; color: #4A3200; font-style: italic; font-size: 0.875rem; }
body.app-rengaw .rw-lgpd-opcao { height: 100%; padding: 0.8rem 0.9rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-card-bg, #FFFFFF); }
body.app-rengaw .rw-lgpd-opcao-adotada { border-color: #0AB39C; box-shadow: 0 0 0 1px #0AB39C inset; }
body.app-rengaw .rw-lgpd-redacao { white-space: pre-wrap; font-size: 0.85rem; padding: 0.5rem 0.65rem; border-radius: 8px; background: var(--vz-light); }
body.app-rengaw .rw-lgpd-resumo { padding: 0.75rem 1rem; border-radius: 12px; background: #F4F9FE; border: 1px solid #CFE6FB; }
body.app-rengaw .rw-lgpd-atendidos { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-lgpd-atendidos li { display: flex; gap: 0.5rem; padding: 0.4rem 0; border-bottom: 1px solid var(--vz-border-color); min-width: 0; }
body.app-rengaw .rw-lgpd-atendidos li:last-child { border-bottom: 0; }
body.app-rengaw .rw-lgpd-atendidos li > span { min-width: 0; }
body.app-rengaw .rw-lgpd-atendidos i { color: #0AB39C; font-size: 1.1rem; }
body.app-rengaw .rw-lgpd-historico { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-lgpd-historico li { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-lgpd-historico li:last-child { border-bottom: 0; }

/* Texto grifado */
body.app-rengaw .rw-lgpd-texto { white-space: pre-wrap; font-size: 0.9rem; line-height: 1.65; max-height: 75vh; overflow-y: auto; padding-right: 0.5rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-lgpd-grifo { padding: 0.05rem 0.15rem; border-radius: 4px; color: inherit; text-decoration: none; border-bottom: 2px solid transparent; }
body.app-rengaw .rw-lgpd-grifo-alta { background: #FDD9CF; border-bottom-color: #E5533A; }
body.app-rengaw .rw-lgpd-grifo-media { background: #FFEBC2; border-bottom-color: #E0A030; }
body.app-rengaw .rw-lgpd-grifo-baixa { background: #D7EAFB; border-bottom-color: #006ECB; }
body.app-rengaw a.rw-lgpd-grifo:hover, body.app-rengaw a.rw-lgpd-grifo:focus { outline: 2px solid #006ECB; outline-offset: 1px; }

/* Comparação */
body.app-rengaw .rw-lgpd-sobe { color: #066A5C; font-weight: 600; }
body.app-rengaw .rw-lgpd-desce { color: #A0301A; font-weight: 600; }
body.app-rengaw .rw-lgpd-neutro { color: #4F5D6E; }
body.app-rengaw .rw-lgpd-item-comparacao { padding: 0.45rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-lgpd-item-comparacao:last-child { border-bottom: 0; }
body.app-rengaw .rw-lgpd-diff { list-style: none; padding: 0; margin: 0; max-height: 28rem; overflow-y: auto; font-size: 0.85rem; }
body.app-rengaw .rw-lgpd-diff li { padding: 0.3rem 0.6rem 0.3rem 1.6rem; margin-bottom: 0.2rem; border-radius: 6px; position: relative; overflow-wrap: anywhere; }
body.app-rengaw .rw-lgpd-diff li::before { position: absolute; left: 0.55rem; font-family: "IBM Plex Mono", monospace; font-weight: 700; }
body.app-rengaw .rw-lgpd-diff-incluida { background: #E1F5F1; color: #064E44; }
body.app-rengaw .rw-lgpd-diff-incluida::before { content: "+"; }
body.app-rengaw .rw-lgpd-diff-retirada { background: #FDEBE6; color: #7A220F; text-decoration: line-through; text-decoration-color: rgba(122, 34, 15, 0.45); }
body.app-rengaw .rw-lgpd-diff-retirada::before { content: "-"; }

/* Escuro */
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-rotulo, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-contagem dt, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-origem, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-evolucao small, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-neutro { color: #A9B8CA; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-contagem dd, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-indicador h4, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-codigo { color: #E6EEF7; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-nota-boa, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-diff-incluida { background: rgba(10, 179, 156, 0.18); color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-nota-media, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-grav-media { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-nota-baixa, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-grav-alta, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-data-vencida, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-diff-retirada, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-badge-alta { background: rgba(240, 101, 72, 0.18) !important; color: #FF9C85 !important; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-grav-baixa, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-data, [data-bs-theme="dark"] body.app-rengaw .rw-lgpd-versao-numero { background: rgba(0, 144, 244, 0.16); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-sobe { color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-desce { color: #FF9C85; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-trecho { background: rgba(247, 184, 75, 0.12); color: #F3DDB0; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-resumo { background: rgba(0, 144, 244, 0.08); border-color: rgba(0, 144, 244, 0.3); }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-evolucao-barra { background: rgba(0, 144, 244, 0.3); }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-evolucao li:last-child .rw-lgpd-evolucao-barra { background: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-grifo-alta { background: rgba(240, 101, 72, 0.32); border-bottom-color: #FF9C85; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-grifo-media { background: rgba(247, 184, 75, 0.3); border-bottom-color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-grifo-baixa { background: rgba(0, 144, 244, 0.28); border-bottom-color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-lgpd-opcao-adotada { border-color: #6FE0CF; box-shadow: 0 0 0 1px #6FE0CF inset; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-lgpd-analises { margin-left: 0; }
    body.app-rengaw .rw-lgpd-contagem { gap: 0.5rem 1rem; }
}

/* ---------------------------------------------------------------------------------------------------------------
   App Transportadora (2026-10-15, prefixo rw-tsp-): selos de situação, linhas, números, barras, linha do tempo,
   volumes, assinatura, paradas do romaneio, tela do motorista (celular) e rastreio público. Claro e escuro; telas
   estreitas no fim.
   --------------------------------------------------------------------------------------------------------------- */
body.app-rengaw .rw-tsp-numero { font-family: "IBM Plex Mono", monospace; font-weight: 600; color: var(--vz-heading-color, #00336A); white-space: nowrap; }
body.app-rengaw .rw-tsp-mono { font-family: "IBM Plex Mono", monospace; letter-spacing: 0.04em; }
body.app-rengaw .rw-tsp-selo { display: inline-block; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; background: #E8F2FC; color: #00336A; white-space: nowrap; text-decoration: none; }
body.app-rengaw .rw-tsp-selo-aguardando, body.app-rengaw .rw-tsp-selo-col-solicitada, body.app-rengaw .rw-tsp-selo-rom-montagem, body.app-rengaw .rw-tsp-selo-item-pendente, body.app-rengaw .rw-tsp-selo-fat-aberta { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-tsp-selo-transferencia, body.app-rengaw .rw-tsp-selo-em_rota, body.app-rengaw .rw-tsp-selo-rom-em_viagem, body.app-rengaw .rw-tsp-selo-col-agendada { background: #E8F2FC; color: #006ECB; }
body.app-rengaw .rw-tsp-selo-ocorrencia, body.app-rengaw .rw-tsp-selo-em_devolucao, body.app-rengaw .rw-tsp-selo-oc-aberta, body.app-rengaw .rw-tsp-selo-item-ocorrencia, body.app-rengaw .rw-tsp-selo-item-retornou { background: #FFF4DE; color: #7A4A00; }
body.app-rengaw .rw-tsp-selo-entregue, body.app-rengaw .rw-tsp-selo-oc-resolvida, body.app-rengaw .rw-tsp-selo-col-realizada, body.app-rengaw .rw-tsp-selo-rom-concluido, body.app-rengaw .rw-tsp-selo-item-entregue, body.app-rengaw .rw-tsp-selo-item-transferido, body.app-rengaw .rw-tsp-selo-fat-paga { background: #E3F6F2; color: #046B5C; }
body.app-rengaw .rw-tsp-selo-devolvido, body.app-rengaw .rw-tsp-selo-indenizado, body.app-rengaw .rw-tsp-selo-cancelado, body.app-rengaw .rw-tsp-selo-col-cancelada, body.app-rengaw .rw-tsp-selo-rom-cancelado, body.app-rengaw .rw-tsp-selo-fat-cancelada { background: #FDECE8; color: #9A2A12; }
body.app-rengaw .rw-tsp-prazo { white-space: nowrap; }
body.app-rengaw .rw-tsp-prazo-atraso { color: #C0341A; font-weight: 600; }
body.app-rengaw .rw-tsp-prazo-atraso i { margin-right: 0.2rem; }
body.app-rengaw .rw-tsp-lista { display: flex; flex-direction: column; gap: 0.25rem; }
body.app-rengaw .rw-tsp-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0.5rem; border-bottom: 1px solid var(--vz-border-color); color: inherit; text-decoration: none; border-radius: 10px; }
body.app-rengaw .rw-tsp-linha:hover, body.app-rengaw .rw-tsp-linha:focus-visible { background: var(--vz-light, #F4F7FB); }
body.app-rengaw .rw-tsp-linha-icone { flex: 0 0 2.25rem; height: 2.25rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: #E8F2FC; color: #006ECB; font-size: 1.1rem; }
body.app-rengaw .rw-tsp-ic-alerta { background: #FFF4DE; color: #7A4A00; }
body.app-rengaw .rw-tsp-linha-corpo { flex: 1 1 auto; min-width: 0; }
body.app-rengaw .rw-tsp-linha-titulo { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-tsp-linha-detalhe { display: block; font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tsp-linha-fim { flex: 0 0 auto; font-size: 0.875rem; }
body.app-rengaw .rw-tsp-atalho { flex-direction: row; align-items: center; gap: 0.75rem; text-decoration: none; color: inherit; height: 100%; }
body.app-rengaw .rw-tsp-atalho:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-tsp-numero-card { text-decoration: none; color: inherit; height: 100%; }
body.app-rengaw .rw-tsp-numero-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tsp-numero-valor { font-family: "Exo 2", sans-serif; font-size: 1.75rem; font-weight: 700; color: var(--vz-heading-color, #00336A); line-height: 1.2; }
body.app-rengaw .rw-tsp-numero-menor { font-size: 1.15rem; }
body.app-rengaw .rw-tsp-numero-alerta .rw-tsp-numero-valor { color: #C0341A; }
body.app-rengaw .rw-tsp-passos { padding-left: 1.2rem; margin-bottom: 1rem; }
body.app-rengaw .rw-tsp-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-tsp-barras { display: flex; align-items: flex-end; gap: 0.5rem; height: 9rem; }
body.app-rengaw .rw-tsp-barras-col { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; height: 100%; min-width: 0; }
body.app-rengaw .rw-tsp-barras-par { flex: 1 1 auto; display: flex; align-items: flex-end; gap: 3px; width: 100%; justify-content: center; }
body.app-rengaw .rw-tsp-barra-c, body.app-rengaw .rw-tsp-barra-e { width: 40%; max-width: 1.1rem; min-height: 2px; border-radius: 4px 4px 0 0; }
body.app-rengaw .rw-tsp-barra-c, body.app-rengaw .rw-tsp-legenda-c { background: #006ECB; }
body.app-rengaw .rw-tsp-barra-e, body.app-rengaw .rw-tsp-legenda-e { background: #0AB39C; }
body.app-rengaw .rw-tsp-barras-rotulo { font-size: 0.7rem; color: var(--vz-secondary-color); margin-top: 0.25rem; white-space: nowrap; }
body.app-rengaw .rw-tsp-legenda { display: inline-block; width: 0.7rem; height: 0.7rem; border-radius: 3px; margin-right: 0.3rem; vertical-align: -1px; }
body.app-rengaw .rw-tsp-resumo { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-tsp-resumo li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.4rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tsp-resumo li:last-child { border-bottom: 0; }
body.app-rengaw .rw-tsp-resumo strong { white-space: nowrap; }
body.app-rengaw .rw-tsp-cabeca { display: flex; gap: 1.5rem; align-items: flex-start; }
body.app-rengaw .rw-tsp-cabeca-dados { flex: 1 1 auto; min-width: 0; }
body.app-rengaw .rw-tsp-cabeca-numero { font-family: "IBM Plex Mono", monospace; font-size: 1.6rem; font-weight: 600; letter-spacing: 0.06em; margin-bottom: 0.25rem; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-tsp-qr { flex: 0 0 auto; margin: 0; text-align: center; padding: 0.5rem; background: #FFFFFF; border: 1px solid #DCE3EC; border-radius: 12px; }
body.app-rengaw .rw-tsp-qr svg { width: 120px; height: 120px; display: block; }
body.app-rengaw .rw-tsp-qr figcaption { font-size: 0.7rem; color: #4F5D6E; margin-top: 0.25rem; }
body.app-rengaw .rw-tsp-qr figcaption a { color: #006ECB; }
body.app-rengaw .rw-tsp-total { font-family: "Exo 2", sans-serif; font-size: 1.9rem; font-weight: 700; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-tsp-tempo { list-style: none; padding: 0; margin: 0 0 0.5rem; }
body.app-rengaw .rw-tsp-tempo-item { position: relative; padding: 0 0 0.9rem 1.5rem; border-left: 2px solid var(--vz-border-color); margin-left: 0.4rem; }
body.app-rengaw .rw-tsp-tempo-item:last-child { padding-bottom: 0.2rem; }
body.app-rengaw .rw-tsp-tempo-ponto { position: absolute; left: -0.45rem; top: 0.15rem; width: 0.8rem; height: 0.8rem; border-radius: 50%; background: #FFFFFF; border: 2px solid #006ECB; }
body.app-rengaw .rw-tsp-tempo-entregue .rw-tsp-tempo-ponto { background: #0AB39C; border-color: #0AB39C; }
body.app-rengaw .rw-tsp-tempo-ocorrencia .rw-tsp-tempo-ponto, body.app-rengaw .rw-tsp-tempo-devolucao .rw-tsp-tempo-ponto, body.app-rengaw .rw-tsp-tempo-retorno .rw-tsp-tempo-ponto { border-color: #F7B84B; background: #F7B84B; }
body.app-rengaw .rw-tsp-tempo-cancelado .rw-tsp-tempo-ponto, body.app-rengaw .rw-tsp-tempo-indenizado .rw-tsp-tempo-ponto { border-color: #F06548; }
body.app-rengaw .rw-tsp-tempo-nota .rw-tsp-tempo-ponto, body.app-rengaw .rw-tsp-tempo-dados .rw-tsp-tempo-ponto { border-color: #5D6A79; }
body.app-rengaw .rw-tsp-tempo-quando { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.03em; color: var(--vz-secondary-color); margin: 0; text-transform: uppercase; }
body.app-rengaw .rw-tsp-tempo-texto { margin: 0.1rem 0 0; }
body.app-rengaw .rw-tsp-tempo-quem { font-size: 0.8125rem; color: var(--vz-secondary-color); margin: 0.1rem 0 0; }
body.app-rengaw .rw-tsp-filtros { min-width: 18rem; }
body.app-rengaw .rw-tsp-volume { padding-bottom: 0.75rem; margin-bottom: 0.75rem; border-bottom: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-tsp-carga { font-family: "IBM Plex Mono", monospace; font-size: 0.8rem; color: var(--vz-heading-color, #00336A); background: var(--vz-light, #F4F7FB); border-radius: 10px; padding: 0.6rem 0.8rem; }
body.app-rengaw .rw-tsp-assinatura canvas { display: block; width: 100%; max-width: 32rem; aspect-ratio: 400 / 150; background: #FFFFFF; border: 1px dashed #A9B7C8; border-radius: 12px; touch-action: none; cursor: crosshair; }
body.app-rengaw .rw-tsp-local .form-check { margin-bottom: 0.25rem; }
body.app-rengaw .rw-tsp-celular { max-width: 40rem; margin: 0 auto; }
body.app-rengaw .rw-tsp-celular .btn-lg { padding-top: 0.85rem; padding-bottom: 0.85rem; }
body.app-rengaw .rw-tsp-camera[hidden] { display: none; }
body.app-rengaw .rw-tsp-trilho { height: 0.65rem; background: #EEF1F5; border-radius: 999px; overflow: hidden; margin-top: 0.3rem; }
body.app-rengaw .rw-tsp-trilho > span { display: block; height: 100%; background: #006ECB; border-radius: 999px; }
body.app-rengaw .rw-tsp-paradas { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-tsp-parada { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.7rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tsp-parada:last-child { border-bottom: 0; }
body.app-rengaw .rw-tsp-parada-n { flex: 0 0 2rem; height: 2rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #006ECB; color: #FFFFFF; font-weight: 700; font-family: "Exo 2", sans-serif; }
body.app-rengaw .rw-tsp-parada-corpo { flex: 1 1 auto; min-width: 0; }
body.app-rengaw .rw-tsp-parada-entregue .rw-tsp-parada-n { background: #0AB39C; }
body.app-rengaw .rw-tsp-parada-ocorrencia .rw-tsp-parada-n, body.app-rengaw .rw-tsp-parada-retornou .rw-tsp-parada-n { background: #F7B84B; color: #061C3D; }
body.app-rengaw .rw-tsp-escolha { max-height: 22rem; overflow-y: auto; border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.5rem 0.75rem; }
body.app-rengaw .rw-tsp-escolha .form-check { padding-top: 0.3rem; padding-bottom: 0.3rem; border-bottom: 1px solid var(--vz-border-color); margin-bottom: 0; }
body.app-rengaw .rw-tsp-escolha .form-check:last-child { border-bottom: 0; }
body.app-rengaw .rw-tsp-barra-h { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.45rem; }
body.app-rengaw .rw-tsp-barra-h-rotulo { flex: 0 0 9rem; font-size: 0.85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-tsp-barra-h-trilho { flex: 1 1 auto; height: 0.6rem; background: #EEF1F5; border-radius: 999px; overflow: hidden; }
body.app-rengaw .rw-tsp-barra-h-trilho > span { display: block; height: 100%; background: #006ECB; border-radius: 999px; }
body.app-rengaw .rw-tsp-barra-h-valor { flex: 0 0 auto; font-weight: 600; font-size: 0.85rem; white-space: nowrap; }
body.app-rengaw .rw-tsp-url { font-family: "IBM Plex Mono", monospace; font-size: 0.8rem; word-break: break-all; cursor: copy; border-bottom: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-tsp-copiado { color: #0AB39C; border-bottom-color: #0AB39C; }
body.app-rengaw .rw-tsp-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.app-rengaw .rw-tsp-publico-sub { color: rgba(255, 255, 255, 0.82); margin-bottom: 0; }
body.app-rengaw .rw-tsp-etapas { list-style: none; padding: 0; margin: 0.75rem 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.25rem; }
body.app-rengaw .rw-tsp-etapas li { position: relative; text-align: center; font-size: 0.75rem; color: var(--vz-secondary-color); padding-top: 2.4rem; }
body.app-rengaw .rw-tsp-etapas li i { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 2rem; height: 2rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #EEF1F5; color: #4F5D6E; font-size: 1rem; z-index: 1; }
body.app-rengaw .rw-tsp-etapas li::before { content: ""; position: absolute; top: 1rem; left: -50%; right: 50%; height: 2px; background: #DCE3EC; }
body.app-rengaw .rw-tsp-etapas li:first-child::before { display: none; }
body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-feita i { background: #006ECB; color: #FFFFFF; }
body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-feita::before, body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-atual::before { background: #006ECB; }
body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-atual i { background: #FFFFFF; color: #006ECB; box-shadow: 0 0 0 2px #006ECB inset; }
body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-fim i { background: #0AB39C; }
body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-feita span, body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-atual span { color: var(--vz-heading-color, #00336A); font-weight: 600; }
body.app-rengaw .rw-tsp-situacao-publica { display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; align-items: baseline; background: #E8F2FC; color: #00336A; border-radius: 12px; padding: 0.75rem 1rem; }
body.app-rengaw .rw-tsp-situacao-entregue { background: #E3F6F2; color: #046B5C; }
body.app-rengaw .rw-tsp-situacao-ocorrencia, body.app-rengaw .rw-tsp-situacao-em_devolucao { background: #FFF4DE; color: #7A4A00; }
body.app-rengaw .rw-tsp-situacao-devolvido, body.app-rengaw .rw-tsp-situacao-indenizado { background: #FDECE8; color: #9A2A12; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-tsp-cabeca { flex-direction: column; }
    body.app-rengaw .rw-tsp-qr { align-self: center; }
    body.app-rengaw .rw-tsp-cabeca-numero { font-size: 1.3rem; }
    body.app-rengaw .rw-tsp-linha-fim { display: none; }
    body.app-rengaw .rw-tsp-barra-h-rotulo { flex-basis: 6rem; }
    body.app-rengaw .rw-tsp-barras { gap: 0.25rem; }
    body.app-rengaw .rw-tsp-etapas li { font-size: 0.68rem; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-numero, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-numero-valor, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-cabeca-numero, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-total { color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-numero-alerta .rw-tsp-numero-valor, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-prazo-atraso { color: #FF8F73; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-numero-rotulo, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-tempo-quando, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-tempo-quem, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-linha-detalhe, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-barras-rotulo { color: #A9B7C8; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-aguardando, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-col-solicitada, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-rom-montagem, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-item-pendente, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-fat-aberta { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-ocorrencia, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-em_devolucao, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-oc-aberta, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-item-ocorrencia, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-item-retornou { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-entregue, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-oc-resolvida, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-col-realizada, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-rom-concluido, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-item-entregue, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-item-transferido, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-fat-paga { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-devolvido, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-indenizado, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-cancelado, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-col-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-rom-cancelado, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-selo-fat-cancelada { background: rgba(240, 101, 72, 0.18); color: #FF9E86; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-linha-icone { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-ic-alerta { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-linha:hover, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-linha:focus-visible { background: rgba(255, 255, 255, 0.05); }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-barra-c, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-legenda-c, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-trilho > span, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-barra-h-trilho > span, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-parada-n { background: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-trilho, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-barra-h-trilho { background: rgba(255, 255, 255, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-tempo-ponto { background: #0B2447; border-color: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-carga { background: rgba(255, 255, 255, 0.05); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-assinatura canvas { background: #0B2447; border-color: #4F6178; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-etapas li i { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-etapas li::before { background: #4F6178; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-feita i { background: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-feita::before, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-atual::before { background: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-atual i { background: #061C3D; color: #8FCBFF; box-shadow: 0 0 0 2px #0090F4 inset; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-feita span, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-etapas .rw-tsp-etapa-atual span { color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-situacao-publica { background: rgba(0, 144, 244, 0.15); color: #C9E6FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-situacao-entregue { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-situacao-ocorrencia, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-situacao-em_devolucao { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-tsp-situacao-devolvido, [data-bs-theme="dark"] body.app-rengaw .rw-tsp-situacao-indenizado { background: rgba(240, 101, 72, 0.18); color: #FF9E86; }

/* ---------------------------------------------------------------- Análise de edital (2026-10-15, plano 097) */
body.app-rengaw .rw-edi-privado { display: flex; align-items: center; gap: 0.5rem; color: var(--vz-secondary-color); font-size: 0.875rem; }
body.app-rengaw .rw-edi-privado i { color: var(--vz-primary); }
body.app-rengaw .rw-edi-sub { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-edi-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-edi-numero { font-family: "Exo 2", sans-serif; font-size: 2.25rem; font-weight: 700; line-height: 1.1; color: var(--vz-primary); margin-bottom: 0.25rem; }
body.app-rengaw .rw-edi-numero small { font-size: 1rem; font-weight: 600; }
body.app-rengaw .rw-edi-numero-menor { font-size: 1.5rem; }
body.app-rengaw .rw-edi-numero.rw-edi-alerta { color: #B42318; }
body.app-rengaw .rw-edi-aviso-ia, body.app-rengaw .rw-edi-aviso-oficial { display: flex; align-items: flex-start; gap: 0.5rem; }
body.app-rengaw .rw-edi-aviso-ia > i, body.app-rengaw .rw-edi-aviso-oficial > i { font-size: 1.1rem; line-height: 1.3; }
body.app-rengaw .rw-edi-aviso-oficial { background: var(--vz-light); border: 1px solid var(--vz-border-color); color: var(--vz-body-color); }
body.app-rengaw .rw-edi-envio-nota { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.8125rem; color: var(--vz-secondary-color); background: var(--vz-light); border-radius: 10px; padding: 0.625rem 0.75rem; }
body.app-rengaw .rw-edi-envio-nota i { color: var(--vz-primary); font-size: 1rem; }
body.app-rengaw form > .rw-edi-espera:not([hidden]) { display: block; margin-top: 1rem; }
body.app-rengaw .rw-edi-vazio-icone { font-size: 2.5rem; color: var(--vz-primary); opacity: 0.6; display: block; margin-bottom: 0.5rem; }
body.app-rengaw .rw-edi-selo-pendente, body.app-rengaw .rw-edi-texto-pendente { color: #8A5200; }
body.app-rengaw .rw-edi-item-concurso { display: flex; align-items: center; gap: 0.75rem; }
body.app-rengaw .rw-edi-pct { font-family: "Exo 2", sans-serif; font-weight: 700; color: var(--vz-primary); }
body.app-rengaw .rw-edi-barra { display: block; height: 6px; border-radius: 999px; background: var(--vz-light); overflow: hidden; }
body.app-rengaw .rw-edi-barra > span { display: block; height: 100%; background: var(--vz-primary); border-radius: 999px; }
body.app-rengaw .rw-edi-barra-curta { width: 6rem; }
body.app-rengaw .rw-edi-datas li { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-edi-datas li:first-child { border-top: 0; }
body.app-rengaw .rw-edi-dia { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; border-radius: 12px; background: var(--vz-light); border: 1px solid var(--vz-border-color); line-height: 1.05; }
body.app-rengaw .rw-edi-dia strong { font-family: "Exo 2", sans-serif; font-size: 1.25rem; color: var(--vz-primary); }
body.app-rengaw .rw-edi-dia small { font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-edi-linha-tempo > li { display: flex; align-items: flex-start; gap: 0.875rem; padding: 0.875rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-edi-linha-tempo > li:first-child { border-top: 0; }
body.app-rengaw .rw-edi-linha-tempo > li.perto .rw-edi-dia { background: var(--vz-primary); border-color: var(--vz-primary); }
body.app-rengaw .rw-edi-linha-tempo > li.perto .rw-edi-dia strong, body.app-rengaw .rw-edi-linha-tempo > li.perto .rw-edi-dia small { color: #FFFFFF; }
body.app-rengaw .rw-edi-linha-tempo > li.passou { opacity: 0.6; }
body.app-rengaw .rw-edi-trecho { font-size: 0.8125rem; color: var(--vz-secondary-color); border-left: 2px solid var(--vz-border-color); padding-left: 0.625rem; margin: 0.375rem 0 0; }
body.app-rengaw .rw-edi-trecho > span:first-child { font-style: italic; }
body.app-rengaw .rw-edi-pagina { display: inline-block; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--vz-primary); white-space: nowrap; }
body.app-rengaw .rw-edi-gravidade { display: inline-block; flex: 0 0 auto; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; border-radius: 6px; padding: 0.125rem 0.5rem; }
body.app-rengaw .rw-edi-gravidade.alta { background: #FDE8E5; color: #B42318; }
body.app-rengaw .rw-edi-gravidade.media { background: #FDF1DC; color: #8A5200; }
body.app-rengaw .rw-edi-gravidade.baixa { background: var(--vz-light); color: var(--vz-secondary-color); }
body.app-rengaw .rw-edi-pontos > li { padding: 0.875rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-edi-pontos > li:first-child { border-top: 0; padding-top: 0; }
body.app-rengaw .rw-edi-ponto-titulo { font-weight: 600; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-edi-ponto.visto { opacity: 0.6; }
body.app-rengaw .rw-edi-ponto.visto .rw-edi-ponto-titulo { text-decoration: line-through; }
body.app-rengaw .rw-edi-etapas { list-style: none; padding: 0.25rem 1rem 0.75rem; }
body.app-rengaw .rw-edi-etapas > li { padding: 0.5rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-edi-etapas > li:first-child { border-top: 0; }
body.app-rengaw .rw-edi-cargo { padding: 0.875rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-edi-cargo:first-child { border-top: 0; padding-top: 0; }
body.app-rengaw .rw-edi-cargo.interesse { background: rgba(0, 110, 203, 0.05); border-radius: 12px; padding: 0.875rem; border: 1px solid rgba(0, 110, 203, 0.25); }
body.app-rengaw .rw-edi-cargo-nome { font-family: "Exo 2", sans-serif; font-weight: 600; font-size: 1rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-edi-checklist li { display: flex; gap: 0.5rem; align-items: flex-start; padding: 0.375rem 0; }
body.app-rengaw .rw-edi-checklist li > i { font-size: 1.1rem; line-height: 1.3; }
body.app-rengaw .rw-edi-checklist li.sim > i { color: #067647; }
body.app-rengaw .rw-edi-checklist li.nao > i { color: #8A5200; }
body.app-rengaw .rw-edi-progresso { min-width: 7rem; }
body.app-rengaw .rw-edi-topicos > li { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-edi-topicos > li:first-child { border-top: 0; }
body.app-rengaw .rw-edi-topico-texto { flex: 1 1 auto; min-width: 0; }
body.app-rengaw .rw-edi-topico-texto.estudado { color: var(--vz-secondary-color); }
body.app-rengaw .rw-edi-marcas { display: flex; gap: 0.375rem; flex: 0 0 auto; }
body.app-rengaw .rw-edi-marca { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.75rem; border: 1px solid var(--vz-border-color); background: transparent; color: var(--vz-secondary-color); border-radius: 999px; padding: 0.1875rem 0.625rem; cursor: pointer; }
body.app-rengaw .rw-edi-marca:hover { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-edi-marca.ativa { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-edi-marca:focus-visible { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-edi-texto-plano { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; }
body.app-rengaw .rw-edi-botao-linha { padding-top: 1.875rem; }
body.app-rengaw .rw-edi-sugestoes { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem; }
body.app-rengaw .rw-edi-pergunta { display: flex; gap: 0.5rem; font-family: "Exo 2", sans-serif; font-weight: 600; }
body.app-rengaw .rw-edi-pergunta i { color: var(--vz-primary); }
body.app-rengaw .rw-edi-nao-encontrada { color: #8A5200; }
body.app-rengaw .rw-edi-mudancas > li { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.625rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-edi-mudancas > li:first-child { border-top: 0; }
body.app-rengaw .rw-edi-tipo-mudanca { flex: 0 0 auto; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; border-radius: 6px; padding: 0.125rem 0.5rem; }
body.app-rengaw .rw-edi-tipo-mudanca.nova { background: #E3F4EC; color: #067647; }
body.app-rengaw .rw-edi-tipo-mudanca.alterada { background: #E6F1FB; color: #00336A; }
body.app-rengaw .rw-edi-tipo-mudanca.removida { background: #FDE8E5; color: #B42318; }
body.app-rengaw .rw-edi-antes del { color: #B42318; }
body.app-rengaw .rw-edi-depois { color: #067647; font-weight: 600; }
@media (max-width: 767.98px) {
    body.app-rengaw .rw-edi-botao-linha { padding-top: 0; }
    body.app-rengaw .rw-edi-topicos > li { flex-wrap: wrap; }
    body.app-rengaw .rw-edi-marca span { display: none; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-edi-numero.rw-edi-alerta { color: #FF9E86; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-selo-pendente, [data-bs-theme="dark"] body.app-rengaw .rw-edi-texto-pendente, [data-bs-theme="dark"] body.app-rengaw .rw-edi-nao-encontrada { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-gravidade.alta { background: rgba(240, 101, 72, 0.18); color: #FF9E86; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-gravidade.media { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-cargo.interesse { background: rgba(0, 144, 244, 0.08); border-color: rgba(0, 144, 244, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-checklist li.sim > i { color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-checklist li.nao > i { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-marca.ativa, [data-bs-theme="dark"] body.app-rengaw .rw-edi-linha-tempo > li.perto .rw-edi-dia { background: #0090F4; border-color: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-linha-tempo > li.perto .rw-edi-dia strong, [data-bs-theme="dark"] body.app-rengaw .rw-edi-linha-tempo > li.perto .rw-edi-dia small { color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-tipo-mudanca.nova { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-tipo-mudanca.alterada { background: rgba(0, 144, 244, 0.18); color: #C9E6FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-tipo-mudanca.removida { background: rgba(240, 101, 72, 0.18); color: #FF9E86; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-antes del { color: #FF9E86; }
[data-bs-theme="dark"] body.app-rengaw .rw-edi-depois { color: #5FD9C6; }

/* ==========================================================================
   App Plano Vivo (2026-10-15, prefixo rw-pv-): diagnóstico com FOFA, objetivos e metas SMART, desdobramento,
   check-in semanal pelo celular, saúde do plano, revisões e o plano de uma página. Sem borda lateral colorida:
   a cor vai em pontos, selos e barras.
   ========================================================================== */
body.app-rengaw .rw-pv-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; margin-bottom: 0.5rem; }
body.app-rengaw .rw-pv-situacao { display: inline-flex; align-items: center; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; border-radius: 6px; padding: 0.125rem 0.5rem; background: var(--vz-light); color: var(--vz-secondary-color); }
body.app-rengaw .rw-pv-situacao.ativo { background: #E3F4EC; color: #067647; }
body.app-rengaw .rw-pv-situacao.rascunho { background: #E6F1FB; color: #00336A; }
body.app-rengaw .rw-pv-situacao.encerrado { background: var(--vz-light); color: var(--vz-secondary-color); }
body.app-rengaw .rw-pv-passos { padding-left: 1.2rem; margin-bottom: 1.25rem; }
body.app-rengaw .rw-pv-passos li { margin-bottom: 0.4rem; }
body.app-rengaw .rw-pv-trilha { list-style: none; padding: 0; margin: 0 0 0.75rem; counter-reset: trilha; }
body.app-rengaw .rw-pv-trilha li { counter-increment: trilha; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem; padding: 0.4rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pv-trilha li:first-child { border-top: 0; }
body.app-rengaw .rw-pv-trilha li::before { content: counter(trilha); flex: 0 0 1.5rem; height: 1.5rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 600; background: var(--vz-light); color: var(--vz-secondary-color); }
body.app-rengaw .rw-pv-trilha li.feito::before { content: "\2713"; background: #0AB39C; color: #FFFFFF; }
body.app-rengaw .rw-pv-saude { --rw-pv-cor: #0AB39C; width: 8.5rem; height: 8.5rem; margin: 0 auto; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: conic-gradient(var(--rw-pv-cor) calc(var(--rw-pv-pct) * 1%), var(--vz-light) 0); position: relative; }
body.app-rengaw .rw-pv-saude::before { content: ""; position: absolute; inset: 0.75rem; border-radius: 50%; background: var(--vz-card-bg); }
body.app-rengaw .rw-pv-saude > span { position: relative; }
body.app-rengaw .rw-pv-saude.medio { --rw-pv-cor: #F7B84B; }
body.app-rengaw .rw-pv-saude.ruim { --rw-pv-cor: #F06548; }
body.app-rengaw .rw-pv-saude-numero { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 2.25rem; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-pv-saude-de { font-size: 0.85rem; color: var(--vz-secondary-color); margin-top: 0.9rem; }
body.app-rengaw .rw-pv-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: 1rem; }
body.app-rengaw .rw-pv-numeros > div { display: flex; flex-direction: column; }
body.app-rengaw .rw-pv-numero { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.6rem; line-height: 1.1; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-pv-numero.rw-pv-alerta { color: #B42318; }
body.app-rengaw .rw-pv-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-pv-objetivos > li { padding: 0.875rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pv-objetivos > li:first-child { border-top: 0; }
body.app-rengaw .card-body .rw-pv-objetivos > li { padding-left: 0; padding-right: 0; }
body.app-rengaw .rw-pv-pct { font-family: "Exo 2", sans-serif; font-weight: 700; min-width: 3rem; text-align: right; }
body.app-rengaw .rw-pv-sinal { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; font-weight: 600; border-radius: 999px; padding: 0.125rem 0.625rem; background: var(--vz-light); color: var(--vz-secondary-color); white-space: nowrap; }
body.app-rengaw .rw-pv-ponto { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: currentColor; display: inline-block; }
body.app-rengaw .rw-pv-sinal.no_rumo, body.app-rengaw .rw-pv-sinal.concluido { background: #E3F4EC; color: #067647; }
body.app-rengaw .rw-pv-sinal.atencao, body.app-rengaw .rw-pv-sinal.em_risco { background: #FEF4E2; color: #8A5200; }
body.app-rengaw .rw-pv-sinal.atrasado, body.app-rengaw .rw-pv-sinal.travado { background: #FDE8E5; color: #B42318; }
body.app-rengaw .rw-pv-barra { position: relative; height: 0.5rem; border-radius: 999px; background: var(--vz-border-color); }
body.app-rengaw .rw-pv-barra-cheia { display: block; height: 100%; border-radius: 999px; background: var(--vz-primary); max-width: 100%; }
body.app-rengaw .rw-pv-barra-esperado { position: absolute; top: -0.25rem; width: 2px; height: 1rem; background: #00336A; border-radius: 1px; transform: translateX(-1px); }
body.app-rengaw .rw-pv-comemorar li, body.app-rengaw .rw-pv-agenda li { padding: 0.3rem 0; }
body.app-rengaw .rw-pv-comemorar i { color: #C2410C; }
body.app-rengaw .rw-pv-data { display: inline-block; min-width: 4.5rem; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-pv-lista > li { padding: 0.45rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pv-lista > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-pv-tipo { display: inline-block; font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--vz-primary); background: rgba(0, 110, 203, 0.08); border-radius: 4px; padding: 0.05rem 0.4rem; margin-right: 0.25rem; }
body.app-rengaw .rw-pv-etapas li { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pv-etapas li:first-child { border-top: 0; }
body.app-rengaw .rw-pv-etapas a { display: flex; align-items: center; gap: 0.625rem; padding: 0.625rem 1rem; color: var(--vz-body-color); }
body.app-rengaw .rw-pv-etapas li.atual a { background: rgba(0, 110, 203, 0.07); color: var(--vz-primary); font-weight: 600; }
body.app-rengaw .rw-pv-etapas li:first-child.atual a { border-radius: 16px 16px 0 0; }
body.app-rengaw .rw-pv-etapas li:last-child.atual a { border-radius: 0 0 16px 16px; }
body.app-rengaw .rw-pv-etapa-num { flex: 0 0 1.75rem; height: 1.75rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 600; background: var(--vz-light); color: var(--vz-secondary-color); }
body.app-rengaw .rw-pv-etapas li.feito .rw-pv-etapa-num { background: #E3F4EC; color: #067647; }
body.app-rengaw .rw-pv-etapas li.atual .rw-pv-etapa-num { background: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-pv-ia-ok { color: #067647; }
body.app-rengaw .rw-pv-ia-off { background: var(--vz-card-bg); border: 1px solid var(--vz-border-color); color: var(--vz-body-color); }
body.app-rengaw .rw-pv-ia-off i { color: var(--vz-secondary-color); }
body.app-rengaw .rw-pv-quadro .card-title::before { content: ""; display: inline-block; width: 0.625rem; height: 0.625rem; border-radius: 3px; margin-right: 0.5rem; vertical-align: 0.05rem; background: #0AB39C; }
body.app-rengaw .rw-pv-quadro.fraqueza .card-title::before { background: #F7B84B; }
body.app-rengaw .rw-pv-quadro.oportunidade .card-title::before { background: #0090F4; }
body.app-rengaw .rw-pv-quadro.ameaca .card-title::before { background: #F06548; }
body.app-rengaw .rw-pv-item { display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pv-item:last-child { border-bottom: 0; }
body.app-rengaw .rw-pv-item.sugerido { background: rgba(0, 110, 203, 0.05); border-radius: 10px; padding: 0.5rem; border: 1px dashed rgba(0, 110, 203, 0.35); margin-bottom: 0.375rem; }
body.app-rengaw .rw-pv-selo-sugerido { display: inline-flex; align-items: center; font-family: "IBM Plex Mono", monospace; font-size: 0.62rem; letter-spacing: 0.05em; text-transform: uppercase; color: #00336A; background: #E6F1FB; border-radius: 4px; padding: 0.05rem 0.4rem; margin-right: 0.25rem; }
body.app-rengaw .rw-pv-item-acoes { display: flex; gap: 0.25rem; flex: 0 0 auto; }
body.app-rengaw .rw-pv-apoio summary { font-size: 0.8rem; color: var(--vz-primary); cursor: pointer; }
body.app-rengaw .rw-pv-apoio ul { padding-left: 1.1rem; margin-top: 0.375rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pv-pergunta { display: flex; gap: 0.5rem; font-family: "Exo 2", sans-serif; font-weight: 600; line-height: 1.35; }
body.app-rengaw .rw-pv-pergunta i { color: var(--vz-primary); }
body.app-rengaw .rw-pv-objetivo.sugerido { border-style: dashed; border-color: rgba(0, 110, 203, 0.45); }
body.app-rengaw .rw-pv-metas > li { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pv-metas > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-pv-metas .rw-pv-barra { margin-top: 0.375rem; }
body.app-rengaw .rw-pv-smart { display: inline-flex; gap: 0.2rem; }
body.app-rengaw .rw-pv-letra { width: 1.4rem; height: 1.4rem; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; font-weight: 700; border: 1px solid var(--vz-border-color); color: var(--vz-secondary-color); flex: 0 0 auto; }
body.app-rengaw .rw-pv-letra.ok { background: #067647; border-color: #067647; color: #FFFFFF; }
body.app-rengaw .rw-pv-smart-lista li { display: flex; gap: 0.625rem; align-items: flex-start; padding: 0.375rem 0; }
body.app-rengaw .rw-pv-grafico { width: 100%; height: auto; max-height: 9rem; margin-bottom: 0.75rem; }
body.app-rengaw .rw-pv-grafico-alvo { stroke: #0AB39C; stroke-width: 1.5; stroke-dasharray: 4 4; }
body.app-rengaw .rw-pv-grafico-linha { fill: none; stroke: var(--vz-primary); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
body.app-rengaw .rw-pv-grafico-ponto { fill: var(--vz-primary); }
body.app-rengaw .rw-pv-sugeridas .rw-pv-item.sugerido { margin: 0.5rem 1rem; }
body.app-rengaw .rw-pv-quadro-kanban { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(15rem, 1fr); gap: 1rem; overflow-x: auto; padding-bottom: 0.5rem; margin-bottom: 1rem; }
body.app-rengaw .rw-pv-coluna { background: var(--vz-light); border-radius: 16px; padding: 0.75rem; min-height: 8rem; }
body.app-rengaw .rw-pv-coluna-titulo { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: #4F5D6E; display: flex; justify-content: space-between; margin-bottom: 0.75rem; }
body.app-rengaw .rw-pv-coluna-n { background: var(--vz-card-bg); border-radius: 999px; padding: 0 0.5rem; }
body.app-rengaw .rw-pv-cartao { background: var(--vz-card-bg); border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem; margin-bottom: 0.625rem; }
body.app-rengaw .rw-pv-atrasada { color: #B42318; font-weight: 600; }
body.app-rengaw .rw-pv-tarefas > li { padding: 0.5rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pv-tarefas > li:first-child { border-top: 0; }
body.app-rengaw .rw-pv-tarefas > li.feita .rw-pv-tarefa-titulo { text-decoration: line-through; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pv-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
body.app-rengaw .rw-pv-ci-item { border: 1px solid var(--vz-border-color); border-radius: 16px; padding: 0.875rem 1rem; margin: 0 0 0.875rem; min-width: 0; }
body.app-rengaw .rw-pv-ci-titulo { float: none; width: auto; font-size: 1rem; font-weight: 600; margin-bottom: 0.25rem; line-height: 1.35; }
body.app-rengaw .rw-pv-status { display: flex; flex-wrap: wrap; gap: 0.375rem; }
body.app-rengaw .rw-pv-status .btn { border: 1px solid var(--vz-border-color); background: transparent; color: var(--vz-body-color); border-radius: 999px; padding: 0.375rem 0.875rem; min-height: 2.25rem; }
body.app-rengaw .rw-pv-status .btn-check:checked + .rw-pv-status-no_rumo { background: #067647; border-color: #067647; color: #FFFFFF; }
body.app-rengaw .rw-pv-status .btn-check:checked + .rw-pv-status-em_risco { background: #F7B84B; border-color: #F7B84B; color: #061C3D; }
body.app-rengaw .rw-pv-status .btn-check:checked + .rw-pv-status-travado { background: #B42318; border-color: #B42318; color: #FFFFFF; }
body.app-rengaw .rw-pv-status .btn-check:focus-visible + .btn { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-pv-range { height: 2rem; }
body.app-rengaw .rw-pv-sequencia { display: inline-flex; width: 3rem; height: 3rem; border-radius: 50%; align-items: center; justify-content: center; background: #FEF4E2; color: #C2410C; font-size: 1.5rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-pv-publico .rw-menu-capa { margin-bottom: 1rem; }
body.app-rengaw .rw-pv-publico-sub { color: #C9E6FF; margin: 0.25rem 0 0; font-size: 0.875rem; }
body.app-rengaw .rw-pv-publico-icone { font-size: 2.75rem; color: var(--vz-secondary-color); display: block; margin-bottom: 0.5rem; }
body.app-rengaw .rw-pv-publico-icone.ok { color: #0AB39C; }
body.app-rengaw .rw-pv-analise { display: flex; gap: 0.625rem; background: rgba(0, 110, 203, 0.06); border-radius: 12px; padding: 0.75rem; }
body.app-rengaw .rw-pv-analise > i { color: var(--vz-primary); font-size: 1.2rem; }
body.app-rengaw .rw-pv-ajustes > li { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: flex-start; padding: 0.75rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pv-ajustes > li:first-child { border-top: 0; }
body.app-rengaw .rw-pv-ajustes > li.aceito { background: rgba(10, 179, 156, 0.06); }
body.app-rengaw .rw-pv-ajustes > li.recusado { opacity: 0.6; }
body.app-rengaw .rw-pv-acao { font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; background: #E6F1FB; color: #00336A; border-radius: 6px; padding: 0.125rem 0.5rem; margin-right: 0.25rem; }
body.app-rengaw .rw-pv-antes { color: #B42318; text-decoration: line-through; }
body.app-rengaw .rw-pv-depois { color: #067647; font-weight: 600; }
body.app-rengaw .rw-pv-linha-tempo > li { display: flex; gap: 0.875rem; padding: 0.75rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pv-linha-tempo > li:first-child { border-top: 0; padding-top: 0; }
body.app-rengaw .rw-pv-versao { flex: 0 0 2.5rem; height: 2.5rem; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-family: "Exo 2", sans-serif; font-weight: 700; background: #E6F1FB; color: #00336A; }
body.app-rengaw .rw-pv-retrato { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pv-retrato:last-child { border-bottom: 0; }
body.app-rengaw .rw-pv-frase { font-family: "Exo 2", sans-serif; font-weight: 600; font-size: 1.05rem; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-pv-fofa ul.card-body { padding-left: 2rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-pv-item-acoes .btn { padding: 0.25rem 0.45rem; }
    body.app-rengaw .rw-pv-quadro-kanban { grid-auto-columns: minmax(80%, 1fr); }
    body.app-rengaw .rw-pv-numero { font-size: 1.35rem; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-pv-sobretitulo, [data-bs-theme="dark"] body.app-rengaw .rw-pv-rotulo, [data-bs-theme="dark"] body.app-rengaw .rw-pv-data, [data-bs-theme="dark"] body.app-rengaw .rw-pv-coluna-titulo { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-situacao.ativo, [data-bs-theme="dark"] body.app-rengaw .rw-pv-sinal.no_rumo, [data-bs-theme="dark"] body.app-rengaw .rw-pv-sinal.concluido { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-situacao.rascunho, [data-bs-theme="dark"] body.app-rengaw .rw-pv-selo-sugerido, [data-bs-theme="dark"] body.app-rengaw .rw-pv-acao, [data-bs-theme="dark"] body.app-rengaw .rw-pv-versao { background: rgba(0, 144, 244, 0.18); color: #C9E6FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-sinal.atencao, [data-bs-theme="dark"] body.app-rengaw .rw-pv-sinal.em_risco { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-sinal.atrasado, [data-bs-theme="dark"] body.app-rengaw .rw-pv-sinal.travado { background: rgba(240, 101, 72, 0.18); color: #FF9E86; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-barra-esperado { background: #C9E6FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-numero.rw-pv-alerta, [data-bs-theme="dark"] body.app-rengaw .rw-pv-atrasada, [data-bs-theme="dark"] body.app-rengaw .rw-pv-antes { color: #FF9E86; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-depois, [data-bs-theme="dark"] body.app-rengaw .rw-pv-ia-ok { color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-comemorar i { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-tipo { color: #7CC4FA; background: rgba(0, 144, 244, 0.14); }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-item.sugerido, [data-bs-theme="dark"] body.app-rengaw .rw-pv-analise, [data-bs-theme="dark"] body.app-rengaw .rw-pv-etapas li.atual a { background: rgba(0, 144, 244, 0.1); border-color: rgba(0, 144, 244, 0.4); }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-etapas li.atual a { color: #7CC4FA; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-etapas li.atual .rw-pv-etapa-num, [data-bs-theme="dark"] body.app-rengaw .rw-pv-letra.ok { background: #0090F4; border-color: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-etapas li.feito .rw-pv-etapa-num { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-sequencia { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-trilha li.feito::before { background: #0AB39C; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-status .btn-check:checked + .rw-pv-status-no_rumo { background: #0AB39C; border-color: #0AB39C; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-pv-status .btn-check:checked + .rw-pv-status-travado { background: #F06548; border-color: #F06548; color: #061C3D; }

/* ------------------------------------------------------------------------------------------------------------------
   App Planejamento de postagens (2026-10-15, plano 099). Prefixo rw-pst-. Claro e escuro; a cor da rede vem em
   --rw-pst-rede (nunca borda lateral colorida em cartão: a cor fica em ícones, pontos e na barra da prévia).
   ------------------------------------------------------------------------------------------------------------------ */
body.app-rengaw .rw-pst-indicador { display: flex; align-items: center; gap: 0.85rem; }
body.app-rengaw .rw-pst-indicador h4 { font-family: "Exo 2", sans-serif; font-weight: 700; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-pst-badge-alerta { background: #FDECE8; color: #B42318; }
body.app-rengaw .rw-pst-passos { padding-left: 1.25rem; margin-bottom: 1rem; }
body.app-rengaw .rw-pst-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-pst-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.55rem 0.5rem; border-bottom: 1px solid var(--vz-border-color); color: inherit; text-decoration: none; border-radius: 10px; min-width: 0; }
body.app-rengaw .rw-pst-linha:last-child { border-bottom: 0; }
body.app-rengaw a.rw-pst-linha:hover, body.app-rengaw a.rw-pst-linha:focus-visible { background: var(--vz-light); }
body.app-rengaw .rw-pst-vazio { display: flex; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-pst-rede-icone { flex: 0 0 2.25rem; height: 2.25rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.15rem; color: #FFFFFF; background: var(--rw-pst-rede, #5D6A79); }
body.app-rengaw .rw-pst-rede-mini { font-size: 1.1rem; margin-right: 0.15rem; }
body.app-rengaw .rw-pst-data { flex: 0 0 2.75rem; text-align: center; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; color: var(--vz-secondary-color); line-height: 1.1; }
body.app-rengaw .rw-pst-data strong { display: block; font-family: "Exo 2", sans-serif; font-size: 1.25rem; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-pst-codigo { font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-pst-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-pst-situacoes { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-pst-situacoes a { display: flex; align-items: center; gap: 0.6rem; padding: 0.45rem 0.25rem; border-bottom: 1px solid var(--vz-border-color); color: inherit; text-decoration: none; }
body.app-rengaw .rw-pst-situacoes li:last-child a { border-bottom: 0; }
body.app-rengaw .rw-pst-situacoes strong { margin-left: auto; font-family: "Exo 2", sans-serif; }
body.app-rengaw .rw-pst-ponto { display: inline-block; width: 0.65rem; height: 0.65rem; border-radius: 50%; flex: 0 0 0.65rem; margin-right: 0.35rem; }
body.app-rengaw .rw-pst-situacao { display: inline-block; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; white-space: nowrap; background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-pst-situacao-revisao, body.app-rengaw .rw-pst-situacao-cliente { background: #FFF4DE; color: #8A5200; }
body.app-rengaw .rw-pst-situacao-ajustes { background: #FDECE8; color: #B42318; }
body.app-rengaw .rw-pst-situacao-aprovado { background: #E6F4FB; color: #0B5F8A; }
body.app-rengaw .rw-pst-situacao-agendado { background: #E6F1FB; color: #00336A; }
body.app-rengaw .rw-pst-situacao-publicado { background: #E3F6F2; color: #087565; }
body.app-rengaw .rw-pst-situacao-cancelado { background: #EEF1F5; color: #5D6A79; text-decoration: line-through; }
body.app-rengaw .rw-pst-texto-alerta { color: #8A5200; }
body.app-rengaw .rw-pst-texto-erro { color: #B42318; font-weight: 600; }
body.app-rengaw .rw-pst-dias { display: flex; flex-wrap: wrap; gap: 0.3rem; }
body.app-rengaw .rw-pst-dia-vazio { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; padding: 0.15rem 0.45rem; border-radius: 8px; border: 1px dashed var(--vz-border-color); color: #4F5D6E; text-decoration: none; }
body.app-rengaw .rw-pst-dia-vazio:hover, body.app-rengaw .rw-pst-dia-vazio:focus-visible { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-pst-pilar { display: grid; grid-template-columns: minmax(6rem, 9rem) 1fr auto auto; align-items: center; gap: 0.6rem; margin-bottom: 0.45rem; font-size: 0.875rem; }
body.app-rengaw .rw-pst-pilar-nome { display: flex; align-items: center; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-pst-pilar-barra { position: relative; height: 0.5rem; border-radius: 999px; background: #EEF1F5; overflow: visible; }
body.app-rengaw .rw-pst-pilar-barra span { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 999px; max-width: 100%; }
body.app-rengaw .rw-pst-pilar-barra i { position: absolute; top: -0.2rem; bottom: -0.2rem; width: 2px; background: #061C3D; }
body.app-rengaw .rw-pst-pilar-num { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; white-space: nowrap; }
body.app-rengaw .rw-pst-fluxo { display: flex; flex-wrap: wrap; gap: 0.35rem; list-style: none; padding: 0; margin: 0 0 1rem; counter-reset: etapa; }
body.app-rengaw .rw-pst-fluxo li { counter-increment: etapa; padding: 0.35rem 0.8rem 0.35rem 0.6rem; border-radius: 999px; border: 1px solid var(--vz-border-color); font-size: 0.8125rem; color: #4F5D6E; background: var(--vz-card-bg, #FFFFFF); }
body.app-rengaw .rw-pst-fluxo li::before { content: counter(etapa); display: inline-flex; width: 1.25rem; height: 1.25rem; margin-right: 0.4rem; border-radius: 50%; align-items: center; justify-content: center; font-size: 0.6875rem; font-weight: 700; background: #EEF1F5; }
body.app-rengaw .rw-pst-fluxo li.feito { color: #087565; border-color: #A7DFD5; }
body.app-rengaw .rw-pst-fluxo li.feito::before { content: "✓"; background: #0AB39C; color: #FFFFFF; }
body.app-rengaw .rw-pst-fluxo li.atual { color: #FFFFFF; background: #006ECB; border-color: #006ECB; font-weight: 600; }
body.app-rengaw .rw-pst-fluxo li.atual::before { background: #FFFFFF; color: #006ECB; }
body.app-rengaw .rw-pst-texto-base { white-space: pre-line; }
body.app-rengaw .rw-pst-numeros { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; }
body.app-rengaw .rw-pst-problemas { list-style: none; padding: 0; margin: 0 0 0.75rem; font-size: 0.8125rem; }
body.app-rengaw .rw-pst-problemas li { display: flex; gap: 0.4rem; align-items: flex-start; padding: 0.3rem 0; }
body.app-rengaw .rw-pst-problemas li::before { content: ""; }
body.app-rengaw .rw-pst-problema-erro { color: #B42318; }
body.app-rengaw .rw-pst-problema-aviso { color: #8A5200; }
body.app-rengaw .rw-pst-problema-ok { color: #087565; }
body.app-rengaw .rw-pst-link-cliente { padding: 0.75rem; border-radius: 12px; background: var(--vz-light); }
body.app-rengaw .rw-pst-ia-resultado { padding: 0.85rem; border-radius: 12px; border: 1px dashed rgba(0, 110, 203, 0.45); background: rgba(0, 144, 244, 0.05); }
body.app-rengaw .rw-pst-ia-off { font-size: 0.875rem; }
body.app-rengaw .rw-pst-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; }
body.app-rengaw .rw-pst-tag { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.2rem 0.6rem; border-radius: 999px; border: 1px solid var(--vz-border-color); font-size: 0.8125rem; margin: 0; }
body.app-rengaw .rw-pst-versao { flex: 0 0 2.25rem; height: 2.25rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-family: "Exo 2", sans-serif; font-weight: 700; background: #E6F1FB; color: #00336A; }
body.app-rengaw .rw-pst-historico { list-style: none; padding: 0; margin: 0; font-size: 0.8125rem; }
body.app-rengaw .rw-pst-historico li { display: flex; gap: 0.5rem; padding: 0.4rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pst-historico li:last-child { border-bottom: 0; }
body.app-rengaw .rw-pst-comentario { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pst-contas { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-pst-conta-opcao, body.app-rengaw .rw-pst-midia-opcao { display: flex; align-items: center; gap: 0.5rem; padding: 0.55rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; margin: 0; cursor: pointer; }
body.app-rengaw .rw-pst-conta-opcao:has(input:checked), body.app-rengaw .rw-pst-midia-opcao:has(input:checked) { border-color: var(--vz-primary); background: rgba(0, 110, 203, 0.06); }
body.app-rengaw .rw-pst-midias-escolha { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 0.5rem; max-height: 18rem; overflow-y: auto; }
body.app-rengaw .rw-pst-contador { font-family: "IBM Plex Mono", monospace; }
body.app-rengaw .rw-pst-previa-fixa { position: sticky; top: 6rem; }
body.app-rengaw .rw-pst-menu-textos { max-height: 18rem; overflow-y: auto; max-width: 20rem; }
body.app-rengaw .rw-pst-menu-textos .dropdown-item { white-space: normal; }
/* Prévia do post */
body.app-rengaw .rw-pst-previa { max-width: 24rem; margin: 0 auto; border: 1px solid var(--vz-border-color); border-radius: 16px; overflow: hidden; background: var(--vz-card-bg, #FFFFFF); border-top: 4px solid var(--rw-pst-rede, #5D6A79); font-size: 0.875rem; }
body.app-rengaw .rw-pst-previa-topo { display: flex; align-items: center; gap: 0.6rem; padding: 0.65rem 0.75rem; }
body.app-rengaw .rw-pst-avatar { flex: 0 0 2rem; height: 2rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: "Exo 2", sans-serif; font-weight: 700; color: #FFFFFF; background: var(--rw-pst-rede, #5D6A79); }
body.app-rengaw .rw-pst-arroba { color: #4F5D6E; }
body.app-rengaw .rw-pst-previa-rede { display: inline-flex; align-items: center; gap: 0.3rem; color: var(--rw-pst-rede); font-size: 1.15rem; }
body.app-rengaw .rw-pst-previa-rede small { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; color: #4F5D6E; text-transform: uppercase; letter-spacing: 0.05em; }
body.app-rengaw .rw-pst-previa-titulo { font-weight: 700; padding: 0 0.75rem; margin-bottom: 0.4rem; }
body.app-rengaw .rw-pst-previa-midia { position: relative; background: #061C3D; width: 100%; height: 18rem; display: flex; align-items: center; justify-content: center; color: #FFFFFF; overflow: hidden; }
body.app-rengaw .rw-pst-previa-vertical .rw-pst-previa-midia { height: 24rem; }
body.app-rengaw .rw-pst-previa-midia img { width: 100%; height: 100%; object-fit: cover; }
body.app-rengaw .rw-pst-previa-sem { background: #EEF1F5; color: #4F5D6E; flex-direction: column; gap: 0.25rem; height: 9rem; }
body.app-rengaw .rw-pst-previa-video { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; padding: 1rem; text-align: center; }
body.app-rengaw .rw-pst-previa-video i { font-size: 2.5rem; }
body.app-rengaw .rw-pst-previa-contador { position: absolute; top: 0.5rem; right: 0.5rem; padding: 0.1rem 0.45rem; border-radius: 999px; background: rgba(6, 28, 61, 0.75); color: #FFFFFF; font-size: 0.75rem; }
body.app-rengaw .rw-pst-previa-texto { padding: 0.65rem 0.75rem 0.85rem; white-space: normal; overflow-wrap: anywhere; }
body.app-rengaw .rw-pst-realce { color: #006ECB; }
body.app-rengaw .rw-pst-mais { color: #4F5D6E; font-weight: 600; background: none; border: 0; padding: 0; }
body.app-rengaw .rw-pst-aberto .rw-pst-mais { display: none; }
body.app-rengaw .rw-pst-aberto .rw-pst-resto { display: inline; }
body.app-rengaw .rw-pst-resto { display: none; }
body.app-rengaw .rw-pst-previa-x .rw-pst-previa-midia, body.app-rengaw .rw-pst-previa-linkedin .rw-pst-previa-midia, body.app-rengaw .rw-pst-previa-youtube .rw-pst-previa-midia { height: 12rem; }
body.app-rengaw .rw-pst-previa-x .rw-pst-previa-midia, body.app-rengaw .rw-pst-previa-bluesky .rw-pst-previa-midia, body.app-rengaw .rw-pst-previa-threads .rw-pst-previa-midia { margin: 0 0.75rem; width: auto; border-radius: 14px; }
body.app-rengaw .rw-pst-previa-instagram .rw-pst-previa-texto, body.app-rengaw .rw-pst-previa-tiktok .rw-pst-previa-texto { order: 3; }
/* Calendário: datas comemorativas ao fundo */
body.app-rengaw .rw-agenda .fc .fc-bg-event.rw-pst-comemorativa { background: rgba(247, 184, 75, 0.18); opacity: 1; }
body.app-rengaw .rw-agenda .fc .fc-bg-event.rw-pst-comemorativa .fc-event-title { color: #8A5200; font-size: 0.6875rem; font-style: normal; margin: 0.1rem 0.25rem; }
/* Ideias em quadro */
body.app-rengaw .rw-pst-quadro { display: grid; grid-template-columns: repeat(4, minmax(14rem, 1fr)); gap: 0.85rem; overflow-x: auto; position: relative; padding-bottom: 0.5rem; }
body.app-rengaw .rw-pst-coluna { background: var(--vz-light); border-radius: 16px; padding: 0.75rem; min-width: 0; }
body.app-rengaw .rw-pst-coluna-titulo { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; display: flex; justify-content: space-between; margin-bottom: 0.65rem; }
body.app-rengaw .rw-pst-ideia .form-select-sm { max-width: 8.5rem; }
/* Biblioteca */
body.app-rengaw .rw-pst-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 0.85rem; }
body.app-rengaw .rw-pst-midia { display: block; border: 1px solid var(--vz-border-color); border-radius: 16px; overflow: hidden; color: inherit; text-decoration: none; background: var(--vz-card-bg, #FFFFFF); }
body.app-rengaw .rw-pst-midia:hover, body.app-rengaw .rw-pst-midia:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-pst-midia-imagem { display: flex; aspect-ratio: 4 / 3; align-items: center; justify-content: center; background: #EEF1F5; color: #4F5D6E; font-size: 2.25rem; overflow: hidden; }
body.app-rengaw .rw-pst-midia-imagem img { width: 100%; height: 100%; object-fit: cover; }
body.app-rengaw .rw-pst-midia-info { display: block; padding: 0.6rem 0.75rem; min-width: 0; }
body.app-rengaw .rw-pst-oculta { opacity: 0.55; }
/* Resultados: mapa de calor */
body.app-rengaw .rw-pst-calor-rolagem { overflow-x: auto; }
body.app-rengaw .rw-pst-calor { border-collapse: separate; border-spacing: 3px; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; color: #4F5D6E; }
body.app-rengaw .rw-pst-calor th { font-weight: 500; text-align: center; padding: 0 0.15rem; }
body.app-rengaw .rw-pst-calor td { width: 1.6rem; height: 1.4rem; border-radius: 5px; background: #EEF1F5; }
body.app-rengaw .rw-pst-calor-1 { background: #C9E6FF !important; }
body.app-rengaw .rw-pst-calor-2 { background: #7CC4FA !important; }
body.app-rengaw .rw-pst-calor-3 { background: #0090F4 !important; }
body.app-rengaw .rw-pst-calor-4 { background: #006ECB !important; }
/* Marcas */
body.app-rengaw .rw-pst-marca-cor { flex: 0 0 2.25rem; height: 2.25rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: #FFFFFF; font-family: "Exo 2", sans-serif; font-weight: 700; }
body.app-rengaw .rw-pst-marca-card:hover, body.app-rengaw .rw-pst-marca-card:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-pst-pessoa { display: inline-flex; align-items: center; padding: 0.25rem 0.65rem; margin: 0 0.35rem 0.35rem 0; border: 1px solid var(--vz-border-color); border-radius: 999px; font-size: 0.8125rem; }
body.app-rengaw .rw-pst-filtros { min-width: 16rem; }
/* Publicação assistida */
body.app-rengaw .rw-pst-passos-publicar { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.85rem; }
/* Página pública do cliente */
body.app-rengaw .rw-pst-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
body.app-rengaw .rw-pst-publico .card { margin-bottom: 1rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-pst-quadro { grid-template-columns: repeat(4, minmax(80%, 1fr)); }
    body.app-rengaw .rw-pst-pilar { grid-template-columns: minmax(5rem, 7rem) 1fr auto; }
    body.app-rengaw .rw-pst-pilar form { display: none; }
    body.app-rengaw .rw-pst-previa-fixa { position: static; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-pst-sobretitulo, [data-bs-theme="dark"] body.app-rengaw .rw-pst-coluna-titulo, [data-bs-theme="dark"] body.app-rengaw .rw-pst-arroba, [data-bs-theme="dark"] body.app-rengaw .rw-pst-mais, [data-bs-theme="dark"] body.app-rengaw .rw-pst-dia-vazio, [data-bs-theme="dark"] body.app-rengaw .rw-pst-calor, [data-bs-theme="dark"] body.app-rengaw .rw-pst-previa-rede small, [data-bs-theme="dark"] body.app-rengaw .rw-pst-fluxo li, [data-bs-theme="dark"] body.app-rengaw .rw-pst-data { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-situacao, [data-bs-theme="dark"] body.app-rengaw .rw-pst-pilar-barra, [data-bs-theme="dark"] body.app-rengaw .rw-pst-calor td, [data-bs-theme="dark"] body.app-rengaw .rw-pst-previa-sem, [data-bs-theme="dark"] body.app-rengaw .rw-pst-midia-imagem, [data-bs-theme="dark"] body.app-rengaw .rw-pst-fluxo li::before { background: rgba(255, 255, 255, 0.08); color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-situacao-revisao, [data-bs-theme="dark"] body.app-rengaw .rw-pst-situacao-cliente { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-situacao-ajustes, [data-bs-theme="dark"] body.app-rengaw .rw-pst-badge-alerta { background: rgba(240, 101, 72, 0.18); color: #FF9E86; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-situacao-aprovado, [data-bs-theme="dark"] body.app-rengaw .rw-pst-situacao-agendado, [data-bs-theme="dark"] body.app-rengaw .rw-pst-versao { background: rgba(0, 144, 244, 0.18); color: #C9E6FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-situacao-publicado { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-texto-alerta, [data-bs-theme="dark"] body.app-rengaw .rw-pst-problema-aviso { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-texto-erro, [data-bs-theme="dark"] body.app-rengaw .rw-pst-problema-erro { color: #FF9E86; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-problema-ok, [data-bs-theme="dark"] body.app-rengaw .rw-pst-fluxo li.feito { color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-fluxo li.atual { background: #0090F4; border-color: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-fluxo li.atual::before { background: #061C3D; color: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-realce { color: #7CC4FA; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-pilar-barra i { background: #F4F7FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-calor-1 { background: rgba(0, 144, 244, 0.25) !important; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-calor-2 { background: rgba(0, 144, 244, 0.45) !important; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-calor-3 { background: rgba(0, 144, 244, 0.7) !important; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-calor-4 { background: #0090F4 !important; }
[data-bs-theme="dark"] body.app-rengaw .rw-pst-ia-resultado { background: rgba(0, 144, 244, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-agenda .fc .fc-bg-event.rw-pst-comemorativa .fc-event-title { color: #F7C873; }

/* ---------------------------------------------------------------------------------------------------------------
 * App Saúde família (2026-10-15, renomeado de Meus filhos em 2026-10-16). Prefixo .rw-sf-. Pessoa em uso, selos de situação (vacinas, doses, consultas,
 * exames), curvas da OMS em SVG, marcos, odontograma, temperatura e linha do tempo. Claro e escuro.
 * Reaproveita .rw-bem-icone, .rw-passos, .rw-ficha, .rw-sobretitulo-app e, na página pública, .rw-cuid-publico.
 * --------------------------------------------------------------------------------------------------------------- */
body.app-rengaw .rw-sf-familiar { display: flex; align-items: center; gap: 0.85rem; padding: 0.75rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-sf-avatar { flex: 0 0 3rem; width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; display: inline-flex; align-items: center; justify-content: center; background: #E7F1FB; color: #006ECB; font-family: var(--rw-titulo); font-weight: 700; }
body.app-rengaw .rw-sf-avatar-sm { flex-basis: 2.25rem; width: 2.25rem; height: 2.25rem; font-size: 0.85rem; }
body.app-rengaw .rw-sf-nome { font-family: var(--rw-titulo); font-weight: 600; font-size: 1.1rem; }
body.app-rengaw .rw-sf-alergia { color: #B42318; font-weight: 500; }
body.app-rengaw .rw-sf-trocar { flex: 0 0 auto; max-width: 12rem; }
body.app-rengaw .rw-sf-aviso { display: flex; gap: 0.5rem; align-items: flex-start; margin-top: 1rem; padding: 0.75rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; color: var(--vz-secondary-color); background: var(--vz-secondary-bg); font-size: 0.875rem; }
body.app-rengaw .rw-sf-aviso-forte { margin: 0 0 1rem; color: #8A5200; background: #FEF4E4; border-color: #F5D9A8; }
body.app-rengaw .rw-sf-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-sf-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-sf-hora { flex: 0 0 auto; min-width: 3.25rem; font-family: var(--rw-mono); font-weight: 600; }
body.app-rengaw .rw-sf-ordem { flex: 0 0 1.75rem; height: 1.75rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #E7F1FB; color: #006ECB; font-family: var(--rw-mono); font-weight: 600; font-size: 0.8rem; }
body.app-rengaw .rw-sf-progresso { height: 0.5rem; border-radius: 999px; }
body.app-rengaw .rw-sf-numero { font-family: var(--rw-titulo); font-weight: 700; font-size: 2rem; line-height: 1.1; }
body.app-rengaw .rw-sf-numero-sm { font-family: var(--rw-titulo); font-weight: 700; font-size: 1.25rem; }
body.app-rengaw .rw-sf-texto-alerta { color: #B4321A; }
body.app-rengaw .rw-sf-conversar { color: #8A5200; }
body.app-rengaw .rw-sf-icone-pequeno { width: 2.25rem; height: 2.25rem; font-size: 1.1rem; flex: 0 0 auto; }
body.app-rengaw .rw-sf-festa { display: flex; align-items: center; }
body.app-rengaw .rw-sf-consentimento { margin-top: 0.5rem; padding: 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-sf-data { flex: 0 0 3.25rem; height: 3.25rem; border-radius: 12px; background: #E7F1FB; color: #00336A; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
body.app-rengaw .rw-sf-data span { font-family: var(--rw-titulo); font-weight: 700; font-size: 1.25rem; }
body.app-rengaw .rw-sf-data small { font-family: var(--rw-mono); text-transform: uppercase; font-size: 0.65rem; letter-spacing: 0.05em; }

/* Selos de situação */
body.app-rengaw .rw-sf-selo { display: inline-flex; align-items: center; flex: 0 0 auto; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; white-space: nowrap; background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-sf-selo-aplicada, body.app-rengaw .rw-sf-selo-dada, body.app-rengaw .rw-sf-selo-realizada, body.app-rengaw .rw-sf-selo-exame-resultado { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-sf-selo-agora, body.app-rengaw .rw-sf-selo-agendada, body.app-rengaw .rw-sf-selo-exame-coletado { background: #E7F1FB; color: #005BA8; }
body.app-rengaw .rw-sf-selo-atrasada { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-sf-selo-fora, body.app-rengaw .rw-sf-selo-exame-pedido { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-sf-selo-proxima { background: #EEF4FF; color: #00336A; }
body.app-rengaw .rw-sf-selo-futura, body.app-rengaw .rw-sf-selo-dispensada, body.app-rengaw .rw-sf-selo-pulada, body.app-rengaw .rw-sf-selo-cancelada, body.app-rengaw .rw-sf-selo-prevista { background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-sf-legenda { display: flex; flex-wrap: wrap; gap: 0.5rem; }

/* Carteira de vacinação */
body.app-rengaw .rw-sf-carteira { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: 1rem; margin-bottom: 1rem; }
body.app-rengaw .rw-sf-carteira .card { margin-bottom: 0; }
body.app-rengaw .rw-sf-grupo .card-header h2 { font-family: var(--rw-titulo); }
body.app-rengaw .rw-sf-grupo-atrasada .card-header { background: #FDECE8; }
body.app-rengaw .rw-sf-grupo-agora .card-header { background: #E7F1FB; }
body.app-rengaw .rw-sf-dose { display: flex; align-items: center; gap: 0.6rem; padding: 0.65rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-sf-nota { font-size: 0.78rem; }

/* Chips de filtro (curvas, linha do tempo) */
body.app-rengaw .rw-sf-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; }
body.app-rengaw .rw-sf-chip { padding: 0.3rem 0.8rem; border: 1px solid var(--vz-border-color); border-radius: 999px; color: var(--vz-body-color); font-size: 0.85rem; text-decoration: none; background: var(--vz-card-bg); }
body.app-rengaw .rw-sf-chip:hover { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-sf-chip.ativo { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }

/* Gráficos SVG (curvas da OMS, temperatura, exames) */
body.app-rengaw .rw-sf-grafico svg { width: 100%; height: auto; display: block; overflow: visible; }
body.app-rengaw .rw-sf-grade { stroke: var(--vz-border-color); stroke-width: 1; }
body.app-rengaw .rw-sf-base { stroke: var(--vz-secondary-color); stroke-width: 1; }
body.app-rengaw .rw-sf-eixo { fill: var(--vz-secondary-color); font-family: var(--rw-mono); font-size: 10px; }
body.app-rengaw .rw-sf-curva { fill: none; stroke-width: 1.5; }
body.app-rengaw .rw-sf-p50 { stroke: #0E7A4E; stroke-width: 2; }
body.app-rengaw .rw-sf-p15 { stroke: #F7B84B; stroke-dasharray: 5 4; }
body.app-rengaw .rw-sf-p3 { stroke: #F06548; stroke-dasharray: 2 4; }
body.app-rengaw .rw-sf-rotulo-p { fill: var(--vz-secondary-color); font-family: var(--rw-mono); font-size: 9px; }
body.app-rengaw .rw-sf-serie { fill: none; stroke: #006ECB; stroke-width: 2.5; }
body.app-rengaw .rw-sf-ponto { fill: #006ECB; stroke: #FFFFFF; stroke-width: 2; }
body.app-rengaw .rw-sf-faixa { fill: rgba(10, 179, 156, 0.12); }
body.app-rengaw .rw-sf-legenda-curva { display: flex; flex-wrap: wrap; gap: 1rem; font-size: 0.8rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-sf-legenda-curva span { display: inline-flex; align-items: center; gap: 0.35rem; }
body.app-rengaw .rw-sf-traco { display: inline-block; width: 1.5rem; height: 0; border-top: 2px solid; }
body.app-rengaw .rw-sf-traco.rw-sf-p50 { border-color: #0E7A4E; }
body.app-rengaw .rw-sf-traco.rw-sf-p15 { border-top-style: dashed; border-color: #F7B84B; }
body.app-rengaw .rw-sf-traco.rw-sf-p3 { border-top-style: dotted; border-color: #F06548; }
body.app-rengaw .rw-sf-bolinha { display: inline-block; width: 0.7rem; height: 0.7rem; border-radius: 50%; background: #006ECB; }

/* Medidas e percentis */
body.app-rengaw .rw-sf-medida { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-sf-medida:last-child { border-bottom: 0; }
body.app-rengaw .rw-sf-indicador { height: 100%; padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; }
body.app-rengaw .rw-sf-indicador.rw-sf-faixa-abaixo, body.app-rengaw .rw-sf-indicador.rw-sf-faixa-acima { border-color: #F5D9A8; background: #FFFBF2; }
body.app-rengaw .rw-sf-indicador.rw-sf-faixa-muito_abaixo, body.app-rengaw .rw-sf-indicador.rw-sf-faixa-muito_acima { border-color: #F7C6BA; background: #FFF6F3; }
body.app-rengaw .rw-sf-percentil { flex: 0 0 auto; padding: 0.2rem 0.6rem; border-radius: 999px; font-family: var(--rw-mono); font-weight: 600; font-size: 0.8rem; background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-sf-percentil.rw-sf-faixa-abaixo, body.app-rengaw .rw-sf-percentil.rw-sf-faixa-acima { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-sf-percentil.rw-sf-faixa-muito_abaixo, body.app-rengaw .rw-sf-percentil.rw-sf-faixa-muito_acima { background: #FDECE8; color: #B4321A; }

/* Marcos do desenvolvimento */
body.app-rengaw .rw-sf-faixas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 1rem; margin-bottom: 1rem; }
body.app-rengaw .rw-sf-faixas .card { margin-bottom: 0; }
body.app-rengaw .rw-sf-faixa-marcos.atual { border-color: var(--vz-primary); box-shadow: 0 0 0 1px var(--vz-primary); }
body.app-rengaw .rw-sf-marco { display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-sf-marco > i { font-size: 1.15rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-sf-marco-feito > i { color: #0AB39C; }
body.app-rengaw .rw-sf-marco-conversar > i { color: #8A5200; }
body.app-rengaw .rw-sf-marco-futuro { opacity: 0.7; }
body.app-rengaw .rw-sf-marcar { display: flex; gap: 0.3rem; flex: 0 0 auto; }
body.app-rengaw .rw-sf-marcar input { width: 6.5rem; }
body.app-rengaw .rw-sf-estrela { color: #F7B84B; font-size: 1.2rem; }

/* Odontograma */
body.app-rengaw .rw-sf-boca { display: flex; justify-content: center; gap: 0.35rem; flex-wrap: nowrap; padding: 0.25rem 0; }
body.app-rengaw .rw-sf-boca-baixo { border-top: 2px dashed var(--vz-border-color); padding-top: 0.6rem; margin-top: 0.35rem; }
body.app-rengaw .rw-sf-dente { flex: 0 1 2.6rem; min-width: 1.6rem; height: 3rem; border: 2px solid var(--vz-border-color); border-radius: 0.9rem 0.9rem 1.2rem 1.2rem; background: var(--vz-card-bg); color: var(--vz-secondary-color); font-family: var(--rw-mono); font-size: 0.7rem; padding: 0; }
body.app-rengaw .rw-sf-boca-baixo .rw-sf-dente { border-radius: 1.2rem 1.2rem 0.9rem 0.9rem; }
body.app-rengaw .rw-sf-dente:hover:not(:disabled), body.app-rengaw .rw-sf-dente:focus-visible { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-sf-dente-nasceu { background: #FFFFFF; border-color: #0AB39C; color: #067A6A; box-shadow: inset 0 -6px 0 #E6F7F4; font-weight: 700; }
body.app-rengaw .rw-sf-dente-pode { border-style: dashed; border-color: #006ECB; color: #005BA8; }
body.app-rengaw .rw-sf-dente-esperado { border-color: #F5D9A8; background: #FFFBF2; color: #8A5200; }
body.app-rengaw .rw-sf-dente-caiu { background: #EEF1F5; border-color: #C2CBD6; text-decoration: line-through; }
body.app-rengaw .rw-sf-dente-legenda { display: inline-block; padding: 0.15rem 0.6rem; border: 2px solid var(--vz-border-color); border-radius: 999px; font-size: 0.75rem; }

/* Temperatura */
body.app-rengaw .rw-sf-temp { flex: 0 0 auto; min-width: 4.5rem; padding: 0.2rem 0.5rem; border-radius: 8px; font-family: var(--rw-mono); font-weight: 700; text-align: center; background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-sf-temp-subfebril { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-sf-temp-febre { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-sf-temp-alta { background: #B4321A; color: #FFFFFF; }
body.app-rengaw .rw-sf-oc-febre { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-sf-oc-alergia, body.app-rengaw .rw-sf-oc-queda { background: #FEF4E4; color: #8A5200; }

/* Perguntas, IA e respostas */
body.app-rengaw .rw-sf-perguntas { padding-left: 1.2rem; }
body.app-rengaw .rw-sf-perguntas li { padding: 0.25rem 0; }
body.app-rengaw .rw-sf-ia { margin-top: 1rem; padding: 0.85rem 1rem; border: 1px dashed var(--vz-border-color); border-radius: 12px; }
body.app-rengaw .rw-sf-resposta { white-space: normal; }

/* Linha do tempo */
body.app-rengaw .rw-sf-ano { font-family: var(--rw-titulo); font-weight: 700; font-size: 1.15rem; color: var(--vz-heading-color, #00336A); margin: 0.5rem 0 0.5rem; }
body.app-rengaw .rw-sf-tempo { list-style: none; margin: 0 0 1rem; padding: 0 0 0 0.25rem; border-left: 2px solid var(--vz-border-color); }
body.app-rengaw .rw-sf-evento { position: relative; display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.4rem 0 0.6rem 1.4rem; }
body.app-rengaw .rw-sf-evento-icone { position: absolute; left: -0.95rem; top: 0.35rem; width: 1.7rem; height: 1.7rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--vz-card-bg); border: 2px solid var(--vz-border-color); color: #006ECB; font-size: 0.85rem; }
body.app-rengaw .rw-sf-evento-vacina .rw-sf-evento-icone { color: #067A6A; border-color: #9EDFD5; }
body.app-rengaw .rw-sf-evento-ocorrencia .rw-sf-evento-icone { color: #B4321A; border-color: #F7C6BA; }
body.app-rengaw .rw-sf-evento-marco .rw-sf-evento-icone, body.app-rengaw .rw-sf-evento-dente .rw-sf-evento-icone, body.app-rengaw .rw-sf-evento-nascimento .rw-sf-evento-icone { color: #8A5200; border-color: #F5D9A8; }

/* Cartões das crianças */
body.app-rengaw .rw-sf-cartao-crianca { display: flex; align-items: center; gap: 0.75rem; width: 100%; height: 100%; padding: 0.85rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-card-bg); color: var(--vz-body-color); text-align: left; }
body.app-rengaw .rw-sf-cartao-crianca:hover, body.app-rengaw .rw-sf-cartao-crianca:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-sf-cartao-crianca.inativa { opacity: 0.6; }

@media (max-width: 575.98px) {
    body.app-rengaw .rw-sf-familiar { flex-wrap: wrap; }
    body.app-rengaw .rw-sf-trocar { max-width: none; width: 100%; }
    body.app-rengaw .rw-sf-dose, body.app-rengaw .rw-sf-marco { flex-wrap: wrap; }
    body.app-rengaw .rw-sf-boca { gap: 0.15rem; }
    body.app-rengaw .rw-sf-dente { height: 2.4rem; font-size: 0.6rem; }
}

/* Escuro */
[data-bs-theme="dark"] body.app-rengaw .rw-sf-avatar, [data-bs-theme="dark"] body.app-rengaw .rw-sf-ordem { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-alergia, [data-bs-theme="dark"] body.app-rengaw .rw-sf-texto-alerta { color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-conversar { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-aviso-forte { background: rgba(247, 184, 75, 0.12); border-color: rgba(247, 184, 75, 0.35); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-data { background: rgba(0, 144, 244, 0.18); color: #CFE6FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-selo { background: rgba(255, 255, 255, 0.08); color: #C2CBD6; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-aplicada, [data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-dada, [data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-realizada, [data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-exame-resultado, [data-bs-theme="dark"] body.app-rengaw .rw-sf-percentil, [data-bs-theme="dark"] body.app-rengaw .rw-sf-temp { background: rgba(10, 179, 156, 0.18); color: #5FD8C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-agora, [data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-agendada, [data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-exame-coletado, [data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-proxima { background: rgba(0, 144, 244, 0.18); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-atrasada, [data-bs-theme="dark"] body.app-rengaw .rw-sf-temp-febre, [data-bs-theme="dark"] body.app-rengaw .rw-sf-oc-febre, [data-bs-theme="dark"] body.app-rengaw .rw-sf-percentil.rw-sf-faixa-muito_abaixo, [data-bs-theme="dark"] body.app-rengaw .rw-sf-percentil.rw-sf-faixa-muito_acima { background: rgba(240, 101, 72, 0.18); color: #FA896B; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-fora, [data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-exame-pedido, [data-bs-theme="dark"] body.app-rengaw .rw-sf-temp-subfebril, [data-bs-theme="dark"] body.app-rengaw .rw-sf-oc-alergia, [data-bs-theme="dark"] body.app-rengaw .rw-sf-oc-queda, [data-bs-theme="dark"] body.app-rengaw .rw-sf-percentil.rw-sf-faixa-abaixo, [data-bs-theme="dark"] body.app-rengaw .rw-sf-percentil.rw-sf-faixa-acima { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-temp-alta { background: #F06548; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-grupo-atrasada .card-header { background: rgba(240, 101, 72, 0.14); }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-grupo-agora .card-header { background: rgba(0, 144, 244, 0.14); }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-indicador.rw-sf-faixa-abaixo, [data-bs-theme="dark"] body.app-rengaw .rw-sf-indicador.rw-sf-faixa-acima { background: rgba(247, 184, 75, 0.08); border-color: rgba(247, 184, 75, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-indicador.rw-sf-faixa-muito_abaixo, [data-bs-theme="dark"] body.app-rengaw .rw-sf-indicador.rw-sf-faixa-muito_acima { background: rgba(240, 101, 72, 0.08); border-color: rgba(240, 101, 72, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-p50 { stroke: #5FD8C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-traco.rw-sf-p50 { border-color: #5FD8C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-serie { stroke: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-ponto, [data-bs-theme="dark"] body.app-rengaw .rw-sf-bolinha { fill: #0090F4; background: #0090F4; stroke: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-dente-nasceu { background: rgba(10, 179, 156, 0.18); border-color: #0AB39C; color: #5FD8C5; box-shadow: none; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-dente-pode { border-color: #0090F4; color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-dente-esperado { background: rgba(247, 184, 75, 0.12); border-color: rgba(247, 184, 75, 0.45); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-dente-caiu { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.2); }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-evento-icone { color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-ano { color: #E8EEF6; }
/* Saúde família, toda a família (2026-10-16): vacinas para conferir e em dia, preventivos, sinais vitais, árvore e
   histórico familiar, convite para o adulto assumir o cadastro. */
body.app-rengaw .rw-sf-selo-verificar, body.app-rengaw .rw-sf-selo-prev-conversar { background: #EEF4FF; color: #00336A; }
body.app-rengaw .rw-sf-selo-em_dia, body.app-rengaw .rw-sf-selo-prev-em_dia, body.app-rengaw .rw-sf-selo-prev-feito { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-sf-selo-prev-fazer { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-sf-selo-prev-em_breve { background: #E7F1FB; color: #005BA8; }
body.app-rengaw .rw-sf-indicador.rw-sf-faixa-atencao, body.app-rengaw .rw-sf-percentil.rw-sf-faixa-atencao { border-color: #F5D9A8; background: #FFFBF2; color: inherit; }
body.app-rengaw .rw-sf-sv { flex: 0 0 auto; display: inline-block; padding: 0.2rem 0.6rem; border-radius: 999px; font-family: var(--rw-mono); font-weight: 600; font-size: 0.8rem; background: #EEF1F5; color: #4F5D6E; }
body.app-rengaw .rw-sf-sv small { font-weight: 500; }
body.app-rengaw .rw-sf-sv-referencia { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-sf-sv-atencao { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-sf-sv-alerta { background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-sf-sv-icone { flex: 0 0 auto; font-size: 1.25rem; color: var(--vz-primary); }
body.app-rengaw .rw-sf-sv-cartao { display: block; color: inherit; text-decoration: none; }
body.app-rengaw .rw-sf-sv-cartao:hover, body.app-rengaw .rw-sf-sv-cartao:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-sf-sv-cartao.ativo { border-color: var(--vz-primary); box-shadow: 0 0 0 1px var(--vz-primary); }
body.app-rengaw .rw-sf-serie2 { stroke: #0090F4; stroke-dasharray: 5 4; }
body.app-rengaw .rw-sf-ponto2 { fill: #0090F4; }
body.app-rengaw .rw-sf-arvore { display: flex; flex-direction: column; gap: 1.25rem; }
body.app-rengaw .rw-sf-geracao { position: relative; }
body.app-rengaw .rw-sf-geracao + .rw-sf-geracao { padding-top: 1.25rem; border-top: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-sf-nos { display: flex; flex-wrap: wrap; gap: 0.75rem; }
body.app-rengaw .rw-sf-no { flex: 1 1 13rem; max-width: 20rem; padding: 0.75rem 0.9rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-sf-no-1grau { border-color: #A8CDF0; }
body.app-rengaw .rw-sf-no-centro { border-color: var(--vz-primary); box-shadow: 0 0 0 1px var(--vz-primary); }
body.app-rengaw .rw-sf-chips-cond { display: flex; flex-wrap: wrap; gap: 0.35rem; }
body.app-rengaw .rw-sf-cond { display: inline-block; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.78rem; background: #E7F1FB; color: #00336A; }
body.app-rengaw .rw-sf-convite { border-color: var(--vz-primary); }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-verificar, [data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-prev-conversar, [data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-prev-em_breve, [data-bs-theme="dark"] body.app-rengaw .rw-sf-cond { background: rgba(0, 144, 244, 0.16); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-em_dia, [data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-prev-em_dia, [data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-prev-feito, [data-bs-theme="dark"] body.app-rengaw .rw-sf-sv-referencia { background: rgba(10, 179, 156, 0.16); color: #6EDDC9; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-selo-prev-fazer, [data-bs-theme="dark"] body.app-rengaw .rw-sf-sv-atencao { background: rgba(247, 184, 75, 0.16); color: #F7C978; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-sv-alerta { background: rgba(240, 101, 72, 0.18); color: #FF9F8A; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-sv { background: rgba(255, 255, 255, 0.08); color: #C9D3DF; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-indicador.rw-sf-faixa-atencao { background: rgba(247, 184, 75, 0.08); border-color: rgba(247, 184, 75, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-no-1grau { border-color: rgba(0, 144, 244, 0.5); }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-serie2, [data-bs-theme="dark"] body.app-rengaw .rw-sf-ponto2 { stroke: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-sf-ponto2 { fill: #8FCBFF; }

/* ---------------------------------------------------------------- Gestão de investimentos (2026-10-15), prefixo rw-gi- */
body.app-rengaw .rw-gi-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-gi-barra { padding: 0.5rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-card-bg); }
body.app-rengaw .rw-gi-leitura { background: #FFF4DE; color: #7A4B00; font-weight: 500; }
body.app-rengaw .rw-gi-aviso { display: flex; gap: 0.625rem; align-items: flex-start; padding: 0.75rem 1rem; margin-bottom: 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-card-bg); font-size: 0.875rem; }
body.app-rengaw .rw-gi-aviso i { color: var(--vz-primary); font-size: 1.15rem; line-height: 1.2; }
body.app-rengaw .rw-gi-nota { display: flex; gap: 0.5rem; color: #4F5D6E; }
body.app-rengaw .rw-gi-icone { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; border-radius: 10px; background: #E6F2FD; color: #006ECB; font-size: 1.2rem; }
body.app-rengaw .rw-gi-icone-sm { width: 2rem; height: 2rem; font-size: 1rem; }
body.app-rengaw .rw-gi-ia-form { max-width: 16rem; }
body.app-rengaw .rw-gi-positivo { color: #1E7A46; }
body.app-rengaw .rw-gi-negativo { color: #B3261E; }
body.app-rengaw .rw-gi-atencao { color: #8A5200; }
body.app-rengaw .rw-gi-selo { background: var(--vz-light); color: var(--vz-body-color); border: 1px solid var(--vz-border-color); font-weight: 500; }
body.app-rengaw .rw-gi-selo-alerta { background: #FFF4DE; color: #7A4B00; font-weight: 500; }
body.app-rengaw .rw-gi-data { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 2.75rem; padding: 0.25rem; border-radius: 10px; background: var(--vz-light); line-height: 1.1; }
body.app-rengaw .rw-gi-data strong { font-family: "Exo 2", sans-serif; font-size: 1.05rem; }
body.app-rengaw .rw-gi-data small { font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; text-transform: uppercase; }
body.app-rengaw .rw-gi-fundo-0 { background: #006ECB; } body.app-rengaw .rw-gi-traco-0 { stroke: #006ECB; }
body.app-rengaw .rw-gi-fundo-1 { background: #00336A; } body.app-rengaw .rw-gi-traco-1 { stroke: #00336A; }
body.app-rengaw .rw-gi-fundo-2 { background: #0090F4; } body.app-rengaw .rw-gi-traco-2 { stroke: #0090F4; }
body.app-rengaw .rw-gi-fundo-3 { background: #5D6A79; } body.app-rengaw .rw-gi-traco-3 { stroke: #5D6A79; }
body.app-rengaw .rw-gi-fundo-4 { background: #2E9E5B; } body.app-rengaw .rw-gi-traco-4 { stroke: #2E9E5B; }
body.app-rengaw .rw-gi-fundo-5 { background: #E08A1E; } body.app-rengaw .rw-gi-traco-5 { stroke: #E08A1E; }
body.app-rengaw .rw-gi-fundo-6 { background: #8A5CD1; } body.app-rengaw .rw-gi-traco-6 { stroke: #8A5CD1; }
body.app-rengaw .rw-gi-fundo-7 { background: #D64545; } body.app-rengaw .rw-gi-traco-7 { stroke: #D64545; }
body.app-rengaw .rw-gi-fundo-8 { background: #1BA3A3; } body.app-rengaw .rw-gi-traco-8 { stroke: #1BA3A3; }
body.app-rengaw .rw-gi-ponto { display: inline-block; width: 0.625rem; height: 0.625rem; border-radius: 50%; flex: 0 0 auto; vertical-align: middle; }
body.app-rengaw .rw-gi-rosca { width: 100%; max-width: 11rem; height: auto; }
body.app-rengaw .rw-gi-rosca-fundo { stroke: var(--vz-border-color); }
body.app-rengaw .rw-gi-classe { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-gi-classe:last-child { border-bottom: 0; }
body.app-rengaw .rw-gi-trilho { position: relative; height: 0.5rem; margin: 0.375rem 0; border-radius: 999px; background: var(--vz-border-color); }
body.app-rengaw .rw-gi-cheio { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 999px; max-width: 100%; }
body.app-rengaw .rw-gi-marca { position: absolute; top: -0.25rem; bottom: -0.25rem; width: 2px; margin-left: -1px; background: #061C3D; }
body.app-rengaw .rw-gi-antes { background: #A9B6C6; }
body.app-rengaw .rw-gi-trilho-duplo { margin-bottom: 0.125rem; height: 0.35rem; }
body.app-rengaw .rw-gi-faixa { display: inline-block; padding: 0.125rem 0.5rem; border-radius: 999px; font-size: 0.72rem; font-weight: 500; white-space: nowrap; }
body.app-rengaw .rw-gi-faixa-dentro { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-gi-faixa-atencao { background: #FFF4DE; color: #7A4B00; }
body.app-rengaw .rw-gi-faixa-fora { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-gi-meta-linha { display: flex; gap: 1rem; align-items: flex-start; }
body.app-rengaw .rw-gi-meta-campo { flex: 0 0 7.5rem; padding-top: 0.5rem; text-align: right; }
body.app-rengaw .rw-gi-ativos summary { cursor: pointer; color: var(--vz-primary); }
body.app-rengaw .rw-gi-linha { width: 100%; height: 11rem; }
body.app-rengaw .rw-gi-linha-base { stroke: var(--vz-border-color); }
body.app-rengaw .rw-gi-linha-valor { stroke: #006ECB; stroke-width: 2.5; vector-effect: non-scaling-stroke; }
body.app-rengaw .rw-gi-linha-custo { stroke: #5D6A79; stroke-width: 1.5; stroke-dasharray: 5 4; vector-effect: non-scaling-stroke; }
body.app-rengaw .rw-gi-linha-rotulo { fill: #4F5D6E; font-family: "IBM Plex Mono", monospace; font-size: 11px; }
body.app-rengaw .rw-gi-legenda { display: inline-block; width: 1rem; height: 0.25rem; margin-right: 0.375rem; border-radius: 2px; vertical-align: middle; }
body.app-rengaw .rw-gi-legenda-valor { background: #006ECB; }
body.app-rengaw .rw-gi-legenda-custo { background: repeating-linear-gradient(90deg, #5D6A79 0 4px, transparent 4px 7px); }
body.app-rengaw .rw-gi-barras { display: flex; align-items: flex-end; gap: 0.375rem; height: 8rem; }
body.app-rengaw .rw-gi-barra-mes { flex: 1 1 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; min-width: 0; }
body.app-rengaw .rw-gi-barra-valor { display: block; width: 100%; max-width: 2rem; min-height: 2px; border-radius: 6px 6px 0 0; background: #0090F4; }
body.app-rengaw .rw-gi-barra-mes small { margin-top: 0.25rem; font-family: "IBM Plex Mono", monospace; font-size: 0.62rem; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-gi-lado { display: inline-block; padding: 0.1rem 0.5rem; border-radius: 6px; font-size: 0.75rem; font-weight: 600; }
body.app-rengaw .rw-gi-lado-compra { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-gi-lado-venda { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-gi-campo-curto { min-width: 5.5rem; max-width: 8rem; margin-left: auto; }
body.app-rengaw .rw-gi-situacao { display: inline-block; padding: 0.1rem 0.5rem; border-radius: 999px; font-size: 0.75rem; background: var(--vz-light); }
body.app-rengaw .rw-gi-situacao-executada { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-gi-situacao-descartada { color: #4F5D6E; }
body.app-rengaw .rw-gi-codigo { padding: 0.5rem 0.75rem; border-radius: 8px; background: var(--vz-light); word-break: break-all; }
body.app-rengaw .rw-gi-atalho { color: inherit; transition: border-color 0.15s ease; }
body.app-rengaw .rw-gi-atalho:hover, body.app-rengaw .rw-gi-atalho:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-gi-texto-ia { padding: 0.75rem 1rem; border-radius: 10px; background: var(--vz-light); }
body.app-rengaw .rw-gi-tabela td.text-end, body.app-rengaw .rw-gi-tabela th.text-end { white-space: nowrap; }
body.app-rengaw .card > .table-responsive > .rw-gi-tabela tr > :first-child { padding-left: 1rem; }
body.app-rengaw .card > .table-responsive > .rw-gi-tabela tr > :last-child { padding-right: 1rem; }
body.app-rengaw .rw-gi-pontuacao input[type="checkbox"] { width: 1.15rem; height: 1.15rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-gi-meta-linha { flex-direction: column; gap: 0.25rem; }
    body.app-rengaw .rw-gi-meta-linha > div { width: 100%; }
    body.app-rengaw .rw-gi-meta-campo { flex-basis: auto; width: 100%; text-align: left; padding-top: 0; }
    body.app-rengaw .rw-gi-ia-form { max-width: none; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-gi-sobretitulo, [data-bs-theme="dark"] body.app-rengaw .rw-gi-nota, [data-bs-theme="dark"] body.app-rengaw .rw-gi-barra-mes small, [data-bs-theme="dark"] body.app-rengaw .rw-gi-situacao-descartada { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-linha-rotulo { fill: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-icone { background: rgba(0, 144, 244, 0.15); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-positivo { color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-negativo { color: #FF9C93; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-atencao { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-leitura, [data-bs-theme="dark"] body.app-rengaw .rw-gi-selo-alerta, [data-bs-theme="dark"] body.app-rengaw .rw-gi-faixa-atencao { background: rgba(247, 184, 75, 0.15); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-faixa-dentro, [data-bs-theme="dark"] body.app-rengaw .rw-gi-lado-compra, [data-bs-theme="dark"] body.app-rengaw .rw-gi-situacao-executada { background: rgba(10, 179, 156, 0.15); color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-faixa-fora, [data-bs-theme="dark"] body.app-rengaw .rw-gi-lado-venda { background: rgba(240, 101, 72, 0.15); color: #FF9C93; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-marca { background: #E8EEF6; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-fundo-0, [data-bs-theme="dark"] body.app-rengaw .rw-gi-legenda-valor { background: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-traco-0, [data-bs-theme="dark"] body.app-rengaw .rw-gi-linha-valor { stroke: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-fundo-1 { background: #8FCBFF; } [data-bs-theme="dark"] body.app-rengaw .rw-gi-traco-1 { stroke: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-fundo-2 { background: #4FB3FF; } [data-bs-theme="dark"] body.app-rengaw .rw-gi-traco-2 { stroke: #4FB3FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-fundo-3 { background: #A9B6C6; } [data-bs-theme="dark"] body.app-rengaw .rw-gi-traco-3 { stroke: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-linha-custo { stroke: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-legenda-custo { background: repeating-linear-gradient(90deg, #A9B6C6 0 4px, transparent 4px 7px); }
[data-bs-theme="dark"] body.app-rengaw .rw-gi-antes { background: #5D6A79; }

/* ---------------------------------------------------------------- Planejamento de viagens (2026-10-15, prefixo rw-vg-) */
body.app-rengaw .rw-vg-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-vg-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; margin-bottom: 0.35rem; }
body.app-rengaw .rw-vg-min0 { min-width: 0; }
body.app-rengaw .rw-vg-passos { padding-left: 1.2rem; }
body.app-rengaw .rw-vg-passos li { margin-bottom: 0.4rem; }
body.app-rengaw .rw-vg-contagem { font-family: "Exo 2", sans-serif; font-size: 1.05rem; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-vg-contagem span { font-size: 2.4rem; font-weight: 700; color: var(--vz-primary); margin-right: 0.25rem; }
body.app-rengaw .rw-vg-alerta { display: flex; gap: 0.5rem; align-items: flex-start; }
body.app-rengaw .rw-vg-alerta i { color: #B54708; margin-top: 0.15rem; }
body.app-rengaw .rw-vg-alerta-perigo i { color: #C8372D; }
body.app-rengaw .rw-vg-alerta-caixa { background: var(--vz-card-bg); border: 1px solid var(--vz-border-color); color: var(--vz-body-color); }
body.app-rengaw .rw-vg-alerta-caixa.rw-vg-alerta-perigo { border-color: #F0A6A0; background: #FEF3F2; color: #8E2A22; }
body.app-rengaw .rw-vg-alerta-caixa.rw-vg-alerta-aviso { border-color: #F5D08A; background: #FFF8EB; color: #7A4A00; }
body.app-rengaw .rw-vg-situacao { display: inline-block; font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.2rem 0.5rem; border-radius: 999px; border: 1px solid var(--vz-border-color); color: #4F5D6E; background: var(--vz-card-bg); }
body.app-rengaw .rw-vg-situacao-confirmada { color: #006ECB; border-color: #9CCBF5; background: #EEF6FE; }
body.app-rengaw .rw-vg-situacao-andamento { color: #067647; border-color: #9FD9BC; background: #ECFDF3; }
body.app-rengaw .rw-vg-situacao-concluida { color: #4F5D6E; background: #F4F7FB; }
body.app-rengaw .rw-vg-situacao-cancelada { color: #8E2A22; border-color: #F0A6A0; background: #FEF3F2; }
body.app-rengaw .rw-vg-capa-mini { width: 64px; height: 64px; border-radius: 12px; object-fit: cover; flex-shrink: 0; }
body.app-rengaw .rw-vg-capa-vazia { display: inline-flex; align-items: center; justify-content: center; background: #EEF6FE; color: var(--vz-primary); font-size: 1.6rem; }
body.app-rengaw .rw-vg-cartao { display: flex; gap: 0.75rem; align-items: center; padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 14px; color: inherit; text-decoration: none; height: 100%; background: var(--vz-card-bg); }
body.app-rengaw .rw-vg-cartao:hover, body.app-rengaw .rw-vg-cartao:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-vg-cartao-capa { width: 72px; height: 72px; border-radius: 12px; object-fit: cover; flex-shrink: 0; }
body.app-rengaw .rw-vg-cartao-corpo { min-width: 0; flex: 1; }
body.app-rengaw .rw-vg-ia-ok { color: #067647; }
body.app-rengaw .rw-vg-ia-off { background: var(--vz-card-bg); border: 1px solid var(--vz-border-color); color: var(--vz-body-color); }
body.app-rengaw .rw-vg-ia-off i { color: var(--vz-secondary-color); }
body.app-rengaw .rw-vg-agora { border-color: #9CCBF5; }
body.app-rengaw .rw-vg-agora-atalho i { color: var(--vz-primary); }
body.app-rengaw .rw-vg-relogio { font-family: "Exo 2", sans-serif; font-size: 1.6rem; font-weight: 700; color: var(--vz-primary); }
body.app-rengaw .rw-vg-hora { font-family: "IBM Plex Mono", monospace; font-size: 0.82rem; color: var(--vz-primary); }
body.app-rengaw .rw-vg-codigo { font-family: "IBM Plex Mono", monospace; font-weight: 600; letter-spacing: 0.04em; }
body.app-rengaw .rw-vg-emergencia { color: #8E2A22; }
body.app-rengaw .rw-vg-dias-mini { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-vg-dias-mini li { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.35rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-vg-dias-mini li:last-child { border-bottom: 0; }
body.app-rengaw .rw-vg-dia-num { display: inline-flex; align-items: center; justify-content: center; min-width: 1.7rem; height: 1.7rem; border-radius: 8px; background: #EEF6FE; color: var(--vz-primary); font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.85rem; flex-shrink: 0; }
body.app-rengaw .rw-vg-chip { display: inline-block; font-size: 0.72rem; padding: 0.1rem 0.45rem; border-radius: 999px; background: #F4F7FB; border: 1px solid var(--vz-border-color); color: #4F5D6E; }
body.app-rengaw .rw-vg-chip-perigo { background: #FEF3F2; border-color: #F0A6A0; color: #8E2A22; }
body.app-rengaw .rw-vg-dicas-ia { margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-vg-barra { height: 0.5rem; border-radius: 999px; }
body.app-rengaw .rw-vg-sugestoes { background: #EEF6FE; border: 1px dashed #9CCBF5; color: var(--vz-body-color); }
body.app-rengaw .rw-vg-proposta { border-style: dashed; border-color: #9CCBF5; }
body.app-rengaw .rw-vg-roteiro { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); margin-bottom: 0.5rem; }
body.app-rengaw .rw-vg-roteiro .card { margin-bottom: 0; }
body.app-rengaw .rw-vg-periodos { display: grid; gap: 0.75rem; }
body.app-rengaw .rw-vg-mais { color: var(--vz-primary); margin-left: 0.25rem; }
body.app-rengaw .rw-vg-lista { list-style: none; padding: 0.15rem; margin: 0; min-height: 2.2rem; border-radius: 10px; border: 1px dashed transparent; }
body.app-rengaw .rw-vg-lista.rw-vg-alvo { border-color: var(--vz-primary); background: #EEF6FE; }
body.app-rengaw .rw-vg-bloco { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.5rem 0.6rem; border: 1px solid var(--vz-border-color); border-radius: 10px; background: var(--vz-card-bg); margin-bottom: 0.4rem; }
body.app-rengaw .rw-vg-bloco[draggable="true"] { cursor: grab; }
body.app-rengaw .rw-vg-bloco.rw-vg-arrastando { opacity: 0.5; }
body.app-rengaw .rw-vg-bloco.rw-vg-sugerido, body.app-rengaw .rw-vg-checklist .rw-vg-sugerido { border-style: dashed; border-color: #9CCBF5; background: #F7FBFF; }
body.app-rengaw .rw-vg-bloco.rw-vg-feito .rw-vg-bloco-corpo strong { text-decoration: line-through; color: #4F5D6E; }
body.app-rengaw .rw-vg-bloco.rw-vg-reserva { background: #F4F7FB; }
body.app-rengaw .rw-vg-bloco-icone { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 8px; background: #EEF6FE; color: var(--vz-primary); flex-shrink: 0; }
body.app-rengaw .rw-vg-bloco-corpo { flex: 1; min-width: 0; overflow-wrap: anywhere; }
body.app-rengaw .rw-vg-bloco-acoes { display: flex; flex-wrap: wrap; gap: 0.25rem; flex-shrink: 0; }
body.app-rengaw .rw-vg-nota { color: #4F5D6E; }
body.app-rengaw .rw-vg-ideias { border-style: dashed; }
body.app-rengaw .rw-vg-direitos summary { cursor: pointer; color: var(--vz-primary); }
body.app-rengaw .rw-vg-subabas .nav-link { border-radius: 999px; padding: 0.3rem 0.9rem; font-size: 0.875rem; }
body.app-rengaw .rw-vg-numero .card-body { padding: 0.9rem 1rem; }
body.app-rengaw .rw-vg-valor { font-family: "Exo 2", sans-serif; font-size: 1.3rem; font-weight: 700; color: var(--vz-heading-color, #00336A); margin: 0; }
body.app-rengaw .rw-vg-celula-valor { min-width: 9rem; }
body.app-rengaw .rw-vg-sugestao-valor { color: var(--vz-primary); }
body.app-rengaw .rw-vg-partes { display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
body.app-rengaw .rw-vg-parte { display: flex; gap: 0.5rem; align-items: center; justify-content: space-between; border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.4rem 0.6rem; }
body.app-rengaw .rw-vg-parte .form-check { margin-bottom: 0; }
body.app-rengaw .rw-vg-parte-valor { max-width: 7rem; }
body.app-rengaw .rw-vg-credito { color: #067647; }
body.app-rengaw .rw-vg-debito { color: #B42318; }
body.app-rengaw .rw-vg-check { font-size: 1.25rem; line-height: 1; color: var(--vz-primary); }
body.app-rengaw .rw-vg-nota-diario { display: flex; gap: 0.75rem; align-items: flex-start; flex-wrap: wrap; }
body.app-rengaw .rw-vg-foto { width: 140px; max-width: 100%; height: 105px; object-fit: cover; border-radius: 10px; }
body.app-rengaw .rw-vg-etapas { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; counter-reset: etapa; }
body.app-rengaw .rw-vg-etapas li { counter-increment: etapa; flex: 1 1 10rem; padding: 0.5rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 10px; background: var(--vz-card-bg); color: #4F5D6E; font-size: 0.9rem; }
body.app-rengaw .rw-vg-etapas li::before { content: counter(etapa) ". "; font-weight: 700; }
body.app-rengaw .rw-vg-etapas li.atual { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-vg-etapas li.feita { border-color: #9FD9BC; color: #067647; background: #ECFDF3; }
body.app-rengaw .rw-vg-saldo { font-weight: 600; }
body.app-rengaw .rw-vg-legenda { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.85rem; }
body.app-rengaw .rw-vg-legenda::before { content: ""; width: 0.8rem; height: 0.8rem; border-radius: 3px; background: currentColor; }
body.app-rengaw .rw-vg-legenda.rw-vg-ev-lazer, body.app-rengaw .fc .rw-vg-ev-lazer { color: #006ECB; }
body.app-rengaw .rw-vg-legenda.rw-vg-ev-familia, body.app-rengaw .fc .rw-vg-ev-familia { color: #067647; }
body.app-rengaw .rw-vg-legenda.rw-vg-ev-trabalho, body.app-rengaw .fc .rw-vg-ev-trabalho { color: #003387; }
body.app-rengaw .fc .rw-vg-ev-lazer.fc-h-event, body.app-rengaw .fc .rw-vg-ev-familia.fc-h-event, body.app-rengaw .fc .rw-vg-ev-trabalho.fc-h-event { background: currentColor; border-color: currentColor; }
body.app-rengaw .fc .rw-vg-ev-lazer .fc-event-main, body.app-rengaw .fc .rw-vg-ev-familia .fc-event-main, body.app-rengaw .fc .rw-vg-ev-trabalho .fc-event-main { color: #FFFFFF; }
body.app-rengaw .fc .rw-vg-ev-reserva { background: #006ECB; border-color: #006ECB; }
body.app-rengaw .fc .rw-vg-ev-bloco { background: #EEF6FE; border-color: #9CCBF5; }
body.app-rengaw .fc .rw-vg-ev-bloco .fc-event-main, body.app-rengaw .fc .rw-vg-ev-bloco .fc-event-title { color: #00336A; }
body.app-rengaw .rw-vg-publico .card { margin-bottom: 1rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-sobretitulo, [data-bs-theme="dark"] body.app-rengaw .rw-vg-rotulo, [data-bs-theme="dark"] body.app-rengaw .rw-vg-nota, [data-bs-theme="dark"] body.app-rengaw .rw-vg-chip, [data-bs-theme="dark"] body.app-rengaw .rw-vg-etapas li { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-contagem, [data-bs-theme="dark"] body.app-rengaw .rw-vg-valor { color: #E8EEF6; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-contagem span, [data-bs-theme="dark"] body.app-rengaw .rw-vg-relogio, [data-bs-theme="dark"] body.app-rengaw .rw-vg-hora, [data-bs-theme="dark"] body.app-rengaw .rw-vg-check, [data-bs-theme="dark"] body.app-rengaw .rw-vg-mais, [data-bs-theme="dark"] body.app-rengaw .rw-vg-sugestao-valor, [data-bs-theme="dark"] body.app-rengaw .rw-vg-direitos summary { color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-capa-vazia, [data-bs-theme="dark"] body.app-rengaw .rw-vg-dia-num, [data-bs-theme="dark"] body.app-rengaw .rw-vg-bloco-icone { background: rgba(0, 144, 244, 0.16); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-chip, [data-bs-theme="dark"] body.app-rengaw .rw-vg-bloco.rw-vg-reserva, [data-bs-theme="dark"] body.app-rengaw .rw-vg-situacao-concluida { background: rgba(255, 255, 255, 0.05); }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-situacao { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-situacao-confirmada { color: #8FCBFF; border-color: rgba(143, 203, 255, 0.4); background: rgba(0, 144, 244, 0.12); }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-situacao-andamento, [data-bs-theme="dark"] body.app-rengaw .rw-vg-etapas li.feita { color: #7EE2B0; border-color: rgba(126, 226, 176, 0.4); background: rgba(10, 179, 156, 0.12); }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-situacao-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-vg-chip-perigo, [data-bs-theme="dark"] body.app-rengaw .rw-vg-alerta-caixa.rw-vg-alerta-perigo { color: #FFB4AB; border-color: rgba(255, 180, 171, 0.4); background: rgba(240, 101, 72, 0.12); }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-alerta-caixa.rw-vg-alerta-aviso { color: #F7C873; border-color: rgba(247, 200, 115, 0.4); background: rgba(247, 184, 75, 0.1); }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-alerta i { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-alerta-perigo i, [data-bs-theme="dark"] body.app-rengaw .rw-vg-emergencia, [data-bs-theme="dark"] body.app-rengaw .rw-vg-debito { color: #FFB4AB; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-credito, [data-bs-theme="dark"] body.app-rengaw .rw-vg-ia-ok { color: #7EE2B0; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-sugestoes, [data-bs-theme="dark"] body.app-rengaw .rw-vg-bloco.rw-vg-sugerido, [data-bs-theme="dark"] body.app-rengaw .rw-vg-checklist .rw-vg-sugerido, [data-bs-theme="dark"] body.app-rengaw .rw-vg-lista.rw-vg-alvo { background: rgba(0, 144, 244, 0.1); border-color: rgba(143, 203, 255, 0.45); }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-etapas li.atual { color: #8FCBFF; border-color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-legenda.rw-vg-ev-lazer, [data-bs-theme="dark"] body.app-rengaw .fc .rw-vg-ev-lazer { color: #3B9EE8; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-legenda.rw-vg-ev-familia, [data-bs-theme="dark"] body.app-rengaw .fc .rw-vg-ev-familia { color: #12A57A; }
[data-bs-theme="dark"] body.app-rengaw .rw-vg-legenda.rw-vg-ev-trabalho, [data-bs-theme="dark"] body.app-rengaw .fc .rw-vg-ev-trabalho { color: #6C8FD8; }
[data-bs-theme="dark"] body.app-rengaw .fc .rw-vg-ev-bloco { background: rgba(0, 144, 244, 0.16); border-color: rgba(143, 203, 255, 0.45); }
[data-bs-theme="dark"] body.app-rengaw .fc .rw-vg-ev-bloco .fc-event-main, [data-bs-theme="dark"] body.app-rengaw .fc .rw-vg-ev-bloco .fc-event-title { color: #E8EEF6; }

/* ==================================================================================================
   Planejamento de eventos (2026-10-16, plano 104). Prefixo rw-pev-. Claro e escuro. Cor do evento só em pontos,
   na contagem regressiva e no mapa (nada de borda lateral colorida nos cartões).
   ================================================================================================== */
body.app-rengaw .rw-pev-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; margin-bottom: 0.5rem; }
body.app-rengaw .rw-pev-ia-ok { color: #067647; }
body.app-rengaw .rw-pev-ia-off { background: var(--vz-card-bg); border: 1px solid var(--vz-border-color); color: var(--vz-body-color); }
body.app-rengaw .rw-pev-ia-off i { color: var(--vz-secondary-color); }
body.app-rengaw .rw-pev-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
body.app-rengaw .rw-pev-cabeca { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-pev-cor { display: inline-block; width: 0.75rem; height: 0.75rem; border-radius: 50%; flex: 0 0 auto; vertical-align: middle; }
body.app-rengaw .rw-pev-codigo { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pev-contagem { margin-left: auto; font-family: "Exo 2", sans-serif; font-weight: 700; color: var(--vz-primary); }
body.app-rengaw .rw-pev-situacao, body.app-rengaw .rw-pev-rsvp, body.app-rengaw .rw-pev-selo { display: inline-flex; align-items: center; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; border-radius: 6px; padding: 0.125rem 0.5rem; background: var(--vz-light); color: var(--vz-secondary-color); white-space: nowrap; }
body.app-rengaw .rw-pev-situacao.planejando, body.app-rengaw .rw-pev-rsvp.talvez { background: #E6F1FB; color: #00336A; }
body.app-rengaw .rw-pev-situacao.confirmado, body.app-rengaw .rw-pev-rsvp.confirmado, body.app-rengaw .rw-pev-selo.bom { background: #E3F4EC; color: #067647; }
body.app-rengaw .rw-pev-situacao.cancelado, body.app-rengaw .rw-pev-rsvp.recusado, body.app-rengaw .rw-pev-selo.ruim { background: #FDECE8; color: #B42318; }
body.app-rengaw .rw-pev-rsvp.espera { background: #FEF3DD; color: #8A5200; }
body.app-rengaw .rw-pev-abas-rolagem { overflow-x: auto; position: relative; }
body.app-rengaw .rw-pev-abas { flex-wrap: nowrap; white-space: nowrap; min-width: max-content; }
body.app-rengaw .rw-pev-abas .nav-link i { margin-right: 0.15rem; }
body.app-rengaw .rw-pev-tipos { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-pev-tipo { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; padding: 1rem 0.5rem; border: 1px solid var(--vz-border-color); border-radius: 16px; color: var(--vz-body-color); text-align: center; }
body.app-rengaw .rw-pev-tipo i { font-size: 1.75rem; color: var(--vz-primary); }
body.app-rengaw .rw-pev-tipo:hover, body.app-rengaw .rw-pev-tipo:focus-visible { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-pev-cartao { color: var(--vz-body-color); transition: border-color 0.15s; }
body.app-rengaw .rw-pev-cartao:hover, body.app-rengaw .rw-pev-cartao:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-pev-dias { --rw-pev-cor: #006ECB; flex: 0 0 auto; width: 3.75rem; padding: 0.4rem 0; border-radius: 12px; text-align: center; background: var(--vz-light); border-top: 4px solid var(--rw-pev-cor); display: flex; flex-direction: column; }
body.app-rengaw .rw-pev-dias-n { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.5rem; line-height: 1.1; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-pev-dias-r { font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pev-termo { --rw-pev-c: #0AB39C; flex: 0 0 auto; width: 3.25rem; height: 3.25rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; position: relative; background: conic-gradient(var(--rw-pev-c) calc(var(--rw-pev-pct) * 1%), var(--vz-light) 0); }
body.app-rengaw .rw-pev-termo::before { content: ""; position: absolute; inset: 0.4rem; border-radius: 50%; background: var(--vz-card-bg); }
body.app-rengaw .rw-pev-termo > span { position: relative; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.95rem; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-pev-termo.grande { width: 8.5rem; height: 8.5rem; margin: 0 auto; }
body.app-rengaw .rw-pev-termo.grande::before { inset: 0.75rem; }
body.app-rengaw .rw-pev-termo.grande > span { font-size: 2.25rem; }
body.app-rengaw .rw-pev-termo.atencao { --rw-pev-c: #F7B84B; }
body.app-rengaw .rw-pev-termo.ruim { --rw-pev-c: #F06548; }
body.app-rengaw .rw-pev-mini { list-style: none; padding: 0; margin: 0.85rem 0 0; font-size: 0.8125rem; display: grid; gap: 0.25rem; }
body.app-rengaw .rw-pev-mini i { color: var(--vz-secondary-color); }
body.app-rengaw .rw-pev-lista > li { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pev-lista > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-pev-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); gap: 1rem; }
body.app-rengaw .rw-pev-numeros > a, body.app-rengaw .rw-pev-numeros > div { display: flex; flex-direction: column; color: var(--vz-body-color); min-width: 0; }
body.app-rengaw .rw-pev-num { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.5rem; line-height: 1.2; color: var(--vz-heading-color, var(--vz-body-color)); overflow-wrap: anywhere; }
body.app-rengaw .rw-pev-barra { height: 0.5rem; border-radius: 99px; background: var(--vz-light); overflow: hidden; }
body.app-rengaw .rw-pev-barra.fina { height: 0.35rem; min-width: 4rem; }
body.app-rengaw .rw-pev-barra > span { display: block; height: 100%; background: var(--vz-primary); border-radius: 99px; }
body.app-rengaw .rw-pev-barra > span.ruim { background: #F06548; }
body.app-rengaw .rw-pev-chip { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.8125rem; padding: 0.25rem 0.6rem; border-radius: 99px; background: var(--vz-light); color: var(--vz-body-color); }
body.app-rengaw .rw-pev-chip.ruim { background: #FDECE8; color: #B42318; }
body.app-rengaw .rw-pev-chip.bom { background: #E3F4EC; color: #067647; }
body.app-rengaw .rw-pev-sugeridas { border-style: dashed; }
body.app-rengaw tr.rw-pev-atrasada > td { background: rgba(240, 101, 72, 0.06); }
body.app-rengaw tr.rw-pev-estouro > td { background: rgba(247, 184, 75, 0.12); }
body.app-rengaw .rw-pev-situacao-tarefa { min-width: 8rem; }
body.app-rengaw .rw-pev-quadro { display: grid; grid-template-columns: repeat(3, minmax(14rem, 1fr)); gap: 1rem; overflow-x: auto; position: relative; }
body.app-rengaw .rw-pev-coluna { background: var(--vz-light); border-radius: 12px; padding: 0.75rem; min-width: 0; }
body.app-rengaw .rw-pev-ficha-tarefa { background: var(--vz-card-bg); border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.6rem 0.75rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-pev-ficha-tarefa.atrasada { border-color: #F06548; }
body.app-rengaw .rw-pev-valor { max-width: 8.5rem; text-align: right; }
body.app-rengaw .rw-pev-texto { border-top: 1px solid var(--vz-border-color); padding-top: 0.75rem; margin-top: 0.75rem; }
body.app-rengaw .rw-pev-comparacao + .rw-pev-comparacao { border-top: 1px solid var(--vz-border-color); padding-top: 1rem; margin-top: 1rem; }
body.app-rengaw .rw-pev-cotacoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-pev-cotacao { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem; min-width: 0; }
body.app-rengaw .rw-pev-cotacao.menor { border-color: #0AB39C; box-shadow: inset 0 0 0 1px #0AB39C; }
body.app-rengaw .rw-pev-cotacao.escolhida { background: rgba(0, 110, 203, 0.05); }
body.app-rengaw .rw-pev-cotacao .rw-pev-num { font-size: 1.25rem; }
body.app-rengaw .rw-pev-data { max-width: 9.5rem; }
body.app-rengaw .rw-pev-arquivo { max-width: 13rem; }
body.app-rengaw .rw-pev-estrelas { display: flex; flex-wrap: wrap; gap: 0.35rem; border: 0; padding: 0; }
body.app-rengaw .rw-pev-estrelas legend { width: 100%; }
body.app-rengaw .rw-pev-qr svg { width: 100%; max-width: 12rem; height: auto; background: #FFFFFF; padding: 0.4rem; border-radius: 10px; }
body.app-rengaw .rw-pev-codigo-grande { font-family: "IBM Plex Mono", monospace; font-size: 1.25rem; font-weight: 600; letter-spacing: 0.15em; margin: 0.5rem 0; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-pev-link { max-width: 34rem; }
/* Mapa de mesas: posições em percentual vindas do servidor. */
body.app-rengaw .rw-pev-mapa { position: relative; min-height: 34rem; border: 1px dashed var(--vz-border-color); border-radius: 16px; background-color: var(--vz-light); background-image: radial-gradient(var(--vz-border-color) 1px, transparent 1px); background-size: 22px 22px; overflow: hidden; }
body.app-rengaw .rw-pev-mapa-vazio { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; margin: 0; padding: 1rem; text-align: center; }
body.app-rengaw .rw-pev-mesa { position: absolute; width: 9.5rem; background: var(--vz-card-bg); border: 2px solid #006ECB; border-radius: 50%; min-height: 9.5rem; padding: 0.75rem 1rem; display: flex; flex-direction: column; align-items: center; text-align: center; box-shadow: 0 1px 2px rgba(6, 28, 61, 0.08); }
body.app-rengaw .rw-pev-mesa.retangular { border-radius: 14px; width: 10rem; min-height: 6rem; }
body.app-rengaw .rw-pev-mesa.lotada { border-color: #0AB39C; }
body.app-rengaw .rw-pev-mesa.passou { border-color: #F06548; }
body.app-rengaw .rw-pev-mesa.acessivel { outline: 2px dotted #006ECB; outline-offset: 3px; }
body.app-rengaw .rw-pev-mesa.alvo { background: #E6F1FB; }
body.app-rengaw .rw-pev-mesa:focus-visible { outline: 3px solid #0090F4; outline-offset: 3px; }
body.app-rengaw .rw-pev-mesa-topo { cursor: grab; font-size: 0.8125rem; width: 100%; touch-action: none; user-select: none; }
body.app-rengaw .rw-pev-mesa-n { display: block; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pev-mesa-pessoas { list-style: none; padding: 0; margin: 0.25rem 0 0; font-size: 0.6875rem; max-height: 4.25rem; overflow-y: auto; width: 100%; }
body.app-rengaw .rw-pev-pessoa { cursor: grab; border-radius: 6px; padding: 0.1rem 0.25rem; }
body.app-rengaw .rw-pev-pessoa:focus-visible, body.app-rengaw .rw-pev-pessoa.escolhida { outline: 2px solid #0090F4; background: #E6F1FB; }
body.app-rengaw .rw-pev-mais { font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pev-sem-mesa { max-height: 32rem; overflow-y: auto; }
body.app-rengaw .rw-pev-sem-mesa > .rw-pev-pessoa { padding: 0.5rem 0.25rem; border-bottom: 1px solid var(--vz-border-color); }
/* Roteiro do dia */
body.app-rengaw .rw-pev-momento { display: flex; gap: 0.85rem; align-items: flex-start; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pev-momento:last-child { border-bottom: 0; }
body.app-rengaw .rw-pev-momento.sobrepoe { background: rgba(240, 101, 72, 0.06); border-radius: 10px; padding-left: 0.5rem; padding-right: 0.5rem; }
body.app-rengaw .rw-pev-hora { flex: 0 0 3.5rem; display: flex; flex-direction: column; font-family: "IBM Plex Mono", monospace; }
body.app-rengaw .rw-pev-hora strong { font-size: 1rem; color: var(--vz-primary); }
body.app-rengaw .rw-pev-hora span { font-size: 0.6875rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pev-fala { font-style: italic; color: #00336A; }
/* Credenciamento */
body.app-rengaw .rw-pev-resultado { display: flex; gap: 0.75rem; align-items: flex-start; border-radius: 12px; padding: 0.85rem 1rem; margin-bottom: 1rem; }
body.app-rengaw .rw-pev-resultado > i { font-size: 1.75rem; line-height: 1; }
body.app-rengaw .rw-pev-resultado.bom { background: #E3F4EC; color: #067647; }
body.app-rengaw .rw-pev-resultado.atencao { background: #FEF3DD; color: #8A5200; }
body.app-rengaw .rw-pev-resultado.ruim { background: #FDECE8; color: #B42318; }
body.app-rengaw .rw-pev-camera { width: 100%; max-width: 22rem; border-radius: 12px; background: #061C3D; }
body.app-rengaw .rw-pev-placar { font-family: "Exo 2", sans-serif; font-size: 1.5rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pev-placar strong { font-size: 3rem; color: var(--vz-heading-color, var(--vz-body-color)); }
/* Pós-evento */
body.app-rengaw .rw-pev-nps { --rw-pev-c: #0AB39C; flex: 0 0 auto; width: 5rem; height: 5rem; border-radius: 50%; border: 6px solid var(--rw-pev-c); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
body.app-rengaw .rw-pev-nps span { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.4rem; }
body.app-rengaw .rw-pev-nps small { font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pev-nps.atencao { --rw-pev-c: #F7B84B; }
body.app-rengaw .rw-pev-nps.ruim { --rw-pev-c: #F06548; }
body.app-rengaw .rw-pev-resumo { background: var(--vz-light); border-radius: 12px; padding: 0.75rem 1rem; font-size: 0.875rem; }
body.app-rengaw .rw-pev-comentarios { padding-left: 1.1rem; font-size: 0.875rem; }
body.app-rengaw .rw-pev-comentarios li + li { margin-top: 0.4rem; }
body.app-rengaw .rw-pev-legenda { display: inline-block; width: 0.75rem; height: 0.75rem; border-radius: 3px; vertical-align: middle; }
/* Páginas públicas (convite, inscrição e pesquisa) */
body.app-rengaw .rw-pev-publico .rw-menu-capa { margin-bottom: 1rem; }
body.app-rengaw .rw-pev-publico-sub { color: #C9E6FF; margin: 0.25rem 0 0; font-size: 0.875rem; }
body.app-rengaw .rw-pev-publico-icone { font-size: 2.75rem; color: var(--vz-secondary-color); display: block; margin-bottom: 0.5rem; }
body.app-rengaw .rw-pev-publico-icone.ok { color: #0AB39C; }
body.app-rengaw .rw-pev-respostas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
body.app-rengaw .rw-pev-notas { display: flex; flex-wrap: wrap; gap: 0.35rem; }
body.app-rengaw .rw-pev-notas .btn { min-width: 2.6rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-pev-contagem { margin-left: 0; width: 100%; }
    body.app-rengaw .rw-pev-mapa { min-height: 26rem; }
    body.app-rengaw .rw-pev-mesa { width: 6.5rem; min-height: 6.5rem; }
    body.app-rengaw .rw-pev-mesa.retangular { width: 7.5rem; }
    body.app-rengaw .rw-pev-quadro { grid-template-columns: repeat(3, 15rem); }
}
[data-bs-theme="dark"] body.app-rengaw .rw-pev-sobretitulo { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-ia-ok { color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-situacao.planejando, [data-bs-theme="dark"] body.app-rengaw .rw-pev-rsvp.talvez { background: rgba(0, 144, 244, 0.18); color: #C9E6FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-situacao.confirmado, [data-bs-theme="dark"] body.app-rengaw .rw-pev-rsvp.confirmado, [data-bs-theme="dark"] body.app-rengaw .rw-pev-selo.bom, [data-bs-theme="dark"] body.app-rengaw .rw-pev-chip.bom, [data-bs-theme="dark"] body.app-rengaw .rw-pev-resultado.bom { background: rgba(10, 179, 156, 0.2); color: #5FD9C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-situacao.cancelado, [data-bs-theme="dark"] body.app-rengaw .rw-pev-rsvp.recusado, [data-bs-theme="dark"] body.app-rengaw .rw-pev-selo.ruim, [data-bs-theme="dark"] body.app-rengaw .rw-pev-chip.ruim, [data-bs-theme="dark"] body.app-rengaw .rw-pev-resultado.ruim { background: rgba(240, 101, 72, 0.2); color: #FFB4A4; }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-rsvp.espera, [data-bs-theme="dark"] body.app-rengaw .rw-pev-resultado.atencao { background: rgba(247, 184, 75, 0.18); color: #F7D08A; }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-mesa { border-color: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-mesa.lotada { border-color: #0AB39C; }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-mesa.passou { border-color: #F06548; }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-mesa.alvo, [data-bs-theme="dark"] body.app-rengaw .rw-pev-pessoa.escolhida, [data-bs-theme="dark"] body.app-rengaw .rw-pev-pessoa:focus-visible { background: rgba(0, 144, 244, 0.22); }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-fala { color: #C9E6FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-cotacao.escolhida { background: rgba(0, 144, 244, 0.1); }
[data-bs-theme="dark"] body.app-rengaw .rw-pev-hora strong, [data-bs-theme="dark"] body.app-rengaw .rw-pev-contagem { color: #0090F4; }

/* ===== Comparar editais (2026-10-16, plano 105). Prefixo rw-cmp-. Cores dos editais E1 a E6 (chips, colunas e
   marcas); classes comum a todos (verde), comum a alguns (azul) e exclusivo (âmbar), claro e escuro. ===== */
body.app-rengaw { --rw-cmp-e1: #006ECB; --rw-cmp-e2: #0A7E6E; --rw-cmp-e3: #6F42C1; --rw-cmp-e4: #B5470B; --rw-cmp-e5: #B4236B; --rw-cmp-e6: #3E5370; --rw-cmp-todos: #0A7E6E; --rw-cmp-alguns: #006ECB; --rw-cmp-exclusivo: #8A5200; }
body.app-rengaw .rw-cmp-privado { display: flex; align-items: center; gap: 0.5rem; color: var(--vz-secondary-color); font-size: 0.875rem; }
body.app-rengaw .rw-cmp-privado i { color: var(--vz-primary); }
body.app-rengaw .rw-cmp-sub { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cmp-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-cmp-numero { font-family: "Exo 2", sans-serif; font-size: 2.25rem; font-weight: 700; line-height: 1.1; color: var(--vz-primary); margin-bottom: 0.25rem; }
body.app-rengaw .rw-cmp-numero small { font-size: 0.875rem; font-weight: 500; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cmp-numero-menor { font-size: 1.75rem; }
body.app-rengaw .rw-cmp-numero-verde { color: var(--rw-cmp-todos); }
body.app-rengaw .rw-cmp-aviso-ia { display: flex; align-items: flex-start; gap: 0.5rem; }
body.app-rengaw .rw-cmp-aviso-ia > i { font-size: 1.1rem; line-height: 1.3; }
body.app-rengaw .rw-cmp-espera:not([hidden]) { display: flex; align-items: center; gap: 0.5rem; margin-top: 1rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cmp-vazio-icone { display: block; font-size: 2.5rem; color: var(--vz-primary); margin-bottom: 0.5rem; }
body.app-rengaw .rw-cmp-destaque { border-color: var(--vz-primary); }
body.app-rengaw .rw-cmp-colunas { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem; }
body.app-rengaw .rw-cmp-chip { --cor: var(--rw-cmp-e1); display: inline-flex; align-items: center; max-width: 12rem; padding: 0.125rem 0.5rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--cor); background: color-mix(in srgb, var(--cor) 12%, transparent); border: 1px solid color-mix(in srgb, var(--cor) 35%, transparent); }
body.app-rengaw .rw-cmp-chip.pendente { border-style: dashed; opacity: 0.75; }
body.app-rengaw .rw-cmp-cor-1 { --cor: var(--rw-cmp-e1); }
body.app-rengaw .rw-cmp-cor-2 { --cor: var(--rw-cmp-e2); }
body.app-rengaw .rw-cmp-cor-3 { --cor: var(--rw-cmp-e3); }
body.app-rengaw .rw-cmp-cor-4 { --cor: var(--rw-cmp-e4); }
body.app-rengaw .rw-cmp-cor-5 { --cor: var(--rw-cmp-e5); }
body.app-rengaw .rw-cmp-cor-6 { --cor: var(--rw-cmp-e6); }
body.app-rengaw .rw-cmp-codigo { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 10px; font-family: "Exo 2", sans-serif; font-weight: 700; color: #FFFFFF; background: var(--cor, var(--rw-cmp-e1)); }
body.app-rengaw .rw-cmp-item { display: flex; align-items: center; gap: 0.875rem; }
body.app-rengaw .rw-cmp-afinidade-anel { --valor: 0; flex: 0 0 auto; position: relative; display: inline-flex; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; border-radius: 50%; background: conic-gradient(var(--rw-cmp-todos) calc(var(--valor) * 1%), var(--vz-border-color) 0); }
body.app-rengaw .rw-cmp-afinidade-anel::before { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-cmp-afinidade-anel > span { position: relative; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.8125rem; color: var(--vz-body-color); }
body.app-rengaw .rw-cmp-afinidade-anel.grande { width: 5.5rem; height: 5.5rem; }
body.app-rengaw .rw-cmp-afinidade-anel.grande::before { inset: 8px; }
body.app-rengaw .rw-cmp-afinidade-anel.grande > span { font-size: 1.375rem; }
body.app-rengaw .rw-cmp-provas li { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cmp-provas li:first-child { border-top: 0; }
body.app-rengaw .rw-cmp-dia { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; border-radius: 12px; background: var(--vz-light); border: 1px solid var(--vz-border-color); line-height: 1.05; }
body.app-rengaw .rw-cmp-dia strong { font-family: "Exo 2", sans-serif; font-size: 1.25rem; color: var(--vz-primary); }
body.app-rengaw .rw-cmp-dia small { font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cmp-situacao { flex: 0 0 auto; padding: 0.125rem 0.5rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.04em; background: var(--vz-light); color: var(--vz-secondary-color); }
body.app-rengaw .rw-cmp-situacao.ok { background: rgba(10, 126, 110, 0.12); color: #0A6B5E; }
body.app-rengaw .rw-cmp-situacao.atencao { background: rgba(247, 184, 75, 0.18); color: #8A5200; }
body.app-rengaw .rw-cmp-situacao.erro { background: rgba(240, 101, 72, 0.14); color: #B42318; }
body.app-rengaw .rw-cmp-ficha-curta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.app-rengaw .rw-cmp-dica { display: flex; gap: 0.5rem; font-size: 0.8125rem; color: var(--vz-secondary-color); background: var(--vz-light); border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.625rem 0.75rem; }
body.app-rengaw .rw-cmp-dica i { color: var(--vz-primary); font-size: 1.05rem; }
body.app-rengaw .rw-cmp-col-num { width: 7rem; }
body.app-rengaw .rw-cmp-topicos summary { cursor: pointer; }
body.app-rengaw .rw-cmp-topicos ol { margin-top: 0.5rem; padding-left: 1.25rem; font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cmp-mudanca { display: flex; align-items: flex-start; gap: 0.625rem; padding: 0.5rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cmp-mudanca:first-child { border-top: 0; }
body.app-rengaw .rw-cmp-mudanca-tipo { flex: 0 0 4.5rem; text-align: center; padding: 0.0625rem 0.375rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; background: rgba(0, 110, 203, 0.12); color: #00539A; }
body.app-rengaw .rw-cmp-mudanca.nova .rw-cmp-mudanca-tipo { background: rgba(10, 126, 110, 0.12); color: #0A6B5E; }
body.app-rengaw .rw-cmp-mudanca.removida .rw-cmp-mudanca-tipo { background: rgba(240, 101, 72, 0.14); color: #B42318; }
body.app-rengaw .rw-cmp-classe { display: inline-block; padding: 0.0625rem 0.5rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; white-space: nowrap; }
body.app-rengaw .rw-cmp-classe.todos { background: rgba(10, 126, 110, 0.13); color: #0A6B5E; }
body.app-rengaw .rw-cmp-classe.alguns { background: rgba(0, 110, 203, 0.12); color: #00539A; }
body.app-rengaw .rw-cmp-classe.exclusivo { background: rgba(247, 184, 75, 0.2); color: #7A4800; }
body.app-rengaw .rw-cmp-barra-classes { display: flex; height: 0.75rem; border-radius: 999px; overflow: hidden; background: var(--vz-border-color); margin-bottom: 0.75rem; }
body.app-rengaw .rw-cmp-barra-classes .todos { background: var(--rw-cmp-todos); }
body.app-rengaw .rw-cmp-barra-classes .alguns { background: var(--rw-cmp-alguns); }
body.app-rengaw .rw-cmp-barra-classes .exclusivo { background: #F7B84B; }
body.app-rengaw .rw-cmp-legenda { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; font-size: 0.8125rem; }
body.app-rengaw .rw-cmp-calor th, body.app-rengaw .rw-cmp-calor td { text-align: center; border: 0; padding: 0.25rem; }
body.app-rengaw .rw-cmp-calor-valor { --valor: 0; display: inline-flex; align-items: center; justify-content: center; min-width: 3rem; padding: 0.375rem 0.25rem; border-radius: 8px; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.8125rem; color: var(--vz-body-color); background: color-mix(in srgb, var(--rw-cmp-todos) calc(var(--valor) * 0.6%), transparent); border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cmp-calor-vazio, body.app-rengaw .rw-cmp-nao { color: var(--vz-secondary-color); }
body.app-rengaw .rw-cmp-aproveitamento li { padding: 0.625rem 1rem; border-top: 1px solid var(--vz-border-color); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.25rem 0.625rem; }
body.app-rengaw .rw-cmp-aproveitamento li:first-child { border-top: 0; }
body.app-rengaw .rw-cmp-aproveitamento small { grid-column: 1 / -1; }
body.app-rengaw .rw-cmp-trilho { height: 0.5rem; border-radius: 999px; background: var(--vz-border-color); overflow: hidden; }
body.app-rengaw .rw-cmp-trilho > span { display: block; height: 100%; background: var(--rw-cmp-todos); border-radius: 999px; }
body.app-rengaw .rw-cmp-pct { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.875rem; }
body.app-rengaw .rw-cmp-celulas { display: inline-flex; gap: 0.25rem; }
body.app-rengaw .rw-cmp-ponto { width: 0.625rem; height: 0.625rem; border-radius: 50%; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cmp-ponto.sim { background: var(--rw-cmp-todos); border-color: var(--rw-cmp-todos); }
body.app-rengaw .rw-cmp-tabela td:first-child { min-width: 14rem; }
body.app-rengaw .rw-cmp-marca { display: inline-flex; flex-direction: column; align-items: center; line-height: 1.1; color: var(--rw-cmp-todos); }
body.app-rengaw .rw-cmp-marca i { font-size: 1.15rem; }
body.app-rengaw .rw-cmp-marca small { font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cmp-dominado { color: var(--vz-secondary-color); }
body.app-rengaw .rw-cmp-base-legal { display: flex; align-items: flex-start; gap: 0.5rem; margin-top: 0.5rem; font-size: 0.75rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cmp-base-legal i { color: var(--vz-primary); }
body.app-rengaw .rw-cmp-horas { width: 5.5rem; }
body.app-rengaw .rw-cmp-linha { position: relative; height: 2.25rem; border-radius: 10px; background: var(--vz-light); border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cmp-linha-plano { position: absolute; left: 0; top: 0.25rem; bottom: 0.25rem; display: flex; gap: 2px; min-width: 6rem; }
body.app-rengaw .rw-cmp-linha-fase { min-width: 0; display: flex; align-items: center; justify-content: center; border-radius: 6px; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.75rem; color: #FFFFFF; background: var(--rw-cmp-todos); overflow: hidden; }
body.app-rengaw .rw-cmp-linha-fase.fase-2 { background: var(--rw-cmp-alguns); }
body.app-rengaw .rw-cmp-linha-fase.fase-3 { background: #6F42C1; }
body.app-rengaw .rw-cmp-linha-fase.fase-4 { background: #B5470B; }
body.app-rengaw .rw-cmp-linha-fase.fase-5, body.app-rengaw .rw-cmp-linha-fase.fase-6 { background: #B4236B; }
body.app-rengaw .rw-cmp-linha-fase.fase-7, body.app-rengaw .rw-cmp-linha-fase.fase-8 { background: #3E5370; }
body.app-rengaw .rw-cmp-linha-fase.revisao { background: #5D6A79; }
body.app-rengaw .rw-cmp-linha-prova { position: absolute; top: 100%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; color: var(--vz-body-color); white-space: nowrap; }
body.app-rengaw .rw-cmp-linha-prova::before { content: ""; position: absolute; bottom: 100%; left: 50%; width: 2px; height: 2.25rem; background: #00336A; }
body.app-rengaw .rw-cmp-linha-prova i { color: #00336A; font-size: 0.875rem; }
body.app-rengaw .rw-cmp-linha-prova.apertada i, body.app-rengaw .rw-cmp-linha-prova.apertada { color: #B42318; }
body.app-rengaw .rw-cmp-linha-prova.apertada::before { background: #B42318; }
body.app-rengaw .rw-cmp-prazos li { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.8125rem; padding: 0.25rem 0; }
body.app-rengaw .rw-cmp-prazos li.ok i { color: var(--rw-cmp-todos); }
body.app-rengaw .rw-cmp-prazos li.apertado i { color: #B42318; }
body.app-rengaw .rw-cmp-fase-numero { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; font-family: "Exo 2", sans-serif; font-weight: 700; color: #FFFFFF; background: var(--rw-cmp-todos); }
body.app-rengaw .rw-cmp-fase.fase-2 .rw-cmp-fase-numero { background: var(--rw-cmp-alguns); }
body.app-rengaw .rw-cmp-fase.fase-3 .rw-cmp-fase-numero { background: #6F42C1; }
body.app-rengaw .rw-cmp-fase.fase-4 .rw-cmp-fase-numero { background: #B5470B; }
body.app-rengaw .rw-cmp-fase.fase-5 .rw-cmp-fase-numero, body.app-rengaw .rw-cmp-fase.fase-6 .rw-cmp-fase-numero { background: #B4236B; }
body.app-rengaw .rw-cmp-fase.fase-7 .rw-cmp-fase-numero, body.app-rengaw .rw-cmp-fase.fase-8 .rw-cmp-fase-numero { background: #3E5370; }
body.app-rengaw .rw-cmp-fase.revisao .rw-cmp-fase-numero { background: #5D6A79; }
body.app-rengaw .rw-cmp-porque { display: flex; gap: 0.375rem; font-size: 0.8125rem; color: var(--vz-body-color); }
body.app-rengaw .rw-cmp-porque i { color: var(--vz-primary); }
body.app-rengaw .rw-cmp-temas > li { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.625rem 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cmp-temas > li:first-child { border-top: 0; }
body.app-rengaw .rw-cmp-temas > li > .min-w-0 { flex: 1 1 0; }
body.app-rengaw .rw-cmp-fase .card-header > .min-w-0 { flex: 1 1 12rem; }
body.app-rengaw .rw-cmp-eixo { margin-top: 2.5rem; }
body.app-rengaw .rw-cmp-pontos { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 1.75rem; border-radius: 8px; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.875rem; color: var(--vz-primary); background: rgba(0, 110, 203, 0.1); }
body.app-rengaw .rw-cmp-ajustes form { display: flex; gap: 0.25rem; }
body.app-rengaw .rw-cmp-ajuste { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 8px; border: 1px solid var(--vz-border-color); background: transparent; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cmp-ajuste:hover:not(:disabled), body.app-rengaw .rw-cmp-ajuste:focus-visible { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-cmp-ajuste.ativo { background: var(--rw-cmp-todos); border-color: var(--rw-cmp-todos); color: #FFFFFF; }
body.app-rengaw .rw-cmp-ajuste:disabled { opacity: 0.4; }
body.app-rengaw .rw-cmp-regra { padding-left: 1rem; }
body.app-rengaw .rw-cmp-regra li { margin-bottom: 0.25rem; }
body.app-rengaw .rw-cmp-texto-plano { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; }
body.app-rengaw .rw-cmp-dicas { padding-left: 1.125rem; }
body.app-rengaw .rw-cmp-sugestoes { display: flex; flex-wrap: wrap; gap: 0.375rem; }
body.app-rengaw .rw-cmp-pergunta-icone { color: var(--vz-primary); font-size: 1.15rem; }
body.app-rengaw .rw-cmp-trecho { font-size: 0.8125rem; color: var(--vz-secondary-color); margin-bottom: 0.375rem; }
body.app-rengaw .rw-cmp-pagina { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-cmp-ficha-curta { grid-template-columns: 1fr; }
    body.app-rengaw .rw-cmp-temas > li { flex-wrap: wrap; }
    body.app-rengaw .rw-cmp-ajustes { width: 100%; padding-left: 3.25rem; }
}
[data-bs-theme="dark"] body.app-rengaw { --rw-cmp-e1: #4DB2FF; --rw-cmp-e2: #3DD6BF; --rw-cmp-e3: #B79CF0; --rw-cmp-e4: #F2A06B; --rw-cmp-e5: #F28AC0; --rw-cmp-e6: #A9B8CC; --rw-cmp-todos: #2DC2AB; --rw-cmp-alguns: #4DB2FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-codigo { color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-situacao.ok, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-classe.todos, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-mudanca.nova .rw-cmp-mudanca-tipo { background: rgba(45, 194, 171, 0.18); color: #7FE6D5; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-classe.alguns, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-mudanca-tipo { background: rgba(0, 144, 244, 0.2); color: #9ED3FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-situacao.atencao, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-classe.exclusivo { background: rgba(247, 184, 75, 0.18); color: #F7D08A; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-situacao.erro, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-mudanca.removida .rw-cmp-mudanca-tipo { background: rgba(240, 101, 72, 0.2); color: #FFB4A4; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-fase, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-fase-numero, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-ajuste.ativo { color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-fase.fase-3, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-fase.fase-3 .rw-cmp-fase-numero { background: #B79CF0; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-fase.fase-4, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-fase.fase-4 .rw-cmp-fase-numero { background: #F2A06B; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-fase.fase-5, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-fase.fase-6, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-fase.fase-5 .rw-cmp-fase-numero, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-fase.fase-6 .rw-cmp-fase-numero { background: #F28AC0; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-fase.fase-7, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-fase.fase-8, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-fase.revisao, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-fase.fase-7 .rw-cmp-fase-numero, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-fase.fase-8 .rw-cmp-fase-numero, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-fase.revisao .rw-cmp-fase-numero { background: #A9B8CC; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-prova::before { background: #C9E6FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-prova i { color: #C9E6FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-prova.apertada, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-prova.apertada i, [data-bs-theme="dark"] body.app-rengaw .rw-cmp-prazos li.apertado i { color: #FFB4A4; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-linha-prova.apertada::before { background: #FFB4A4; }
[data-bs-theme="dark"] body.app-rengaw .rw-cmp-pontos { background: rgba(0, 144, 244, 0.18); color: #9ED3FF; }

/* ------------------------------------------------------------------ Professor digital (2026-10-16, plano 106) */
body.app-rengaw .rw-pdg-privado { display: flex; align-items: center; gap: 0.5rem; color: var(--vz-secondary-color); font-size: 0.875rem; }
body.app-rengaw .rw-pdg-privado i { color: var(--vz-primary); }
body.app-rengaw .rw-pdg-sobre { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.375rem; }
body.app-rengaw .rw-pdg-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-pdg-numero { font-family: "Exo 2", sans-serif; font-size: 2.1rem; font-weight: 700; line-height: 1.1; color: var(--vz-primary); margin-bottom: 0.25rem; }
body.app-rengaw .rw-pdg-numero small { font-size: 0.95rem; font-weight: 600; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pdg-numero.rw-pdg-destaque { color: #B42318; }
body.app-rengaw .rw-pdg-aviso-ia { display: flex; align-items: flex-start; gap: 0.5rem; }
body.app-rengaw .rw-pdg-aviso-ia > i { font-size: 1.1rem; line-height: 1.3; }
body.app-rengaw .rw-pdg-espera:not([hidden]) { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--vz-secondary-color); font-size: 0.875rem; }
body.app-rengaw div.rw-pdg-espera:not([hidden]) { display: block; }
body.app-rengaw .rw-pdg-barra { display: block; height: 6px; border-radius: 999px; background: var(--vz-light); overflow: hidden; }
body.app-rengaw .rw-pdg-barra > span { display: block; height: 100%; background: var(--vz-primary); border-radius: 999px; }
body.app-rengaw .rw-pdg-barra-curta { width: 6rem; }
body.app-rengaw .rw-pdg-em-uso { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; margin-bottom: 1rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-pdg-em-uso a.fw-semibold { font-family: "Exo 2", sans-serif; }
body.app-rengaw .rw-pdg-em-uso .rw-pdg-sobre { display: block; margin-bottom: 0; }
body.app-rengaw .rw-pdg-sugestao .h5, body.app-rengaw .rw-pdg-sugestao .h6 { font-family: "Exo 2", sans-serif; }
body.app-rengaw .rw-pdg-nota { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.8125rem; color: var(--vz-secondary-color); background: var(--vz-light); border-radius: 10px; padding: 0.625rem 0.75rem; }
body.app-rengaw .rw-pdg-nota i { color: var(--vz-primary); font-size: 1rem; }
body.app-rengaw .rw-pdg-item-edital .rw-pdg-barra { max-width: 18rem; }
body.app-rengaw .rw-pdg-disciplina + .rw-pdg-disciplina { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pdg-disciplina h3 { font-family: "Exo 2", sans-serif; font-weight: 600; }
body.app-rengaw .rw-pdg-topicos { margin: 0; padding-left: 1.25rem; }
body.app-rengaw .rw-pdg-topicos li { margin-bottom: 0.25rem; }
body.app-rengaw .rw-pdg-situacao { display: inline-block; font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.1rem 0.45rem; border-radius: 999px; border: 1px solid var(--vz-border-color); color: var(--vz-secondary-color); vertical-align: 0.1rem; }
body.app-rengaw .rw-pdg-situacao-estudado { background: rgba(10, 133, 98, 0.1); border-color: rgba(10, 133, 98, 0.35); color: #0A7E5C; }
body.app-rengaw .rw-pdg-situacao-revisar { background: rgba(214, 140, 0, 0.12); border-color: rgba(214, 140, 0, 0.4); color: #8A5200; }
body.app-rengaw .rw-pdg-legenda { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-pdg-filtros { display: flex; flex-wrap: wrap; gap: 0.375rem; }

/* Mapa do edital (trilha) */
body.app-rengaw .rw-pdg-mapa { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-pdg-no { display: flex; flex-direction: column; gap: 0.25rem; padding: 0.625rem 0.75rem; border-radius: 10px; border: 1px solid var(--vz-border-color); background: var(--vz-secondary-bg); color: var(--vz-body-color); text-decoration: none; min-height: 4.5rem; transition: border-color 0.15s, box-shadow 0.15s; }
body.app-rengaw .rw-pdg-no:hover, body.app-rengaw .rw-pdg-no:focus-visible { border-color: var(--vz-primary); box-shadow: 0 0 0 2px rgba(0, 110, 203, 0.15); color: var(--vz-body-color); }
body.app-rengaw .rw-pdg-no-texto { font-size: 0.8125rem; line-height: 1.3; }
body.app-rengaw .rw-pdg-no-numeros { margin-top: auto; font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pdg-no-estudado { background: rgba(10, 133, 98, 0.08); border-color: rgba(10, 133, 98, 0.35); }
body.app-rengaw .rw-pdg-no-revisar { background: rgba(214, 140, 0, 0.1); border-color: rgba(214, 140, 0, 0.45); }

/* Aula */
body.app-rengaw .rw-pdg-conversa { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1rem; }
body.app-rengaw .rw-pdg-voce { align-self: flex-end; max-width: min(42rem, 92%); background: rgba(0, 110, 203, 0.08); border: 1px solid rgba(0, 110, 203, 0.2); border-radius: 16px 16px 4px 16px; padding: 0.75rem 1rem; }
body.app-rengaw .rw-pdg-voce .rw-pdg-sobre { display: block; margin-bottom: 0.25rem; }
body.app-rengaw .rw-pdg-fala { background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 16px 16px 16px 4px; padding: 1rem 1.25rem; max-width: 100%; }
body.app-rengaw .rw-pdg-fala-topo { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem; flex-wrap: wrap; }
body.app-rengaw .rw-pdg-avatar { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: #061C3D; color: #0090F4; font-size: 1.15rem; flex-shrink: 0; }
body.app-rengaw .rw-pdg-boas-vindas { display: flex; gap: 0.75rem; align-items: flex-start; padding: 1rem 1.25rem; border: 1px dashed var(--vz-border-color); border-radius: 16px; }
body.app-rengaw .rw-pdg-essencial { background: rgba(0, 144, 244, 0.08); border: 1px solid rgba(0, 144, 244, 0.25); border-radius: 10px; padding: 0.75rem 1rem; margin-bottom: 0.75rem; }
body.app-rengaw .rw-pdg-essencial .rw-pdg-md { font-weight: 500; }
body.app-rengaw .rw-pdg-md > :last-child { margin-bottom: 0; }
body.app-rengaw .rw-pdg-md h3, body.app-rengaw .rw-pdg-md h4 { font-family: "Exo 2", sans-serif; font-size: 1rem; font-weight: 600; margin: 0.75rem 0 0.375rem; }
body.app-rengaw .rw-pdg-md blockquote { border-left: 3px solid var(--vz-border-color); padding-left: 0.75rem; color: var(--vz-secondary-color); margin: 0.5rem 0; }
body.app-rengaw .rw-pdg-md code { font-size: 0.85em; }
body.app-rengaw .rw-pdg-bloco { margin-top: 0.875rem; }
body.app-rengaw .rw-pdg-bloco > .rw-pdg-sobre { display: flex; align-items: center; }
body.app-rengaw .rw-pdg-exemplo { background: var(--vz-light); border-radius: 10px; padding: 0.625rem 0.875rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-pdg-pegadinhas ul { padding-left: 1.1rem; }
body.app-rengaw .rw-pdg-pegadinhas li::marker { color: #B42318; }
body.app-rengaw .rw-pdg-fontes { margin-top: 0.875rem; padding-top: 0.75rem; border-top: 1px solid var(--vz-border-color); font-size: 0.875rem; }
body.app-rengaw .rw-pdg-fontes li + li { margin-top: 0.25rem; }
body.app-rengaw .rw-pdg-fonte-tipo { display: inline-block; font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.05rem 0.4rem; border-radius: 6px; background: #061C3D; color: #FFFFFF; }
body.app-rengaw .rw-pdg-cita { display: inline-block; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; font-weight: 600; padding: 0 0.35rem; border-radius: 6px; background: rgba(0, 110, 203, 0.12); color: var(--vz-primary); text-decoration: none; vertical-align: 0.05rem; }
body.app-rengaw a.rw-pdg-cita:hover, body.app-rengaw a.rw-pdg-cita:focus-visible { background: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-pdg-cita-nao { background: rgba(180, 35, 24, 0.1); color: #B42318; text-decoration: line-through; }
body.app-rengaw .rw-pdg-fonte-nao { color: #B42318; }
body.app-rengaw .rw-pdg-aviso-geral { display: flex; gap: 0.5rem; align-items: flex-start; background: rgba(214, 140, 0, 0.1); border: 1px solid rgba(214, 140, 0, 0.35); color: #6B4000; border-radius: 10px; padding: 0.625rem 0.875rem; margin-bottom: 0.75rem; font-size: 0.875rem; }
body.app-rengaw .rw-pdg-fora { display: flex; gap: 0.75rem; align-items: flex-start; }
body.app-rengaw .rw-pdg-fora > i { font-size: 1.5rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pdg-perguntar { position: sticky; bottom: 0.75rem; z-index: 5; }
body.app-rengaw .rw-pdg-acoes, body.app-rengaw .rw-pdg-sugestoes { display: flex; flex-wrap: wrap; gap: 0.375rem; }
body.app-rengaw .rw-pdg-base-legal { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.75rem; color: var(--vz-secondary-color); margin: 0.75rem 0 0; }
body.app-rengaw .rw-pdg-base-legal i { color: var(--vz-primary); }

/* Questões */
body.app-rengaw .rw-pdg-questao { border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.875rem 1rem; background: var(--vz-card-bg, var(--vz-body-bg)); }
body.app-rengaw .rw-pdg-questao + .rw-pdg-questao { margin-top: 0.75rem; }
body.app-rengaw .rw-pdg-q-meta { font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.375rem; }
body.app-rengaw .rw-pdg-q-enunciado { margin-bottom: 0.625rem; }
body.app-rengaw .rw-pdg-q-form fieldset { border: 0; padding: 0; margin: 0; }
body.app-rengaw .rw-pdg-q-ce { display: flex; gap: 0.5rem; }
body.app-rengaw .rw-pdg-q-alt { margin-bottom: 0.25rem; }
body.app-rengaw .rw-pdg-q-resultado li { padding: 0.25rem 0.5rem; border-radius: 6px; }
body.app-rengaw .rw-pdg-q-resultado li.certa { background: rgba(10, 133, 98, 0.1); color: #0A7E5C; }
body.app-rengaw .rw-pdg-q-resultado li.errada { background: rgba(180, 35, 24, 0.08); color: #B42318; text-decoration: line-through; }
body.app-rengaw .rw-pdg-q-veredito { font-weight: 600; margin: 0.5rem 0 0.25rem; }
body.app-rengaw .rw-pdg-q-veredito.certa { color: #0A7E5C; }
body.app-rengaw .rw-pdg-q-veredito.errada { color: #B42318; }
body.app-rengaw .rw-pdg-q-comentario { font-size: 0.875rem; background: var(--vz-light); border-radius: 10px; padding: 0.5rem 0.75rem; }

/* Revisão */
body.app-rengaw .rw-pdg-cartao { max-width: 46rem; margin-inline: auto; }
body.app-rengaw .rw-pdg-cartao-frente { font-size: 1.05rem; margin-bottom: 1rem; }
body.app-rengaw .rw-pdg-cartao-verso summary { list-style: none; }
body.app-rengaw .rw-pdg-cartao-verso summary::-webkit-details-marker { display: none; }
body.app-rengaw .rw-pdg-cartao-verso[open] summary { display: none; }
body.app-rengaw .rw-pdg-notas { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-pdg-notas .btn { min-width: 6.5rem; }

/* Resumo e mapa mental */
body.app-rengaw .rw-pdg-mente { margin: 1rem 0 0; padding: 1rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-light); }
body.app-rengaw .rw-pdg-mente-centro { margin: 0 auto 1rem; max-width: 22rem; text-align: center; background: #061C3D; color: #FFFFFF; font-family: "Exo 2", sans-serif; font-weight: 600; border-radius: 10px; padding: 0.625rem 1rem; }
body.app-rengaw .rw-pdg-mente-ramos { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 0.625rem; }
body.app-rengaw .rw-pdg-mente-ramo { background: var(--vz-secondary-bg); border: 1px solid rgba(0, 144, 244, 0.35); border-radius: 10px; padding: 0.5rem 0.75rem; font-size: 0.8125rem; }
body.app-rengaw .rw-pdg-mente-ramo > strong { display: block; font-family: "Exo 2", sans-serif; color: var(--vz-primary); }
body.app-rengaw .rw-pdg-mente-ramo ul { margin: 0.25rem 0 0; padding-left: 1rem; }
body.app-rengaw .rw-pdg-exemplo-mapa { font-size: 0.75rem; background: var(--vz-light); border-radius: 10px; padding: 0.5rem 0.75rem; }

/* Base e trechos */
body.app-rengaw .rw-pdg-busca { max-width: 32rem; }
body.app-rengaw .rw-pdg-trecho-destaque { border-color: rgba(0, 144, 244, 0.5); background: rgba(0, 144, 244, 0.05); }
body.app-rengaw .rw-pdg-trecho-vizinho { opacity: 0.85; }

[data-bs-theme="dark"] body.app-rengaw .rw-pdg-numero.rw-pdg-destaque, [data-bs-theme="dark"] body.app-rengaw .rw-pdg-fonte-nao, [data-bs-theme="dark"] body.app-rengaw .rw-pdg-cita-nao, [data-bs-theme="dark"] body.app-rengaw .rw-pdg-q-veredito.errada, [data-bs-theme="dark"] body.app-rengaw .rw-pdg-q-resultado li.errada { color: #FF8A80; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdg-situacao-estudado, [data-bs-theme="dark"] body.app-rengaw .rw-pdg-q-veredito.certa, [data-bs-theme="dark"] body.app-rengaw .rw-pdg-q-resultado li.certa { color: #5FD4A8; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdg-situacao-revisar, [data-bs-theme="dark"] body.app-rengaw .rw-pdg-aviso-geral { color: #F6C26B; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdg-voce { background: rgba(0, 144, 244, 0.12); border-color: rgba(0, 144, 244, 0.3); }
[data-bs-theme="dark"] body.app-rengaw .rw-pdg-cita, [data-bs-theme="dark"] body.app-rengaw .rw-pdg-mente-ramo > strong { color: #6CC2FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdg-cita { background: rgba(0, 144, 244, 0.18); }
[data-bs-theme="dark"] body.app-rengaw .rw-pdg-cita.rw-pdg-cita-nao { background: rgba(255, 138, 128, 0.15); color: #FF8A80; }
[data-bs-theme="dark"] body.app-rengaw .rw-pdg-avatar, [data-bs-theme="dark"] body.app-rengaw .rw-pdg-mente-centro, [data-bs-theme="dark"] body.app-rengaw .rw-pdg-fonte-tipo { background: #0090F4; color: #061C3D; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-pdg-em-uso { flex-wrap: wrap; }
    body.app-rengaw .rw-pdg-fala { padding: 0.875rem; }
    body.app-rengaw .rw-pdg-voce { max-width: 100%; }
    body.app-rengaw .rw-pdg-perguntar { position: static; }
}
/* ---------------------------------------------------------------- Análise de ações (2026-10-16), prefixo rw-anl- */
body.app-rengaw .rw-anl-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-anl-aviso { display: flex; gap: 0.625rem; align-items: flex-start; padding: 0.75rem 1rem; margin-bottom: 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-card-bg); font-size: 0.875rem; }
body.app-rengaw .rw-anl-aviso i { color: var(--vz-primary); font-size: 1.15rem; line-height: 1.2; }
body.app-rengaw .rw-anl-papel { display: inline-block; padding: 0.05rem 0.45rem; border-radius: 6px; background: #E6F2FD; color: #00336A; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; vertical-align: middle; }
body.app-rengaw .rw-anl-numero { font-family: "Exo 2", sans-serif; font-size: 1.35rem; font-weight: 600; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-anl-numero.grande { font-size: 1.7rem; }
body.app-rengaw .rw-anl-positivo { color: #1E7A46; }
body.app-rengaw .rw-anl-negativo { color: #B3261E; }
body.app-rengaw .rw-anl-atencao { color: #8A5200; }
body.app-rengaw .rw-anl-semaforo { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.2rem 0.65rem; border-radius: 999px; font-size: 0.78rem; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-anl-semaforo.abaixo { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-anl-semaforo.abaixo_justo { background: #EEF7F1; color: #1E7A46; }
body.app-rengaw .rw-anl-semaforo.perto { background: #FFF4DE; color: #7A4B00; }
body.app-rengaw .rw-anl-semaforo.acima { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-anl-semaforo.sem { background: var(--vz-light); color: #4F5D6E; font-weight: 500; }
body.app-rengaw .rw-anl-selo { display: inline-block; padding: 0.1rem 0.5rem; border-radius: 999px; font-size: 0.72rem; font-weight: 500; background: var(--vz-light); color: var(--vz-body-color); border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-anl-selo.melhor { background: #E3F4EA; color: #1E7A46; border-color: transparent; }
body.app-rengaw .rw-anl-selo.pior { background: #FDE7E5; color: #B3261E; border-color: transparent; }
body.app-rengaw .rw-anl-cotacao { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: flex-end; }
body.app-rengaw .rw-anl-cotacao input { max-width: 9.5rem; }
body.app-rengaw .rw-anl-regua { position: relative; height: 0.6rem; margin: 2.25rem 0.75rem 0.5rem; border-radius: 999px; background: var(--vz-border-color); }
body.app-rengaw .rw-anl-regua-faixa { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 999px; background: #8FD3A8; opacity: 0.55; }
body.app-rengaw .rw-anl-marca { position: absolute; top: -0.35rem; width: 2px; height: 1.3rem; margin-left: -1px; background: #061C3D; }
body.app-rengaw .rw-anl-marca span { position: absolute; bottom: 1.45rem; left: 50%; transform: translateX(-50%); font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; text-transform: uppercase; white-space: nowrap; color: #4F5D6E; }
body.app-rengaw .rw-anl-marca.justo { background: #006ECB; width: 3px; }
body.app-rengaw .rw-anl-marca.justo span { color: #006ECB; font-weight: 600; }
body.app-rengaw .rw-anl-marca.cotacao { background: #E08A1E; height: 1.6rem; top: -0.5rem; }
body.app-rengaw .rw-anl-marca.cotacao span { bottom: auto; top: 1.7rem; color: #8A5200; font-weight: 600; }
body.app-rengaw .rw-anl-radar { width: 100%; max-width: 17rem; height: auto; }
body.app-rengaw .rw-anl-radar-anel { fill: none; stroke: var(--vz-border-color); }
body.app-rengaw .rw-anl-radar-eixo { stroke: var(--vz-border-color); }
body.app-rengaw .rw-anl-radar-area { fill: rgba(0, 110, 203, 0.22); stroke: #006ECB; stroke-width: 2; }
body.app-rengaw .rw-anl-radar-rotulo { fill: #4F5D6E; font-family: "IBM Plex Mono", monospace; font-size: 9px; text-transform: uppercase; }
body.app-rengaw .rw-anl-nota-geral { font-family: "Exo 2", sans-serif; color: #00336A; }
body.app-rengaw .rw-anl-nota-geral strong { font-size: 2.6rem; font-weight: 700; }
body.app-rengaw .rw-anl-nota-geral span { font-size: 1rem; color: #4F5D6E; margin-left: 0.15rem; }
body.app-rengaw .rw-anl-dimensao { padding: 0.65rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-anl-dimensao:last-child { border-bottom: 0; }
body.app-rengaw .rw-anl-itens { display: grid; grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr)); gap: 0.35rem 1rem; margin: 0.5rem 0 0; }
body.app-rengaw .rw-anl-itens > div { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; min-width: 0; }
body.app-rengaw .rw-anl-itens dt { font-weight: 400; color: var(--vz-body-color); font-size: 0.85rem; margin: 0; }
body.app-rengaw .rw-anl-itens dd { margin: 0; white-space: nowrap; font-size: 0.9rem; }
body.app-rengaw .rw-anl-info { border: 0; background: none; padding: 0 0.1rem; color: #006ECB; line-height: 1; }
body.app-rengaw .rw-anl-nota { display: inline-block; min-width: 2.4rem; padding: 0.1rem 0.45rem; border-radius: 6px; text-align: center; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; }
body.app-rengaw .rw-anl-nota.mini { min-width: 2rem; padding: 0 0.3rem; font-size: 0.68rem; }
body.app-rengaw .rw-anl-nota.boa { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-anl-nota.media { background: #FFF4DE; color: #7A4B00; }
body.app-rengaw .rw-anl-nota.fraca { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-anl-nota.sem { background: var(--vz-light); color: #4F5D6E; }
body.app-rengaw .rw-anl-barras { display: flex; align-items: flex-end; gap: 0.5rem; height: 9rem; }
body.app-rengaw .rw-anl-barra-ano { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; height: 100%; min-width: 0; }
body.app-rengaw .rw-anl-barra-par { flex: 1 1 auto; display: flex; align-items: flex-end; gap: 3px; width: 100%; justify-content: center; }
body.app-rengaw .rw-anl-barra-receita, body.app-rengaw .rw-anl-barra-lucro { display: block; width: 42%; max-width: 1.4rem; min-height: 2px; border-radius: 5px 5px 0 0; }
body.app-rengaw .rw-anl-barra-receita { background: #00336A; }
body.app-rengaw .rw-anl-barra-lucro { background: #0090F4; }
body.app-rengaw .rw-anl-barra-lucro.negativo { background: #D64545; }
body.app-rengaw .rw-anl-barra-ano small { margin-top: 0.25rem; font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; color: #4F5D6E; }
body.app-rengaw .rw-anl-legenda { display: inline-block; width: 0.75rem; height: 0.75rem; margin-right: 0.3rem; border-radius: 3px; vertical-align: middle; }
body.app-rengaw .rw-anl-legenda.receita { background: #00336A; }
body.app-rengaw .rw-anl-legenda.lucro { background: #0090F4; }
body.app-rengaw .rw-anl-legenda.negativo { background: #D64545; }
body.app-rengaw .rw-anl-tabela td.text-end, body.app-rengaw .rw-anl-tabela th.text-end { white-space: nowrap; }
body.app-rengaw .card > .table-responsive > .rw-anl-tabela tr > :first-child { padding-left: 1rem; }
body.app-rengaw .card > .table-responsive > .rw-anl-tabela tr > :last-child { padding-right: 1rem; }
body.app-rengaw .rw-anl-tabela-larga th[scope="row"] { min-width: 14rem; font-size: 0.85rem; }
body.app-rengaw .rw-anl-seu { color: #006ECB; }
body.app-rengaw .rw-anl-linha-atual > * { background: #E6F2FD !important; font-weight: 600; }
body.app-rengaw .rw-anl-checklist { list-style: none; padding: 0; margin: 0.5rem 0 0; display: grid; gap: 0.25rem; }
body.app-rengaw .rw-anl-checklist li { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.875rem; }
body.app-rengaw .rw-anl-checklist li.ok i { color: #1E7A46; }
body.app-rengaw .rw-anl-checklist li.nao i { color: #B3261E; }
body.app-rengaw .rw-anl-checklist li.sem { color: #4F5D6E; }
body.app-rengaw .rw-anl-zona { padding: 0.1rem 0.5rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; }
body.app-rengaw .rw-anl-zona.segura { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-anl-zona.cinzenta { background: #FFF4DE; color: #7A4B00; }
body.app-rengaw .rw-anl-zona.atencao { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-anl-icone { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; border-radius: 10px; background: #E6F2FD; color: #006ECB; font-size: 1.2rem; }
body.app-rengaw .rw-anl-texto-ia { padding: 0.75rem 1rem; border-radius: 10px; background: var(--vz-light); }
body.app-rengaw .rw-anl-pontos { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; gap: 0.4rem; }
body.app-rengaw .rw-anl-pontos li { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.875rem; }
body.app-rengaw .rw-anl-pontos li.fortes i { color: #1E7A46; }
body.app-rengaw .rw-anl-pontos li.atencao i { color: #8A5200; }
body.app-rengaw .rw-anl-fonte { display: block; font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; color: #4F5D6E; margin-top: 0.1rem; }
body.app-rengaw .rw-anl-origens { list-style: none; padding: 0; display: grid; gap: 0.3rem; font-size: 0.85rem; }
body.app-rengaw .rw-anl-origens i { color: #006ECB; }
body.app-rengaw .rw-anl-atalho { color: inherit; transition: border-color 0.15s ease; }
body.app-rengaw .rw-anl-atalho:hover, body.app-rengaw .rw-anl-atalho:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-anl-grupo { border-bottom: 1px solid var(--vz-border-color); padding: 0.5rem 0; }
body.app-rengaw .rw-anl-grupo:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-anl-grupo > summary, body.app-rengaw .rw-anl-modelo > summary { cursor: pointer; font-weight: 600; color: #00336A; padding: 0.25rem 0; }
body.app-rengaw .rw-anl-grupo > .row { margin-top: 0.75rem; }
body.app-rengaw .rw-anl-ao-vivo { padding: 0.4rem 0.6rem; border-radius: 8px; background: #E6F2FD; color: #00336A; }
body.app-rengaw .rw-anl-pesos { display: flex; height: 0.6rem; border-radius: 999px; overflow: hidden; background: var(--vz-border-color); }
body.app-rengaw .rw-anl-peso { display: block; height: 100%; }
body.app-rengaw .rw-anl-ponto { display: inline-block; width: 0.6rem; height: 0.6rem; border-radius: 50%; margin-right: 0.25rem; vertical-align: middle; }
body.app-rengaw .rw-anl-peso.p0, body.app-rengaw .rw-anl-ponto.p0 { background: #006ECB; }
body.app-rengaw .rw-anl-peso.p1, body.app-rengaw .rw-anl-ponto.p1 { background: #00336A; }
body.app-rengaw .rw-anl-peso.p2, body.app-rengaw .rw-anl-ponto.p2 { background: #0090F4; }
body.app-rengaw .rw-anl-peso.p3, body.app-rengaw .rw-anl-ponto.p3 { background: #2E9E5B; }
body.app-rengaw .rw-anl-peso.p4, body.app-rengaw .rw-anl-ponto.p4 { background: #E08A1E; }
body.app-rengaw .rw-anl-peso.p5, body.app-rengaw .rw-anl-ponto.p5 { background: #8A5CD1; }
body.app-rengaw .rw-anl-peso.p6, body.app-rengaw .rw-anl-ponto.p6 { background: #5D6A79; }
body.app-rengaw .rw-anl-implicito { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.65rem 0.85rem; border-radius: 10px; background: #FFF4DE; color: #7A4B00; font-size: 0.875rem; }
body.app-rengaw .rw-anl-implicito i { font-size: 1.15rem; }
body.app-rengaw .rw-anl-passos { list-style: none; counter-reset: passo; padding: 0; margin: 0; display: grid; gap: 0.35rem; }
body.app-rengaw .rw-anl-passos li { counter-increment: passo; display: flex; justify-content: space-between; gap: 1rem; padding: 0.35rem 0.5rem; border-radius: 8px; background: var(--vz-light); font-size: 0.875rem; }
body.app-rengaw .rw-anl-passos li::before { content: counter(passo); flex: 0 0 1.3rem; height: 1.3rem; border-radius: 50%; background: #006ECB; color: #fff; font-size: 0.7rem; display: inline-flex; align-items: center; justify-content: center; }
body.app-rengaw .rw-anl-passo-rotulo { flex: 1 1 auto; min-width: 0; }
body.app-rengaw .rw-anl-passo-rotulo small { display: block; color: #4F5D6E; font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; }
body.app-rengaw .rw-anl-passos strong { white-space: nowrap; }
body.app-rengaw .rw-anl-modelo { border-bottom: 1px solid var(--vz-border-color); padding: 0.4rem 0; }
body.app-rengaw .rw-anl-modelo:last-child { border-bottom: 0; }
body.app-rengaw .rw-anl-modelo > summary { display: flex; justify-content: space-between; gap: 1rem; list-style: none; }
body.app-rengaw .rw-anl-modelo > summary::-webkit-details-marker { display: none; }
body.app-rengaw .rw-anl-modelo > summary::after { content: "\203A"; transform: rotate(90deg); color: #4F5D6E; }
body.app-rengaw .rw-anl-modelo[open] > summary::after { transform: rotate(-90deg); }
body.app-rengaw .rw-anl-modelo > summary span { flex: 1 1 auto; }
body.app-rengaw .rw-anl-modelo > :not(summary) { margin-top: 0.5rem; }
body.app-rengaw .rw-anl-cenario { padding: 0.75rem; border-radius: 12px; border: 1px solid var(--vz-border-color); height: 100%; }
body.app-rengaw .rw-anl-cenario.pessimista { background: #FDF3F2; }
body.app-rengaw .rw-anl-cenario.base { background: #E6F2FD; }
body.app-rengaw .rw-anl-cenario.otimista { background: #EEF7F1; }
body.app-rengaw .rw-anl-sens th, body.app-rengaw .rw-anl-sens td { white-space: nowrap; font-size: 0.8rem; }
body.app-rengaw .rw-anl-sens td.acima { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-anl-sens td.abaixo { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-anl-sens td.central { outline: 2px solid #006ECB; outline-offset: -2px; font-weight: 700; }
body.app-rengaw .rw-anl-campo-valor { min-width: 8rem; max-width: 12rem; }
body.app-rengaw .rw-anl-pagina { max-height: 14rem; overflow: auto; padding: 0.5rem 0.75rem; margin-top: 0.35rem; border-radius: 8px; background: var(--vz-light); font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-anl-itens { grid-template-columns: 1fr; }
    body.app-rengaw .rw-anl-numero.grande { font-size: 1.4rem; }
    body.app-rengaw .rw-anl-cotacao input { max-width: none; }
    body.app-rengaw .rw-anl-passos li { flex-wrap: wrap; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-anl-sobretitulo, [data-bs-theme="dark"] body.app-rengaw .rw-anl-fonte, [data-bs-theme="dark"] body.app-rengaw .rw-anl-passo-rotulo small, [data-bs-theme="dark"] body.app-rengaw .rw-anl-barra-ano small, [data-bs-theme="dark"] body.app-rengaw .rw-anl-marca span, [data-bs-theme="dark"] body.app-rengaw .rw-anl-nota-geral span, [data-bs-theme="dark"] body.app-rengaw .rw-anl-checklist li.sem { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-radar-rotulo { fill: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-radar-area { fill: rgba(0, 144, 244, 0.28); stroke: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-nota-geral, [data-bs-theme="dark"] body.app-rengaw .rw-anl-grupo > summary, [data-bs-theme="dark"] body.app-rengaw .rw-anl-modelo > summary { color: #E8F1FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-papel, [data-bs-theme="dark"] body.app-rengaw .rw-anl-icone, [data-bs-theme="dark"] body.app-rengaw .rw-anl-ao-vivo { background: rgba(0, 144, 244, 0.15); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-semaforo.abaixo, [data-bs-theme="dark"] body.app-rengaw .rw-anl-semaforo.abaixo_justo, [data-bs-theme="dark"] body.app-rengaw .rw-anl-nota.boa, [data-bs-theme="dark"] body.app-rengaw .rw-anl-selo.melhor, [data-bs-theme="dark"] body.app-rengaw .rw-anl-zona.segura, [data-bs-theme="dark"] body.app-rengaw .rw-anl-sens td.acima { background: rgba(10, 179, 156, 0.2); color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-semaforo.perto, [data-bs-theme="dark"] body.app-rengaw .rw-anl-nota.media, [data-bs-theme="dark"] body.app-rengaw .rw-anl-zona.cinzenta, [data-bs-theme="dark"] body.app-rengaw .rw-anl-implicito { background: rgba(247, 184, 75, 0.18); color: #F7D08A; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-semaforo.acima, [data-bs-theme="dark"] body.app-rengaw .rw-anl-nota.fraca, [data-bs-theme="dark"] body.app-rengaw .rw-anl-selo.pior, [data-bs-theme="dark"] body.app-rengaw .rw-anl-zona.atencao, [data-bs-theme="dark"] body.app-rengaw .rw-anl-sens td.abaixo { background: rgba(240, 101, 72, 0.2); color: #FFB4A4; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-semaforo.sem, [data-bs-theme="dark"] body.app-rengaw .rw-anl-nota.sem { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-positivo { color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-negativo { color: #FF9C93; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-atencao { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-numero { color: #E8F1FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-barra-receita, [data-bs-theme="dark"] body.app-rengaw .rw-anl-legenda.receita { background: #5D8FD1; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-marca { background: #E8F1FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-marca.justo { background: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-marca.justo span { color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-marca.cotacao span { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-linha-atual > * { background: rgba(0, 144, 244, 0.15) !important; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-cenario.pessimista { background: rgba(240, 101, 72, 0.1); }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-cenario.base { background: rgba(0, 144, 244, 0.1); }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-cenario.otimista { background: rgba(10, 179, 156, 0.1); }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-peso.p1, [data-bs-theme="dark"] body.app-rengaw .rw-anl-ponto.p1 { background: #5D8FD1; }

/* Substituição alimentar (2026-10-16, plano 108). Prefixo rw-sub-. Claro e escuro. */
body.app-rengaw .rw-sub-privado { display: flex; align-items: center; gap: 0.5rem; color: var(--vz-secondary-color); font-size: 0.875rem; }
body.app-rengaw .rw-sub-privado i { color: var(--vz-primary); }
body.app-rengaw .rw-sub-sobre { display: block; font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-sub-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-sub-numero { font-family: "Exo 2", sans-serif; font-size: 2rem; font-weight: 700; line-height: 1.1; color: var(--vz-primary); margin-bottom: 0.25rem; }
body.app-rengaw .rw-sub-numero small { font-size: 0.95rem; font-weight: 600; color: var(--vz-secondary-color); }
body.app-rengaw .rw-sub-aviso-ia { display: flex; align-items: flex-start; gap: 0.5rem; }
body.app-rengaw .rw-sub-aviso-ia > i { font-size: 1.1rem; line-height: 1.3; }
body.app-rengaw .rw-sub-espera:not([hidden]) { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--vz-secondary-color); font-size: 0.875rem; }
body.app-rengaw div.rw-sub-espera:not([hidden]) { display: block; }
body.app-rengaw .rw-sub-em-uso { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; margin-bottom: 1rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-sub-em-uso a.fw-semibold, body.app-rengaw .rw-sub-em-uso .fw-semibold { font-family: "Exo 2", sans-serif; }
body.app-rengaw .rw-sub-nutri { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.8125rem; color: var(--vz-body-color); background: rgba(0, 110, 203, 0.06); border: 1px solid rgba(0, 110, 203, 0.18); border-radius: 12px; padding: 0.625rem 0.75rem; margin-bottom: 1rem; }
body.app-rengaw .rw-sub-nutri i { color: var(--vz-primary); font-size: 1.1rem; line-height: 1.2; }
body.app-rengaw .rw-sub-nota { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.8125rem; color: var(--vz-secondary-color); background: var(--vz-light); border-radius: 10px; padding: 0.625rem 0.75rem; }
body.app-rengaw .rw-sub-nota i { color: var(--vz-primary); font-size: 1rem; }
body.app-rengaw .rw-sub-selo { display: inline-block; font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.1rem 0.45rem; margin-right: 0.25rem; border-radius: 999px; border: 1px solid var(--vz-border-color); color: var(--vz-secondary-color); vertical-align: 0.1rem; white-space: nowrap; }
body.app-rengaw .rw-sub-selo-natura { background: rgba(10, 133, 98, 0.1); border-color: rgba(10, 133, 98, 0.35); color: #0A7E5C; }
body.app-rengaw .rw-sub-selo-ultra { background: rgba(214, 140, 0, 0.12); border-color: rgba(214, 140, 0, 0.4); color: #8A5200; }
body.app-rengaw .rw-sub-pendente { color: #8A5200; font-weight: 600; }
body.app-rengaw .rw-sub-alerta { color: #B42318; }
body.app-rengaw .rw-sub-hora { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; color: var(--vz-primary); background: rgba(0, 110, 203, 0.08); border-radius: 999px; padding: 0.1rem 0.5rem; }
body.app-rengaw .rw-sub-nutrientes { display: flex; flex-wrap: wrap; gap: 0.375rem; padding: 0; margin: 0 0 0.5rem; list-style: none; }
body.app-rengaw .rw-sub-nutrientes li { font-size: 0.8125rem; padding: 0.2rem 0.6rem; border-radius: 999px; background: var(--vz-light); color: var(--vz-body-color); }
body.app-rengaw .rw-sub-nutrientes li span { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-sub-opcoes { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-sub-opcao { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.375rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 999px; cursor: pointer; font-size: 0.875rem; margin: 0; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-sub-opcao input { margin: 0; accent-color: var(--vz-primary); }
body.app-rengaw .rw-sub-opcao:has(input:checked) { border-color: var(--vz-primary); background: rgba(0, 110, 203, 0.08); color: var(--vz-primary); }
body.app-rengaw .rw-sub-opcao:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(0, 110, 203, 0.25); }
body.app-rengaw .rw-sub-itens th, body.app-rengaw .rw-sub-conta th { font-weight: 500; }
body.app-rengaw .rw-sub-conta .table { font-size: 0.8125rem; }
body.app-rengaw .rw-sub-dif td, body.app-rengaw .rw-sub-dif th { font-weight: 600; color: var(--vz-primary); }
body.app-rengaw .rw-sub-troca .h5 { font-family: "Exo 2", sans-serif; }
body.app-rengaw .rw-sub-gramas { font-family: "IBM Plex Mono", monospace; font-size: 0.8125rem; font-weight: 500; color: var(--vz-primary); white-space: nowrap; }
body.app-rengaw .rw-sub-receita { border-top: 1px solid var(--vz-border-color); padding-top: 0.75rem; }
body.app-rengaw .rw-sub-receita ol { padding-left: 1.25rem; font-size: 0.875rem; }
body.app-rengaw .rw-sub-regras { padding-left: 1.1rem; }
body.app-rengaw .rw-sub-linha { padding-bottom: 0.75rem; margin-bottom: 0.75rem; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-sub-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-sub-linha-pendente { background: rgba(214, 140, 0, 0.06); border-radius: 10px; padding: 0.5rem; }
body.app-rengaw .rw-sub-trocado { font-weight: 600; color: #0A7E5C; text-decoration: underline dotted; text-underline-offset: 2px; }
body.app-rengaw .rw-sub-semana { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-sub-dia .card-header h3 { font-family: "Exo 2", sans-serif; text-transform: capitalize; }
body.app-rengaw .rw-sub-dia-itens { list-style: none; padding: 0; margin: 0 0 0.5rem; font-size: 0.8125rem; }
body.app-rengaw .rw-sub-dia-itens small { color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-sub-selo-natura { background: rgba(10, 179, 156, 0.12); border-color: rgba(10, 179, 156, 0.4); color: #4FD1B4; }
[data-bs-theme="dark"] body.app-rengaw .rw-sub-selo-ultra { background: rgba(247, 184, 75, 0.12); border-color: rgba(247, 184, 75, 0.4); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-sub-pendente { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-sub-alerta { color: #FF8A80; }
[data-bs-theme="dark"] body.app-rengaw .rw-sub-trocado { color: #4FD1B4; }
[data-bs-theme="dark"] body.app-rengaw .rw-sub-nutri { background: rgba(0, 144, 244, 0.1); border-color: rgba(0, 144, 244, 0.3); }
[data-bs-theme="dark"] body.app-rengaw .rw-sub-hora, [data-bs-theme="dark"] body.app-rengaw .rw-sub-opcao:has(input:checked) { background: rgba(0, 144, 244, 0.14); color: #6CC3FF; border-color: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-sub-dif td, [data-bs-theme="dark"] body.app-rengaw .rw-sub-dif th { color: #6CC3FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-sub-linha-pendente { background: rgba(247, 184, 75, 0.08); }
@media print { body.app-rengaw .rw-sub-nao-imprimir, body.app-rengaw .rw-sub-nota { display: none !important; } }

/* ---------------------------------------------------------------- Análise de ações: análise completa com IA (2026-10-16) */
body.app-rengaw .rw-anl-destaque { border-color: #B9D9F5; }
body.app-rengaw .rw-anl-analisar-linha { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: flex-end; }
body.app-rengaw .rw-anl-analisar-codigo { flex: 1 1 14rem; min-width: 0; }
body.app-rengaw .rw-anl-analisar-codigo input { font-family: "IBM Plex Mono", monospace; font-size: 1.25rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
body.app-rengaw .rw-anl-analisar-botao { flex: 0 0 12rem; }
body.app-rengaw .rw-anl-juros > summary { cursor: pointer; font-size: 0.85rem; color: #4F5D6E; }
body.app-rengaw .rw-anl-etapas { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-anl-etapas li { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-anl-etapas li:last-child { border-bottom: 0; }
body.app-rengaw .rw-anl-etapa-icone { flex: 0 0 1.9rem; height: 1.9rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--vz-light); color: #4F5D6E; font-size: 1rem; }
body.app-rengaw .rw-anl-etapas li.ok .rw-anl-etapa-icone { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-anl-etapas li.aviso .rw-anl-etapa-icone { background: #FFF4DE; color: #7A4B00; }
body.app-rengaw .rw-anl-etapas li.erro .rw-anl-etapa-icone { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-anl-etapas li.andamento .rw-anl-etapa-icone { background: #E6F2FD; color: #006ECB; }
body.app-rengaw .rw-anl-etapas li.andamento .rw-anl-etapa-icone i { animation: rw-anl-girar 1.2s linear infinite; }
body.app-rengaw .rw-anl-etapas li.pulada { opacity: 0.6; }
body.app-rengaw .rw-anl-etapa-texto { min-width: 0; overflow-wrap: anywhere; }
@keyframes rw-anl-girar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { body.app-rengaw .rw-anl-etapas li.andamento .rw-anl-etapa-icone i { animation: none; } }
body.app-rengaw .rw-anl-pedir-preco { margin-top: 1rem; padding: 0.9rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: #F4F7FB; }
body.app-rengaw .rw-anl-pedir-preco input { max-width: 11rem; }
body.app-rengaw .rw-anl-etapas-explicacao { padding-left: 1.2rem; }
body.app-rengaw .rw-anl-etapas-explicacao li { margin-bottom: 0.4rem; }
body.app-rengaw .rw-anl-faixas { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 0.5rem; }
body.app-rengaw .rw-anl-faixas li { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.3rem 0.75rem; border-radius: 999px; border: 1px solid var(--vz-border-color); font-size: 0.82rem; color: #4F5D6E; }
body.app-rengaw .rw-anl-faixas li.atual { font-weight: 600; border-color: transparent; }
body.app-rengaw .rw-anl-faixas li.atual.abaixo, body.app-rengaw .rw-anl-faixas li.atual.abaixo_justo { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-anl-faixas li.atual.perto { background: #FFF4DE; color: #7A4B00; }
body.app-rengaw .rw-anl-faixas li.atual.acima { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-anl-secao-relatorio { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-anl-secao-relatorio:last-child { border-bottom: 0; }
body.app-rengaw .rw-anl-secao-relatorio h4 { font-family: "Exo 2", sans-serif; color: #00336A; }
body.app-rengaw .rw-anl-fontes > summary { cursor: pointer; font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: #006ECB; }
body.app-rengaw .rw-anl-fontes ul { margin-top: 0.4rem; padding-left: 1.1rem; font-size: 0.85rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-anl-analisar-botao { flex: 1 1 100%; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-anl-destaque { border-color: rgba(0, 144, 244, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-juros > summary, [data-bs-theme="dark"] body.app-rengaw .rw-anl-faixas li { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-pedir-preco { background: rgba(0, 144, 244, 0.08); }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-etapa-icone { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-etapas li.ok .rw-anl-etapa-icone, [data-bs-theme="dark"] body.app-rengaw .rw-anl-faixas li.atual.abaixo, [data-bs-theme="dark"] body.app-rengaw .rw-anl-faixas li.atual.abaixo_justo { background: rgba(10, 179, 156, 0.2); color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-etapas li.aviso .rw-anl-etapa-icone, [data-bs-theme="dark"] body.app-rengaw .rw-anl-faixas li.atual.perto { background: rgba(247, 184, 75, 0.18); color: #F7D08A; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-etapas li.erro .rw-anl-etapa-icone, [data-bs-theme="dark"] body.app-rengaw .rw-anl-faixas li.atual.acima { background: rgba(240, 101, 72, 0.2); color: #FFB4A4; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-etapas li.andamento .rw-anl-etapa-icone { background: rgba(0, 144, 244, 0.15); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-secao-relatorio h4 { color: #E8F1FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-anl-fontes > summary { color: #8FCBFF; }
body.app-rengaw .rw-anl-analisar-codigo input::placeholder { color: #8A97A8; font-weight: 400; opacity: 1; }
body.app-rengaw .rw-sub-legenda { font-size: 0.8125rem; font-weight: 600; margin-bottom: 0.5rem; float: none; }

/* ---------------------------------------------------------------- Análise de FIIs (2026-10-16, plano 109), prefixo rw-fii- */
body.app-rengaw .rw-fii-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F5D6E; }
body.app-rengaw .rw-fii-aviso { display: flex; gap: 0.625rem; align-items: flex-start; padding: 0.75rem 1rem; margin-bottom: 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-card-bg); font-size: 0.875rem; }
body.app-rengaw .rw-fii-aviso i { color: var(--vz-primary); font-size: 1.15rem; line-height: 1.2; }
body.app-rengaw .rw-fii-codigo { display: inline-block; padding: 0.05rem 0.45rem; border-radius: 6px; background: #E6F2FD; color: #00336A; font-family: "IBM Plex Mono", monospace; font-size: 0.78rem; font-weight: 600; vertical-align: middle; text-decoration: none; }
body.app-rengaw h2 .rw-fii-codigo { font-size: 1.15rem; }
body.app-rengaw a.rw-fii-codigo:hover, body.app-rengaw a.rw-fii-codigo:focus-visible { background: #CFE6FB; }
body.app-rengaw .rw-fii-numero { font-family: "Exo 2", sans-serif; font-size: 1.35rem; font-weight: 600; color: var(--vz-heading-color, #00336A); }
body.app-rengaw .rw-fii-numero small { font-size: 0.8rem; color: #4F5D6E; font-weight: 500; }
body.app-rengaw .rw-fii-numero.grande { font-size: 1.7rem; }
body.app-rengaw .rw-fii-positivo { color: #1E7A46; }
body.app-rengaw .rw-fii-negativo { color: #B3261E; }
body.app-rengaw .rw-fii-atencao { color: #8A5200; }
body.app-rengaw .rw-fii-fonte { display: block; font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; color: #4F5D6E; }
body.app-rengaw .rw-fii-destaque { border-color: #B9D9F5; }
body.app-rengaw .rw-fii-faixa { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.2rem 0.65rem; border-radius: 999px; font-size: 0.78rem; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-fii-faixa.abaixo { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-fii-faixa.abaixo_justo { background: #EEF7F1; color: #1E7A46; }
body.app-rengaw .rw-fii-faixa.perto { background: #FFF4DE; color: #7A4B00; }
body.app-rengaw .rw-fii-faixa.acima { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-fii-faixa.sem { background: var(--vz-light); color: #4F5D6E; font-weight: 500; }
body.app-rengaw .rw-fii-tipo { display: inline-block; padding: 0.1rem 0.55rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; background: #E6F2FD; color: #00336A; }
body.app-rengaw .rw-fii-tipo.papel { background: #EEE8FA; color: #5B3BA6; }
body.app-rengaw .rw-fii-tipo.fof { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-fii-tipo.hibrido, body.app-rengaw .rw-fii-tipo.desenvolvimento { background: #FFF4DE; color: #7A4B00; }
body.app-rengaw .rw-fii-tipo.sem { background: var(--vz-light); color: #4F5D6E; }
body.app-rengaw .rw-fii-cotacao { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: flex-end; }
body.app-rengaw .rw-fii-cotacao input { max-width: 9.5rem; }
body.app-rengaw .rw-fii-barras { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; gap: 0.5rem; }
body.app-rengaw .rw-fii-barras li { display: grid; grid-template-columns: minmax(8rem, 13rem) 1fr 3.6rem; gap: 0.6rem; align-items: center; font-size: 0.85rem; }
body.app-rengaw .rw-fii-barras li strong { text-align: right; font-family: "IBM Plex Mono", monospace; font-size: 0.78rem; }
body.app-rengaw .rw-fii-barra { display: block; height: 0.55rem; border-radius: 999px; background: var(--vz-border-color); overflow: hidden; }
body.app-rengaw .rw-fii-barra span { display: block; height: 100%; border-radius: 999px; background: #006ECB; }
body.app-rengaw .rw-fii-pilares { display: grid; gap: 0.4rem; }
body.app-rengaw .rw-fii-pilar { border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.45rem 0.75rem; }
body.app-rengaw .rw-fii-pilar > summary { display: flex; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; font-weight: 600; color: #00336A; }
body.app-rengaw .rw-fii-pilar > summary::-webkit-details-marker { display: none; }
body.app-rengaw .rw-fii-pilar > summary strong { min-width: 2.6rem; text-align: center; padding: 0 0.45rem; border-radius: 6px; font-family: "IBM Plex Mono", monospace; font-size: 0.8rem; }
body.app-rengaw .rw-fii-pilar.boa > summary strong { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-fii-pilar.media > summary strong { background: #FFF4DE; color: #7A4B00; }
body.app-rengaw .rw-fii-pilar.fraca > summary strong { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-fii-pilar.sem > summary strong { background: var(--vz-light); color: #4F5D6E; }
body.app-rengaw .rw-fii-pilar ul { margin-top: 0.5rem; padding-left: 1.1rem; }
body.app-rengaw .rw-fii-alerta { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.875rem; }
body.app-rengaw .rw-fii-alerta i { color: #8A5200; font-size: 1.05rem; }
body.app-rengaw .rw-fii-alerta.informacao i { color: #006ECB; }
body.app-rengaw .rw-fii-tabela td.text-end, body.app-rengaw .rw-fii-tabela th.text-end { white-space: nowrap; }
body.app-rengaw .card > .table-responsive > .rw-fii-tabela tr > :first-child { padding-left: 1rem; }
body.app-rengaw .card > .table-responsive > .rw-fii-tabela tr > :last-child { padding-right: 1rem; }
body.app-rengaw .rw-fii-comparar th[scope="row"] { min-width: 12rem; font-size: 0.85rem; font-weight: 500; }
body.app-rengaw .rw-fii-sensibilidade td, body.app-rengaw .rw-fii-sensibilidade th { font-size: 0.8rem; }
body.app-rengaw .rw-fii-atalho { color: inherit; transition: border-color 0.15s ease; }
body.app-rengaw .rw-fii-atalho:hover, body.app-rengaw .rw-fii-atalho:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-fii-ao-vivo { padding: 0.4rem 0.6rem; border-radius: 8px; background: #E6F2FD; color: #00336A; }
body.app-rengaw .rw-fii-analisar-linha { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: flex-end; }
body.app-rengaw .rw-fii-analisar-codigo { flex: 1 1 14rem; min-width: 0; }
body.app-rengaw .rw-fii-analisar-codigo input { font-family: "IBM Plex Mono", monospace; font-size: 1.25rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
body.app-rengaw .rw-fii-analisar-codigo input::placeholder { color: #8A97A8; font-weight: 400; opacity: 1; }
body.app-rengaw .rw-fii-analisar-botao { flex: 0 0 12rem; }
body.app-rengaw .rw-fii-juros > summary { cursor: pointer; font-size: 0.85rem; color: #4F5D6E; }
body.app-rengaw .rw-fii-etapas { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-fii-etapas li { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fii-etapas li:last-child { border-bottom: 0; }
body.app-rengaw .rw-fii-etapa-icone { flex: 0 0 1.9rem; height: 1.9rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--vz-light); color: #4F5D6E; font-size: 1rem; }
body.app-rengaw .rw-fii-etapas li.ok .rw-fii-etapa-icone { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-fii-etapas li.aviso .rw-fii-etapa-icone { background: #FFF4DE; color: #7A4B00; }
body.app-rengaw .rw-fii-etapas li.erro .rw-fii-etapa-icone { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-fii-etapas li.andamento .rw-fii-etapa-icone { background: #E6F2FD; color: #006ECB; }
body.app-rengaw .rw-fii-etapas li.andamento .rw-fii-etapa-icone i { animation: rw-fii-girar 1.2s linear infinite; }
body.app-rengaw .rw-fii-etapas li.pulada { opacity: 0.6; }
body.app-rengaw .rw-fii-etapa-texto { min-width: 0; overflow-wrap: anywhere; }
@keyframes rw-fii-girar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { body.app-rengaw .rw-fii-etapas li.andamento .rw-fii-etapa-icone i { animation: none; } }
body.app-rengaw .rw-fii-pedir-preco { margin-top: 1rem; padding: 0.9rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: #F4F7FB; }
body.app-rengaw .rw-fii-pedir-preco input { max-width: 11rem; }
body.app-rengaw .rw-fii-etapas-explicacao { padding-left: 1.2rem; }
body.app-rengaw .rw-fii-etapas-explicacao li { margin-bottom: 0.4rem; }
body.app-rengaw .rw-fii-faixas { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 0.5rem; }
body.app-rengaw .rw-fii-faixas li { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.3rem 0.75rem; border-radius: 999px; border: 1px solid var(--vz-border-color); font-size: 0.82rem; color: #4F5D6E; }
body.app-rengaw .rw-fii-faixas li.atual { font-weight: 600; border-color: transparent; }
body.app-rengaw .rw-fii-faixas li.atual.abaixo, body.app-rengaw .rw-fii-faixas li.atual.abaixo_justo { background: #E3F4EA; color: #1E7A46; }
body.app-rengaw .rw-fii-faixas li.atual.perto { background: #FFF4DE; color: #7A4B00; }
body.app-rengaw .rw-fii-faixas li.atual.acima { background: #FDE7E5; color: #B3261E; }
body.app-rengaw .rw-fii-secao-relatorio { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-fii-secao-relatorio:last-child { border-bottom: 0; }
body.app-rengaw .rw-fii-secao-relatorio h4 { font-family: "Exo 2", sans-serif; color: #00336A; }
body.app-rengaw .rw-fii-fontes > summary { cursor: pointer; font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: #006ECB; }
body.app-rengaw .rw-fii-fontes ul { margin-top: 0.4rem; padding-left: 1.1rem; font-size: 0.85rem; }
body.app-rengaw .rw-fii-fontes .rw-fii-fonte { display: inline; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-fii-analisar-botao { flex: 1 1 100%; }
    body.app-rengaw .rw-fii-numero.grande { font-size: 1.4rem; }
    body.app-rengaw .rw-fii-cotacao input { max-width: none; }
    body.app-rengaw .rw-fii-barras li { grid-template-columns: 1fr 3.4rem; }
    body.app-rengaw .rw-fii-barras li .rw-fii-barra { grid-column: 1 / -1; grid-row: 2; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-fii-sobretitulo, [data-bs-theme="dark"] body.app-rengaw .rw-fii-fonte, [data-bs-theme="dark"] body.app-rengaw .rw-fii-juros > summary, [data-bs-theme="dark"] body.app-rengaw .rw-fii-faixas li, [data-bs-theme="dark"] body.app-rengaw .rw-fii-numero small, [data-bs-theme="dark"] body.app-rengaw .rw-fii-etapa-icone { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-codigo, [data-bs-theme="dark"] body.app-rengaw .rw-fii-ao-vivo, [data-bs-theme="dark"] body.app-rengaw .rw-fii-tipo { background: rgba(0, 144, 244, 0.15); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw a.rw-fii-codigo:hover { background: rgba(0, 144, 244, 0.28); }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-tipo.papel { background: rgba(138, 92, 209, 0.22); color: #CDB8F2; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-tipo.fof, [data-bs-theme="dark"] body.app-rengaw .rw-fii-faixa.abaixo, [data-bs-theme="dark"] body.app-rengaw .rw-fii-faixa.abaixo_justo, [data-bs-theme="dark"] body.app-rengaw .rw-fii-pilar.boa > summary strong, [data-bs-theme="dark"] body.app-rengaw .rw-fii-etapas li.ok .rw-fii-etapa-icone, [data-bs-theme="dark"] body.app-rengaw .rw-fii-faixas li.atual.abaixo, [data-bs-theme="dark"] body.app-rengaw .rw-fii-faixas li.atual.abaixo_justo { background: rgba(10, 179, 156, 0.18); color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-tipo.hibrido, [data-bs-theme="dark"] body.app-rengaw .rw-fii-tipo.desenvolvimento, [data-bs-theme="dark"] body.app-rengaw .rw-fii-faixa.perto, [data-bs-theme="dark"] body.app-rengaw .rw-fii-pilar.media > summary strong, [data-bs-theme="dark"] body.app-rengaw .rw-fii-etapas li.aviso .rw-fii-etapa-icone, [data-bs-theme="dark"] body.app-rengaw .rw-fii-faixas li.atual.perto { background: rgba(247, 184, 75, 0.18); color: #F7D08A; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-faixa.acima, [data-bs-theme="dark"] body.app-rengaw .rw-fii-pilar.fraca > summary strong, [data-bs-theme="dark"] body.app-rengaw .rw-fii-etapas li.erro .rw-fii-etapa-icone, [data-bs-theme="dark"] body.app-rengaw .rw-fii-faixas li.atual.acima { background: rgba(240, 101, 72, 0.2); color: #FFB4A4; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-faixa.sem, [data-bs-theme="dark"] body.app-rengaw .rw-fii-tipo.sem, [data-bs-theme="dark"] body.app-rengaw .rw-fii-pilar.sem > summary strong { color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-etapas li.andamento .rw-fii-etapa-icone { background: rgba(0, 144, 244, 0.15); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-numero, [data-bs-theme="dark"] body.app-rengaw .rw-fii-pilar > summary, [data-bs-theme="dark"] body.app-rengaw .rw-fii-secao-relatorio h4 { color: #E8F1FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-positivo { color: #7DDCA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-negativo { color: #FF9C93; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-atencao, [data-bs-theme="dark"] body.app-rengaw .rw-fii-alerta i { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-alerta.informacao i, [data-bs-theme="dark"] body.app-rengaw .rw-fii-fontes > summary { color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-barra span { background: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-destaque { border-color: rgba(0, 144, 244, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-fii-pedir-preco { background: rgba(0, 144, 244, 0.08); }

/* Treino e evolução (2026-10-17, plano 110): números do painel, barras de progresso, dias da semana, gráficos SVG do
   servidor (pesagem e tendência, barras de minutos e volume, meta tracejada), calendário do mês, linhas de série,
   cartões de rotina e de conquista, fotos lado a lado e o aviso fixo de procurar um profissional. Claro e escuro. */
body.app-rengaw .rw-tev-privado { display: flex; align-items: center; gap: 0.5rem; color: var(--vz-secondary-color); font-size: 0.875rem; }
body.app-rengaw .rw-tev-privado i { color: var(--vz-primary); }
body.app-rengaw .rw-tev-aviso { display: flex; gap: 0.5rem; align-items: flex-start; margin-top: 1rem; padding: 0.75rem 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; color: var(--vz-secondary-color); background: var(--vz-secondary-bg); font-size: 0.875rem; }
body.app-rengaw .rw-tev-aviso i { color: var(--vz-primary); font-size: 1.1rem; line-height: 1.2; }
body.app-rengaw .rw-tev-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-tev-numero { font-family: "Exo 2", sans-serif; font-size: 1.9rem; font-weight: 700; line-height: 1.1; color: var(--vz-primary); margin-bottom: 0.35rem; }
body.app-rengaw .rw-tev-numero small { font-size: 0.9rem; font-weight: 600; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tev-progresso { height: 0.5rem; border-radius: 999px; background: var(--vz-secondary-bg); margin-bottom: 0.35rem; }
body.app-rengaw .rw-tev-progresso .progress-bar { background: var(--vz-primary); border-radius: 999px; }
body.app-rengaw .rw-tev-progresso .progress-bar.rw-tev-acima { background: #C77700; }
body.app-rengaw .rw-tev-agua .progress-bar { background: #0090F4; }
body.app-rengaw .rw-tev-dias { display: flex; gap: 0.25rem; list-style: none; padding: 0; margin: 0.25rem 0 0; }
body.app-rengaw .rw-tev-dias li { flex: 1 1 0; min-width: 0; text-align: center; padding: 0.2rem 0; border-radius: 6px; font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; text-transform: uppercase; color: var(--vz-secondary-color); background: var(--vz-secondary-bg); border: 1px solid transparent; }
body.app-rengaw .rw-tev-dias li.ativo { background: #006ECB; color: #FFFFFF; }
body.app-rengaw .rw-tev-dias li.hoje { border-color: var(--vz-primary); }
body.app-rengaw .rw-tev-dias li.futuro { opacity: 0.55; }
body.app-rengaw .rw-tev-grafico svg { width: 100%; height: auto; display: block; overflow: visible; }
body.app-rengaw .rw-tev-grade { stroke: var(--vz-border-color); stroke-width: 1; }
body.app-rengaw .rw-tev-base { stroke: var(--vz-secondary-color); stroke-width: 1; }
body.app-rengaw .rw-tev-eixo { fill: var(--vz-secondary-color); font-family: "IBM Plex Mono", monospace; font-size: 10px; }
body.app-rengaw .rw-tev-linha { fill: none; stroke: #006ECB; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
body.app-rengaw .rw-tev-linha.rw-tev-pesagem { stroke: #B8C4D3; stroke-width: 1.25; }
body.app-rengaw .rw-tev-ponto { fill: #006ECB; stroke: #FFFFFF; stroke-width: 1.5; }
body.app-rengaw .rw-tev-ponto.rw-tev-pesagem { fill: #8A99AB; }
body.app-rengaw .rw-tev-barra { fill: #9CCBF2; }
body.app-rengaw .rw-tev-barra-ok { fill: #0AB39C; }
body.app-rengaw .rw-tev-meta { stroke: #00336A; stroke-width: 1.5; stroke-dasharray: 6 4; }
body.app-rengaw .rw-tev-alvo + .rw-tev-alvo { margin-top: 0.9rem; padding-top: 0.9rem; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tev-selo { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.1rem 0.5rem; border-radius: 999px; font-size: 0.75rem; background: var(--vz-secondary-bg); color: var(--vz-secondary-color); border: 1px solid var(--vz-border-color); white-space: nowrap; }
body.app-rengaw .rw-tev-selo-ok { background: #E7F7F4; color: #08715F; border-color: #B7E6DD; }
body.app-rengaw .rw-tev-selo-atencao { background: #FEF4E4; color: #8A5200; border-color: #F5D9A8; }
body.app-rengaw .rw-tev-selo-novo { background: #E5F2FC; color: #005A9E; border-color: #B9DBF5; }
body.app-rengaw .rw-tev-intensidade { flex: 0 0 auto; padding: 0.1rem 0.5rem; border-radius: 999px; font-size: 0.75rem; }
body.app-rengaw .rw-tev-intensidade-leve { background: var(--vz-secondary-bg); color: var(--vz-secondary-color); }
body.app-rengaw .rw-tev-intensidade-moderada { background: #E5F2FC; color: #005A9E; }
body.app-rengaw .rw-tev-intensidade-vigorosa { background: #FDECE8; color: #A83218; }
body.app-rengaw .rw-tev-texto-atencao { color: #8A5200; }
body.app-rengaw .rw-tev-mais { color: #08715F; font-weight: 600; }
body.app-rengaw .rw-tev-menos { color: #A83218; font-weight: 600; }
body.app-rengaw .rw-tev-ok { color: #0AB39C; margin-left: 0.25rem; }
body.app-rengaw .rw-tev-calendario { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 4px; }
body.app-rengaw .rw-tev-calendario th { font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; text-transform: uppercase; text-align: center; color: var(--vz-secondary-color); font-weight: 500; }
body.app-rengaw .rw-tev-calendario td { vertical-align: top; height: 4.25rem; padding: 0.25rem; border-radius: 8px; border: 1px solid var(--vz-border-color); background: var(--vz-card-bg, #FFFFFF); }
body.app-rengaw .rw-tev-calendario td.fora { opacity: 0.4; }
body.app-rengaw .rw-tev-calendario td.ativo { background: #EEF6FD; border-color: #B9DBF5; }
body.app-rengaw .rw-tev-calendario td.hoje { box-shadow: inset 0 0 0 2px var(--vz-primary); }
body.app-rengaw .rw-tev-cal-dia { display: block; font-size: 0.75rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tev-cal-item { display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; margin: 1px; border-radius: 6px; background: #006ECB; color: #FFFFFF; font-size: 0.85rem; text-decoration: none; }
body.app-rengaw .rw-tev-cal-item:hover, body.app-rengaw .rw-tev-cal-item:focus { background: #003387; color: #FFFFFF; }
body.app-rengaw .rw-tev-series { display: grid; gap: 0.4rem; }
body.app-rengaw .rw-tev-serie-cabecalho, body.app-rengaw .rw-tev-serie-linha { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr) 6rem 7rem; gap: 0.5rem; align-items: center; }
body.app-rengaw .rw-tev-itens .rw-tev-serie-cabecalho, body.app-rengaw .rw-tev-itens .rw-tev-serie-linha { grid-template-columns: 1.75rem minmax(0, 1fr) 5rem 6rem 6.5rem; }
body.app-rengaw .rw-tev-serie-cabecalho { font-family: "IBM Plex Mono", monospace; font-size: 0.6875rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tev-serie-n { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; color: var(--vz-secondary-color); text-align: center; }
body.app-rengaw .rw-tev-opcoes { display: flex; flex-wrap: wrap; gap: 0.25rem 0; }
body.app-rengaw .rw-tev-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: 1rem; margin-bottom: 1rem; }
body.app-rengaw .rw-tev-inativa { opacity: 0.65; }
body.app-rengaw .rw-tev-sugestao { cursor: pointer; }
body.app-rengaw .rw-tev-fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-tev-fotos img, body.app-rengaw .rw-tev-lado-a-lado img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 10px; border: 1px solid var(--vz-border-color); background: var(--vz-secondary-bg); }
body.app-rengaw .rw-tev-lado-a-lado { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
body.app-rengaw .rw-tev-lado-a-lado img { max-height: 28rem; }
body.app-rengaw .rw-tev-lado-a-lado figcaption { margin-top: 0.35rem; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tev-gramas { width: 5.5rem; }
body.app-rengaw .rw-tev-conquistas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 1rem; }
body.app-rengaw .rw-tev-conquista:not(.feita) .app-icon-badge { opacity: 0.5; filter: grayscale(1); }
body.app-rengaw .rw-tev-faixa-conquistas { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-tev-texto-ia p:last-child { margin-bottom: 0; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-tev-serie-cabecalho, body.app-rengaw .rw-tev-serie-linha { grid-template-columns: 1.25rem minmax(0, 1fr) 4rem 4.5rem; gap: 0.35rem; }
    body.app-rengaw .rw-tev-itens .rw-tev-serie-cabecalho, body.app-rengaw .rw-tev-itens .rw-tev-serie-linha { grid-template-columns: 1.25rem minmax(0, 1fr) 3.25rem 3.75rem 3.75rem; }
    body.app-rengaw .rw-tev-calendario { border-spacing: 2px; }
    body.app-rengaw .rw-tev-calendario td { height: 3.25rem; padding: 0.15rem; }
    body.app-rengaw .rw-tev-cal-item { width: 1.15rem; height: 1.15rem; font-size: 0.7rem; }
    body.app-rengaw .rw-tev-lado-a-lado { gap: 0.5rem; }
    body.app-rengaw .rw-tev-numero { font-size: 1.55rem; }
}
[data-bs-theme="dark"] body.app-rengaw .rw-tev-dias li.ativo, [data-bs-theme="dark"] body.app-rengaw .rw-tev-cal-item { background: #0090F4; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-cal-item:hover, [data-bs-theme="dark"] body.app-rengaw .rw-tev-cal-item:focus { background: #8FCBFF; color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-calendario td.ativo { background: rgba(0, 144, 244, 0.12); border-color: rgba(0, 144, 244, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-linha { stroke: #0090F4; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-linha.rw-tev-pesagem { stroke: #4A5A70; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-ponto { fill: #0090F4; stroke: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-ponto.rw-tev-pesagem { fill: #7D8DA3; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-barra { fill: #2A5A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-barra-ok { fill: #0AB39C; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-meta { stroke: #E8F1FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-selo-ok { background: rgba(10, 179, 156, 0.15); color: #6FDDCB; border-color: rgba(10, 179, 156, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-selo-atencao { background: rgba(247, 184, 75, 0.12); color: #F7C873; border-color: rgba(247, 184, 75, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-selo-novo, [data-bs-theme="dark"] body.app-rengaw .rw-tev-intensidade-moderada { background: rgba(0, 144, 244, 0.15); color: #8FCBFF; border-color: rgba(0, 144, 244, 0.35); }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-intensidade-vigorosa { background: rgba(240, 101, 72, 0.18); color: #FFB4A4; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-texto-atencao { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-mais { color: #6FDDCB; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-menos { color: #FF9C93; }
[data-bs-theme="dark"] body.app-rengaw .rw-tev-progresso .progress-bar.rw-tev-acima { background: #F7B84B; }

/* ===================================================================== Painel da plataforma (2026-10-17) */
body.app-rengaw .rw-painel-numeros {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: .75rem;
    margin: 0 0 1rem;
}
body.app-rengaw .rw-painel-numero {
    border: 1px solid var(--vz-border-color);
    border-radius: 12px;
    padding: .65rem .8rem;
}
body.app-rengaw .rw-painel-numero dt {
    font-family: "IBM Plex Mono", monospace;
    font-size: .68rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--vz-secondary-color);
    margin-bottom: .25rem;
}
body.app-rengaw .rw-painel-numero dd {
    font-family: "Exo 2", sans-serif;
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--vz-heading-color, var(--vz-body-color));
    margin: 0;
    overflow-wrap: anywhere;
}
body.app-rengaw .rw-painel-alerta dd { color: var(--vz-danger); }
body.app-rengaw .rw-painel-ok dd { color: var(--vz-success); }
body.app-rengaw .rw-painel-lista-titulo {
    font-family: "IBM Plex Mono", monospace;
    font-size: .7rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--vz-secondary-color);
    margin-bottom: .4rem;
}
body.app-rengaw .rw-painel-lista {
    list-style: none;
    padding: 0;
    margin: 0;
}
body.app-rengaw .rw-painel-lista li {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: .4rem 0;
    border-top: 1px solid var(--vz-border-color);
    min-width: 0;
}
body.app-rengaw .rw-painel-lista li > :first-child { min-width: 0; overflow-wrap: anywhere; }
body.app-rengaw .rw-painel-detalhe {
    color: var(--vz-secondary-color);
    font-size: .8rem;
    white-space: nowrap;
}

/* ===================================================================== Assistente virtual da ajuda (2026-10-17) */
body.app-rengaw .rw-assistente-abrir { margin-bottom: 1rem; }
body.app-rengaw .rw-assistente-topo { display: flex; justify-content: space-between; margin-bottom: .25rem; }
body.app-rengaw .rw-assistente-mensagens {
    display: flex; flex-direction: column; gap: .6rem;
    max-height: 52vh; overflow-y: auto; padding: .25rem 0 .5rem;
}
body.app-rengaw .rw-assistente-fala { border-radius: 12px; padding: .55rem .75rem; max-width: 92%; font-size: .9rem; }
body.app-rengaw .rw-assistente-voce { align-self: flex-end; background: var(--vz-primary); color: #fff; }
body.app-rengaw .rw-assistente-assistente {
    align-self: flex-start; background: var(--vz-light); border: 1px solid var(--vz-border-color);
    color: var(--vz-body-color);
}
body.app-rengaw .rw-assistente-quem {
    display: block; font-family: "IBM Plex Mono", monospace; font-size: .65rem; letter-spacing: .06em;
    text-transform: uppercase; opacity: .75; margin-bottom: .15rem;
}
body.app-rengaw .rw-assistente-texto p:last-child, body.app-rengaw .rw-assistente-texto ul:last-child { margin-bottom: 0; }
body.app-rengaw .rw-assistente-texto ul { padding-left: 1.1rem; }
body.app-rengaw .rw-assistente-pensando .rw-assistente-texto { opacity: .7; font-style: italic; }
body.app-rengaw .rw-assistente-fontes { font-size: .78rem; margin-top: .35rem; }
body.app-rengaw .rw-assistente-sugestoes { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .6rem; }
body.app-rengaw .rw-assistente-form { display: flex; gap: .5rem; align-items: flex-end; }
body.app-rengaw .rw-assistente-form textarea { resize: vertical; min-height: 2.6rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-assistente-voce { color: #061C3D; }

/* Seletor de idioma nas telas de entrada (2026-10-17): fixo no canto do lado do formulário. */
.rw-entrada-form { position: relative; }
.rw-entrada-idioma { position: absolute; top: 1rem; right: 1rem; z-index: 5; }
@media (max-width: 991.98px) {
    .rw-entrada-form { padding-top: 4rem; }
}

/* ===================================================================== Leitor de feeds (2026-10-18, rw-lf-) */
body.app-rengaw .rw-lf-hero { padding: 1rem 0.5rem; }
body.app-rengaw .rw-lf-hero-titulo { font-family: var(--rw-titulo); font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 600; max-width: 42rem; }
body.app-rengaw .rw-lf-valor { font-family: var(--rw-titulo); font-size: 1.75rem; font-weight: 600; line-height: 1.1; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-lf-avatar {
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    width: 1.75rem; height: 1.75rem; border-radius: 6px;
    background: var(--vz-primary-bg-subtle); color: var(--vz-primary);
    font-family: var(--rw-titulo); font-size: 0.8125rem; font-weight: 600;
}
body.app-rengaw .rw-lf-ponto { display: inline-block; width: 0.625rem; height: 0.625rem; border-radius: 50%; flex-shrink: 0; background: var(--vz-secondary-color); }
body.app-rengaw .rw-lf-cor-azul { background: #006ECB; }
body.app-rengaw .rw-lf-cor-verde { background: #1F9D6B; }
body.app-rengaw .rw-lf-cor-roxo { background: #6B4FC8; }
body.app-rengaw .rw-lf-cor-laranja { background: #E07B12; }
body.app-rengaw .rw-lf-cor-rosa { background: #D1477A; }
body.app-rengaw .rw-lf-cor-turquesa { background: #0E9AA7; }
body.app-rengaw .rw-lf-cor-amarelo { background: #D9A400; }
body.app-rengaw .rw-lf-cor-cinza { background: #5D6A79; }

/* Navegação da leitura */
body.app-rengaw .rw-lf-vistas a {
    display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.5rem; border-radius: 8px;
    color: var(--vz-body-color); text-decoration: none; min-width: 0;
}
body.app-rengaw .rw-lf-vistas a:hover { background: var(--vz-tertiary-bg, var(--vz-light)); }
body.app-rengaw .rw-lf-vistas a.ativa { background: var(--vz-primary-bg-subtle); color: var(--vz-primary); font-weight: 500; }
body.app-rengaw .rw-lf-vistas i { font-size: 1.05rem; }
body.app-rengaw .rw-lf-sub { margin: 0 0 0.25rem 1.1rem; font-size: 0.875rem; }
body.app-rengaw .rw-lf-contador {
    font-family: var(--rw-mono, monospace); font-size: 0.75rem; padding: 0 0.4rem; border-radius: 999px;
    background: var(--vz-light); color: var(--vz-secondary-color);
}
body.app-rengaw .rw-lf-vistas a.ativa .rw-lf-contador { background: var(--vz-primary); color: #fff; }
body.app-rengaw .rw-lf-busca { min-width: 12rem; max-width: 30rem; }

/* Itens */
body.app-rengaw .rw-lf-lista { position: relative; }
body.app-rengaw .rw-lf-item { display: flex; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-lf-item:last-child { border-bottom: 0; }
body.app-rengaw .rw-lf-item-corpo { flex: 1 1 auto; min-width: 0; }
body.app-rengaw .rw-lf-item-meta { font-family: var(--rw-mono, monospace); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--vz-secondary-color); margin: 0 0 0.2rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem; }
body.app-rengaw .rw-lf-fonte { color: var(--vz-primary); font-weight: 500; }
body.app-rengaw .rw-lf-item-titulo { font-family: var(--rw-titulo); font-size: 1.02rem; font-weight: 600; margin: 0 0 0.25rem; line-height: 1.3; overflow-wrap: anywhere; }
body.app-rengaw .rw-lf-item-titulo a { color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-lf-item-titulo a:hover { color: var(--vz-primary); }
body.app-rengaw .rw-lf-item-resumo { color: var(--vz-secondary-color); font-size: 0.875rem; margin: 0; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.app-rengaw .rw-lf-lido .rw-lf-item-titulo a { color: var(--vz-secondary-color); font-weight: 500; }
body.app-rengaw .rw-lf-estrela { color: #D9A400; margin-right: 0.25rem; }
body.app-rengaw .rw-lf-item-acoes { display: flex; flex-direction: column; gap: 0.35rem; flex-shrink: 0; }
body.app-rengaw .rw-lf-escolhido { background: var(--vz-primary-bg-subtle); box-shadow: inset 3px 0 0 var(--vz-primary); padding-left: 0.5rem; border-radius: 6px; }
body.app-rengaw .rw-lf-capa img { width: 7rem; height: 5rem; object-fit: cover; border-radius: 8px; }
body.app-rengaw .rw-lf-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1rem; }
body.app-rengaw .rw-lf-cartoes .rw-lf-item { flex-direction: column; border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem; }
body.app-rengaw .rw-lf-cartoes .rw-lf-item-acoes { flex-direction: row; }
body.app-rengaw .rw-lf-cartoes .rw-lf-capa img { width: 100%; height: 9rem; }
body.app-rengaw .rw-lf-nota { font-size: 0.875rem; margin: 0; padding: 0.4rem 0.6rem; border-radius: 8px; background: var(--vz-light); }
body.app-rengaw .rw-lf-mini { display: flex; align-items: flex-start; gap: 0.6rem; padding: 0.5rem 0; color: var(--vz-body-color); border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-lf-mini:last-child { border-bottom: 0; }
body.app-rengaw .rw-lf-mini > i { font-size: 1.1rem; margin-top: 0.1rem; }
body.app-rengaw .rw-lf-mini:hover { color: var(--vz-primary); }
body.app-rengaw .rw-lf-selo-erro { color: #B42318; font-weight: 500; }
body.app-rengaw .rw-lf-regra-icone { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 8px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); flex-shrink: 0; }
body.app-rengaw .rw-lf-inativa { background: var(--vz-light); color: var(--vz-secondary-color); }
body.app-rengaw .rw-lf-candidato { padding: 0.6rem 0.75rem 0.6rem 2rem; border: 1px solid var(--vz-border-color); border-radius: 10px; margin-bottom: 0.5rem; }

/* Leitura */
body.app-rengaw .rw-lf-leitura-titulo { font-family: var(--rw-titulo); font-size: clamp(1.35rem, 2.6vw, 1.9rem); font-weight: 600; line-height: 1.25; margin-bottom: 1rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-lf-conteudo { font-size: 1.0625rem; line-height: 1.7; max-width: 44rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-lf-conteudo img, body.app-rengaw .rw-lf-conteudo video { max-width: 100%; height: auto; border-radius: 8px; }
body.app-rengaw .rw-lf-conteudo pre { white-space: pre-wrap; background: var(--vz-light); padding: 0.75rem; border-radius: 8px; font-size: 0.875rem; }
body.app-rengaw .rw-lf-conteudo blockquote { border-left: 3px solid var(--vz-border-color); padding-left: 1rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-lf-conteudo table { display: block; overflow-x: auto; max-width: 100%; }
body.app-rengaw .rw-lf-conteudo td, body.app-rengaw .rw-lf-conteudo th { border: 1px solid var(--vz-border-color); padding: 0.25rem 0.5rem; }
body.app-rengaw .rw-lf-imagem-destaque { width: 100%; max-height: 22rem; object-fit: cover; border-radius: 12px; margin-bottom: 1rem; }
body.app-rengaw .rw-lf-resumo-ia { padding: 0.75rem 1rem; border: 1px dashed var(--vz-border-color); border-radius: 12px; }

[data-bs-theme="dark"] body.app-rengaw .rw-lf-cor-cinza { background: #8A97A6; }
[data-bs-theme="dark"] body.app-rengaw .rw-lf-selo-erro { color: #FF8A80; }
[data-bs-theme="dark"] body.app-rengaw .rw-lf-estrela { color: #F5C542; }
[data-bs-theme="dark"] body.app-rengaw .rw-lf-vistas a.ativa .rw-lf-contador { color: #061C3D; }

@media (max-width: 575.98px) {
    body.app-rengaw .rw-lf-capa { display: none; }
    body.app-rengaw .rw-lf-cartoes { grid-template-columns: 1fr; }
    body.app-rengaw .rw-lf-cartoes .rw-lf-capa { display: block; }
    body.app-rengaw .rw-lf-busca { max-width: none; flex-basis: 100%; }
}

/* ==========================================================================================================
   App Teleprompter (2026-10-18, prefixo rw-tlp-): painel, biblioteca, ficha com prévia das marcações, leitura em
   tela cheia (temas próprios de alto contraste, espelho, linha guia), controle remoto no celular e impressão.
   ========================================================================================================== */
body.app-rengaw .rw-tlp-cor-azul { --rw-tlp-cor: #0090F4; }
body.app-rengaw .rw-tlp-cor-verde { --rw-tlp-cor: #0AB39C; }
body.app-rengaw .rw-tlp-cor-roxo { --rw-tlp-cor: #7A5AF8; }
body.app-rengaw .rw-tlp-cor-laranja { --rw-tlp-cor: #F7853B; }
body.app-rengaw .rw-tlp-cor-rosa { --rw-tlp-cor: #E5487D; }
body.app-rengaw .rw-tlp-cor-turquesa { --rw-tlp-cor: #17A2B8; }
body.app-rengaw .rw-tlp-cor-amarelo { --rw-tlp-cor: #E8B21A; }
body.app-rengaw .rw-tlp-cor-cinza { --rw-tlp-cor: #8A96A4; }
body.app-rengaw .rw-tlp-icone { flex: 0 0 auto; width: 2.25rem; height: 2.25rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: var(--rw-tlp-cor, var(--vz-primary)); background: color-mix(in srgb, var(--rw-tlp-cor, var(--vz-primary)) 14%, transparent); font-size: 1.1rem; }
body.app-rengaw .rw-tlp-ponto { display: inline-block; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--rw-tlp-cor, var(--vz-primary)); }
body.app-rengaw .rw-tlp-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-tlp-numeros > div { display: flex; flex-direction: column; }
body.app-rengaw .rw-tlp-numero { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 2rem; line-height: 1.1; color: var(--vz-heading-color, var(--vz-body-color)); }
body.app-rengaw .rw-tlp-numero-menor { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.35rem; }
body.app-rengaw .rw-tlp-rapido textarea { min-height: 7rem; flex-grow: 1; }
body.app-rengaw .rw-tlp-data { flex: 0 0 auto; width: 2.6rem; border: 1px solid var(--vz-border-color); border-radius: 10px; text-align: center; line-height: 1; padding: 0.3rem 0; }
body.app-rengaw .rw-tlp-data span { display: block; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.05rem; }
body.app-rengaw .rw-tlp-data small { font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tlp-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-tlp-chip { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.3rem 0.8rem; border: 1px solid var(--vz-border-color); border-radius: 999px; color: var(--vz-body-color); background: var(--vz-secondary-bg); font-size: 0.875rem; }
body.app-rengaw .rw-tlp-chip.ativo { border-color: var(--vz-primary); color: var(--vz-primary); font-weight: 600; }
body.app-rengaw .rw-tlp-editor { font-family: "IBM Plex Mono", monospace; font-size: 0.95rem; line-height: 1.6; min-height: 22rem; }
body.app-rengaw .rw-tlp-barra-marcacoes { display: flex; flex-wrap: wrap; gap: 0.4rem; }
body.app-rengaw .rw-tlp-tempo-vivo { font-family: "IBM Plex Mono", monospace; font-size: 0.85rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tlp-tempo-vivo strong { color: var(--vz-primary); font-size: 1rem; }
body.app-rengaw .rw-tlp-alvo { display: flex; gap: 0.6rem; padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-tertiary-bg, var(--vz-light)); }
body.app-rengaw .rw-tlp-alvo > i { color: var(--vz-primary); font-size: 1.3rem; }
body.app-rengaw .rw-tlp-secao-linha { display: flex; align-items: center; gap: 0.6rem; padding: 0.45rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tlp-secao-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-tlp-secao-inicio { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; color: var(--vz-secondary-color); min-width: 2.8rem; }
body.app-rengaw .rw-tlp-previa { font-size: 1.1rem; line-height: 1.7; max-height: 70vh; overflow-y: auto; }
body.app-rengaw .rw-tlp-previa-curta { max-height: 32rem; }
body.app-rengaw .rw-tlp-secao { font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.8em; text-transform: uppercase; letter-spacing: 0.04em; margin: 1.2em 0 0.4em; color: var(--rw-tlp-destaque, var(--vz-primary)); }
body.app-rengaw .rw-tlp-previa .rw-tlp-secao:first-child { margin-top: 0; }
body.app-rengaw .rw-tlp-paragrafo { margin: 0 0 0.9em; }
body.app-rengaw .rw-tlp-pausa { display: inline-flex; align-items: center; gap: 0.25em; padding: 0.05em 0.5em; border-radius: 999px; font-size: 0.6em; font-family: "IBM Plex Mono", monospace; vertical-align: middle; color: #8A5200; background: #FFF1D6; }
body.app-rengaw .rw-tlp-deixa { display: inline-block; padding: 0.05em 0.5em; border-radius: 6px; font-size: 0.6em; font-family: "IBM Plex Mono", monospace; text-transform: uppercase; vertical-align: middle; color: #00336A; background: #E3F1FD; }
body.app-rengaw .rw-tlp-nota { font-size: 0.6em; font-style: italic; color: var(--vz-secondary-color); }
body.app-rengaw .rw-tlp-nota::before { content: "("; }
body.app-rengaw .rw-tlp-nota::after { content: ")"; }
body.app-rengaw .rw-tlp-enfase { font-style: normal; font-weight: 700; text-decoration: underline; text-decoration-thickness: 0.08em; text-underline-offset: 0.15em; }
[data-bs-theme="dark"] body.app-rengaw .rw-tlp-pausa { color: #FFD38A; background: rgba(247, 184, 75, 0.18); }
[data-bs-theme="dark"] body.app-rengaw .rw-tlp-deixa { color: #9CD3FF; background: rgba(0, 144, 244, 0.18); }
body.app-rengaw .rw-tlp-selecionada { background: var(--vz-tertiary-bg, var(--vz-light)); border-radius: 10px; }
body.app-rengaw .rw-tlp-grafico { display: flex; align-items: flex-end; gap: 0.4rem; height: 11rem; padding-top: 1.2rem; }
body.app-rengaw .rw-tlp-barra-col { flex: 1 1 0; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 0.2rem; }
body.app-rengaw .rw-tlp-barra { width: 100%; max-width: 2.2rem; border-radius: 6px 6px 2px 2px; background: var(--vz-primary); min-height: 2px; }
body.app-rengaw .rw-tlp-barra-valor, body.app-rengaw .rw-tlp-barra-data { font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; color: var(--vz-secondary-color); white-space: nowrap; }
body.app-rengaw .rw-tlp-passos { padding-left: 1.2rem; }
body.app-rengaw .rw-tlp-passos li { margin-bottom: 0.5rem; }
body.app-rengaw .rw-tlp-sessao { display: flex; flex-wrap: wrap; gap: 1rem; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-tlp-sessao:last-child { border-bottom: 0; }
body.app-rengaw .rw-tlp-qr { flex: 0 0 auto; background: #fff; padding: 0.4rem; border-radius: 10px; border: 1px solid var(--vz-border-color); line-height: 0; }
body.app-rengaw .rw-tlp-qr svg { width: 7.5rem; height: 7.5rem; }
body.app-rengaw .rw-tlp-codigo { font-family: "IBM Plex Mono", monospace; font-weight: 600; letter-spacing: 0.2em; padding: 0.1rem 0.5rem; border-radius: 6px; background: var(--vz-tertiary-bg, var(--vz-light)); }
body.app-rengaw .rw-tlp-codigo-campo { font-family: "IBM Plex Mono", monospace; letter-spacing: 0.3em; text-transform: uppercase; font-size: 1.3rem; text-align: center; }
body.app-rengaw .rw-tlp-previa-fixa { position: sticky; top: 6rem; }
body.app-rengaw .rw-tlp-amostra { position: relative; height: 18rem; overflow: hidden; border-radius: 0 0 16px 16px; display: flex; justify-content: center; padding-top: 3rem; background: var(--rw-tlp-fundo); color: var(--rw-tlp-letra); }
body.app-rengaw .rw-tlp-amostra-texto { transition: transform 0.2s; }
body.app-rengaw .rw-tlp-amostra-texto p { margin-bottom: 0.6em; }
body.app-rengaw .rw-tlp-amostra-guia { position: absolute; left: 0; right: 0; height: 2px; background: var(--rw-tlp-destaque); opacity: 0.8; }
body.app-rengaw .rw-tlp-amostra-guia[hidden] { display: none; }
body.app-rengaw .rw-tlp-amostra-foco::after { content: ""; position: absolute; inset: 55% 0 0 0; background: linear-gradient(transparent, var(--rw-tlp-fundo) 80%); pointer-events: none; }

/* Temas da leitura (alto contraste, iguais no claro e no escuro do sistema). */
body.app-rengaw .rw-tlp-tema-escuro, body.app-rengaw.rw-tlp-tema-escuro { --rw-tlp-fundo: #000000; --rw-tlp-letra: #FFFFFF; --rw-tlp-destaque: #0090F4; }
body.app-rengaw .rw-tlp-tema-amarelo, body.app-rengaw.rw-tlp-tema-amarelo { --rw-tlp-fundo: #000000; --rw-tlp-letra: #FFE45C; --rw-tlp-destaque: #0090F4; }
body.app-rengaw .rw-tlp-tema-verde, body.app-rengaw.rw-tlp-tema-verde { --rw-tlp-fundo: #000000; --rw-tlp-letra: #7DFFA8; --rw-tlp-destaque: #0090F4; }
body.app-rengaw .rw-tlp-tema-claro, body.app-rengaw.rw-tlp-tema-claro { --rw-tlp-fundo: #FFFFFF; --rw-tlp-letra: #061C3D; --rw-tlp-destaque: #006ECB; }
body.app-rengaw .rw-tlp-familia-sans { font-family: "IBM Plex Sans", sans-serif; }
body.app-rengaw .rw-tlp-familia-serif { font-family: Georgia, "Times New Roman", serif; }
body.app-rengaw .rw-tlp-familia-mono { font-family: "IBM Plex Mono", monospace; }
body.app-rengaw .rw-tlp-maiusculas { text-transform: uppercase; }

/* Leitura em tela cheia */
html.rw-tlp-html-leitura, body.rw-tlp-leitura { height: 100%; overflow: hidden; background: var(--rw-tlp-fundo) !important; }
body.rw-tlp-leitura .rw-tlp-palco { position: fixed; inset: 0; background: var(--rw-tlp-fundo); color: var(--rw-tlp-letra); overflow: hidden; }
body.rw-tlp-leitura .rw-tlp-sem-cursor { cursor: none; }
body.rw-tlp-leitura .rw-tlp-espelho { position: absolute; inset: 0; transform-origin: center; }
body.rw-tlp-leitura .rw-tlp-rolo { position: absolute; inset: 0; overflow: hidden; }
body.rw-tlp-leitura .rw-tlp-texto { position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; will-change: transform; padding-bottom: 100vh; font-weight: 500; color: var(--rw-tlp-letra); }
body.rw-tlp-leitura .rw-tlp-paragrafo { margin-bottom: 0.8em; }
body.rw-tlp-leitura .rw-tlp-texto > .rw-tlp-secao:first-child { margin-top: 0; }
body.rw-tlp-leitura .rw-tlp-pausa, body.rw-tlp-leitura .rw-tlp-deixa { font-size: 0.45em; }
body.rw-tlp-leitura .rw-tlp-nota { color: inherit; opacity: 0.6; font-size: 0.5em; }
body.rw-tlp-leitura .rw-tlp-fim { font-family: "IBM Plex Mono", monospace; font-size: 0.4em; text-transform: uppercase; letter-spacing: 0.2em; opacity: 0.6; text-align: center; margin-top: 2em; }
body.rw-tlp-leitura .rw-tlp-guia { position: absolute; left: 0; right: 0; height: 0; pointer-events: none; }
body.rw-tlp-leitura .rw-tlp-guia[hidden] { display: none; }
body.rw-tlp-leitura .rw-tlp-guia span { position: absolute; left: 0; right: 0; top: -1px; height: 3px; background: var(--rw-tlp-destaque); opacity: 0.75; }
body.rw-tlp-leitura .rw-tlp-guia::before, body.rw-tlp-leitura .rw-tlp-guia::after { content: ""; position: absolute; top: -0.9rem; border: 0.9rem solid transparent; }
body.rw-tlp-leitura .rw-tlp-guia::before { left: 0; border-left-color: var(--rw-tlp-destaque); }
body.rw-tlp-leitura .rw-tlp-guia::after { right: 0; border-right-color: var(--rw-tlp-destaque); }
body.rw-tlp-leitura .rw-tlp-sombra { position: absolute; left: 0; right: 0; pointer-events: none; }
body.rw-tlp-leitura .rw-tlp-sombra[hidden] { display: none; }
body.rw-tlp-leitura .rw-tlp-sombra-topo { top: 0; background: linear-gradient(var(--rw-tlp-fundo) 30%, color-mix(in srgb, var(--rw-tlp-fundo) 55%, transparent)); }
body.rw-tlp-leitura .rw-tlp-sombra-base { bottom: 0; background: linear-gradient(transparent, color-mix(in srgb, var(--rw-tlp-fundo) 70%, transparent) 45%, var(--rw-tlp-fundo) 95%); }
body.rw-tlp-leitura .rw-tlp-contagem { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: "Exo 2", sans-serif; font-weight: 800; font-size: min(40vw, 40vh); color: var(--rw-tlp-destaque); background: color-mix(in srgb, var(--rw-tlp-fundo) 70%, transparent); z-index: 5; }
body.rw-tlp-leitura .rw-tlp-contagem[hidden], body.rw-tlp-leitura .rw-tlp-aviso-pausa[hidden], body.rw-tlp-leitura .rw-tlp-janela[hidden], body.rw-tlp-leitura .rw-tlp-camera[hidden] { display: none; }
body.rw-tlp-leitura .rw-tlp-aviso-pausa { position: absolute; top: 1rem; left: 50%; transform: translateX(-50%); z-index: 6; padding: 0.4rem 1.1rem; border-radius: 999px; font-family: "IBM Plex Mono", monospace; font-size: 1.1rem; background: #F7B84B; color: #061C3D; font-weight: 600; white-space: nowrap; }
body.rw-tlp-leitura .rw-tlp-progresso { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(127, 127, 127, 0.25); z-index: 4; }
body.rw-tlp-leitura .rw-tlp-progresso span { display: block; height: 100%; width: 0; background: var(--rw-tlp-destaque); }
body.rw-tlp-leitura .rw-tlp-barra { position: absolute; left: 50%; bottom: 1rem; transform: translateX(-50%); z-index: 7; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.35rem; width: max-content; max-width: calc(100% - 1.5rem); padding: 0.45rem 0.6rem; border-radius: 16px; background: rgba(6, 28, 61, 0.92); color: #fff; box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35); transition: opacity 0.3s; }
body.rw-tlp-leitura .rw-tlp-barra.rw-tlp-oculta { opacity: 0; pointer-events: none; }
body.rw-tlp-leitura .rw-tlp-botao { min-width: 2.6rem; height: 2.6rem; padding: 0 0.55rem; border: 0; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 0.15rem; background: transparent; color: #fff; font-size: 1.2rem; position: relative; text-decoration: none; }
body.rw-tlp-leitura .rw-tlp-botao:hover, body.rw-tlp-leitura .rw-tlp-botao:focus-visible { background: rgba(255, 255, 255, 0.14); color: #fff; outline: 2px solid #0090F4; outline-offset: 1px; }
body.rw-tlp-leitura .rw-tlp-botao[aria-pressed="true"] { background: rgba(0, 144, 244, 0.35); }
body.rw-tlp-leitura .rw-tlp-botao-principal { background: #0090F4; color: #061C3D; min-width: 3.2rem; font-size: 1.5rem; }
body.rw-tlp-leitura .rw-tlp-botao-principal:hover, body.rw-tlp-leitura .rw-tlp-botao-principal:focus-visible { background: #33A6F6; color: #061C3D; }
body.rw-tlp-leitura .rw-tlp-grupo { display: inline-flex; align-items: center; border-radius: 10px; background: rgba(255, 255, 255, 0.06); }
body.rw-tlp-leitura .rw-tlp-valor { font-family: "IBM Plex Mono", monospace; font-size: 0.85rem; min-width: 4.4rem; text-align: center; }
body.rw-tlp-leitura .rw-tlp-tempos { font-family: "IBM Plex Mono", monospace; font-size: 0.8rem; opacity: 0.85; padding: 0 0.5rem; white-space: nowrap; }
body.rw-tlp-leitura .rw-tlp-selo-tela { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; text-transform: uppercase; padding: 0 0.6rem; }
body.rw-tlp-leitura .rw-tlp-ponto-conectado { position: absolute; top: 0.35rem; right: 0.35rem; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: #0AB39C; }
body.rw-tlp-leitura .rw-tlp-ponto-conectado[hidden] { display: none; }
body.rw-tlp-leitura .rw-tlp-janela { position: absolute; top: 1.5rem; right: 1.5rem; z-index: 8; width: min(22rem, calc(100% - 2rem)); max-height: calc(100% - 7rem); overflow-y: auto; padding: 1.2rem; border-radius: 16px; background: #061C3D; color: #fff; box-shadow: 0 10px 32px rgba(0, 0, 0, 0.45); }
body.rw-tlp-leitura .rw-tlp-janela .h5 { color: #fff; font-family: "Exo 2", sans-serif; }
body.rw-tlp-leitura .rw-tlp-fechar { position: absolute; top: 0.6rem; right: 0.6rem; border: 0; background: transparent; color: #fff; font-size: 1.3rem; }
body.rw-tlp-leitura .rw-tlp-janela-qr { background: #fff; border-radius: 12px; padding: 0.5rem; line-height: 0; width: max-content; margin: 0.4rem 0 0.8rem; }
body.rw-tlp-leitura .rw-tlp-janela-qr svg { width: 11rem; height: 11rem; }
body.rw-tlp-leitura .rw-tlp-codigo-grande { font-family: "IBM Plex Mono", monospace; font-size: 2rem; letter-spacing: 0.25em; color: #0090F4; background: transparent; padding: 0; margin-bottom: 0.2rem; }
body.rw-tlp-leitura .rw-tlp-atalhos { display: grid; gap: 0.35rem; margin: 0.6rem 0; }
body.rw-tlp-leitura .rw-tlp-atalhos > div { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.9rem; }
body.rw-tlp-leitura .rw-tlp-atalhos dt { font-weight: 400; white-space: nowrap; }
body.rw-tlp-leitura .rw-tlp-atalhos dd { margin: 0; text-align: right; opacity: 0.9; }
body.rw-tlp-leitura .rw-tlp-atalhos kbd { background: rgba(255, 255, 255, 0.15); color: #fff; font-family: "IBM Plex Mono", monospace; }
body.rw-tlp-leitura .rw-tlp-camera { position: absolute; top: 1rem; left: 1rem; z-index: 6; width: min(18rem, 40vw); border-radius: 14px; overflow: hidden; background: #000; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4); }
body.rw-tlp-leitura .rw-tlp-camera video { width: 100%; display: block; transform: scaleX(-1); }
body.rw-tlp-leitura .rw-tlp-camera-acoes { position: absolute; left: 0; right: 0; bottom: 0.5rem; display: flex; justify-content: center; }
@media (max-width: 575.98px) {
    body.rw-tlp-leitura .rw-tlp-barra { bottom: 0.5rem; gap: 0.15rem; padding: 0.35rem; }
    body.rw-tlp-leitura .rw-tlp-botao { min-width: 2.3rem; height: 2.3rem; font-size: 1.05rem; }
    body.rw-tlp-leitura .rw-tlp-tempos { width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { body.rw-tlp-leitura .rw-tlp-barra { transition: none; } }

/* Controle remoto no celular e páginas públicas */
body.rw-tlp-remoto-pagina { background: #061C3D !important; min-height: 100vh; color: #fff; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto { max-width: 30rem; margin: 0 auto; padding: 1rem 1rem 2rem; display: flex; flex-direction: column; gap: 0.9rem; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-topo { display: flex; align-items: center; gap: 0.7rem; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-topo > i { font-size: 1.8rem; color: #0090F4; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-topo h1 { color: #fff; font-family: "Exo 2", sans-serif; }
body.rw-tlp-remoto-pagina .rw-tlp-sinal { margin-left: auto; font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; padding: 0.2rem 0.6rem; border-radius: 999px; background: rgba(255, 255, 255, 0.12); white-space: nowrap; }
body.rw-tlp-remoto-pagina .rw-tlp-sinal-ok { background: rgba(10, 179, 156, 0.3); }
body.rw-tlp-remoto-pagina .rw-tlp-sinal-erro { background: rgba(240, 101, 72, 0.35); }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-cartao { background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 16px; padding: 1rem; color: #fff; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-cartao .form-label, body.rw-tlp-remoto-pagina .rw-tlp-remoto-cartao legend { color: #fff; }
body.rw-tlp-remoto-pagina .rw-tlp-progresso-remoto { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, 0.15); overflow: hidden; }
body.rw-tlp-remoto-pagina .rw-tlp-progresso-remoto span { display: block; height: 100%; width: 0; background: #0090F4; transition: width 0.4s; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-play { border: 0; border-radius: 22px; min-height: 7rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.2rem; background: #0090F4; color: #061C3D; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 1.2rem; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-play i { font-size: 3rem; line-height: 1; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.6rem; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-grade button, body.rw-tlp-remoto-pagina .rw-tlp-remoto-secao { border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 14px; background: rgba(255, 255, 255, 0.07); color: #fff; min-height: 4rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.15rem; font-size: 0.8rem; padding: 0.4rem; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-grade button i { font-size: 1.4rem; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-ppm { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font-size: 0.7rem; opacity: 0.9; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-ppm strong { font-family: "Exo 2", sans-serif; font-size: 1.6rem; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-secao { width: 100%; flex-direction: row; justify-content: space-between; min-height: 3rem; margin-bottom: 0.4rem; font-size: 0.95rem; padding: 0.4rem 0.9rem; text-align: left; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-secao.ativa { border-color: #0090F4; background: rgba(0, 144, 244, 0.25); }
body.rw-tlp-remoto-pagina .rw-tlp-tocado { transform: scale(0.96); filter: brightness(1.25); }
body.rw-tlp-remoto-pagina button:disabled { opacity: 0.4; }
body.rw-tlp-remoto-pagina button:focus-visible { outline: 3px solid #0090F4; outline-offset: 2px; }
body.rw-tlp-remoto-pagina .rw-tlp-remoto-rodape { opacity: 0.75; }

/* Impressão do roteiro */
body.rw-tlp-impressao { background: #fff !important; }
body.rw-tlp-impressao .rw-tlp-folha { max-width: 48rem; margin: 2rem auto; padding: 0 1rem; color: #061C3D; }
body.rw-tlp-impressao .rw-tlp-previa-impressa { max-height: none; overflow: visible; font-size: 1.35rem; line-height: 1.8; }
@media print { .rw-tlp-nao-imprimir { display: none !important; } body.rw-tlp-impressao .rw-tlp-folha { margin: 0; max-width: none; } }

/* ===================================================================== Pautas e fluxo editorial (2026-10-18) */
body.app-rengaw .rw-pta-retranca { font-family: var(--rw-mono); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--vz-primary); font-weight: 600; text-decoration: none; }
body.app-rengaw .rw-pta-atraso { color: #A83A22; font-weight: 600; }
body.app-rengaw .rw-pta-etapa, body.app-rengaw .rw-pta-selo { display: inline-flex; align-items: center; padding: 0.1rem 0.55rem; border-radius: 999px; background: #EEF1F6; color: #3D4A5C; font-size: 0.72rem; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-pta-etapa-aprovada, body.app-rengaw .rw-pta-etapa-apuracao, body.app-rengaw .rw-pta-etapa-redacao { background: #E5F1FB; color: #00539A; }
body.app-rengaw .rw-pta-etapa-revisao { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-pta-etapa-pronta, body.app-rengaw .rw-pta-etapa-publicada, body.app-rengaw .rw-pta-correcao-publicada { background: #E6F7F4; color: #067A6A; }
body.app-rengaw .rw-pta-etapa-derrubada, body.app-rengaw .rw-pta-selo-atraso, body.app-rengaw .rw-pta-selo-urgente, body.app-rengaw .rw-pta-correcao-recusada { background: #FDECE8; color: #A83A22; }
body.app-rengaw .rw-pta-selo-alta, body.app-rengaw .rw-pta-correcao-aberta { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-pta-indicador { color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw a.rw-pta-indicador:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-pta-indicador-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-pta-indicador-numero { font-family: var(--rw-titulo); font-weight: 700; font-size: 2rem; line-height: 1.1; margin-bottom: 0.25rem; }
body.app-rengaw .rw-pta-passos li { margin-bottom: 0.4rem; }
body.app-rengaw .rw-pta-funil { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-pta-funil-etapa { display: flex; flex-direction: column; align-items: center; gap: 0.15rem; padding: 0.75rem 0.25rem; border: 1px solid var(--vz-border-color); border-radius: 12px; text-decoration: none; color: var(--vz-body-color); text-align: center; }
body.app-rengaw .rw-pta-funil-etapa:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-pta-funil-etapa i { font-size: 1.25rem; color: var(--vz-primary); }
body.app-rengaw .rw-pta-funil-etapa strong { font-family: var(--rw-titulo); font-size: 1.4rem; line-height: 1; }
body.app-rengaw .rw-pta-funil-etapa span { font-size: 0.72rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pta-funil-derrubada i { color: #A83A22; }
body.app-rengaw .rw-pta-funil-publicada i { color: #067A6A; }
@media (max-width: 991.98px) { body.app-rengaw .rw-pta-funil { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
body.app-rengaw .rw-pta-lista { display: flex; flex-direction: column; }
body.app-rengaw .rw-pta-linha { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); column-gap: 0.75rem; padding: 0.55rem 0; border-bottom: 1px solid var(--vz-border-color); text-decoration: none; color: var(--vz-body-color); }
body.app-rengaw .rw-pta-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-pta-linha .rw-pta-retranca { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-pta-linha:hover .rw-pta-linha-titulo { text-decoration: underline; }
body.app-rengaw .rw-pta-linha-titulo { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-pta-linha-meta { grid-column: 2; font-size: 0.78rem; color: var(--vz-secondary-color); }
@media (max-width: 575.98px) { body.app-rengaw .rw-pta-linha { grid-template-columns: minmax(0, 1fr); } body.app-rengaw .rw-pta-linha-meta { grid-column: 1; } }
body.app-rengaw .rw-pta-espelho-curto { padding-left: 1.2rem; }
body.app-rengaw .rw-pta-espelho-curto li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-pta-sem-item { list-style: none; margin-left: -1.2rem; }
body.app-rengaw .rw-pta-carga { display: grid; grid-template-columns: minmax(0, 9rem) 1fr 2rem; align-items: center; gap: 0.6rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-pta-carga-nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-pta-carga-numero { font-weight: 600; text-align: right; }
body.app-rengaw .rw-pta-carga-celula { min-width: 9rem; white-space: nowrap; }
body.app-rengaw .rw-pta-carga-celula .rw-pta-barra { display: inline-block; width: 6rem; vertical-align: middle; }
body.app-rengaw .rw-pta-barra { display: block; height: 8px; border-radius: 999px; background: var(--vz-tertiary-bg); overflow: hidden; }
body.app-rengaw .rw-pta-barra > span { display: block; height: 100%; background: var(--vz-primary); border-radius: 999px; }
body.app-rengaw .rw-pta-barra > span.rw-pta-barra-alerta { background: #D9542F; }
/* Quadro */
body.app-rengaw .rw-pta-quadro { position: relative; display: grid; grid-template-columns: repeat(8, minmax(14rem, 1fr)); gap: 0.75rem; overflow-x: auto; padding-bottom: 0.5rem; }
body.app-rengaw .rw-pta-coluna { background: var(--vz-tertiary-bg); border-radius: 16px; padding: 0.75rem; min-height: 12rem; display: flex; flex-direction: column; transition: box-shadow 0.15s ease; }
body.app-rengaw .rw-pta-coluna.sobre { box-shadow: inset 0 0 0 2px var(--vz-primary); }
body.app-rengaw .rw-pta-coluna-titulo { display: flex; align-items: center; gap: 0.4rem; font-family: var(--rw-mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.6rem; }
body.app-rengaw .rw-pta-contagem { background: var(--vz-secondary-bg); border-radius: 999px; padding: 0 0.5rem; }
body.app-rengaw .rw-pta-cartoes { display: flex; flex-direction: column; gap: 0.5rem; flex: 1; min-height: 3rem; }
body.app-rengaw .rw-pta-cartao { background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.7rem; }
body.app-rengaw .com-arrastar .rw-pta-cartao { cursor: grab; }
body.app-rengaw .rw-pta-cartao.arrastando { opacity: 0.5; }
body.app-rengaw .rw-pta-cartao-titulo { display: block; font-weight: 500; text-decoration: none; margin: 0.15rem 0; }
body.app-rengaw .rw-pta-cartao-titulo:hover { text-decoration: underline; }
body.app-rengaw .rw-pta-prioridade-urgente { box-shadow: inset 0 3px 0 #D9542F; }
body.app-rengaw .rw-pta-prioridade-alta { box-shadow: inset 0 3px 0 #F7B84B; }
body.app-rengaw .rw-pta-coluna-vazia { padding: 0.5rem 0; }
/* Pauta */
body.app-rengaw .rw-pta-titulo-pauta { font-family: var(--rw-titulo); font-weight: 600; }
body.app-rengaw .rw-pta-trilho { display: flex; list-style: none; padding: 0; margin: 0 0 1rem; overflow-x: auto; position: relative; }
body.app-rengaw .rw-pta-trilho li { flex: 1 0 6rem; display: flex; flex-direction: column; align-items: center; gap: 0.35rem; font-size: 0.72rem; color: var(--vz-secondary-color); position: relative; text-align: center; }
body.app-rengaw .rw-pta-trilho li::before { content: ""; position: absolute; top: 0.45rem; left: -50%; width: 100%; height: 2px; background: var(--vz-border-color); }
body.app-rengaw .rw-pta-trilho li:first-child::before { display: none; }
body.app-rengaw .rw-pta-trilho-bola { width: 0.95rem; height: 0.95rem; border-radius: 50%; border: 2px solid var(--vz-border-color); background: var(--vz-secondary-bg); position: relative; z-index: 1; }
body.app-rengaw .rw-pta-trilho-feito .rw-pta-trilho-bola { background: var(--vz-primary); border-color: var(--vz-primary); }
body.app-rengaw .rw-pta-trilho li.rw-pta-trilho-feito::before, body.app-rengaw .rw-pta-trilho li.rw-pta-trilho-atual::before { background: var(--vz-primary); }
body.app-rengaw .rw-pta-trilho li.rw-pta-trilho-atual { color: var(--vz-body-color); font-weight: 600; }
body.app-rengaw .rw-pta-trilho-atual .rw-pta-trilho-bola { border-color: var(--vz-primary); box-shadow: 0 0 0 4px rgba(0, 110, 203, 0.18); }
body.app-rengaw .rw-pta-fonte { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; padding: 0.55rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pta-fonte .form-select { width: auto; }
body.app-rengaw .rw-pta-checklist li { padding: 0.3rem 0; }
body.app-rengaw .rw-pta-check { border: 0; background: none; padding: 0; font-size: 1.25rem; line-height: 1; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pta-check.feito { color: #067A6A; }
body.app-rengaw .rw-pta-check:focus-visible { outline: 2px solid var(--vz-primary); outline-offset: 2px; border-radius: 50%; }
body.app-rengaw .rw-pta-correcao, body.app-rengaw .rw-pta-comentario { padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw dl.rw-ficha.rw-pta-ficha-uma { grid-template-columns: minmax(0, 1fr); }
body.app-rengaw .rw-pta-trilha li { padding: 0.4rem 0; border-bottom: 1px solid var(--vz-border-color); font-size: 0.85rem; }
body.app-rengaw .rw-pta-trilha li:last-child { border-bottom: 0; }
/* Texto e versões */
body.app-rengaw .rw-pta-diff, body.app-rengaw .rw-pta-texto { line-height: 1.7; }
body.app-rengaw .rw-pta-removido { background: #FDECE8; color: #A83A22; text-decoration: line-through; border-radius: 4px; padding: 0 0.15rem; }
body.app-rengaw .rw-pta-incluido { background: #E6F7F4; color: #067A6A; text-decoration: none; border-radius: 4px; padding: 0 0.15rem; }
body.app-rengaw .rw-pta-sugestao { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pta-versoes li { padding: 0.4rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pta-versoes li:last-child { border-bottom: 0; }
/* Espelho e reunião */
body.app-rengaw .rw-pta-espelho-item { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pta-espelho-item:last-child { border-bottom: 0; }
body.app-rengaw .rw-pta-espelho-numero { width: 2rem; height: 2rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--vz-tertiary-bg); font-family: var(--rw-titulo); font-weight: 700; }
body.app-rengaw .rw-pta-espelho-corpo { flex: 1 1 16rem; min-width: 0; }
body.app-rengaw .rw-pta-espelho-posicao { display: flex; gap: 0.3rem; flex: 0 1 13rem; }
body.app-rengaw .rw-pta-sugestao-reuniao { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pta-sugestao-reuniao:last-child { border-bottom: 0; }
/* Calendário */
body.app-rengaw .rw-pta-mes { font-family: var(--rw-titulo); text-transform: capitalize; }
body.app-rengaw .rw-pta-calendario { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.35rem; }
body.app-rengaw .rw-pta-dia { min-height: 6.5rem; border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.35rem; display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
body.app-rengaw .rw-pta-dia-fora { opacity: 0.5; }
body.app-rengaw .rw-pta-dia-hoje { border-color: var(--vz-primary); box-shadow: inset 0 0 0 1px var(--vz-primary); }
body.app-rengaw .rw-pta-dia-numero { font-family: var(--rw-mono); font-size: 0.7rem; text-transform: uppercase; color: var(--vz-secondary-color); text-decoration: none; }
body.app-rengaw .rw-pta-evento { display: block; font-size: 0.72rem; padding: 0.1rem 0.35rem; border-radius: 6px; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.app-rengaw .rw-pta-evento-publicacao { background: #E5F1FB; color: #00539A; }
body.app-rengaw .rw-pta-evento-fechamento { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-pta-ponto { display: inline-block; width: 0.6rem; height: 0.6rem; border-radius: 50%; margin-right: 0.25rem; vertical-align: middle; }
body.app-rengaw .rw-pta-ponto-publicacao { background: #3D8FD6; }
body.app-rengaw .rw-pta-ponto-fechamento { background: #F7B84B; }
@media (max-width: 767.98px) {
    body.app-rengaw .rw-pta-calendario { grid-template-columns: minmax(0, 1fr); }
    body.app-rengaw .rw-pta-dia { min-height: 0; }
    body.app-rengaw .rw-pta-dia-fora { display: none; }
}
/* Modo escuro */
[data-bs-theme="dark"] body.app-rengaw .rw-pta-etapa, [data-bs-theme="dark"] body.app-rengaw .rw-pta-selo { background: rgba(255, 255, 255, 0.08); color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pta-etapa-aprovada, [data-bs-theme="dark"] body.app-rengaw .rw-pta-etapa-apuracao, [data-bs-theme="dark"] body.app-rengaw .rw-pta-etapa-redacao, [data-bs-theme="dark"] body.app-rengaw .rw-pta-evento-publicacao { background: rgba(0, 144, 244, 0.18); color: #8CC8F5; }
[data-bs-theme="dark"] body.app-rengaw .rw-pta-etapa-revisao, [data-bs-theme="dark"] body.app-rengaw .rw-pta-selo-alta, [data-bs-theme="dark"] body.app-rengaw .rw-pta-correcao-aberta, [data-bs-theme="dark"] body.app-rengaw .rw-pta-evento-fechamento { background: rgba(247, 184, 75, 0.18); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pta-etapa-pronta, [data-bs-theme="dark"] body.app-rengaw .rw-pta-etapa-publicada, [data-bs-theme="dark"] body.app-rengaw .rw-pta-correcao-publicada, [data-bs-theme="dark"] body.app-rengaw .rw-pta-incluido { background: rgba(10, 179, 156, 0.18); color: #6FD8C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pta-etapa-derrubada, [data-bs-theme="dark"] body.app-rengaw .rw-pta-selo-atraso, [data-bs-theme="dark"] body.app-rengaw .rw-pta-selo-urgente, [data-bs-theme="dark"] body.app-rengaw .rw-pta-correcao-recusada, [data-bs-theme="dark"] body.app-rengaw .rw-pta-removido { background: rgba(240, 101, 72, 0.18); color: #F59A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-pta-atraso { color: #F59A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-pta-check.feito { color: #6FD8C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-pta-funil-derrubada i { color: #F59A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-pta-funil-publicada i { color: #6FD8C6; }

/* ---------- App Roteiros (2026-10-18, prefixo rw-rot-): claro e escuro, cores pelas variáveis do tema ---------- */
body.app-rengaw .rw-rot-situacao { display: inline-block; font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.04em; padding: 0.18rem 0.55rem; border-radius: 999px; background: var(--vz-light); color: var(--vz-body-color); white-space: nowrap; }
body.app-rengaw .rw-rot-situacao-revisao, body.app-rengaw .rw-rot-situacao-cliente { background: rgba(0, 110, 203, 0.12); color: #00509A; }
body.app-rengaw .rw-rot-situacao-ajustes { background: rgba(240, 101, 72, 0.14); color: #A8341C; }
body.app-rengaw .rw-rot-situacao-pronto { background: rgba(10, 179, 156, 0.14); color: #056B5D; }
body.app-rengaw .rw-rot-situacao-aprovado { background: #056B5D; color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-rot-situacao-revisao, [data-bs-theme="dark"] body.app-rengaw .rw-rot-situacao-cliente { background: rgba(0, 144, 244, 0.22); color: #8FCBFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-rot-situacao-ajustes { background: rgba(240, 101, 72, 0.25); color: #F59A86; }
[data-bs-theme="dark"] body.app-rengaw .rw-rot-situacao-pronto { background: rgba(10, 179, 156, 0.22); color: #6FD8C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-rot-situacao-aprovado { background: #0AB39C; color: #061C3D; }
body.app-rengaw .rw-rot-indicador { display: flex; align-items: center; gap: 0.9rem; }
body.app-rengaw .rw-rot-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); color: inherit; text-decoration: none; }
body.app-rengaw .rw-rot-linha:last-child { border-bottom: 0; }
body.app-rengaw a.rw-rot-linha:hover strong { color: var(--vz-primary); }
body.app-rengaw .rw-rot-vazio { display: flex; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-rot-situacoes { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-rot-situacoes a { display: flex; justify-content: space-between; align-items: center; padding: 0.45rem 0; border-bottom: 1px solid var(--vz-border-color); color: inherit; text-decoration: none; }
body.app-rengaw .rw-rot-situacoes li:last-child a { border-bottom: 0; }
body.app-rengaw .rw-rot-ponto { display: inline-block; width: 0.7rem; height: 0.7rem; border-radius: 50%; flex: none; }
body.app-rengaw .rw-rot-data { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 10px; background: var(--vz-light); font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; text-transform: uppercase; flex: none; }
body.app-rengaw .rw-rot-data strong { font-family: "Exo 2", sans-serif; font-size: 1.1rem; line-height: 1; }
body.app-rengaw .rw-rot-data-atrasada { background: rgba(240, 101, 72, 0.14); color: #A8341C; }
[data-bs-theme="dark"] body.app-rengaw .rw-rot-data-atrasada { color: #F59A86; }
body.app-rengaw a.rw-rot-modelo { color: inherit; text-decoration: none; }
body.app-rengaw a.rw-rot-modelo:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-rot-modelo-opcao { display: flex; gap: 0.75rem; align-items: flex-start; height: 100%; padding: 0.85rem; border: 1px solid var(--vz-border-color); border-radius: 12px; cursor: pointer; }
body.app-rengaw .btn-check:checked + .rw-rot-modelo-opcao { border-color: var(--vz-primary); box-shadow: inset 0 0 0 1px var(--vz-primary); background: rgba(0, 110, 203, 0.05); }
body.app-rengaw .btn-check:focus-visible + .rw-rot-modelo-opcao { outline: 3px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-rot-filtros { min-width: 17rem; }
body.app-rengaw .rw-rot-codigo { font-family: "IBM Plex Mono", monospace; font-size: 0.85rem; }
body.app-rengaw .rw-rot-texto-alerta { color: #7A4A00; }
[data-bs-theme="dark"] body.app-rengaw .rw-rot-texto-alerta { color: #F7D08A; }
body.app-rengaw .rw-rot-tempo-topo { display: inline-flex; align-items: center; gap: 0.3rem; font-family: "IBM Plex Mono", monospace; font-size: 0.85rem; }
body.app-rengaw .rw-rot-versao-chip { display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; padding: 0.15rem 0.5rem; border-radius: 8px; border: 1px solid var(--vz-border-color); background: var(--rw-rot-revisao, #FFFFFF); color: #061C3D; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; flex: none; }
body.app-rengaw .rw-rot-versao-chip-grande { min-width: 3.4rem; height: 3.4rem; font-size: 1rem; border-radius: 12px; }
body.app-rengaw .rw-rot-guia { margin-bottom: 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.6rem 0.9rem; background: var(--vz-secondary-bg); }
body.app-rengaw .rw-rot-guia summary { cursor: pointer; font-weight: 600; display: flex; align-items: center; gap: 0.4rem; }
body.app-rengaw .rw-rot-guia-lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 0.6rem 1.2rem; margin: 0.8rem 0 0.2rem; }
body.app-rengaw .rw-rot-guia-lista dt code { font-size: 0.8rem; color: var(--vz-body-color); background: var(--vz-light); padding: 0.05rem 0.3rem; border-radius: 4px; }
body.app-rengaw .rw-rot-guia-lista dd { margin: 0.2rem 0 0; font-size: 0.82rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-rot-tempo-grande { font-family: "Exo 2", sans-serif; font-size: 2rem; font-weight: 700; line-height: 1; }
body.app-rengaw .rw-rot-meta { height: 8px; border-radius: 999px; background: var(--vz-light); overflow: hidden; margin-bottom: 0.8rem; }
body.app-rengaw .rw-rot-meta span { display: block; height: 100%; background: var(--vz-primary); border-radius: 999px; }
body.app-rengaw .rw-rot-meta span.rw-rot-meta-acima { background: #F06548; }
body.app-rengaw .rw-rot-mapa { display: flex; height: 1.6rem; border-radius: 8px; overflow: hidden; gap: 2px; }
body.app-rengaw .rw-rot-mapa-parte { display: flex; align-items: center; justify-content: center; min-width: 4px; background: rgba(0, 110, 203, 0.45); color: #FFFFFF; font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; text-decoration: none; overflow: hidden; }
body.app-rengaw .rw-rot-mapa-par { background: rgba(0, 110, 203, 0.75); }
body.app-rengaw .rw-rot-mapa-parte:hover { background: #003387; }
[data-bs-theme="dark"] body.app-rengaw .rw-rot-mapa-parte { background: rgba(0, 144, 244, 0.45); color: #061C3D; }
[data-bs-theme="dark"] body.app-rengaw .rw-rot-mapa-par { background: rgba(0, 144, 244, 0.8); }
body.app-rengaw .rw-rot-problema { display: flex; gap: 0.5rem; align-items: flex-start; margin-bottom: 0.5rem; font-size: 0.85rem; }
body.app-rengaw .rw-rot-problema a { color: inherit; }
body.app-rengaw .rw-rot-problema i { margin-top: 0.1rem; }
body.app-rengaw .rw-rot-problema-erro i { color: #D9482A; }
body.app-rengaw .rw-rot-problema-aviso i { color: #B57400; }
body.app-rengaw .rw-rot-problema-dica i { color: var(--vz-primary); }
body.app-rengaw .rw-rot-voz { margin-bottom: 0.65rem; }
body.app-rengaw .rw-rot-voz-barra { height: 6px; border-radius: 999px; background: var(--vz-light); overflow: hidden; margin-top: 0.25rem; }
body.app-rengaw .rw-rot-voz-barra span { display: block; height: 100%; border-radius: 999px; }
body.app-rengaw .rw-rot-lado-fixo { position: sticky; top: 6rem; }
body.app-rengaw .rw-rot-bloco { scroll-margin-top: 7rem; }
body.app-rengaw .rw-rot-bloco > .card-header { padding-top: 0.6rem; padding-bottom: 0.6rem; }
body.app-rengaw .rw-rot-bloco-pronto > .card-header { background: rgba(10, 179, 156, 0.07); }
body.app-rengaw .rw-rot-arrastando { opacity: 0.5; }
body.app-rengaw .rw-rot-alca { border: 0; background: transparent; color: var(--vz-secondary-color); cursor: grab; padding: 0 0.15rem; font-size: 1.2rem; line-height: 1; }
body.app-rengaw .rw-rot-alca:focus-visible { outline: 3px solid var(--vz-primary); border-radius: 4px; }
body.app-rengaw .rw-rot-numero { display: inline-flex; align-items: center; justify-content: center; min-width: 1.7rem; height: 1.7rem; border-radius: 8px; background: var(--vz-light); font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 600; flex: none; }
body.app-rengaw .rw-rot-tempo-bloco { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; white-space: nowrap; }
body.app-rengaw .rw-rot-texto { font-family: "IBM Plex Mono", monospace; font-size: 0.9rem; line-height: 1.6; }
body.app-rengaw .rw-rot-texto-corrido { min-height: 32rem; }
body.app-rengaw.rw-rot-foco-ativo .rw-rot-coluna-lado, body.app-rengaw.rw-rot-foco-ativo .rw-rot-guia { display: none; }
body.app-rengaw.rw-rot-foco-ativo .rw-rot-coluna-texto { flex: 0 0 100%; max-width: 52rem; margin: 0 auto; }
/* O texto formatado (leitura, folha, link do cliente, roteiro em leitura) */
body.app-rengaw .rw-rot-texto-formatado p, body.app-rengaw .rw-rot-av p { margin-bottom: 0.45rem; }
body.app-rengaw .rw-rot-acao { white-space: pre-wrap; }
body.app-rengaw .rw-rot-personagem { margin: 0.8rem 0 0 !important; font-weight: 700; letter-spacing: 0.03em; color: var(--rw-rot-cor, var(--vz-heading-color)); }
body.app-rengaw .rw-rot-formato-cena .rw-rot-personagem { margin-left: 35% !important; }
body.app-rengaw .rw-rot-formato-cena .rw-rot-fala { margin-left: 17%; margin-right: 17%; }
body.app-rengaw .rw-rot-formato-cena .rw-rot-parentetico { margin-left: 27%; margin-right: 27%; margin-bottom: 0 !important; }
body.app-rengaw .rw-rot-formato-cena .rw-rot-transicao { text-align: right; font-weight: 600; }
body.app-rengaw .rw-rot-formato-cena { font-family: "Courier Prime", "Courier New", monospace; }
body.app-rengaw .rw-rot-parentetico { font-style: italic; color: var(--vz-secondary-color); }
body.app-rengaw .rw-rot-transicao { text-transform: uppercase; }
body.app-rengaw .rw-rot-locucao { font-size: 1rem; }
body.app-rengaw .rw-rot-nota { display: flex; gap: 0.4rem; align-items: flex-start; font-size: 0.85rem; color: #6B4E00; background: rgba(247, 184, 75, 0.15); border-radius: 8px; padding: 0.35rem 0.6rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-rot-nota { color: #F7D08A; background: rgba(247, 184, 75, 0.12); }
body.app-rengaw .rw-rot-nota-inline { font-size: 0.82rem; color: #6B4E00; background: rgba(247, 184, 75, 0.18); border-radius: 4px; padding: 0 0.3rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-rot-nota-inline { color: #F7D08A; }
body.app-rengaw .rw-rot-sem-notas .rw-rot-nota, body.app-rengaw .rw-rot-sem-notas .rw-rot-nota-inline { display: none; }
body.app-rengaw .rw-rot-som { display: flex; gap: 0.4rem; align-items: baseline; font-size: 0.88rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-rot-som strong { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; }
body.app-rengaw .rw-rot-seg, body.app-rengaw .rw-rot-pausa { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; padding: 0 0.35rem; border-radius: 4px; background: var(--vz-light); color: var(--vz-body-color); white-space: nowrap; }
body.app-rengaw .rw-rot-video { color: var(--vz-heading-color); }
body.app-rengaw mark.rw-rot-elemento { padding: 0 0.2rem; border-radius: 4px; background: rgba(0, 144, 244, 0.16); color: inherit; }
body.app-rengaw mark.rw-rot-elemento[data-categoria="figurino"], body.app-rengaw mark.rw-rot-elemento[data-categoria="maquiagem"] { background: rgba(232, 62, 140, 0.15); }
body.app-rengaw mark.rw-rot-elemento[data-categoria="veiculo"], body.app-rengaw mark.rw-rot-elemento[data-categoria="equipamento"] { background: rgba(101, 89, 204, 0.16); }
body.app-rengaw mark.rw-rot-elemento[data-categoria="efeito"], body.app-rengaw mark.rw-rot-elemento[data-categoria="musica"] { background: rgba(10, 179, 156, 0.16); }
body.app-rengaw .rw-rot-av th { width: 50%; }
body.app-rengaw .rw-rot-av td { vertical-align: top; }
body.app-rengaw .rw-rot-av td:first-child { border-right: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-rot-folha { background: var(--vz-card-bg); border: 1px solid var(--vz-border-color); border-radius: 16px; padding: 2rem clamp(1rem, 4vw, 3rem); }
body.app-rengaw .rw-rot-folha-capa { text-align: center; border-bottom: 1px solid var(--vz-border-color); padding-bottom: 1.2rem; margin-bottom: 1.4rem; }
body.app-rengaw .rw-rot-folha-capa h2 { font-family: "Exo 2", sans-serif; }
body.app-rengaw .rw-rot-folha-bloco { padding: 0.6rem 0 1.2rem; border-bottom: 1px dashed var(--vz-border-color); scroll-margin-top: 7rem; }
body.app-rengaw .rw-rot-folha-bloco:last-child { border-bottom: 0; }
body.app-rengaw .rw-rot-folha-cabeca { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.6rem; }
body.app-rengaw .rw-rot-folha-cabeca h3, body.app-rengaw .rw-rot-folha-cabeca h2 { font-size: 1rem; margin: 0; flex: 1 1 auto; min-width: 0; }
body.app-rengaw .rw-rot-cabecalho-cena { font-family: "Courier Prime", "Courier New", monospace; text-transform: uppercase; font-weight: 700; }
body.app-rengaw .rw-rot-chip-tempo { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; color: var(--vz-secondary-color); white-space: nowrap; }
body.app-rengaw .rw-rot-comentario { border-left: 0; background: var(--vz-secondary-bg); border-radius: 10px; padding: 0.55rem 0.8rem; margin: 0.5rem 0; font-size: 0.88rem; }
body.app-rengaw .rw-rot-comentario-resolvido { opacity: 0.7; }
body.app-rengaw .rw-rot-comentar summary { cursor: pointer; font-size: 0.82rem; color: var(--vz-primary); }
body.app-rengaw .rw-rot-mesa-relogio { font-family: "Exo 2", sans-serif; font-size: 2.6rem; font-weight: 700; line-height: 1; }
body.app-rengaw .rw-rot-mesa-texto { font-size: 1.25rem; line-height: 1.7; min-height: 6rem; }
body.app-rengaw .rw-rot-mesa-texto .rw-rot-av { font-size: 1rem; }
body.app-rengaw .rw-rot-personagem-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.55rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-rot-personagem-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-rot-avatar { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; color: #FFFFFF; font-family: "Exo 2", sans-serif; font-weight: 700; flex: none; }
body.app-rengaw .rw-rot-ordem { margin: 0; padding-left: 1.2rem; }
body.app-rengaw .rw-rot-ordem li { margin-bottom: 0.6rem; }
body.app-rengaw .rw-rot-categoria { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--vz-secondary-color); margin: 0.6rem 0 0.2rem; }
body.app-rengaw .rw-rot-itens { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-rot-itens li { padding: 0.2rem 0; }
body.app-rengaw .rw-rot-diff-chip { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; padding: 0.25rem 0.6rem; border-radius: 999px; background: var(--vz-light); }
body.app-rengaw .rw-rot-diff-incluido { background: rgba(10, 179, 156, 0.15); }
body.app-rengaw .rw-rot-diff-removido { background: rgba(240, 101, 72, 0.15); }
body.app-rengaw .rw-rot-diff-alterado { background: rgba(0, 110, 203, 0.12); }
body.app-rengaw .rw-rot-diff-selo { background: var(--vz-light); color: var(--vz-body-color); font-weight: 500; }
body.app-rengaw .rw-rot-diff-texto { font-family: "IBM Plex Mono", monospace; font-size: 0.85rem; }
body.app-rengaw .rw-rot-diff-linha { padding: 0.1rem 0.3rem; border-radius: 4px; white-space: pre-wrap; }
body.app-rengaw .rw-rot-diff-bloco-incluido > .card-header .rw-rot-diff-selo { background: rgba(10, 179, 156, 0.18); }
body.app-rengaw .rw-rot-diff-bloco-removido > .card-header .rw-rot-diff-selo { background: rgba(240, 101, 72, 0.18); }
body.app-rengaw .rw-rot-diff-linha-igual { color: var(--vz-secondary-color); }
body.app-rengaw .rw-rot-diferencas ins { text-decoration: none; background: rgba(10, 179, 156, 0.22); border-radius: 3px; padding: 0 0.15rem; }
body.app-rengaw .rw-rot-diferencas del { background: rgba(240, 101, 72, 0.18); border-radius: 3px; padding: 0 0.15rem; }
body.app-rengaw .rw-rot-destaque { border-color: var(--vz-primary); }
body.app-rengaw .rw-rot-citacao { margin: 0 0 0.8rem; padding: 0.5rem 0.8rem; background: var(--vz-secondary-bg); border-radius: 10px; font-size: 0.9rem; }
body.app-rengaw .rw-rot-link { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-rot-link:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-rot-trilha { list-style: none; margin: 0; padding: 0; }
body.app-rengaw .rw-rot-trilha li { padding: 0.35rem 0; border-bottom: 1px solid var(--vz-border-color); font-size: 0.88rem; }
body.app-rengaw .rw-rot-trilha li:last-child { border-bottom: 0; }
body.app-rengaw .rw-rot-pessoa { display: inline-flex; align-items: center; gap: 0.2rem; margin: 0 0.4rem 0.4rem 0; padding: 0.25rem 0.6rem; border-radius: 999px; background: var(--vz-light); }
body.app-rengaw .rw-rot-miniatura { width: 3rem; height: 3rem; object-fit: cover; border-radius: 8px; border: 1px solid var(--vz-border-color); flex: none; }
body.app-rengaw .rw-rot-sugestao { padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-rot-sugestao:last-child { border-bottom: 0; }
body.app-rengaw .rw-rot-pre { white-space: pre-wrap; font-family: "IBM Plex Mono", monospace; font-size: 0.85rem; margin: 0; }
body.app-rengaw .rw-rot-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
body.app-rengaw .rw-rot-publico.rw-menu-pagina { max-width: 54rem; }
@media (max-width: 1199.98px) { body.app-rengaw .rw-rot-lado-fixo { position: static; } }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-rot-formato-cena .rw-rot-personagem { margin-left: 20% !important; }
    body.app-rengaw .rw-rot-formato-cena .rw-rot-fala { margin-left: 6%; margin-right: 6%; }
    body.app-rengaw .rw-rot-formato-cena .rw-rot-parentetico { margin-left: 12%; margin-right: 12%; }
    body.app-rengaw .rw-rot-tempo-bloco .text-muted { display: none; }
    body.app-rengaw .rw-rot-mesa-relogio { font-size: 2rem; }
}
/* Leitor de feeds, modo Artigo (2026-10-18): o texto inteiro de cada item na própria lista. */
body.app-rengaw .rw-lf-artigos .rw-lf-item { flex-direction: column; padding: 1.25rem 0; }
body.app-rengaw .rw-lf-artigos .rw-lf-item-titulo { font-size: 1.35rem; }
body.app-rengaw .rw-lf-artigos .rw-lf-item-acoes { flex-direction: row; }
body.app-rengaw .rw-lf-artigos .rw-lf-conteudo { margin-top: 0.5rem; }
body.app-rengaw .rw-lf-artigos .rw-lf-imagem-destaque { max-width: 100%; height: auto; border-radius: 12px; margin: 0.5rem 0; }
body.app-rengaw .rw-lf-artigo-rodape { font-size: 0.875rem; margin: 0.75rem 0 0; }
[data-bs-theme="dark"] body.app-rengaw .rw-rot-personagem { filter: brightness(1.45); }
/* Leitor de feeds (2026-10-18): a coluna das vistas, pastas e fontes fica fixa ao rolar a lista em telas largas; se as
   fontes não couberem na altura da janela, a própria coluna rola. No celular a coluna vem depois da lista, sem fixar. */
@media (min-width: 992px) {
    body.app-rengaw .rw-lf-navegacao { position: sticky; top: 9rem; max-height: calc(100vh - 10rem); overflow-y: auto; overscroll-behavior: contain; }
}

/* ==================================================================================================================
   Transcrição de áudio (2026-10-18, prefixo rw-trc-): painel, envio com gravação pelo navegador, player sincronizado com
   o texto, falantes com cores, destaques com etiquetas, busca de citação e link de leitura. Claro e escuro.
   ================================================================================================================== */
body.app-rengaw .rw-trc-indicador { color: inherit; }
body.app-rengaw .rw-trc-indicador-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-trc-indicador-numero { font-family: "Exo 2", sans-serif; font-size: 1.9rem; font-weight: 700; line-height: 1.1; margin-bottom: 0.15rem; color: var(--vz-heading-color, inherit); }
body.app-rengaw .rw-trc-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-trc-lista { display: flex; flex-direction: column; }
body.app-rengaw .rw-trc-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); color: inherit; }
body.app-rengaw .rw-trc-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-trc-linha:hover strong { color: var(--vz-primary); }
body.app-rengaw .rw-trc-linha-icone { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; border-radius: 10px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); flex: none; }
body.app-rengaw .rw-trc-linha-texto { display: flex; flex-direction: column; min-width: 0; flex: 1; }
body.app-rengaw .rw-trc-linha-texto strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.app-rengaw .rw-trc-linha-texto small { color: var(--vz-secondary-color); }
body.app-rengaw .rw-trc-mini-barra { display: inline-block; width: 5rem; height: 0.4rem; border-radius: 999px; background: var(--vz-border-color); overflow: hidden; flex: none; vertical-align: middle; }
body.app-rengaw .rw-trc-mini-barra > span { display: block; height: 100%; background: var(--vz-primary); border-radius: 999px; }
body.app-rengaw .rw-trc-mini-barra-lista { width: 4rem; }
body.app-rengaw .rw-trc-situacao { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.78rem; font-weight: 500; padding: 0.15rem 0.55rem; border-radius: 999px; background: var(--vz-light); color: var(--vz-body-color); white-space: nowrap; }
body.app-rengaw .rw-trc-situacao-concluida { background: rgba(10, 179, 156, 0.14); color: #077565; }
body.app-rengaw .rw-trc-situacao-processando, body.app-rengaw .rw-trc-situacao-na_fila { background: rgba(0, 110, 203, 0.12); color: var(--vz-primary); }
body.app-rengaw .rw-trc-situacao-falhou { background: rgba(240, 101, 72, 0.14); color: #B23A1E; }
body.app-rengaw .rw-trc-situacao-processando i { animation: rw-trc-girar 1.2s linear infinite; }
@keyframes rw-trc-girar { to { transform: rotate(360deg); } }
body.app-rengaw .rw-trc-girando i { animation: rw-trc-girar 1.2s linear infinite; display: inline-block; }
@media (prefers-reduced-motion: reduce) { body.app-rengaw .rw-trc-girando i, body.app-rengaw .rw-trc-situacao-processando i { animation: none; } }
body.app-rengaw .rw-trc-progresso { height: 0.55rem; border-radius: 999px; }
body.app-rengaw .rw-trc-filtros { min-width: 17rem; }
body.app-rengaw .rw-trc-citacao { margin: 0 0 0.9rem; padding: 0.55rem 0.85rem; background: var(--vz-secondary-bg); border-radius: 10px; }
body.app-rengaw .rw-trc-citacao:last-child { margin-bottom: 0; }
body.app-rengaw .rw-trc-etiqueta { display: inline-flex; align-items: center; font-family: "IBM Plex Mono", monospace; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.1rem 0.45rem; border-radius: 6px; font-weight: 600; }
body.app-rengaw .rw-trc-bolinha { display: inline-block; width: 0.55rem; height: 0.55rem; border-radius: 50%; margin-right: 0.3rem; }
body.app-rengaw .rw-trc-etiqueta.rw-trc-cor-azul { background: rgba(0, 110, 203, 0.12); color: #00539B; }
body.app-rengaw .rw-trc-etiqueta.rw-trc-cor-verde { background: rgba(10, 179, 156, 0.15); color: #076B5D; }
body.app-rengaw .rw-trc-etiqueta.rw-trc-cor-amarelo { background: rgba(247, 184, 75, 0.22); color: #7A5200; }
body.app-rengaw .rw-trc-etiqueta.rw-trc-cor-vermelho { background: rgba(240, 101, 72, 0.15); color: #A63519; }
body.app-rengaw .rw-trc-etiqueta.rw-trc-cor-roxo { background: rgba(118, 83, 199, 0.14); color: #5B3BA8; }
body.app-rengaw .rw-trc-etiqueta.rw-trc-cor-cinza { background: var(--vz-light); color: var(--vz-body-color); }
body.app-rengaw .rw-trc-bolinha.rw-trc-cor-azul { background: #006ECB; }
body.app-rengaw .rw-trc-bolinha.rw-trc-cor-verde { background: #0AB39C; }
body.app-rengaw .rw-trc-bolinha.rw-trc-cor-amarelo { background: #F7B84B; }
body.app-rengaw .rw-trc-bolinha.rw-trc-cor-vermelho { background: #F06548; }
body.app-rengaw .rw-trc-bolinha.rw-trc-cor-roxo { background: #7653C7; }
body.app-rengaw .rw-trc-bolinha.rw-trc-cor-cinza { background: #5D6A79; }
/* Envio */
body.app-rengaw .rw-trc-envio-area { display: flex; flex-direction: column; gap: 0.75rem; }
body.app-rengaw .rw-trc-envio-opcao { display: flex; gap: 0.85rem; align-items: flex-start; padding: 0.9rem; border: 1px dashed var(--vz-border-color); border-radius: 12px; }
body.app-rengaw .rw-trc-envio-ou { display: flex; align-items: center; gap: 0.75rem; font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-trc-envio-ou::before, body.app-rengaw .rw-trc-envio-ou::after { content: ""; flex: 1; height: 1px; background: var(--vz-border-color); }
body.app-rengaw .rw-trc-cronometro { font-family: "IBM Plex Mono", monospace; font-size: 1.05rem; min-width: 4.5rem; }
body.app-rengaw .rw-trc-nivel { display: inline-block; width: 6rem; height: 0.4rem; border-radius: 999px; background: var(--vz-border-color); overflow: hidden; }
body.app-rengaw .rw-trc-nivel > span { display: block; height: 100%; width: 0; background: #0AB39C; transition: width 0.08s linear; }
body.app-rengaw .rw-trc-gravando { background: #F06548 !important; color: #FFFFFF !important; }
body.app-rengaw .rw-trc-previa { margin-top: 0.85rem; }
/* Player e texto */
body.app-rengaw .rw-trc-player-cartao { position: sticky; top: 8.5rem; z-index: 5; }
body.app-rengaw .rw-trc-video { width: 100%; max-height: 18rem; border-radius: 10px; background: #061C3D; }
body.app-rengaw .rw-trc-capitulos { display: flex; flex-wrap: wrap; gap: 0.35rem; }
body.app-rengaw .rw-trc-chip { display: inline-flex; align-items: center; gap: 0.3rem; border: 1px solid var(--vz-border-color); background: var(--vz-secondary-bg); color: var(--vz-body-color); border-radius: 999px; padding: 0.2rem 0.65rem; font-size: 0.8rem; line-height: 1.4; }
body.app-rengaw .rw-trc-chip:hover { border-color: var(--vz-primary); color: var(--vz-primary); }
body.app-rengaw .rw-trc-chip > span:first-child { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; color: var(--vz-primary); }
body.app-rengaw .rw-trc-chip-ativo { border-color: var(--vz-primary); background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
body.app-rengaw .rw-trc-filtro { width: 14rem; }
body.app-rengaw .rw-trc-texto { display: flex; flex-direction: column; gap: 0.15rem; }
body.app-rengaw .rw-trc-seg { padding: 0.55rem 0.7rem; border-radius: 10px; scroll-margin-top: 16rem; }
body.app-rengaw .rw-trc-seg:hover { background: var(--vz-secondary-bg); }
body.app-rengaw .rw-trc-seg-atual { background: var(--vz-primary-bg-subtle) !important; }
body.app-rengaw .rw-trc-seg-cabeca { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.15rem; }
body.app-rengaw .rw-trc-seg-nome { font-size: 0.86rem; }
body.app-rengaw .rw-trc-tempo { border: 0; background: none; padding: 0; font-family: "IBM Plex Mono", monospace; font-size: 0.74rem; color: var(--vz-primary); }
body.app-rengaw button.rw-trc-tempo:hover { text-decoration: underline; }
body.app-rengaw .rw-trc-seg-acoes { margin-left: auto; display: inline-flex; gap: 0.6rem; opacity: 0.55; }
body.app-rengaw .rw-trc-seg:hover .rw-trc-seg-acoes, body.app-rengaw .rw-trc-seg-acoes:focus-within { opacity: 1; }
body.app-rengaw .rw-trc-seg-acoes .btn-link { color: var(--vz-secondary-color); font-size: 1rem; }
body.app-rengaw .rw-trc-seg-acoes .btn-link:hover { color: var(--vz-primary); }
body.app-rengaw .rw-trc-seg-texto { margin: 0 0 0 2.35rem; line-height: 1.65; cursor: pointer; white-space: pre-wrap; }
body.app-rengaw .rw-trc-seg-duvidoso .rw-trc-seg-texto { text-decoration: underline wavy rgba(247, 184, 75, 0.9); text-underline-offset: 4px; text-decoration-thickness: 1px; }
body.app-rengaw .rw-trc-seg-destaques { margin: 0.35rem 0 0 2.35rem; display: flex; flex-wrap: wrap; gap: 0.35rem; }
body.app-rengaw .rw-trc-marca { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.3rem; font-size: 0.8rem; background: rgba(247, 184, 75, 0.14); border-radius: 8px; padding: 0.15rem 0.5rem; }
body.app-rengaw .rw-trc-editor { margin: 0.3rem 0 0 2.35rem; }
body.app-rengaw .rw-trc-editor select { max-width: 16rem; }
body.app-rengaw .rw-trc-avatar { display: inline-flex; align-items: center; justify-content: center; width: 1.85rem; height: 1.85rem; border-radius: 50%; color: #FFFFFF; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.85rem; flex: none; }
body.app-rengaw .rw-trc-avatar-p { width: 1.4rem; height: 1.4rem; font-size: 0.7rem; }
body.app-rengaw .rw-trc-falante-0 { background: #006ECB; }
body.app-rengaw .rw-trc-falante-1 { background: #0A8F7D; }
body.app-rengaw .rw-trc-falante-2 { background: #B5532F; }
body.app-rengaw .rw-trc-falante-3 { background: #6A4BC4; }
body.app-rengaw .rw-trc-falante-4 { background: #9A6B00; }
body.app-rengaw .rw-trc-falante-5 { background: #00336A; }
body.app-rengaw .rw-trc-falante-6 { background: #A23A6B; }
body.app-rengaw .rw-trc-falante-7 { background: #5D6A79; }
body.app-rengaw .rw-trc-falante-linha { display: flex; gap: 0.65rem; align-items: flex-start; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-trc-falante-linha:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-trc-barra-fala { height: 0.35rem; border-radius: 999px; background: var(--vz-border-color); margin-top: 0.35rem; overflow: hidden; }
body.app-rengaw .rw-trc-barra-fala > span { display: block; height: 100%; border-radius: 999px; }
body.app-rengaw .rw-trc-resumo { line-height: 1.65; }
body.app-rengaw .rw-trc-encaminhamentos li::marker { content: "✓  "; color: #0AB39C; }
body.app-rengaw .rw-trc-sugestao { padding: 0.65rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-trc-sugestao:first-child { padding-top: 0; }
body.app-rengaw .rw-trc-sugestao:last-child { border-bottom: 0; padding-bottom: 0; }
/* Busca, mural, pastas e links */
body.app-rengaw .rw-trc-resultado { padding: 0.8rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-trc-resultado:first-child { padding-top: 0; }
body.app-rengaw .rw-trc-resultado:last-child { border-bottom: 0; }
body.app-rengaw .rw-trc-resultado mark, body.app-rengaw .rw-trc-texto mark { background: rgba(247, 184, 75, 0.45); color: inherit; padding: 0 0.1rem; border-radius: 3px; }
body.app-rengaw .rw-trc-cartao-citacao { display: flex; flex-direction: column; align-items: flex-start; gap: 0.15rem; padding: 1rem; border: 1px solid var(--vz-border-color); border-radius: 16px; }
body.app-rengaw .rw-trc-cartao-citacao-texto { font-family: "Exo 2", sans-serif; font-size: 1.02rem; line-height: 1.5; margin: 0.4rem 0; }
body.app-rengaw .rw-trc-cartao-citacao .btn { margin-top: auto; }
body.app-rengaw .rw-trc-pasta { color: inherit; }
body.app-rengaw .rw-trc-pasta:hover h2 { color: var(--vz-primary); }
body.app-rengaw .rw-trc-pessoas li { padding: 0.45rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-trc-pessoas li:last-child { border-bottom: 0; }
body.app-rengaw .rw-trc-link { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-trc-link:first-child { padding-top: 0; }
body.app-rengaw .rw-trc-link:last-child { border-bottom: 0; }
body.app-rengaw .rw-trc-link-inativo { opacity: 0.6; }
body.app-rengaw .rw-trc-publico.rw-menu-pagina { max-width: 54rem; }
body.app-rengaw .rw-trc-publico .rw-trc-player-cartao { top: 0.5rem; }
body.app-rengaw .rw-trc-publico .rw-trc-seg-texto { cursor: default; }
.rw-trc-aviso-flutuante { position: fixed; left: 50%; bottom: 1.5rem; transform: translate(-50%, 1rem); background: #061C3D; color: #FFFFFF; padding: 0.55rem 1rem; border-radius: 10px; font-size: 0.88rem; opacity: 0; pointer-events: none; transition: opacity 0.2s, transform 0.2s; z-index: 1090; }
.rw-trc-aviso-flutuante.visivel { opacity: 1; transform: translate(-50%, 0); }
[data-bs-theme="dark"] body.app-rengaw .rw-trc-situacao-concluida { color: #4FD1BC; }
[data-bs-theme="dark"] body.app-rengaw .rw-trc-situacao-falhou { color: #FF9A84; }
[data-bs-theme="dark"] body.app-rengaw .rw-trc-etiqueta.rw-trc-cor-azul { color: #7FC4FF; }
[data-bs-theme="dark"] body.app-rengaw .rw-trc-etiqueta.rw-trc-cor-verde { color: #4FD1BC; }
[data-bs-theme="dark"] body.app-rengaw .rw-trc-etiqueta.rw-trc-cor-amarelo { color: #FFD27A; }
[data-bs-theme="dark"] body.app-rengaw .rw-trc-etiqueta.rw-trc-cor-vermelho { color: #FF9A84; }
[data-bs-theme="dark"] body.app-rengaw .rw-trc-etiqueta.rw-trc-cor-roxo { color: #C2AEFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-trc-marca { background: rgba(247, 184, 75, 0.18); }
[data-bs-theme="dark"] .rw-trc-aviso-flutuante { background: #0090F4; color: #061C3D; border: 0; }
[data-bs-theme="dark"] body.app-rengaw .rw-trc-player-cartao audio, [data-bs-theme="dark"] body.app-rengaw .rw-trc-previa audio { color-scheme: dark; }
@media (max-width: 1199.98px) { body.app-rengaw .rw-trc-player-cartao { top: 4.75rem; } }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-trc-seg-texto, body.app-rengaw .rw-trc-seg-destaques, body.app-rengaw .rw-trc-editor { margin-left: 0; }
    body.app-rengaw .rw-trc-filtro { width: 100%; }
    body.app-rengaw .rw-trc-seg-acoes { opacity: 1; }
    body.app-rengaw .rw-trc-envio-opcao { flex-direction: column; }
    body.app-rengaw .rw-trc-indicador-numero { font-size: 1.5rem; }
}

/* ------------------------------------------------------------------------------------------------------------------
 * App Newsletter (2026-10-18, prefixo rw-nl-): indicadores, barras de crescimento e de aberturas por hora, saúde da
 * lista, editor de blocos com a prévia ao lado, checklist do envio, progresso, teste A/B, cliques por link, selos de
 * situação e as páginas públicas (reaproveitam .rw-menu-pagina/.rw-menu-capa). Claro e escuro; conferido a 500px.
 * ------------------------------------------------------------------------------------------------------------------ */
body.app-rengaw .rw-nl-passos li { margin-bottom: 0.4rem; }
body.app-rengaw .rw-nl-indicador { color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw a.rw-nl-indicador:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-nl-indicador-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-nl-indicador-numero { font-family: var(--rw-titulo); font-weight: 700; font-size: 2rem; line-height: 1.1; margin-bottom: 0.25rem; }
body.app-rengaw .rw-nl-barras { display: flex; align-items: flex-end; gap: 3px; height: 7rem; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-nl-barra { flex: 1 1 0; min-width: 0; background: var(--vz-border-color); border-radius: 4px 4px 0 0; }
body.app-rengaw .rw-nl-barra-cheia { background: var(--vz-primary); }
body.app-rengaw .rw-nl-saude { display: flex; height: 0.875rem; border-radius: 999px; overflow: hidden; background: var(--vz-border-color); }
body.app-rengaw .rw-nl-saude-ativos { background: #0A8F5B; }
body.app-rengaw .rw-nl-saude-mornos { background: #D99A1E; }
body.app-rengaw .rw-nl-saude-inativos { background: #8A97A8; }
body.app-rengaw .rw-nl-dica { display: flex; align-items: center; gap: 0.5rem; padding: 0.625rem 0.875rem; border-radius: 12px; background: var(--vz-primary-bg-subtle); color: var(--vz-body-color); }
body.app-rengaw .rw-nl-dica i { color: var(--vz-primary); font-size: 1.125rem; }
body.app-rengaw .rw-nl-selo { display: inline-block; padding: 0.15rem 0.55rem; border-radius: 999px; font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.04em; text-transform: uppercase; background: var(--vz-tertiary-bg); color: var(--vz-secondary-color); border: 1px solid var(--vz-border-color); white-space: nowrap; }
body.app-rengaw .rw-nl-selo-agendada, body.app-rengaw .rw-nl-selo-revisao { background: #FFF4DB; color: #7A4B00; border-color: #F2D49B; }
body.app-rengaw .rw-nl-selo-enviando { background: #E3F1FF; color: #004E99; border-color: #B8DAFB; }
body.app-rengaw .rw-nl-selo-enviada, body.app-rengaw .rw-nl-isel-ativo { background: #E2F6EC; color: #0B6B44; border-color: #B3E3CB; }
body.app-rengaw .rw-nl-selo-cancelada, body.app-rengaw .rw-nl-isel-devolvido, body.app-rengaw .rw-nl-isel-descadastrado { background: #FDE8E4; color: #9A2A14; border-color: #F5C2B7; }
body.app-rengaw .rw-nl-isel-pendente, body.app-rengaw .rw-nl-selo-pausada { background: #FFF4DB; color: #7A4B00; border-color: #F2D49B; }
body.app-rengaw .rw-nl-codigo { font-family: var(--rw-mono); font-size: 0.8125rem; }
body.app-rengaw .rw-nl-etiqueta { display: inline-block; padding: 0.1rem 0.5rem; margin: 0 0.15rem 0.15rem 0; border-radius: 6px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary-text-emphasis); font-size: 0.75rem; }
body.app-rengaw .rw-nl-modelo { border: 1px solid var(--vz-border-color); background: var(--vz-card-bg); color: var(--vz-body-color); cursor: pointer; }
body.app-rengaw .rw-nl-modelo:hover, body.app-rengaw .rw-nl-modelo:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-nl-modelo-linha { flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-nl-bloco { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.875rem; margin-bottom: 0.75rem; background: var(--vz-card-bg); scroll-margin-top: 6rem; }
body.app-rengaw .rw-nl-bloco:target { border-color: var(--vz-primary); box-shadow: 0 0 0 3px var(--vz-primary-bg-subtle); }
body.app-rengaw .rw-nl-bloco-topo { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 0.625rem; }
body.app-rengaw .rw-nl-bloco-tipo { display: inline-flex; align-items: center; gap: 0.35rem; font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-nl-bloco-tipo i { color: var(--vz-primary); font-size: 1rem; }
body.app-rengaw .rw-nl-ferramentas { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-bottom: 0.375rem; }
body.app-rengaw .rw-nl-adicionar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem; padding: 0.75rem; border: 1px dashed var(--vz-border-color); border-radius: 12px; }
body.app-rengaw .rw-nl-lateral { position: sticky; top: 6.5rem; }
body.app-rengaw .rw-nl-previa { display: block; width: 100%; height: 34rem; border: 1px solid var(--vz-border-color); border-radius: 10px; background: #F4F7FB; margin: 0 auto; transition: width 0.2s; }
body.app-rengaw .rw-nl-previa-celular { width: 375px; max-width: 100%; }
body.app-rengaw .rw-nl-ia-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.5rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); font-size: 0.875rem; }
body.app-rengaw .rw-nl-ia-item:last-child { border-bottom: 0; }
body.app-rengaw .rw-nl-contador { text-align: right; }
body.app-rengaw .rw-nl-contador-longo { color: #9A5B00; font-weight: 600; }
body.app-rengaw .rw-nl-checklist { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-nl-checklist li { display: flex; gap: 0.5rem; align-items: flex-start; padding: 0.45rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-nl-checklist li:last-child { border-bottom: 0; }
body.app-rengaw .rw-nl-checklist i { font-size: 1.125rem; line-height: 1.3; }
body.app-rengaw .rw-nl-ok i { color: #0A8F5B; }
body.app-rengaw .rw-nl-falta i { color: #C2361A; }
body.app-rengaw .rw-nl-aviso i { color: #B57300; }
body.app-rengaw .rw-nl-progresso { height: 0.75rem; border-radius: 999px; background: var(--vz-border-color); overflow: hidden; }
body.app-rengaw .rw-nl-progresso span { display: block; height: 100%; background: var(--vz-primary); border-radius: 999px; }
body.app-rengaw .rw-nl-ab { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.875rem; height: 100%; }
body.app-rengaw .rw-nl-ab-vence { border-color: #0A8F5B; background: #F0FAF5; }
body.app-rengaw .rw-nl-link { display: grid; grid-template-columns: minmax(0, 1fr) 6rem 2.5rem; gap: 0.5rem; align-items: center; padding: 0.35rem 0; font-size: 0.875rem; }
body.app-rengaw .rw-nl-link-barra { height: 0.5rem; border-radius: 999px; background: var(--vz-border-color); overflow: hidden; }
body.app-rengaw .rw-nl-link-barra span { display: block; height: 100%; background: var(--vz-primary); }
body.app-rengaw .rw-nl-link-n { text-align: right; font-weight: 600; }
body.app-rengaw .rw-nl-codigo-bloco { font-family: var(--rw-mono); font-size: 0.75rem; }
body.app-rengaw .rw-menu-pagina.rw-nl-publico { max-width: 36rem; padding-bottom: 2rem; }
body.app-rengaw .rw-nl-publico-logo { display: block; max-height: 3rem; max-width: 12rem; margin: 0 auto 0.75rem; background: #FFFFFF; padding: 0.25rem 0.5rem; border-radius: 8px; }
body.app-rengaw .rw-nl-publico-sub { color: #C9D6E6; margin: 0.5rem 0 0; }
body.app-rengaw .rw-nl-publico-icone { display: block; font-size: 2.75rem; color: var(--rw-menu-cor, var(--vz-primary)); margin-bottom: 0.5rem; }
body.app-rengaw .rw-nl-indicacoes { font-family: var(--rw-titulo); font-size: 1.125rem; }
body.rw-nl-embutido { background: transparent; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-nl-link { grid-template-columns: minmax(0, 1fr) 2.5rem; }
    body.app-rengaw .rw-nl-link-barra { display: none; }
    body.app-rengaw .rw-nl-indicador-numero { font-size: 1.5rem; }
    body.app-rengaw .rw-nl-previa { height: 26rem; }
}
@media (max-width: 1199.98px) { body.app-rengaw .rw-nl-lateral { position: static; } }
[data-bs-theme="dark"] body.app-rengaw .rw-nl-selo-agendada, [data-bs-theme="dark"] body.app-rengaw .rw-nl-selo-revisao,
[data-bs-theme="dark"] body.app-rengaw .rw-nl-isel-pendente, [data-bs-theme="dark"] body.app-rengaw .rw-nl-selo-pausada { background: #3A2D10; color: #F5CF7A; border-color: #5C4719; }
[data-bs-theme="dark"] body.app-rengaw .rw-nl-selo-enviando { background: #10304F; color: #9DD0FF; border-color: #1D4C78; }
[data-bs-theme="dark"] body.app-rengaw .rw-nl-selo-enviada, [data-bs-theme="dark"] body.app-rengaw .rw-nl-isel-ativo { background: #0F3A28; color: #8FE0BB; border-color: #1C5B40; }
[data-bs-theme="dark"] body.app-rengaw .rw-nl-selo-cancelada, [data-bs-theme="dark"] body.app-rengaw .rw-nl-isel-devolvido,
[data-bs-theme="dark"] body.app-rengaw .rw-nl-isel-descadastrado { background: #44190F; color: #F7B3A3; border-color: #6B2A1B; }
[data-bs-theme="dark"] body.app-rengaw .rw-nl-ab-vence { background: #0F3A28; border-color: #2E8F64; }
[data-bs-theme="dark"] body.app-rengaw .rw-nl-saude-ativos { background: #2EB37E; }
[data-bs-theme="dark"] body.app-rengaw .rw-nl-contador-longo { color: #F5CF7A; }
[data-bs-theme="dark"] body.app-rengaw .rw-nl-ok i { color: #2EB37E; }
[data-bs-theme="dark"] body.app-rengaw .rw-nl-falta i { color: #F28B74; }
[data-bs-theme="dark"] body.app-rengaw .rw-nl-aviso i { color: #F5CF7A; }
body.app-rengaw .rw-nl-campo > div[id] > div { margin-bottom: 0.25rem; }
body.app-rengaw .rw-nl-campo > div[id] > div > label { display: flex; align-items: center; gap: 0.5rem; font-weight: 400; margin: 0; }
body.app-rengaw .rw-nl-campo > div[id] > div > label > input.form-check-input { float: none; margin: 0; flex-shrink: 0; }
body.app-rengaw .rw-nl-campo > div.form-check-input[id] { width: auto; height: auto; border: 0; background: none; float: none; margin: 0; padding: 0; box-shadow: none; -webkit-appearance: none; appearance: none; }

/* ================================================================ Análise de contratos (2026-10-19, prefixo rw-act-) */
body.app-rengaw .rw-act-indicador { color: inherit; }
body.app-rengaw .rw-act-indicador-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-act-indicador-numero { font-family: "Exo 2", sans-serif; font-size: 1.9rem; font-weight: 700; line-height: 1.1; margin-bottom: 0.15rem; color: var(--vz-heading-color, inherit); }
body.app-rengaw .rw-act-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-act-situacao { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.78rem; font-weight: 500; padding: 0.15rem 0.55rem; border-radius: 999px; background: var(--vz-light); color: var(--vz-body-color); white-space: nowrap; }
body.app-rengaw .rw-act-situacao-concluida { background: rgba(10, 179, 156, 0.14); color: #077565; }
body.app-rengaw .rw-act-situacao-processando, body.app-rengaw .rw-act-situacao-na_fila { background: rgba(0, 110, 203, 0.12); color: var(--vz-primary); }
body.app-rengaw .rw-act-situacao-falhou { background: rgba(240, 101, 72, 0.14); color: #B23A1E; }
body.app-rengaw .rw-act-situacao-processando i, body.app-rengaw .rw-act-girando i { animation: rw-act-girar 1.2s linear infinite; display: inline-block; }
@keyframes rw-act-girar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { body.app-rengaw .rw-act-girando i, body.app-rengaw .rw-act-situacao-processando i { animation: none; } }
body.app-rengaw .rw-act-progresso { height: 0.55rem; border-radius: 999px; }
body.app-rengaw .rw-act-mini-barra { display: inline-block; width: 4rem; height: 0.4rem; border-radius: 999px; background: var(--vz-border-color); overflow: hidden; vertical-align: middle; flex: none; }
body.app-rengaw .rw-act-mini-barra > span { display: block; height: 100%; background: var(--vz-primary); border-radius: 999px; }
body.app-rengaw .rw-act-risco { display: inline-flex; align-items: center; font-size: 0.78rem; font-weight: 600; padding: 0.15rem 0.55rem; border-radius: 999px; white-space: nowrap; }
body.app-rengaw .rw-act-risco-alto, body.app-rengaw .rw-act-gravidade-alta { background: rgba(180, 35, 24, 0.12); color: #A0251B; }
body.app-rengaw .rw-act-risco-medio, body.app-rengaw .rw-act-gravidade-media { background: rgba(247, 184, 75, 0.2); color: #8A5200; }
body.app-rengaw .rw-act-risco-baixo, body.app-rengaw .rw-act-gravidade-baixa { background: rgba(10, 179, 156, 0.14); color: #077565; }
body.app-rengaw .rw-act-gravidade { display: inline-flex; align-items: center; font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; padding: 0.15rem 0.5rem; border-radius: 6px; white-space: nowrap; text-decoration: none; }
body.app-rengaw a.rw-act-gravidade:hover { filter: brightness(0.95); }
body.app-rengaw .rw-act-medidor { --tamanho: 8.5rem; width: var(--tamanho); height: var(--tamanho); margin: 0.5rem auto 0.75rem; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--act-cor, var(--vz-primary)) calc(var(--valor) * 1%), var(--vz-border-color) 0); }
body.app-rengaw .rw-act-medidor::before { content: ""; grid-area: 1 / 1; width: calc(var(--tamanho) - 1.4rem); height: calc(var(--tamanho) - 1.4rem); border-radius: 50%; background: var(--vz-card-bg, var(--vz-body-bg)); }
body.app-rengaw .rw-act-medidor > span { grid-area: 1 / 1; position: relative; font-family: "Exo 2", sans-serif; font-size: 2.2rem; font-weight: 700; color: var(--vz-heading-color, inherit); }
body.app-rengaw .rw-act-medidor-alto { --act-cor: #C4320A; }
body.app-rengaw .rw-act-medidor-medio { --act-cor: #DC8A0E; }
body.app-rengaw .rw-act-medidor-baixo { --act-cor: #0AB39C; }
body.app-rengaw .rw-act-trecho { margin: 0.25rem 0 0.5rem; padding: 0.5rem 0.8rem; background: var(--vz-secondary-bg, var(--vz-light)); border-left: 0; border-radius: 10px; font-size: 0.9rem; }
body.app-rengaw .rw-act-trecho p { font-style: italic; }
body.app-rengaw .rw-act-sugestao { padding: 0.6rem 0.85rem; border: 1px dashed var(--vz-border-color); border-radius: 10px; }
body.app-rengaw .rw-act-origem, body.app-rengaw .rw-act-decisao { font-size: 0.8rem; color: var(--vz-secondary-color); display: inline-flex; align-items: center; gap: 0.3rem; }
body.app-rengaw .rw-act-ponto-decidido { opacity: 0.8; }
body.app-rengaw .rw-act-nota { width: 14rem; max-width: 100%; }
body.app-rengaw .rw-act-papel { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--vz-primary); margin-right: 0.35rem; }
body.app-rengaw .rw-act-obrigacao + .rw-act-obrigacao { border-top: 1px solid var(--vz-border-color); padding-top: 0.6rem; margin-top: 0.6rem; }
body.app-rengaw .rw-act-datas li, body.app-rengaw .rw-act-lista li { padding: 0.45rem 0; }
body.app-rengaw .rw-act-datas li + li, body.app-rengaw .rw-act-lista li + li { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-act-dia { flex: none; width: 3.2rem; text-align: center; border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.2rem 0; line-height: 1.1; }
body.app-rengaw .rw-act-dia strong { display: block; font-family: "Exo 2", sans-serif; font-size: 1.2rem; }
body.app-rengaw .rw-act-dia small { display: block; font-family: "IBM Plex Mono", monospace; font-size: 0.62rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-act-dia-urgente { border-color: #C4320A; color: #A0251B; }
body.app-rengaw .rw-act-linha-tempo li { display: flex; align-items: flex-start; gap: 0.9rem; padding: 0.6rem 0; }
body.app-rengaw .rw-act-linha-tempo li + li { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-act-passada { opacity: 0.6; }
body.app-rengaw .rw-act-checklist li { display: flex; gap: 0.7rem; padding: 0.55rem 0; }
body.app-rengaw .rw-act-checklist li + li { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-act-checklist li > i { font-size: 1.25rem; line-height: 1.2; }
body.app-rengaw .rw-act-presente > i { color: #0AB39C; }
body.app-rengaw .rw-act-ausente > i { color: #C4320A; }
body.app-rengaw .rw-act-essencial { color: #B26A00; }
body.app-rengaw .rw-act-cartao-risco { padding: 0.8rem 0.9rem; border: 1px solid var(--vz-border-color); border-radius: 12px; color: inherit; }
body.app-rengaw .rw-act-cartao-risco:hover, body.app-rengaw .rw-act-cartao-link:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-act-cartao-risco > span { display: block; }
body.app-rengaw .rw-act-cartao-link { color: inherit; }
body.app-rengaw .rw-act-barra-risco { display: block; height: 0.35rem; margin-top: 0.6rem; border-radius: 999px; background: var(--vz-border-color); overflow: hidden; }
body.app-rengaw .rw-act-barra-risco > span { display: block; height: 100%; border-radius: 999px; }
body.app-rengaw .rw-act-barra-risco-alto { background: #C4320A; }
body.app-rengaw .rw-act-barra-risco-medio { background: #DC8A0E; }
body.app-rengaw .rw-act-barra-risco-baixo { background: #0AB39C; }
body.app-rengaw .rw-act-o-que-vai { padding: 0.7rem 0.9rem; background: var(--vz-secondary-bg, var(--vz-light)); border-radius: 10px; }
body.app-rengaw .rw-act-aviso-juridico { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.85rem; color: var(--vz-secondary-color); margin: 0.5rem 0; }
body.app-rengaw .rw-act-filtros { min-width: 17rem; }
body.app-rengaw .rw-act-pessoas li { padding: 0.4rem 0; }
body.app-rengaw .rw-act-pessoas li + li { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-act-opcao { display: flex; gap: 0.5rem; align-items: flex-start; padding: 0.55rem 0.7rem; border: 1px solid var(--vz-border-color); border-radius: 10px; cursor: pointer; height: 100%; }
body.app-rengaw .rw-act-opcao input { margin-top: 0.2rem; flex: none; }
body.app-rengaw .rw-act-opcao:has(input:checked) { border-color: var(--vz-primary); background: rgba(0, 110, 203, 0.06); }
body.app-rengaw .rw-act-letra { display: inline-grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 6px; background: var(--vz-primary); color: #fff; font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.8rem; }
body.app-rengaw .rw-act-quadro th[scope="row"] { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--vz-secondary-color); white-space: nowrap; }
body.app-rengaw .rw-act-quadro td { min-width: 11rem; }
body.app-rengaw .rw-act-diferente > * { background: rgba(247, 184, 75, 0.12) !important; }
body.app-rengaw .rw-act-clausula { padding: 0.6rem 0; }
body.app-rengaw .rw-act-clausula + .rw-act-clausula { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-act-tipo-diff { font-family: "IBM Plex Mono", monospace; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--vz-secondary-color); margin-left: 0.35rem; }
body.app-rengaw .rw-act-diff-texto { line-height: 1.7; }
body.app-rengaw .rw-act-diff del, body.app-rengaw .rw-act-legenda-removido { background: rgba(196, 50, 10, 0.12); color: #A0251B; text-decoration: line-through; border-radius: 3px; padding: 0 0.15rem; }
body.app-rengaw .rw-act-diff ins, body.app-rengaw .rw-act-legenda-incluido { background: rgba(10, 179, 156, 0.16); color: #066A5B; text-decoration: none; border-radius: 3px; padding: 0 0.15rem; }
body.app-rengaw .rw-act-texto { max-height: 70vh; overflow-y: auto; font-size: 0.92rem; }
body.app-rengaw .rw-act-pagina + .rw-act-pagina { border-top: 1px dashed var(--vz-border-color); margin-top: 0.8rem; padding-top: 0.8rem; }
body.app-rengaw .rw-act-procurar { max-width: 15rem; }
body.app-rengaw .rw-act-mapa li { padding: 0.2rem 0; overflow-wrap: anywhere; }
body.app-rengaw .rw-act-pergunta .rw-act-trecho { font-size: 0.88rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-act-situacao-concluida, [data-bs-theme="dark"] body.app-rengaw .rw-act-risco-baixo, [data-bs-theme="dark"] body.app-rengaw .rw-act-gravidade-baixa { color: #4FD1BC; }
[data-bs-theme="dark"] body.app-rengaw .rw-act-situacao-falhou { color: #FF9A84; }
[data-bs-theme="dark"] body.app-rengaw .rw-act-risco-alto, [data-bs-theme="dark"] body.app-rengaw .rw-act-gravidade-alta, [data-bs-theme="dark"] body.app-rengaw .rw-act-dia-urgente { color: #FF9A84; }
[data-bs-theme="dark"] body.app-rengaw .rw-act-risco-medio, [data-bs-theme="dark"] body.app-rengaw .rw-act-gravidade-media, [data-bs-theme="dark"] body.app-rengaw .rw-act-essencial { color: #F5CF7A; }
[data-bs-theme="dark"] body.app-rengaw .rw-act-diff del, [data-bs-theme="dark"] body.app-rengaw .rw-act-legenda-removido { color: #FF9A84; }
[data-bs-theme="dark"] body.app-rengaw .rw-act-diff ins, [data-bs-theme="dark"] body.app-rengaw .rw-act-legenda-incluido { color: #4FD1BC; }
[data-bs-theme="dark"] body.app-rengaw .rw-act-letra { color: #061C3D; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-act-indicador-numero { font-size: 1.5rem; }
    body.app-rengaw .rw-act-nota, body.app-rengaw .rw-act-procurar { width: 100%; max-width: none; }
    body.app-rengaw .rw-act-quadro td { min-width: 9rem; }
}

/* ------------------------------------------------------------------------------------------------------------------
 * Receptivo e transfers (2026-10-19, prefixo rw-rtf-): selos de situação e do voo, agenda do dia (semana, serviço com
 * designação e botões de situação), cotação, escala em faixas de horas (posições vindas do servidor), linha do tempo,
 * etapas do passageiro, tela do motorista no celular (botões grandes) e as páginas públicas (reaproveitam
 * .rw-menu-pagina e .rw-menu-capa). Sem borda lateral colorida: a cor do motorista vai no ponto e no bloco. Claro e
 * escuro.
 * ------------------------------------------------------------------------------------------------------------------ */
body.app-rengaw .rw-rtf-selo { display: inline-flex; align-items: center; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; white-space: nowrap; border: 1px solid transparent; background: #EEF2F7; color: #36414F; }
body.app-rengaw .rw-rtf-selo-solicitada { background: #FFF4DE; color: #8A5200; border-color: #F5D9A6; }
body.app-rengaw .rw-rtf-selo-confirmada { background: #E7F1FB; color: #00558F; border-color: #C3DCF3; }
body.app-rengaw .rw-rtf-selo-a_caminho, body.app-rengaw .rw-rtf-selo-no_local { background: #EDE9FB; color: #4A33B5; border-color: #D3CBF4; }
body.app-rengaw .rw-rtf-selo-em_curso { background: #E1F4FE; color: #005E8F; border-color: #B9E1F7; }
body.app-rengaw .rw-rtf-selo-concluida { background: #E6F7F4; color: #067A6A; border-color: #BFE7DF; }
body.app-rengaw .rw-rtf-selo-nao_compareceu, body.app-rengaw .rw-rtf-selo-recusada { background: #FDECE8; color: #B4321A; border-color: #F6C9BD; }
body.app-rengaw .rw-rtf-selo-cancelada { background: #EEF2F7; color: #4F5D6E; border-color: #DCE3EC; }
body.app-rengaw .rw-rtf-voo { font-weight: 600; }
body.app-rengaw .rw-rtf-voo-atrasado, body.app-rengaw .rw-rtf-voo-cancelado { color: #B4321A; }
body.app-rengaw .rw-rtf-voo-adiantado { color: #8A5200; }
body.app-rengaw .rw-rtf-voo-no_horario, body.app-rengaw .rw-rtf-voo-pousou { color: #067A6A; }
body.app-rengaw .rw-rtf-alerta-texto { color: #B4321A; }
body.app-rengaw .rw-rtf-ok-texto { color: #067A6A; font-weight: 600; }
body.app-rengaw .rw-rtf-cartao-link { color: inherit; text-decoration: none; transition: border-color .15s; }
body.app-rengaw .rw-rtf-cartao-link:hover, body.app-rengaw .rw-rtf-cartao-link:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-rtf-hora { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 3.5rem; height: 3rem; padding: 0 0.35rem; border-radius: 12px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); flex-shrink: 0; line-height: 1.1; }
body.app-rengaw .rw-rtf-hora strong { font-family: var(--rw-titulo); font-size: 1rem; }
body.app-rengaw .rw-rtf-hora span { font-family: var(--rw-mono); font-size: 0.6875rem; }
body.app-rengaw .rw-rtf-semana { display: flex; gap: 0.25rem; overflow-x: auto; }
body.app-rengaw .rw-rtf-dia { display: flex; flex-direction: column; align-items: center; min-width: 2.75rem; padding: 0.25rem 0.4rem; border-radius: 10px; border: 1px solid var(--vz-border-color); color: var(--vz-body-color); text-decoration: none; font-size: 0.75rem; }
body.app-rengaw .rw-rtf-dia strong { font-family: var(--rw-titulo); font-size: 1rem; }
body.app-rengaw .rw-rtf-dia.hoje { border-color: var(--vz-primary); }
body.app-rengaw .rw-rtf-dia.escolhido { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-rtf-servico { border: 1px solid var(--vz-border-color); border-radius: 14px; padding: 0.875rem; margin-bottom: 0.75rem; }
body.app-rengaw .rw-rtf-servico.cancelada { opacity: 0.6; }
body.app-rengaw .rw-rtf-servico-topo { display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-rtf-servico-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
body.app-rengaw .rw-rtf-designar { display: flex; flex-wrap: wrap; gap: 0.375rem; align-items: center; }
body.app-rengaw .rw-rtf-designar .form-select { width: auto; min-width: 10rem; max-width: 100%; }
body.app-rengaw .rw-rtf-alertas { display: flex; flex-wrap: wrap; gap: 0.375rem; font-size: 0.8125rem; }
body.app-rengaw .rw-rtf-alertas span { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.1rem 0.5rem; border-radius: 999px; background: #FDECE8; color: #B4321A; }
body.app-rengaw .rw-rtf-lista-alertas { list-style: none; padding: 0; font-size: 0.875rem; }
body.app-rengaw .rw-rtf-lista-alertas li { display: flex; gap: 0.375rem; align-items: flex-start; color: #8A5200; margin-bottom: 0.25rem; }
body.app-rengaw .rw-rtf-filtros { display: flex; flex-wrap: wrap; gap: 0.375rem; }
body.app-rengaw .rw-rtf-filtro { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.3rem 0.75rem; border-radius: 999px; border: 1px solid var(--vz-border-color); color: var(--vz-body-color); text-decoration: none; font-size: 0.8125rem; }
body.app-rengaw .rw-rtf-filtro.ativo { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-rtf-contador { display: inline-block; min-width: 1.25rem; padding: 0 0.35rem; border-radius: 999px; background: #F7B84B; color: #061C3D; font-weight: 700; font-size: 0.6875rem; text-align: center; }
body.app-rengaw .rw-rtf-cotacao-valor { font-family: var(--rw-titulo); font-size: 2rem; font-weight: 600; color: var(--vz-primary); line-height: 1.1; }
body.app-rengaw .rw-rtf-cotacao-linhas { list-style: none; padding: 0; margin: 0 0 0.5rem; font-size: 0.875rem; }
body.app-rengaw .rw-rtf-cotacao-linhas li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.2rem 0; border-bottom: 1px dashed var(--vz-border-color); }
body.app-rengaw .rw-rtf-qr { display: inline-block; padding: 0.5rem; background: #FFFFFF; border-radius: 12px; border: 1px solid #DCE3EC; line-height: 0; }
body.app-rengaw .rw-rtf-qr svg { max-width: 100%; height: auto; }
body.app-rengaw .rw-rtf-estrelas { color: #F7B84B; }
body.app-rengaw .rw-rtf-linha { list-style: none; padding: 0 0 0 1rem; margin: 0 0 0.75rem; border-left: 2px solid var(--vz-border-color); }
body.app-rengaw .rw-rtf-linha li { position: relative; display: flex; flex-direction: column; padding: 0 0 0.75rem 0.5rem; font-size: 0.875rem; }
body.app-rengaw .rw-rtf-linha li::before { content: ""; position: absolute; left: -1.4rem; top: 0.25rem; width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--vz-border-color); }
body.app-rengaw .rw-rtf-linha li.publico::before { background: var(--vz-primary); }
/* Escala: faixas de horas; esquerda e largura em por cento vêm do servidor (texto com ponto). */
body.app-rengaw .rw-rtf-escala { display: flex; flex-direction: column; gap: 0.5rem; overflow-x: auto; position: relative; }
body.app-rengaw .rw-rtf-escala-linha { display: grid; grid-template-columns: 13rem minmax(32rem, 1fr); gap: 0.5rem; align-items: center; }
body.app-rengaw .rw-rtf-escala-nome { display: flex; align-items: center; gap: 0.5rem; min-width: 0; }
body.app-rengaw .rw-rtf-escala-faixa { position: relative; height: 2.25rem; border-radius: 10px; background: #F4F7FB; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-escala-faixa { background: #0F1A2B; }
body.app-rengaw .rw-rtf-escala-horas .rw-rtf-escala-faixa { height: 1.25rem; background: transparent; }
body.app-rengaw .rw-rtf-escala-horas span { position: absolute; top: 0; font-family: var(--rw-mono); font-size: 0.6875rem; color: var(--vz-secondary-color); transform: translateX(-50%); }
body.app-rengaw .rw-rtf-escala-grade { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--vz-border-color); }
body.app-rengaw .rw-rtf-bloco { position: absolute; top: 0.25rem; bottom: 0.25rem; display: block; min-width: 4.5rem; padding: 0 0.375rem; border-radius: 8px; background: var(--rw-rtf-cor, var(--vz-primary)); color: #FFFFFF; font-size: 0.6875rem; line-height: 1.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; }
body.app-rengaw .rw-rtf-bloco:hover, body.app-rengaw .rw-rtf-bloco:focus-visible { color: #FFFFFF; outline: 2px solid #061C3D; outline-offset: 1px; }
body.app-rengaw .rw-rtf-bloco-concluida, body.app-rengaw .rw-rtf-bloco-nao_compareceu { opacity: 0.55; }
body.app-rengaw .rw-rtf-escala-alertas { grid-column: 2; margin: 0; }
/* Páginas públicas e tela do motorista */
body.app-rengaw .rw-menu-pagina.rw-rtf-publico { max-width: 44rem; padding-bottom: 2rem; }
body.app-rengaw .rw-rtf-publico-rodape { text-align: center; font-size: 0.8125rem; color: var(--vz-secondary-color); margin-top: 1.5rem; }
body.app-rengaw .rw-rtf-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
body.app-rengaw .rw-rtf-passeio { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-rtf-etapas { list-style: none; display: flex; padding: 0; margin: 0 0 1rem; gap: 0.25rem; }
body.app-rengaw .rw-rtf-etapas li { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 0.25rem; text-align: center; font-size: 0.75rem; color: var(--vz-secondary-color); position: relative; }
body.app-rengaw .rw-rtf-etapa-ponto { width: 1rem; height: 1rem; border-radius: 50%; border: 2px solid var(--vz-border-color); background: var(--vz-body-bg); }
body.app-rengaw .rw-rtf-etapas li.feita { color: var(--vz-body-color); }
body.app-rengaw .rw-rtf-etapas li.feita .rw-rtf-etapa-ponto { background: var(--vz-primary); border-color: var(--vz-primary); }
body.app-rengaw .rw-rtf-etapas li.atual { font-weight: 700; }
body.app-rengaw .rw-rtf-etapas li.atual .rw-rtf-etapa-ponto { box-shadow: 0 0 0 4px var(--vz-primary-bg-subtle); }
body.app-rengaw .rw-rtf-placa { display: inline-block; padding: 0 0.4rem; border: 1px solid #36414F; border-radius: 4px; font-family: var(--rw-mono); font-weight: 600; letter-spacing: 0.05em; }
body.app-rengaw .rw-rtf-notas { display: flex; gap: 0.375rem; border: 0; padding: 0; }
body.app-rengaw .rw-rtf-nota { flex: 1 1 0; }
body.app-rengaw .rw-rtf-nota input { position: absolute; opacity: 0; }
body.app-rengaw .rw-rtf-nota span { display: block; padding: 0.5rem 0; border-radius: 10px; border: 1px solid var(--vz-border-color); text-align: center; font-weight: 700; cursor: pointer; }
body.app-rengaw .rw-rtf-nota input:checked + span { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
body.app-rengaw .rw-rtf-nota input:focus-visible + span { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-rtf-mini { display: grid; gap: 0.25rem; font-size: 0.875rem; }
body.app-rengaw .rw-rtf-mini > div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0.5rem; }
body.app-rengaw .rw-rtf-mini dt { font-family: var(--rw-mono); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); font-weight: 500; padding-top: 0.15rem; }
body.app-rengaw .rw-rtf-mini dd { margin: 0; }
body.app-rengaw .rw-rtf-botoes-motorista { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 0.5rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-selo { background: #1E2A3B; color: #C9D6E6; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-selo-solicitada { background: #3A2D10; color: #F5CF7A; border-color: #5C4719; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-selo-confirmada, [data-bs-theme="dark"] body.app-rengaw .rw-rtf-selo-em_curso { background: #10304F; color: #9DD0FF; border-color: #1D4C78; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-selo-a_caminho, [data-bs-theme="dark"] body.app-rengaw .rw-rtf-selo-no_local { background: #2A2350; color: #C8BDFB; border-color: #3E3478; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-selo-concluida { background: #0F3A28; color: #8FE0BB; border-color: #1C5B40; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-selo-nao_compareceu, [data-bs-theme="dark"] body.app-rengaw .rw-rtf-selo-recusada { background: #44190F; color: #F7B3A3; border-color: #6B2A1B; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-selo-cancelada { background: #1E2A3B; color: #A9B6C6; border-color: #2E3C50; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-alerta-texto, [data-bs-theme="dark"] body.app-rengaw .rw-rtf-voo-atrasado, [data-bs-theme="dark"] body.app-rengaw .rw-rtf-voo-cancelado { color: #F28B74; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-ok-texto, [data-bs-theme="dark"] body.app-rengaw .rw-rtf-voo-no_horario, [data-bs-theme="dark"] body.app-rengaw .rw-rtf-voo-pousou { color: #2EB37E; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-voo-adiantado, [data-bs-theme="dark"] body.app-rengaw .rw-rtf-lista-alertas li { color: #F5CF7A; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-alertas span { background: #44190F; color: #F7B3A3; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-placa { border-color: #A9B6C6; }
[data-bs-theme="dark"] body.app-rengaw .rw-rtf-bloco:hover, [data-bs-theme="dark"] body.app-rengaw .rw-rtf-bloco:focus-visible { outline-color: #FFFFFF; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-rtf-escala-linha { grid-template-columns: 8.5rem minmax(28rem, 1fr); }
    body.app-rengaw .rw-rtf-cotacao-valor { font-size: 1.625rem; }
    body.app-rengaw .rw-rtf-designar .form-select { min-width: 0; flex: 1 1 8rem; }
    body.app-rengaw .rw-rtf-etapas li span:last-child { font-size: 0.625rem; }
}

/* ---------------------------------------------------------------- Análise de exames (2026-10-20, prefixo rw-aex-) */
body.app-rengaw .rw-aex-aviso { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.85rem 1rem; margin-bottom: 1rem; border: 1px solid var(--vz-border-color); border-radius: 16px; background: var(--vz-secondary-bg, #fff); font-size: 0.875rem; }
body.app-rengaw .rw-aex-aviso > i { font-size: 1.35rem; color: var(--vz-primary); line-height: 1; margin-top: 0.1rem; }
body.app-rengaw .rw-aex-alertas { display: grid; gap: 0.6rem; margin-bottom: 1rem; }
body.app-rengaw .rw-aex-alerta { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: flex-start; padding: 0.85rem 1rem; border-radius: 16px; border: 1px solid; }
body.app-rengaw .rw-aex-alerta > i { font-size: 1.4rem; line-height: 1; }
body.app-rengaw .rw-aex-alerta-urgencia { background: #FEF3F2; border-color: #FDA29B; color: #7A271A; }
body.app-rengaw .rw-aex-alerta-atencao { background: #FFFAEB; border-color: #FEC84B; color: #7A2E0E; }
body.app-rengaw .rw-aex-mini-alerta { display: flex; gap: 0.35rem; align-items: center; font-size: 0.8rem; font-weight: 600; margin-bottom: 0.4rem; padding: 0.25rem 0.5rem; border-radius: 8px; }
body.app-rengaw .rw-aex-mini-alerta-urgencia { background: #FEF3F2; color: #912018; }
body.app-rengaw .rw-aex-mini-alerta-atencao { background: #FFFAEB; color: #7A2E0E; }
body.app-rengaw .rw-aex-indicador { text-decoration: none; color: inherit; }
body.app-rengaw .rw-aex-indicador-rotulo { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-aex-indicador-numero { font-family: "Exo 2", sans-serif; font-size: 1.9rem; font-weight: 700; line-height: 1.1; margin-bottom: 0.15rem; }
body.app-rengaw .rw-aex-iniciais { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; flex: none; border-radius: 50%; background: rgba(0, 110, 203, 0.1); color: var(--vz-primary); font-family: "Exo 2", sans-serif; font-weight: 700; }
body.app-rengaw .rw-aex-iniciais-sm { width: 1.9rem; height: 1.9rem; font-size: 0.8rem; }
body.app-rengaw .rw-aex-lista li { padding: 0.45rem 0; }
body.app-rengaw .rw-aex-lista li + li { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-aex-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-aex-faixa { display: inline-block; font-size: 0.72rem; font-weight: 600; padding: 0.15rem 0.5rem; border-radius: 999px; white-space: nowrap; background: var(--vz-light); color: var(--vz-secondary-color); }
body.app-rengaw .rw-aex-faixa-normal { background: #ECFDF3; color: #05603A; }
body.app-rengaw .rw-aex-faixa-baixo, body.app-rengaw .rw-aex-faixa-alto { background: #FFFAEB; color: #8A5200; }
body.app-rengaw .rw-aex-faixa-critico_baixo, body.app-rengaw .rw-aex-faixa-critico_alto { background: #FEF3F2; color: #B42318; }
body.app-rengaw .rw-aex-situacao { display: inline-block; font-size: 0.72rem; font-weight: 600; padding: 0.15rem 0.5rem; border-radius: 999px; background: var(--vz-light); color: var(--vz-secondary-color); white-space: nowrap; }
body.app-rengaw .rw-aex-situacao-concluida { background: #ECFDF3; color: #05603A; }
body.app-rengaw .rw-aex-situacao-na_fila, body.app-rengaw .rw-aex-situacao-processando { background: rgba(0, 110, 203, 0.1); color: var(--vz-primary); }
body.app-rengaw .rw-aex-situacao-falhou { background: #FEF3F2; color: #B42318; }
body.app-rengaw .rw-aex-tendencia { font-size: 0.82rem; white-space: nowrap; }
body.app-rengaw .rw-aex-cruzou td { background: rgba(240, 68, 56, 0.05); }
body.app-rengaw .rw-aex-girando i { display: inline-block; animation: rw-aex-giro 1.2s linear infinite; }
@keyframes rw-aex-giro { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { body.app-rengaw .rw-aex-girando i { animation: none; } }
body.app-rengaw .rw-aex-progresso { height: 0.5rem; }
body.app-rengaw .rw-aex-pontos li { padding: 0.55rem 0; }
body.app-rengaw .rw-aex-pontos li + li { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-aex-achado + .rw-aex-achado { border-top: 1px solid var(--vz-border-color); margin-top: 0.75rem; padding-top: 0.75rem; }
body.app-rengaw .rw-aex-trecho { border-left: 3px solid var(--vz-border-color); padding-left: 0.75rem; color: var(--vz-secondary-color); font-size: 0.85rem; }
body.app-rengaw .rw-aex-o-que-vai, body.app-rengaw .rw-aex-limites { padding: 0.75rem 1rem; border-radius: 12px; background: var(--vz-light); }
body.app-rengaw .rw-aex-limites ul { padding-left: 1.1rem; }
body.app-rengaw .rw-aex-texto { white-space: pre-wrap; word-break: break-word; font-family: "IBM Plex Mono", monospace; font-size: 0.78rem; max-height: 32rem; overflow: auto; background: var(--vz-light); border-radius: 10px; padding: 0.75rem; }
body.app-rengaw .rw-aex-filtros { min-width: 17rem; }
body.app-rengaw .rw-aex-intensidade { font-size: 0.8rem; font-weight: 600; }
body.app-rengaw .rw-aex-intensidade-3 { color: #8A5200; }
body.app-rengaw .rw-aex-intensidade-4 { color: #B42318; }
body.app-rengaw .rw-aex-analitos { max-height: 30rem; overflow: auto; }
body.app-rengaw .rw-aex-grafico-caixa { width: 100%; }
body.app-rengaw .rw-aex-grafico { width: 100%; height: auto; display: block; }
body.app-rengaw .rw-aex-grafico-faixa { fill: rgba(18, 183, 106, 0.12); }
body.app-rengaw .rw-aex-grafico-grade { stroke: var(--vz-border-color); stroke-width: 1; }
body.app-rengaw .rw-aex-grafico-eixo { fill: var(--vz-secondary-color); font-size: 11px; font-family: "IBM Plex Mono", monospace; }
body.app-rengaw .rw-aex-grafico-linha { fill: none; stroke: var(--vz-primary); stroke-width: 2.5; }
body.app-rengaw .rw-aex-grafico-ponto { fill: var(--vz-primary); }
body.app-rengaw .rw-aex-grafico-ponto-fora { fill: #D92D20; }
body.app-rengaw .rw-aex-linha li { display: grid; grid-template-columns: 6rem 2rem 1fr; gap: 0.5rem; align-items: start; padding: 0.5rem 0; }
body.app-rengaw .rw-aex-linha li + li { border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-aex-linha-data { font-family: "IBM Plex Mono", monospace; font-size: 0.78rem; color: var(--vz-secondary-color); padding-top: 0.15rem; }
body.app-rengaw .rw-aex-linha-marca { display: inline-flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: rgba(0, 110, 203, 0.1); color: var(--vz-primary); }
body.app-rengaw .rw-aex-linha-sintoma_inicio .rw-aex-linha-marca, body.app-rengaw .rw-aex-linha-sintoma_fim .rw-aex-linha-marca { background: #FFFAEB; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-aex-aviso { background: rgba(255, 255, 255, 0.03); }
[data-bs-theme="dark"] body.app-rengaw .rw-aex-alerta-urgencia { background: rgba(240, 68, 56, 0.14); border-color: rgba(240, 68, 56, 0.5); color: #FECDCA; }
[data-bs-theme="dark"] body.app-rengaw .rw-aex-alerta-atencao { background: rgba(247, 144, 9, 0.12); border-color: rgba(247, 144, 9, 0.45); color: #FEDF89; }
[data-bs-theme="dark"] body.app-rengaw .rw-aex-mini-alerta-urgencia { background: rgba(240, 68, 56, 0.16); color: #FECDCA; }
[data-bs-theme="dark"] body.app-rengaw .rw-aex-mini-alerta-atencao { background: rgba(247, 144, 9, 0.14); color: #FEDF89; }
[data-bs-theme="dark"] body.app-rengaw .rw-aex-faixa-normal, [data-bs-theme="dark"] body.app-rengaw .rw-aex-situacao-concluida { background: rgba(18, 183, 106, 0.16); color: #A6F4C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-aex-faixa-baixo, [data-bs-theme="dark"] body.app-rengaw .rw-aex-faixa-alto { background: rgba(247, 144, 9, 0.16); color: #FEDF89; }
[data-bs-theme="dark"] body.app-rengaw .rw-aex-faixa-critico_baixo, [data-bs-theme="dark"] body.app-rengaw .rw-aex-faixa-critico_alto, [data-bs-theme="dark"] body.app-rengaw .rw-aex-situacao-falhou { background: rgba(240, 68, 56, 0.16); color: #FECDCA; }
[data-bs-theme="dark"] body.app-rengaw .rw-aex-intensidade-3 { color: #FEDF89; }
[data-bs-theme="dark"] body.app-rengaw .rw-aex-intensidade-4 { color: #FDA29B; }
[data-bs-theme="dark"] body.app-rengaw .rw-aex-grafico-ponto-fora { fill: #F97066; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-aex-linha li { grid-template-columns: 5.2rem 1.8rem 1fr; }
    body.app-rengaw .rw-aex-indicador-numero { font-size: 1.5rem; }
    body.app-rengaw .rw-aex-aviso { font-size: 0.8rem; padding: 0.7rem 0.8rem; }
}

/* ===== Passeios e atrações (2026-10-20, prefixo rw-pas-). Reaproveita .rw-vis-* (Visitas), .rw-barb-* e .rw-menu-*
   nas páginas públicas; aqui só o que é próprio: selos de pagamento e de saída garantida, tarifas da reserva, valores,
   termo, fotos, cartões e detalhes do passeio na página pública. Claro e escuro. */
body.app-rengaw .rw-pas-pag { display: inline-flex; align-items: center; padding: 0.15rem 0.5rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 600; white-space: nowrap; border: 1px solid var(--vz-border-color); color: var(--vz-secondary-color); background: transparent; }
body.app-rengaw .rw-pas-pag-pago { border-color: #0A7F6F; color: #0A6E61; }
body.app-rengaw .rw-pas-pag-pendente { border-color: #B86E00; color: #8A5200; }
body.app-rengaw .rw-pas-pag-reembolsado, body.app-rengaw .rw-pas-pag-parcial { border-color: #006ECB; color: #005BA8; }
[data-bs-theme="dark"] body.app-rengaw .rw-pas-pag-pago { border-color: #6FE0CF; color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pas-pag-pendente { border-color: #F7C873; color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-pas-pag-reembolsado, [data-bs-theme="dark"] body.app-rengaw .rw-pas-pag-parcial { border-color: #8FCBFF; color: #8FCBFF; }
body.app-rengaw .rw-pas-garantia { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.15rem 0.55rem; border-radius: 999px; font-size: 0.6875rem; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-pas-garantia-sim { background: #0A7F6F; color: #FFFFFF; }
body.app-rengaw .rw-pas-garantia-nao { background: #FFF4E0; color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-pas-garantia-sim { background: rgba(10, 179, 156, 0.22); color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pas-garantia-nao { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
body.app-rengaw .rw-pas-garantida-mini { display: block; font-size: 0.625rem; color: #0A6E61; font-weight: 600; }
[data-bs-theme="dark"] body.app-rengaw .rw-pas-garantida-mini { color: #6FE0CF; }
body.app-rengaw .rw-pas-risco { border-color: #F7B84B; }
body.app-rengaw .rw-pas-risco .card-title { color: #8A5200; }
[data-bs-theme="dark"] body.app-rengaw .rw-pas-risco .card-title { color: #F7C873; }
body.app-rengaw .rw-pas-tarifas { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem 1rem; }
body.app-rengaw .rw-pas-tarifas legend { float: none; width: auto; padding: 0 0.25rem; font-size: 0.875rem; margin-bottom: 0.25rem; }
body.app-rengaw .rw-pas-tarifa { display: flex; align-items: center; gap: 0.75rem; padding: 0.45rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-pas-tarifa:last-of-type { border-bottom: 0; }
body.app-rengaw .rw-pas-qtd { width: 5rem; flex: 0 0 5rem; text-align: center; }
body.app-rengaw .rw-pas-total { display: flex; justify-content: space-between; align-items: baseline; font-family: var(--rw-mono); font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pas-total strong { font-family: var(--rw-titulo); font-size: 1.25rem; color: var(--vz-heading-color, var(--vz-body-color)); text-transform: none; letter-spacing: 0; }
body.app-rengaw .rw-pas-termo { border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.5rem 0.75rem; font-size: 0.875rem; }
body.app-rengaw .rw-pas-termo summary { cursor: pointer; font-weight: 600; }
body.app-rengaw .rw-pas-termo[open] summary { margin-bottom: 0.4rem; }
body.app-rengaw .rw-pas-valores { display: grid; gap: 0.35rem; }
body.app-rengaw .rw-pas-valores > div { display: flex; justify-content: space-between; gap: 1rem; }
body.app-rengaw .rw-pas-valores dt { font-weight: 400; color: var(--vz-secondary-color); }
body.app-rengaw .rw-pas-valores dd { margin: 0; font-family: var(--rw-mono); }
body.app-rengaw .rw-pas-valores-total { border-top: 1px solid var(--vz-border-color); padding-top: 0.35rem; }
body.app-rengaw .rw-pas-valores-total dt, body.app-rengaw .rw-pas-valores-total dd { font-weight: 700; color: var(--vz-body-color); }
body.app-rengaw .rw-pas-sugestao { border: 1px dashed var(--vz-border-color); border-radius: 12px; padding: 0.75rem; }
body.app-rengaw .rw-pas-fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-pas-foto { margin: 0; border: 1px solid var(--vz-border-color); border-radius: 12px; overflow: hidden; }
body.app-rengaw .rw-pas-foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
body.app-rengaw .rw-pas-foto figcaption { display: flex; justify-content: space-between; align-items: center; gap: 0.25rem; padding: 0.35rem; }
body.app-rengaw .rw-pas-publico.rw-menu-pagina { max-width: 46rem; position: relative; }
body.app-rengaw .rw-pas-idiomas { position: absolute; top: 0.6rem; right: 1rem; z-index: 2; display: flex; gap: 0.25rem; }
body.app-rengaw .rw-pas-idiomas a { font-family: var(--rw-mono); font-size: 0.6875rem; padding: 0.15rem 0.45rem; border-radius: 6px; color: rgba(255, 255, 255, 0.85); text-decoration: none; border: 1px solid rgba(255, 255, 255, 0.25); }
body.app-rengaw .rw-pas-idiomas a[aria-current="true"] { background: #FFFFFF; color: #061C3D; }
body.app-rengaw .rw-pas-parceiro { text-align: center; font-size: 0.8125rem; color: var(--vz-secondary-color); margin: 0 0 1rem; }
body.app-rengaw .rw-pas-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 0.75rem; }
body.app-rengaw .rw-pas-cartao { display: flex; flex-direction: column; border: 1px solid var(--vz-border-color); border-radius: 16px; overflow: hidden; background: var(--vz-secondary-bg); color: inherit; text-decoration: none; transition: border-color 0.15s; }
body.app-rengaw .rw-pas-cartao:hover, body.app-rengaw .rw-pas-cartao:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-pas-cartao.escolhido { border-color: var(--vz-primary); box-shadow: 0 0 0 2px var(--vz-primary) inset; }
body.app-rengaw .rw-pas-cartao img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
body.app-rengaw .rw-pas-cartao-icone { display: flex; align-items: center; justify-content: center; height: 5.5rem; font-size: 2.25rem; color: var(--rw-pas-cor); background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-pas-cartao-texto { display: flex; flex-direction: column; gap: 0.2rem; padding: 0.75rem 0.9rem 0.9rem; }
body.app-rengaw .rw-pas-cartao-texto strong { font-family: var(--rw-titulo); font-size: 1.0625rem; }
body.app-rengaw .rw-pas-preco { font-family: var(--rw-titulo); font-weight: 600; color: var(--vz-primary); margin-top: 0.15rem; }
body.app-rengaw .rw-pas-galeria { display: flex; gap: 0.5rem; overflow-x: auto; margin-bottom: 0.75rem; scroll-snap-type: x mandatory; position: relative; }
body.app-rengaw .rw-pas-galeria img { height: 9rem; border-radius: 12px; scroll-snap-align: start; flex: 0 0 auto; }
body.app-rengaw .rw-pas-fatos { list-style: none; padding: 0; margin: 0 0 0.75rem; display: flex; flex-wrap: wrap; gap: 0.4rem; }
body.app-rengaw .rw-pas-fatos li { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.8125rem; background: var(--vz-tertiary-bg); }
body.app-rengaw .rw-pas-detalhes h3 { font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vz-secondary-color); margin: 1rem 0 0.35rem; }
body.app-rengaw .rw-pas-roteiro { counter-reset: parada; list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-pas-roteiro li { counter-increment: parada; position: relative; padding: 0 0 0.6rem 2rem; }
body.app-rengaw .rw-pas-roteiro li::before { content: counter(parada); position: absolute; left: 0; top: 0; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--vz-primary); color: #FFFFFF; font-size: 0.75rem; display: flex; align-items: center; justify-content: center; }
body.app-rengaw .rw-pas-roteiro li:not(:last-child)::after { content: ""; position: absolute; left: 0.68rem; top: 1.45rem; bottom: 0.1rem; border-left: 2px dotted var(--vz-border-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-pas-roteiro li::before { color: #061C3D; }
body.app-rengaw .rw-pas-lista { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-pas-lista li { padding-left: 1.4rem; position: relative; margin-bottom: 0.2rem; }
body.app-rengaw .rw-pas-lista li::before { font-family: "remixicon"; position: absolute; left: 0; }
body.app-rengaw .rw-pas-lista-sim li::before { content: "\eb7b"; color: #0A7F6F; }
body.app-rengaw .rw-pas-lista-nao li::before { content: "\eb99"; color: #A8321C; }
[data-bs-theme="dark"] body.app-rengaw .rw-pas-lista-sim li::before { color: #6FE0CF; }
[data-bs-theme="dark"] body.app-rengaw .rw-pas-lista-nao li::before { color: #FFA28F; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-pas-cartoes { grid-template-columns: 1fr; }
    body.app-rengaw .rw-pas-qtd { width: 4.25rem; flex-basis: 4.25rem; }
}

/* ===== App orcamento_facil: recibo avulso (2026-10-20) ===== */
/* Recibos: selo emitido, períodos rápidos, formulário pensado para o celular (passos numerados, atalhos de um toque,
 * valor grande, formas em botões, barra de emitir fixa no rodapé em telas estreitas), linhas de itens, o "papel" do
 * recibo e a faixa de cancelado na página de conferência. Sem borda lateral colorida. Claro e escuro. */
body.app-rengaw .rw-orcf-status-recibo { background: #E6F6F3; color: #0A6E61; }
[data-bs-theme="dark"] body.app-rengaw .rw-orcf-status-recibo { background: rgba(10, 179, 156, 0.18); color: #6FE0CF; }
body.app-rengaw .rw-orcf-rec-periodos { display: flex; flex-wrap: wrap; gap: 0.4rem; }
body.app-rengaw .rw-orcf-rec-passo { display: inline-flex; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; margin-right: 0.5rem; border-radius: 50%; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); font-family: var(--rw-mono); font-size: 0.8125rem; vertical-align: middle; }
body.app-rengaw .rw-orcf-rec-atalhos { display: grid; grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-orcf-rec-atalho { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; padding: 0.65rem 0.8rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-body-bg); color: var(--vz-body-color); text-decoration: none; transition: border-color 0.15s, background-color 0.15s; }
body.app-rengaw .rw-orcf-rec-atalho .rw-mono { font-size: 0.8125rem; color: var(--vz-primary); }
body.app-rengaw .rw-orcf-rec-atalho:hover, body.app-rengaw .rw-orcf-rec-atalho:focus-visible { border-color: var(--vz-primary); background: var(--vz-primary-bg-subtle); }
body.app-rengaw .rw-orcf-rec-atalho.usado { border-color: var(--vz-success); }
body.app-rengaw .rw-orcf-rec-valor-campo { font-family: var(--rw-titulo); font-size: 1.75rem; font-weight: 700; }
body.app-rengaw .rw-orcf-rec-valor .input-group-text { font-family: var(--rw-mono); }
body.app-rengaw .rw-orcf-rec-formas { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-orcf-rec-formas .btn { min-height: 2.75rem; padding-left: 1rem; padding-right: 1rem; }
body.app-rengaw .rw-orcf-rec-formas .btn-check:checked + .btn { background: var(--vz-primary); border-color: var(--vz-primary); color: #FFFFFF; }
[data-bs-theme="dark"] body.app-rengaw .rw-orcf-rec-formas .btn-check:checked + .btn { color: #061C3D; }
body.app-rengaw .rw-orcf-rec-itens summary { cursor: pointer; font-weight: 500; color: var(--vz-primary); }
body.app-rengaw .rw-orcf-rec-linha { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.5rem; padding: 0.6rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-orcf-rec-linha-desc { flex: 1 1 14rem; min-width: 0; }
body.app-rengaw .rw-orcf-rec-linha-num { flex: 0 0 6.5rem; }
body.app-rengaw .rw-orcf-rec-linha-total { flex: 0 0 auto; min-width: 5.5rem; padding-bottom: 0.45rem; text-align: right; white-space: nowrap; }
body.app-rengaw .rw-orcf-rec-barra { display: flex; gap: 0.5rem; align-items: center; justify-content: flex-end; margin-bottom: 1rem; }
body.app-rengaw .rw-orcf-rec-papel .rw-orcf-rec-papel-valor, body.app-rengaw .rw-orcf-publico .rw-orcf-rec-papel-valor { font-family: var(--rw-titulo); font-size: 1.75rem; font-weight: 700; color: var(--vz-primary); line-height: 1.1; }
body.app-rengaw .rw-orcf-rec-papel.cancelado .rw-orcf-rec-papel-valor, body.app-rengaw .rw-orcf-publico .rw-orcf-rec-papel-valor.text-decoration-line-through { text-decoration: line-through; color: var(--vz-secondary-color); }
body.app-rengaw .rw-orcf-rec-barra .btn-lg { min-width: 16rem; }
body.app-rengaw .rw-orcf-rec-texto { font-size: 1rem; line-height: 1.6; }
body.app-rengaw .rw-orcf-faixa-cancelado { background: #FDECE8; border-color: #F5C2B6; color: #7A2414; }
body.app-rengaw .rw-orcf-faixa-cancelado > i { color: #A8321C; }
[data-bs-theme="dark"] body.app-rengaw .rw-orcf-faixa-cancelado { background: rgba(240, 101, 72, 0.16); border-color: rgba(240, 101, 72, 0.4); color: #FFC2B5; }
[data-bs-theme="dark"] body.app-rengaw .rw-orcf-faixa-cancelado > i { color: #FFA28F; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-orcf-rec-atalhos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.app-rengaw .rw-orcf-rec-formas .btn { flex: 1 1 calc(50% - 0.5rem); }
    body.app-rengaw .rw-orcf-rec-linha-num { flex: 1 1 calc(50% - 3rem); }
    body.app-rengaw .rw-orcf-rec-emitir { flex: 1 1 auto; min-width: 0 !important; }
    body.app-rengaw .rw-orcf-rec-barra { position: sticky; bottom: 0; z-index: 5; margin: 0 -0.75rem; padding: 0.75rem; background: var(--vz-body-bg); border-top: 1px solid var(--vz-border-color); }
}

/* ---------------------------------------------------------------- Cartão de visita (2026-10-20), prefixo rw-cvi- */
body.app-rengaw .rw-cvi-indicador { color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw a.rw-cvi-indicador:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-cvi-indicador-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-cvi-indicador-numero { font-family: var(--rw-titulo); font-weight: 700; font-size: 2rem; line-height: 1.1; margin-bottom: 0.25rem; }
body.app-rengaw .rw-cvi-indicador-numero small { font-size: 0.875rem; font-weight: 500; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cvi-subtitulo { font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.75rem; }
body.app-rengaw .rw-cvi-passos li { margin-bottom: 0.375rem; }
body.app-rengaw .rw-cvi-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cvi-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-cvi-linha-icone { font-size: 1.25rem; color: var(--vz-primary); }
body.app-rengaw .rw-cvi-bolinha { width: 0.75rem; height: 0.75rem; border-radius: 50%; flex-shrink: 0; }
body.app-rengaw .rw-cvi-link { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--rw-mono); font-size: 0.8125rem; }
body.app-rengaw .rw-cvi-mini { overflow: hidden; }
body.app-rengaw .rw-cvi-mini-faixa { height: 0.5rem; }
body.app-rengaw .rw-cvi-mini-nome { font-family: var(--rw-titulo); font-size: 1.0625rem; }
body.app-rengaw .rw-cvi-previa-foto { width: 3rem; height: 3rem; object-fit: cover; border-radius: 50%; border: 1px solid var(--vz-border-color); background: #FFFFFF; }
body.app-rengaw .rw-cvi-previa-capa { width: 6rem; height: 3rem; object-fit: cover; border-radius: 8px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cvi-ia { border-top: 1px solid var(--vz-border-color); padding: 1rem; }
body.app-rengaw .rw-cvi-sugestao { border: 1px solid var(--vz-border-color); border-radius: 12px; padding: 0.75rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-cvi-sugestao p { margin-bottom: 0.5rem; }
body.app-rengaw .rw-cvi-trabalho { border: 1px solid var(--vz-border-color); border-radius: 12px; overflow: hidden; }
body.app-rengaw .rw-cvi-trabalho img, body.app-rengaw .rw-cvi-trabalho-link { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--vz-light); font-size: 2.5rem; color: var(--vz-primary); }
body.app-rengaw .rw-cvi-qr { display: flex; justify-content: center; }
body.app-rengaw .rw-cvi-qr svg { width: 100%; max-width: 13rem; height: auto; background: #FFFFFF; border-radius: 12px; padding: 0.5rem; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cvi-qr-grande svg { max-width: 20rem; }
body.app-rengaw .rw-cvi-mostrar { max-width: 28rem; }
body.app-rengaw .rw-cvi-mostrar:fullscreen { max-width: none; display: flex; align-items: center; justify-content: center; background: #FFFFFF; }
body.app-rengaw .rw-cvi-mostrar-nome { font-family: var(--rw-titulo); font-weight: 700; font-size: 1.5rem; }
body.app-rengaw .rw-cvi-assinatura { border: 1px dashed var(--vz-border-color); border-radius: 12px; padding: 1rem; background: #FFFFFF; color: #061C3D; overflow-x: auto; }
body.app-rengaw .rw-cvi-barras { display: flex; align-items: flex-end; gap: 3px; height: 8rem; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cvi-barra { flex: 1 1 0; min-width: 0; background: var(--vz-border-color); border-radius: 4px 4px 0 0; }
body.app-rengaw .rw-cvi-barra-cheia { background: var(--vz-primary); }
body.app-rengaw .rw-cvi-progresso { height: 0.5rem; border-radius: 4px; background: var(--vz-border-color); overflow: hidden; }
body.app-rengaw .rw-cvi-progresso span { display: block; height: 100%; background: var(--vz-primary); }
body.app-rengaw .rw-cvi-sit { font-weight: 500; }
body.app-rengaw .rw-cvi-sit-novo { background: var(--vz-primary-bg-subtle); color: var(--vz-primary-text-emphasis); }
body.app-rengaw .rw-cvi-sit-conversa { background: var(--vz-info-bg-subtle); color: var(--vz-info-text-emphasis); }
body.app-rengaw .rw-cvi-sit-retornar { background: var(--vz-warning-bg-subtle); color: #8A5200; }
body.app-rengaw .rw-cvi-sit-convertido { background: var(--vz-success-bg-subtle); color: var(--vz-success-text-emphasis); }
body.app-rengaw .rw-cvi-sit-arquivado { background: var(--vz-light); color: var(--vz-secondary-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-cvi-sit-retornar { color: #F7B84B; }

/* Página pública do cartão */
body.rw-cvi-publico-corpo { background: var(--vz-body-bg); }
body.app-rengaw .rw-cvi-pagina { --rw-cvi-cor: #006ECB; max-width: 30rem; margin: 0 auto; padding: 1rem 1rem 2rem; box-sizing: border-box; }
body.app-rengaw .rw-cvi-cartao { background: var(--vz-card-bg, #FFFFFF); border: 1px solid var(--vz-border-color); border-radius: 20px; overflow: hidden; padding-bottom: 1.25rem; }
body.app-rengaw .rw-cvi-capa { position: relative; height: 8.5rem; background-color: var(--rw-cvi-cor); background-size: cover; background-position: center; }
body.app-rengaw .rw-cvi-logo { position: absolute; top: 0.75rem; right: 0.75rem; max-height: 2.25rem; max-width: 7rem; background: #FFFFFF; padding: 0.25rem 0.5rem; border-radius: 8px; }
body.app-rengaw .rw-cvi-topo { text-align: center; padding: 0 1.25rem; margin-top: -3.25rem; }
body.app-rengaw .rw-cvi-foto { display: inline-flex; align-items: center; justify-content: center; width: 6.5rem; height: 6.5rem; border-radius: 50%; object-fit: cover; border: 4px solid var(--vz-card-bg, #FFFFFF); background: #FFFFFF; position: relative; }
body.app-rengaw .rw-cvi-iniciais { background: var(--rw-cvi-cor); color: #FFFFFF; font-family: var(--rw-titulo); font-weight: 700; font-size: 2.5rem; }
body.app-rengaw .rw-cvi-nome { font-family: var(--rw-titulo); font-weight: 700; font-size: 1.625rem; margin: 0.5rem 0 0.125rem; }
body.app-rengaw .rw-cvi-cargo { color: var(--vz-secondary-color); margin-bottom: 0.5rem; }
body.app-rengaw .rw-cvi-bio { margin: 0.75rem 0 0; }
body.app-rengaw .rw-cvi-aberto { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.8125rem; font-weight: 500; padding: 0.125rem 0.625rem; border-radius: 999px; margin-bottom: 0; }
body.app-rengaw .rw-cvi-aberto span { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: currentColor; }
body.app-rengaw .rw-cvi-aberto-sim { background: var(--vz-success-bg-subtle); color: var(--vz-success-text-emphasis); }
body.app-rengaw .rw-cvi-aberto-nao { background: var(--vz-light); color: var(--vz-secondary-color); }
body.app-rengaw .rw-cvi-botoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(4.5rem, 1fr)); gap: 0.5rem; padding: 1.25rem 1.25rem 0; }
body.app-rengaw .rw-cvi-botoes a { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; padding: 0.625rem 0.25rem; border-radius: 14px; border: 1px solid var(--vz-border-color); color: var(--vz-body-color); text-decoration: none; font-size: 0.8125rem; text-align: center; line-height: 1.2; }
body.app-rengaw .rw-cvi-botoes a i { font-size: 1.375rem; color: var(--rw-cvi-cor); }
body.app-rengaw .rw-cvi-botoes a:hover, body.app-rengaw .rw-cvi-botoes a:focus-visible { border-color: var(--rw-cvi-cor); }
body.app-rengaw .rw-cvi-principais { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 1rem 1.25rem 0; }
body.app-rengaw .rw-cvi-principais .btn { flex: 1 1 auto; }
body.app-rengaw .rw-cvi-principais .rw-cvi-salvar { flex-basis: 100%; background: var(--rw-cvi-cor); border-color: var(--rw-cvi-cor); color: #FFFFFF; font-weight: 600; }
body.app-rengaw .rw-cvi-secao { padding: 1.25rem 1.25rem 0; }
body.app-rengaw .rw-cvi-secao-titulo { font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.625rem; }
body.app-rengaw .rw-cvi-links { display: grid; gap: 0.5rem; }
body.app-rengaw .rw-cvi-links a { display: flex; align-items: center; gap: 0.625rem; padding: 0.625rem 0.875rem; border: 1px solid var(--vz-border-color); border-radius: 12px; color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-cvi-links a i { font-size: 1.25rem; color: var(--rw-cvi-cor); }
body.app-rengaw .rw-cvi-servicos { list-style: none; padding: 0; margin: 0; }
body.app-rengaw .rw-cvi-servicos li { display: flex; justify-content: space-between; gap: 0.75rem; padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-cvi-servicos li:last-child { border-bottom: 0; }
body.app-rengaw .rw-cvi-servicos span { display: block; font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cvi-servicos em { font-style: normal; font-weight: 600; white-space: nowrap; }
body.app-rengaw .rw-cvi-portfolio { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-cvi-portfolio > a, body.app-rengaw .rw-cvi-portfolio > div { display: block; border: 1px solid var(--vz-border-color); border-radius: 12px; overflow: hidden; color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-cvi-portfolio img, body.app-rengaw .rw-cvi-portfolio-icone { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--vz-light); font-size: 2rem; color: var(--rw-cvi-cor); }
body.app-rengaw .rw-cvi-portfolio-titulo { display: block; padding: 0.375rem 0.5rem; font-size: 0.8125rem; font-weight: 500; }
body.app-rengaw .rw-cvi-portfolio-titulo small { display: block; font-weight: 400; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cvi-depoimento { margin: 0 0 0.75rem; padding: 0.75rem 1rem; border-radius: 12px; background: var(--vz-light); }
body.app-rengaw .rw-cvi-depoimento p { margin-bottom: 0.25rem; }
body.app-rengaw .rw-cvi-depoimento footer { font-size: 0.8125rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-cvi-horarios { margin: 0; }
body.app-rengaw .rw-cvi-horarios div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.25rem 0; font-size: 0.875rem; }
body.app-rengaw .rw-cvi-horarios dt { font-weight: 500; }
body.app-rengaw .rw-cvi-horarios dd { margin: 0; color: var(--vz-secondary-color); text-align: right; }
body.app-rengaw .rw-cvi-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.app-rengaw .rw-cvi-enviado { text-align: center; padding: 1rem; border: 1px solid var(--vz-border-color); border-radius: 12px; }
body.app-rengaw .rw-cvi-enviado > i { font-size: 2.25rem; color: var(--vz-success); }
body.app-rengaw .rw-cvi-rodape { text-align: center; font-size: 0.75rem; color: var(--vz-secondary-color); margin-top: 1rem; }
body.app-rengaw .rw-cvi-pagina .alert { margin: 1rem 1.25rem 0; }
/* Tema noturno: cartão escuro em qualquer modo. */
body.app-rengaw .rw-cvi-tema-escuro .rw-cvi-cartao { background: #061C3D; border-color: #18335C; color: #E6EDF6; --vz-border-color: #18335C; --vz-secondary-color: #A9B8CC; --vz-light: #0D2A52; --vz-body-color: #E6EDF6; --vz-card-bg: #061C3D; }
body.app-rengaw .rw-cvi-tema-escuro .rw-cvi-nome { color: #FFFFFF; }
body.app-rengaw .rw-cvi-tema-escuro .rw-cvi-cartao .form-control { background: #0D2A52; color: #FFFFFF; border-color: #284A79; }
body.app-rengaw .rw-cvi-tema-escuro .rw-cvi-botoes a i, body.app-rengaw .rw-cvi-tema-escuro .rw-cvi-links a i { color: #FFFFFF; }
/* Tema mínimo: capa clara com um fio na cor escolhida. */
body.app-rengaw .rw-cvi-tema-minimo .rw-cvi-capa { height: 5.5rem; background-color: var(--vz-light); border-bottom: 4px solid var(--rw-cvi-cor); }
body.app-rengaw .rw-cvi-tema-minimo .rw-cvi-topo { margin-top: -2.5rem; }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-cvi-indicador-numero { font-size: 1.5rem; }
    body.app-rengaw .rw-cvi-pagina { padding: 0 0 1.5rem; }
    body.app-rengaw .rw-cvi-cartao { border-radius: 0; border-left: 0; border-right: 0; }
}

/* ================================================================ Página de links (2026-10-20, prefixo rw-plk-) */
body.app-rengaw .rw-plk-passos li { margin-bottom: 0.35rem; }
body.app-rengaw .rw-plk-indicador { color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw a.rw-plk-indicador:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-plk-indicador-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; }
body.app-rengaw .rw-plk-indicador-numero { font-family: var(--rw-titulo); font-weight: 700; font-size: 2rem; line-height: 1.1; margin-bottom: 0.25rem; }
body.app-rengaw .rw-plk-indicador-numero small { font-size: 0.875rem; font-weight: 400; color: var(--vz-secondary-color); }
body.app-rengaw .rw-plk-endereco { font-family: var(--rw-mono); font-size: 0.8125rem; overflow-wrap: anywhere; }
body.app-rengaw .rw-plk-prefixo { font-family: var(--rw-mono); font-size: 0.8125rem; }
body.app-rengaw .rw-plk-destino { max-width: 28rem; }
body.app-rengaw .rw-plk-aviso { background: #FEF4E4; color: #8A5200; }
body.app-rengaw .rw-plk-aviso-texto { color: #8A5200; }
body.app-rengaw .rw-plk-modelo { cursor: pointer; border: 1px solid var(--vz-border-color); }
body.app-rengaw .btn-check:checked + .rw-plk-modelo { border-color: var(--vz-primary); box-shadow: 0 0 0 1px var(--vz-primary); }
body.app-rengaw .btn-check:focus-visible + .rw-plk-modelo { outline: 3px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-plk-blocos { display: flex; flex-direction: column; gap: 0.5rem; }
body.app-rengaw .rw-plk-bloco { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; background: var(--vz-card-bg); }
body.app-rengaw .rw-plk-bloco-inativo { opacity: 0.6; }
body.app-rengaw .rw-plk-arrastando { opacity: 0.4; border-style: dashed; }
body.app-rengaw .rw-plk-alca { cursor: grab; color: var(--vz-secondary-color); font-size: 1.15rem; }
body.app-rengaw .rw-plk-tipo { display: inline-flex; width: 2.25rem; height: 2.25rem; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: 10px; background: var(--vz-primary-bg-subtle); color: var(--vz-primary); font-size: 1.1rem; }
body.app-rengaw .rw-plk-selos { display: flex; flex-wrap: wrap; gap: 0.25rem; margin-top: 0.2rem; }
body.app-rengaw .rw-plk-tipos { display: grid; grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-plk-tipo-opcao { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.65rem 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-plk-tipo-opcao:hover, body.app-rengaw .rw-plk-tipo-opcao:focus-visible { border-color: var(--vz-primary); }
body.app-rengaw .rw-plk-tipo-opcao i { font-size: 1.25rem; color: var(--vz-primary); }
body.app-rengaw .rw-plk-tipo-opcao strong { display: block; font-size: 0.875rem; }
body.app-rengaw .rw-plk-tipo-opcao small { display: block; color: var(--vz-secondary-color); font-size: 0.75rem; line-height: 1.3; }
body.app-rengaw .rw-plk-icones { display: flex; flex-wrap: wrap; gap: 0.35rem; }
body.app-rengaw .rw-plk-icone-opcao { display: inline-flex; min-width: 2.5rem; height: 2.5rem; padding: 0 0.4rem; align-items: center; justify-content: center; border: 1px solid var(--vz-border-color); border-radius: 10px; cursor: pointer; color: var(--vz-body-color); }
body.app-rengaw .rw-plk-icone-opcao .rw-plk-ico { width: 1.25rem; height: 1.25rem; }
body.app-rengaw .btn-check:checked + .rw-plk-icone-opcao { border-color: var(--vz-primary); background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
body.app-rengaw .btn-check:focus-visible + .rw-plk-icone-opcao { outline: 3px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-plk-previa-coluna { position: sticky; top: 7rem; }
body.app-rengaw .rw-plk-previa-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); text-align: center; margin-bottom: 0.5rem; }
body.app-rengaw .rw-plk-celular { width: 100%; max-width: 340px; margin: 0 auto; aspect-ratio: 9 / 18; border: 10px solid #061C3D; border-radius: 36px; overflow: hidden; background: #fff; }
body.app-rengaw .rw-plk-celular iframe { width: 100%; height: 100%; border: 0; display: block; }
body.app-rengaw .rw-plk-temas { display: grid; grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-plk-tema { display: flex; flex-direction: column; gap: 0.35rem; padding: 0.5rem; border: 1px solid var(--vz-border-color); border-radius: 12px; cursor: pointer; font-size: 0.8125rem; text-align: center; }
body.app-rengaw .btn-check:checked + .rw-plk-tema { border-color: var(--vz-primary); box-shadow: 0 0 0 1px var(--vz-primary); }
body.app-rengaw .btn-check:focus-visible + .rw-plk-tema { outline: 3px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-plk-tema-amostra { display: flex; flex-direction: column; gap: 4px; padding: 8px; border-radius: 8px; border: 1px solid rgba(0, 0, 0, 0.08); }
body.app-rengaw .rw-plk-tema-amostra span { height: 8px; border-radius: 4px; }
body.app-rengaw .rw-plk-tema-claro .rw-plk-tema-amostra { background: #F4F7FB; }
body.app-rengaw .rw-plk-tema-claro .rw-plk-tema-amostra span { background: #FFFFFF; border: 1px solid #DCE3EC; }
body.app-rengaw .rw-plk-tema-noite .rw-plk-tema-amostra { background: #061C3D; }
body.app-rengaw .rw-plk-tema-noite .rw-plk-tema-amostra span { background: #0E2A52; }
body.app-rengaw .rw-plk-tema-areia .rw-plk-tema-amostra { background: #F6EFE4; }
body.app-rengaw .rw-plk-tema-areia .rw-plk-tema-amostra span { background: #FFFBF4; border: 1px solid #E4D6C1; }
body.app-rengaw .rw-plk-tema-menta .rw-plk-tema-amostra { background: #E9F6F1; }
body.app-rengaw .rw-plk-tema-menta .rw-plk-tema-amostra span { background: #FFFFFF; border: 1px solid #C7E5D9; }
body.app-rengaw .rw-plk-tema-lavanda .rw-plk-tema-amostra { background: #F1EEFA; }
body.app-rengaw .rw-plk-tema-lavanda .rw-plk-tema-amostra span { background: #FFFFFF; border: 1px solid #DCD5F0; }
body.app-rengaw .rw-plk-tema-grafite .rw-plk-tema-amostra { background: #1B1F24; }
body.app-rengaw .rw-plk-tema-grafite .rw-plk-tema-amostra span { background: #262B31; }
body.app-rengaw .rw-plk-tema-papel .rw-plk-tema-amostra { background: #FFFFFF; }
body.app-rengaw .rw-plk-tema-papel .rw-plk-tema-amostra span { background: #FFFFFF; border: 2px solid #111111; }
body.app-rengaw .rw-plk-tema-contraste .rw-plk-tema-amostra { background: #000000; }
body.app-rengaw .rw-plk-tema-contraste .rw-plk-tema-amostra span { background: #000000; border: 1px solid #FFFFFF; }
body.app-rengaw .rw-plk-botao-amostra { padding: 0.4rem 0.9rem; border: 1px solid var(--vz-border-color); border-radius: 10px; cursor: pointer; font-size: 0.8125rem; }
body.app-rengaw .rw-plk-b-pilula { border-radius: 999px; }
body.app-rengaw .rw-plk-b-quadrado { border-radius: 3px; }
body.app-rengaw .rw-plk-b-contorno { border-width: 2px; }
body.app-rengaw .rw-plk-b-sombra { box-shadow: 0 3px 0 var(--vz-border-color); }
body.app-rengaw .btn-check:checked + .rw-plk-botao-amostra { border-color: var(--vz-primary); background: var(--vz-primary-bg-subtle); color: var(--vz-primary); }
body.app-rengaw .btn-check:focus-visible + .rw-plk-botao-amostra { outline: 3px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-plk-barras { display: flex; align-items: flex-end; gap: 2px; height: 7rem; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-plk-barra { flex: 1 1 0; min-width: 0; background: var(--vz-border-color); border-radius: 3px 3px 0 0; }
body.app-rengaw .rw-plk-barra-cheia { background: var(--vz-primary); }
body.app-rengaw .rw-plk-linha-barra { margin-bottom: 0.75rem; }
body.app-rengaw .rw-plk-trilho { height: 6px; border-radius: 3px; background: var(--vz-border-color); margin-top: 0.25rem; overflow: hidden; }
body.app-rengaw .rw-plk-trilho span { display: block; height: 100%; background: var(--vz-primary); border-radius: 3px; }
body.app-rengaw .rw-plk-ab { padding: 0.75rem; border: 1px solid var(--vz-border-color); border-radius: 12px; height: 100%; }
body.app-rengaw .rw-plk-ab-vencendo { border-color: var(--vz-success); box-shadow: 0 0 0 1px var(--vz-success); }
body.app-rengaw .rw-plk-mensagem { padding: 0.85rem 0; border-top: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-plk-mensagem:first-child { border-top: 0; padding-top: 0; }
body.app-rengaw .rw-plk-mensagem-nova p.fw-semibold { color: var(--vz-primary); }
body.app-rengaw .rw-plk-qr { background: #fff; padding: 0.75rem; border-radius: 16px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-plk-qr svg { display: block; width: 240px; height: 240px; max-width: 100%; }
body.app-rengaw .rw-plk-exemplo { padding: 0.75rem; border-radius: 10px; background: var(--vz-light); white-space: pre-wrap; }
body.app-rengaw .rw-plk-miniatura { width: 3.5rem; height: 3.5rem; object-fit: cover; border-radius: 10px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-plk-galeria-edicao { display: grid; grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); gap: 0.5rem; }
body.app-rengaw .rw-plk-galeria-edicao img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; display: block; margin-bottom: 0.25rem; }
[data-bs-theme="dark"] body.app-rengaw .rw-plk-aviso { background: rgba(247, 184, 75, 0.16); color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-plk-aviso-texto { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-plk-celular { border-color: #0E2A52; }
@media (max-width: 991.98px) {
    body.app-rengaw .rw-plk-previa-coluna { position: static; }
    body.app-rengaw .rw-plk-celular { max-width: 300px; }
}
@media (max-width: 575.98px) {
    body.app-rengaw .rw-plk-indicador-numero { font-size: 1.5rem; }
    body.app-rengaw .rw-plk-bloco { flex-wrap: wrap; }
    body.app-rengaw .rw-plk-bloco-acoes { width: 100%; justify-content: flex-end; }
}

/* ================================================================ Contrato fácil (2026-10-20, prefixo rw-ctf-) */
body.app-rengaw .rw-ctf-sobretitulo { font-family: "IBM Plex Mono", monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ctf-aviso-juridico { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.85rem; color: var(--vz-secondary-color); background: var(--vz-tertiary-bg, var(--vz-light)); border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.6rem 0.8rem; }
body.app-rengaw .rw-ctf-aviso-juridico i { color: var(--vz-primary); font-size: 1.05rem; line-height: 1.2; }
body.app-rengaw .rw-ctf-situacao { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.75rem; font-weight: 500; padding: 0.1rem 0.5rem; border-radius: 999px; border: 1px solid var(--vz-border-color); color: var(--vz-body-color); background: var(--vz-secondary-bg); white-space: nowrap; }
body.app-rengaw .rw-ctf-situacao-assinado, body.app-rengaw .rw-ctf-sig-assinado { color: #0B6B3A; border-color: rgba(11, 107, 58, 0.35); background: rgba(11, 107, 58, 0.08); }
body.app-rengaw .rw-ctf-situacao-assinatura, body.app-rengaw .rw-ctf-situacao-aprovado, body.app-rengaw .rw-ctf-sig-pendente { color: var(--vz-primary); border-color: rgba(0, 110, 203, 0.35); background: rgba(0, 110, 203, 0.08); }
body.app-rengaw .rw-ctf-situacao-revisao { color: #8A5200; border-color: rgba(138, 82, 0, 0.35); background: rgba(247, 184, 75, 0.12); }
body.app-rengaw .rw-ctf-situacao-recusado, body.app-rengaw .rw-ctf-situacao-cancelado, body.app-rengaw .rw-ctf-sig-recusado { color: #B42318; border-color: rgba(180, 35, 24, 0.35); background: rgba(180, 35, 24, 0.07); }
body.app-rengaw .rw-ctf-tipo, body.app-rengaw .rw-ctf-opcao { display: flex; gap: 0.75rem; align-items: flex-start; height: 100%; padding: 0.75rem 0.85rem; border: 1px solid var(--vz-border-color); border-radius: 12px; color: inherit; background: var(--vz-secondary-bg); cursor: pointer; }
body.app-rengaw .rw-ctf-tipo:hover, body.app-rengaw .rw-ctf-opcao:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-ctf-opcao .form-check-input { margin-top: 0.35rem; flex: none; }
body.app-rengaw .rw-ctf-opcao:has(input:checked) { border-color: var(--vz-primary); box-shadow: 0 0 0 1px var(--vz-primary) inset; }
body.app-rengaw .rw-ctf-etapas { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; list-style: none; padding: 0; font-size: 0.85rem; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ctf-etapas li { display: inline-flex; align-items: center; gap: 0.4rem; }
body.app-rengaw .rw-ctf-etapas span { display: inline-flex; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; border: 1px solid var(--vz-border-color); font-family: "Exo 2", sans-serif; font-weight: 600; }
body.app-rengaw .rw-ctf-etapas li.ativa { color: var(--vz-body-color); font-weight: 600; }
body.app-rengaw .rw-ctf-etapas li.ativa span { background: var(--vz-primary); border-color: var(--vz-primary); color: #fff; }
body.app-rengaw .rw-ctf-lista > li { padding: 0.55rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ctf-lista > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-ctf-partes > li { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ctf-partes > li:last-child { border-bottom: 0; }
body.app-rengaw .rw-ctf-documento .card-body { line-height: 1.65; }
body.app-rengaw .rw-ctf-doc-titulo { font-family: "Exo 2", sans-serif; font-size: 1.15rem; font-weight: 700; text-align: center; margin-bottom: 1rem; }
body.app-rengaw .rw-ctf-qualificacao { padding-left: 0.75rem; border-left: 2px solid var(--vz-border-color); }
body.app-rengaw .rw-ctf-clausula { padding: 0.6rem 0; border-top: 1px dashed var(--vz-border-color); scroll-margin-top: 5rem; }
body.app-rengaw .rw-ctf-clausula-titulo { font-family: "Exo 2", sans-serif; font-size: 0.95rem; font-weight: 600; margin: 0.2rem 0 0.4rem; }
body.app-rengaw .rw-ctf-clausula-texto { text-align: justify; }
body.app-rengaw .rw-ctf-clausula-acoes { display: flex; gap: 0.25rem; flex: none; }
body.app-rengaw .rw-ctf-comentario { font-size: 0.82rem; margin: 0.25rem 0 0; padding: 0.35rem 0.6rem; border-radius: 8px; background: rgba(247, 184, 75, 0.12); }
body.app-rengaw .rw-ctf-nota { flex: none; width: 3.6rem; height: 3.6rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: "Exo 2", sans-serif; font-size: 1.35rem; font-weight: 700; border: 3px solid var(--vz-border-color); }
body.app-rengaw .rw-ctf-nota-boa { border-color: #0B6B3A; color: #0B6B3A; }
body.app-rengaw .rw-ctf-nota-media { border-color: #C47A00; color: #8A5200; }
body.app-rengaw .rw-ctf-nota-baixa { border-color: #B42318; color: #B42318; }
body.app-rengaw .rw-ctf-apontamento { padding: 0.5rem 0.65rem; border: 1px solid var(--vz-border-color); border-radius: 10px; margin-bottom: 0.45rem; }
body.app-rengaw .rw-ctf-nivel-erro > p:first-child i { color: #B42318; }
body.app-rengaw .rw-ctf-nivel-atencao > p:first-child i { color: #8A5200; }
body.app-rengaw .rw-ctf-nivel-dica > p:first-child i { color: var(--vz-primary); }
body.app-rengaw .rw-ctf-nivel-erro { background: rgba(180, 35, 24, 0.05); }
body.app-rengaw .rw-ctf-nivel-atencao { background: rgba(247, 184, 75, 0.08); }
body.app-rengaw .rw-ctf-norma { color: var(--vz-secondary-color); }
body.app-rengaw .rw-ctf-selo-ia { font-family: "IBM Plex Mono", monospace; font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.05rem 0.4rem; border-radius: 999px; border: 1px solid var(--vz-border-color); color: var(--vz-secondary-color); vertical-align: middle; font-weight: 400; }
body.app-rengaw .rw-ctf-fonte { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.85rem; border: 1px solid var(--vz-border-color); border-radius: 12px; }
body.app-rengaw .rw-ctf-fonte-ia { border-color: var(--vz-primary); }
body.app-rengaw .rw-ctf-campo { font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; padding: 0.15rem 0.45rem; border: 1px solid var(--vz-border-color); border-radius: 6px; background: var(--vz-secondary-bg); color: var(--vz-body-color); }
body.app-rengaw .rw-ctf-campo:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-ctf-campo-copiado { border-color: #0B6B3A; color: #0B6B3A; }
body.app-rengaw .rw-ctf-diff { padding: 0.5rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-ctf-diff del { color: #B42318; background: rgba(180, 35, 24, 0.08); }
body.app-rengaw .rw-ctf-diff ins { color: #0B6B3A; background: rgba(11, 107, 58, 0.1); text-decoration: none; }
body.app-rengaw .rw-ctf-diff-igual { opacity: 0.75; }
body.app-rengaw .rw-ctf-ordem { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; border: 1px solid var(--vz-border-color); font-family: "Exo 2", sans-serif; font-weight: 600; font-size: 0.85rem; }
body.app-rengaw .rw-ctf-codigo { font-family: "IBM Plex Mono", monospace; font-size: 1.15rem; font-weight: 600; letter-spacing: 0.08em; margin-bottom: 0.25rem; }
body.app-rengaw .rw-ctf-trilha { padding-left: 1.2rem; }
body.app-rengaw .rw-ctf-trilha li { margin-bottom: 0.25rem; }
body.app-rengaw .rw-ctf-dia { flex: none; width: 3.6rem; text-align: center; border: 1px solid var(--vz-border-color); border-radius: 10px; padding: 0.2rem 0; line-height: 1.1; }
body.app-rengaw .rw-ctf-dia strong { display: block; font-family: "Exo 2", sans-serif; font-size: 1.2rem; }
body.app-rengaw .rw-ctf-dia small { display: block; font-family: "IBM Plex Mono", monospace; font-size: 0.6rem; text-transform: uppercase; color: var(--vz-secondary-color); }
body.app-rengaw .rw-ctf-dia-urgente { border-color: #B42318; color: #B42318; }
body.app-rengaw .rw-ctf-filtros { min-width: 16rem; }
body.app-rengaw .rw-ctf-assinatura-svg { width: 12rem; height: auto; color: var(--vz-body-color); }
[data-bs-theme="dark"] body.app-rengaw .rw-ctf-situacao-assinado, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-sig-assinado, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-nota-boa, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-diff ins, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-campo-copiado { color: #4ADE80; border-color: rgba(74, 222, 128, 0.4); }
[data-bs-theme="dark"] body.app-rengaw .rw-ctf-situacao-revisao, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-nota-media, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-nivel-atencao > p:first-child i { color: #F7B84B; }
[data-bs-theme="dark"] body.app-rengaw .rw-ctf-situacao-recusado, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-situacao-cancelado, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-sig-recusado, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-nota-baixa, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-nivel-erro > p:first-child i, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-diff del, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-dia-urgente { color: #FF8A80; border-color: rgba(255, 138, 128, 0.45); }
[data-bs-theme="dark"] body.app-rengaw .rw-ctf-situacao-assinatura, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-situacao-aprovado, [data-bs-theme="dark"] body.app-rengaw .rw-ctf-sig-pendente { color: #5CB8FF; border-color: rgba(92, 184, 255, 0.45); }
@media (max-width: 575.98px) {
    body.app-rengaw .rw-ctf-clausula-acoes .btn { padding: 0.15rem 0.35rem; }
    body.app-rengaw .rw-ctf-nota { width: 3rem; height: 3rem; font-size: 1.1rem; }
}

/* ---------------------------------------------------------------- Governanta Online (2026-10-20), prefixo rw-gov- */
body.app-rengaw .rw-gov-indicador { color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw a.rw-gov-indicador:hover { border-color: var(--vz-primary); }
body.app-rengaw .rw-gov-indicador-rotulo { font-family: var(--rw-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--vz-secondary-color); margin-bottom: 0.25rem; display: block; }
body.app-rengaw .rw-gov-indicador-numero { font-family: var(--rw-titulo); font-weight: 700; font-size: 2rem; line-height: 1.1; margin-bottom: 0.25rem; }
body.app-rengaw .rw-gov-indicador-numero small { font-size: 0.875rem; font-weight: 500; color: var(--vz-secondary-color); }
body.app-rengaw .rw-gov-passos li { margin-bottom: 0.375rem; }
body.app-rengaw .rw-gov-linha { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--vz-border-color); text-decoration: none; }
body.app-rengaw .rw-gov-linha:last-child { border-bottom: 0; }
body.app-rengaw a.rw-gov-linha:hover { color: var(--vz-primary); }
body.app-rengaw .rw-gov-codigo { font-family: var(--rw-mono); font-size: 0.75rem; color: var(--vz-secondary-color); white-space: nowrap; }
body.app-rengaw .rw-gov-alertas li { padding: 0.375rem 0; }
body.app-rengaw .rw-gov-alertas a { color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-gov-alertas a:hover { color: var(--vz-primary); }
body.app-rengaw .rw-gov-alertas i { color: var(--vz-primary); margin-right: 0.5rem; }
body.app-rengaw .rw-gov-cartao { color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-gov-cartao:hover { border-color: var(--vz-primary); }

/* Tarefas */
body.app-rengaw .rw-gov-tarefa { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0.25rem; border-bottom: 1px solid var(--vz-border-color); color: var(--vz-body-color); text-decoration: none; }
body.app-rengaw .rw-gov-tarefa:last-child { border-bottom: 0; }
body.app-rengaw .rw-gov-tarefa:hover { color: var(--vz-primary); }
body.app-rengaw .rw-gov-tarefa-icone { width: 2.25rem; height: 2.25rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; background: rgba(var(--vz-primary-rgb), 0.1); color: var(--vz-primary); font-size: 1.125rem; }
body.app-rengaw .rw-gov-tarefa-concluida .rw-gov-tarefa-icone { background: rgba(10, 179, 156, 0.14); color: #0A7F6F; }
body.app-rengaw .rw-gov-tarefa-nao_feita .rw-gov-tarefa-icone,
body.app-rengaw .rw-gov-tarefa-cancelada .rw-gov-tarefa-icone,
body.app-rengaw .rw-gov-tarefa-atrasada .rw-gov-tarefa-icone { background: rgba(240, 101, 72, 0.14); color: #B23A20; }
body.app-rengaw .rw-gov-pessoa { max-width: 11rem; }
body.app-rengaw .rw-gov-sit { font-weight: 500; }
body.app-rengaw .rw-gov-sit-prevista { background: rgba(var(--vz-primary-rgb), 0.12); color: var(--vz-primary); }
body.app-rengaw .rw-gov-sit-andamento { background: rgba(247, 184, 75, 0.2); color: #8A5200; }
body.app-rengaw .rw-gov-sit-concluida { background: rgba(10, 179, 156, 0.16); color: #0A7F6F; }
body.app-rengaw .rw-gov-sit-nao_feita, body.app-rengaw .rw-gov-sit-cancelada { background: rgba(93, 106, 121, 0.16); color: #4F5D6E; }
body.app-rengaw .rw-gov-sit-atrasada, body.app-rengaw .rw-gov-sit-sem { background: rgba(240, 101, 72, 0.14); color: #B23A20; }
body.app-rengaw .rw-gov-ped-aberto { background: rgba(var(--vz-primary-rgb), 0.12); color: var(--vz-primary); }
body.app-rengaw .rw-gov-ped-andamento { background: rgba(247, 184, 75, 0.2); color: #8A5200; }
body.app-rengaw .rw-gov-ped-atendido { background: rgba(10, 179, 156, 0.16); color: #0A7F6F; }
body.app-rengaw .rw-gov-ped-cancelado { background: rgba(93, 106, 121, 0.16); color: #4F5D6E; }
body.app-rengaw .rw-gov-texto-aviso { color: #8A5200; }
body.app-rengaw .rw-gov-nota { display: inline-flex; align-items: center; gap: 0.2rem; font-weight: 600; color: #8A5200; white-space: nowrap; }
body.app-rengaw .rw-gov-nota i { color: #F7B84B; }
body.app-rengaw .rw-gov-nota-baixa { color: #B23A20; }
body.app-rengaw .rw-gov-nota-grande { font-family: var(--rw-titulo); font-size: 1.5rem; }

/* Checklist e fotos */
body.app-rengaw .rw-gov-item { margin: 0; }
body.app-rengaw .rw-gov-item-botao { display: flex; align-items: flex-start; gap: 0.75rem; width: 100%; padding: 0.75rem 0.25rem; border: 0; border-bottom: 1px solid var(--vz-border-color); background: transparent; color: var(--vz-body-color); text-align: left; font-size: 1rem; }
body.app-rengaw .rw-gov-item:last-child .rw-gov-item-botao { border-bottom: 0; }
body.app-rengaw .rw-gov-item-botao i { font-size: 1.5rem; line-height: 1; color: var(--vz-primary); flex-shrink: 0; }
body.app-rengaw .rw-gov-item-botao:disabled { cursor: default; opacity: 1; }
body.app-rengaw .rw-gov-item-feito .rw-gov-item-botao > span { text-decoration: line-through; color: var(--vz-secondary-color); }
body.app-rengaw .rw-gov-item-feito .rw-gov-item-botao i { color: #0A7F6F; }
body.app-rengaw .rw-gov-item-linha { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-gov-fotos { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.app-rengaw .rw-gov-foto { margin: 0; width: 7rem; }
body.app-rengaw .rw-gov-foto img { width: 7rem; height: 7rem; object-fit: cover; border-radius: 10px; border: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-gov-foto form { margin-top: 0.25rem; }
body.app-rengaw .rw-gov-estrelas { display: flex; flex-wrap: wrap; gap: 0.375rem; }
body.app-rengaw .rw-gov-estrelas .btn { min-width: 2.75rem; }
body.app-rengaw .rw-gov-inspecao-linha { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0.75rem; align-items: center; padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-gov-inspecao-linha:last-child { border-bottom: 0; }
body.app-rengaw .rw-gov-ocorrencia { padding: 0.75rem 0; border-bottom: 1px solid var(--vz-border-color); }
body.app-rengaw .rw-gov-ocorrencia:last-child { border-bottom: 0; }
body.app-rengaw .rw-gov-ocorrencia-icone { font-size: 1.25rem; color: #B23A20; }
body.app-rengaw .rw-gov-ocorrencia-resolvida .rw-gov-ocorrencia-icone { color: #0A7F6F; }
body.app-rengaw .rw-gov-num { width: 4.5rem; }
body.app-rengaw .rw-gov-dias-lista .form-check-inline { margin-right: 0.75rem; }
body.app-rengaw [data-ajuda="instrucoes"] .card-body > p:last-child { margin-bottom: 0 !important; }
body.app-rengaw .rw-gov-qr svg { width: 180px; height: 180px; max-width: 100%; background: #FFFFFF; border-radius: 10px; padding: 6px; }

/* Modo escuro */
[data-bs-theme="dark"] body.app-rengaw .rw-gov-sit-andamento,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-ped-andamento,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-texto-aviso,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-nota { color: #F7C873; }
[data-bs-theme="dark"] body.app-rengaw .rw-gov-sit-concluida,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-ped-atendido,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-tarefa-concluida .rw-gov-tarefa-icone,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-item-feito .rw-gov-item-botao i { color: #5FD9C5; }
[data-bs-theme="dark"] body.app-rengaw .rw-gov-sit-atrasada,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-sit-sem,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-nota-baixa,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-ocorrencia-icone,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-tarefa-atrasada .rw-gov-tarefa-icone,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-tarefa-nao_feita .rw-gov-tarefa-icone,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-tarefa-cancelada .rw-gov-tarefa-icone { color: #FF9C86; }
[data-bs-theme="dark"] body.app-rengaw .rw-gov-sit-nao_feita,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-sit-cancelada,
[data-bs-theme="dark"] body.app-rengaw .rw-gov-ped-cancelado { color: #B8C2CE; }

/* Página pública do ambiente (QR Code) */
body.app-rengaw .rw-gov-publico { min-height: 100vh; display: flex; justify-content: center; padding: 1.5rem 1rem 2rem; }
body.app-rengaw .rw-gov-publico-cartao { width: 100%; max-width: 30rem; }
body.app-rengaw .rw-gov-publico-topo { text-align: center; padding: 1.5rem 1rem; background: #061C3D; color: #FFFFFF; border-radius: 16px; margin-bottom: 1rem; }
body.app-rengaw .rw-gov-publico-icone { display: inline-flex; width: 3rem; height: 3rem; border-radius: 12px; align-items: center; justify-content: center; background: rgba(0, 144, 244, 0.2); color: #0090F4; font-size: 1.5rem; margin-bottom: 0.5rem; }
body.app-rengaw .rw-gov-publico-local { font-family: var(--rw-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: #B9D7F2; margin: 0; }
body.app-rengaw .rw-gov-publico-nome { font-family: var(--rw-titulo); font-size: 1.75rem; font-weight: 700; color: #FFFFFF; margin: 0.25rem 0 0; }
body.app-rengaw .rw-gov-publico-secao { background: var(--vz-secondary-bg); border: 1px solid var(--vz-border-color); border-radius: 16px; padding: 1rem; margin-bottom: 1rem; }
body.app-rengaw .rw-gov-publico-limpeza { display: flex; justify-content: space-around; gap: 0.75rem; text-align: center; }
body.app-rengaw .rw-gov-publico-limpeza strong { font-family: var(--rw-titulo); font-size: 1.25rem; display: block; }
body.app-rengaw .rw-gov-publico-ok { text-align: center; background: rgba(10, 179, 156, 0.12); border-radius: 16px; padding: 1rem; margin-bottom: 1rem; }
body.app-rengaw .rw-gov-publico-ok i { font-size: 2rem; color: #0A7F6F; }
body.app-rengaw .rw-gov-publico-ok p { margin: 0.25rem 0 0; font-weight: 600; }
body.app-rengaw .rw-gov-publico-rodape { font-size: 0.75rem; color: var(--vz-secondary-color); text-align: center; }
body.app-rengaw .rw-gov-carinhas { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.375rem; }
body.app-rengaw .rw-gov-carinhas label { display: flex; flex-direction: column; align-items: center; gap: 0.125rem; padding: 0.5rem 0.25rem; border: 1px solid var(--vz-border-color); border-radius: 12px; cursor: pointer; font-size: 0.6875rem; text-align: center; color: var(--vz-body-color); }
body.app-rengaw .rw-gov-carinhas label i { font-size: 1.75rem; color: var(--vz-primary); }
body.app-rengaw .rw-gov-carinhas .btn-check:checked + label { border-color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), 0.12); }
body.app-rengaw .rw-gov-carinhas .btn-check:focus-visible + label { outline: 2px solid var(--vz-primary); outline-offset: 2px; }
body.app-rengaw .rw-gov-isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
[data-bs-theme="dark"] body.app-rengaw .rw-gov-publico-ok i { color: #5FD9C5; }

@media (max-width: 575.98px) {
    body.app-rengaw .rw-gov-indicador-numero { font-size: 1.5rem; }
    body.app-rengaw .rw-gov-inspecao-linha { grid-template-columns: 1fr; }
    body.app-rengaw .rw-gov-pessoa { max-width: 7rem; }
    body.app-rengaw .rw-gov-carinhas span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
