/* Comunidade Bless v48 — 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}
}
