/* Revvoada 3.0 — fundacao visual compartilhada. */
:root {
  color-scheme: light;
  --rv3-bg-start: #f8f6f0;
  --rv3-bg-middle: #eef3ec;
  --rv3-bg-end: #f7f1ea;
  --rv3-text: #263225;
  --rv3-text-soft: #5d685b;
  --rv3-primary: #385037;
  --rv3-primary-strong: #2f482e;
  --rv3-primary-soft: #587052;
  --rv3-danger: #9f302a;
  --rv3-danger-bg: rgba(255, 238, 235, .90);
  --rv3-success: #376b3d;
  --rv3-success-bg: rgba(235, 247, 235, .90);
  --rv3-warning: #885f12;
  --rv3-warning-bg: rgba(255, 246, 218, .92);
  --rv3-glass-soft: rgba(255, 253, 250, .62);
  --rv3-glass: rgba(255, 253, 250, .72);
  --rv3-glass-strong: rgba(255, 253, 250, .86);
  --rv3-glass-solid: #fbfaf6;
  --rv3-glass-border: rgba(255, 255, 255, .76);
  --rv3-glass-border-strong: rgba(255, 255, 255, .90);
  --rv3-shadow-soft: 0 8px 26px rgba(38, 59, 37, .08);
  --rv3-shadow: 0 18px 48px rgba(38, 59, 37, .11);
  --rv3-shadow-modal: 0 26px 72px rgba(25, 40, 26, .25);
  --rv3-radius-sm: 12px;
  --rv3-radius-md: 16px;
  --rv3-radius-lg: 20px;
  --rv3-blur-soft: blur(10px) saturate(116%);
  --rv3-blur: blur(14px) saturate(120%);
  --rv3-blur-strong: blur(22px) saturate(130%);
  --rv3-focus: 0 0 0 4px rgba(99, 133, 92, .15);
}

html,
body {
  color: var(--rv3-text);
  background: var(--rv3-bg-middle);
}

body {
  background:
    radial-gradient(circle at 8% -8%, rgba(176, 202, 174, .42), transparent 31rem),
    radial-gradient(circle at 95% 7%, rgba(232, 213, 197, .52), transparent 28rem),
    linear-gradient(145deg, var(--rv3-bg-start) 0%, var(--rv3-bg-middle) 48%, var(--rv3-bg-end) 100%) !important;
  background-attachment: fixed !important;
}

.app {
  min-height: 100vh;
  min-height: 100dvh;
  background: transparent !important;
}

.conteudo {
  position: relative;
  isolation: isolate;
}

.conteudo::before {
  content: '';
  position: fixed;
  z-index: -1;
  right: -17rem;
  bottom: -17rem;
  width: 34rem;
  height: 34rem;
  border-radius: 50%;
  background: rgba(184, 212, 181, .22);
  filter: blur(54px);
  pointer-events: none;
}

/* Estrutura persistente do aplicativo. */
.topbar,
.menu-mobile-bottom {
  background: rgba(250, 249, 244, .70) !important;
  border-color: var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);
}

.desktop-sidebar {
  color: #f8f5ef !important;
  background: linear-gradient(180deg, rgba(53, 76, 50, .98) 0%, rgba(39, 57, 40, .99) 100%) !important;
  border-color: rgba(255, 255, 255, .10) !important;
  box-shadow: 12px 0 34px rgba(30, 45, 31, .16) !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.desktop-sidebar .desktop-nav button {
  color: rgba(248, 245, 239, .74) !important;
}

.desktop-sidebar .desktop-nav button:hover,
.desktop-sidebar .desktop-nav .desktop-nav-ativo {
  color: #fffdfa !important;
  background: rgba(255, 255, 255, .10) !important;
  border-color: rgba(255, 255, 255, .08) !important;
}

.desktop-sidebar .desktop-secondary-label {
  color: rgba(248, 245, 239, .42) !important;
}

.desktop-sidebar .desktop-notification-link,
.desktop-sidebar .desktop-account-link {
  color: rgba(248, 245, 239, .86) !important;
}

.desktop-sidebar .desktop-logout {
  color: rgba(248, 245, 239, .55) !important;
}

/* Superficies de conteudo compartilhadas. */
.card-apresentacao,
.card-integrante,
.financeiro-card,
.gestao-secao,
.documento-card,
.vazio,
.ficha-texto,
.info-item,
.conta-status,
.conta-dados-redesenhados .conta-dado {
  background: var(--rv3-glass) !important;
  border: 1px solid var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur);
  backdrop-filter: var(--rv3-blur);
}

.card-apresentacao,
.card-integrante,
.financeiro-card,
.documento-card {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.card-apresentacao:hover,
.card-integrante:hover,
.financeiro-card:hover,
.documento-card:hover {
  border-color: var(--rv3-glass-border-strong) !important;
  box-shadow: var(--rv3-shadow) !important;
  transform: translateY(-3px);
}

/* Camadas elevadas. */
.modal,
.minha-conta-redesenhada,
.foto-lightbox,
.acervo-foto-modal {
  background: var(--rv3-glass-strong) !important;
  border: 1px solid rgba(255, 255, 255, .82) !important;
  box-shadow: var(--rv3-shadow-modal) !important;
  -webkit-backdrop-filter: var(--rv3-blur-strong);
  backdrop-filter: var(--rv3-blur-strong);
}

.modal-fundo,
.foto-lightbox-fundo {
  background: rgba(27, 42, 28, .34) !important;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

/* Controles globais. */
.botao-principal,
.conta-acao-destaque {
  background: linear-gradient(135deg, var(--rv3-primary-strong), var(--rv3-primary-soft)) !important;
  border: 1px solid rgba(255, 255, 255, .26) !important;
  box-shadow: 0 9px 19px rgba(47, 72, 46, .20) !important;
}

/* O seletor de arquivos é um label, portanto não herda a cor clara dos buttons. */
.acervo-upload-botao.botao-principal {
  color: #fffdfa !important;
}

.botao-secundario,
.conta-acao,
.acervo-icone-botao,
.foto-lightbox-nav-texto {
  background: rgba(255, 255, 255, .52) !important;
  border-color: rgba(255, 255, 255, .78) !important;
  -webkit-backdrop-filter: var(--rv3-blur-soft);
  backdrop-filter: var(--rv3-blur-soft);
}

input,
select,
textarea,
.modal input,
.modal select,
.modal textarea {
  background: rgba(255, 255, 255, .58) !important;
  border-color: rgba(255, 255, 255, .82) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65) !important;
}

input:focus,
select:focus,
textarea:focus,
.modal input:focus,
.modal select:focus,
.modal textarea:focus {
  border-color: rgba(67, 98, 62, .58) !important;
  box-shadow: var(--rv3-focus), inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

:where(button, a, input, select, textarea, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid rgba(47, 72, 46, .72) !important;
  outline-offset: 3px;
}

/* Acoes iconograficas: padrão compacto, acessível e confortável ao toque. */
.rv-icon-button {
  inline-size: 44px !important;
  min-inline-size: 44px !important;
  block-size: 44px !important;
  min-block-size: 44px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .76) !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  color: var(--rv3-primary) !important;
  background: rgba(255, 255, 255, .54) !important;
  box-shadow: 0 7px 18px rgba(38, 59, 37, .09) !important;
  -webkit-backdrop-filter: var(--rv3-blur-soft);
  backdrop-filter: var(--rv3-blur-soft);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.rv-icon-button::before {
  content: none !important;
}

.rv-icon-button svg {
  display: block;
  pointer-events: none;
}

.rv-icon-button:hover {
  color: var(--rv3-primary-strong) !important;
  background: rgba(255, 255, 255, .76) !important;
  box-shadow: 0 10px 22px rgba(38, 59, 37, .13) !important;
  transform: translateY(-1px);
}

.rv-icon-button:active {
  transform: scale(.96);
}

.rv-icon-button.botao-principal {
  color: #fffdfa !important;
  background: linear-gradient(135deg, var(--rv3-primary-strong), var(--rv3-primary-soft)) !important;
  border-color: rgba(255, 255, 255, .28) !important;
}

.rv-icon-button-danger {
  color: var(--rv3-danger) !important;
  background: var(--rv3-danger-bg) !important;
  border-color: rgba(159, 48, 42, .16) !important;
}

.rv-icon-button:disabled {
  transform: none;
}

.pagina-documentos .documento-acoes .rv-icon-button,
.pagina-tarefas .rv-icon-button {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
}

.pagina-tarefas .tarefas-nova.rv-fab-hidden-add {
  display: none !important;
}

.pagina-apresentacoes .pagina-header .rv-icon-button,
.pagina-apresentacoes .apresentacoes-mobile-acoes .rv-icon-button,
.pagina-apresentacao-detalhe .rv-icon-button,
.pagina-acervo .rv-icon-button {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  flex: 0 0 44px !important;
}

.pagina-apresentacao-conteudo .ficha-acervo .rv-icon-button,
.pagina-acervo .acervo-header-acoes .rv-icon-button,
.pagina-acervo .acervo-fotos-header-acoes .rv-icon-button {
  flex: 0 0 44px !important;
}

.pagina-acervo .acervo-colecao-menu.rv-icon-button {
  position: static !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: -4px -6px 0 auto !important;
  flex: 0 0 40px !important;
  color: var(--rv3-primary) !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.pagina-integrantes .rv-icon-button,
.pagina-historia .rv-icon-button {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  flex: 0 0 44px !important;
}

.pagina-integrantes .integrante-acoes .rv-icon-button,
.pagina-integrantes .ficha-cabecalho-acoes .rv-icon-button,
.pagina-historia .historia-marco-acoes .rv-icon-button {
  display: inline-flex !important;
}

.pagina-historia .historia-novo-marco-mobile.rv-icon-button {
  margin: 14px 0 0 auto !important;
}

.pagina-historia .historia-novo-marco-header.rv-fab-hidden-add,
.pagina-historia .historia-novo-marco-mobile.rv-fab-hidden-add {
  display: none !important;
}

.pagina-financeiro .rv-icon-button {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  flex: 0 0 44px !important;
}

.pagina-financeiro .pagina-header > .rv-icon-button.rv-fab-hidden-add {
  display: none !important;
}

.pagina-financeiro .financeiro-item .rv-icon-button {
  justify-self: end;
}

.conta-fechar.rv-icon-button,
.conta-acoes .rv-icon-button,
.toast .rv-icon-button,
.notificacoes-header .rv-icon-button,
.mobile-more-close.rv-icon-button,
.pwa-modal .rv-icon-button {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  flex: 0 0 44px !important;
}

.conta-acoes .rv-icon-button {
  align-self: stretch;
}

.toast .rv-icon-button {
  box-shadow: none !important;
}

.botao-fechar {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.botao-fechar svg {
  display: block;
  pointer-events: none;
}

.ficha-fechar.rv-icon-button {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 18px auto 24px !important;
  flex: 0 0 44px !important;
}

.foto-lightbox-nav-texto.rv-icon-button,
.foto-lightbox-acoes .rv-icon-button,
.pagina-apresentacoes .apresentacoes-filtros .rv-icon-button {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  flex: 0 0 44px !important;
}

.historico-seta svg,
.desktop-account-link > span[aria-hidden="true"] svg {
  display: block;
}

/* Acervo: primeira area migrada para os tokens da versao 3.0. */
.pagina-acervo .acervo-bloco,
.pagina-acervo .acervo-tabs,
.pagina-acervo .acervo-selecao-barra,
.pagina-acervo .fotos-apresentacoes-card,
.pagina-acervo .acervo-colecao-card,
.pagina-acervo .acervo-galeria-colecao,
.pagina-acervo .acervo-foto-card {
  background: var(--rv3-glass-soft) !important;
  border-color: var(--rv3-glass-border) !important;
  box-shadow: 0 12px 32px rgba(38, 59, 37, .09) !important;
  -webkit-backdrop-filter: blur(16px) saturate(122%);
  backdrop-filter: blur(16px) saturate(122%);
}

/* Mantem a barra de selecao fixa na tela, fora do contexto criado pelo blur. */
.pagina-acervo .acervo-fotos-secao:has(> .acervo-selecao-barra) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* O backdrop-filter cria um bloco de referência para elementos fixed no
   Android WebView. Removê-lo durante o lightbox mantém a foto na viewport. */
.pagina-acervo .acervo-fotos-secao:has(.acervo-foto-modal-fundo) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.conteudo:has(.acervo-foto-modal-fundo) {
  isolation: auto !important;
}

.pagina-acervo .acervo-foto-modal-fundo {
  position: fixed !important;
  z-index: 2000 !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

.pagina-acervo .acervo-foto-modal .acervo-foto-download {
  right: 64px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.pagina-acervo .acervo-colecao-card {
  position: relative;
}

.pagina-acervo .acervo-colecao-topline {
  align-items: center !important;
}

.acervo-colecao-modal-fundo {
  box-sizing: border-box !important;
  width: 100vw !important;
  height: 100dvh !important;
  inset: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px)) !important;
  z-index: 4000 !important;
}

.acervo-colecao-modal {
  width: min(100%, 440px) !important;
  max-height: calc(100dvh - 32px) !important;
  margin: 0 !important;
  overflow-y: auto !important;
  border-radius: 22px !important;
}

/* O FAB concentra a criacao no Acervo; remove atalhos + duplicados das abas. */
.pagina-acervo .acervo-fotos-lista-acoes,
.pagina-acervo .acervo-secao-header-contextual > .acervo-acao-contextual {
  display: none !important;
}

.pagina-acervo .acervo-tabs button {
  color: #485a44 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
}

.pagina-acervo .acervo-tabs button.ativo,
.pagina-acervo .acervo-tabs button[aria-selected="true"] {
  color: #fffdfa !important;
  background: linear-gradient(135deg, #334d31, var(--rv3-primary-soft)) !important;
  border-color: rgba(255, 255, 255, .26) !important;
  box-shadow: 0 7px 17px rgba(45, 69, 43, .18) !important;
}

.pagina-acervo .fotos-apresentacoes-info,
.pagina-acervo .acervo-colecao-card .fotos-apresentacoes-info,
.pagina-acervo .acervo-galeria-colecao-info,
.pagina-acervo .acervo-foto-info {
  background: rgba(255, 253, 250, .48) !important;
}

.pagina-acervo .fotos-apresentacoes-card:hover,
.pagina-acervo .acervo-colecao-card:hover,
.pagina-acervo .acervo-galeria-colecao:hover,
.pagina-acervo .acervo-foto-card:hover {
  border-color: var(--rv3-glass-border-strong) !important;
  box-shadow: 0 18px 38px rgba(38, 59, 37, .14) !important;
}

.pagina-acervo .acervo-foto-modal {
  background: var(--rv3-glass-strong) !important;
  border: 1px solid rgba(255, 255, 255, .84) !important;
  -webkit-backdrop-filter: blur(24px) saturate(132%);
  backdrop-filter: blur(24px) saturate(132%);
}

.pagina-acervo .acervo-foto-nav,
.pagina-acervo .acervo-foto-contador {
  border-color: var(--rv3-glass-border) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

/* Login: entrada limpa, centralizada e coerente com o restante do app. */
.login { position: relative; z-index: 0; }
.login form {
  padding: clamp(20px, 4vw, 30px) !important;
  border: 1px solid var(--rv3-glass-border) !important;
  border-radius: var(--rv3-radius-lg) !important;
  background: var(--rv3-glass) !important;
  box-shadow: var(--rv3-shadow) !important;
  -webkit-backdrop-filter: var(--rv3-blur);
  backdrop-filter: var(--rv3-blur);
}
.login .subtitle { color: var(--rv3-text-soft) !important; }
.login form button {
  background: linear-gradient(135deg, var(--rv3-primary-strong), var(--rv3-primary-soft)) !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  box-shadow: 0 10px 22px rgba(47, 72, 46, .20) !important;
}

/* Dashboard: vidro nos dados; destaque editorial permanece solido. */
.pagina-dashboard .dashboard-card,
.pagina-dashboard .dashboard-secao,
.pagina-dashboard .dashboard-indicadores > div,
.pagina-dashboard .dashboard-financeiro-grid > div,
.pagina-dashboard .dashboard-home-section,
.pagina-dashboard .dashboard-home-card,
.pagina-dashboard .dashboard-overview-stat:not(.dashboard-overview-stat-primary),
.dashboard-2 .dashboard-card,
.dashboard-2 .dashboard-secao,
.dashboard-2 .dashboard-indicadores > div,
.dashboard-2 .dashboard-financeiro-grid > div,
.dashboard-2 .dashboard-home-section,
.dashboard-2 .dashboard-home-card,
.dashboard-2 .dashboard-overview-stat:not(.dashboard-overview-stat-primary) {
  background: var(--rv3-glass) !important;
  border: 1px solid var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur);
  backdrop-filter: var(--rv3-blur);
}
.pagina-dashboard .dashboard-evento,
.pagina-dashboard .dashboard-mini-card,
.pagina-dashboard .dashboard-pendencias button,
.dashboard-2 .dashboard-evento,
.dashboard-2 .dashboard-mini-card,
.dashboard-2 .dashboard-pendencias button {
  background: rgba(255, 255, 255, .44) !important;
  border-color: rgba(255, 255, 255, .68) !important;
}
.pagina-dashboard .dashboard-evento:hover,
.pagina-dashboard .dashboard-mini-card:hover,
.pagina-dashboard .dashboard-pendencias button:hover,
.dashboard-2 .dashboard-evento:hover,
.dashboard-2 .dashboard-mini-card:hover,
.dashboard-2 .dashboard-pendencias button:hover { background: rgba(255, 255, 255, .68) !important; }
.pagina-dashboard .dashboard-destaque,
.pagina-dashboard .dashboard-overview-stat-primary,
.pagina-dashboard .dashboard-home-focus,
.dashboard-2 .dashboard-destaque,
.dashboard-2 .dashboard-overview-stat-primary,
.dashboard-2 .dashboard-home-focus {
  background: linear-gradient(145deg, #2c432b, #4f694a) !important;
  border-color: rgba(255, 255, 255, .18) !important;
  box-shadow: 0 18px 44px rgba(38, 59, 37, .20) !important;
}

/* Menus suspensos e bottom-sheet de navegacao. */
.menu-mais-dropdown,
.mobile-more-panel {
  background: var(--rv3-glass-strong) !important;
  border-color: var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-modal) !important;
  -webkit-backdrop-filter: var(--rv3-blur-strong) !important;
  backdrop-filter: var(--rv3-blur-strong) !important;
}
.mobile-more-backdrop {
  background: rgba(27, 42, 28, .30) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  backdrop-filter: blur(5px) !important;
}
.mobile-more-header {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.mobile-more-item,
.menu-mais-dropdown button {
  background: rgba(255, 255, 255, .42) !important;
  border-color: rgba(255, 255, 255, .66) !important;
}
.mobile-more-item.ativo,
.menu-mais-dropdown button.ativo {
  background: rgba(65, 84, 55, .12) !important;
  border-color: rgba(65, 84, 55, .24) !important;
}
.mobile-more-close,
.mobile-more-icon {
  background: rgba(255, 255, 255, .52) !important;
  border-color: rgba(255, 255, 255, .72) !important;
}

/* Central de notificacoes. */
.notificacoes-painel {
  background: var(--rv3-glass-strong) !important;
  border: 1px solid var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-modal) !important;
  -webkit-backdrop-filter: var(--rv3-blur-strong);
  backdrop-filter: var(--rv3-blur-strong);
}
.notificacoes-fundo {
  background: rgba(27, 42, 28, .30) !important;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
.notificacao-item,
.notificacoes-vazio {
  background: rgba(255, 255, 255, .46) !important;
  border: 1px solid rgba(255, 255, 255, .68) !important;
  box-shadow: 0 5px 18px rgba(38, 59, 37, .06) !important;
}
.botao-notificacoes,
.topbar-avatar,
.desktop-notification-icon {
  background-color: rgba(255, 255, 255, .46) !important;
  border-color: rgba(255, 255, 255, .70) !important;
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
}

/* FAB e filtros flutuantes. */
.rv-fab {
  background: linear-gradient(145deg, var(--rv3-primary-strong), var(--rv3-primary-soft)) !important;
  border: 1px solid rgba(255, 255, 255, .30) !important;
  box-shadow: 0 16px 36px rgba(38, 59, 37, .28), inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}
.rv-fab-menu {
  background: var(--rv3-glass-strong) !important;
  border-color: var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow) !important;
  -webkit-backdrop-filter: var(--rv3-blur-strong);
  backdrop-filter: var(--rv3-blur-strong);
}
.rv-fab-menu button:hover,
.rv-fab-menu button:focus-visible { background: rgba(255, 255, 255, .58) !important; }
.rv-fab-menu-icon,
.rv-status-filter button {
  background: rgba(255, 255, 255, .50) !important;
  border-color: rgba(255, 255, 255, .72) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.rv-status-filter button.is-active {
  color: #fff !important;
  background: linear-gradient(135deg, var(--rv3-primary-strong), var(--rv3-primary-soft)) !important;
  border-color: rgba(255, 255, 255, .24) !important;
}

/* Estados globais: legiveis antes de serem decorativos. */
.toast,
.pagina-erro-card {
  background: var(--rv3-glass-strong) !important;
  border: 1px solid var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow) !important;
  -webkit-backdrop-filter: var(--rv3-blur-strong);
  backdrop-filter: var(--rv3-blur-strong);
}
.toast-erro,
.login .erro,
.rv-error,
.estado-erro,
.status-erro,
[data-status="error"],
[data-status="erro"] {
  color: var(--rv3-danger) !important;
  background: var(--rv3-danger-bg) !important;
  border-color: rgba(159, 48, 42, .20) !important;
}
.sucesso,
.estado-sucesso,
.status-sucesso,
[data-status="success"],
[data-status="sucesso"] {
  color: var(--rv3-success) !important;
  background: var(--rv3-success-bg) !important;
  border-color: rgba(55, 107, 61, .20) !important;
}
.estado-alerta,
.status-alerta,
[data-status="warning"],
[data-status="alerta"] {
  color: var(--rv3-warning) !important;
  background: var(--rv3-warning-bg) !important;
  border-color: rgba(136, 95, 18, .20) !important;
}
.loading { color: var(--rv3-primary) !important; background: transparent !important; }
.rv-skeleton {
  background: linear-gradient(90deg, rgba(255, 255, 255, .30) 25%, rgba(255, 255, 255, .68) 37%, rgba(255, 255, 255, .30) 63%) !important;
  background-size: 400% 100% !important;
}

/* Apresentacoes: filtros leves, capas preservadas e conteudo em vidro. */
.pagina-apresentacoes .apresentacoes-toolbar,
.pagina-apresentacoes .apresentacoes-filtros,
.pagina-apresentacoes .apresentacoes-mobile-acoes select {
  background: var(--rv3-glass-soft) !important;
  border-color: var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur-soft);
  backdrop-filter: var(--rv3-blur-soft);
}

.pagina-apresentacoes .apresentacoes-toolbar {
  padding: clamp(12px, 2vw, 18px) !important;
  border: 1px solid var(--rv3-glass-border) !important;
  border-radius: var(--rv3-radius-md) !important;
}

.pagina-apresentacoes .card-apresentacao-conteudo {
  background: linear-gradient(180deg, rgba(255, 255, 255, .28), rgba(255, 253, 250, .52)) !important;
}

.pagina-apresentacoes .card-apresentacao-capa {
  background: rgba(46, 62, 44, .10) !important;
}

.pagina-apresentacoes .card-apresentacao:focus-visible {
  outline: 3px solid rgba(65, 84, 55, .42) !important;
  outline-offset: 3px;
}

.pagina-apresentacoes .resultado-contagem {
  color: var(--rv3-text-soft) !important;
}

.pagina-apresentacoes .status,
.pagina-apresentacoes .tag-chip {
  border: 1px solid rgba(255, 255, 255, .28) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}

/* Ficha de apresentacao: hero editorial e secoes translúcidas. */
.pagina-apresentacao-detalhe > .pagina-apresentacao-voltar {
  display: none !important;
}

.pagina-apresentacao-conteudo.ficha-editorial .ficha-hero {
  background: linear-gradient(145deg, #2b422a, #516b4c) !important;
  border: 1px solid rgba(255, 255, 255, .20) !important;
  box-shadow: 0 20px 50px rgba(38, 59, 37, .20) !important;
}

.pagina-apresentacao-conteudo.ficha-editorial .ficha-resumo-top,
.pagina-apresentacao-conteudo.ficha-editorial .ficha-destaque-editorial,
.pagina-apresentacao-conteudo.ficha-editorial .ficha-details {
  background: var(--rv3-glass) !important;
  border-color: var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur);
  backdrop-filter: var(--rv3-blur);
}

.pagina-apresentacao-conteudo.ficha-editorial .ficha-resumo-item,
.pagina-apresentacao-conteudo.ficha-editorial .ficha-details > summary {
  background: rgba(255, 255, 255, .38) !important;
  border-color: rgba(255, 255, 255, .62) !important;
}

.pagina-apresentacao-conteudo.ficha-editorial .info-item,
.pagina-apresentacao-conteudo.ficha-editorial .ficha-financeiro-resumo > div,
.pagina-apresentacao-conteudo.ficha-editorial .participante-item,
.pagina-apresentacao-conteudo.ficha-editorial .link-item {
  background: rgba(255, 255, 255, .42) !important;
  border: 1px solid rgba(255, 255, 255, .66) !important;
  box-shadow: 0 5px 16px rgba(38, 59, 37, .05) !important;
}

.pagina-apresentacao-conteudo.ficha-editorial .ficha-meta-mini span {
  background: rgba(255, 255, 255, .54) !important;
  border: 1px solid rgba(255, 255, 255, .70) !important;
}

.pagina-apresentacao-conteudo.ficha-editorial .ficha-financeiro {
  border-color: rgba(65, 84, 55, .26) !important;
}

/* Grupo: pessoas em primeiro plano, controles discretos. */
.pagina-integrantes .integrantes-toolbar,
.pagina-integrantes .grupo-seletor-pagina,
.historia-grupo-seletor-mobile {
  background: var(--rv3-glass-soft) !important;
  border: 1px solid var(--rv3-glass-border) !important;
  border-radius: var(--rv3-radius-md) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur-soft);
  backdrop-filter: var(--rv3-blur-soft);
}

.pagina-integrantes .integrantes-toolbar {
  padding: 12px !important;
}

.grupo-seletor-pagina button,
.historia-grupo-seletor-mobile button {
  background: rgba(255, 255, 255, .40) !important;
  border-color: rgba(255, 255, 255, .64) !important;
}

.grupo-seletor-pagina button.ativo,
.grupo-seletor-pagina button.grupo-seletor-ativo,
.grupo-seletor-pagina button[aria-selected="true"],
.historia-grupo-seletor-mobile button.ativo {
  color: #fff !important;
  background: linear-gradient(135deg, var(--rv3-primary-strong), var(--rv3-primary-soft)) !important;
  border-color: rgba(255, 255, 255, .24) !important;
}

.lista-integrantes .card-integrante {
  border-color: var(--rv3-glass-border) !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
}

.lista-integrantes .integrante-dados {
  min-width: 0 !important;
}

.lista-integrantes .integrante-acoes {
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: center !important;
  justify-self: end !important;
  width: 44px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.lista-integrantes .integrante-acoes .rv-icon-button {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--rv3-primary) !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.pagina-integrantes .integrante-avatar,
.ficha-integrante-foto {
  border: 2px solid rgba(255, 255, 255, .72) !important;
  box-shadow: 0 8px 22px rgba(38, 59, 37, .16) !important;
}

/* No formulario de integrante, as acoes pertencem ao fim do conteudo. */
.modal-pequeno:has(.foto-form) .modal-acoes {
  position: static !important;
  inset: auto !important;
  margin: 22px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* No formulario de marco historico, as acoes ficam depois dos campos. */
.modal-form-historia .modal-acoes {
  position: static !important;
  inset: auto !important;
  margin: 22px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.pagina-integrantes .integrante-inativo,
.historico-item {
  background: rgba(255, 255, 255, .44) !important;
  border: 1px solid rgba(255, 255, 255, .64) !important;
}

/* Historia: linha do tempo e indicadores com profundidade controlada. */
.pagina-historia .historia-secao,
.pagina-historia .historia-card,
.pagina-historia .historia-destaques-enxutos,
.pagina-historia .historia-marco,
.pagina-historia .historia-ranking-item,
.pagina-historia .historia-apresentacao-resumo,
.pagina-historia .historia-vazio {
  background: var(--rv3-glass) !important;
  border: 1px solid var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur);
  backdrop-filter: var(--rv3-blur);
}

.pagina-historia .historia-filtro,
.pagina-historia .historia-periodos,
.pagina-historia .historia-filtro-mobile-timeline,
.pagina-historia .historia-filtro-mobile-integrantes {
  background: var(--rv3-glass-soft) !important;
  border-color: var(--rv3-glass-border) !important;
  -webkit-backdrop-filter: var(--rv3-blur-soft);
  backdrop-filter: var(--rv3-blur-soft);
}

.pagina-historia .historia-marco-editavel:hover,
.pagina-historia .historia-ranking-item:hover,
.pagina-historia .historia-apresentacao-resumo:hover {
  background: rgba(255, 255, 255, .70) !important;
  border-color: var(--rv3-glass-border-strong) !important;
  box-shadow: var(--rv3-shadow) !important;
}

.pagina-historia .historia-ano-marcador span {
  background: var(--rv3-primary-strong) !important;
  border: 2px solid rgba(249, 246, 240, .96) !important;
  box-shadow: 0 0 0 1px rgba(65, 84, 55, .16) !important;
}

.pagina-historia .historia-ranking-trilho {
  background: rgba(65, 84, 55, .10) !important;
  border: 1px solid rgba(255, 255, 255, .54) !important;
}

/* Tarefas: leitura rapida, controles preservados e superficies leves. */
.pagina-tarefas .tarefas-toolbar,
.pagina-tarefas .tarefas-filtros {
  background: var(--rv3-glass-soft) !important;
  border-color: var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur-soft);
  backdrop-filter: var(--rv3-blur-soft);
}

.pagina-tarefas .tarefas-toolbar {
  padding: 10px !important;
  border: 1px solid var(--rv3-glass-border) !important;
  border-radius: var(--rv3-radius-md) !important;
}

.pagina-tarefas .tarefas-filtros button {
  background: rgba(255, 255, 255, .34) !important;
  border: 1px solid transparent !important;
}

.pagina-tarefas .tarefas-filtros button.ativo {
  color: #fff !important;
  background: linear-gradient(135deg, var(--rv3-primary-strong), var(--rv3-primary-soft)) !important;
  border-color: rgba(255, 255, 255, .24) !important;
  box-shadow: none !important;
}

.pagina-tarefas .tarefas-resumo > span,
.pagina-tarefas .tarefas-resumo details,
.pagina-tarefas .tarefa-prioridade {
  background: rgba(255, 255, 255, .46) !important;
  border: 1px solid rgba(255, 255, 255, .68) !important;
  box-shadow: 0 4px 14px rgba(38, 59, 37, .05) !important;
}

.pagina-tarefas .tarefa-item {
  background: var(--rv3-glass) !important;
  border-color: var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur);
  backdrop-filter: var(--rv3-blur);
}

.pagina-tarefas .tarefa-item:hover {
  background: rgba(255, 255, 255, .72) !important;
  border-color: var(--rv3-glass-border-strong) !important;
  box-shadow: var(--rv3-shadow) !important;
}

.pagina-tarefas .tarefa-editar,
.pagina-tarefas .tarefa-excluir {
  background: rgba(255, 255, 255, .48) !important;
  border-color: rgba(255, 255, 255, .70) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.pagina-tarefas .tarefa-excluir {
  color: var(--rv3-danger) !important;
}

.pagina-tarefas .tarefa-item.concluida {
  background: rgba(242, 246, 240, .60) !important;
}

.pagina-tarefas .tarefas-vazio {
  background: var(--rv3-glass-soft) !important;
  border-color: var(--rv3-glass-border) !important;
}

/* Financeiro: vidro neutro sem perder a semantica dos valores. */
.pagina-financeiro .financeiro-toolbar {
  padding: 10px !important;
  background: var(--rv3-glass-soft) !important;
  border: 1px solid var(--rv3-glass-border) !important;
  border-radius: var(--rv3-radius-md) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur-soft);
  backdrop-filter: var(--rv3-blur-soft);
}

.pagina-financeiro .financeiro-card,
.pagina-financeiro .financeiro-item,
.pagina-financeiro .financeiro-resumo-secundario {
  background: var(--rv3-glass) !important;
  border: 1px solid var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur);
  backdrop-filter: var(--rv3-blur);
}

.pagina-financeiro .financeiro-card-destaque,
.pagina-financeiro .financeiro-resumo-principal {
  color: #fffdfa !important;
  background: linear-gradient(145deg, #2b422a, #516b4c) !important;
  border-color: rgba(255, 255, 255, .20) !important;
  box-shadow: 0 18px 44px rgba(38, 59, 37, .20) !important;
}

.pagina-financeiro .financeiro-item:hover {
  background: rgba(255, 255, 255, .72) !important;
  border-color: var(--rv3-glass-border-strong) !important;
  box-shadow: var(--rv3-shadow) !important;
}

.pagina-financeiro .financeiro-tipo,
.pagina-financeiro .financeiro-status {
  background: rgba(255, 255, 255, .48) !important;
  border: 1px solid rgba(255, 255, 255, .70) !important;
}

.pagina-financeiro .financeiro-receita,
.pagina-financeiro .financeiro-receita strong {
  color: var(--rv3-success) !important;
}

.pagina-financeiro .financeiro-despesa,
.pagina-financeiro .financeiro-negativo,
.pagina-financeiro .financeiro-negativo strong {
  color: var(--rv3-danger) !important;
}

/* Gestao: secoes firmes, usuarios e auditoria em camadas discretas. */
.pagina-gestao .gestao-secao {
  background: var(--rv3-glass) !important;
  border-color: var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow) !important;
}

.pagina-gestao .gestao-secao-header {
  border-color: rgba(255, 255, 255, .62) !important;
}

.pagina-gestao .gestao-usuario,
.pagina-gestao .auditoria-item,
.pagina-gestao .gestao-legenda > div {
  background: rgba(255, 255, 255, .40) !important;
  border: 1px solid rgba(255, 255, 255, .64) !important;
  border-radius: var(--rv3-radius-md) !important;
  box-shadow: 0 5px 16px rgba(38, 59, 37, .05) !important;
}

.pagina-gestao .gestao-usuario:hover,
.pagina-gestao .auditoria-item:hover {
  background: rgba(255, 255, 255, .68) !important;
  border-color: var(--rv3-glass-border-strong) !important;
}

.pagina-gestao .gestao-role,
.pagina-gestao .gestao-eu,
.pagina-gestao .auditoria-acao {
  border: 1px solid rgba(255, 255, 255, .66) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34);
}

.pagina-gestao .auditoria-detalhes {
  background: rgba(255, 255, 255, .36) !important;
  border: 1px solid rgba(255, 255, 255, .60) !important;
  border-radius: var(--rv3-radius-sm) !important;
}

.pagina-gestao .gestao-usuario-controle select {
  background: rgba(255, 255, 255, .58) !important;
}

/* Documentos: arquivos claros, icones reconheciveis e filtros compactos. */
.pagina-documentos .documentos-toolbar,
.acervo-documentos-secao .acervo-documentos-lista {
  background: var(--rv3-glass-soft) !important;
  border: 1px solid var(--rv3-glass-border) !important;
  border-radius: var(--rv3-radius-md) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur-soft);
  backdrop-filter: var(--rv3-blur-soft);
}

.pagina-documentos .documentos-toolbar {
  padding: 12px !important;
}

.pagina-documentos .documentos-filtros button {
  background: rgba(255, 255, 255, .42) !important;
  border-color: rgba(255, 255, 255, .68) !important;
}

.pagina-documentos .documentos-filtros .documento-filtro-ativo {
  color: #fff !important;
  background: linear-gradient(135deg, var(--rv3-primary-strong), var(--rv3-primary-soft)) !important;
  border-color: rgba(255, 255, 255, .24) !important;
}

.pagina-documentos .documento-card,
.acervo-documentos-secao .acervo-documento-linha {
  background: var(--rv3-glass) !important;
  border-color: var(--rv3-glass-border) !important;
  box-shadow: var(--rv3-shadow-soft) !important;
  -webkit-backdrop-filter: var(--rv3-blur);
  backdrop-filter: var(--rv3-blur);
}

.pagina-documentos .documento-card-principal {
  background: transparent !important;
}

.pagina-documentos .documento-card-principal:hover,
.acervo-documentos-secao .acervo-documento-linha:hover {
  background: rgba(255, 255, 255, .58) !important;
  border-color: var(--rv3-glass-border-strong) !important;
}

.pagina-documentos .documento-icone,
.acervo-documentos-secao .documento-icone-lista,
.pagina-documentos .documento-arquivo-selecionado,
.acervo-documentos-secao .acervo-documento-categoria {
  background: rgba(255, 255, 255, .52) !important;
  border: 1px solid rgba(255, 255, 255, .70) !important;
}

.pagina-documentos .documento-baixar,
.pagina-documentos .documento-acoes .botao-acao,
.acervo-documentos-secao .acervo-documento-icone-acao {
  background: rgba(255, 255, 255, .48) !important;
  border-color: rgba(255, 255, 255, .68) !important;
}

/* Fallback seguro para WebViews sem suporte a blur. */
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .topbar,
  .desktop-sidebar,
  .menu-mobile-bottom,
  .card-apresentacao,
  .card-integrante,
  .financeiro-card,
  .gestao-secao,
  .documento-card,
  .modal,
  .minha-conta-redesenhada,
  .login form,
  .menu-mais-dropdown,
  .mobile-more-panel,
  .notificacoes-painel,
  .rv-fab-menu,
  .toast,
  .pagina-apresentacoes .apresentacoes-toolbar,
  .pagina-apresentacao-conteudo.ficha-editorial .ficha-resumo-top,
  .pagina-apresentacao-conteudo.ficha-editorial .ficha-details,
  .pagina-integrantes .integrantes-toolbar,
  .pagina-historia .historia-secao,
  .pagina-historia .historia-card,
  .pagina-tarefas .tarefas-toolbar,
  .pagina-tarefas .tarefa-item,
  .pagina-financeiro .financeiro-card,
  .pagina-financeiro .financeiro-item,
  .pagina-gestao .gestao-secao,
  .pagina-documentos .documentos-toolbar,
  .pagina-documentos .documento-card,
  .pagina-acervo .acervo-bloco,
  .pagina-acervo .acervo-tabs {
    background: var(--rv3-glass-solid) !important;
  }
}

@media (max-width: 900px) {
  .pagina-apresentacao-detalhe.apresentacao-workspace-root {
    padding-top: 64px !important;
  }

  .pagina-apresentacoes .apresentacoes-mobile-acoes {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .pagina-apresentacoes .apresentacoes-mobile-acoes > select {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 42px 0 16px !important;
    border: 1px solid var(--rv3-glass-border) !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 700px) {
  body { background-attachment: scroll !important; }

  .topbar,
  .menu-mobile-bottom {
    background: rgba(250, 249, 244, .82) !important;
  }

  .conteudo::before {
    right: -12rem;
    bottom: -12rem;
    width: 24rem;
    height: 24rem;
  }

  .card-apresentacao:hover,
  .card-integrante:hover,
  .financeiro-card:hover,
  .documento-card:hover {
    transform: none;
  }

}

@media (hover: none) {
  .card-apresentacao:hover,
  .card-integrante:hover,
  .financeiro-card:hover,
  .documento-card:hover {
    transform: none;
  }

  .rv-icon-button:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .topbar,
  .desktop-sidebar,
  .menu-mobile-bottom,
  .card-apresentacao,
  .card-integrante,
  .financeiro-card,
  .gestao-secao,
  .documento-card,
  .modal,
  .minha-conta-redesenhada,
  .login form,
  .menu-mais-dropdown,
  .mobile-more-panel,
  .notificacoes-painel,
  .rv-fab-menu,
  .toast {
    background: var(--rv3-glass-solid) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

@media (forced-colors: active) {
  .topbar,
  .desktop-sidebar,
  .menu-mobile-bottom,
  .card-apresentacao,
  .card-integrante,
  .financeiro-card,
  .gestao-secao,
  .documento-card,
  .modal {
    border: 1px solid CanvasText !important;
    box-shadow: none !important;
  }
}
