/* Comunidade Bless v49 — sistema visual definitivo: Claro Grafite / Escuro Grafite */

html[data-theme="claro"]{
  color-scheme:light;
  --v48-page:#cbd2d6;
  --v48-page-2:#c2c9cd;
  --v48-surface:#e2e6e8;
  --v48-surface-raised:#edf0f2;
  --v48-surface-soft:#d5dce0;
  --v48-surface-active:#c2ccd1;
  --v48-input:#f1f3f4;
  --v48-ink:#1d272d;
  --v48-muted:#5f6d75;
  --v48-faint:#7b888f;
  --v48-border:#9ca9b0;
  --v48-border-strong:#7f8d95;
  --v48-accent:#46535a;
  --v48-accent-hover:#39464c;
  --v48-accent-text:#f6f8f9;
  --v48-danger:#a84343;
  --v48-shadow:0 1px 2px rgba(18,28,34,.08),0 8px 22px rgba(18,28,34,.08);
  --v48-shadow-hover:0 2px 4px rgba(18,28,34,.10),0 13px 28px rgba(18,28,34,.12);
  --v48-header:rgba(226,230,232,.97);
}
html[data-theme="escuro"]{
  color-scheme:dark;
  --v48-page:#0e1418;
  --v48-page-2:#0a0f12;
  --v48-surface:#182126;
  --v48-surface-raised:#1d282e;
  --v48-surface-soft:#202c32;
  --v48-surface-active:#29373e;
  --v48-input:#202b31;
  --v48-ink:#eef3f6;
  --v48-muted:#a9b5bc;
  --v48-faint:#87959d;
  --v48-border:#334149;
  --v48-border-strong:#485861;
  --v48-accent:#cbd6dc;
  --v48-accent-hover:#e1e8ec;
  --v48-accent-text:#11181c;
  --v48-danger:#ef8b8b;
  --v48-shadow:0 1px 2px rgba(0,0,0,.45),0 10px 28px rgba(0,0,0,.24);
  --v48-shadow-hover:0 2px 4px rgba(0,0,0,.50),0 15px 34px rgba(0,0,0,.31);
  --v48-header:rgba(15,21,25,.96);
}

/* Map every legacy color variable to the two-mode system. */
html[data-theme="claro"],html[data-theme="escuro"]{
  --surface:var(--v48-surface);
  --surface-2:var(--v48-surface-raised);
  --paper:var(--v48-page);
  --ink:var(--v48-ink);
  --muted:var(--v48-muted);
  --line:var(--v48-border);
  --green:var(--v48-accent);
  --green-2:var(--v48-accent);
  --green-soft:var(--v48-surface-soft);
  --warm:var(--v48-accent);
  --danger:var(--v48-danger);
  --body-a:var(--v48-page);
  --body-b:var(--v48-page-2);
  --nav-bg:var(--v48-header);
  --nav-bg-2:var(--v48-header);
  --control-bg:var(--v48-input);
  --on-accent:var(--v48-accent-text);
}

html[data-theme="claro"] body,html[data-theme="escuro"] body{
  background:linear-gradient(180deg,var(--v48-page) 0%,var(--v48-page-2) 100%)!important;
  color:var(--v48-ink)!important;
}
html[data-theme="claro"] main,html[data-theme="escuro"] main{color:var(--v48-ink)!important}

/* Header / primary navigation */
html[data-theme="claro"] .topbar,html[data-theme="escuro"] .topbar{
  background:var(--v48-header)!important;
  border-bottom:1px solid var(--v48-border)!important;
  box-shadow:0 3px 14px rgba(0,0,0,.08)!important;
}
html[data-theme="claro"] .brand-logo-frame,html[data-theme="escuro"] .brand-logo-frame,
html[data-theme="claro"] .auth-logo-frame,html[data-theme="escuro"] .auth-logo-frame{
  background:var(--v48-surface-raised)!important;border:1px solid var(--v48-border)!important;box-shadow:none!important;
}
html[data-theme="claro"] .brand-copy h1,html[data-theme="escuro"] .brand-copy h1{color:var(--v48-ink)!important}
html[data-theme="claro"] .brand-copy .eyebrow,html[data-theme="escuro"] .brand-copy .eyebrow,
html[data-theme="claro"] .eyebrow,html[data-theme="escuro"] .eyebrow{color:var(--v48-muted)!important}
html[data-theme="claro"] .topbar .top-nav button,html[data-theme="escuro"] .topbar .top-nav button,
html[data-theme="claro"] .topbar .admin-shortcut,html[data-theme="escuro"] .topbar .admin-shortcut,
html[data-theme="claro"] .topbar .top-signout,html[data-theme="escuro"] .topbar .top-signout,
html[data-theme="claro"] .theme-toggle-btn,html[data-theme="escuro"] .theme-toggle-btn{
  background:var(--v48-surface-raised)!important;color:var(--v48-ink)!important;border:1px solid var(--v48-border)!important;box-shadow:none!important;
}
html[data-theme="claro"] .topbar .top-nav button:hover,html[data-theme="escuro"] .topbar .top-nav button:hover,
html[data-theme="claro"] .topbar .admin-shortcut:hover,html[data-theme="escuro"] .topbar .admin-shortcut:hover,
html[data-theme="claro"] .topbar .top-signout:hover,html[data-theme="escuro"] .topbar .top-signout:hover,
html[data-theme="claro"] .theme-toggle-btn:hover,html[data-theme="escuro"] .theme-toggle-btn:hover{
  background:var(--v48-surface-soft)!important;color:var(--v48-ink)!important;border-color:var(--v48-border-strong)!important;
}
html[data-theme="claro"] .topbar .top-nav button.active,html[data-theme="escuro"] .topbar .top-nav button.active{
  background:var(--v48-surface-active)!important;color:var(--v48-ink)!important;border-color:var(--v48-border-strong)!important;
}
html[data-theme="claro"] .topbar .admin-shortcut.active,html[data-theme="escuro"] .topbar .admin-shortcut.active{
  background:var(--v48-accent)!important;color:var(--v48-accent-text)!important;border-color:var(--v48-accent)!important;
}

/* Every main window must read as a window. */
html[data-theme="claro"] :is(.card,.post,.theme-card,dialog,.chat-panel,.conversation-list,.community-dashboard,.home-hero-panel,.admin-section,.profile),
html[data-theme="escuro"] :is(.card,.post,.theme-card,dialog,.chat-panel,.conversation-list,.community-dashboard,.home-hero-panel,.admin-section,.profile){
  background:var(--v48-surface)!important;color:var(--v48-ink)!important;border:1px solid var(--v48-border)!important;box-shadow:var(--v48-shadow)!important;
}
html[data-theme="claro"] :is(.card,.post,.theme-card,.admin-section,.profile):hover,
html[data-theme="escuro"] :is(.card,.post,.theme-card,.admin-section,.profile):hover{border-color:var(--v48-border-strong)!important}

/* Main navigation cards — explicitly override all legacy white hover rules. */
html[data-theme="claro"] .community-main-menu .quick,html[data-theme="escuro"] .community-main-menu .quick{
  background:var(--v48-surface)!important;color:var(--v48-ink)!important;border:1px solid var(--v48-border)!important;box-shadow:var(--v48-shadow)!important;outline:none!important;
}
html[data-theme="claro"] .community-main-menu .quick:hover,
html[data-theme="claro"] .community-main-menu .quick:focus-visible,
html[data-theme="escuro"] .community-main-menu .quick:hover,
html[data-theme="escuro"] .community-main-menu .quick:focus-visible{
  background:var(--v48-surface-soft)!important;color:var(--v48-ink)!important;border-color:var(--v48-border-strong)!important;box-shadow:var(--v48-shadow-hover)!important;outline:none!important;
}
html[data-theme="claro"] .community-main-menu .quick.filter-active,
html[data-theme="claro"] .community-main-menu .quick[aria-pressed="true"],
html[data-theme="escuro"] .community-main-menu .quick.filter-active,
html[data-theme="escuro"] .community-main-menu .quick[aria-pressed="true"]{
  background:var(--v48-surface-active)!important;color:var(--v48-ink)!important;border-color:var(--v48-border-strong)!important;box-shadow:var(--v48-shadow-hover)!important;
}
html[data-theme="claro"] .community-main-menu .quick b,html[data-theme="escuro"] .community-main-menu .quick b{color:var(--v48-ink)!important}
html[data-theme="claro"] .community-main-menu .quick span,html[data-theme="escuro"] .community-main-menu .quick span{color:var(--v48-muted)!important}
html[data-theme="claro"] .community-main-menu .quick.filter-active::after,
html[data-theme="claro"] .community-main-menu .quick[aria-pressed="true"]::after,
html[data-theme="escuro"] .community-main-menu .quick.filter-active::after,
html[data-theme="escuro"] .community-main-menu .quick[aria-pressed="true"]::after{background:var(--v48-accent)!important}

/* Dashboard metrics */
html[data-theme="claro"] .community-stats,html[data-theme="escuro"] .community-stats{background:transparent!important;border:0!important;gap:10px!important;overflow:visible!important}
html[data-theme="claro"] .community-stat,html[data-theme="escuro"] .community-stat{
  background:var(--v48-surface-raised)!important;color:var(--v48-ink)!important;border:1px solid var(--v48-border)!important;border-radius:11px!important;box-shadow:none!important;
}
html[data-theme="claro"] .community-stat:hover,html[data-theme="escuro"] .community-stat:hover{background:var(--v48-surface-soft)!important;border-color:var(--v48-border-strong)!important}
html[data-theme="claro"] .community-stat.selected,html[data-theme="escuro"] .community-stat.selected{background:var(--v48-surface-active)!important;border-color:var(--v48-border-strong)!important}
html[data-theme="claro"] .community-stat b,html[data-theme="escuro"] .community-stat b,
html[data-theme="claro"] .community-stat.selected b,html[data-theme="escuro"] .community-stat.selected b{color:var(--v48-ink)!important}
html[data-theme="claro"] .community-stat :is(span,small,strong),html[data-theme="escuro"] .community-stat :is(span,small,strong){color:var(--v48-muted)!important}

/* Hero */
html[data-theme="claro"] .home-hero-panel,html[data-theme="escuro"] .home-hero-panel{background:linear-gradient(135deg,var(--v48-surface),var(--v48-surface-raised))!important}
html[data-theme="claro"] .welcome h2,html[data-theme="escuro"] .welcome h2{color:var(--v48-ink)!important}
html[data-theme="claro"] .welcome p,html[data-theme="escuro"] .welcome p,
html[data-theme="claro"] .welcome .hero-note,html[data-theme="escuro"] .welcome .hero-note{color:var(--v48-muted)!important}
html[data-theme="claro"] .welcome .hero-note,html[data-theme="escuro"] .welcome .hero-note{font-weight:700!important}
html[data-theme="claro"] .building-visual,html[data-theme="escuro"] .building-visual{background:var(--v48-surface-soft)!important;border:1px solid var(--v48-border)!important;box-shadow:none!important}
html[data-theme="escuro"] .building-visual img{filter:saturate(.58) brightness(.72) contrast(1.02)!important}
html[data-theme="claro"] .building-visual img{filter:saturate(.72) contrast(.98)!important}

/* Buttons and form controls */
html[data-theme="claro"] :is(.primary,.admin-home-button),html[data-theme="escuro"] :is(.primary,.admin-home-button){background:var(--v48-accent)!important;color:var(--v48-accent-text)!important;border:1px solid var(--v48-accent)!important;box-shadow:none!important}
html[data-theme="claro"] :is(.primary,.admin-home-button):hover,html[data-theme="escuro"] :is(.primary,.admin-home-button):hover{background:var(--v48-accent-hover)!important;border-color:var(--v48-accent-hover)!important}
html[data-theme="claro"] :is(.secondary,.mini-btn),html[data-theme="escuro"] :is(.secondary,.mini-btn){background:var(--v48-surface-raised)!important;color:var(--v48-ink)!important;border:1px solid var(--v48-border)!important}
html[data-theme="claro"] :is(.secondary,.mini-btn):hover,html[data-theme="escuro"] :is(.secondary,.mini-btn):hover{background:var(--v48-surface-soft)!important;border-color:var(--v48-border-strong)!important}
html[data-theme="claro"] :is(.text-btn,.icon-btn),html[data-theme="escuro"] :is(.text-btn,.icon-btn){background:transparent!important;color:var(--v48-ink)!important;border:1px solid transparent!important}
html[data-theme="claro"] :is(.text-btn,.icon-btn):hover,html[data-theme="escuro"] :is(.text-btn,.icon-btn):hover{background:var(--v48-surface-soft)!important;border-color:var(--v48-border)!important}
html[data-theme="claro"] .danger,html[data-theme="escuro"] .danger{background:var(--v48-surface-raised)!important;color:var(--v48-danger)!important;border:1px solid color-mix(in srgb,var(--v48-danger) 36%,var(--v48-border))!important}
html[data-theme="claro"] :is(.form input,.form select,.form textarea,.admin-search,.admin-filters select,#feedSort,.profile input,.message-form input,.group-thread-form textarea),
html[data-theme="escuro"] :is(.form input,.form select,.form textarea,.admin-search,.admin-filters select,#feedSort,.profile input,.message-form input,.group-thread-form textarea){background:var(--v48-input)!important;color:var(--v48-ink)!important;border:1px solid var(--v48-border)!important;box-shadow:none!important}
html[data-theme="claro"] :is(.form input,.form select,.form textarea,.admin-search,.admin-filters select,#feedSort,.profile input,.message-form input,.group-thread-form textarea):focus,
html[data-theme="escuro"] :is(.form input,.form select,.form textarea,.admin-search,.admin-filters select,#feedSort,.profile input,.message-form input,.group-thread-form textarea):focus{border-color:var(--v48-border-strong)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--v48-accent) 12%,transparent)!important;outline:none!important}
html[data-theme="claro"] fieldset,html[data-theme="escuro"] fieldset{background:var(--v48-surface-raised)!important;color:var(--v48-ink)!important;border:1px solid var(--v48-border)!important;box-shadow:none!important}
html[data-theme="claro"] input[type="checkbox"],html[data-theme="escuro"] input[type="checkbox"]{accent-color:var(--v48-accent)!important}

/* Text hierarchy */
html[data-theme="claro"] :is(.hint,.post-meta,.post-contact,.conversation span,.feed-sort-label,.msg,.meta,.admin-nav-card span,.theme-card p),
html[data-theme="escuro"] :is(.hint,.post-meta,.post-contact,.conversation span,.feed-sort-label,.msg,.meta,.admin-nav-card span,.theme-card p){color:var(--v48-muted)!important}
html[data-theme="claro"] :is(.section-head h2,.section-head h3,.post h4,.admin-nav-card b,.theme-card b),
html[data-theme="escuro"] :is(.section-head h2,.section-head h3,.post h4,.admin-nav-card b,.theme-card b){color:var(--v48-ink)!important}

/* Chips / metrics / messages */
html[data-theme="claro"] :is(.badge,.category-chip,.owner-chip,.admin-role,.status-chip,.metric),
html[data-theme="escuro"] :is(.badge,.category-chip,.owner-chip,.admin-role,.status-chip,.metric){background:var(--v48-surface-soft)!important;color:var(--v48-ink)!important;border:1px solid var(--v48-border)!important;box-shadow:none!important}
html[data-theme="claro"] .conversation,html[data-theme="escuro"] .conversation{background:transparent!important;color:var(--v48-ink)!important;border:1px solid transparent!important}
html[data-theme="claro"] .conversation:hover,html[data-theme="escuro"] .conversation:hover{background:var(--v48-surface-soft)!important;border-color:var(--v48-border)!important}
html[data-theme="claro"] .bubble,html[data-theme="escuro"] .bubble{background:var(--v48-surface-raised)!important;color:var(--v48-ink)!important;border:1px solid var(--v48-border)!important}
html[data-theme="claro"] .bubble.mine,html[data-theme="escuro"] .bubble.mine{background:var(--v48-accent)!important;color:var(--v48-accent-text)!important;border-color:var(--v48-accent)!important}

/* Admin tabs and panels */
html[data-theme="claro"] .admin-nav-card,html[data-theme="escuro"] .admin-nav-card{background:var(--v48-surface)!important;color:var(--v48-ink)!important;border:1px solid var(--v48-border)!important;box-shadow:none!important}
html[data-theme="claro"] .admin-nav-card:hover,html[data-theme="escuro"] .admin-nav-card:hover{background:var(--v48-surface-soft)!important;border-color:var(--v48-border-strong)!important}
html[data-theme="claro"] .admin-nav-card.active,html[data-theme="escuro"] .admin-nav-card.active{background:var(--v48-surface-active)!important;border-color:var(--v48-border-strong)!important}
html[data-theme="claro"] .admin-metric,html[data-theme="escuro"] .admin-metric{background:var(--v48-surface-raised)!important;border:1px solid var(--v48-border)!important;color:var(--v48-ink)!important;box-shadow:none!important}
html[data-theme="claro"] .admin-metric b,html[data-theme="escuro"] .admin-metric b{color:var(--v48-ink)!important}

/* Dialogs / empty states / footer */
html[data-theme="claro"] dialog,html[data-theme="escuro"] dialog{background:var(--v48-surface)!important;color:var(--v48-ink)!important;border:1px solid var(--v48-border-strong)!important;box-shadow:var(--v48-shadow-hover)!important}
html[data-theme="claro"] dialog::backdrop,html[data-theme="escuro"] dialog::backdrop{background:rgba(4,8,11,.52)!important;backdrop-filter:blur(4px)}
html[data-theme="claro"] .empty,html[data-theme="escuro"] .empty{background:var(--v48-surface-raised)!important;color:var(--v48-muted)!important;border:1px dashed var(--v48-border-strong)!important}
html[data-theme="claro"] .app-footer,html[data-theme="escuro"] .app-footer{color:var(--v48-muted)!important}
html[data-theme="claro"] .footer-feedback,html[data-theme="escuro"] .footer-feedback{color:var(--v48-ink)!important}

/* Safety net: legacy dark-theme rules must never introduce white panels. */
html[data-theme="escuro"] :is(.quick,.community-stat,.admin-nav-card,.card,.post,.theme-card,.admin-section,.profile,.home-hero-panel,.community-dashboard,.chat-panel,.conversation-list){color:var(--v48-ink)!important}
html[data-theme="escuro"] :is(.quick,.community-stat,.admin-nav-card,.card,.post,.theme-card,.admin-section,.profile,.home-hero-panel,.community-dashboard,.chat-panel,.conversation-list):hover{color:var(--v48-ink)!important}
html[data-theme="escuro"] a,html[data-theme="escuro"] button{color:inherit}

@media(max-width:780px){
  html[data-theme="claro"] .topbar,html[data-theme="escuro"] .topbar{background:var(--v48-header)!important}
}


/* v49 — Privacidade padrão: switches funcionais e legíveis */
html[data-theme="claro"] .privacy-defaults,
html[data-theme="escuro"] .privacy-defaults{
  margin:4px 0 2px!important;
  padding:14px!important;
  border:1px solid var(--v48-border)!important;
  border-radius:14px!important;
  background:var(--v48-surface-raised)!important;
  box-shadow:none!important;
}
html[data-theme="claro"] .privacy-defaults legend,
html[data-theme="escuro"] .privacy-defaults legend{
  padding:0 7px!important;
  color:var(--v48-ink)!important;
  font-size:13px!important;
  font-weight:800!important;
}
html[data-theme="claro"] .privacy-defaults-intro,
html[data-theme="escuro"] .privacy-defaults-intro{
  margin:0 0 10px!important;
  color:var(--v48-muted)!important;
  font-size:12.5px!important;
  line-height:1.45!important;
}
html[data-theme="claro"] .privacy-toggle,
html[data-theme="escuro"] .privacy-toggle{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  margin:0!important;
  padding:12px 13px!important;
  border:1px solid var(--v48-border)!important;
  border-radius:11px!important;
  background:var(--v48-surface)!important;
  color:var(--v48-ink)!important;
  cursor:pointer!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
html[data-theme="claro"] .privacy-toggle+ .privacy-toggle,
html[data-theme="escuro"] .privacy-toggle+ .privacy-toggle{margin-top:8px!important}
html[data-theme="claro"] .privacy-toggle:hover,
html[data-theme="escuro"] .privacy-toggle:hover{
  border-color:var(--v48-border-strong)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.06)!important;
}
html[data-theme="claro"] .privacy-toggle.is-on,
html[data-theme="escuro"] .privacy-toggle.is-on{
  background:var(--v48-surface-soft)!important;
  border-color:var(--v48-border-strong)!important;
}
html[data-theme="claro"] .privacy-toggle-copy,
html[data-theme="escuro"] .privacy-toggle-copy{display:grid!important;gap:3px!important;min-width:0!important}
html[data-theme="claro"] .privacy-toggle-copy b,
html[data-theme="escuro"] .privacy-toggle-copy b{color:var(--v48-ink)!important;font-size:13px!important;line-height:1.25!important}
html[data-theme="claro"] .privacy-toggle-copy small,
html[data-theme="escuro"] .privacy-toggle-copy small{color:var(--v48-muted)!important;font-size:11.5px!important;line-height:1.35!important;font-weight:500!important}
html[data-theme="claro"] .privacy-toggle-control,
html[data-theme="escuro"] .privacy-toggle-control{display:flex!important;align-items:center!important;gap:8px!important;min-width:108px!important;justify-content:flex-end!important}
html[data-theme="claro"] .profile .privacy-toggle input[type="checkbox"][data-privacy-default],
html[data-theme="escuro"] .profile .privacy-toggle input[type="checkbox"][data-privacy-default]{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  min-width:1px!important;
  height:1px!important;
  min-height:1px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  pointer-events:none!important;
}
html[data-theme="claro"] .privacy-switch,
html[data-theme="escuro"] .privacy-switch{
  position:relative!important;
  width:42px!important;
  min-width:42px!important;
  height:24px!important;
  border-radius:999px!important;
  background:var(--v48-surface-active)!important;
  border:1px solid var(--v48-border-strong)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.08)!important;
  transition:background .16s ease,border-color .16s ease!important;
}
html[data-theme="claro"] .privacy-switch>span,
html[data-theme="escuro"] .privacy-switch>span{
  position:absolute!important;
  top:3px!important;
  left:3px!important;
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  background:var(--v48-surface)!important;
  border:1px solid var(--v48-border)!important;
  box-shadow:0 1px 3px rgba(0,0,0,.16)!important;
  transition:transform .16s ease,background .16s ease!important;
}
html[data-theme="claro"] .privacy-toggle input:checked + .privacy-switch,
html[data-theme="escuro"] .privacy-toggle input:checked + .privacy-switch{
  background:var(--v48-accent)!important;
  border-color:var(--v48-accent)!important;
}
html[data-theme="claro"] .privacy-toggle input:checked + .privacy-switch>span,
html[data-theme="escuro"] .privacy-toggle input:checked + .privacy-switch>span{
  transform:translateX(18px)!important;
  background:var(--v48-accent-text)!important;
  border-color:transparent!important;
}
html[data-theme="claro"] .privacy-toggle input:focus-visible + .privacy-switch,
html[data-theme="escuro"] .privacy-toggle input:focus-visible + .privacy-switch{
  outline:3px solid color-mix(in srgb,var(--v48-accent) 24%,transparent)!important;
  outline-offset:2px!important;
}
html[data-theme="claro"] .privacy-state,
html[data-theme="escuro"] .privacy-state{
  width:57px!important;
  text-align:right!important;
  color:var(--v48-muted)!important;
  font-size:10.5px!important;
  font-weight:750!important;
}
html[data-theme="claro"] .privacy-toggle.is-on .privacy-state,
html[data-theme="escuro"] .privacy-toggle.is-on .privacy-state{color:var(--v48-ink)!important}
.privacy-defaults-status,.profile-form-status{min-height:18px!important;margin:9px 0 0!important;font-size:11.5px!important;line-height:1.35!important}
html[data-theme="claro"] :is(.privacy-defaults-status,.profile-form-status),
html[data-theme="escuro"] :is(.privacy-defaults-status,.profile-form-status){color:var(--v48-muted)!important}
html[data-theme="claro"] :is(.privacy-defaults-status,.profile-form-status)[data-state="saved"],
html[data-theme="escuro"] :is(.privacy-defaults-status,.profile-form-status)[data-state="saved"]{color:#4f8062!important}
html[data-theme="claro"] :is(.privacy-defaults-status,.profile-form-status)[data-state="error"],
html[data-theme="escuro"] :is(.privacy-defaults-status,.profile-form-status)[data-state="error"]{color:var(--v48-danger)!important}
@media(max-width:560px){
  html[data-theme="claro"] .privacy-toggle,
  html[data-theme="escuro"] .privacy-toggle{grid-template-columns:1fr!important;gap:9px!important}
  html[data-theme="claro"] .privacy-toggle-control,
  html[data-theme="escuro"] .privacy-toggle-control{justify-content:flex-start!important;min-width:0!important}
  html[data-theme="claro"] .privacy-state,
  html[data-theme="escuro"] .privacy-state{text-align:left!important}
}


/* =========================================================
   v50 — controles de privacidade isolados do CSS de inputs
   ========================================================= */
html[data-theme="claro"] .privacy-defaults,
html[data-theme="escuro"] .privacy-defaults{
  padding:14px 15px 15px!important;
  border:1px solid var(--v48-border)!important;
  border-radius:14px!important;
  background:var(--v48-surface-raised)!important;
  box-shadow:none!important;
}
html[data-theme="claro"] .privacy-defaults legend,
html[data-theme="escuro"] .privacy-defaults legend{
  padding:0 7px!important;
  color:var(--v48-ink)!important;
  font-size:13px!important;
  font-weight:800!important;
}
html[data-theme="claro"] .privacy-defaults-intro,
html[data-theme="escuro"] .privacy-defaults-intro{
  margin:1px 0 11px!important;
  color:var(--v48-muted)!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.privacy-native[hidden]{display:none!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important}
.privacy-switch-list{display:grid!important;gap:8px!important}
html[data-theme="claro"] .privacy-choice,
html[data-theme="escuro"] .privacy-choice{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  margin:0!important;
  padding:11px 13px!important;
  border:1px solid var(--v48-border)!important;
  border-radius:11px!important;
  background:var(--v48-surface)!important;
  color:var(--v48-ink)!important;
  text-align:left!important;
  font:inherit!important;
  cursor:pointer!important;
  box-shadow:none!important;
  transform:none!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
html[data-theme="claro"] .privacy-choice:hover,
html[data-theme="escuro"] .privacy-choice:hover{
  background:var(--v48-surface-soft)!important;
  border-color:var(--v48-border-strong)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.06)!important;
}
html[data-theme="claro"] .privacy-choice:focus-visible,
html[data-theme="escuro"] .privacy-choice:focus-visible{
  outline:3px solid color-mix(in srgb,var(--v48-accent) 24%,transparent)!important;
  outline-offset:2px!important;
}
html[data-theme="claro"] .privacy-choice.is-on,
html[data-theme="escuro"] .privacy-choice.is-on{
  background:var(--v48-surface-soft)!important;
  border-color:var(--v48-border-strong)!important;
}
.privacy-toggle-copy{display:grid!important;gap:3px!important;min-width:0!important}
html[data-theme="claro"] .privacy-toggle-copy b,
html[data-theme="escuro"] .privacy-toggle-copy b{
  color:var(--v48-ink)!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
html[data-theme="claro"] .privacy-toggle-copy small,
html[data-theme="escuro"] .privacy-toggle-copy small{
  color:var(--v48-muted)!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  font-weight:500!important;
}
.privacy-choice-control{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:9px!important;min-width:112px!important}
html[data-theme="claro"] .privacy-track,
html[data-theme="escuro"] .privacy-track{
  position:relative!important;
  display:block!important;
  width:46px!important;
  min-width:46px!important;
  height:26px!important;
  min-height:26px!important;
  border-radius:999px!important;
  background:var(--v48-surface-active)!important;
  border:1px solid var(--v48-border-strong)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.10)!important;
  transition:background .16s ease,border-color .16s ease!important;
}
html[data-theme="claro"] .privacy-knob,
html[data-theme="escuro"] .privacy-knob{
  position:absolute!important;
  display:block!important;
  top:3px!important;
  left:3px!important;
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  background:var(--v48-surface)!important;
  border:1px solid var(--v48-border)!important;
  box-shadow:0 1px 3px rgba(0,0,0,.18)!important;
  transform:translateX(0)!important;
  transition:transform .16s ease,background .16s ease!important;
}
html[data-theme="claro"] .privacy-choice.is-on .privacy-track,
html[data-theme="escuro"] .privacy-choice.is-on .privacy-track{
  background:var(--v48-accent)!important;
  border-color:var(--v48-accent)!important;
}
html[data-theme="claro"] .privacy-choice.is-on .privacy-knob,
html[data-theme="escuro"] .privacy-choice.is-on .privacy-knob{
  transform:translateX(20px)!important;
  background:var(--v48-accent-text)!important;
  border-color:transparent!important;
}
html[data-theme="claro"] .privacy-state,
html[data-theme="escuro"] .privacy-state{
  width:58px!important;
  color:var(--v48-muted)!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:800!important;
  text-align:right!important;
}
html[data-theme="claro"] .privacy-choice.is-on .privacy-state,
html[data-theme="escuro"] .privacy-choice.is-on .privacy-state{color:var(--v48-ink)!important}
@media(max-width:560px){
  html[data-theme="claro"] .privacy-choice,
  html[data-theme="escuro"] .privacy-choice{gap:12px!important;padding:11px!important}
  .privacy-choice-control{min-width:104px!important;gap:7px!important}
  html[data-theme="claro"] .privacy-toggle-copy small,
  html[data-theme="escuro"] .privacy-toggle-copy small{font-size:11px!important}
}


/* =========================================================
   v51 — auth shell hardening: nenhum recurso privado sem sessão
   ========================================================= */
#topNav.hidden,
#adminNav.hidden,
#signoutBtn.hidden,
#appFooter.hidden{display:none!important}

html:not([data-auth-state="authenticated"]) #topNav,
html:not([data-auth-state="authenticated"]) #adminNav,
html:not([data-auth-state="authenticated"]) #signoutBtn,
html:not([data-auth-state="authenticated"]) #appFooter{display:none!important;visibility:hidden!important;pointer-events:none!important}

html:not([data-auth-state="authenticated"]) #homeView,
html:not([data-auth-state="authenticated"]) #messagesView,
html:not([data-auth-state="authenticated"]) #profileView,
html:not([data-auth-state="authenticated"]) #adminView{display:none!important;visibility:hidden!important;pointer-events:none!important}

html[data-auth-state="guest"] #authView,
html[data-auth-state="checking"] #authView{visibility:visible!important}

html[data-auth-state="guest"] .topbar #topNav,
html[data-auth-state="checking"] .topbar #topNav{display:none!important}


/* =========================================================
   v52 — switches de publicação, aceite seguro e alertas reversíveis
   ========================================================= */
/* Inputs nativos auxiliares nunca podem herdar altura/largura dos campos de formulário. */
.form .privacy-native[hidden],
.profile .privacy-native[hidden]{
  display:none!important;width:0!important;min-width:0!important;height:0!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;
}
/* Switches de nova publicação e edição usam exatamente o mesmo componente visual do perfil. */
.post-privacy-defaults{padding:14px 15px 15px!important;border-radius:14px!important}
.post-privacy-defaults .privacy-defaults-intro{margin:1px 0 11px!important}
.post-privacy-choice{min-height:58px!important}
/* Checkbox legal: override completo do CSS genérico de .form input. */
.form .signup-legal-check input[type="checkbox"],
.form .legal-check input[type="checkbox"]{
  appearance:none!important;-webkit-appearance:none!important;
  width:21px!important;min-width:21px!important;max-width:21px!important;
  height:21px!important;min-height:21px!important;max-height:21px!important;
  margin:1px 9px 0 0!important;padding:0!important;
  border:2px solid var(--v48-border-strong)!important;border-radius:6px!important;
  background:var(--v48-input)!important;display:grid!important;place-content:center!important;
  box-shadow:none!important;flex:0 0 21px!important;
}
.form .signup-legal-check input[type="checkbox"]::before,
.form .legal-check input[type="checkbox"]::before{
  content:""!important;width:11px!important;height:11px!important;transform:scale(0)!important;
  box-shadow:inset 1em 1em var(--v48-accent-text)!important;
  clip-path:polygon(14% 44%,0 59%,40% 100%,100% 20%,84% 6%,39% 70%)!important;
}
.form .signup-legal-check input[type="checkbox"]:checked,
.form .legal-check input[type="checkbox"]:checked{background:var(--v48-accent)!important;border-color:var(--v48-accent)!important}
.form .signup-legal-check input[type="checkbox"]:checked::before,
.form .legal-check input[type="checkbox"]:checked::before{transform:scale(1)!important}
.form .signup-legal-check input[type="checkbox"]:disabled,
.form .legal-check input[type="checkbox"]:disabled{opacity:.55!important;cursor:not-allowed!important}
/* O botão de cadastro deve parecer e permanecer indisponível até TODOS os requisitos estarem satisfeitos. */
#submitSignupBtn:disabled,
#submitSignupBtn[aria-disabled="true"]{
  background:var(--v48-surface-active)!important;color:var(--v48-muted)!important;
  border-color:var(--v48-border)!important;opacity:.62!important;cursor:not-allowed!important;
  pointer-events:none!important;box-shadow:none!important;
}
#submitSignupBtn:not(:disabled){opacity:1!important;cursor:pointer!important}
/* Alertas: switch compacto, reversível no nível do portal. */
.notification-choice{
  appearance:none!important;-webkit-appearance:none!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  min-height:38px!important;padding:5px 8px 5px 10px!important;
  border:1px solid var(--v48-border)!important;border-radius:10px!important;
  background:var(--v48-surface-raised)!important;color:var(--v48-ink)!important;
  font:inherit!important;cursor:pointer!important;box-shadow:none!important;
}
.notification-choice:hover{background:var(--v48-surface-soft)!important;border-color:var(--v48-border-strong)!important}
.notification-choice.is-on{background:var(--v48-surface-active)!important;border-color:var(--v48-border-strong)!important}
.notification-choice.is-blocked{opacity:.78!important}
.notification-choice-copy{display:grid!important;gap:1px!important;text-align:left!important;line-height:1.05!important}
.notification-choice-copy b{font-size:11.5px!important;color:var(--v48-ink)!important}
.notification-choice-copy small{font-size:9.5px!important;color:var(--v48-muted)!important;font-weight:600!important;white-space:nowrap!important}
.notification-choice .privacy-choice-control{min-width:auto!important;gap:7px!important}
.notification-choice .privacy-track{width:40px!important;min-width:40px!important;height:22px!important;min-height:22px!important}
.notification-choice .privacy-knob{width:16px!important;height:16px!important;top:2px!important;left:2px!important}
.notification-choice.is-on .privacy-track{background:var(--v48-accent)!important;border-color:var(--v48-accent)!important}
.notification-choice.is-on .privacy-knob{transform:translateX(18px)!important;background:var(--v48-accent-text)!important;border-color:transparent!important}
.notification-choice .privacy-state{width:55px!important}
@media(max-width:620px){
  .messages-head-actions{width:100%!important;justify-content:space-between!important}
  .notification-choice-copy small{white-space:normal!important}
  .notification-choice .privacy-state{display:none!important}
}


/* =========================================================
   v53 — aceite legal robusto + mensagens internas + som opcional
   ========================================================= */
#messagesUnreadBadge.nav-unread-badge{
  display:inline-grid!important;
  place-items:center!important;
  min-width:19px!important;
  height:19px!important;
  padding:0 5px!important;
  margin-left:2px!important;
  border-radius:999px!important;
  background:#d93434!important;
  color:#fff!important;
  border:2px solid var(--v48-surface-raised)!important;
  box-shadow:0 2px 6px rgba(217,52,52,.28)!important;
  font-size:10.5px!important;
  font-weight:900!important;
  line-height:1!important;
}
#messagesUnreadBadge.hidden{display:none!important}
.messages-nav-btn.has-unread{border-color:color-mix(in srgb,#d93434 42%,var(--v48-border))!important}
.notification-choice{min-width:190px!important}
.notification-choice.is-on .privacy-track{background:var(--v48-accent)!important;border-color:var(--v48-accent)!important}
.notification-choice.is-on .privacy-knob{transform:translateX(18px)!important;background:var(--v48-accent-text)!important;border-color:transparent!important}
.legal-end-marker{height:2px!important;width:100%!important;display:block!important;pointer-events:none!important}
.signup-legal-check input[type="checkbox"]:disabled{opacity:.55!important;cursor:not-allowed!important}
.signup-legal-check input[type="checkbox"]:not(:disabled){cursor:pointer!important}
@media(max-width:640px){.notification-choice{min-width:0!important}.messages-head-actions{flex-wrap:wrap!important}}


/* v54 — Mensagens na dashboard */
html[data-theme="claro"] .community-stats,
html[data-theme="escuro"] .community-stats{grid-template-columns:repeat(6,minmax(0,1fr))!important}
html[data-theme="claro"] .dashboard-messages-stat,
html[data-theme="escuro"] .dashboard-messages-stat{position:relative!important}
html[data-theme="claro"] .dashboard-messages-stat.has-unread,
html[data-theme="escuro"] .dashboard-messages-stat.has-unread{border-color:#c64d55!important;box-shadow:0 0 0 1px color-mix(in srgb,#c64d55 28%,transparent)!important}
html[data-theme="claro"] .dashboard-messages-stat.has-unread::after,
html[data-theme="escuro"] .dashboard-messages-stat.has-unread::after{content:"";position:absolute;top:10px;right:10px;width:8px;height:8px;border-radius:999px;background:#d64545;box-shadow:0 0 0 3px color-mix(in srgb,#d64545 14%,transparent)}
html[data-theme="claro"] .dashboard-messages-stat.has-unread b,
html[data-theme="escuro"] .dashboard-messages-stat.has-unread b{color:#c53f48!important}
@media(max-width:1040px){html[data-theme="claro"] .community-stats,html[data-theme="escuro"] .community-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:780px){html[data-theme="claro"] .community-stats,html[data-theme="escuro"] .community-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){html[data-theme="claro"] .community-stats,html[data-theme="escuro"] .community-stats{grid-template-columns:1fr!important}}


/* =========================================================
   v55 — revisão de UX, acessibilidade e hardening visual
   ========================================================= */
.ui-message-error{color:#a43d3d!important}
.ui-message-ok{color:#2f6a4e!important}
html[data-theme="escuro"] .ui-message-error{color:#ff9b9b!important}
html[data-theme="escuro"] .ui-message-ok{color:#8fd0a9!important}

/* Aceite legal usa o mesmo padrão de switch do portal e não depende mais de checkbox clicável. */
.legal-native[hidden]{display:none!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important}
html[data-theme="claro"] .legal-accept-choice,
html[data-theme="escuro"] .legal-accept-choice{
  appearance:none!important;-webkit-appearance:none!important;width:100%!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;
  padding:11px 12px!important;margin:0!important;border:1px solid var(--v48-border)!important;border-radius:11px!important;
  background:var(--v48-surface)!important;color:var(--v48-ink)!important;text-align:left!important;font:inherit!important;cursor:pointer!important;
  box-shadow:none!important;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease!important;
}
html[data-theme="claro"] .legal-accept-choice:hover,
html[data-theme="escuro"] .legal-accept-choice:hover{background:var(--v48-surface-soft)!important;border-color:var(--v48-border-strong)!important}
html[data-theme="claro"] .legal-accept-choice:focus-visible,
html[data-theme="escuro"] .legal-accept-choice:focus-visible{outline:3px solid color-mix(in srgb,var(--v48-accent) 24%,transparent)!important;outline-offset:2px!important}
.legal-accept-copy{display:grid!important;gap:3px!important;min-width:0!important}
.legal-accept-copy b{font-size:12.5px!important;line-height:1.35!important;color:var(--v48-ink)!important}
.legal-accept-copy small{font-size:11px!important;line-height:1.35!important;color:var(--v48-muted)!important;font-weight:500!important}
.legal-accept-control{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;min-width:116px!important}
.legal-accept-choice:not(.is-ready) .privacy-track{opacity:.55!important}
.legal-accept-choice:not(.is-ready) .privacy-state{color:var(--v48-faint)!important}
.legal-accept-choice.is-on{background:var(--v48-surface-soft)!important;border-color:var(--v48-border-strong)!important}
.legal-accept-choice.is-on .privacy-track{background:var(--v48-accent)!important;border-color:var(--v48-accent)!important}
.legal-accept-choice.is-on .privacy-knob{transform:translateX(20px)!important;background:var(--v48-accent-text)!important;border-color:transparent!important}
.legal-accept-choice.is-on .privacy-state{color:var(--v48-ink)!important}

/* O texto explicativo de privacidade fica dentro do bloco, separado do último switch. */
#postInteractionHint,#editInteractionHint{
  position:static!important;display:block!important;margin:11px 1px 0!important;padding:10px 2px 0!important;
  border-top:1px solid var(--v48-border)!important;line-height:1.45!important;min-height:0!important;overflow:visible!important;
}
.post-privacy-defaults{padding-bottom:14px!important;overflow:visible!important}
.post-privacy-defaults .privacy-switch-list{margin-bottom:0!important}

/* Consistência de formulários e diálogos. */
dialog .form{min-width:0!important}
dialog .form>fieldset,dialog .form>section{min-width:0!important}
.signup-legal-block{overflow:visible!important}
.signup-legal-scroll{overscroll-behavior:contain!important}
#signupLegalStatus{line-height:1.35!important}
#submitSignupBtn:disabled{filter:none!important}

@media(max-width:560px){
  html[data-theme="claro"] .legal-accept-choice,
  html[data-theme="escuro"] .legal-accept-choice{grid-template-columns:1fr!important;gap:9px!important}
  .legal-accept-control{justify-content:flex-start!important;min-width:0!important}
}


/* =========================================================
   v56 — mobile: leitura dos anúncios + instalação PWA
   ========================================================= */
.footer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.install-app-btn{
  display:none;
  min-height:34px;padding:7px 11px;border-radius:9px;
  border:1px solid var(--v48-border);background:var(--v48-surface-raised);color:var(--v48-ink);
  font:inherit;font-size:12px;font-weight:800;cursor:pointer;
}
.install-app-btn:hover{background:var(--v48-surface-soft);border-color:var(--v48-border-strong)}
.install-app-dialog-content{max-width:440px!important}
#installAppDialog .hint{margin:0!important;line-height:1.55!important;font-size:13px!important}

/* Título e descrição precisam ocupar linhas independentes em qualquer card. */
.post>h4{display:block!important;position:static!important;clear:both!important;overflow-wrap:anywhere!important}
.post>p{display:block!important;position:static!important;clear:both!important;overflow-wrap:anywhere!important;white-space:normal!important}

@media(max-width:780px){
  .post{overflow:visible!important}
  .post>h4{font-size:16px!important;line-height:1.35!important;margin:9px 0 10px!important;padding:0!important;min-height:0!important}
  .post>p{font-size:13px!important;line-height:1.55!important;margin:0 0 12px!important;padding:0!important;min-height:0!important}
  .post .badge,.post .category-chip,.post .owner-chip{vertical-align:middle!important;margin-bottom:2px!important}
  .post .price{display:inline-block!important;vertical-align:middle!important;margin:2px 0!important}
  .app-footer{gap:12px!important}
  .footer-actions{width:100%!important}
  .install-app-btn:not(.hidden){display:inline-flex!important;align-items:center!important;justify-content:center!important}
}
@media(min-width:781px){.install-app-btn{display:none!important}}


/* v57 — botão Início no mobile */
.mobile-home-nav-btn{display:none!important}
@media(max-width:780px){.mobile-home-nav-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important}}

/* =========================================================
   v58 — navegação mobile com aparência de aplicativo
   ========================================================= */
@media(max-width:780px){
  html[data-theme="claro"] .topbar,
  html[data-theme="escuro"] .topbar{
    padding-top:env(safe-area-inset-top)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }
  .topbar-shell{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    padding:8px 12px 9px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-areas:"brand admin signout" "nav nav nav"!important;
    align-items:center!important;
    gap:8px 7px!important;
  }
  .brand-home-button{
    grid-area:brand!important;
    min-width:0!important;
    width:auto!important;
    margin:0!important;
    gap:9px!important;
    justify-self:start!important;
  }
  .brand-logo-frame{
    width:43px!important;
    height:43px!important;
    min-width:43px!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  .brand-logo-frame img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .brand-copy{min-width:0!important;line-height:1.1!important}
  .brand-copy .eyebrow{font-size:8.5px!important;letter-spacing:.16em!important;white-space:nowrap!important}
  .brand-copy h1{
    margin:3px 0 0!important;
    font-size:14px!important;
    line-height:1.14!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:190px!important;
  }
  .admin-shortcut{grid-area:admin!important;justify-self:end!important}
  .top-signout{grid-area:signout!important;justify-self:end!important}
  .topbar .admin-shortcut,.topbar .top-signout{
    min-height:34px!important;
    padding:7px 9px!important;
    border-radius:10px!important;
    font-size:11px!important;
    line-height:1!important;
  }
  .top-nav{
    grid-area:nav!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:6px 0 0!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    overflow:visible!important;
    border-top:1px solid var(--v48-border)!important;
  }
  .topbar .top-nav button{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    padding:7px 5px!important;
    border-radius:11px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    text-align:center!important;
    font-size:11.5px!important;
    font-weight:800!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  html[data-theme="claro"] .topbar .top-nav button,
  html[data-theme="escuro"] .topbar .top-nav button{
    background:var(--v48-surface-raised)!important;
    border:1px solid var(--v48-border)!important;
    color:var(--v48-ink)!important;
    box-shadow:none!important;
  }
  html[data-theme="claro"] .topbar .top-nav button.active,
  html[data-theme="escuro"] .topbar .top-nav button.active{
    background:var(--v48-surface-active)!important;
    border-color:var(--v48-border-strong)!important;
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--v48-border-strong) 32%,transparent)!important;
  }
  .messages-nav-btn{position:relative!important}
  #messagesUnreadBadge.nav-unread-badge{
    min-width:18px!important;
    height:18px!important;
    padding:0 5px!important;
    font-size:10px!important;
    border-width:1px!important;
  }
  main{padding-top:16px!important}
}
@media(max-width:420px){
  .topbar-shell{padding-left:9px!important;padding-right:9px!important;gap:7px 5px!important}
  .brand-logo-frame{width:39px!important;height:39px!important;min-width:39px!important}
  .brand-copy h1{font-size:13px!important;max-width:150px!important}
  .brand-copy .eyebrow{font-size:8px!important}
  .topbar .admin-shortcut,.topbar .top-signout{padding:6px 7px!important;font-size:10.5px!important;min-height:32px!important}
  .topbar .top-nav button{min-height:40px!important;padding:6px 3px!important;font-size:10.8px!important}
}

/* v59 — Preferência de notificação de novas mensagens por e-mail */
html[data-theme="claro"] .profile-notifications,
html[data-theme="escuro"] .profile-notifications{
  margin:4px 0 2px!important;
  padding:14px!important;
  border:1px solid var(--v48-border)!important;
  border-radius:14px!important;
  background:var(--v48-surface-raised)!important;
  box-shadow:none!important;
}
html[data-theme="claro"] .profile-notifications legend,
html[data-theme="escuro"] .profile-notifications legend{
  padding:0 7px!important;
  color:var(--v48-ink)!important;
  font-size:13px!important;
  font-weight:800!important;
}
.profile-notification-choice{width:100%!important;text-align:left!important}
.profile-notification-choice:disabled{opacity:.68!important;cursor:wait!important}


/* =========================================================
   v64 — auditoria responsiva e correções de robustez visual
   ========================================================= */
.admin-label-mobile{display:none}

/* Diálogos: nenhum formulário pode expandir além da janela. */
dialog,
dialog .form,
dialog .form > *,
dialog .section-head,
dialog fieldset,
dialog section,
dialog label,
dialog input,
dialog select,
dialog textarea{
  min-width:0!important;
  max-width:100%!important;
}
dialog .form{width:100%!important}
dialog input:not([type="checkbox"]):not([type="radio"]),
dialog select,
dialog textarea{width:100%!important}
dialog input[type="file"]{width:100%!important;max-width:100%!important;overflow:hidden!important}
dialog h1,dialog h2,dialog h3,dialog p,dialog label,dialog legend,dialog code{overflow-wrap:anywhere!important;word-break:normal!important}
.mfa-secret{max-width:100%!important;white-space:normal!important;word-break:break-all!important;overflow-wrap:anywhere!important}
.mfa-qr-wrap,.mfa-qr{max-width:100%!important}

@media(max-width:520px){
  dialog{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    margin:auto!important;
    padding:14px!important;
    border-radius:14px!important;
    overflow-x:hidden!important;
  }
  dialog .form{gap:10px!important}
  dialog .section-head{gap:8px!important;align-items:flex-start!important}
  dialog .section-head h2{font-size:22px!important;line-height:1.15!important;margin:0!important}
  #postDialog .privacy-choice,
  #editPostDialog .privacy-choice{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:10px!important}
  #postDialog .privacy-choice-control,
  #editPostDialog .privacy-choice-control{min-width:100px!important}
}

/* Cabeçalho mobile: administração compacta sem colidir com a marca. */
@media(max-width:520px){
  .admin-label-full{display:none!important}
  .admin-label-mobile{display:inline!important}
  #adminNav{max-width:58px!important;white-space:nowrap!important}
}
@media(max-width:360px){
  .brand-copy h1{max-width:132px!important}
  .brand-home-button{gap:7px!important}
  .topbar .admin-shortcut,.topbar .top-signout{padding:6px!important}
}

/* Cabeçalho da área de mensagens: empilha ações em telas estreitas. */
@media(max-width:640px){
  #messagesView>.section-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:8px!important;
  }
  #messagesView>.section-head h2{margin:0!important}
  .messages-head-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .messages-head-actions .notification-choice{width:100%!important;min-width:0!important}
  #refreshMessagesBtn{min-height:40px!important;align-self:stretch!important}
}
@media(max-width:340px){
  .messages-head-actions{grid-template-columns:1fr!important}
  #refreshMessagesBtn{width:100%!important}
}

/* v64.1 — refinamento final após inspeção visual em 320 px */
.admin-shortcut::before{content:none!important;display:none!important}
@media(max-width:360px){
  #postDialog .privacy-choice,
  #editPostDialog .privacy-choice,
  #profileView .privacy-choice{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #postDialog .privacy-choice-control,
  #editPostDialog .privacy-choice-control,
  #profileView .privacy-choice-control{
    justify-content:flex-start!important;
    min-width:0!important;
  }
  .messages-head-actions{grid-template-columns:minmax(0,1fr) auto!important}
  #refreshMessagesBtn{width:auto!important}
}

/* V64 — agrupamento de configurações com os controles existentes */
.settings-tabs{display:flex;gap:10px;margin-bottom:16px}
.settings-tabs [role="tab"]{flex:1;min-width:0}
#profileView [role="tabpanel"][hidden]{display:none!important}
.settings-delete-account{margin-top:20px}
#settingsAdjustmentsPanel .profile-notifications{margin-top:0!important}
#settingsAdjustmentsPanel #messageSoundToggleBtn{margin-top:12px}

/* V64 — mesma apresentação das abas de Configurações */
#messagesView [role="tabpanel"][hidden]{display:none!important}
.activity-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#c43636!important;color:#fff!important;font-size:11px;line-height:1;vertical-align:middle}
.activity-unread-badge.hidden{display:none!important}
.top-nav button[data-view="messagesView"]{white-space:normal!important;line-height:1.2!important}
#chatPanel{scroll-margin-top:16px}
