/* =====================================================================
   MigraSpace — Identidade visual 2026
   ---------------------------------------------------------------------
   Azul Vivo · Verde Lima · Branco Frio · Navy · Mona Sans

   Primária   #075FE8   escura #0447B7   tint #EAF3FF   linha #BFD7FF
   Destaque   #92FF34   suave  #E9FFF0
   Ink        #07134A   texto  #16204A   muted #667399
   Superfície #F7FAFF   card   #FFFFFF   linha #DCE8FF

   Regra de ouro: o verde lima (#92FF34) só recebe texto navy (#07134A).
   Nunca texto branco sobre verde lima.

   Carregue ESTE ficheiro DEPOIS de style.css (ver partials/head.php).
   ===================================================================== */

/* ---- 1. Núcleo de tokens (paleta base do style.css) ---- */
:root{
  /* Primária = Azul Vivo */
  --blue:var(--ms-ui-accent);
  --blue-2:var(--ms-ui-accent);
  --blue-3:var(--ms-ui-accent);
  --blue-4:var(--ms-150);
  --coral:var(--ms-ui-accent);
  --coral-dk:var(--ms-ui-accent);

  /* Estrutura / Ink = Navy */
  --navy:var(--ms-1000);
  --ink:var(--ms-950);
  --text:var(--ms-1000);
  --muted:var(--ms-600);

  /* Neutros — Branco frio */
  --line:var(--ms-200);
  --line-2:var(--ms-100);
  --soft:var(--ms-50);
  --soft-2:var(--ms-150);
  --white:var(--ms-0);
  --sand:var(--ms-50);

  /* Apoio */
  --green:var(--ms-100);
  --purple:var(--ms-ui-accent);
  --teal:var(--ms-ui-accent);
  --teal-dk:var(--ms-1000);
  --teal-tint:var(--ms-50);

  /* Sombras (frias, tom navy) */
  --shadow:0 24px 70px rgb(var(--ms-1000-rgb) / .07);
  --shadow-soft:0 12px 34px rgb(var(--ms-1000-rgb) / .045);
  --radius:26px;

  /* Destaques de marca (novos) */
  --volt:var(--ms-100);
  --volt-soft:var(--ms-50);}

/* ---- 2. Estados semânticos ---- */
:root{
  --red:var(--ms-ui-accent); --red-strong:var(--ms-ui-accent); --red-soft:var(--ms-250); --red-line:var(--ms-300);
  --amber:var(--ms-150); --amber-strong:var(--ms-ui-accent); --amber-soft:var(--ms-50); --amber-line:var(--ms-100);
  --green-state:var(--ms-ui-accent); --green-strong:var(--ms-ui-accent); --green-soft:var(--ms-50); --green-line:var(--ms-100);
  --lilac:var(--ms-ui-accent); --lilac-soft:var(--ms-150); --lilac-line:var(--ms-300);
  --cyan:var(--ms-ui-accent); --cyan-soft:var(--ms-50); --cyan-line:var(--ms-200);}

/* ---- 3. Tokens de marca (--brand-*) ---- */
:root{
  --brand-blue:var(--ms-ui-accent); --brand-blue-dark:var(--ms-ui-accent); --brand-blue-soft:var(--ms-150); --brand-blue-line:var(--ms-300);
  --brand-mint:var(--ms-ui-accent); --brand-mint-soft:var(--ms-50);
  --brand-amber:var(--ms-100); --brand-amber-soft:var(--ms-50);
  --brand-rose:var(--ms-ui-accent); --brand-rose-soft:var(--ms-250);
  --brand-lilac:var(--ms-ui-accent); --brand-lilac-soft:var(--ms-150);
  --brand-cyan:var(--ms-ui-accent); --brand-cyan-soft:var(--ms-50);
  --brand-surface:var(--ms-50); --brand-card:var(--ms-0); --brand-border:var(--ms-200);}

/* ---- 4. Camada social (--social-*) ---- */
:root{
  --social-bg:var(--ms-50);
  --social-card:var(--ms-0);
  --social-border:var(--ms-200);
  --social-ink:var(--ms-1000);
  --social-muted:var(--ms-600);
  --social-shadow:0 14px 38px rgb(var(--ms-1000-rgb) / .05);
  --social-radius:24px;}

/* ---- 5. Camada MVP (--mvp-*) ---- */
:root{
  --mvp-bg:var(--ms-50);
  --mvp-surface:var(--ms-0);
  --mvp-ink:var(--ms-1000);
  --mvp-muted:var(--ms-600);
  --mvp-blue:var(--ms-ui-accent);
  --mvp-blue-dark:var(--ms-ui-accent);
  --mvp-line:var(--ms-200);
  --mvp-shadow:0 18px 44px rgb(var(--ms-1000-rgb) / .05);
  --mvp-shadow-strong:0 26px 70px rgb(var(--ms-1000-rgb) / .08);}

/* ---- 6. Tipografia — Mona Sans em toda parte ---- */
:root{
  --font-app:"Mona Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-display:"Mona Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;}
body{
  font-family:"Mona Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;}

/* =====================================================================
   7. Overrides estruturais
   ===================================================================== */

/* Fundo do app — Creme calmo */
body{
  background:var(--ms-25);
  color:var(--text);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Sidebar — espresso profundo (vence os !important tardios do style.css
   porque esta folha carrega por último). */
.sidebar,
.site-shell > .sidebar{
  background:var(--ms-ui-accent) !important;
  box-shadow:0 28px 80px rgb(var(--ms-950-rgb) / .16) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.sidebar.admin-sidebar,
.site-shell > .admin-sidebar{
  background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Link ativo — pílula coral com texto branco */
.side-link.active,
.sidebar .side-link.active,
.social-nav .side-link.active,
.admin-side-nav .side-link.active{
  background:var(--volt) !important;
  color:var(--navy) !important;
  box-shadow:0 16px 40px rgb(var(--ms-900-rgb) / .15) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.sidebar .side-link.active .side-icon,
.social-nav .side-link.active .side-icon{
  background:rgb(var(--ms-900-rgb) / .16) !important;
  color:var(--navy) !important;}
.side-link.active .side-label{ color:var(--navy) !important;}
.side-link.active .counter,
.side-link.active .badge-count{
  background:var(--navy) !important;
  color:var(--volt) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Contadores / badges — amarelo mel sobre navy */
.counter,.badge-count,
.sidebar .counter,
.sidebar .badge-count,
.side-nav .side-link .counter,
.social-nav .side-link .counter,
.sidebar .side-nav .side-link .counter,
.site-shell .sidebar .side-nav .side-link .counter,
.site-shell .sidebar .social-nav .side-link .counter{
  background:var(--ms-150) !important;
  color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Progresso do card de impacto (sidebar) — amarelo mel */
.mini-progress span,
.sidebar .mini-progress span{
  background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* CTA "Torne-se mentor" — botão amarelo mel */
.mentor-cta .button-white,
.sidebar .mentor-cta .button-white{
  background:var(--volt) !important;
  color:var(--navy) !important;
  box-shadow:0 12px 26px rgb(var(--ms-1000-rgb) / .14) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.mentor-cta .letter{ color:var(--volt) !important;}

/* Hero da dashboard — gradiente navy → coral (marca) */
.hero-card{
  background:
    var(--ms-1000),
    var(--ms-ui-accent) !important;}
.stat-float{ background:rgb(var(--ms-900-rgb) / .86) !important;}

/* Capa do perfil (rail direito) — navy → coral */
.cover-strip{
  background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Barras de progresso em cards claros — coral */
.progress-line span{ background:var(--coral);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.account-progress-bar span{ background:var(--ms-ui-accent);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Botões primários — coral com sombra fria */
.button-primary{
  background:var(--coral) !important;
  color:var(--ms-ui-on) !important;
  box-shadow:0 14px 30px rgb(var(--ms-1000-rgb) / .13) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.button-primary:hover{ background:var(--coral-dk) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.button-white{ color:var(--coral);}

/* Kicker / rótulos — tint coral */
.page-kicker,.micro-label{
  background:var(--blue-4);
  color:var(--coral-dk);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.micro-label.blue{ background:var(--blue-4); color:var(--coral-dk);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Título de secção do feed — superfície branca limpa */
.feed-section-title{
  background:var(--ms-0);
  border-color:var(--social-border);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Ponto de notificação — coral */
.dot,.notify span{ background:var(--coral);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Marca (texto do logo) */
.brand-title small,.brand small{ color:var(--volt) !important;}

/* Campos com foco — anel coral suave */
input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:var(--coral) !important;
  box-shadow:0 0 0 4px rgb(var(--ms-1000-rgb) / .07) !important;}
.search-box:focus-within{
  border-color:var(--coral);
  box-shadow:0 0 0 4px rgb(var(--ms-1000-rgb) / .07);}

/* Tag de post padrão — tint coral */
.post-tag{ background:var(--blue-4); color:var(--coral-dk);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.post-tag.community{ background:var(--green-soft); color:var(--green-strong);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.post-tag.mentor{ background:var(--lilac-soft); color:var(--ms-ui-accent);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.post-tag.alert{ background:var(--red-soft); color:var(--ms-ui-accent);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Chips de filtro existentes (páginas de listas) */
.filter-chip.active,.forum-tabs a.active{
  background:var(--navy) !important;
  color:var(--ms-ui-on) !important;
  border-color:var(--navy) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* =====================================================================
   8. NOVOS COMPONENTES — Feed 2026
   ===================================================================== */

/* ---- 8a. Composer do feed ("Partilhe com a comunidade…") ---- */
.ms-feed-composer{ padding:18px !important;}
.ms-feed-composer .ms-composer-main{
  display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:start;}
.ms-feed-composer .ms-composer-avatar{
  width:46px;height:46px;border-radius:50%;object-fit:cover;flex:0 0 auto;
  border:2px solid var(--line);}
.ms-feed-composer .ms-composer-avatar.is-letter{
  display:grid;place-items:center;background:var(--ms-ui-accent);
  color:var(--ms-ui-on);font-weight:800;font-size:17px;border:0;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-composer-fields{ display:grid;gap:10px;min-width:0;}
.ms-composer-input{
  min-height:48px;border:1px solid var(--line);border-radius:14px;background:var(--soft);
  padding:12px 15px;color:var(--ink);font:inherit;font-weight:600;width:100%;resize:vertical;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-composer-input::placeholder{ color:var(--muted);}
.ms-composer-title{
  height:44px;border:1px solid var(--line);border-radius:12px;background:var(--ms-0);
  padding:0 14px;color:var(--ink);font:inherit;font-weight:700;width:100%;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-composer-meta{ display:flex;gap:8px;flex-wrap:wrap;}
.ms-composer-meta select{
  height:38px;border:1px solid var(--line);border-radius:11px;background:var(--ms-0);
  padding:0 10px;color:var(--text);font:inherit;font-weight:700;font-size:12.5px;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-composer-row{ display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.ms-composer-act{
  height:36px;padding:0 13px;border-radius:11px;background:var(--soft);border:0;
  color:var(--text);font:inherit;font-size:12.5px;font-weight:700;
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;text-decoration:none;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-composer-act:hover{ background:var(--soft-2);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-composer-act.c1{ color:var(--coral-dk);}
.ms-composer-act.c2{ color:var(--green-strong);}
.ms-composer-act.c3{ color:var(--ms-ui-accent);}
.ms-composer-act.c4{ color:var(--ms-ui-accent);}
.ms-composer-send{
  margin-left:auto;height:40px;padding:0 20px;border-radius:12px;border:0;cursor:pointer;
  background:var(--coral);color:var(--ms-ui-on);font:inherit;font-weight:800;font-size:13px;
  display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 12px 26px rgb(var(--ms-1000-rgb) / .13);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-composer-send:hover{ background:var(--coral-dk);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-composer-extra{ display:none;gap:10px;}
.ms-feed-composer.is-open .ms-composer-extra{ display:grid;}
.ms-composer-hint{ color:var(--muted);font-size:12px;font-weight:600;}
.ms-composer-login{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.ms-composer-login p{ margin:0;color:var(--muted);font-weight:650;}

/* ---- 8b. Etiquetas de filtro do feed ---- */
.ms-feed-filters{
  display:flex;gap:9px;flex-wrap:wrap;margin:2px 0 4px;}
.ms-feed-filters .ms-filter{
  height:36px;padding:0 16px;border-radius:999px;background:var(--ms-0);border:1px solid var(--line);
  color:var(--text);font:inherit;font-size:12.5px;font-weight:750;cursor:pointer;
  display:inline-flex;align-items:center;gap:7px;box-shadow:var(--shadow-soft);
  transition:transform .14s ease,background .14s ease;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-feed-filters .ms-filter:hover{ transform:translateY(-1px);}
.ms-feed-filters .ms-filter.on{
  background:var(--navy);border-color:var(--navy);color:var(--ms-ui-on);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-feed-filters .ms-filter .ms-filter-dot{
  width:8px;height:8px;border-radius:50%;background:var(--coral);flex:0 0 auto;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-feed-filters .ms-filter.on .ms-filter-dot{ background:var(--volt);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-filter-empty{
  padding:22px;text-align:center;color:var(--muted);font-weight:650;}

/* ---- 8c. Acentos de categoria nos cards do feed ---- */
.post-card{ position:relative;}
.feed-update-card{ overflow:hidden;}
.feed-update-card:before{
  content:"";position:absolute;left:0;top:18px;bottom:18px;width:5px;border-radius:999px;
  background:var(--coral);opacity:.9;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-vagas:before{ background:var(--green-state);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-bolsas:before{ background:var(--lilac);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-eventos:before{ background:var(--amber);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-radar:before,
.feed-update-card.feed-atualizacoes:before{ background:var(--coral);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-noticias:before{ background:var(--cyan);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-estatisticas:before{ background:var(--navy);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-blog:before{ background:var(--volt);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-estudos:before,
.feed-update-card.feed-formacao:before{ background:var(--lilac);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-oportunidades:before{ background:var(--green-state);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Post fixado — anel amarelo mel discreto */
.feed-spotlight{ box-shadow:0 0 0 2px var(--volt),var(--shadow-soft) !important;}

/* ---- 8d. Micro-ajustes ---- */
.system-avatar{ background:var(--soft);border-color:var(--line);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-welcome-tags a{
  background:rgb(var(--ms-0-rgb) / .1);color:var(--ms-ui-on);border:1px solid rgb(var(--ms-0-rgb) / .18);}
.feed-welcome-tags a:hover{ background:var(--coral);border-color:var(--coral);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.typewriter-cursor{ background:var(--volt);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-brand-blue{ color:var(--coral) !important;}
.feed-welcome-name{ color:var(--volt) !important;}

/* Scrollbar discreta (WebKit) */
::-webkit-scrollbar{ width:10px;height:10px;}
::-webkit-scrollbar-thumb{ background:var(--ms-400);border-radius:999px;border:2px solid var(--sand);}
::-webkit-scrollbar-track{ background:transparent;}

/* Seleção de texto — amarelo mel sobre navy */
::selection{ background:var(--volt);color:var(--navy);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* =====================================================================
   9. Polimento final (vence os últimos !important do style.css,
      pois esta folha é a última a carregar)
   ===================================================================== */

/* Card de boas-vindas do feed — superfície limpa, sem borda salmão */
.social-home-main .feed-section-title.feed-welcome-card,
.social-home-main .feed-welcome-card{
  background:var(--ms-0) !important;
  border:1px solid var(--line) !important;
  color:var(--ink) !important;
  box-shadow:var(--shadow-soft) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-welcome-title,
.social-home-main .feed-welcome-card h2{ color:var(--navy) !important;}
.social-home-main .feed-welcome-greeting .feed-welcome-name{ color:var(--coral) !important;}

/* Botões do card de boas-vindas: primário coral, secundário branco */
.social-home-main .feed-welcome-actions a:first-child{
  background:var(--coral) !important;
  color:var(--ms-ui-on) !important;
  border-color:transparent !important;
  box-shadow:0 12px 26px rgb(var(--ms-1000-rgb) / .13) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.social-home-main .feed-welcome-actions a + a{
  background:var(--ms-0) !important;
  color:var(--navy) !important;
  border:1px solid var(--line) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Atalhos com emoji do card de boas-vindas — chips claros */
.social-home-main .feed-welcome-tags a{
  background:var(--ms-0) !important;
  color:var(--navy) !important;
  border:1px solid var(--line) !important;
  box-shadow:var(--shadow-soft) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-welcome-tags a:hover{
  background:var(--coral) !important;
  color:var(--ms-ui-on) !important;
  border-color:var(--coral) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.social-home-main .feed-welcome-stats span{
  background:var(--soft) !important;
  color:var(--muted) !important;
  border-color:var(--line) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-typewriter-label{
  background:var(--navy) !important;
  color:var(--volt) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Páginas públicas (login, cadastro, landing) — fundo soft white */
.public-shell{
  background:var(--ms-25) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
/* Painel visual do auth — navy → coral (marca) */
.auth-visual{
  background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Topbar fixa — véu soft white neutro (sem tint rosado) */
.topbar,
body:not(.admin-area) .main > .topbar{
  background:rgb(var(--ms-25-rgb) / .92) !important;}
.mobile-top{
  background:rgb(var(--ms-25-rgb) / .92) !important;
  border-bottom:1px solid var(--line) !important;}

@media (max-width:860px){
  .ms-feed-composer .ms-composer-main{ grid-template-columns:40px minmax(0,1fr);}
  .ms-feed-composer .ms-composer-avatar{ width:40px;height:40px;}
  .ms-composer-send{ width:100%;justify-content:center;margin-left:0;}
  .ms-feed-filters{ overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;}
  .ms-feed-filters .ms-filter{ white-space:nowrap;flex:0 0 auto;}}

/* =====================================================================
   10. FEED 2026 — fiel à proposta aprovada
   (carrega por último: vence os !important do style.css)
   ===================================================================== */

/* ---- 10a. Chips de hashtag nos cards (#burocracia #lisboa …) ---- */
.ms-chips{ display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 2px;}
.ms-chips .c{
  height:30px;padding:0 13px;border-radius:999px;background:var(--soft);
  color:var(--text);font-size:12.5px;font-weight:750;display:inline-flex;align-items:center;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* ---- 10b. Reações em pílula (❤ 128 · 💬 34 · Partilhar · Salvo) ---- */
.ms-icon-row{ gap:9px!important;}
.ms-icon-action,
.save-btn-icon{
  width:auto!important;
  min-width:44px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 13px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--soft)!important;
  color:var(--text)!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  font-size:12.5px!important;
  font-weight:750!important;
  font-family:var(--font-app)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-icon-action:hover,
.save-btn-icon:hover{
  background:var(--soft-2)!important;
  border:0!important;
  color:var(--ink)!important;
  transform:translateY(-1px);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-icon-action svg,
.save-btn-icon svg{ width:17px!important;height:17px!important;}
.ms-icon-action-count{
  min-width:56px!important;
  padding:0 13px!important;
  background:var(--soft)!important;
  border:0!important;
  grid-auto-flow:unset!important;
  column-gap:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-icon-action-count svg{ color:currentColor!important;}
.ms-icon-action-count b{
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:currentColor!important;
  font-size:13px!important;
  font-weight:800!important;}
/* Curtidas — pílula coral tint como no mock */
.ms-icon-action[title="Curtidas"],
.ms-icon-action[aria-label$="curtida(s)"]{
  background:var(--blue-4)!important;
  color:var(--coral-dk)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-icon-action[title="Curtidas"] svg{ fill:var(--coral)!important;stroke:var(--coral)!important;}
/* Partilhar / abrir — neutros */
.ms-link-share-btn,
.ms-icon-action[aria-label^="Compartilhar link"],
.ms-icon-action[aria-label^="Abrir"],
.ms-icon-action[aria-label^="Ver perfil"]{
  background:var(--soft)!important;
  border:0!important;
  color:var(--text)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-link-share-btn.is-shared{ background:var(--navy)!important;color:var(--ms-ui-on)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
/* Salvar — à direita; salvo = amarelo mel (como no mock) */
.save-btn-icon{ margin-left:auto!important;}
.save-btn-icon .save-btn-label{
  display:inline!important;
  font-size:12.5px!important;
  font-weight:800!important;
  color:currentColor!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  clip:auto!important;
  clip-path:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  margin:0!important;}
.save-btn-icon.is-saved{
  background:var(--volt)!important;
  color:var(--navy)!important;
  border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.save-btn-icon.is-saved svg path{ fill:var(--navy)!important;stroke:var(--navy)!important;}
.profile-repost-btn{ background:var(--green-soft)!important;border:0!important;color:var(--green-strong)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.profile-repost-btn.is-reposted{ background:var(--green-state)!important;color:var(--ms-ui-on)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
@media (hover:hover) and (pointer:fine){
  .ms-icon-action:hover,
  .save-btn-icon:hover{
    background:var(--soft-2)!important;
    border:0!important;
    color:var(--ink)!important;}}

/* ---- 10c. Badges de categoria coloridos (menos laranja!) ---- */
.post-tag{ min-height:30px!important;font-weight:800!important;}
.post-tag:before{ content:"●";font-size:9px;margin-right:6px;opacity:.85;}
.post-tag.alert:before{ content:"●";}
.feed-forum-post .post-tag{ background:var(--green-soft)!important;color:var(--green-strong)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-forum-post .post-tag.is-repost{ background:var(--lilac-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-vagas .post-tag{ background:var(--cyan-soft)!important;color:var(--ms-700)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-oportunidades .post-tag{ background:var(--green-soft)!important;color:var(--green-strong)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-bolsas .post-tag,
.feed-update-card.feed-estudos .post-tag,
.feed-update-card.feed-formacao .post-tag{ background:var(--lilac-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-eventos .post-tag{ background:var(--amber-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-noticias .post-tag,
.feed-update-card.feed-blog .post-tag{ background:var(--navy)!important;color:var(--ms-ui-on)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-estatisticas .post-tag,
.feed-update-card.feed-tendencias .post-tag{ background:var(--volt)!important;color:var(--navy)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-radar .post-tag,
.feed-update-card.feed-atualizacoes .post-tag{ background:var(--blue-4)!important;color:var(--coral-dk)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* ---- 10d. Avatares com gradientes variados (rede descolada) ---- */
.feed-update-card .system-avatar{
  color:var(--ms-ui-on)!important;border:0!important;font-weight:800!important;}
.feed-update-card.feed-vagas .system-avatar{ background:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-oportunidades .system-avatar{ background:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-bolsas .system-avatar,
.feed-update-card.feed-estudos .system-avatar,
.feed-update-card.feed-formacao .system-avatar{ background:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-eventos .system-avatar{ background:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-noticias .system-avatar,
.feed-update-card.feed-blog .system-avatar{ background:var(--ms-900)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-estatisticas .system-avatar,
.feed-update-card.feed-tendencias .system-avatar{ background:var(--ms-900)!important;color:var(--volt)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.feed-update-card.feed-radar .system-avatar,
.feed-update-card.feed-atualizacoes .system-avatar{ background:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
/* Publicações de pessoas: iniciais em gradiente coral */
.feed-forum-post .system-avatar{
  background:var(--ms-ui-accent)!important;
  color:var(--ms-ui-on)!important;border:0!important;font-weight:800!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* ---- 10e. Sidebar como no mock (tiles de ícone + pílula ativa) ---- */
.side-nav{ gap:6px!important;}
.side-link{
  min-height:46px!important;
  border-radius:14px!important;
  font-size:13.5px!important;
  font-weight:750!important;
  gap:11px!important;}
.side-icon{
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  background:rgb(var(--ms-0-rgb) / .09)!important;}
.side-link.active .side-icon{ background:rgb(var(--ms-0-rgb) / .22)!important;}
.side-icon svg{ width:19px!important;height:19px!important;}

/* ---- 10f. Rail direito com cores de apoio ---- */
.data-list .data-row:nth-child(5n+1) .job-logo{ background:var(--blue-4);color:var(--coral-dk);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.data-list .data-row:nth-child(5n+2) .job-logo{ background:var(--green-soft);color:var(--green-strong);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.data-list .data-row:nth-child(5n+3) .job-logo{ background:var(--lilac-soft);color:var(--ms-ui-accent);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.data-list .data-row:nth-child(5n+4) .job-logo{ background:var(--amber-soft);color:var(--ms-ui-accent);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.data-list .data-row:nth-child(5n+5) .job-logo{ background:var(--cyan-soft);color:var(--ms-700);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.profile-stats span:nth-child(1) strong{ color:var(--coral);}
.profile-stats span:nth-child(2) strong{ color:var(--green-strong);}
.profile-stats span:nth-child(3) strong{ color:var(--ms-ui-accent);}
.account-check{ border-color:var(--green-state)!important;}
.account-checklist li.is-done .account-check{ background:var(--green-state)!important;border-color:var(--green-state)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* ---- 10g. Comentário em destaque + rodapé dos cards ---- */
.comment-preview{ background:var(--soft)!important;border:1px solid var(--line)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-card-footer{ border-top:1px solid var(--line);margin-top:14px;padding-top:12px;}

/* ---- 10h. Composer: emojis coloridos e foco ---- */
.ms-composer-act.c1{ background:var(--blue-4);color:var(--coral-dk);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-composer-act.c2{ background:var(--cyan-soft);color:var(--ms-700);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-composer-act.c3{ background:var(--lilac-soft);color:var(--ms-ui-accent);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-composer-act.c4{ background:var(--amber-soft);color:var(--ms-ui-accent);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* =====================================================================
   11. Ações dos cards — pílulas (vence os seletores .social-home-main
       de alta especificidade do style.css)
   ===================================================================== */
:root{
  --contrast-blue:var(--ms-900);
  --contrast-blue-dark:var(--ms-950);}
.social-home-main .feed-forum-actions a,
.social-home-main .feed-forum-actions button,
.social-home-main .feed-forum-actions .save-btn,
.social-home-main .feed-forum-actions .ms-icon-action,
.social-home-main .feed-forum-actions .save-btn-icon,
.social-home-main .feed-card-footer-actions .ms-icon-action,
.social-home-main .feed-card-footer-actions .save-btn-icon,
.profile-post-actions .ms-icon-action,
.profile-post-actions .save-btn-icon,
.share-publication-actions .ms-icon-action,
.share-publication-actions .save-btn-icon,
.community-topic-actions .ms-icon-action{
  width:auto!important;
  min-width:44px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:12px!important;
  border:0!important;
  background:var(--soft)!important;
  color:var(--text)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-size:12.5px!important;
  font-weight:750!important;
  box-shadow:none!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-forum-actions .ms-icon-action:hover,
.social-home-main .feed-forum-actions .save-btn-icon:hover,
.social-home-main .feed-card-footer-actions .ms-icon-action:hover,
.social-home-main .feed-card-footer-actions .save-btn-icon:hover{
  background:var(--soft-2)!important;
  color:var(--ink)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-forum-actions .ms-icon-action-count,
.social-home-main .feed-card-footer-actions .ms-icon-action-count{
  width:auto!important;
  min-width:56px!important;
  padding:0 13px!important;
  border-radius:12px!important;
  background:var(--soft)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
/* Curtidas — coral tint (❤ 128) */
.social-home-main .feed-forum-actions .ms-icon-action[title="Curtidas"],
.social-home-main .post-card .ms-icon-action[title="Curtidas"],
.profile-post-actions .ms-icon-action[title="Curtidas"]{
  background:var(--blue-4)!important;
  color:var(--coral-dk)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .ms-icon-action[title="Curtidas"] svg,
.profile-post-actions .ms-icon-action[title="Curtidas"] svg{
  fill:var(--coral)!important;
  stroke:var(--coral)!important;}
.social-home-main .feed-forum-actions .ms-icon-action[title="Curtidas"]:hover{
  background:var(--blue-4)!important;
  color:var(--coral-dk)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
/* Salvar — texto visível; salvo = amarelo mel */
.social-home-main .save-btn-icon,
.profile-post-actions .save-btn-icon,
.share-publication-actions .save-btn-icon{
  margin-left:auto!important;}
.save-btn-icon .save-btn-label,
.social-home-main .save-btn-icon .save-btn-label,
.profile-post-actions .save-btn .save-btn-label,
.share-publication-actions .save-btn .save-btn-label{
  display:inline!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1!important;
  width:auto!important;
  height:auto!important;
  position:static!important;
  clip:auto!important;
  clip-path:none!important;
  overflow:visible!important;
  white-space:nowrap!important;}
.save-btn-icon.is-saved,
.social-home-main .feed-forum-actions .save-btn.is-saved,
.social-home-main .save-btn-icon.is-saved{
  background:var(--volt)!important;
  color:var(--navy)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.save-btn-icon.is-saved svg,
.social-home-main .save-btn-icon.is-saved svg{
  fill:var(--navy)!important;
  stroke:var(--navy)!important;}
.save-btn-icon.is-saved svg path,
.social-home-main .save-btn-icon.is-saved svg path{
  fill:var(--navy)!important;
  stroke:var(--navy)!important;}

/* Bordas dos cards — neutras (sem salmão) */
.post-card,.social-card,.list-card,.content-card,.rcard{
  border-color:var(--line)!important;}

/* Post fixado — navy sólido com anel amarelo mel (como o card Radar do mock) */
.post-card.feed-spotlight{
  background:
    var(--ms-1000),
    var(--ms-900)!important;
  box-shadow:0 0 0 2px var(--volt),0 22px 52px rgb(var(--ms-950-rgb) / .15)!important;}
.post-card.feed-spotlight .ms-chips .c{
  background:rgb(var(--ms-0-rgb) / .1);
  color:rgb(var(--ms-ui-on-rgb) / .88);}
.post-card.feed-spotlight .ms-icon-action,
.post-card.feed-spotlight .save-btn-icon,
.post-card.feed-spotlight .ms-icon-action-count{
  background:rgb(var(--ms-0-rgb) / .1)!important;
  color:rgb(var(--ms-ui-on-rgb) / .9)!important;}
.post-card.feed-spotlight .post-tag{
  background:var(--volt)!important;
  color:var(--navy)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.post-card.feed-spotlight .feed-country-badge{
  background:rgb(var(--ms-0-rgb) / .1);
  border-color:rgb(var(--ms-0-rgb) / .16);
  color:var(--ms-ui-on);}
.post-card.feed-spotlight:before{ display:none!important;}
.post-card.feed-spotlight .feed-card-footer{ border-top-color:rgb(var(--ms-0-rgb) / .14);}
.post-card.feed-spotlight .feed-card-footer small a{ color:rgb(var(--ms-ui-on-rgb) / .7);}
.post-card.feed-spotlight h3,
.post-card.feed-spotlight .feed-card-copy p{ color:var(--ms-ui-on)!important;}
.post-card.feed-spotlight .feed-card-copy p{ color:rgb(var(--ms-ui-on-rgb) / .78)!important;}
.post-card.feed-spotlight .feed-detail-panel{
  background:rgb(var(--ms-0-rgb) / .08);
  border-color:rgb(var(--ms-0-rgb) / .14);}
.post-card.feed-spotlight .feed-detail-panel-head span,
.post-card.feed-spotlight .feed-countdown-date{ color:rgb(var(--ms-ui-on-rgb) / .66)!important;}
/* Correção de contraste: a etiqueta de prazo ("Faltam X dias") herdava fundo
   volt (verde) e o texto também ficava volt no card em destaque — verde sobre
   verde. No spotlight a etiqueta fica volt com texto navy, como no resto do tema. */
.post-card.feed-spotlight .feed-detail-panel-head strong{ background:var(--volt)!important; border:0!important; color:var(--navy)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* =====================================================================
   12. Re-skin da camada "flat" do feed (mesmos seletores, cara do mock)
   ===================================================================== */

/* Shell dos cards — arredondado, borda neutra, sombra suave */
.social-home-main .post-card.feed-update-card,
.social-home-main .post-card.feed-forum-post{
  border-radius:22px!important;
  border:1px solid var(--line)!important;
  background:var(--ms-0)!important;
  box-shadow:var(--shadow-soft)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .post-card.feed-update-card:hover,
.social-home-main .post-card.feed-forum-post:hover{
  border-color:var(--line)!important;
  box-shadow:0 18px 44px rgb(var(--ms-900-rgb) / .06)!important;
  transform:translateY(-2px)!important;}

/* Avatares sem anel salmão */
.social-home-main .feed-update-card .system-avatar,
.social-home-main .feed-forum-post .forum-post-header .system-avatar{
  border:0!important;}
.social-home-main .feed-forum-post .feed-forum-avatar{
  border:2px solid var(--line)!important;
  background:var(--soft)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Etiquetas maiores e coloridas por categoria */
.social-home-main .feed-update-card .post-tag,
.social-home-main .feed-forum-post .post-tag{
  min-height:26px!important;
  max-height:26px!important;
  padding:0 11px!important;
  font-size:11px!important;
  border:0!important;
  max-width:180px!important;}
.social-home-main .feed-forum-post .post-tag:not(.alert){
  background:var(--green-soft)!important;
  color:var(--green-strong)!important;
  border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-forum-post .post-tag.is-repost{
  background:var(--lilac-soft)!important;
  color:var(--ms-ui-accent)!important;
  border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-update-card.feed-vagas .post-tag{ background:var(--cyan-soft)!important;color:var(--ms-700)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-update-card.feed-oportunidades .post-tag{ background:var(--green-soft)!important;color:var(--green-strong)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-update-card.feed-bolsas .post-tag,
.social-home-main .feed-update-card.feed-estudos .post-tag,
.social-home-main .feed-update-card.feed-formacao .post-tag{ background:var(--lilac-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-update-card.feed-eventos .post-tag{ background:var(--amber-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-update-card.feed-noticias .post-tag,
.social-home-main .feed-update-card.feed-blog .post-tag{ background:var(--navy)!important;color:var(--ms-ui-on)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.social-home-main .feed-update-card.feed-estatisticas .post-tag,
.social-home-main .feed-update-card.feed-tendencias .post-tag{ background:var(--volt)!important;color:var(--navy)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-update-card.feed-radar .post-tag,
.social-home-main .feed-update-card.feed-atualizacoes .post-tag{ background:var(--blue-4)!important;color:var(--coral-dk)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Selo de país e painéis internos — neutros soft */
.social-home-main .feed-country-badge{
  background:var(--soft)!important;
  border:1px solid var(--line)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-detail-panel,
.social-home-main .feed-countdown-panel,
.social-home-main .feed-update-card .feed-stat-panel,
.social-home-main .feed-stat-panel{
  background:var(--soft)!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-detail-panel-head strong{
  background:var(--volt)!important;
  border:0!important;
  color:var(--navy)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-mini-progress{ background:var(--ms-250)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-mini-progress span{ background:var(--coral)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.social-home-main .feed-stat-value{ color:var(--navy)!important;}

/* Chips de hashtag dentro dos cards flat (padding interno de 16px) */
.social-home-main .feed-update-card .ms-chips,
.social-home-main .feed-forum-post .ms-chips{
  padding:0 16px!important;
  margin:12px 0 0!important;}

/* Rodapé com divisor neutro */
.social-home-main .feed-card-footer{
  border-top:1px solid var(--line-2)!important;
  padding:10px 12px 10px 16px!important;}
.social-home-main .post-actions.feed-forum-actions{
  border-top:1px solid var(--line-2)!important;
  padding:10px 12px!important;
  gap:8px!important;}
.social-home-main .ms-more-copy-btn:hover{ background:var(--soft-2)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-forum-post .forum-latest-comment{
  background:var(--soft)!important;
  border:1px solid var(--line)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* ---------- Card fixado: navy sólido com anel amarelo mel ---------- */
.social-home-main .post-card.feed-update-card.feed-spotlight,
.social-home-main .post-card.feed-forum-post.feed-spotlight{
  background:
    var(--ms-1000),
    var(--ms-900)!important;
  border-color:transparent!important;
  box-shadow:0 0 0 2px var(--volt),0 22px 52px rgb(var(--ms-950-rgb) / .15)!important;}
.social-home-main .post-card.feed-spotlight .post-header,
.social-home-main .post-card.feed-spotlight .forum-post-header{
  background:transparent!important;}
.social-home-main .post-card.feed-spotlight .post-header strong,
.social-home-main .post-card.feed-spotlight .forum-post-header strong,
.social-home-main .post-card.feed-spotlight .feed-card-copy h3,
.social-home-main .post-card.feed-spotlight .forum-post-title{
  color:var(--ms-ui-on)!important;}
.social-home-main .post-card.feed-spotlight .post-header small,
.social-home-main .post-card.feed-spotlight .forum-post-header small,
.social-home-main .post-card.feed-spotlight .feed-card-copy p,
.social-home-main .post-card.feed-spotlight .forum-post-copy{
  color:rgb(var(--ms-ui-on-rgb) / .78)!important;}
.social-home-main .post-card.feed-spotlight .post-tag{
  background:var(--volt)!important;
  color:var(--navy)!important;
  border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .post-card.feed-spotlight .ms-chips .c{
  background:rgb(var(--ms-0-rgb) / .1);
  color:rgb(var(--ms-ui-on-rgb) / .88);}
.social-home-main .post-card.feed-spotlight .feed-country-badge{
  background:rgb(var(--ms-0-rgb) / .1)!important;
  border-color:rgb(var(--ms-0-rgb) / .18)!important;}
.social-home-main .post-card.feed-spotlight .feed-country-badge .feed-country-text{
  color:var(--ms-ui-on)!important;}
.social-home-main .post-card.feed-spotlight .feed-card-footer,
.social-home-main .post-card.feed-spotlight .post-actions.feed-forum-actions{
  border-top-color:rgb(var(--ms-0-rgb) / .14)!important;
  background:transparent!important;}
.social-home-main .post-card.feed-spotlight .feed-card-footer small{
  color:rgb(var(--ms-ui-on-rgb) / .66)!important;}
.social-home-main .post-card.feed-spotlight .ms-icon-action,
.social-home-main .post-card.feed-spotlight .save-btn-icon,
.social-home-main .post-card.feed-spotlight .ms-icon-action-count{
  background:rgb(var(--ms-0-rgb) / .1)!important;
  color:rgb(var(--ms-ui-on-rgb) / .92)!important;}
.social-home-main .post-card.feed-spotlight .ms-more-copy-btn{
  color:rgb(var(--ms-ui-on-rgb) / .75)!important;}
.social-home-main .post-card.feed-spotlight .system-avatar{
  background:var(--ms-ui-accent)!important;
  color:var(--ms-ui-on)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.social-home-main .post-card.feed-spotlight .feed-detail-panel,
.social-home-main .post-card.feed-spotlight .feed-countdown-panel,
.social-home-main .post-card.feed-spotlight .feed-stat-panel{
  background:rgb(var(--ms-0-rgb) / .08)!important;
  border-color:rgb(var(--ms-0-rgb) / .14)!important;}
.social-home-main .post-card.feed-spotlight .feed-detail-panel-head span,
.social-home-main .post-card.feed-spotlight .feed-countdown-date,
.social-home-main .post-card.feed-spotlight .feed-stat-source{
  color:rgb(var(--ms-ui-on-rgb) / .66)!important;}
.social-home-main .post-card.feed-spotlight .feed-stat-value,
.social-home-main .post-card.feed-spotlight .feed-stat-unit{
  color:var(--volt)!important;}

/* =====================================================================
   13. Perfil público & páginas internas — cores de apoio nos chips
   ===================================================================== */
.tag-list .tag{ border:0!important;}
.tag-list .tag:nth-child(4n+1){ background:var(--blue-4)!important;color:var(--coral-dk)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.tag-list .tag:nth-child(4n+2){ background:var(--green-soft)!important;color:var(--green-strong)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.tag-list .tag:nth-child(4n+3){ background:var(--lilac-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.tag-list .tag:nth-child(4n+4){ background:var(--amber-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Capa do perfil público — navy → coral com brilho amarelo mel */
.profile-cover,.public-profile-cover{
  background:
    var(--ms-1000),
    var(--ms-1000),
    var(--ms-ui-accent) !important;}

/* Tags de tópicos do fórum da comunidade — cores por tipo */
.community-topic-type{ border:0!important;}
.community-topic-link:nth-child(4n+1) .community-topic-type{ background:var(--green-soft)!important;color:var(--green-strong)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-topic-link:nth-child(4n+2) .community-topic-type{ background:var(--lilac-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-topic-link:nth-child(4n+3) .community-topic-type{ background:var(--amber-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-topic-link:nth-child(4n+4) .community-topic-type{ background:var(--cyan-soft)!important;color:var(--ms-700)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-category-icon{ background:var(--soft)!important;color:var(--navy)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-category-list .community-category-row:nth-child(5n+1) .community-category-icon{ background:var(--blue-4)!important;color:var(--coral-dk)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-category-list .community-category-row:nth-child(5n+2) .community-category-icon{ background:var(--green-soft)!important;color:var(--green-strong)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-category-list .community-category-row:nth-child(5n+3) .community-category-icon{ background:var(--lilac-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-category-list .community-category-row:nth-child(5n+4) .community-category-icon{ background:var(--amber-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-category-list .community-category-row:nth-child(5n+5) .community-category-icon{ background:var(--cyan-soft)!important;color:var(--ms-700)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Página de publicação — tag de tipo mint (conquista/dica etc.) */
.publication-card .post-tag,
.share-publication-card .post-tag,
.profile-post-card .post-tag{
  background:var(--green-soft)!important;
  color:var(--green-strong)!important;
  border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* =====================================================================
   14. Correções da rodada 3 — legibilidade, filtros, mobile e rail
   ===================================================================== */

/* "Perfil · Repost" legível no card navy fixado */
.social-home-main .post-card.feed-spotlight .forum-headline,
.social-home-main .post-card.feed-spotlight .post-author-link,
.social-home-main .post-card.feed-spotlight .post-date-link,
.social-home-main .post-card.feed-spotlight .forum-post-header small a{
  color:rgb(var(--ms-ui-on-rgb) / .85)!important;}
.social-home-main .post-card.feed-spotlight .comment-preview,
.social-home-main .post-card.feed-spotlight .forum-latest-comment{
  background:rgb(var(--ms-0-rgb) / .1)!important;
  border-color:rgb(var(--ms-0-rgb) / .16)!important;
  color:rgb(var(--ms-ui-on-rgb) / .85)!important;}
.social-home-main .post-card.feed-spotlight .comment-preview strong{
  color:var(--ms-ui-on)!important;}

/* Hashtags clicáveis */
.ms-chips .c{ text-decoration:none;cursor:pointer;transition:background .14s ease,color .14s ease;}
.ms-chips a.c:hover{ background:var(--navy);color:var(--ms-ui-on);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Filtros do feed — SEMPRE numa linha só (desktop e mobile) */
.ms-feed-filters{
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  padding-bottom:2px!important;}
.ms-feed-filters::-webkit-scrollbar{ display:none!important;}
.ms-feed-filters .ms-filter{
  white-space:nowrap!important;
  flex:0 0 auto!important;
  height:34px;
  padding:0 13px;
  font-size:12px;}

/* Rail: card navy do Radar Migratório (proposta) */
.ms-radar-rail{
  background:var(--ms-900);
  border-radius:20px;
  padding:18px;
  color:var(--ms-ui-on);
  box-shadow:0 18px 44px rgb(var(--ms-950-rgb) / .14);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-radar-rail h4{ margin:0;color:var(--ms-ui-on);font-size:15px;letter-spacing:-.02em;}
.ms-radar-rail .sub{ color:rgb(var(--ms-ui-on-rgb) / .6);font-size:12px;font-weight:650;margin:2px 0 6px;}
.ms-radar-rail .radl{
  display:flex;align-items:flex-start;gap:11px;padding:11px 0;
  color:inherit;text-decoration:none;}
.ms-radar-rail .radl + .radl{ border-top:1px solid rgb(var(--ms-0-rgb) / .12);}
.ms-radar-rail .radl .dot{
  position:static;width:9px;height:9px;min-width:9px;border-radius:50%;
  border:0;margin-top:5px;font-size:0;}
.ms-radar-rail .radl b{ display:block;font-size:13px;color:var(--ms-ui-on);font-weight:750;line-height:1.3;}
.ms-radar-rail .radl span{ display:block;font-size:11.5px;color:rgb(var(--ms-ui-on-rgb) / .6);font-weight:600;margin-top:2px;}
.ms-radar-rail .radl:hover b{ color:var(--volt);}

/* Rail: sugestões de pessoas */
.ms-sugg{
  display:flex;align-items:center;gap:11px;padding:10px 0;
  color:inherit;text-decoration:none;}
.ms-sugg + .ms-sugg{ border-top:1px solid var(--line-2);}
.ms-sugg .av{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  color:var(--ms-ui-on);font-weight:800;font-size:15px;flex:0 0 auto;}
.ms-sugg .who{ min-width:0;}
.ms-sugg .who strong{ display:block;font-size:13.5px;color:var(--ink);}
.ms-sugg .who span{ display:block;font-size:11.5px;color:var(--muted);font-weight:650;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ms-sugg .add{
  margin-left:auto;width:32px;height:32px;border-radius:11px;flex:0 0 auto;
  background:var(--blue-4);color:var(--coral-dk);display:grid;place-items:center;
  font-weight:800;font-size:18px;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-sugg:hover .add{ background:var(--coral);color:var(--ms-ui-on);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Mais cores de apoio espalhadas (menos laranja) */
.ranking-mini:nth-of-type(4n+1) span{ background:var(--coral)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ranking-mini:nth-of-type(4n+2) span{ background:var(--green-state)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ranking-mini:nth-of-type(4n+3) span{ background:var(--lilac)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ranking-mini:nth-of-type(4n+4) span{ background:var(--amber)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.deadline-social:nth-of-type(3n+1) strong{ color:var(--coral-dk)!important;}
.deadline-social:nth-of-type(3n+2) strong{ color:var(--green-strong)!important;}
.deadline-social:nth-of-type(3n+3) strong{ color:var(--ms-ui-accent)!important;}
.community-emoji{ background:var(--soft)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-card:nth-of-type(4n+1) .community-emoji{ background:var(--blue-4)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-card:nth-of-type(4n+2) .community-emoji{ background:var(--green-soft)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-card:nth-of-type(4n+3) .community-emoji{ background:var(--lilac-soft)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-card:nth-of-type(4n+4) .community-emoji{ background:var(--amber-soft)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-mini:nth-of-type(4n+1) > span{ background:var(--blue-4)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-mini:nth-of-type(4n+2) > span{ background:var(--green-soft)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-mini:nth-of-type(4n+3) > span{ background:var(--lilac-soft)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.community-mini:nth-of-type(4n+4) > span{ background:var(--amber-soft)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.summary-grid .icon-tile:nth-of-type(1),.summary-item:nth-of-type(4n+1) .icon-tile{ background:var(--blue-4)!important;color:var(--coral-dk)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.summary-item:nth-of-type(4n+2) .icon-tile{ background:var(--green-soft)!important;color:var(--green-strong)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.summary-item:nth-of-type(4n+3) .icon-tile{ background:var(--lilac-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.summary-item:nth-of-type(4n+4) .icon-tile{ background:var(--amber-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* ---------------- MOBILE ---------------- */
@media (max-width:860px){
  /* Etiquetas de filtro menores, numa linha */
  .ms-feed-filters .ms-filter{
    height:30px!important;
    padding:0 11px!important;
    font-size:11px!important;
    gap:5px!important;}
  .ms-feed-filters .ms-filter .ms-filter-dot{ width:7px!important;height:7px!important;}

  /* Chips de hashtag menores nos cards */
  .ms-chips{ gap:6px!important;}
  .ms-chips .c{ height:26px!important;padding:0 10px!important;font-size:11px!important;}

  /* Composer mais alto e confortável no mobile */
  .ms-composer-input{
    min-height:92px!important;
    font-size:14px!important;}
  .ms-feed-composer{ padding:16px!important;}
  .ms-composer-act{ height:34px!important;font-size:12px!important;padding:0 11px!important;}
  .ms-composer-send{ height:44px!important;font-size:14px!important;}

  /* Botão central "Feed" do menu inferior — círculo coral perfeito */
  .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] .mobile-feed-link{
    width:60px!important;
    min-width:60px!important;
    max-width:60px!important;
    height:60px!important;
    min-height:60px!important;
    margin:-20px auto 0!important;
    border-radius:50%!important;
    justify-self:center!important;
    background:var(--coral)!important;
    color:var(--ms-ui-on)!important;
    box-shadow:0 14px 30px rgb(var(--ms-1000-rgb) / .19)!important;
    gap:0!important;
    overflow:hidden!important;}
  .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] .mobile-feed-link span{
    display:none!important;}
  .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] .mobile-feed-link svg{
    width:26px!important;
    height:26px!important;}
  /* sem "sheen" deformando o círculo */
  .mobile-bottom-nav a.active:after,
  .social-mobile-nav a.active:after{
    display:none!important;
    content:none!important;
    animation:none!important;}
  .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a.active:not(.mobile-feed-link){
    background:var(--blue-4)!important;
    color:var(--coral-dk)!important;}
  .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] .mobile-profile-avatar{
    border-color:var(--line)!important;}
  .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] .mobile-profile-link.active .mobile-profile-avatar{
    border-color:var(--coral)!important;}}

/* Data no rodapé do card nunca quebra linha */
.social-home-main .feed-card-footer small{
  white-space:nowrap!important;
  flex:0 0 auto!important;}
@media (max-width:860px){
  .social-home-main .feed-card-footer{ gap:6px!important;}
  .social-home-main .feed-card-footer small{ font-size:10.5px!important;}
  .social-home-main .feed-card-footer-actions{ gap:5px!important;}
  .social-home-main .feed-card-footer-actions .ms-icon-action,
  .social-home-main .feed-card-footer-actions .save-btn-icon{
    min-width:38px!important;
    padding:0 10px!important;}}

/* O layer "flat" força display:block nos filhos da coluna — reafirma o flex */
.ms-feed-filters,
.social-home-main .social-feed-column .ms-feed-filters{
  display:flex!important;
  align-items:center!important;}

/* =====================================================================
   15. Rodada 4 — polimento mobile e detalhes
   ===================================================================== */

/* Ponto de notificação SÓ quando há notificações
   (o [hidden] do HTML perdia para .dot{display:grid}) */
.dot[hidden],
.notification-dot[hidden],
.icon-button .dot[hidden],
.desktop-notification-button .dot[hidden]{
  display:none!important;}

/* Fundo do miolo sem degradê rosado (matava a linha visível no mobile) */
.main,
.social-home-main,
.forum-social-main{
  background:transparent!important;}

/* Sombras mais suaves no mobile (sem "linha" marcada entre cards) */
@media (max-width:860px){
  .post-card,.social-card,.list-card,.content-card{
    box-shadow:0 6px 18px rgb(var(--ms-900-rgb) / .035)!important;}
  .social-home-main .post-card.feed-update-card,
  .social-home-main .post-card.feed-forum-post{
    box-shadow:0 6px 18px rgb(var(--ms-900-rgb) / .035)!important;}

  /* Respiro entre filtros, composer e cards */
  .social-home-main .social-feed-column{
    gap:14px!important;}
  .ms-feed-filters{ margin:4px 0 2px!important;}

  /* Composer: coluna única (sem avatar espremido), tudo com folga.
     Seletores no nível do layer flat, que zera o padding no mobile. */
  .ms-feed-composer,
  .social-home-main .social-feed-column .ms-feed-composer,
  .social-home-main .social-feed-column .post-card.ms-feed-composer{
    padding:16px 16px 18px!important;
    margin:0!important;
    border-radius:20px!important;}
  /* Cards do feed arredondados também no mobile (o flat forçava 12px) */
  .social-home-main .social-feed-column .post-card{
    border-radius:20px!important;}
  .ms-feed-composer .ms-composer-main{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;}
  .ms-feed-composer .ms-composer-avatar{ display:none!important;}
  .ms-composer-fields{ gap:12px!important;}

  /* Etiquetas do composer: menores, todas na MESMA linha
     (o botão Publicar quebra para a linha de baixo, em largura total) */
  .ms-composer-row{
    flex-wrap:wrap!important;
    gap:6px!important;}
  .ms-composer-act{
    height:30px!important;
    padding:0 9px!important;
    font-size:11px!important;
    gap:5px!important;
    white-space:nowrap!important;
    flex:0 0 auto!important;}
  /* Publicar: linha própria, largura total, com folga do fim do card */
  .ms-composer-send{
    flex:1 0 100%!important;
    width:100%!important;
    margin:6px 0 2px!important;
    height:44px!important;
    justify-content:center!important;}

  /* Seleção REDONDA nos botões do menu inferior */
  .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a.active:not(.mobile-feed-link){
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    margin:0 auto!important;
    justify-self:center!important;
    border-radius:50%!important;
    background:var(--blue-4)!important;
    color:var(--coral-dk)!important;
    gap:0!important;
    overflow:hidden!important;}
  .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a.active:not(.mobile-feed-link) span{
    display:none!important;}
  .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a.active:not(.mobile-feed-link) svg{
    width:24px!important;
    height:24px!important;}
  .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] .mobile-profile-link.active{
    background:transparent!important;}
  .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] .mobile-profile-link.active .mobile-profile-avatar{
    width:40px!important;
    height:40px!important;
    border:3px solid var(--coral)!important;}}

/* =====================================================================
   16. Rodada 5 — fundo flat, eventos, menu mock, busca mobile, cores
   ===================================================================== */

/* Fundo 100% flat (sem degradê = sem linha visível ao rolar/hover) */
body{
  background:var(--ms-100) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.topbar,
body:not(.admin-area) .main > .topbar{
  background:rgb(var(--ms-100-rgb) / .94) !important;}

/* Filtros com folga vertical: o hover (translateY) não é mais cortado */
.ms-feed-filters{
  padding:4px 2px 8px!important;}

/* ---- Sidebar desktop fiel ao mock: linhas cheias, de cima a baixo ---- */
.side-nav{ gap:8px!important;}
.side-link{
  min-height:52px!important;
  border-radius:16px!important;
  font-size:14px!important;
  font-weight:750!important;
  gap:12px!important;
  padding:0 12px!important;
  width:100%!important;}
.side-icon{
  width:40px!important;
  height:40px!important;
  border-radius:13px!important;
  background:rgb(var(--ms-0-rgb) / .08)!important;}
.side-icon svg{ width:20px!important;height:20px!important;}
.side-link.active{
  box-shadow:0 14px 34px rgb(var(--ms-1000-rgb) / .19)!important;}
.side-nav-label{
  margin:12px 4px 2px!important;
  font-size:10.5px!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  color:rgb(var(--ms-ui-on-rgb) / .45)!important;
  font-weight:800!important;}

/* ---- Logo: "Migra / Space" sem cortar descendentes (g, p) ---- */
.brand-title strong,
.brand-title small,
.brand strong,
.brand small,
.mobile-top .brand-title strong,
.mobile-top .brand-title small{
  line-height:1.22!important;
  overflow:visible!important;}

/* ---- Menu mobile (3 linhas): por CIMA de tudo + busca embutida ---- */
.mobile-menu-overlay{
  z-index:3000!important;
  background:rgb(var(--ms-950-rgb) / .5)!important;}
.mobile-menu-drawer{
  background:var(--ms-25)!important;
  border-left:1px solid var(--line)!important;
  box-shadow:-24px 0 70px rgb(var(--ms-950-rgb) / .15)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.mobile-menu-search{
  display:flex;align-items:center;gap:9px;
  height:46px;margin:0 0 14px;padding:0 14px;
  border:1px solid var(--line);border-radius:14px;background:var(--ms-0);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.mobile-menu-search svg{
  width:18px;height:18px;flex:0 0 auto;
  fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;}
.mobile-menu-search input{
  border:0;outline:0;background:transparent;width:100%;
  font:inherit;font-weight:650;color:var(--ink);}
.mobile-menu-search input::placeholder{ color:var(--muted);}
.mobile-menu-search:focus-within{
  border-color:var(--coral);
  box-shadow:0 0 0 4px rgb(var(--ms-1000-rgb) / .07);}

/* ---- Widget de eventos (desktop): coluna do meio nunca colapsa ---- */
#eventos .data-row{
  grid-template-columns:52px minmax(0,1fr) minmax(0,max-content)!important;}
#eventos .data-row .pill{
  max-width:120px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  background:var(--amber-soft)!important;
  color:var(--ms-ui-accent)!important;
  border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
#eventos .data-row .job-logo{
  background:var(--ms-0)!important;
  border:1px solid var(--line)!important;
  color:var(--coral)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* ---- Card "Próximo evento" no rail do feed (como o mock) ---- */
.ms-evt{
  display:flex;align-items:center;gap:12px;
  border:1px solid var(--line);border-radius:16px;padding:12px;
  background:var(--soft);color:inherit;text-decoration:none;
  transition:transform .14s ease,box-shadow .14s ease;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-evt:hover{ transform:translateY(-1px);box-shadow:var(--shadow-soft);}
.ms-dte{
  width:50px;height:50px;border-radius:13px;flex:0 0 auto;
  background:var(--ms-0);border:1px solid var(--line);
  display:grid;place-items:center;align-content:center;text-align:center;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-dte b{ display:block;font-size:17px;color:var(--coral);line-height:1;font-weight:800;}
.ms-dte small{ display:block;font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;margin-top:2px;}
.ms-evt-info{ min-width:0;}
.ms-evt-info strong{ display:block;font-size:13.5px;color:var(--ink);line-height:1.3;}
.ms-evt-info small{ display:block;font-size:11.5px;color:var(--muted);font-weight:650;margin-top:3px;}

/* ---- Cores por tipo de publicação (feed, perfil e página do post) ---- */
.ms-tipo-vaga{ background:var(--cyan-soft)!important;color:var(--ms-700)!important;border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-tipo-bolsa{ background:var(--lilac-soft)!important;color:var(--ms-ui-accent)!important;border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-tipo-dica{ background:var(--amber-soft)!important;color:var(--ms-ui-accent)!important;border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-tipo-experiencia,
.ms-tipo-conquista,
.ms-tipo-oportunidade{ background:var(--green-soft)!important;color:var(--green-strong)!important;border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-tipo-dados{ background:var(--volt)!important;color:var(--navy)!important;border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-tipo-repost{ background:var(--lilac-soft)!important;color:var(--ms-ui-accent)!important;border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-tipo-atualizacao{ background:var(--blue-4)!important;color:var(--coral-dk)!important;border:0!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
/* também dentro do feed (vence a regra genérica mint) */
.social-home-main .feed-forum-post .post-tag.ms-tipo-vaga{ background:var(--cyan-soft)!important;color:var(--ms-700)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-forum-post .post-tag.ms-tipo-bolsa,
.social-home-main .feed-forum-post .post-tag.ms-tipo-repost{ background:var(--lilac-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-forum-post .post-tag.ms-tipo-dica{ background:var(--amber-soft)!important;color:var(--ms-ui-accent)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-forum-post .post-tag.ms-tipo-dados{ background:var(--volt)!important;color:var(--navy)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.social-home-main .feed-forum-post .post-tag.ms-tipo-atualizacao{ background:var(--blue-4)!important;color:var(--coral-dk)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Página do perfil/post — menos laranja nos blocos */
.profile-post-type,
.share-publication-type{
  border:0!important;
  min-height:26px!important;
  border-radius:999px!important;
  font-weight:800!important;}
.profile-repost-embed{
  background:var(--soft)!important;
  border:1px solid var(--line)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.profile-repost-embed .system-avatar{
  background:var(--ms-ui-accent)!important;
  color:var(--ms-ui-on)!important;
  border:0!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.profile-composer-brand .brand-mark{ background:var(--navy)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.profile-post-list .profile-post-card{ border-color:var(--line)!important;}

/* Rótulos de seção dentro do menu mobile (drawer claro) */
.mobile-menu-list .side-nav-label{
  color:var(--muted)!important;}
.mobile-menu-list .side-link{ color:var(--ink)!important;}
.mobile-menu-list .side-link .side-icon{ background:var(--soft)!important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.mobile-menu-list .side-link.active{ color:var(--ms-ui-on)!important;}
.mobile-menu-list .side-link.active .side-icon{ background:rgb(var(--ms-0-rgb) / .22)!important;}

/* Cards grandes do Explorar — um por cor da marca (menos laranja) */
.alltype-card,
.alltype-card:nth-child(1){
  background:
    var(--ms-1000),
    var(--ms-900)!important;
  box-shadow:0 22px 56px rgb(var(--ms-950-rgb) / .13)!important;}
.alltype-card:nth-child(2){
  background:var(--ms-ui-accent)!important;
  box-shadow:0 22px 56px rgb(var(--ms-1000-rgb) / .15)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.alltype-card:nth-child(3){
  background:var(--ms-950)!important;
  box-shadow:0 22px 56px rgb(var(--ms-950-rgb) / .15)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.alltype-card:nth-child(4){
  background:var(--ms-ui-accent)!important;
  box-shadow:0 22px 56px rgb(var(--ms-1000-rgb) / .14)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.alltype-card:nth-child(5){
  background:var(--ms-700)!important;
  box-shadow:0 22px 56px rgb(var(--ms-1000-rgb) / .14)!important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}


/* =====================================================================
   12. Sidebar laranja — legibilidade (adicionado com a paleta Tosteria)
   ===================================================================== */
/* Sidebar laranja — legibilidade */
.sidebar .side-link,
.sidebar .side-nav .side-link,
.social-nav .side-link{ color:rgb(var(--ms-ui-on-rgb) / .92) !important;}
.sidebar .side-link:hover{ background:rgb(var(--ms-0-rgb) / .14) !important;}
.sidebar .side-icon{ background:rgb(var(--ms-0-rgb) / .18) !important; color:var(--ms-ui-on) !important;}
.sidebar .nav-group-title,
.sidebar .side-nav-title{ color:rgb(var(--ms-ui-on-rgb) / .62) !important; letter-spacing:.10em;}
.sidebar .brand-title,
.sidebar .brand strong{ color:var(--ms-ui-on) !important;}
.sidebar .impact-card,
.sidebar .mentor-cta,
.sidebar .admin-card{ background:rgb(var(--ms-900-rgb) / .24) !important; border-color:rgb(var(--ms-50-rgb) / .22) !important;}


/* =====================================================================
   13. Polimento estético — cor sólida por omissão, degradê só nos heros
   ===================================================================== */

/* Hero de comunidade: sólido (o degradê castanho sujava o branco por cima) */
.community-hero{ background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Círculo decorativo da sidebar: mais discreto, deixa o logótipo respirar */
.sidebar:before,
.sidebar:after{ opacity:.10 !important;}
.sidebar .brand{ position:relative; z-index:2;}
.sidebar .brand-title strong,
.sidebar .brand-title small{ color:var(--ms-ui-on) !important;}

/* Campos de formulário: creme, nunca o lilás herdado */
input[type=text],input[type=email],input[type=password],input[type=search],
input[type=url],input[type=tel],input[type=number],input[type=date],
select,textarea{
  background:var(--ms-25) !important;
  border:1px solid var(--ms-200) !important;
  color:var(--ms-900) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
input::placeholder,textarea::placeholder{ color:var(--ms-ui-text-3) !important;}
input:focus,select:focus,textarea:focus{
  border-color:var(--ms-ui-accent) !important;
  box-shadow:0 0 0 4px rgb(var(--ms-1000-rgb) / .08) !important;
  outline:none !important;}

/* Avatares e tiles: cor chapada em vez de degradê */
.system-avatar,
.ms-composer-avatar.is-letter,
.avatar-letter,
.letter-inline{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Barras de progresso: sólidas */
.progress-line span,
.mini-progress span,
.account-progress-bar span,
.ranking-mini b{ background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ranking-mini b:after{ display:none !important;}

/* Sombras: mais curtas e quentes — o cartão deixa de "flutuar" demais */
:root{
  --shadow:0 18px 44px rgb(var(--ms-900-rgb) / .05);
  --shadow-soft:0 8px 22px rgb(var(--ms-900-rgb) / .035);
  --social-shadow:0 10px 26px rgb(var(--ms-900-rgb) / .04);
  --mvp-shadow:0 12px 30px rgb(var(--ms-900-rgb) / .04);
  --mvp-shadow-strong:0 18px 44px rgb(var(--ms-900-rgb) / .06);}

/* Etiquetas de categoria — família quente, distinguidas por tom */
.post-tag,
.feed-update-card .post-tag{ background:var(--ms-100) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-vagas .post-tag,
.post-tag.vagas{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-bolsa .post-tag,
.feed-update-card.feed-estudos .post-tag,
.feed-update-card.feed-formacao .post-tag,
.post-tag.bolsa{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-eventos .post-tag{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-tendencias .post-tag,
.feed-update-card.feed-radar .post-tag{ background:var(--ms-250) !important; color:var(--ms-900) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-update-card.feed-blog .post-tag{ background:var(--ms-200) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Pontos dos filtros do feed acompanham a mesma família */
.ms-feed-filters .ms-filter .ms-filter-dot{ background:var(--ms-300) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-feed-filters .ms-filter.on .ms-filter-dot{ background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* ---------------------------------------------------------------------
   13b. Correção: o brilho decorativo do .button-primary estava a escapar
   do botão (o botão não é `position:relative`), pintando uma faixa branca
   por cima do painel do login. Com a paleta chapada este efeito já não
   tem função — desligado, e os botões passam a conter o que é seu.
   --------------------------------------------------------------------- */
.button-primary:after,
.mobile-bottom-nav a.active:after,
.social-mobile-nav a.active:after,
.trend-score:after{ display:none !important; content:none !important;}
.button,.button-primary,.button-white,.ms-composer-send{ position:relative; overflow:hidden;}

/* ---------------------------------------------------------------------
   13c. Detalhes finais
   --------------------------------------------------------------------- */
/* Etiqueta "Login"/"Acesso" dentro de painéis flex — não deve esticar */
.auth-visual .micro-label,
.hero-card .micro-label,
.community-hero .micro-label,
.mentor-hero-page .micro-label{ align-self:flex-start; width:max-content;}

/* Cartões dentro da sidebar laranja: véu claro em vez de véu castanho */
.sidebar .impact-card,
.sidebar .mentor-cta,
.sidebar .admin-card,
.sidebar .side-card{
  background:rgb(var(--ms-50-rgb) / .14) !important;
  border:1px solid rgb(var(--ms-50-rgb) / .26) !important;
  box-shadow:none !important;}

/* Ícones da sidebar com peso uniforme */
.sidebar .side-icon svg{ stroke-width:1.9;}

/* Foco visível para teclado (acessibilidade) */
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--ms-ui-accent) !important;
  outline-offset:2px !important;}

/* =====================================================================
   14. UI 2026 — densidade, superfícies e navegação global
   ---------------------------------------------------------------------
   O que esta camada resolve:
   a) o fundo e o cartão tinham 1,03:1 de contraste — tudo lia como uma
      folha creme só. O fundo desce para #F4EDE0 e o cartão branco acende.
   b) raios e sombras mais contidos, texto mais denso: menos "landing",
      mais aplicação.
   c) a navegação primária sobe para a barra do topo (partials/topnav.php);
      a coluna esquerda fica clara e guarda Descobrir/Insights.
   d) o .topbar de cada página deixa de acumular título + controlos: os
      controlos vivem no topo, o título fica só título.
   ===================================================================== */

:root{
  --app-bg:var(--ms-150);
  --surface:var(--ms-0);
  --hairline:var(--ms-250);
  --hairline-2:var(--ms-200);
  --radius:14px;
  --shadow:0 1px 2px rgb(var(--ms-900-rgb) / .03), 0 8px 24px -14px rgb(var(--ms-900-rgb) / .11);
  --shadow-soft:0 1px 2px rgb(var(--ms-900-rgb) / .025);
  --social-bg:var(--ms-150); --mvp-bg:var(--ms-150); --brand-surface:var(--ms-150);
  --social-radius:14px; --social-border:var(--ms-250); --brand-border:var(--ms-250);
  --line:var(--ms-250); --line-2:var(--ms-200); --soft:var(--ms-100); --soft-2:var(--ms-150);
  --social-shadow:0 1px 2px rgb(var(--ms-900-rgb) / .03), 0 8px 24px -14px rgb(var(--ms-900-rgb) / .11);}
body,
body.social-body{ background:var(--ms-150) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* ---------- Superfícies: cartão branco com fio, não sombra pesada ---------- */
.post-card,.social-card,.feed-card,.section-block,.list-card,.content-card,
.form-card,.profile-card,.admin-card,.right-widget,.card,.mentorship-panel,
.plan-card,.summary-card,.ms-radar-rail,.data-list,.community-card{
  background:var(--ms-0) !important;
  border:1px solid var(--hairline) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-radar-rail{ background:var(--ms-900) !important; border-color:var(--ms-900) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* ---------- Densidade ---------- */
.post-card,.social-card{ padding:16px !important;}
.section-block,.list-card,.content-card,.form-card,.right-widget{ padding:16px !important;}
.section-head{ margin-bottom:12px !important;}
.section-head h2,.section-head h3{ font-size:17px !important; letter-spacing:-.025em !important;}
.post-card h2,.post-card h3{ letter-spacing:-.02em;}
.post-text,.post-card p{ font-size:13.5px !important; line-height:1.55 !important;}
.chip,.filter-chip,.post-tag,.tag,.micro-label{ border-radius:7px !important;}
.button,.button-primary,.button-white,.ms-composer-send{ border-radius:999px;}

/* =====================================================================
   14a. Barra de navegação global (desktop)
   ===================================================================== */
.ms-gnav{
  position:sticky; top:0; z-index:120;
  background:var(--ms-0); border-bottom:1px solid var(--hairline);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-gnav-in{
  max-width:1240px; margin:0 auto; height:56px;
  display:flex; align-items:center; gap:12px; padding:0 18px;}
.ms-gnav-brand{ display:grid; place-items:center; width:38px; height:38px; border-radius:11px;
  background:var(--ms-900); color:var(--ms-ui-on); flex:none;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-gnav-brand .brand-mark{ background:none !important; box-shadow:none !important; width:22px; height:22px;}
.ms-gnav-brand svg{ width:22px; height:22px;}

.ms-gnav-search{ position:relative; flex:0 1 300px; display:flex; align-items:center;}
.ms-gnav-search svg{ position:absolute; left:11px; width:15px; height:15px; stroke:var(--ms-600); fill:none; stroke-width:2;}
.ms-gnav-search input{
  width:100%; height:36px; border-radius:8px; border:1px solid var(--hairline);
  background:var(--ms-100); padding:0 12px 0 34px; font:inherit; font-size:13px; color:var(--ms-800);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-gnav-search input::placeholder{ color:var(--ms-ui-text-3);}
.ms-gnav-search input:focus{ border-color:var(--ms-ui-accent); box-shadow:0 0 0 3px rgb(var(--ms-1000-rgb) / .07); outline:none;}

.ms-gnav-nav{ display:flex; margin-left:auto; align-items:stretch; height:56px;}
.ms-gnav-link{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  min-width:76px; padding:0 8px; color:var(--ms-600); font-size:11px; font-weight:600;
  position:relative; text-decoration:none;}
.ms-gnav-link:hover{ color:var(--ms-900);}
.ms-gnav-ico{ position:relative; display:grid; place-items:center;}
.ms-gnav-ico svg{ width:21px; height:21px; stroke:currentColor; fill:none; stroke-width:1.8;}
.ms-gnav-badge{
  position:absolute; top:-5px; right:-9px; min-width:16px; height:16px; border-radius:999px;
  background:var(--ms-ui-accent); color:var(--ms-ui-on); font-size:9.5px; font-weight:800; display:grid; place-items:center; padding:0 4px;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-gnav-link.is-active{ color:var(--ms-900);}
.ms-gnav-link.is-active:after{
  content:""; position:absolute; left:10px; right:10px; bottom:0; height:2.5px;
  background:var(--ms-ui-accent); border-radius:2px 2px 0 0;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-gnav-tools{ display:flex; align-items:center; gap:8px; padding-left:12px; margin-left:6px; border-left:1px solid var(--hairline-2);}
.ms-gnav-tools .country-chip,
.ms-gnav-tools .lang-chip{ height:34px !important; box-shadow:none !important; border:1px solid var(--hairline) !important; background:var(--ms-100) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-gnav-me{ display:flex; align-items:center; gap:8px; text-decoration:none; padding:3px 6px 3px 3px; border-radius:999px;}
.ms-gnav-me:hover{ background:var(--ms-100);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-gnav-av{ width:32px; height:32px; border-radius:50%; object-fit:cover; flex:none;}
.ms-gnav-av.is-letter{ background:var(--ms-ui-accent); color:var(--ms-ui-on); display:grid; place-items:center; font-size:12.5px; font-weight:800;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-gnav-me-txt{ line-height:1.15;}
.ms-gnav-me-txt strong{ display:block; font-size:12.5px; color:var(--ms-900);}
.ms-gnav-me-txt small{ display:block; font-size:11px; color:var(--ms-600);}

/* =====================================================================
   14b. Coluna esquerda clara (a navegação primária foi para o topo)
   ===================================================================== */
@media (min-width:861px){
  .side-group-primary{ display:none !important;}

  .site-shell > .sidebar:not(.admin-sidebar){
    background:transparent !important;
    box-shadow:none !important;
    padding:18px 0 18px 4px !important;
    width:246px !important;}
  .sidebar:not(.admin-sidebar) .brand{ display:none !important;}
  .sidebar:not(.admin-sidebar):before,
  .sidebar:not(.admin-sidebar):after{ display:none !important;}

  .sidebar:not(.admin-sidebar) .side-nav{
    background:var(--ms-0); border:1px solid var(--hairline); border-radius:var(--radius);
    padding:6px; box-shadow:var(--shadow); margin-bottom:12px;}
  .sidebar:not(.admin-sidebar) .side-nav-label{
    color:var(--ms-ui-text-3) !important; font-size:10.5px !important; letter-spacing:.09em;
    padding:10px 10px 4px !important;}
  .sidebar:not(.admin-sidebar) .side-link{
    color:var(--ms-800) !important; border-radius:9px !important; padding:8px 10px !important;
    font-size:13px !important; font-weight:600 !important;}
  .sidebar:not(.admin-sidebar) .side-link:hover{ background:var(--ms-100) !important;}
  .sidebar:not(.admin-sidebar) .side-icon{
    background:transparent !important; color:var(--ms-600) !important; width:22px !important; height:22px !important;}
  .sidebar:not(.admin-sidebar) .side-icon svg{ width:18px; height:18px;}
  .sidebar:not(.admin-sidebar) .side-link.active{
    background:var(--ms-150) !important; color:var(--ms-ui-accent) !important; box-shadow:none !important;}
  .sidebar:not(.admin-sidebar) .side-link.active .side-label{ color:var(--ms-ui-accent) !important;}
  .sidebar:not(.admin-sidebar) .side-link.active .side-icon{ color:var(--ms-ui-accent) !important; background:transparent !important;}
  .sidebar:not(.admin-sidebar) .side-link .counter{
    background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;}
  .sidebar:not(.admin-sidebar) .side-footer .mentor-cta,
  .sidebar:not(.admin-sidebar) .side-footer .impact-box{
    background:var(--ms-0) !important; border:1px solid var(--hairline) !important;
    border-radius:var(--radius) !important; box-shadow:var(--shadow) !important; color:var(--ms-800) !important;}
  .sidebar:not(.admin-sidebar) .mentor-cta strong{ color:var(--ms-900) !important;}
  .sidebar:not(.admin-sidebar) .mentor-cta p,
  .sidebar:not(.admin-sidebar) .impact-head span{ color:var(--ms-600) !important;}
  .sidebar:not(.admin-sidebar) .mentor-cta .letter{ color:var(--ms-ui-accent) !important;}
  .sidebar:not(.admin-sidebar) .mentor-cta .button-white{
    background:var(--ms-ui-accent) !important; color:var(--ms-ui-on) !important; box-shadow:none !important;}
  .sidebar:not(.admin-sidebar) .impact-head strong{ color:var(--ms-ui-accent) !important;}

  /* 14c. Cabeçalho de página: só título. Os controlos vivem na barra do topo. */
  .site-shell:not(.admin-shell) .main > .topbar .top-actions{ display:none !important;}
  .main > .topbar{
    background:transparent !important; backdrop-filter:none !important;
    border:0 !important; box-shadow:none !important;
    padding:6px 0 14px !important; min-height:0 !important;
    position:static !important; display:block !important;}
  .main > .topbar .hello{ width:auto !important; min-width:0 !important;}
  .main > .topbar .hello h1{ font-size:26px !important; letter-spacing:-.035em !important; margin:6px 0 4px !important; color:var(--ms-900);}
  .main > .topbar .hello p{ font-size:13.5px !important; color:var(--ms-600) !important; max-width:680px;}
  .main > .topbar .page-kicker{
    display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:7px;
    background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;
    font-size:10.5px !important; font-weight:800; letter-spacing:.07em; text-transform:uppercase;}}
@media (max-width:860px){
  .ms-gnav{ display:none !important;}}

/* =====================================================================
   14d. Cartão de publicação — barra de ações com rótulo, como numa rede
   ===================================================================== */
.post-header strong{ font-size:14px !important;}
.post-header small{ font-size:11.5px !important; color:var(--ms-ui-text-3) !important;}
.feed-card-footer{ border-top:1px solid var(--hairline-2) !important; padding-top:10px !important; margin-top:12px !important;}
.ms-icon-row{ gap:2px !important;}
.ms-icon-action{
  display:inline-flex !important; align-items:center; gap:6px;
  height:34px !important; width:auto !important; min-width:0 !important;
  padding:0 12px !important; border-radius:8px !important;
  background:transparent !important; color:var(--ms-600) !important;
  font-size:12.5px !important; font-weight:700 !important;}
.ms-icon-action:hover{ background:var(--ms-100) !important; color:var(--ms-900) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-icon-action svg{ width:17px !important; height:17px !important;}
.ms-icon-action[title="Comentários"]:after{ content:"Comentar";}
.ms-icon-action[title*="Guardar"]:after,
.ms-icon-action[title*="Salvar"]:after{ content:"Guardar";}
.ms-icon-action[title*="Partilhar"]:after,
.ms-icon-action[title*="Compartilhar"]:after{ content:"Partilhar";}
.ms-icon-action[title="Abrir"]:after{ content:"Abrir";}
.ms-icon-action.is-active,
.ms-icon-action[aria-pressed="true"]{ color:var(--ms-ui-accent) !important;}

/* Etiquetas mais discretas e legíveis */
.post-tag{
  min-height:22px !important; padding:0 9px !important;
  font-size:10.5px !important; letter-spacing:.04em; text-transform:uppercase;}

/* Composer mais compacto */
.ms-feed-composer{ padding:12px 14px !important;}
.ms-composer-input{ min-height:44px !important; font-size:13.5px !important;}

/* =====================================================================
   14e. Mobile — topo compacto e barra inferior de destinos
   ===================================================================== */
@media (max-width:860px){
  .mobile-top{
    background:var(--ms-0) !important; border-bottom:1px solid var(--hairline) !important;
    box-shadow:none !important; padding:10px 12px !important;}
  .main > .topbar{ padding:12px 0 6px !important;}
  .main > .topbar .hello h1{ font-size:21px !important; letter-spacing:-.03em !important;}
  .main > .topbar .top-actions{ flex-wrap:wrap; gap:8px;}
  .post-card,.social-card{ padding:14px !important; border-radius:14px !important;}
  .mobile-bottom-nav,.social-mobile-nav{
    background:rgb(var(--ms-0-rgb) / .96) !important;
    border-top:1px solid var(--hairline) !important;
    box-shadow:0 -6px 20px rgb(var(--ms-900-rgb) / .04) !important;
    backdrop-filter:blur(14px);}
  .mobile-bottom-nav a,.social-mobile-nav a{ color:var(--ms-600) !important; font-size:9.5px !important; font-weight:700 !important;}
  .mobile-bottom-nav a.active,.social-mobile-nav a.active{ color:var(--ms-ui-accent) !important; background:none !important;}
  .mobile-bottom-nav a.active svg,.social-mobile-nav a.active svg{ stroke:var(--ms-ui-accent) !important;}
  .ms-icon-action{ padding:0 9px !important; font-size:12px !important;}}


/* ---------------------------------------------------------------------
   14f. Remates
   --------------------------------------------------------------------- */
/* Cartão de sessão do admin na coluna clara */
.sidebar:not(.admin-sidebar) .admin-session-card{
  background:var(--ms-0) !important; border:1px solid var(--ms-250) !important;
  border-radius:14px !important; box-shadow:0 1px 2px rgb(var(--ms-900-rgb) / .03) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.sidebar:not(.admin-sidebar) .admin-session-card strong,
.sidebar:not(.admin-sidebar) .admin-session-card p{ color:var(--ms-800) !important;}
.sidebar:not(.admin-sidebar) .admin-session-badge{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* A barra do topo só existe fora do painel admin: lá a sidebar continua laranja */
.admin-shell .side-group-primary{ display:block !important;}

/* Rail direito acompanha a nova superfície */
.social-right-rail > *{ border-radius:14px !important;}

/* Divisores mais finos em listas */
.data-list .data-row,.ranking-mini,.deadline-social,.community-mini{
  border-color:var(--ms-200) !important;}

/* =====================================================================
   15. UI 2026 — componentes de rede social
   Acompanha o markup novo: partials/profile_card.php e a linha de prova
   social nos cartões do feed (app.php).
   ===================================================================== */

/* ---------- Cartão de perfil da coluna esquerda ---------- */
.ms-pcard{
  background:var(--ms-0); border:1px solid var(--ms-250); border-radius:14px;
  box-shadow:0 1px 2px rgb(var(--ms-900-rgb) / .03), 0 8px 24px -14px rgb(var(--ms-900-rgb) / .11);
  overflow:hidden; margin-bottom:12px;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-pcard-cover{
  display:block; height:56px;
  background:var(--ms-ui-accent);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-pcard-top{ display:block; padding:0 14px 12px; text-align:center; text-decoration:none;}
.ms-pcard-av{
  display:grid; place-items:center; width:62px; height:62px; border-radius:50%;
  border:3px solid var(--ms-0); margin:-32px auto 8px; object-fit:cover; background:var(--ms-150);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-pcard-av.is-letter{ background:var(--ms-ui-accent); color:var(--ms-ui-on); font-size:21px; font-weight:800;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-pcard-name{ display:block; font-size:15px; color:var(--ms-900); letter-spacing:-.02em; font-weight:800;}
.ms-pcard-headline{ display:block; font-size:12px; color:var(--ms-600); margin-top:3px; line-height:1.35;}
.ms-pcard-links{ border-top:1px solid var(--ms-200); display:grid;}
.ms-pcard-links a{
  display:flex; justify-content:space-between; align-items:center;
  padding:9px 14px; font-size:12.5px; font-weight:700; color:var(--ms-800); text-decoration:none;}
.ms-pcard-links a:hover{ background:var(--ms-100); color:var(--ms-ui-accent);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-pcard-cta{ display:grid; gap:8px; padding:0 14px 14px;}
.ms-pcard-cta .button{ width:100%; justify-content:center;}
@media (max-width:860px){ .ms-pcard{ display:none;}}

/* ---------- Prova social ---------- */
.ms-social-proof{
  display:flex; align-items:center; gap:7px;
  padding:10px 0 0; margin-top:10px; border-top:1px solid var(--ms-200);
  font-size:11.5px; color:var(--ms-600);}
.ms-social-proof b{ font-weight:700; color:var(--ms-600);}
.ms-rx{ display:inline-flex;}
.ms-rx i{
  width:19px; height:19px; border-radius:50%; border:1.5px solid var(--ms-0);
  display:grid; place-items:center; font-size:9.5px; font-style:normal; margin-left:-6px;}
.ms-rx i:first-child{ margin-left:0;}
.ms-rx .rx1{ background:var(--ms-ui-accent);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-rx .rx2{ background:var(--ms-ui-accent);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-proof-right{ margin-left:auto; color:var(--ms-600); text-decoration:none; font-weight:600;}
.ms-proof-right:hover{ color:var(--ms-ui-accent); text-decoration:underline;}

/* ---------- Cabeçalho do cartão: nome, headline, meta ---------- */
.post-card .post-header{ gap:11px !important; margin-bottom:10px !important; align-items:flex-start !important;}
.post-card .post-header .avatar,
.post-card .post-header .system-avatar,
.post-card .feed-forum-avatar{
  width:46px !important; height:46px !important; border-radius:50% !important; flex:0 0 auto !important;}
.post-card .post-header strong{
  font-size:14px !important; line-height:1.2 !important; color:var(--ms-900) !important; font-weight:800 !important;}
.post-card .post-header strong a{ color:inherit !important; text-decoration:none;}
.post-card .post-header strong a:hover{ color:var(--ms-ui-accent) !important;}
.post-card .post-header small{
  font-size:11.5px !important; color:var(--ms-600) !important; font-weight:600 !important;
  line-height:1.4 !important; margin-top:2px !important;
  white-space:normal !important; overflow:visible !important; text-overflow:clip !important;}
.post-card .post-header .post-date-link{ color:var(--ms-ui-text-3) !important;}
.forum-post-title,
.feed-update-card h2,
.feed-update-card h3{
  font-size:15.5px !important; font-weight:800 !important;
  letter-spacing:-.02em !important; line-height:1.32 !important;
  color:var(--ms-900) !important; margin:2px 0 6px !important;}
.post-text{ margin-bottom:10px !important;}
.ms-chips{ margin-top:2px !important;}
.ms-chips .c{
  background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;
  border-radius:6px !important; padding:3px 8px !important;
  font-size:11.5px !important; font-weight:700 !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* ---------- Barra de ações a toda a largura, como numa rede ---------- */
.post-actions.ms-icon-row,
.feed-card-footer .ms-icon-row{
  display:flex !important; width:100% !important; gap:2px !important;
  border-top:1px solid var(--ms-200) !important; margin-top:10px !important; padding-top:6px !important;
  flex-wrap:nowrap !important; overflow:hidden;}
.post-actions.ms-icon-row .ms-icon-action,
.feed-card-footer .ms-icon-row .ms-icon-action{
  flex:1 1 0 !important; justify-content:center !important; min-width:0 !important;}
.ms-icon-action[title="Curtidas"]:after{ content:"Gostei";}
.ms-icon-action[title="Abrir publicação"]:after{ content:"Abrir";}
.ms-icon-action b{ font-weight:700 !important;}
/* quando o cartão fica estreito, ficam só os ícones */
@media (max-width:520px){
  .ms-icon-action:after{ display:none !important;}}
.feed-card-footer{
  display:block !important;}
.feed-card-footer > small{ display:block; margin-bottom:2px; color:var(--ms-ui-text-3) !important; font-size:11.5px;}

/* ---------- Composer com cara de rede ---------- */
.ms-feed-composer{ padding:12px 14px !important;}
.ms-composer-avatar,
.ms-composer-avatar.is-letter{
  width:42px !important; height:42px !important; border-radius:50% !important;
  font-size:15px !important; overflow:hidden !important;}
.ms-composer-input{
  border-radius:22px !important; background:var(--ms-100) !important;
  border:1px solid var(--ms-250) !important; padding:12px 16px !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-composer-input:focus{ background:var(--ms-0) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-composer-row{ border-top:1px solid var(--ms-200); margin-top:10px; padding-top:8px;}
.ms-composer-act{ border-radius:8px !important; font-size:12.5px !important; font-weight:700 !important;}

/* ---------- Filtros do feed ---------- */
.ms-feed-filters{ gap:8px !important;}
.ms-feed-filters .ms-filter{
  border-radius:999px !important; font-size:12.5px !important; font-weight:700 !important;
  border:1px solid var(--ms-250) !important; background:var(--ms-0) !important; color:var(--ms-800) !important;
  padding:7px 13px !important; box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-feed-filters .ms-filter.on{
  background:var(--ms-900) !important; border-color:var(--ms-900) !important; color:var(--ms-ui-on) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-feed-filters .ms-filter.on .ms-filter-dot{ background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* ---------- Comentário em destaque ---------- */
.comment-preview{
  background:var(--ms-100) !important; border:1px solid var(--ms-200) !important;
  border-radius:10px !important; padding:10px 12px !important; font-size:12.5px !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* =====================================================================
   16. Correções finais da UI 2026
   ===================================================================== */

/* Corpo da publicação: texto de leitura, não destaque */
.post-text,
.feed-forum-post .forum-post-copy,
.social-home-main .feed-forum-post .forum-post-copy,
.feed-update-card .post-text{
  color:var(--ms-800) !important; font-weight:400 !important;
  font-size:13.5px !important; line-height:1.58 !important;
  letter-spacing:0 !important;}

/* Etiqueta de categoria sem o ponto herdado */
.post-tag:before{ content:"" !important; margin:0 !important;}

/* Barra de ações: botões largos e planos, com rótulo */
.post-actions.ms-icon-row .ms-icon-action,
.post-actions.ms-icon-row .save-btn-icon,
.feed-card-footer .ms-icon-row .ms-icon-action,
.feed-card-footer .ms-icon-row .save-btn-icon{
  flex:1 1 0 !important;
  width:auto !important; min-width:0 !important;
  height:36px !important; min-height:36px !important;
  padding:0 10px !important;
  border:0 !important; border-radius:8px !important;
  background:transparent !important; color:var(--ms-600) !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  gap:6px; font-size:12.5px !important; font-weight:700 !important;
  transform:none !important; box-shadow:none !important;}
.post-actions.ms-icon-row .ms-icon-action:hover,
.post-actions.ms-icon-row .save-btn-icon:hover,
.feed-card-footer .ms-icon-row .ms-icon-action:hover,
.feed-card-footer .ms-icon-row .save-btn-icon:hover{
  background:var(--ms-100) !important; color:var(--ms-900) !important; border:0 !important; transform:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.post-actions.ms-icon-row .ms-icon-action.is-primary,
.post-actions.ms-icon-row .save-btn-icon.is-saved,
.feed-card-footer .ms-icon-row .save-btn-icon.is-saved{
  background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-icon-row .save-btn-icon:after{ content:"Guardar";}
.ms-icon-row .save-btn-icon.is-saved:after{ content:"Guardado";}
.ms-link-share-btn:after,
.ms-icon-action[aria-label^="Compartilhar link"]:after,
.ms-icon-action[aria-label^="Partilhar link"]:after{ content:"Partilhar";}
.ms-link-share-btn,
.ms-icon-action[aria-label^="Compartilhar link"]{ background:transparent !important; border:0 !important; color:var(--ms-600) !important;}

/* Rodapé do cartão de atualização: data por cima, ações em baixo */
.feed-card-footer{ display:block !important;}
.feed-card-footer > small{ display:block !important; margin:0 0 2px !important;}
.feed-card-footer .feed-card-footer-actions{ width:100% !important;}

/* Bolhas de reação mais nítidas */
.ms-rx i{ font-size:10px; line-height:1; color:var(--ms-ui-on);}
.ms-rx .rx2{ color:var(--ms-900);}

/* Navegação lateral mais compacta */
.sidebar:not(.admin-sidebar) .side-link{ padding:7px 10px !important; min-height:0 !important;}
.sidebar:not(.admin-sidebar) .side-nav-label{ padding:12px 10px 4px !important;}
.sidebar:not(.admin-sidebar) .side-footer{ display:grid; gap:12px;}
.sidebar:not(.admin-sidebar) .mentor-cta{ padding:14px !important;}
.sidebar:not(.admin-sidebar) .mentor-cta .letter{ font-size:26px !important; line-height:1;}
.sidebar:not(.admin-sidebar) .impact-box{ padding:12px 14px !important;}

/* Chips do composer alinhados à esquerda, botão publicar à direita */
.ms-composer-row{ display:flex !important; align-items:center; gap:8px; flex-wrap:wrap;}
.ms-composer-send{ margin-left:auto !important;}

/* =====================================================================
   17. Remates da barra de ações e das etiquetas
   ===================================================================== */
/* Etiqueta por omissão: tint laranja. As categorias (vagas, bolsas,
   eventos, radar) mantêm o seu tom, definido na camada 13. */
.post-card .feed-card-menu .post-tag,
.post-card .post-header .post-tag{
  background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.post-card.feed-vagas .post-tag,
.post-card.feed-oportunidades .post-tag{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.post-card.feed-bolsa .post-tag,
.post-card.feed-bolsas .post-tag,
.post-card.feed-estudos .post-tag,
.post-card.feed-formacao .post-tag{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.post-card.feed-eventos .post-tag{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.post-card.feed-tendencias .post-tag,
.post-card.feed-radar .post-tag{ background:var(--ms-250) !important; color:var(--ms-900) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.post-card .post-tag.publi-tag{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Nenhum botão da barra fica com fundo cheio por omissão */
.post-card .ms-icon-row .ms-icon-action,
.post-card .ms-icon-row .ms-icon-action-count,
.post-card .ms-icon-row [class*="save-btn"],
.post-card .ms-icon-row [class*="share-btn"]{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  flex:1 1 0 !important; width:auto !important; min-width:0 !important;
  height:36px !important; min-height:36px !important; border-radius:8px !important;
  color:var(--ms-600) !important; transform:none !important;}
.post-card .ms-icon-row .ms-icon-action:hover,
.post-card .ms-icon-row [class*="save-btn"]:hover,
.post-card .ms-icon-row [class*="share-btn"]:hover{
  background:var(--ms-100) !important; color:var(--ms-900) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.post-card .ms-icon-row [class*="is-saved"]{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Rodapé do cartão de atualização: data em cima, ações em baixo */
.post-card .feed-card-footer,
.social-home-main .post-card .feed-card-footer{ display:block !important;}
.post-card .feed-card-footer > small{ display:block !important; margin-bottom:2px !important;}
.post-card .feed-card-footer .feed-card-footer-actions{ display:flex !important; width:100% !important;}

/* =====================================================================
   18. Especificidade final — vence os últimos !important de style.css
   ===================================================================== */
body .social-home-main .post-card .post-tag,
body .social-feed-column .post-card .post-tag,
body .post-card .forum-post-header .post-tag{
  background:var(--ms-150) !important; color:var(--ms-ui-accent) !important; border:0 !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .post-card.feed-vagas .post-tag,
body .post-card.feed-oportunidades .post-tag{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .post-card.feed-bolsa .post-tag,
body .post-card.feed-estudos .post-tag,
body .post-card.feed-formacao .post-tag{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .post-card.feed-eventos .post-tag{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .post-card.feed-tendencias .post-tag,
body .post-card.feed-radar .post-tag{ background:var(--ms-250) !important; color:var(--ms-900) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .social-home-main .post-card .ms-icon-row > *,
body .post-card .feed-forum-actions > *,
body .post-card .feed-card-footer-actions > *{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  color:var(--ms-600) !important; flex:1 1 0 !important; width:auto !important;
  min-width:0 !important; height:36px !important; border-radius:8px !important;}
body .social-home-main .post-card .ms-icon-row > *:hover,
body .post-card .feed-forum-actions > *:hover,
body .post-card .feed-card-footer-actions > *:hover{
  background:var(--ms-100) !important; color:var(--ms-900) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .post-card .ms-icon-row .is-saved,
body .post-card .ms-icon-row .is-primary{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Etiqueta da publicação da comunidade: tint laranja, não o menta herdado
   (precisa desta especificidade para vencer .social-home-main .feed-forum-post
   .post-tag:not(.alert) da camada antiga). */
.social-home-main .feed-forum-post .post-tag:not(.alert):not(.publi-tag),
.social-feed-column .feed-forum-post .post-tag:not(.alert):not(.publi-tag),
.publication-card .post-tag:not(.alert),
.share-publication-card .post-tag:not(.alert),
.profile-post-card .post-tag:not(.alert),
.post-tag.ms-tipo-experiencia,
.post-tag.ms-tipo-conquista{
  background:var(--ms-150) !important; color:var(--ms-ui-accent) !important; border:0 !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* =====================================================================
   19. Estados semânticos e robustez
   ===================================================================== */

/* Erro / alerta em carmim: diz "erro" sem competir com o laranja da marca */
:root{
  --red:var(--ms-ui-accent);        --red-strong:var(--ms-ui-accent);  --red-soft:var(--ms-150);  --red-line:var(--ms-300);
  --amber:var(--ms-ui-accent);      --amber-strong:var(--ms-ui-accent); --amber-soft:var(--ms-150); --amber-line:var(--ms-250);
  --green-state:var(--ms-ui-accent); --green-strong:var(--ms-ui-accent); --green-soft:var(--ms-150); --green-line:var(--ms-250);}
.flash-error,.form-error,.is-error,.error-text{ color:var(--ms-danger-strong) !important;}
.flash-error{ background:var(--ms-150) !important; border-color:var(--ms-danger-line) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* Se a barra do topo não estiver presente (ex.: ficheiro por subir, ou o
   painel admin), a página NÃO pode ficar sem cabeçalho: os controlos da
   .topbar voltam a aparecer. */
@media (min-width:861px){
  .site-shell:not(.admin-shell) .main > .topbar .top-actions{ display:flex !important;}
  body:has(.ms-gnav) .site-shell:not(.admin-shell) .main > .topbar .top-actions{ display:none !important;}}

/* ---------------------------------------------------------------------
   19b. Toque e hover — o dedo não tem hover
   --------------------------------------------------------------------- */
.ms-icon-row{ flex-wrap:wrap !important; row-gap:4px !important;}
.post-card .ms-icon-row > *{
  min-width:96px !important;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:background-color .12s ease, color .12s ease !important;}
/* estados de hover só onde há rato */
@media (hover:none){
  .post-card .ms-icon-row > *:hover,
  .sidebar .side-link:hover,
  .ms-gnav-link:hover,
  .ms-pcard-links a:hover{ background:transparent !important;}
  .post-card .ms-icon-row > *:active{ background:var(--ms-100) !important;}
  .post-card .ms-icon-row > *{ min-height:44px !important; height:44px !important;}
  .ms-gnav-link,.sidebar .side-link{ min-height:44px;}}
/* nunca deslocar o botão ao passar o rato — era isso que fazia o alvo "fugir" */
.ms-icon-action,.save-btn-icon,.button,.ms-composer-act,.ms-filter{
  transform:none !important;}
.ms-icon-action:hover,.save-btn-icon:hover,.button:hover,.ms-filter:hover{
  transform:none !important;}

/* Rótulos das ações não quebram linha nem empurram o ícone */
.post-card .ms-icon-row > *{ white-space:nowrap !important; overflow:hidden;}
.post-card .ms-icon-row > *:after{ font-weight:700;}
@media (max-width:700px){
  .post-card .ms-icon-row > *{ min-width:0 !important;}
  .post-card .ms-icon-row > *:after{ display:none !important;}}

/* =====================================================================
   20. Arremate: coluna esquerda, cabeçalho de página, topo e mobile-app
   ===================================================================== */

@media (min-width:861px){
  /* 20a. A coluna esquerda deixa de ter scroll interno — acompanha a página.
     Era o `height:calc(100vh - 44px); overflow-y:auto` que cortava "Estatísticas". */
  .site-shell:not(.admin-shell) > .sidebar{
    position:sticky !important; top:72px !important;
    height:auto !important; min-height:0 !important; max-height:none !important;
    overflow:visible !important; display:block !important;
    align-self:start !important;}

  /* 20b. Perfil aparecia duas vezes: no cartão novo da esquerda e no rail
     direito. Fica só o da esquerda. */
  .social-right-rail .profile-summary{ display:none !important;}

  /* 20c. Cabeçalho de página sem a faixa creme (vence o rgba herdado) */
  body .main > .topbar.topbar,
  body:not(.admin-area) .main > .topbar{
    background:transparent !important; backdrop-filter:none !important;
    border:0 !important; box-shadow:none !important; border-radius:0 !important;
    padding:4px 0 14px !important; position:static !important;}}

/* 20d. Barra do topo que não transborda: vai largando peso conforme aperta */
.ms-gnav-in{ min-width:0;}
.ms-gnav-search{ min-width:0; flex:1 1 240px; max-width:320px;}
.ms-gnav-nav{ flex:0 0 auto;}
.ms-gnav-tools{ flex:0 0 auto; min-width:0;}
.ms-gnav-me-txt{ max-width:120px; overflow:hidden;}
.ms-gnav-me-txt strong{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
@media (max-width:1320px){ .ms-gnav-me-txt{ display:none !important;}}
@media (max-width:1220px){
  .ms-gnav-tools .country-chip strong{ display:none !important;}
  .ms-gnav-tools .country-chip{ padding:0 9px !important;}}
@media (max-width:1120px){
  .ms-gnav-link{ min-width:56px !important;}
  .ms-gnav-label{ display:none !important;}
  .ms-gnav-search{ max-width:220px;}}
@media (max-width:960px){ .ms-gnav-search{ display:none !important;}}

/* =====================================================================
   20e. Mobile — comportar-se como aplicação, não como site
   ===================================================================== */
@media (max-width:860px){
  body,body.social-body{ background:var(--ms-150) !important;}

  /* Topo fixo e compacto */
  .mobile-top{
    position:sticky !important; top:0 !important; z-index:90 !important;
    background:rgb(var(--ms-0-rgb) / .94) !important; backdrop-filter:blur(16px) !important;
    border-bottom:1px solid var(--ms-250) !important; box-shadow:none !important;
    padding:9px 12px !important; gap:8px !important;}
  .mobile-top .brand-title{ display:none !important;}
  .mobile-top .brand-mark{ width:34px !important; height:34px !important; border-radius:11px !important;}
  .mobile-top .country-chip,.mobile-top .lang-chip{
    height:34px !important; background:var(--ms-100) !important; border:1px solid var(--ms-250) !important;
    box-shadow:none !important; color:var(--ms-800) !important;}

  /* Conteúdo com goteiras de app e espaço para a barra de baixo */
  .site-shell,.app-shell{ padding:10px 10px 108px !important;}
  .main{ padding:0 !important;}
  .post-card,.social-card,.section-block,.list-card,.content-card,.right-widget{
    border-radius:16px !important; padding:14px !important;}
  .main > .topbar{ padding:10px 2px 8px !important;}
  .main > .topbar .hello h1{ font-size:20px !important; letter-spacing:-.03em !important;}
  .main > .topbar .hello p{ font-size:12.5px !important;}
  .main > .topbar .top-actions{
    display:flex !important; gap:8px !important; flex-wrap:wrap !important; margin-top:8px;}

  /* Filtros do feed como separadores deslizantes */
  .ms-feed-filters{
    overflow-x:auto !important; flex-wrap:nowrap !important;
    padding-bottom:4px !important; scrollbar-width:none;}
  .ms-feed-filters::-webkit-scrollbar{ display:none;}
  .ms-feed-filters .ms-filter{ white-space:nowrap !important;}

  /* Barra inferior: pastilha clara, item ativo laranja, botão central sólido */
  .mobile-bottom-nav,.social-mobile-nav{
    background:rgb(var(--ms-0-rgb) / .96) !important;
    border:1px solid var(--ms-250) !important;
    box-shadow:0 12px 34px rgb(var(--ms-900-rgb) / .08) !important;
    backdrop-filter:blur(18px) !important;
    height:68px !important; border-radius:22px !important;
    left:10px !important; right:10px !important;
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    padding:6px 8px !important;}
  .mobile-bottom-nav a,.social-mobile-nav a{
    color:var(--ms-600) !important; font-size:9.5px !important; font-weight:700 !important;
    border-radius:14px !important; gap:3px !important; min-height:52px;}
  .mobile-bottom-nav a svg,.social-mobile-nav a svg{ width:21px !important; height:21px !important;}
  .mobile-bottom-nav a.active,.social-mobile-nav a.active{
    color:var(--ms-ui-accent) !important; background:var(--ms-150) !important;}
  .mobile-bottom-nav a.active svg,.social-mobile-nav a.active svg{ stroke:var(--ms-ui-accent) !important;}
  /* item central: acção principal */
  .mobile-bottom-nav .mobile-feed-link,
  .social-mobile-nav .mobile-feed-link{
    background:var(--ms-ui-accent) !important; color:var(--ms-ui-on) !important;
    border-radius:18px !important; margin-top:-14px !important;
    height:56px !important; box-shadow:0 10px 22px rgb(var(--ms-1000-rgb) / .19) !important;}
  .mobile-bottom-nav .mobile-feed-link svg,
  .social-mobile-nav .mobile-feed-link svg{ stroke:var(--ms-0) !important;}
  .mobile-bottom-nav .mobile-feed-link span,
  .social-mobile-nav .mobile-feed-link span{ color:var(--ms-ui-on) !important;}
  .mobile-profile-avatar{ width:24px !important; height:24px !important; border-radius:50% !important;}

  /* nada de sombras a flutuar por cima do conteúdo */
  .post-card,.social-card{ box-shadow:0 1px 2px rgb(var(--ms-900-rgb) / .03) !important;}}

/* =====================================================================
   21. Mobile — correções de layout medidas no browser
   ===================================================================== */
@media (max-width:860px){
  /* A barra inferior estava em flex com os itens a 354px cada: cinco itens
     empilhados fora da pastilha. Volta a ser uma grelha de 5 colunas. */
  .mobile-bottom-nav,.social-mobile-nav{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0,1fr)) !important;
    align-items:center !important;
    gap:4px !important;}
  .mobile-bottom-nav > a,.social-mobile-nav > a{
    width:auto !important; min-width:0 !important; max-width:none !important;
    flex:none !important; padding:4px 2px !important; overflow:hidden;}
  .mobile-bottom-nav > a span,.social-mobile-nav > a span{
    max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}

  /* Topo opaco: o conteúdo estava a ler-se por trás da barra */
  .mobile-top{ background:var(--ms-0) !important;}

  /* Só uma coisa pode ficar colada ao topo: a barra da aplicação.
     O cabeçalho da página deixa de ser sticky e de colidir com ela. */
  .main > .topbar,
  .main > .topbar.social-topbar{
    position:static !important; top:auto !important; z-index:auto !important;
    background:transparent !important; backdrop-filter:none !important;
    border:0 !important; box-shadow:none !important;}

  /* Composer: o botão publicar não ocupa a largura toda */
  .ms-composer-send{
    margin-left:auto !important; width:auto !important;
    padding:0 20px !important; height:40px !important; flex:none !important;}
  .ms-composer-row{ gap:6px !important;}
  .ms-composer-act{ padding:0 10px !important; height:34px !important;}

  /* Espaço para a pastilha inferior não tapar o último cartão */
  .site-shell,.app-shell{ padding-bottom:120px !important;}}

/* =====================================================================
   22. Mobile — especificidade suficiente para vencer as regras antigas
   O style.css tem `.mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav]
   { display:flex!important }` (0,4,0). As regras abaixo levam prefixo `body`
   para ficarem acima disso.
   ===================================================================== */
@media (max-width:860px){

  /* A barra de topo é fixa (não ocupa espaço): o conteúdo tem de começar
     abaixo dela, senão o título fica escondido por trás. */
  body .site-shell,
  body .app-shell,
  body .public-shell{ padding-top:76px !important;}
  body .mobile-top{
    background:var(--ms-0) !important;
    border-bottom:1px solid var(--ms-250) !important;
    box-shadow:0 1px 0 rgb(var(--ms-900-rgb) / .02) !important;
    height:64px !important; padding:0 12px !important;}

  /* Barra inferior: grelha de 5, itens à largura da coluna */
  body .mobile-bottom-nav,
  body .mobile-bottom-nav.social-mobile-nav,
  body .mobile-bottom-nav.admin-mobile-nav,
  body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"]{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0,1fr)) !important;
    align-items:center !important;
    justify-content:stretch !important;
    gap:4px !important;
    height:66px !important;
    padding:5px 8px !important;
    border-radius:22px !important;
    background:rgb(var(--ms-0-rgb) / .97) !important;
    border:1px solid var(--ms-250) !important;
    box-shadow:0 12px 34px rgb(var(--ms-900-rgb) / .08) !important;
    overflow:visible !important;}
  body .mobile-bottom-nav a,
  body .mobile-bottom-nav.social-mobile-nav a,
  body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a{
    width:100% !important; min-width:0 !important; max-width:none !important;
    height:56px !important; min-height:56px !important; flex:none !important;
    display:flex !important; flex-direction:column !important;
    align-items:center !important; justify-content:center !important; gap:3px !important;
    border-radius:14px !important; color:var(--ms-600) !important;
    font-size:9.5px !important; font-weight:700 !important;}
  body .mobile-bottom-nav a svg{ width:21px !important; height:21px !important; stroke:currentColor !important;}
  body .mobile-bottom-nav a span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%;}
  body .mobile-bottom-nav a.active,
  body .mobile-bottom-nav.social-mobile-nav a.active,
  body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a.active{
    width:100% !important; height:56px !important; min-height:56px !important;
    background:var(--ms-150) !important; color:var(--ms-ui-accent) !important; display:flex !important;}
  body .mobile-bottom-nav a.mobile-feed-link{
    background:var(--ms-ui-accent) !important; color:var(--ms-ui-on) !important;
    box-shadow:0 8px 20px rgb(var(--ms-1000-rgb) / .18) !important;
    margin-top:-12px !important; height:58px !important; border-radius:18px !important;}
  body .mobile-bottom-nav a.mobile-feed-link svg,
  body .mobile-bottom-nav a.mobile-feed-link span{ color:var(--ms-ui-on) !important; stroke:var(--ms-0) !important;}
  body .mobile-profile-avatar{ width:23px !important; height:23px !important; border-radius:50% !important;}}

/* Botão central da barra inferior: laranja sólido, mesmo estando .active */
@media (max-width:860px){
  body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a.mobile-feed-link,
  body .mobile-bottom-nav.social-mobile-nav a.mobile-feed-link,
  body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a.mobile-feed-link.active{
    background:var(--ms-ui-accent) !important; color:var(--ms-ui-on) !important;
    box-shadow:0 8px 20px rgb(var(--ms-1000-rgb) / .18) !important;
    margin-top:-12px !important; height:58px !important; border-radius:18px !important;}
  body .mobile-bottom-nav.social-mobile-nav a.mobile-feed-link svg{ stroke:var(--ms-0) !important;}
  body .mobile-bottom-nav.social-mobile-nav a.mobile-feed-link span{ color:var(--ms-ui-on) !important;}

  /* Cabeçalho da página sem a faixa creme também no telemóvel */
  body:not(.admin-area) .main > .topbar.topbar,
  body:not(.admin-area) .main > .topbar.social-topbar{
    background:transparent !important; border:0 !important; box-shadow:none !important;
    border-radius:0 !important; padding:8px 2px 6px !important;}
  body .mobile-top:not(.mobile-top-admin){ background:var(--ms-0) !important;}}

/* País e idioma já vivem na barra de topo do telemóvel: não repetir no
   cabeçalho da página. */
@media (max-width:860px){
  body .main > .topbar .top-actions > .country-chip,
  body .main > .topbar .top-actions > .lang-chip{ display:none !important;}
  body .main > .topbar .top-actions{ margin-top:6px !important;}}

/* =====================================================================
   23. Correções medidas nas capturas do site
   ===================================================================== */

/* 23a. "Salvar Guardar": o botão já traz <span class="save-btn-label">.
   Fica um rótulo só, em português europeu, coerente com os restantes. */
.post-card .ms-icon-row .save-btn-label{ display:none !important;}
.post-card .ms-icon-row [class*="save-btn"]:after{ content:"Guardar";}
.post-card .ms-icon-row [class*="save-btn"][aria-pressed="true"]:after{ content:"Guardado";}
/* republicar/partilhar no perfil deixa de ser um ícone órfão */
.post-card .ms-icon-row [class*="profile-share"]:after,
.post-card .ms-icon-row [aria-label^="Compartilhar no perfil"]:after,
.post-card .ms-icon-row [aria-label^="Partilhar no perfil"]:after{ content:"Republicar";}

/* 23b. Ícone dos três pontos (copiar link) mal centrado no círculo */
.feed-card-menu .ms-icon-action,
.feed-card-menu [class*="copy-link"],
.post-header .ms-icon-action{
  display:grid !important; place-items:center !important;
  width:38px !important; height:38px !important; min-width:38px !important;
  padding:0 !important; border-radius:50% !important; flex:none !important;
  background:var(--ms-100) !important; border:1px solid var(--ms-250) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.feed-card-menu .ms-icon-action:after,
.feed-card-menu [class*="copy-link"]:after{ content:none !important;}
.feed-card-menu .ms-icon-action svg,
.feed-card-menu [class*="copy-link"] svg{ display:block !important; width:17px !important; height:17px !important;}
.feed-card-menu{ display:flex !important; align-items:center !important; gap:8px !important;}

/* 23c. Ícones da barra de ações com peso e tamanho uniformes */
.post-card .ms-icon-row svg{
  width:17px !important; height:17px !important;
  stroke-width:1.8 !important; fill:none !important; display:block !important;}
.post-card .ms-icon-row > *{ align-items:center !important;}

/* =====================================================================
   24. Modo escuro
   ===================================================================== */
html[data-theme="dark"]{ color-scheme:dark;}
html[data-theme="dark"]{
  --app-bg:var(--ms-950); --surface:var(--ms-900); --hairline:var(--ms-900); --hairline-2:var(--ms-900);
  --line:var(--ms-900); --line-2:var(--ms-900); --soft:var(--ms-900); --soft-2:var(--ms-950);
  --social-bg:var(--ms-950); --mvp-bg:var(--ms-950); --brand-surface:var(--ms-950);
  --social-card:var(--ms-900); --brand-card:var(--ms-900); --social-border:var(--ms-900); --brand-border:var(--ms-900);
  --ink:var(--ms-150); --navy:var(--ms-150); --text:var(--ms-300); --muted:var(--ms-500);
  --white:var(--ms-900); --sand:var(--ms-900);
  --coral:var(--ms-ui-accent); --azul:var(--ms-ui-accent); --coral-dk:var(--ms-ui-accent); --azul-dk:var(--ms-ui-accent);
  --blue:var(--ms-ui-accent); --blue-2:var(--ms-ui-accent); --blue-3:var(--ms-ui-accent); --blue-4:var(--ms-900);
  --volt:var(--ms-ui-accent); --volt-soft:var(--ms-800);
  --brand-blue:var(--ms-ui-accent); --brand-blue-dark:var(--ms-ui-accent); --brand-blue-soft:var(--ms-900); --brand-blue-line:var(--ms-800);
  --shadow:0 1px 2px rgb(var(--ms-1000-rgb) / .25), 0 10px 30px -14px rgb(var(--ms-1000-rgb) / .35);
  --shadow-soft:0 1px 2px rgb(var(--ms-1000-rgb) / .2);
  --social-shadow:0 1px 2px rgb(var(--ms-1000-rgb) / .25);}
html[data-theme="dark"] body,
html[data-theme="dark"] body.social-body,
html[data-theme="dark"] .public-shell{ background:var(--ms-950) !important; color:var(--ms-300) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

html[data-theme="dark"] .post-card,
html[data-theme="dark"] .social-card,
html[data-theme="dark"] .feed-card,
html[data-theme="dark"] .section-block,
html[data-theme="dark"] .list-card,
html[data-theme="dark"] .content-card,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .profile-card,
html[data-theme="dark"] .right-widget,
html[data-theme="dark"] .card,
html[data-theme="dark"] .ms-pcard,
html[data-theme="dark"] .public-card,
html[data-theme="dark"] .sidebar:not(.admin-sidebar) .side-nav,
html[data-theme="dark"] .sidebar:not(.admin-sidebar) .side-footer .mentor-cta,
html[data-theme="dark"] .sidebar:not(.admin-sidebar) .side-footer .impact-box{
  background:var(--ms-900) !important; border-color:var(--ms-900) !important; color:var(--ms-300) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .ms-gnav,
html[data-theme="dark"] .mobile-top,
html[data-theme="dark"] .mobile-bottom-nav,
html[data-theme="dark"] .ms-account-menu{
  background:var(--ms-900) !important; border-color:var(--ms-900) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,
html[data-theme="dark"] h4,html[data-theme="dark"] strong,html[data-theme="dark"] b,
html[data-theme="dark"] .forum-post-title,
html[data-theme="dark"] .ms-pcard-name,
html[data-theme="dark"] .post-card .post-header strong{ color:var(--ms-150) !important;}
html[data-theme="dark"] p,html[data-theme="dark"] .post-text,
html[data-theme="dark"] .feed-forum-post .forum-post-copy{ color:var(--ms-300) !important;}
html[data-theme="dark"] small,html[data-theme="dark"] .muted,
html[data-theme="dark"] .post-card .post-header small,
html[data-theme="dark"] .ms-pcard-headline,
html[data-theme="dark"] .ms-social-proof,
html[data-theme="dark"] .sidebar .side-nav-label{ color:var(--ms-ui-text-3) !important;}
html[data-theme="dark"] a{ color:var(--ms-ui-accent);}

html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select,
html[data-theme="dark"] .ms-gnav-search input,
html[data-theme="dark"] .ms-composer-input,
html[data-theme="dark"] .search-box input{
  background:var(--ms-950) !important; border-color:var(--ms-900) !important; color:var(--ms-150) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{ color:var(--ms-600) !important;}

html[data-theme="dark"] .ms-gnav-link{ color:var(--ms-ui-text-3);}
html[data-theme="dark"] .ms-gnav-link.is-active,
html[data-theme="dark"] .ms-gnav-me-txt strong{ color:var(--ms-150);}
html[data-theme="dark"] .sidebar:not(.admin-sidebar) .side-link{ color:var(--ms-300) !important;}
html[data-theme="dark"] .sidebar:not(.admin-sidebar) .side-link:hover{ background:var(--ms-900) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .sidebar:not(.admin-sidebar) .side-link.active{ background:var(--ms-900) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .sidebar:not(.admin-sidebar) .side-link.active .side-label,
html[data-theme="dark"] .sidebar:not(.admin-sidebar) .side-link.active .side-icon{ color:var(--ms-ui-accent) !important;}

html[data-theme="dark"] .post-tag,
html[data-theme="dark"] .ms-chips .c,
html[data-theme="dark"] .micro-label,
html[data-theme="dark"] .page-kicker{ background:var(--ms-900) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .post-card .ms-icon-row > *{ color:var(--ms-ui-text-3) !important;}
html[data-theme="dark"] .post-card .ms-icon-row > *:hover{ background:var(--ms-900) !important; color:var(--ms-150) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .comment-preview{ background:var(--ms-950) !important; border-color:var(--ms-900) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .feed-card-menu .ms-icon-action{ background:var(--ms-950) !important; border-color:var(--ms-900) !important; color:var(--ms-ui-text-3) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .ms-feed-filters .ms-filter{ background:var(--ms-900) !important; border-color:var(--ms-900) !important; color:var(--ms-300) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .ms-feed-filters .ms-filter.on{ background:var(--ms-150) !important; color:var(--ms-950) !important; border-color:var(--ms-150) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html[data-theme="dark"] .button-primary,
html[data-theme="dark"] .ms-composer-send,
html[data-theme="dark"] .mobile-feed-link{ background:var(--ms-ui-accent) !important; color:var(--ms-950) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .ms-radar-rail{ background:var(--ms-950) !important; border-color:var(--ms-900) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] hr,html[data-theme="dark"] .feed-card-footer,
html[data-theme="dark"] .ms-social-proof{ border-color:var(--ms-900) !important;}
html[data-theme="dark"] .ms-pcard-cover{ filter:saturate(.85) brightness(.85);}

/* =====================================================================
   25. Alternador de tema e menu do perfil
   ===================================================================== */
.ms-theme-toggle{
  width:36px; height:36px; border-radius:999px; flex:none;
  border:1px solid var(--hairline,var(--ms-250)); background:var(--ms-100);
  display:grid; place-items:center; cursor:pointer; color:var(--ms-800); padding:0;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-theme-toggle svg{ width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.9;}
.ms-theme-toggle .ms-theme-moon{ display:none;}
html[data-theme="dark"] .ms-theme-toggle{ background:var(--ms-950); border-color:var(--ms-900); color:var(--ms-150);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .ms-theme-toggle .ms-theme-sun{ display:none;}
html[data-theme="dark"] .ms-theme-toggle .ms-theme-moon{ display:block;}

.ms-gnav-account{ position:relative;}
.ms-gnav-me{ border:0; background:none; font:inherit; cursor:pointer;}
.ms-gnav-caret{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; color:var(--ms-600); flex:none;}
.ms-gnav-account.is-open .ms-gnav-me{ background:var(--ms-100);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

.ms-account-menu{
  position:absolute; right:0; top:calc(100% + 8px); width:268px; z-index:200;
  background:var(--ms-0); border:1px solid var(--hairline,var(--ms-250)); border-radius:14px;
  box-shadow:0 18px 44px rgb(var(--ms-900-rgb) / .09); overflow:hidden; text-align:left;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-account-head{ display:flex; gap:10px; align-items:center; padding:14px;}
.ms-account-av{ width:48px; height:48px; border-radius:50%; object-fit:cover; flex:none; display:grid; place-items:center;}
.ms-account-av.is-letter{ background:var(--ms-ui-accent); color:var(--ms-ui-on); font-weight:800; font-size:17px;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-account-head strong{ display:block; font-size:14px; color:var(--ink,var(--ms-900));}
.ms-account-head small{ display:block; font-size:12px; color:var(--muted,var(--ms-600));}
.ms-account-cta{
  display:block; margin:0 14px 12px; text-align:center; text-decoration:none;
  border:1.5px solid var(--ms-ui-accent); color:var(--ms-ui-accent); border-radius:999px;
  padding:7px 12px; font-size:13px; font-weight:800;}
.ms-account-cta:hover{ background:var(--ms-150);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-account-list{ border-top:1px solid var(--hairline-2,var(--ms-200)); padding:6px; display:grid;}
.ms-account-list a,.ms-account-list button{
  display:block; width:100%; text-align:left; border:0; background:none; font:inherit;
  padding:9px 10px; border-radius:9px; font-size:13px; font-weight:600;
  color:var(--text,var(--ms-800)); text-decoration:none; cursor:pointer;}
.ms-account-list a:hover,.ms-account-list button:hover{ background:var(--ms-100); color:var(--ms-ui-accent);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-account-out{ color:var(--ms-ui-accent) !important; font-weight:700 !important;}
.ms-account-out:hover{ background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html[data-theme="dark"] .ms-account-list a:hover,
html[data-theme="dark"] .ms-account-list button:hover{ background:var(--ms-900) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .ms-account-cta{ border-color:var(--ms-ui-accent); color:var(--ms-ui-accent);}
@media (max-width:860px){ .ms-account-menu{ display:none !important;}}

/* =====================================================================
   26. Página Rede — sugestões de pessoas
   ===================================================================== */
.ms-people .section-head{ align-items:flex-start;}
.ms-people-all{ font-size:12.5px; font-weight:800; color:var(--ms-ui-accent); text-decoration:none; white-space:nowrap;}
.ms-people-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(184px,1fr)); gap:12px;}
.ms-person{
  background:var(--ms-0); border:1px solid var(--hairline,var(--ms-250)); border-radius:14px;
  overflow:hidden; display:flex; flex-direction:column; text-align:center;
  box-shadow:0 1px 2px rgb(var(--ms-900-rgb) / .03);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-person-cover{
  display:block; height:52px;
  background:var(--ms-ui-accent);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-person-body{ display:block; padding:0 12px 12px; text-decoration:none; flex:1;}
.ms-person-av{
  width:64px; height:64px; border-radius:50%; object-fit:cover;
  border:3px solid var(--ms-0); margin:-32px auto 8px; display:grid; place-items:center;
  background:var(--ms-150);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-person-av.is-letter{ background:var(--ms-ui-accent); color:var(--ms-ui-on); font-size:22px; font-weight:800;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.ms-person-name{
  display:block; font-size:14px; font-weight:800; color:var(--ink,var(--ms-900));
  letter-spacing:-.015em; line-height:1.25;}
.ms-person-headline{
  display:block; font-size:11.5px; color:var(--muted,var(--ms-600)); line-height:1.35; margin-top:3px;
  min-height:31px;}
.ms-person-meta{ display:block; font-size:11px; color:var(--ms-ui-text-3); margin-top:6px;}
.ms-person-cta{
  display:flex; align-items:center; justify-content:center; gap:6px;
  margin:0 12px 12px; padding:8px 10px; border-radius:999px;
  border:1.5px solid var(--ms-ui-accent); color:var(--ms-ui-accent); background:none;
  font-size:12.5px; font-weight:800; text-decoration:none;}
.ms-person-cta:hover{ background:var(--ms-150);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-person-cta svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.4;}
@media (max-width:860px){
  .ms-people-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
  .ms-person-headline{ min-height:0;}}
html[data-theme="dark"] .ms-person{ background:var(--ms-900) !important; border-color:var(--ms-900) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"] .ms-person-name{ color:var(--ms-150) !important;}
html[data-theme="dark"] .ms-person-cta{ border-color:var(--ms-ui-accent); color:var(--ms-ui-accent);}
html[data-theme="dark"] .ms-person-cta:hover{ background:var(--ms-900);--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* =====================================================================
   27. Modo escuro — especificidade reforçada
   O atributo repetido [data-theme="dark"][data-theme] soma especificidade
   sem precisar de listar selector a selector do style.css.
   ===================================================================== */
html[data-theme="dark"][data-theme] body .post-card,
html[data-theme="dark"][data-theme] body .social-card,
html[data-theme="dark"][data-theme] body .feed-card,
html[data-theme="dark"][data-theme] body .section-block,
html[data-theme="dark"][data-theme] body .list-card,
html[data-theme="dark"][data-theme] body .content-card,
html[data-theme="dark"][data-theme] body .form-card,
html[data-theme="dark"][data-theme] body .right-widget,
html[data-theme="dark"][data-theme] body .ms-pcard,
html[data-theme="dark"][data-theme] body .ms-person,
html[data-theme="dark"][data-theme] body .sidebar .side-nav,
html[data-theme="dark"][data-theme] body .sidebar .mentor-cta,
html[data-theme="dark"][data-theme] body .sidebar .impact-box{
  background:var(--ms-900) !important; border:1px solid var(--ms-900) !important;
  box-shadow:0 1px 2px rgb(var(--ms-1000-rgb) / .225) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Títulos e nomes: sempre legíveis */
html[data-theme="dark"][data-theme] body .post-card h1,
html[data-theme="dark"][data-theme] body .post-card h2,
html[data-theme="dark"][data-theme] body .post-card h3,
html[data-theme="dark"][data-theme] body .forum-post-title,
html[data-theme="dark"][data-theme] body .feed-update-card h3,
html[data-theme="dark"][data-theme] body .post-card .post-header strong,
html[data-theme="dark"][data-theme] body .post-card .post-header strong a,
html[data-theme="dark"][data-theme] body .post-author-link,
html[data-theme="dark"][data-theme] body .section-head h2,
html[data-theme="dark"][data-theme] body .section-head h3,
html[data-theme="dark"][data-theme] body .widget-head h3,
html[data-theme="dark"][data-theme] body .mentor-cta strong,
html[data-theme="dark"][data-theme] body .ms-pcard-name,
html[data-theme="dark"][data-theme] body .ms-person-name,
html[data-theme="dark"][data-theme] body .main > .topbar .hello h1,
html[data-theme="dark"][data-theme] body .ranking-mini strong,
html[data-theme="dark"][data-theme] body .ms-sugg .who strong{
  color:var(--ms-150) !important;}

/* Corpo de texto e legendas */
html[data-theme="dark"][data-theme] body .post-text,
html[data-theme="dark"][data-theme] body .feed-forum-post .forum-post-copy,
html[data-theme="dark"][data-theme] body .social-home-main .feed-forum-post .forum-post-copy,
html[data-theme="dark"][data-theme] body .feed-update-card .post-text,
html[data-theme="dark"][data-theme] body .comment-preview,
html[data-theme="dark"][data-theme] body .section-head p,
html[data-theme="dark"][data-theme] body .mentor-cta p{
  color:var(--ms-300) !important;}
html[data-theme="dark"][data-theme] body .post-card .post-header small,
html[data-theme="dark"][data-theme] body .post-card .post-header small span,
html[data-theme="dark"][data-theme] body .forum-headline,
html[data-theme="dark"][data-theme] body .post-date-link,
html[data-theme="dark"][data-theme] body .ms-social-proof,
html[data-theme="dark"][data-theme] body .ms-social-proof b,
html[data-theme="dark"][data-theme] body .ms-proof-right,
html[data-theme="dark"][data-theme] body .ms-pcard-headline,
html[data-theme="dark"][data-theme] body .ms-person-headline,
html[data-theme="dark"][data-theme] body .ms-person-meta,
html[data-theme="dark"][data-theme] body .side-nav-label,
html[data-theme="dark"][data-theme] body .main > .topbar .hello p{
  color:var(--ms-ui-text-3) !important;}

/* Superfícies internas e separadores */
html[data-theme="dark"][data-theme] body .comment-preview,
html[data-theme="dark"][data-theme] body .ms-composer-input,
html[data-theme="dark"][data-theme] body .search-box input,
html[data-theme="dark"][data-theme] body .ms-gnav-search input{
  background:var(--ms-950) !important; border-color:var(--ms-900) !important; color:var(--ms-150) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .feed-card-footer,
html[data-theme="dark"][data-theme] body .ms-social-proof,
html[data-theme="dark"][data-theme] body .post-actions,
html[data-theme="dark"][data-theme] body .ms-pcard-links,
html[data-theme="dark"][data-theme] body .ranking-mini,
html[data-theme="dark"][data-theme] body .ms-account-list{
  border-color:var(--ms-900) !important;}
html[data-theme="dark"][data-theme] body .ms-pcard-links a,
html[data-theme="dark"][data-theme] body .sidebar .side-link{ color:var(--ms-300) !important;}
html[data-theme="dark"][data-theme] body .ms-pcard-links a:hover,
html[data-theme="dark"][data-theme] body .sidebar .side-link:hover{ background:var(--ms-900) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Etiquetas e chips */
html[data-theme="dark"][data-theme] body .post-card .post-tag,
html[data-theme="dark"][data-theme] body .ms-chips .c,
html[data-theme="dark"][data-theme] body .micro-label,
html[data-theme="dark"][data-theme] body .page-kicker{
  background:var(--ms-900) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .post-card.feed-vagas .post-tag{ background:var(--ms-900) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .post-card.feed-bolsa .post-tag,
html[data-theme="dark"][data-theme] body .post-card.feed-estudos .post-tag{ background:var(--ms-900) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Barra de ações */
html[data-theme="dark"][data-theme] body .post-card .ms-icon-row > *{ color:var(--ms-ui-text-3) !important; background:transparent !important;}
html[data-theme="dark"][data-theme] body .post-card .ms-icon-row > *:hover{ background:var(--ms-900) !important; color:var(--ms-150) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .post-card .ms-icon-row .is-primary,
html[data-theme="dark"][data-theme] body .post-card .ms-icon-row .is-saved{ background:var(--ms-900) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .feed-card-menu .ms-icon-action{ background:var(--ms-950) !important; border-color:var(--ms-900) !important; color:var(--ms-ui-text-3) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Filtros e botões */
html[data-theme="dark"][data-theme] body .ms-feed-filters .ms-filter{ background:var(--ms-900) !important; border-color:var(--ms-900) !important; color:var(--ms-300) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .ms-feed-filters .ms-filter.on{ background:var(--ms-150) !important; border-color:var(--ms-150) !important; color:var(--ms-950) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html[data-theme="dark"][data-theme] body .ms-composer-act{ background:var(--ms-900) !important; color:var(--ms-300) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .button-primary,
html[data-theme="dark"][data-theme] body .ms-composer-send{ background:var(--ms-ui-accent) !important; color:var(--ms-950) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .ms-person-cta,
html[data-theme="dark"][data-theme] body .btn-ghost{ border-color:var(--ms-ui-accent) !important; color:var(--ms-ui-accent) !important; background:transparent !important;}

/* Rail e cartões escuros já existentes */
html[data-theme="dark"][data-theme] body .ms-radar-rail{ background:var(--ms-950) !important; border-color:var(--ms-900) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .ms-radar-rail b{ color:var(--ms-150) !important;}

/* 27b. Tokens de tinta que faltavam e faixas claras nos rodapés */
html[data-theme="dark"]{
  --social-ink:var(--ms-150); --mvp-ink:var(--ms-150); --social-muted:var(--ms-500); --mvp-muted:var(--ms-500);
  --mvp-surface:var(--ms-900); --mvp-line:var(--ms-900);}
html[data-theme="dark"][data-theme] body .post-actions,
html[data-theme="dark"][data-theme] body .feed-card-footer,
html[data-theme="dark"][data-theme] body .feed-card-footer-actions,
html[data-theme="dark"][data-theme] body .ms-icon-row,
html[data-theme="dark"][data-theme] body .pcomment,
html[data-theme="dark"][data-theme] body .post-card > footer{
  background:transparent !important;}
html[data-theme="dark"][data-theme] body .post-header strong,
html[data-theme="dark"][data-theme] body .post-header strong a,
html[data-theme="dark"][data-theme] body .post-header > div > strong,
html[data-theme="dark"][data-theme] body .feed-forum-post .post-header strong,
html[data-theme="dark"][data-theme] body .feed-update-card .post-header strong{
  color:var(--ms-150) !important; opacity:1 !important;}

/* =====================================================================
   28. Arremate final — rótulos, gaveta mobile, feed progressivo, rodapé
   ===================================================================== */

/* 28a. "RepubliRepublicar" / "SalvarGuardar": o botão traz o seu próprio
   <span ...-label>. Fica só o rótulo do CSS, um por botão. */
.post-card .ms-icon-row [class$="-label"],
.post-card .ms-icon-row [class*="-label"],
.feed-card-footer .ms-icon-row [class*="-label"]{ display:none !important;}

/* 28b. Feed progressivo */
.social-feed-column [data-ms-hidden]{ display:none !important;}
.ms-feed-sentinel{
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:18px 0 6px; min-height:56px;}
.ms-feed-more{
  border:1px solid var(--hairline,var(--ms-250)); background:var(--ms-0); color:var(--ms-ui-accent);
  border-radius:999px; padding:10px 20px; font:inherit; font-size:13px; font-weight:800; cursor:pointer;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-feed-more:hover{ background:var(--ms-150);--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.ms-feed-spinner{
  width:16px; height:16px; border-radius:50%; flex:none;
  border:2px solid var(--ms-250); border-top-color:var(--ms-ui-accent); animation:msSpin .8s linear infinite;}
@keyframes msSpin{ to{ transform:rotate(360deg);}}
.ms-feed-end{ font-size:12.5px; color:var(--muted,var(--ms-600)); font-weight:600;}
html[data-theme="dark"][data-theme] body .ms-feed-more{ background:var(--ms-900) !important; border-color:var(--ms-900) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .ms-feed-spinner{ border-color:var(--ms-900); border-top-color:var(--ms-ui-accent);}

/* 28c. Gaveta do menu no telemóvel — o nav é clonado da barra lateral, por
   isso herdava texto branco (pensado para o painel laranja) sobre creme. */
.mobile-menu-drawer{
  background:var(--ms-25) !important; color:var(--ms-800) !important;
  border-left:1px solid var(--ms-250) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.mobile-menu-drawer .mobile-menu-head strong{ color:var(--ms-900) !important;}
.mobile-menu-drawer .mobile-menu-head small{ color:var(--ms-600) !important;}
.mobile-menu-drawer .mobile-menu-search input{
  background:var(--ms-0) !important; border:1px solid var(--ms-250) !important; color:var(--ms-800) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.mobile-menu-drawer .side-nav,
.mobile-menu-drawer .mobile-menu-list{ background:transparent !important; box-shadow:none !important; padding:4px 0 !important;}
.mobile-menu-drawer .side-link{
  color:var(--ms-900) !important; background:var(--ms-0) !important;
  border:1px solid var(--ms-200) !important; border-radius:14px !important;
  margin:0 0 8px !important; padding:11px 12px !important;
  font-size:14px !important; font-weight:700 !important; min-height:48px;
  box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.mobile-menu-drawer .side-link .side-label{ color:var(--ms-900) !important;}
.mobile-menu-drawer .side-link .side-icon{
  background:var(--ms-150) !important; color:var(--ms-ui-accent) !important;
  width:34px !important; height:34px !important; border-radius:11px !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.mobile-menu-drawer .side-link.active{
  background:var(--ms-ui-accent) !important; border-color:var(--ms-ui-accent) !important; color:var(--ms-ui-on) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.mobile-menu-drawer .side-link.active .side-label{ color:var(--ms-ui-on) !important;}
.mobile-menu-drawer .side-link.active .side-icon{ background:rgb(var(--ms-0-rgb) / .22) !important; color:var(--ms-ui-on) !important;}
.mobile-menu-drawer .side-nav-label{
  color:var(--ms-600) !important; font-size:10.5px !important; letter-spacing:.09em;
  padding:14px 4px 6px !important; display:block;}
.mobile-menu-drawer .side-footer{ display:none !important;}
.mobile-menu-drawer .side-group-primary{ display:block !important;}
html[data-theme="dark"][data-theme] body .mobile-menu-drawer{ background:var(--ms-900) !important; border-color:var(--ms-900) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .mobile-menu-drawer .side-link{ background:var(--ms-900) !important; border-color:var(--ms-900) !important; color:var(--ms-150) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html[data-theme="dark"][data-theme] body .mobile-menu-drawer .side-link .side-label{ color:var(--ms-150) !important;}

/* 28d. Feed no telemóvel: menos botões, mais legíveis */
@media (max-width:860px){
  .post-card .ms-icon-row > *{ min-width:0 !important; padding:0 6px !important;}
  .post-card .ms-icon-row > *:after{ display:none !important;}
  /* abrir e republicar saem da barra: continuam no menu dos três pontos */
  .post-card .ms-icon-row .ms-icon-action[title="Abrir publicação"],
  .post-card .ms-icon-row .ms-icon-action[title="Abrir"],
  .post-card .ms-icon-row [aria-label^="Compartilhar no perfil"],
  .post-card .ms-icon-row [aria-label^="Partilhar no perfil"]{ display:none !important;}
  .post-card .ms-icon-row svg{ width:19px !important; height:19px !important;}
  .post-card .ms-icon-row > * b{ font-size:12px !important;}}

/* 28e. Espaçamento: respiração consistente entre blocos */
.social-feed-column{ display:grid; gap:12px;}
.social-feed-column > .post-card{ margin:0 !important;}
.ms-feed-filters{ margin:2px 0 !important;}
.social-right-rail > * + *{ margin-top:12px !important;}
.section-head p{ margin-top:4px !important;}
.post-card .ms-chips{ margin-bottom:2px !important;}

/* 28f. Rodapé */
.site-footer,.footer,.public-footer{
  background:transparent !important; border-top:1px solid var(--hairline,var(--ms-250)) !important;
  margin-top:22px !important; padding:20px 0 !important; box-shadow:none !important;}
.site-footer a,.footer a{ color:var(--muted,var(--ms-600)) !important; font-size:12.5px; text-decoration:none;}
.site-footer a:hover,.footer a:hover{ color:var(--ms-ui-accent) !important;}
@media (max-width:860px){
  .site-footer,.footer{ padding:16px 2px 8px !important; text-align:center;}}

/* =====================================================================
   29. Rodapé institucional
   Vive fora do .site-shell: alinha-se à mesma largura do conteúdo e
   respira. No telemóvel empilha e deixa espaço para a barra inferior.
   ===================================================================== */
body .site-footer{
  margin:26px auto 0 !important;
  padding:18px 18px 26px !important;
  max-width:1240px !important;
  border-top:1px solid var(--hairline,var(--ms-250)) !important;
  background:transparent !important;}
body .site-footer-inner{
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  gap:18px !important; flex-wrap:wrap !important;
  color:var(--muted,var(--ms-600)) !important; font-size:12.5px !important; font-weight:600 !important;}
body .site-footer-brand strong{ color:var(--ink,var(--ms-900)) !important; font-size:13.5px !important; font-weight:800 !important;}
body .site-footer-brand span{ color:var(--muted,var(--ms-600)) !important; font-weight:500 !important;}
body .site-footer-links{ display:flex !important; flex-wrap:wrap !important; gap:6px 4px !important;}
body .site-footer-links a{
  color:var(--text,var(--ms-800)) !important; text-decoration:none !important;
  font-size:12.5px !important; font-weight:600 !important;
  padding:6px 10px !important; border-radius:8px !important;}
body .site-footer-links a:hover{ background:var(--ms-100) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
@media (max-width:860px){
  body .site-footer{ margin-top:18px !important; padding:16px 12px 120px !important;}
  body .site-footer-inner{ flex-direction:column !important; align-items:flex-start !important; gap:12px !important;}
  body .site-footer-links{ gap:2px !important;}}
html[data-theme="dark"][data-theme] body .site-footer{ border-top-color:var(--ms-900) !important;}
html[data-theme="dark"][data-theme] body .site-footer-brand strong{ color:var(--ms-150) !important;}
html[data-theme="dark"][data-theme] body .site-footer-links a{ color:var(--ms-300) !important;}
html[data-theme="dark"][data-theme] body .site-footer-links a:hover{ background:var(--ms-900) !important; color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* =====================================================================
   30. Paleta azul e verde — inspirada nas referencias visuais
   ===================================================================== */
:root{
  --ms-blue:var(--ms-ui-accent);
  --ms-blue-dark:var(--ms-1000);
  --ms-blue-deep:var(--ms-950);
  --ms-blue-hover:var(--ms-ui-accent);
  --ms-blue-light:var(--ms-ui-accent);
  --ms-blue-soft:var(--ms-150);
  --ms-green:var(--ms-100);
  --ms-green-2:var(--ms-ui-accent);
  --ms-green-soft:var(--ms-50);
  --ms-surface:var(--ms-50);
  --ms-line:var(--ms-200);
  --ms-muted:var(--ms-600);}

body{
  background:var(--ms-surface) !important;
  color:var(--ms-1000) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

.sidebar,
.site-shell > .sidebar,
.sidebar.admin-sidebar,
.site-shell > .admin-sidebar,
.mobile-bottom-nav{
  background:
    var(--ms-100),
    var(--ms-ui-surface) !important;
  box-shadow:0 28px 80px rgb(var(--ms-1000-rgb) / .15) !important;}
.sidebar:before{
  background:rgb(var(--ms-100-rgb) / .18) !important;}
.side-link.active,
.sidebar .side-link.active,
.social-nav .side-link.active,
.admin-side-nav .side-link.active,
.mobile-bottom-nav .active,
.mobile-bottom-nav .add{
  background:var(--ms-green) !important;
  color:var(--ms-blue-dark) !important;
  border-color:var(--ms-green) !important;
  box-shadow:0 16px 40px rgb(var(--ms-1000-rgb) / .12) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.side-link.active .side-icon,
.sidebar .side-link.active .side-icon,
.social-nav .side-link.active .side-icon{
  background:rgb(var(--ms-1000-rgb) / .14) !important;
  color:var(--ms-blue-dark) !important;}
.counter,.badge-count,
.sidebar .counter,
.sidebar .badge-count,
.notify span,
.dot{
  background:var(--ms-green) !important;
  color:var(--ms-blue-dark) !important;
  border-color:var(--ms-0) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

.hero-card,
.mentor-hero-page,
.auth-visual,
.alert-live-status,
.alert-live-status.severity-info,
.trend-insight-card,
.trend-hero-card,
.blue-alert-card,
.cover-strip,
.profile-cover,
.share-publication-cover{
  background:
    var(--ms-100),
    var(--ms-ui-surface) !important;
  box-shadow:0 24px 70px rgb(var(--ms-1000-rgb) / .11) !important;}
.hero-card:before{
  background-image:var(--ms-100) !important;}
.stat-float,
.trend-row:nth-child(3) .trend-rank{
  background:rgb(var(--ms-950-rgb) / .86) !important;}

.button-primary,
.bubble.me,
.filter-chip.active,
.trend-tab.active,
.letter-inline,
.trend-rank,
.checklist li.active > span,
.progress-line span,
.account-progress-bar span,
.ms-composer-send,
.ms-feed-filters .ms-filter.on{
  background:var(--ms-blue) !important;
  color:var(--ms-ui-on) !important;
  border-color:var(--ms-blue) !important;
  box-shadow:0 14px 30px rgb(var(--ms-1000-rgb) / .11) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.button-primary:hover{
  background:var(--ms-blue-hover) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.button-white,
.button-outline,
.link-cta,
.card-link,
.country-chip,
.filter-chip,
.tag,
.pill,
.micro-label,
.page-kicker,
.micro-label.blue,
.post-tag,
.trend-tab,
.legal-card a,
.alert-update a,
.context-link.info,
.progress-number,
.big-letter,
.mini-action,
.comment-badge,
.job-logo,
.flag-round{
  color:var(--ms-blue) !important;}
.button-white,
.mentor-cta .button-white,
.sidebar .mentor-cta .button-white{
  background:var(--ms-0) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.mentor-cta .letter,
.mini-progress span,
.ticker-dot,
.live-dot span,
.checklist li.done > span{
  background:var(--ms-green) !important;
  color:var(--ms-blue-dark) !important;
  border-color:var(--ms-green) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

.page-kicker,.micro-label,.micro-label.blue,
.tag,.pill,.post-tag,.filter-chip:hover,
.icon-tile,.private-avatar,.mini-action,.comment-badge,.job-logo,.flag-round,
.timeline-step span,.trend-up,.trend-source-strip strong,
.mobile-menu-drawer .side-link .side-icon{
  background:var(--ms-blue-soft) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.level.open,
.post-tag.community,
.ticker-pill.category-residence,
.impact-badge.success,
.impact-badge.low,
.impact-item.low span{
  background:var(--ms-green-soft) !important;
  color:var(--ms-ui-accent) !important;
  border-color:var(--ms-100) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

.content-card,.form-card,.profile-card,.admin-card,
.summary-card,.section-block,.mentorship-panel,.plan-card,.feed-card,.list-card,.visibility-card,
.post-card,.ms-feed-composer,.ms-person-card,.ms-pcard,.ms-radar-rail,
.metric,.summary-item,.summary-grid > div,.feed-item,.job-row,.community-row,.community-list > div,
.type-card,.mentor-card,.legal-card,.sector-card,.trend-meta-grid div,.data-row,.news-card,
.mobile-menu-drawer .side-link{
  border-color:var(--ms-line) !important;
  box-shadow:0 12px 34px rgb(var(--ms-1000-rgb) / .04) !important;}
.content-card p,.form-card p,.type-content p,.mentor-card p,.news-card p,
.lead-text,.timeline-step p,.trend-row p,.sector-card p,.alert-update p,
.source-line,.trend-source-strip,.ms-feed-end,
body .site-footer-inner,
body .site-footer-brand span,
.site-footer a,.footer a{
  color:var(--ms-muted) !important;}
.content-card h2,.form-card h2,.profile-card h2,.admin-card h2,
.section-head h2,.section-head h3,.hello h1,.profile-header h1,
.type-content h3,.mentor-card h3,.news-card h3,.trend-row h3,
.sector-card h3,.brand-title strong,.brand strong,
body .site-footer-brand strong,
.job-row strong,.community-list strong{
  color:var(--ms-blue-dark) !important;}

input:focus,textarea:focus,select:focus,
.search-box:focus-within{
  border-color:var(--ms-blue) !important;
  box-shadow:0 0 0 4px rgb(var(--ms-1000-rgb) / .07) !important;}
.conversation.active{
  border-color:var(--ms-blue) !important;
  box-shadow:0 0 0 4px rgb(var(--ms-1000-rgb) / .05) !important;}
.alltype-card,
.alltype-card:nth-child(2),
.alltype-card:nth-child(3),
.alltype-card:nth-child(4),
.alltype-card:nth-child(5),
.alltype-card.is-outline{
  background:
    var(--ms-ui-surface) !important;
  box-shadow:0 24px 70px rgb(var(--ms-1000-rgb) / .1) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
.alltype-card:before,
.alltype-card.is-outline:before{
  background:
    var(--ms-100),
    var(--ms-0) !important;}
.alltype-arrow{
  color:var(--ms-blue) !important;}
.mobile-top,
.mobile-menu-drawer{
  background:rgb(var(--ms-50-rgb) / .92) !important;
  border-color:var(--ms-line) !important;}
.mobile-menu-drawer .side-link.active{
  background:var(--ms-blue) !important;
  border-color:var(--ms-blue) !important;
  color:var(--ms-ui-on) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
.mobile-menu-drawer .side-link.active .side-label,
.mobile-menu-drawer .side-link.active .side-icon{
  color:var(--ms-ui-on) !important;}
.mobile-menu-drawer .side-link.active .side-icon{
  background:rgb(var(--ms-0-rgb) / .22) !important;}

html[data-theme="dark"]{
  --blue:var(--ms-ui-accent);
  --blue-2:var(--ms-ui-accent);
  --blue-4:var(--ms-1000);
  --navy:var(--ms-50);
  --ink:var(--ms-0);
  --text:var(--ms-150);
  --muted:var(--ms-300);
  --line:var(--ms-ui-accent);
  --line-2:var(--ms-1000);
  --soft:var(--ms-1000);
  --soft-2:var(--ms-1000);
  --green:var(--ms-100);
  --volt:var(--ms-100);
  --volt-soft:var(--ms-800);}
html[data-theme="dark"][data-theme] body .button-primary,
html[data-theme="dark"][data-theme] body .ms-composer-send{
  background:var(--ms-100) !important;
  color:var(--ms-1000) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* 30b. Correcoes de alta especificidade para feed e perfil */
body .post-card.feed-spotlight,
body .post-card.social-card.feed-spotlight,
body .post-card.feed-update-card.feed-spotlight,
body article.post-card.feed-update-card.feed-spotlight{
  background:
    var(--ms-100),
    var(--ms-1000) !important;
  border-color:var(--ms-100) !important;
  color:var(--ms-ui-on) !important;
  box-shadow:0 24px 70px rgb(var(--ms-1000-rgb) / .11) !important;}
body .post-card.feed-spotlight *,
body .post-card.social-card.feed-spotlight *,
body .post-card.feed-update-card.feed-spotlight *{
  border-color:rgb(var(--ms-0-rgb) / .18) !important;}
body .post-card.feed-spotlight h1,
body .post-card.feed-spotlight h2,
body .post-card.feed-spotlight h3,
body .post-card.feed-spotlight strong,
body .post-card.feed-spotlight b,
body .post-card.feed-spotlight p,
body .post-card.feed-spotlight small,
body .post-card.feed-spotlight .post-meta,
body .post-card.feed-spotlight .feed-card-copy,
body .post-card.feed-spotlight .feed-card-copy p{
  color:var(--ms-ui-on) !important;}
body .post-card.feed-spotlight .post-actions,
body .post-card.feed-spotlight .feed-card-footer,
body .post-card.feed-spotlight .feed-card-footer-actions,
body .post-card.feed-spotlight .ms-icon-row,
body .post-card.feed-spotlight .deadline-box,
body .post-card.feed-spotlight .card-progress,
body .post-card.feed-spotlight [class*="deadline"],
body .post-card.feed-spotlight [class*="progress"]{
  background:rgb(var(--ms-950-rgb) / .22) !important;
  border-color:rgb(var(--ms-0-rgb) / .2) !important;}
body .post-card.feed-spotlight .post-tag,
body .post-card.feed-spotlight .micro-label,
body .post-card.feed-spotlight .pill,
body .post-card.feed-spotlight .tag,
body .post-card.feed-spotlight [class*="tag"],
body .post-card.feed-spotlight [class*="badge"]{
  background:var(--ms-100) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-100) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .post-card.feed-spotlight .ms-icon-row > *,
body .post-card.feed-spotlight .post-actions button,
body .post-card.feed-spotlight .post-actions a{
  background:rgb(var(--ms-0-rgb) / .14) !important;
  color:var(--ms-ui-on) !important;
  border-color:rgb(var(--ms-0-rgb) / .16) !important;}
body .post-card.feed-spotlight .ms-icon-row > *:hover,
body .post-card.feed-spotlight .post-actions button:hover,
body .post-card.feed-spotlight .post-actions a:hover{
  background:var(--ms-100) !important;
  color:var(--ms-1000) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .post-card.feed-spotlight .system-avatar,
body .system-avatar,
body .share-publication-author .system-avatar{
  background:var(--ms-100) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-0) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .profile-mini-card .cover-strip,
body .profile-card .profile-cover,
body .profile-cover,
body .cover-strip{
  background:
    var(--ms-100),
    var(--ms-1000) !important;}
body .sidebar .button-white,
body .mentor-cta .button-white,
body .sidebar .mentor-cta .button-white{
  background:var(--ms-100) !important;
  color:var(--ms-1000) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .side-link.active,
body .sidebar .side-link.active,
body .social-nav .side-link.active,
body .admin-side-nav .side-link.active{
  background:var(--ms-100) !important;
  color:var(--ms-1000) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .side-link.active .side-label,
body .sidebar .side-link.active .side-label{
  color:var(--ms-1000) !important;}

/* 30c. Vence regras antigas do feed social carregadas com maior especificidade */
body .social-home-main .post-card.feed-update-card.feed-spotlight,
body .social-home-main .post-card.feed-forum-post.feed-spotlight,
body .social-home-main article.post-card.social-card.feed-update-card.feed-spotlight,
body .social-home-main article.post-card.social-card.feed-forum-post.feed-spotlight{
  background:
    var(--ms-100),
    var(--ms-1000) !important;
  border-color:var(--ms-100) !important;
  box-shadow:0 24px 70px rgb(var(--ms-1000-rgb) / .11) !important;}
body .social-home-main .post-card.feed-spotlight .system-avatar,
body .social-home-main .post-card.feed-update-card.feed-spotlight .system-avatar{
  background:var(--ms-100) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-0) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .social-home-main .post-card.feed-spotlight .feed-detail-panel,
body .social-home-main .post-card.feed-spotlight .feed-countdown-panel,
body .social-home-main .post-card.feed-spotlight .feed-stat-panel,
body .social-home-main .post-card.feed-spotlight .feed-card-footer,
body .social-home-main .post-card.feed-spotlight .post-actions.feed-forum-actions{
  background:rgb(var(--ms-950-rgb) / .2) !important;
  border-color:rgb(var(--ms-0-rgb) / .2) !important;}
body .social-home-main .post-card.feed-spotlight .feed-detail-panel-head strong,
body .social-home-main .post-card.feed-spotlight .post-tag,
body .social-home-main .post-card.feed-spotlight .ms-chips .c,
body .social-home-main .post-card.feed-spotlight .feed-country-badge{
  background:var(--ms-100) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-100) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .social-home-main .post-card.feed-spotlight .ms-icon-action,
body .social-home-main .post-card.feed-spotlight .save-btn-icon,
body .social-home-main .post-card.feed-spotlight .ms-icon-action-count,
body .social-home-main .post-card.feed-spotlight .ms-more-copy-btn{
  background:rgb(var(--ms-0-rgb) / .14) !important;
  color:var(--ms-ui-on) !important;
  border-color:rgb(var(--ms-0-rgb) / .16) !important;}
body .ms-pcard-cover,
body .profile-mini-card .ms-pcard-cover,
body .social-right-rail .ms-pcard-cover{
  background:
    var(--ms-100),
    var(--ms-1000) !important;}
body .ms-filter-dot,
body .ms-feed-filters .ms-filter-dot,
body .progress-line span,
body .account-progress-bar span{
  background:var(--ms-100) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* 30d. Detalhes menores: chips, campos e avatares automaticos */
body .page-kicker,
body .micro-label,
body .micro-label.blue,
body .post-tag,
body [class*="ms-tipo-"],
body .ms-chips .c,
body .post-card .ms-chips .c,
body .profile-repost-embed-tag,
body .trend-source-strip strong,
body .feed-section-title,
body .ms-composer-act,
body .ms-composer-act.c1,
body .ms-composer-act.c2,
body .ms-composer-act.c3,
body .ms-composer-act.c4{
  background:var(--ms-150) !important;
  color:var(--ms-ui-accent) !important;
  border-color:var(--ms-300) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .ms-composer-input,
body .ms-composer-title,
body .search-box,
body input,
body select,
body textarea{
  background:var(--ms-0) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-200) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .ms-feed-more,
body .ms-account-cta,
body .profile-mini-card .ms-account-cta,
body .site-footer a:hover,
body .footer a:hover,
body .site-footer-links a:hover{
  background:var(--ms-50) !important;
  color:var(--ms-ui-accent) !important;
  border-color:var(--ms-100) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .system-avatar,
body .post-card .system-avatar,
body .feed-card .system-avatar,
body .forum-card .system-avatar,
body .feed-country-flag{
  background:var(--ms-100) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-0) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .feed-country-text,
body .forum-headline,
body .post-author-link,
body .post-date-link,
body .feed-card-footer small,
body .feed-card-footer small a{
  color:var(--ms-600) !important;}
body .sidebar .letter,
body .mentor-cta .letter,
body .sidebar .impact-box strong,
body .mentor-cta strong{
  color:var(--ms-ui-on) !important;}
body .sidebar .mini-progress span,
body .mentor-cta .mini-progress span,
body .impact-box .mini-progress span{
  background:var(--ms-100) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .sidebar .button-white,
body .mentor-cta .button-white,
body .sidebar .mentor-cta a.button-white{
  background:var(--ms-100) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-100) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .sidebar .side-link.active,
body .social-nav .side-link.active,
body .side-nav .side-link.active{
  background:var(--ms-100) !important;
  color:var(--ms-1000) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .sidebar .side-link.active *,
body .social-nav .side-link.active *,
body .side-nav .side-link.active *{
  color:var(--ms-1000) !important;}

/* 30e. Home social: rótulos e filtros com especificidade máxima */
body .social-home-main .page-kicker,
body .social-home-main .micro-label,
body .social-home-main .micro-label.blue,
body .social-home-main .post-card .post-tag,
body .social-home-main .post-card [class*="ms-tipo-"],
body .social-home-main .post-card .ms-chips .c,
body .social-home-main .feed-section-title .page-kicker{
  background:var(--ms-150) !important;
  color:var(--ms-ui-accent) !important;
  border-color:var(--ms-300) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .social-home-main .ms-feed-filters .ms-filter.on .ms-filter-dot,
body .social-home-main .ms-feed-filters .ms-filter .ms-filter-dot,
body .ms-feed-filters .ms-filter.on .ms-filter-dot,
body .ms-feed-filters .ms-filter .ms-filter-dot{
  background:var(--ms-100) !important;
  border-color:var(--ms-100) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
body .social-home-main .feed-forum-post .forum-headline,
body .social-home-main .post-card .forum-headline,
body .social-home-main .post-card .post-header small,
body .social-home-main .post-card .post-header small a{
  color:var(--ms-600) !important;}
/* MigraSpace palette override: vivid social blue, navy and white. */
:root{
  --blue:var(--ms-ui-accent);
  --blue-2:var(--ms-ui-accent);
  --blue-3:var(--ms-ui-accent);
  --blue-4:var(--ms-150);
  --navy:var(--ms-1000);
  --ink:var(--ms-950);
  --text:var(--ms-1000);
  --muted:var(--ms-600);
  --line:var(--ms-200);
  --line-2:var(--ms-100);
  --soft:var(--ms-50);
  --soft-2:var(--ms-150);
  --green:var(--ms-ui-accent);
  --green-soft:var(--ms-100);
  --green-strong:var(--ms-ui-accent);
  --volt:var(--ms-ui-accent);
  --volt-soft:var(--ms-100);
  --coral:var(--ms-ui-accent);
  --coral-dk:var(--ms-ui-accent);
  --azul:var(--ms-ui-accent);
  --azul-dk:var(--ms-ui-accent);
  --amber:var(--ms-ui-accent);
  --amber-strong:var(--ms-ui-accent);
  --amber-soft:var(--ms-100);
  --amber-line:var(--ms-250);
  --app-bg:var(--ms-50);
  --social-bg:var(--ms-50);
  --mvp-bg:var(--ms-50);
  --brand-blue:var(--ms-ui-accent);
  --brand-blue-dark:var(--ms-ui-accent);
  --brand-blue-soft:var(--ms-150);
  --brand-blue-line:var(--ms-300);
  --brand-amber:var(--ms-ui-accent);
  --brand-amber-soft:var(--ms-100);
  --brand-ink:var(--ms-1000);
  --shadow:0 18px 44px rgb(var(--ms-1000-rgb) / .05);
  --shadow-soft:0 8px 22px rgb(var(--ms-1000-rgb) / .035);
  --social-shadow:0 10px 26px rgb(var(--ms-1000-rgb) / .04);}

body,
body.social-body,
.public-shell{
  background:var(--ms-50) !important;
  color:var(--ms-1000) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .main > .topbar .hello h1,
body .section-head h2,
body .post-card h1,
body .post-card h2,
body .post-card h3,
body .post-card strong,
body .ms-pcard-name,
body .ms-account-head strong,
body .ms-person-name,
body .site-footer-brand strong{
  color:var(--ms-1000) !important;}

body .post-text,
body .forum-post-copy,
body .post-text.forum-post-copy,
body .social-home-main .post-card .post-text.forum-post-copy,
body .social-home-main .feed-forum-post .post-text.forum-post-copy,
body .feed-card-copy,
body .feed-card-copy p,
body .post-card p,
body .post-card .post-body,
body .profile-post-body,
body .comment-body{
  color:var(--ms-1000) !important;}

body a,
body .post-author-link:hover,
body .post-date-link:hover,
body .ms-icon-action[aria-pressed="true"],
body .ms-proof-right:hover,
body .ms-people-all,
body .site-footer a:hover,
body .footer a:hover{
  color:var(--ms-ui-accent) !important;}

body .ms-gnav-link,
body .ms-gnav-link svg,
body .mobile-bottom-nav a,
body .social-mobile-nav a{
  color:var(--ms-ui-accent) !important;
  stroke:var(--ms-ui-accent) !important;}

body .ms-gnav-link.is-active,
body .ms-gnav-link:hover{
  color:var(--ms-ui-accent) !important;}

body .ms-gnav-link.is-active:after,
body .ms-gnav-link.active:after{
  background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .ms-theme-toggle,
body button.ms-theme-toggle,
body .country-chip,
body button.country-chip,
body .top-actions .country-chip,
body .ms-gnav-tools .country-chip,
body .ms-gnav .ms-gnav-tools .country-chip,
body .icon-button.lang-chip,
body .top-actions .icon-button.lang-chip,
body .ms-gnav-tools .icon-button.lang-chip,
body button.icon-button.lang-chip{
  background:var(--ms-0) !important;
  background-color:var(--ms-0) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-200) !important;
  box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-theme-toggle svg,
body .ms-theme-toggle svg *,
body .ms-theme-sun,
body .ms-theme-moon{
  color:var(--ms-1000) !important;
  stroke:var(--ms-1000) !important;
  border-color:var(--ms-1000) !important;}

body .button-primary,
body .button.button-primary,
body .primary,
body .ms-account-cta,
body .ms-person-cta,
body .mobile-menu-login,
body .ms-feed-more{
  background:var(--ms-ui-accent) !important;
  border-color:var(--ms-ui-accent) !important;
  color:var(--ms-ui-on) !important;
  box-shadow:0 12px 28px rgb(var(--ms-1000-rgb) / .11) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .button-outline,
body .button.button-outline,
body .ms-person-cta,
body .ms-account-cta{
  border-color:var(--ms-ui-accent) !important;}

body .page-kicker,
body .micro-label,
body .micro-label.blue,
body .feed-section-title,
body .post-tag,
body .post-card .post-tag,
body .feed-update-card .post-tag,
body .feed-forum-post .post-tag,
body .post-card .feed-card-menu .post-tag,
body .post-card .post-header .post-tag,
body .post-card .forum-post-header .post-tag,
body .social-home-main .page-kicker,
body .social-home-main .micro-label,
body .social-home-main .post-card .post-tag,
body .social-home-main .post-card .feed-card-menu .post-tag,
body .social-home-main .post-card .post-header .post-tag,
body .social-home-main .post-card .forum-post-header .post-tag,
body .social-feed-column .post-card .post-tag,
body .social-feed-column .feed-forum-post .post-tag:not(.alert):not(.publi-tag),
body .social-feed-column .feed-update-card .post-tag:not(.alert):not(.publi-tag),
body .publication-card .post-tag,
body .share-publication-card .post-tag,
body .profile-post-card .post-tag,
body [class*="ms-tipo-"],
body .ms-tipo-dica,
body .social-home-main .feed-forum-post .post-tag.ms-tipo-dica,
body .ms-chips .c,
body .post-card .ms-chips .c,
body .tag-list .tag,
body .profile-repost-embed-tag,
body .trend-source-strip strong{
  background:var(--ms-150) !important;
  background-color:var(--ms-150) !important;
  color:var(--ms-ui-accent) !important;
  border-color:var(--ms-300) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .post-tag.alert,
body .post-card .post-tag.alert{
  background:var(--ms-ui-accent) !important;
  background-color:var(--ms-ui-accent) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .publi-tag,
body .post-tag.publi-tag{
  background:var(--ms-1000) !important;
  background-color:var(--ms-1000) !important;
  color:var(--ms-ui-on) !important;
  border-color:var(--ms-1000) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .feed-update-card.feed-vagas .post-tag,
body .feed-update-card.feed-oportunidades .post-tag,
body .post-tag.vagas,
body .ms-tipo-vaga,
body .ms-tipo-experiencia,
body .ms-tipo-conquista,
body .ms-tipo-oportunidade{
  background:var(--ms-100) !important;
  background-color:var(--ms-100) !important;
  color:var(--ms-ui-accent) !important;
  border-color:var(--ms-250) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .feed-update-card.feed-bolsas .post-tag,
body .feed-update-card.feed-estudos .post-tag,
body .feed-update-card.feed-formacao .post-tag,
body .feed-update-card.feed-estatisticas .post-tag,
body .feed-update-card.feed-tendencias .post-tag,
body .ms-tipo-bolsa,
body .ms-tipo-dados,
body .ms-tipo-repost{
  background:var(--ms-ui-accent) !important;
  background-color:var(--ms-ui-accent) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .post-card.feed-spotlight,
body .post-card.feed-update-card.feed-spotlight,
body article.post-card.feed-update-card.feed-spotlight,
body .social-home-main .post-card.feed-update-card.feed-spotlight,
body .social-home-main article.post-card.social-card.feed-update-card.feed-spotlight,
body .ms-radar-rail,
body .auth-visual,
body .community-hero,
body .alltype-card,
body .public-hero{
  background:
    var(--ms-1000),
    var(--ms-1000) !important;
  border-color:var(--ms-ui-accent) !important;
  color:var(--ms-ui-on) !important;
  box-shadow:0 24px 70px rgb(var(--ms-1000-rgb) / .11) !important;}

body .post-card.feed-spotlight *,
body .ms-radar-rail *,
body .auth-visual *,
body .community-hero *,
body .alltype-card *,
body .public-hero *{
  color:inherit;}

body .post-card.feed-spotlight .post-tag,
body .post-card.feed-spotlight .micro-label,
body .ms-radar-rail .pill,
body .auth-visual .micro-label,
body .community-hero .micro-label,
body .alltype-card .micro-label{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .profile-mini-card .cover-strip,
body .profile-card .profile-cover,
body .profile-cover,
body .cover-strip,
body .ms-pcard-cover,
body .profile-mini-card .ms-pcard-cover,
body .social-right-rail .ms-pcard-cover,
body .ms-person-cover,
body .brand-card-cover{
  background:
    var(--ms-1000),
    var(--ms-1000) !important;}

body .system-avatar,
body .post-card .system-avatar,
body .feed-card .system-avatar,
body .forum-card .system-avatar,
body .feed-country-flag,
body .avatar-letter,
body .letter-inline,
body .ms-composer-avatar.is-letter,
body .ms-gnav-av.is-letter,
body .ms-account-av.is-letter,
body .ms-person-av.is-letter,
body .ms-pcard-av.is-letter,
body .profile-composer-brand .brand-mark{
  background:var(--ms-ui-accent) !important;
  background-color:var(--ms-ui-accent) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-0) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .ms-pcard-av,
body img.ms-pcard-av,
body .profile-mini-card img.ms-pcard-av{
  background:var(--ms-0) !important;
  background-color:var(--ms-0) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .brand-mark.orbit svg circle:first-child,
body .brand-mark svg circle:first-child{
  stroke:var(--ms-ui-accent) !important;}
body .brand-mark.orbit svg circle:nth-child(2),
body .brand-mark svg circle:nth-child(2){
  fill:var(--ms-0) !important;}
body .brand-mark.orbit svg circle:nth-child(3),
body .brand-mark svg circle:nth-child(3){
  fill:var(--ms-ui-accent) !important;}

body .ms-feed-filters .ms-filter,
body .country-chip,
body .search-box,
body .ms-gnav-search input,
body input,
body select,
body textarea,
body .mobile-menu-search{
  background:var(--ms-0) !important;
  color:var(--ms-1000) !important;
  border-color:var(--ms-200) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body input:focus,
body select:focus,
body textarea:focus,
body .search-box:focus-within,
body .mobile-menu-search:focus-within,
body .ms-gnav-search input:focus{
  border-color:var(--ms-ui-accent) !important;
  box-shadow:0 0 0 4px rgb(var(--ms-1000-rgb) / .07) !important;
  outline:none !important;}

body .ms-feed-filters .ms-filter.on,
body .ms-feed-filters .ms-filter:hover{
  background:var(--ms-1000) !important;
  border-color:var(--ms-1000) !important;
  color:var(--ms-ui-on) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .ms-feed-filters .ms-filter .ms-filter-dot,
body .ms-feed-filters .ms-filter.on .ms-filter-dot,
body .social-home-main .ms-feed-filters .ms-filter .ms-filter-dot,
body .social-home-main .ms-feed-filters .ms-filter.on .ms-filter-dot,
body .progress-line span,
body .mini-progress span,
body .account-progress-bar span,
body .ranking-mini b,
body .ms-rx .rx1,
body .ms-rx .rx2{
  background:var(--ms-ui-accent) !important;
  background-color:var(--ms-ui-accent) !important;
  border-color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .main > .topbar .hello .page-kicker,
body:not(.admin-area) .main > .topbar .hello .page-kicker,
body.social-body .main > .topbar .hello .page-kicker,
body .social-topbar .hello .page-kicker,
body .topbar.social-topbar .page-kicker,
body .hello > .page-kicker{
  background:var(--ms-150) !important;
  background-color:var(--ms-150) !important;
  color:var(--ms-ui-accent) !important;
  border-color:var(--ms-300) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .sidebar,
body .social-nav,
body .side-nav.social-nav,
body nav.side-nav.social-nav{
  background:
    var(--ms-1000),
    var(--ms-1000) !important;
  border-color:var(--ms-200) !important;
  color:var(--ms-ui-on) !important;}

body .sidebar .side-link,
body .social-nav .side-link,
body .sidebar:not(.admin-sidebar) .side-link,
body .sidebar:not(.admin-sidebar) .side-link .side-label,
body .sidebar:not(.admin-sidebar) .side-nav .side-link,
body .sidebar:not(.admin-sidebar) .side-nav .side-link .side-label,
body .sidebar .brand-title,
body .sidebar .brand-title strong,
body .sidebar .brand-title small{
  color:rgb(var(--ms-ui-on-rgb) / .92) !important;}

body .sidebar .side-icon,
body .social-nav .side-icon,
body .sidebar:not(.admin-sidebar) .side-link .side-icon,
body .sidebar:not(.admin-sidebar) .side-nav .side-link .side-icon{
  background:rgb(var(--ms-0-rgb) / .14) !important;
  color:var(--ms-ui-on) !important;}

body .sidebar .nav-group-title,
body .sidebar .side-nav-title,
body .sidebar .side-nav-label,
body .sidebar:not(.admin-sidebar) .nav-group-title,
body .sidebar:not(.admin-sidebar) .side-nav-title,
body .sidebar:not(.admin-sidebar) .side-nav-label{
  color:rgb(var(--ms-ui-on-rgb) / .64) !important;}

body .side-link.active,
body .sidebar .side-link.active,
body .social-nav .side-link.active,
body .admin-side-nav .side-link.active,
body .mobile-bottom-nav a.active,
body .social-mobile-nav a.active{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-1000) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .side-link.active *,
body .sidebar .side-link.active *,
body .social-nav .side-link.active *,
body .mobile-bottom-nav a.active *,
body .social-mobile-nav a.active *{
  color:var(--ms-1000) !important;
  stroke:var(--ms-1000) !important;}

body .mobile-bottom-nav a.mobile-feed-link,
body .mobile-bottom-nav.social-mobile-nav a.mobile-feed-link,
body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a.mobile-feed-link,
body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a.mobile-feed-link.active{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-ui-on) !important;
  box-shadow:0 8px 20px rgb(var(--ms-1000-rgb) / .18) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .mobile-bottom-nav a.mobile-feed-link *,
body .mobile-bottom-nav.social-mobile-nav a.mobile-feed-link *{
  color:var(--ms-ui-on) !important;
  stroke:var(--ms-0) !important;}

body .site-footer,
body .post-card,
body .social-card,
body .feed-card,
body .section-block,
body .list-card,
body .content-card,
body .form-card,
body .profile-card,
body .right-widget,
body .card{
  border-color:var(--ms-200) !important;}

/* Identity v2: social app, blue-led, restrained green accent. */
:root{
  --ms-blue:var(--ms-ui-accent);
  --ms-blue-deep:var(--ms-1000);
  --ms-blue-mid:var(--ms-ui-accent);
  --ms-blue-soft:var(--ms-150);
  --ms-blue-wash:var(--ms-50);
  --ms-sky:var(--ms-ui-accent);
  --ms-green:var(--ms-ui-accent);
  --ms-green-soft:var(--ms-100);
  --ms-ink:var(--ms-1000);
  --ms-text:var(--ms-ui-accent);
  --ms-muted:var(--ms-600);
  --ms-line:var(--ms-200);
  --ms-card:var(--ms-0);
  --green:var(--ms-ui-accent);
  --volt:var(--ms-ui-accent);
  --amber:var(--ms-ui-accent);
  --amber-soft:var(--ms-100);
  --amber-strong:var(--ms-ui-accent);
  --green-soft:var(--ms-100);
  --green-strong:var(--ms-ui-accent);
  --shadow:0 14px 34px rgb(var(--ms-1000-rgb) / .04);
  --shadow-soft:0 7px 18px rgb(var(--ms-1000-rgb) / .03);
  --social-shadow:0 7px 20px rgb(var(--ms-1000-rgb) / .035);}

html[data-theme="light"] body,
body,
body.social-body{
  background:
    var(--ms-0) !important;
  color:var(--ms-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-gnav{
  background:rgb(var(--ms-0-rgb) / .94) !important;
  border-bottom:1px solid rgb(var(--ms-200-rgb) / .95) !important;
  box-shadow:0 1px 0 rgb(var(--ms-1000-rgb) / .01), 0 10px 28px rgb(var(--ms-1000-rgb) / .025) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;}

body .ms-gnav-link,
body .ms-gnav-link svg{
  color:var(--ms-blue-mid) !important;
  stroke:var(--ms-blue-mid) !important;}

body .ms-gnav-link.is-active{
  color:var(--ms-blue) !important;}

body .ms-gnav-link.is-active:after,
body .ms-gnav-link.active:after{
  background:var(--ms-ui-surface) !important;
  height:3px !important;
  border-radius:999px 999px 0 0 !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .main > .topbar .hello .page-kicker,
body .page-kicker,
body .micro-label,
body .post-tag,
body .post-card .post-tag,
body .social-home-main .post-card .post-tag,
body [class*="ms-tipo-"]{
  background:var(--ms-100) !important;
  background-color:var(--ms-100) !important;
  color:var(--ms-blue) !important;
  border:1px solid var(--ms-250) !important;
  letter-spacing:0 !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .post-card,
body .social-card,
body .feed-card,
body .right-widget,
body .profile-card,
body .list-card,
body .form-card,
body .section-block{
  background:var(--ms-0) !important;
  border:1px solid rgb(var(--ms-200-rgb) / .96) !important;
  box-shadow:0 12px 28px rgb(var(--ms-1000-rgb) / .03) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .social-home-main .post-card,
body .social-home-main .post-card.feed-update-card,
body .social-home-main .post-card.feed-forum-post{
  border-radius:16px !important;
  overflow:hidden !important;}

body .post-card:hover,
body .social-card:hover{
  box-shadow:0 16px 38px rgb(var(--ms-1000-rgb) / .045) !important;}

body .profile-mini-card .cover-strip,
body .profile-card .profile-cover,
body .profile-cover,
body .cover-strip,
body .ms-pcard-cover,
body .profile-mini-card .ms-pcard-cover,
body .social-right-rail .ms-pcard-cover,
body .ms-person-cover,
body .brand-card-cover,
body .post-card.feed-spotlight,
body .post-card.feed-update-card.feed-spotlight,
body .ms-radar-rail,
body .auth-visual,
body .community-hero,
body .alltype-card,
body .public-hero{
  background:
    var(--ms-0),
    var(--ms-1000),
    var(--ms-1000) !important;
  border-color:var(--ms-300) !important;}

body .button-primary,
body .button.button-primary,
body .primary,
body .ms-feed-more,
body .ms-composer-send{
  background:var(--ms-ui-surface) !important;
  border-color:var(--ms-blue) !important;
  color:var(--ms-ui-on) !important;
  box-shadow:0 12px 26px rgb(var(--ms-1000-rgb) / .11) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .button-primary:hover,
body .ms-feed-more:hover,
body .ms-composer-send:hover{
  background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .ms-story-rail{
  display:flex !important;
  align-items:flex-start !important;
  gap:14px !important;
  margin:0 0 12px !important;
  padding:12px 14px !important;
  overflow-x:auto !important;
  scrollbar-width:none !important;
  background:var(--ms-0) !important;
  border:1px solid rgb(var(--ms-200-rgb) / .98) !important;
  border-radius:18px !important;
  box-shadow:0 10px 24px rgb(var(--ms-1000-rgb) / .028) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-story-rail::-webkit-scrollbar{ display:none !important;}

body .ms-story{
  flex:0 0 72px !important;
  display:grid !important;
  justify-items:center !important;
  gap:7px !important;
  color:var(--ms-ink) !important;
  text-decoration:none !important;}

body .ms-story-ring{
  width:58px !important;
  height:58px !important;
  display:grid !important;
  place-items:center !important;
  padding:3px !important;
  border-radius:999px !important;
  background:var(--ms-ui-surface) !important;
  box-shadow:0 10px 18px rgb(var(--ms-1000-rgb) / .07) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-story-ring img,
body .ms-story-ring b{
  width:100% !important;
  height:100% !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  object-fit:cover !important;
  background:var(--ms-0) !important;
  color:var(--ms-blue) !important;
  border:2px solid var(--ms-0) !important;
  font-size:18px !important;
  font-weight:900 !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-story strong{
  max-width:76px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:var(--ms-ink) !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:800 !important;}

body .ms-feed-filters{
  gap:8px !important;
  margin:0 0 14px !important;
  padding:2px 0 4px !important;}

body .ms-feed-filters .ms-filter{
  min-height:38px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  background:var(--ms-0) !important;
  border:1px solid var(--ms-line) !important;
  color:var(--ms-ink) !important;
  box-shadow:0 6px 14px rgb(var(--ms-1000-rgb) / .02) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-feed-filters .ms-filter .ms-filter-dot,
body .social-home-main .ms-feed-filters .ms-filter .ms-filter-dot{
  width:7px !important;
  height:7px !important;
  background:var(--ms-green) !important;
  background-color:var(--ms-green) !important;
  box-shadow:0 0 0 3px rgb(var(--ms-1000-rgb) / .075) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-feed-filters .ms-filter.on,
body .ms-feed-filters .ms-filter:hover{
  background:var(--ms-blue-deep) !important;
  border-color:var(--ms-blue-deep) !important;
  color:var(--ms-ui-on) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .ms-feed-filters .ms-filter.on .ms-filter-dot{
  background:var(--ms-0) !important;
  background-color:var(--ms-0) !important;
  box-shadow:0 0 0 3px rgb(var(--ms-0-rgb) / .11) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-composer-input,
body .ms-composer-title,
body .search-box,
body input,
body select,
body textarea{
  background:var(--ms-0) !important;
  border-color:var(--ms-line) !important;
  color:var(--ms-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-feed-composer{
  border-radius:18px !important;}

body .ms-composer-input{
  min-height:46px !important;
  border-radius:999px !important;
  padding:13px 18px !important;
  box-shadow:inset 0 0 0 1px rgb(var(--ms-200-rgb) / .225) !important;}

body .ms-composer-act,
body .ms-composer-act.c1,
body .ms-composer-act.c2,
body .ms-composer-act.c3,
body .ms-composer-act.c4{
  background:var(--ms-50) !important;
  background-color:var(--ms-50) !important;
  border:1px solid var(--ms-150) !important;
  color:var(--ms-blue-mid) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .system-avatar,
body .post-card .system-avatar,
body .feed-card .system-avatar,
body .forum-card .system-avatar,
body .avatar-letter,
body .letter-inline,
body .ms-composer-avatar.is-letter,
body .ms-gnav-av.is-letter,
body .ms-account-av.is-letter,
body .ms-person-av.is-letter,
body .ms-pcard-av.is-letter,
body .profile-composer-brand .brand-mark{
  background:var(--ms-ui-surface) !important;
  background-color:var(--ms-blue) !important;
  color:var(--ms-ui-on) !important;
  border-color:var(--ms-0) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-icon-row,
body .post-actions,
body .profile-post-actions,
body .share-publication-actions,
body .feed-card-footer-actions,
body .social-home-main .post-actions.feed-forum-actions{
  background:var(--ms-0) !important;
  border-top:1px solid var(--ms-100) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-icon-action,
body .save-btn-icon,
body .profile-share-btn,
body .ms-link-share-btn,
body .ms-more-copy-btn,
body .post-actions .ms-icon-action,
body .post-actions .save-btn-icon,
body .social-home-main .feed-forum-actions .ms-icon-action,
body .social-home-main .feed-forum-actions .save-btn-icon,
body .social-home-main .feed-card-footer-actions .ms-icon-action,
body .social-home-main .feed-card-footer-actions .save-btn-icon{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  border-radius:14px !important;
  border:1px solid transparent !important;
  background:var(--ms-0) !important;
  background-color:var(--ms-0) !important;
  color:var(--ms-blue-deep) !important;
  box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-icon-action svg,
body .save-btn-icon svg,
body .profile-share-btn svg,
body .ms-link-share-btn svg,
body .ms-more-copy-btn svg{
  width:20px !important;
  height:20px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;}

body .save-btn-icon .save-btn-label{
  display:none !important;}

body .ms-icon-row .save-btn-icon:after,
body .post-actions.ms-icon-row .save-btn-icon:after,
body .share-publication-actions.ms-icon-row .save-btn-icon:after,
body .profile-post-actions.ms-icon-row .save-btn-icon:after,
body .feed-card-footer .ms-icon-row .save-btn-icon:after{
  content:none !important;
  display:none !important;}

body .share-publication-actions.ms-icon-row{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:10px !important;
  padding:14px 0 0 !important;
  margin-top:18px !important;
  border-top:1px solid var(--ms-100) !important;
  background:var(--ms-0) !important;
  overflow-x:auto !important;
  scrollbar-width:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .share-publication-actions.ms-icon-row::-webkit-scrollbar{
  display:none !important;}

body .share-publication-actions.ms-icon-row .ms-icon-action,
body .share-publication-actions.ms-icon-row .save-btn-icon,
body .share-publication-actions.ms-icon-row .profile-share-btn{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  border-radius:14px !important;
  background:var(--ms-0) !important;
  border:1px solid var(--ms-200) !important;
  color:var(--ms-1000) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .share-publication-actions.ms-icon-row .ms-icon-action-count{
  width:auto !important;
  min-width:54px !important;
  gap:6px !important;
  padding:0 12px !important;}

body .share-publication-brand{
  margin-left:auto !important;
  background:var(--ms-0) !important;
  border:1px solid var(--ms-200) !important;
  border-radius:16px !important;
  padding:7px 10px !important;
  color:var(--ms-1000) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .publication-comment-box{
  background:var(--ms-50) !important;
  border:1px solid var(--ms-200) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .publication-comment-box p,
body .share-publication-text{
  color:var(--ms-ui-accent) !important;}

body .publication-reply summary{
  color:var(--ms-ui-accent) !important;}

body .ms-icon-action:hover,
body .save-btn-icon:hover,
body .profile-share-btn:hover,
body .ms-link-share-btn:hover,
body .ms-more-copy-btn:hover{
  background:var(--ms-100) !important;
  background-color:var(--ms-100) !important;
  border-color:var(--ms-250) !important;
  color:var(--ms-blue) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .save-btn-icon.is-saved,
body .ms-icon-action[aria-pressed="true"]{
  background:var(--ms-100) !important;
  color:var(--ms-blue) !important;
  border-color:var(--ms-250) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-icon-action[title="Curtidas"]:hover,
body .ms-icon-action[aria-label$="curtida(s)"]:hover{
  color:var(--ms-ui-accent) !important;
  background:var(--ms-100) !important;
  border-color:var(--ms-250) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .post-card .feed-card-menu{
  gap:8px !important;}

body .post-card .post-header small,
body .feed-card-footer small,
body .post-meta,
body .post-date-link,
body .forum-headline,
body .feed-country-text{
  color:var(--ms-muted) !important;}

body .post-text,
body .post-text.forum-post-copy,
body .feed-card-copy p,
body .post-card p{
  color:var(--ms-text) !important;}

body .social-nav,
body .side-nav.social-nav,
body nav.side-nav.social-nav{
  background:
    var(--ms-1000),
    var(--ms-1000) !important;
  border:0 !important;
  box-shadow:0 18px 38px rgb(var(--ms-1000-rgb) / .09) !important;}

body .social-nav .side-link.active,
body .side-nav.social-nav .side-link.active{
  background:rgb(var(--ms-0-rgb) / .14) !important;
  color:var(--ms-ui-on) !important;
  box-shadow:inset 3px 0 0 var(--ms-green) !important;}

@media (max-width:860px){
  html,body{
    overflow-x:hidden !important;}

  body,
  body.social-body{
    background:var(--ms-50) !important;
    padding-bottom:96px !important;}

  body .main.social-home-main{
    padding:10px 10px 104px !important;}

  body .social-layout.social-layout-wide{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;}

  body .social-left-rail,
  body .social-right-rail,
  body .social-right-rail-wide{
    display:none !important;}

  body .social-home-main .social-feed-column{
    gap:10px !important;
    width:100% !important;}

  body .ms-story-rail{
    margin:2px 0 10px !important;
    padding:11px 10px !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    box-shadow:none !important;
    width:calc(100% + 20px) !important;
    transform:translateX(-10px) !important;}

  body .ms-story{
    flex-basis:66px !important;}

  body .ms-story-ring{
    width:54px !important;
    height:54px !important;}

  body .ms-feed-filters{
    position:sticky !important;
    top:0 !important;
    z-index:20 !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    width:calc(100% + 20px) !important;
    transform:translateX(-10px) !important;
    padding:8px 10px !important;
    margin:0 0 10px !important;
    background:rgb(var(--ms-50-rgb) / .92) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
    scrollbar-width:none !important;}

  body .ms-feed-filters::-webkit-scrollbar{ display:none !important;}

  body .ms-feed-filters .ms-filter{
    flex:0 0 auto !important;
    min-height:34px !important;
    padding:0 12px !important;
    font-size:12px !important;}

  body .ms-feed-composer{
    order:3 !important;
    padding:12px !important;
    border-radius:18px !important;
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;}

  body .ms-feed-composer .ms-composer-main{
    display:block !important;
    grid-template-columns:none !important;
    gap:0 !important;
    width:100% !important;}

  body .ms-feed-composer .ms-composer-avatar{
    display:none !important;}

  body .ms-feed-composer .ms-composer-fields{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    gap:10px !important;}

  body .ms-composer-input{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    max-height:90px !important;
    padding:11px 14px !important;
    font-size:13px !important;}

  body .ms-composer-row{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(68px,1fr)) !important;
    gap:7px !important;
    width:100% !important;}

  body .ms-composer-act{
    min-width:0 !important;
    height:38px !important;
    padding:0 6px !important;
    font-size:11px !important;
    justify-content:center !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;}

  body .ms-composer-send{
    grid-column:1/-1 !important;
    height:42px !important;
    width:100% !important;
    border-radius:14px !important;
    margin:2px 0 0 !important;}

  body .social-feed-column > .post-card:not(.ms-feed-composer),
  body .social-feed-column > article.post-card:not(.ms-feed-composer){
    order:4 !important;}

  body .social-feed-column > .ms-feed-sentinel{
    order:99 !important;
    margin:6px 0 12px !important;}

  body .social-home-main .post-card,
  body .social-home-main .post-card.feed-update-card,
  body .social-home-main .post-card.feed-forum-post{
    border-radius:18px !important;
    box-shadow:0 8px 20px rgb(var(--ms-1000-rgb) / .028) !important;}

  body .social-home-main .feed-update-card .post-header,
  body .social-home-main .feed-forum-post .forum-post-header{
    grid-template-columns:40px minmax(0,1fr) auto !important;
    padding:12px 12px 0 !important;}

  body .social-home-main .feed-card-menu .post-tag,
  body .social-home-main .feed-update-card .post-tag:not(.alert),
  body .social-home-main .feed-forum-post .post-tag:not(.alert){
    max-width:88px !important;
    min-height:22px !important;
    padding:0 8px !important;
    font-size:9.5px !important;}

  body .forum-post-title,
  body .feed-card-copy h3{
    font-size:17px !important;
    line-height:1.25 !important;
    letter-spacing:0 !important;
    padding-left:12px !important;
    padding-right:12px !important;}

  body .post-text,
  body .feed-card-copy p{
    padding-left:12px !important;
    padding-right:12px !important;}

  body .ms-chips{
    padding-left:12px !important;
    padding-right:12px !important;}

  body .social-home-main .post-actions.feed-forum-actions,
  body .social-home-main .feed-card-footer-actions{
    padding:8px 10px !important;
    gap:6px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;}

  body .social-home-main .post-actions.feed-forum-actions::-webkit-scrollbar,
  body .social-home-main .feed-card-footer-actions::-webkit-scrollbar{ display:none !important;}

  body .social-home-main .feed-forum-actions .ms-icon-action,
  body .social-home-main .feed-forum-actions .save-btn-icon,
  body .social-home-main .feed-card-footer-actions .ms-icon-action,
  body .social-home-main .feed-card-footer-actions .save-btn-icon{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    border-radius:13px !important;}

  body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"]{
    left:12px !important;
    right:12px !important;
    bottom:10px !important;
    height:68px !important;
    padding:7px !important;
    border:1px solid rgb(var(--ms-250-rgb) / .98) !important;
    border-radius:24px !important;
    background:rgb(var(--ms-0-rgb) / .92) !important;
    box-shadow:0 18px 44px rgb(var(--ms-1000-rgb) / .08) !important;
    backdrop-filter:blur(22px) !important;
    -webkit-backdrop-filter:blur(22px) !important;}

  body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a{
    color:var(--ms-muted) !important;
    border-radius:18px !important;}

  body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a.active:not(.mobile-feed-link){
    background:var(--ms-100) !important;
    color:var(--ms-blue) !important;}

  body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] .mobile-feed-link,
  body .mobile-bottom-nav.social-mobile-nav[data-static-mobile-nav="true"] a.mobile-feed-link.active{
    background:var(--ms-ui-surface) !important;
    color:var(--ms-ui-on) !important;
    box-shadow:0 14px 28px rgb(var(--ms-1000-rgb) / .15) !important;}}

/* Stories and mobile feed behavior v3. */
body .ms-gnav-brand{
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  width:auto !important;
  min-width:146px !important;
  height:42px !important;
  padding:0 11px 0 8px !important;
  border-radius:14px !important;
  background:var(--ms-1000) !important;
  color:var(--ms-ui-on) !important;
  text-decoration:none !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .ms-gnav-brand .brand-mark{
  width:26px !important;
  height:26px !important;
  color:var(--ms-ui-accent) !important;}

body .ms-gnav-wordmark{
  display:inline-flex !important;
  align-items:baseline !important;
  gap:2px !important;
  color:var(--ms-ui-on) !important;
  line-height:1 !important;
  letter-spacing:0 !important;}

body .ms-gnav-wordmark strong,
body .ms-gnav-wordmark span{
  color:var(--ms-ui-on) !important;
  font-size:16px !important;
  font-weight:900 !important;
  letter-spacing:0 !important;}

body .ms-gnav-wordmark span{
  font-weight:700 !important;
  opacity:.86 !important;}

body .ms-story-rail{
  align-items:stretch !important;
  gap:10px !important;
  padding:12px !important;}

body .ms-story.ms-story-person{
  flex:0 0 86px !important;
  min-height:104px !important;
  align-content:start !important;
  padding:3px 2px !important;}

body .ms-story.ms-story-person .ms-story-ring{
  width:62px !important;
  height:62px !important;
  background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .ms-story.ms-story-person strong{
  max-width:82px !important;
  font-size:11px !important;}

body .ms-story.ms-story-person small{
  display:block !important;
  width:82px !important;
  min-height:24px !important;
  overflow:hidden !important;
  color:var(--ms-600) !important;
  font-size:9px !important;
  font-weight:750 !important;
  line-height:1.2 !important;
  text-align:center !important;}

body .ms-feed-sentinel{
  display:flex !important;
  justify-content:center !important;
  padding:16px 0 22px !important;
  margin:0 !important;}

body .ms-feed-more{
  min-height:44px !important;
  padding:0 20px !important;
  border-radius:999px !important;
  font-size:13px !important;
  font-weight:900 !important;
  cursor:pointer !important;}

body .ms-feed-more:disabled{
  cursor:wait !important;
  opacity:.78 !important;}

body .ms-feed-end{
  display:inline-flex !important;
  align-items:center !important;
  min-height:38px !important;
  padding:0 15px !important;
  border:1px solid var(--ms-200) !important;
  border-radius:999px !important;
  background:var(--ms-0) !important;
  color:var(--ms-600) !important;
  font-size:12px !important;
  font-weight:800 !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

@media (min-width:961px) and (max-width:1180px){
  body .ms-gnav-wordmark{ display:none !important;}
  body .ms-gnav-brand{
    min-width:42px !important;
    padding:0 8px !important;}}

@media (max-width:860px){
  html,
  body{
    height:auto !important;
    min-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior-y:auto !important;
    touch-action:pan-y !important;
    -webkit-overflow-scrolling:touch !important;}

  body .site-shell,
  body .main,
  body .main.social-home-main,
  body .social-layout,
  body .social-layout.social-layout-wide,
  body .social-feed-column{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow-y:visible !important;
    touch-action:pan-y !important;}

  body .ms-story-rail{
    gap:8px !important;
    padding:10px !important;}

  body .ms-story.ms-story-person{
    flex-basis:76px !important;
    min-height:98px !important;}

  body .ms-story.ms-story-person .ms-story-ring{
    width:56px !important;
    height:56px !important;}

  body .ms-story.ms-story-person strong,
  body .ms-story.ms-story-person small{
    width:74px !important;
    max-width:74px !important;}

  body .ms-feed-sentinel{
    padding:14px 0 104px !important;}

  body .ms-feed-more{
    width:calc(100% - 28px) !important;
    max-width:330px !important;}}

/* Final UX pass: vivid social blue, clean icon actions and floating refresh. */
:root{
  --blue:var(--ms-ui-accent);
  --brand-blue:var(--ms-ui-accent);
  --brand-blue-dark:var(--ms-ui-accent);
  --brand-blue-soft:var(--ms-150);
  --brand-blue-line:var(--ms-250);
  --brand-ink:var(--ms-1000);
  --navy:var(--ms-1000);
  --ms-blue:var(--ms-ui-accent);
  --ms-blue-deep:var(--ms-1000);
  --ms-blue-mid:var(--ms-ui-accent);
  --ms-blue-soft:var(--ms-150);
  --ms-sky:var(--ms-ui-accent);
  --ms-green:var(--ms-ui-accent);
  --ms-green-soft:var(--ms-100);
  --green:var(--ms-ui-accent);
  --volt:var(--ms-ui-accent);
  --amber:var(--ms-ui-accent);
  --amber-soft:var(--ms-100);
  --coral:var(--ms-ui-accent);
  --coral-dk:var(--ms-ui-accent);
  --azul:var(--ms-ui-accent);}

body .button-primary,
body .button.button-primary,
body .primary,
body .ms-composer-send,
body .ms-feed-more{
  background:var(--ms-ui-accent) !important;
  background-image:none !important;
  border-color:var(--ms-ui-accent) !important;
  color:var(--ms-ui-on) !important;
  box-shadow:0 10px 22px rgb(var(--ms-1000-rgb) / .11) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .button-primary:hover,
body .button.button-primary:hover,
body .primary:hover,
body .ms-composer-send:hover,
body .ms-feed-more:hover{
  background:var(--ms-ui-accent) !important;
  border-color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .button-outline,
body .button.button-outline,
body .button-white{
  background:var(--ms-0) !important;
  border-color:var(--ms-250) !important;
  color:var(--ms-1000) !important;
  box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .button:not(.ms-feed-more),
body button.button:not(.ms-feed-more),
body a.button:not(.ms-feed-more){
  border-radius:14px !important;}

body .profile-mini-card .cover-strip,
body .profile-card .profile-cover,
body .profile-cover,
body .cover-strip,
body .ms-pcard-cover,
body .profile-mini-card .ms-pcard-cover,
body .social-right-rail .ms-pcard-cover,
body .ms-person-cover,
body .brand-card-cover,
body .post-card.feed-spotlight,
body .post-card.feed-update-card.feed-spotlight,
body .ms-radar-rail,
body .auth-visual,
body .community-hero,
body .alltype-card,
body .public-hero{
  background:
    var(--ms-0),
    var(--ms-1000) !important;
  border-color:var(--ms-250) !important;}

body .brand-mark.orbit svg circle:first-child,
body .brand-mark svg circle:first-child{
  stroke:var(--ms-ui-accent) !important;}

body .brand-mark.orbit svg circle:nth-child(3),
body .brand-mark svg circle:nth-child(3){
  fill:var(--ms-ui-accent) !important;}

body .ms-feed-composer{
  border-radius:16px !important;}

body .ms-composer-input{
  border-radius:16px !important;
  min-height:48px !important;
  padding:13px 15px !important;}

body .ms-composer-act{
  border-radius:12px !important;
  color:var(--ms-ui-accent) !important;}

body .social-home-main .ms-icon-row .ms-icon-action,
body .social-home-main .ms-icon-row .save-btn,
body .social-home-main .ms-icon-row .save-btn-icon,
body .social-home-main .ms-icon-row .profile-share-btn,
body .share-publication-actions.ms-icon-row .ms-icon-action,
body .share-publication-actions.ms-icon-row .save-btn,
body .share-publication-actions.ms-icon-row .save-btn-icon,
body .share-publication-actions.ms-icon-row .profile-share-btn,
body .profile-post-actions.ms-icon-row .ms-icon-action,
body .profile-post-actions.ms-icon-row .save-btn,
body .profile-post-actions.ms-icon-row .save-btn-icon,
body .profile-post-actions.ms-icon-row .profile-share-btn{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  display:inline-grid !important;
  place-items:center !important;
  font-size:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
  color:var(--ms-1000) !important;
  border:1px solid var(--ms-200) !important;
  border-radius:14px !important;
  background:var(--ms-0) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .social-home-main .ms-icon-row .ms-icon-action-count,
body .share-publication-actions.ms-icon-row .ms-icon-action-count{
  width:auto !important;
  min-width:52px !important;
  grid-auto-flow:column !important;
  gap:5px !important;
  padding:0 10px !important;}

body .social-home-main .ms-icon-row .ms-icon-action-count b,
body .share-publication-actions.ms-icon-row .ms-icon-action-count b{
  display:inline-block !important;
  font-size:12px !important;
  line-height:1 !important;
  color:var(--ms-1000) !important;}

body .social-home-main .ms-icon-row svg,
body .share-publication-actions.ms-icon-row svg,
body .profile-post-actions.ms-icon-row svg{
  width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;}

body .social-home-main .ms-icon-row .save-btn-label,
body .social-home-main .ms-icon-row .sr-only,
body .share-publication-actions.ms-icon-row .save-btn-label,
body .share-publication-actions.ms-icon-row .sr-only,
body .profile-post-actions.ms-icon-row .save-btn-label,
body .profile-post-actions.ms-icon-row .sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;}

body .ms-icon-action[title*="Salvar"]:after,
body .ms-icon-action[title*="Compartilhar"]:after,
body .ms-icon-action[aria-label*="Partilhar"]:after,
body .ms-icon-action[aria-label*="Compartilhar"]:after,
body .social-home-main .post-card .ms-icon-row .ms-icon-action:after,
body .social-home-main .post-card .ms-icon-row .save-btn:after,
body .social-home-main .post-card .ms-icon-row .save-btn-icon:after,
body .social-home-main .post-card .ms-icon-row .profile-share-btn:after,
body .social-home-main .feed-card-footer-actions .ms-icon-action:after,
body .social-home-main .feed-forum-actions .ms-icon-action:after,
body .profile-post-actions.ms-icon-row .ms-icon-action:after,
body .profile-post-actions.ms-icon-row .save-btn-icon:after,
body .share-publication-actions.ms-icon-row .ms-icon-action:after,
body .share-publication-actions.ms-icon-row .save-btn-icon:after,
body .ms-link-share-btn:after,
body .profile-share-btn:after,
body .save-btn:after,
body .save-btn-icon:after,
body .post-card .ms-icon-row [class*="save-btn"]:after{
  content:none !important;
  display:none !important;}

body .ms-feed-refresh{
  position:fixed !important;
  right:24px !important;
  bottom:28px !important;
  z-index:1500 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  height:46px !important;
  padding:0 16px !important;
  border:1px solid rgb(var(--ms-0-rgb) / .54) !important;
  border-radius:999px !important;
  background:var(--ms-ui-accent) !important;
  color:var(--ms-ui-on) !important;
  box-shadow:0 16px 34px rgb(var(--ms-1000-rgb) / .16) !important;
  font-size:13px !important;
  font-weight:900 !important;
  opacity:0 !important;
  transform:translateY(14px) !important;
  pointer-events:none !important;
  transition:opacity .18s ease, transform .18s ease, background .18s ease !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .ms-feed-refresh.is-visible{
  opacity:1 !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;}

body .ms-feed-refresh svg{
  width:18px !important;
  height:18px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;}

body .ms-feed-refresh.is-loading svg{
  animation:msRefreshSpin .75s linear infinite !important;}

@keyframes msRefreshSpin{
  to{ transform:rotate(360deg);}}

@media (max-width:860px){
  body .ms-feed-composer{
    border-radius:16px !important;}

  body .ms-composer-input{
    border-radius:14px !important;}

  body .ms-feed-refresh{
    right:18px !important;
    bottom:92px !important;
    height:44px !important;
    padding:0 14px !important;}

  body .social-home-main .ms-icon-row .ms-icon-action,
  body .social-home-main .ms-icon-row .save-btn,
  body .social-home-main .ms-icon-row .save-btn-icon,
  body .social-home-main .ms-icon-row .profile-share-btn{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    border-radius:13px !important;}}

/* Last-mile mobile normalization for the published feed. */
body.social-body .social-home-main .post-card.ms-feed-composer,
body.social-body .social-home-main article.post-card.ms-feed-composer{
  border-radius:16px !important;}

body.social-body .social-home-main .post-card .ms-icon-row .ms-icon-action:not(.ms-icon-action-count),
body.social-body .social-home-main .post-card .ms-icon-row .save-btn,
body.social-body .social-home-main .post-card .ms-icon-row .save-btn-icon,
body.social-body .social-home-main .post-card .ms-icon-row .ms-link-share-btn,
body.social-body .social-home-main .post-card .ms-icon-row .profile-share-btn{
  box-sizing:border-box !important;
  flex:0 0 40px !important;
  width:40px !important;
  min-width:40px !important;
  max-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 !important;
  border-radius:13px !important;}

body.social-body .social-home-main .post-card .ms-icon-row .ms-icon-action-count{
  box-sizing:border-box !important;
  flex:0 0 auto !important;
  min-width:56px !important;
  max-width:none !important;}

body .mobile-top .brand .brand-mark.orbit,
body .sidebar .brand .brand-mark.orbit,
body .ms-gnav-brand .brand-mark.orbit,
body .public-nav .brand .brand-mark.orbit{
  background:var(--ms-ui-accent) !important;
  background-color:var(--ms-ui-accent) !important;
  color:var(--ms-ui-on) !important;
  border:1px solid rgb(var(--ms-0-rgb) / .34) !important;
  box-shadow:0 10px 22px rgb(var(--ms-1000-rgb) / .12) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* Professional social network polish: blue-only identity, centered feed refresh. */
:root{
  --ms-green:var(--ms-ui-accent);
  --ms-green-soft:var(--ms-100);
  --green:var(--ms-ui-accent);
  --volt:var(--ms-ui-accent);
  --amber:var(--ms-ui-accent);
  --brand-amber:var(--ms-ui-accent);
  --amber-soft:var(--ms-100);
  --green-soft:var(--ms-100);
  --amber-strong:var(--ms-ui-accent);
  --green-strong:var(--ms-ui-accent);}

body.social-body{
  background:
    var(--ms-0) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body.social-body .mobile-top{
  border-bottom:1px solid var(--ms-150) !important;
  background:rgb(var(--ms-0-rgb) / .94) !important;
  box-shadow:0 10px 26px rgb(var(--ms-1000-rgb) / .03) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;}

body.social-body .mobile-top .brand .brand-title,
body.social-body .mobile-top .brand .brand-title strong,
body.social-body .mobile-top .brand .brand-title small{
  color:var(--ms-1000) !important;}

body .brand-mark.orbit svg circle:first-child,
body .brand-mark svg circle:first-child{
  stroke:var(--ms-0) !important;}

body .brand-mark.orbit svg circle:nth-child(3),
body .brand-mark svg circle:nth-child(3){
  fill:var(--ms-ui-accent) !important;}

body .ms-story-rail{
  border-radius:14px !important;
  border-color:var(--ms-150) !important;
  box-shadow:0 8px 22px rgb(var(--ms-1000-rgb) / .025) !important;}

body .ms-story.ms-story-person{
  flex-basis:70px !important;
  min-height:82px !important;}

body .ms-story.ms-story-person .ms-story-ring,
body .ms-story-ring{
  width:58px !important;
  height:58px !important;
  background:var(--ms-0) !important;
  box-shadow:0 8px 18px rgb(var(--ms-1000-rgb) / .08) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-story.ms-story-person small,
body .ms-story small{
  display:none !important;}

body .ms-feed-filters .ms-filter .ms-filter-dot,
body .social-home-main .ms-feed-filters .ms-filter .ms-filter-dot{
  background:var(--ms-ui-accent) !important;
  background-color:var(--ms-ui-accent) !important;
  box-shadow:0 0 0 3px rgb(var(--ms-1000-rgb) / .07) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body.social-body .social-home-main .post-card{
  border-color:var(--ms-150) !important;
  box-shadow:0 8px 24px rgb(var(--ms-1000-rgb) / .028) !important;}

body.social-body .social-home-main .post-card:hover{
  box-shadow:0 14px 34px rgb(var(--ms-1000-rgb) / .037) !important;}

body.social-body .social-home-main .post-card .ms-icon-row{
  border-top:1px solid var(--ms-100) !important;
  background:var(--ms-0) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body.social-body .social-home-main .post-card .ms-icon-row .profile-share-btn{
  color:var(--ms-700) !important;}

body.social-body .social-home-main .post-card .ms-icon-row .profile-share-btn:hover,
body.social-body .social-home-main .post-card .ms-icon-row .ms-icon-action:hover,
body.social-body .social-home-main .post-card .ms-icon-row .save-btn:hover{
  color:var(--ms-ui-accent) !important;
  border-color:var(--ms-250) !important;
  background:var(--ms-50) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-feed-refresh{
  left:var(--ms-feed-refresh-left,50%) !important;
  right:auto !important;
  bottom:108px !important;
  transform:translate(-50%,14px) !important;
  background:var(--ms-ui-accent) !important;
  border-color:rgb(var(--ms-0-rgb) / .7) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .ms-feed-refresh.is-visible{
  transform:translate(-50%,0) !important;}

body .ms-feed-sentinel{
  min-height:84px !important;}

body .ms-feed-loading{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:0 16px !important;
  border:1px solid var(--ms-200) !important;
  border-radius:999px !important;
  background:var(--ms-0) !important;
  color:var(--ms-700) !important;
  font-size:12px !important;
  font-weight:850 !important;
  box-shadow:0 8px 18px rgb(var(--ms-1000-rgb) / .022) !important;
  cursor:pointer !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .ms-feed-loading:before{
  content:"" !important;
  width:7px !important;
  height:7px !important;
  margin-right:8px !important;
  border-radius:999px !important;
  background:var(--ms-ui-accent) !important;
  box-shadow:0 0 0 4px rgb(var(--ms-1000-rgb) / .06) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

@media (max-width:860px){
  body .ms-feed-refresh{
    bottom:92px !important;}

  body .ms-feed-refresh span{
    font-size:12px !important;}

  body .ms-story.ms-story-person{
    flex-basis:66px !important;
    min-height:78px !important;}}

/* Remove legacy green highlights from feed surfaces. */
body .mentor-cta .letter,
body .mentor-cta strong,
body .impact-head strong{
  color:var(--ms-ui-on) !important;
  border-color:rgb(var(--ms-0-rgb) / .26) !important;}

body .mentor-cta .button.button-white,
body .sidebar .button.button-white{
  background:var(--ms-0) !important;
  background-color:var(--ms-0) !important;
  color:var(--ms-ui-accent) !important;
  border-color:rgb(var(--ms-0-rgb) / .72) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .mini-progress span,
body .account-progress-bar span,
body .progress-line span{
  background:var(--ms-ui-accent) !important;
  background-color:var(--ms-ui-accent) !important;
  border-color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body.social-body .social-home-main .system-avatar,
body.social-body .social-home-main .post-card .system-avatar,
body.social-body .social-home-main .feed-card .system-avatar,
body.social-body .social-home-main .forum-card .system-avatar,
body.social-body .social-home-main .feed-country-badge,
body.social-body .social-home-main .feed-country-flag,
body.social-body .social-home-main .ms-chips .c,
body.social-body .social-home-main .post-card .ms-chips .c,
body.social-body .social-home-main .post-card .post-tag.alert,
body.social-body .social-home-main .post-card .post-tag.publi-tag{
  background:var(--ms-150) !important;
  background-color:var(--ms-150) !important;
  color:var(--ms-ui-accent) !important;
  border-color:var(--ms-250) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body.social-body .social-home-main .post-card.feed-spotlight .system-avatar,
body.social-body .social-home-main .post-card.feed-spotlight .feed-country-badge,
body.social-body .social-home-main .post-card.feed-spotlight .feed-country-flag,
body.social-body .social-home-main .post-card.feed-spotlight .ms-chips .c,
body.social-body .social-home-main .post-card.feed-spotlight .post-tag{
  background:rgb(var(--ms-0-rgb) / .18) !important;
  background-color:rgb(var(--ms-0-rgb) / .18) !important;
  color:var(--ms-ui-on) !important;
  border-color:rgb(var(--ms-0-rgb) / .3) !important;}

body.social-body .social-home-main .post-card.feed-spotlight .system-avatar{
  background:var(--ms-0) !important;
  background-color:var(--ms-0) !important;
  color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body.social-body .social-home-main .feed-detail-panel-head strong,
body.social-body .social-home-main .feed-countdown-panel strong{
  background:rgb(var(--ms-0-rgb) / .18) !important;
  background-color:rgb(var(--ms-0-rgb) / .18) !important;
  color:var(--ms-ui-on) !important;
  border-color:rgb(var(--ms-0-rgb) / .28) !important;}

body .impact-head strong,
body .impact-box .mini-progress span{
  background:var(--ms-ui-accent) !important;
  background-color:var(--ms-ui-accent) !important;
  color:var(--ms-ui-on) !important;
  border-color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .sidebar:not(.admin-sidebar) .mentor-cta .button.button-white,
body .sidebar:not(.admin-sidebar) .mentor-cta a.button-white{
  background:var(--ms-0) !important;
  background-color:var(--ms-0) !important;
  color:var(--ms-ui-accent) !important;
  border-color:rgb(var(--ms-0-rgb) / .72) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

body .sidebar:not(.admin-sidebar) .impact-box .impact-head strong{
  background:transparent !important;
  background-color:transparent !important;
  color:var(--ms-ui-on) !important;
  border-color:transparent !important;}

body .sidebar:not(.admin-sidebar) .impact-box .mini-progress span{
  background:var(--ms-ui-accent) !important;
  background-color:var(--ms-ui-accent) !important;
  border-color:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

body .ms-theme-toggle,
body .ms-account-theme,
body [data-ms-theme-toggle],
body .ms-story-rail{
  display:none !important;}


/* ==========================================================================
   CAMADA THREADS — acabamento monocromático
   --------------------------------------------------------------------------
   Substitui a antiga secção "Dark mono identity" que tinha sido acrescentada
   aqui. Não contém uma única cor escrita à mão: tudo vem do tokens.css.

   Princípios (os mesmos do Threads):
     · fundo quase branco, cartões brancos
     · separação por LINHA de 1px, nunca por sombra
     · preto é a única "cor" — botão primário, ícone ativo, texto forte
     · cinza para tudo o que é secundário
     · raios generosos mas não circulares, exceto chips e avatares
     · sem degradês decorativos
   ========================================================================== */

/* --- Base ---------------------------------------------------------------- */
html:not(#ms):not(#ms),html:not(#ms):not(#ms)[data-theme],html:not(#ms):not(#ms)[data-theme="light"],html:not(#ms) body:not(#ms),html:not(#ms) body:not(#ms).social-body,html:not(#ms) body:not(#ms) .public-shell{
  background:var(--ms-ui-bg) !important;
  color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

html:not(#ms) body:not(#ms){
  -webkit-font-smoothing:antialiased;
  letter-spacing:-.005em !important;
}

/* O Threads não usa degradês. Qualquer superfície decorativa fica lisa. */
html:not(#ms) body:not(#ms) .hero-card,html:not(#ms) body:not(#ms) .hero-card:before,html:not(#ms) body:not(#ms) .hero-photo:after,html:not(#ms) body:not(#ms) .sidebar:before,html:not(#ms) body:not(#ms) .mentor-cta,html:not(#ms) body:not(#ms) .feed-spotlight,html:not(#ms) body:not(#ms) .feed-welcome-card,html:not(#ms) body:not(#ms) .stat-float{
  background-image:none !important;
}

/* --- Tipografia ---------------------------------------------------------- */
/* O CSS antigo usava peso 900 e letter-spacing -.085em em quase tudo, o que
   dava um ar de cartaz. O Threads é sóbrio. */
html:not(#ms) body:not(#ms) h1,html:not(#ms) body:not(#ms) h2,html:not(#ms) body:not(#ms) h3,html:not(#ms) body:not(#ms) h4,html:not(#ms) body:not(#ms) .hello h1,html:not(#ms) body:not(#ms) .feed-section-title,html:not(#ms) body:not(#ms) .feed-welcome-title,html:not(#ms) body:not(#ms) .post-card h1,html:not(#ms) body:not(#ms) .post-card h2,html:not(#ms) body:not(#ms) .post-card h3{
  font-weight:700 !important;
  letter-spacing:-.02em !important;
  /* --ms-ui-on, não --ms-ui-text: estas regras apanham TODOS os títulos do
     site, incluindo os que assentam sobre superfícies escuras. Com preto
     fixo, um título dentro de um balão preto ficava invisível. */
  color:var(--ms-ui-on) !important;
}
html:not(#ms) body:not(#ms) .hello h1{ font-size:24px !important; line-height:1.2 !important; }
html:not(#ms) body:not(#ms) strong,html:not(#ms) body:not(#ms) b{ font-weight:600 !important; }
html:not(#ms) body:not(#ms) small,html:not(#ms) body:not(#ms) .post-header small,html:not(#ms) body:not(#ms) .user-chip small{
  color:rgb(var(--ms-ui-on-rgb) / .62) !important;
  font-weight:400 !important;
}
html:not(#ms) body:not(#ms) p,html:not(#ms) body:not(#ms) .post-text,html:not(#ms) body:not(#ms) .post-text p{
  /* Mesmo motivo: era isto que deixava o texto das mensagens enviadas preto
     sobre o balão preto. */
  color:var(--ms-ui-on) !important;
  line-height:1.5 !important;
  font-weight:400 !important;
}
html:not(#ms) body:not(#ms) .hello p,html:not(#ms) body:not(#ms) .feed-card-copy,html:not(#ms) body:not(#ms) .site-footer-brand span{
  color:rgb(var(--ms-ui-on-rgb) / .62) !important;
}
/* Os links seguem a cor que assenta na superfície onde estão. Era `inherit`,
   mas isso ganhava por especificidade às regras das próprias páginas e punha
   texto preto dentro de pastilhas pretas. */
/* O `!important` aqui não é preguiça: existe uma regra herdada
   `body a{color:… !important}` e, entre duas declarações, o !important ganha
   sempre ao normal — por mais específico que este seja. */
html:not(#ms) body:not(#ms) a{ color:var(--ms-ui-on) !important; }

/* --- Barra de navegação global ------------------------------------------- */
html:not(#ms) body:not(#ms) .ms-gnav{
  background:var(--ms-ui-surface) !important;
  border-bottom:1px solid var(--ms-ui-border) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-gnav-brand,html:not(#ms) body:not(#ms) .ms-gnav-wordmark{ color:var(--ms-ui-text) !important; }
html:not(#ms) body:not(#ms) .ms-gnav-wordmark strong{ font-weight:700 !important; color:var(--ms-ui-on) !important; }
html:not(#ms) body:not(#ms) .ms-gnav-wordmark span,html:not(#ms) body:not(#ms) .ms-gnav-wordmark small{ color:var(--ms-ui-text-3) !important; }
html:not(#ms) body:not(#ms) .ms-gnav-label{ color:inherit !important; }

html:not(#ms) body:not(#ms) .ms-gnav-link{
  background:transparent !important;
  color:var(--ms-ui-text-3) !important;
  border:0 !important;
  border-radius:var(--ms-radius-sm) !important;
  box-shadow:none !important;
  font-weight:500 !important;
}
html:not(#ms) body:not(#ms) .ms-gnav-link:hover{ background:var(--ms-ui-surface-2) !important; color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-gnav-link.is-active,html:not(#ms) body:not(#ms) .ms-gnav-link[aria-current="page"]{
  background:transparent !important;
  color:var(--ms-ui-text) !important;
  font-weight:600 !important;
}
html:not(#ms) body:not(#ms) .ms-gnav-link.is-active .ms-gnav-ico svg{ stroke-width:2.4 !important; }
html:not(#ms) body:not(#ms) .ms-gnav-badge{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-ui-accent-ink) !important;
  border:2px solid var(--ms-ui-surface) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html:not(#ms) body:not(#ms) .ms-gnav-search{
  background:var(--ms-ui-surface-2) !important;
  border:1px solid transparent !important;
  border-radius:var(--ms-radius-pill) !important;
  box-shadow:none !important;
  color:var(--ms-ui-text-3) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-gnav-search:focus-within{
  background:var(--ms-ui-surface) !important;
  border-color:var(--ms-ui-border-strong) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-gnav-search input{ background:transparent !important; color:var(--ms-ui-text) !important; }
html:not(#ms) body:not(#ms) .ms-gnav-search input::placeholder{ color:var(--ms-ui-text-faint) !important; }

html:not(#ms) body:not(#ms) .ms-gnav-me,html:not(#ms) body:not(#ms) .ms-gnav-account .ms-gnav-me{
  background:transparent !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-pill) !important;
  box-shadow:none !important;
}
html:not(#ms) body:not(#ms) .ms-gnav-me:hover{ background:var(--ms-ui-surface-2) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-gnav-av,html:not(#ms) body:not(#ms) .ms-account-av{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-ui-accent-ink) !important;
  border-radius:50% !important;
  font-weight:600 !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html:not(#ms) body:not(#ms) .ms-account-menu{
  background:var(--ms-ui-surface) !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
  box-shadow:var(--ms-shadow-lg) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-account-list a,html:not(#ms) body:not(#ms) .ms-account-list button{
  color:var(--ms-ui-text) !important;
  background:transparent !important;
  border-radius:var(--ms-radius-xs) !important;
}
html:not(#ms) body:not(#ms) .ms-account-list a:hover,html:not(#ms) body:not(#ms) .ms-account-list button:hover{ background:var(--ms-ui-surface-2) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-account-cta{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-ui-accent-ink) !important;
  border-radius:var(--ms-radius-sm) !important;
  box-shadow:none !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html:not(#ms) body:not(#ms) .ms-account-out{ color:var(--ms-danger) !important; }

html:not(#ms) body:not(#ms) .ms-gnav-brand{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding-left:0 !important;
  /* Este elemento era preto e ficou com a marca de "superfície escura".
     Ao torná-lo transparente é preciso repor também a cor de contacto,
     senão o texto por cima continua branco — sobre branco. */
  --ms-ui-on:     var(--ms-ui-text);
  --ms-ui-on-rgb: var(--ms-1000-rgb);
}

/* --- Barra lateral -------------------------------------------------------- */
/* Era um bloco escuro com degradê. No Threads a navegação é branca e o estado
   ativo distingue-se por peso e por uma pastilha cinza-clara. */
html:not(#ms) body:not(#ms) .sidebar:not(.admin-sidebar){
  background:var(--ms-ui-surface) !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-lg) !important;
  box-shadow:none !important;
  color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .sidebar:not(.admin-sidebar):before,html:not(#ms) body:not(#ms) .sidebar:not(.admin-sidebar):after{ display:none !important; }
/* Os contentores internos da barra lateral traziam degradês escuros. */
html:not(#ms) body:not(#ms) .sidebar .side-nav,html:not(#ms) body:not(#ms) .sidebar .side-footer,html:not(#ms) body:not(#ms) .sidebar .side-scroll,html:not(#ms) body:not(#ms) .social-nav,html:not(#ms) body:not(#ms) .side-nav.social-nav,html:not(#ms) body:not(#ms) nav.side-nav.social-nav,html:not(#ms) body:not(#ms) .mobile-top,html:not(#ms) body:not(#ms) .mobile-top .brand{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  color:var(--ms-ui-text) !important;
  --ms-ui-on:     var(--ms-ui-text);
  --ms-ui-on-rgb: var(--ms-1000-rgb);
}
html:not(#ms) body:not(#ms) .sidebar .brand,html:not(#ms) body:not(#ms) .sidebar .brand strong,html:not(#ms) body:not(#ms) .sidebar .brand small,html:not(#ms) body:not(#ms) .sidebar .brand-title strong,html:not(#ms) body:not(#ms) .sidebar .brand-title small{ color:var(--ms-ui-text) !important; }
html:not(#ms) body:not(#ms) .brand-mark{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-ui-accent-ink) !important;
  border:0 !important;
  border-radius:50% !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

html:not(#ms) body:not(#ms) .sidebar .side-link,html:not(#ms) body:not(#ms) .sidebar:not(.admin-sidebar) .side-link{
  background:transparent !important;
  color:var(--ms-ui-text-2) !important;
  border-radius:var(--ms-radius-sm) !important;
  box-shadow:none !important;
  font-weight:500 !important;
}
html:not(#ms) body:not(#ms) .sidebar .side-link:hover{ background:var(--ms-ui-surface-2) !important; color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .sidebar .side-link.active,html:not(#ms) body:not(#ms) .sidebar:not(.admin-sidebar) .side-link.active{
  background:var(--ms-ui-surface-2) !important;
  color:var(--ms-ui-text) !important;
  font-weight:600 !important;
  box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .sidebar .side-link .side-label{ color:inherit !important; }
html:not(#ms) body:not(#ms) .sidebar .side-link.active .side-label{ color:var(--ms-ui-text) !important; }
html:not(#ms) body:not(#ms) .sidebar .side-icon{
  background:transparent !important;
  color:inherit !important;
  border-radius:var(--ms-radius-xs) !important;
}
html:not(#ms) body:not(#ms) .sidebar .side-link.active .side-icon{ background:transparent !important; }
html:not(#ms) body:not(#ms) .sidebar .counter,html:not(#ms) body:not(#ms) .sidebar .badge-count{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-ui-accent-ink) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html:not(#ms) body:not(#ms) .sidebar .nav-group-title,html:not(#ms) body:not(#ms) .sidebar .side-group-title,html:not(#ms) body:not(#ms) .sidebar .side-nav-label,html:not(#ms) body:not(#ms) .side-nav-label{
  color:var(--ms-ui-text-3) !important;
  font-weight:600 !important;
  letter-spacing:.06em !important;
}
html:not(#ms) body:not(#ms) .mentor-cta{
  background:var(--ms-ui-surface-2) !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
  box-shadow:none !important;
  color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .mentor-cta p{ color:var(--ms-ui-text-3) !important; }
html:not(#ms) body:not(#ms) .letter,html:not(#ms) body:not(#ms) .letter-small,html:not(#ms) body:not(#ms) .mentor-cta .letter,html:not(#ms) body:not(#ms) .mentor-cta .letter-small{
  color:var(--ms-ui-text) !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
html:not(#ms) body:not(#ms) .letter-inline{ background:var(--ms-ui-surface-2) !important; color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .impact-box{ border-top:1px solid var(--ms-ui-border) !important; }
html:not(#ms) body:not(#ms) .impact-box,html:not(#ms) body:not(#ms) .impact-head,html:not(#ms) body:not(#ms) .impact-box > div:first-child{ color:var(--ms-ui-text-3) !important; }
html:not(#ms) body:not(#ms) .impact-head strong,html:not(#ms) body:not(#ms) .impact-box strong{ color:var(--ms-ui-text) !important; }
html:not(#ms) body:not(#ms) .mini-progress{ background:var(--ms-ui-surface-3) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .mini-progress span{ background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* --- Cartões ------------------------------------------------------------- */
html:not(#ms) body:not(#ms) .post-card,html:not(#ms) body:not(#ms) .feed-card,html:not(#ms) body:not(#ms) .feed-update-card,html:not(#ms) body:not(#ms) .feed-welcome-card,html:not(#ms) body:not(#ms) .feed-forum-post,html:not(#ms) body:not(#ms) .feed-spotlight,html:not(#ms) body:not(#ms) .feed-stat-panel,html:not(#ms) body:not(#ms) .card,html:not(#ms) body:not(#ms) .panel,html:not(#ms) body:not(#ms) .profile-card{
  background:var(--ms-ui-surface) !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
  box-shadow:none !important;
  border-left-width:1px !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .post-header{ border-bottom:0 !important; }

/* As faixas coloridas por categoria no topo/lado do cartão desaparecem:
   no Threads a categoria lê-se pela etiqueta, não por uma barra. */
html:not(#ms) body:not(#ms) .feed-update-card:before,html:not(#ms) body:not(#ms) .feed-update-card:after,html:not(#ms) body:not(#ms) .post-card:before,html:not(#ms) body:not(#ms) .feed-card:before{ display:none !important; content:none !important; }

/* Os títulos de secção tinham sido apanhados pela regra dos chips. */
html:not(#ms) body:not(#ms) .feed-section-title,html:not(#ms) body:not(#ms) .section-head h2,html:not(#ms) body:not(#ms) .section-title{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-shadow:none !important;
  font-size:17px !important;
  display:block !important;
}

/* Nada de desfoque: o Threads usa superfícies opacas. */
html:not(#ms) body:not(#ms) .ms-gnav,html:not(#ms) body:not(#ms) .mobile-top,html:not(#ms) body:not(#ms) .mobile-bottom-nav,html:not(#ms) body:not(#ms) .topbar,html:not(#ms) body:not(#ms) .sticky-bar,html:not(#ms) body:not(#ms) .ms-account-menu,html:not(#ms) body:not(#ms) .modal,html:not(#ms) body:not(#ms) .sheet{ backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
html:not(#ms) body:not(#ms) .post-header img,html:not(#ms) body:not(#ms) .feed-avatar,html:not(#ms) body:not(#ms) .avatar,html:not(#ms) body:not(#ms) .ms-person-av,html:not(#ms) body:not(#ms) .ms-pcard-av{ border-radius:50% !important; object-fit:cover !important; }

/* --- Chips, pastilhas e etiquetas ---------------------------------------- */
html:not(#ms) body:not(#ms) .pill,html:not(#ms) body:not(#ms) .post-tag,html:not(#ms) body:not(#ms) .page-kicker,html:not(#ms) body:not(#ms) .micro-label,html:not(#ms) body:not(#ms) .feed-country-badge,html:not(#ms) body:not(#ms) .tag,html:not(#ms) body:not(#ms) .chip,html:not(#ms) body:not(#ms) .badge{
  background:var(--ms-ui-surface-2) !important;
  color:var(--ms-ui-text-2) !important;
  border:0 !important;
  border-radius:var(--ms-radius-pill) !important;
  box-shadow:none !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-transform:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-feed-filters .ms-filter{
  background:var(--ms-ui-surface) !important;
  border:1px solid var(--ms-ui-border) !important;
  color:var(--ms-ui-text-2) !important;
  border-radius:var(--ms-radius-pill) !important;
  min-height:36px !important;
  padding:0 16px !important;
  font-weight:500 !important;
  box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-feed-filters .ms-filter.on,html:not(#ms) body:not(#ms) .ms-feed-filters .ms-filter[aria-pressed="true"]{
  background:var(--ms-ui-accent) !important;
  border-color:var(--ms-ui-accent) !important;
  color:var(--ms-ui-accent-ink) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* --- Botões -------------------------------------------------------------- */
html:not(#ms) body:not(#ms) .button,html:not(#ms) body:not(#ms) .btn,html:not(#ms) body:not(#ms) button.button{
  border-radius:var(--ms-radius-sm) !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  box-shadow:none !important;
  min-height:40px !important;
  font-size:14px !important;
}
html:not(#ms) body:not(#ms) .button-primary,html:not(#ms) body:not(#ms) .btn-primary,html:not(#ms) body:not(#ms) .ms-composer-send{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-ui-accent-ink) !important;
  border:1px solid var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html:not(#ms) body:not(#ms) .button-primary:hover,html:not(#ms) body:not(#ms) .btn-primary:hover,html:not(#ms) body:not(#ms) .ms-composer-send:hover{ background:var(--ms-ui-accent-hover) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html:not(#ms) body:not(#ms) .button-outline,html:not(#ms) body:not(#ms) .button-white,html:not(#ms) body:not(#ms) .button-glass,html:not(#ms) body:not(#ms) .btn-ghost,html:not(#ms) body:not(#ms) .ms-composer-act{
  background:var(--ms-ui-surface) !important;
  color:var(--ms-ui-text) !important;
  border:1px solid var(--ms-ui-border) !important;
  box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .button-outline:hover,html:not(#ms) body:not(#ms) .button-white:hover,html:not(#ms) body:not(#ms) .btn-ghost:hover,html:not(#ms) body:not(#ms) .ms-composer-act:hover{ background:var(--ms-ui-surface-2) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .button-danger,html:not(#ms) body:not(#ms) .button-danger-solid{
  background:var(--ms-ui-surface) !important;
  color:var(--ms-danger) !important;
  border:1px solid var(--ms-danger-line) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .button-danger-solid{
  background:var(--ms-danger) !important;
  color:var(--ms-ui-accent-ink) !important;
  border-color:var(--ms-danger) !important;
}
html:not(#ms) body:not(#ms) .button:disabled,html:not(#ms) body:not(#ms) .btn:disabled{ opacity:.45 !important; }

html:not(#ms) body:not(#ms) .icon-button,html:not(#ms) body:not(#ms) .notify,html:not(#ms) body:not(#ms) .ms-icon-action,html:not(#ms) body:not(#ms) .feed-card-menu .ms-icon-action,html:not(#ms) body:not(#ms) .profile-share-btn,html:not(#ms) body:not(#ms) .profile-repost-btn{
  background:var(--ms-ui-surface) !important;
  color:var(--ms-ui-text-2) !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-pill) !important;
  box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .icon-button:hover,html:not(#ms) body:not(#ms) .ms-icon-action:hover{ background:var(--ms-ui-surface-2) !important; color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-icon-row > *{ background:transparent !important; color:var(--ms-ui-text-2) !important; border:0 !important; }
html:not(#ms) body:not(#ms) .ms-icon-row > *:hover{ background:var(--ms-ui-surface-2) !important; color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-icon-row .is-primary,html:not(#ms) body:not(#ms) .ms-icon-row .is-saved{ background:transparent !important; color:var(--ms-ui-text) !important; }

html:not(#ms) body:not(#ms) .country-chip,html:not(#ms) body:not(#ms) .user-chip,html:not(#ms) body:not(#ms) .search-box,html:not(#ms) body:not(#ms) .lang-chip{
  background:var(--ms-ui-surface) !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-pill) !important;
  box-shadow:none !important;
  color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .flag{ background:var(--ms-ui-surface-2) !important; box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .dot,html:not(#ms) body:not(#ms) .notify span{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-ui-accent-ink) !important;
  border:2px solid var(--ms-ui-surface) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* --- Formulários --------------------------------------------------------- */
html:not(#ms) body:not(#ms) input[type="text"],html:not(#ms) body:not(#ms) input[type="email"],html:not(#ms) body:not(#ms) input[type="password"],html:not(#ms) body:not(#ms) input[type="search"],html:not(#ms) body:not(#ms) input[type="url"],html:not(#ms) body:not(#ms) input[type="tel"],html:not(#ms) body:not(#ms) input[type="number"],html:not(#ms) body:not(#ms) input[type="date"],html:not(#ms) body:not(#ms) select,html:not(#ms) body:not(#ms) textarea,html:not(#ms) body:not(#ms) .field input,html:not(#ms) body:not(#ms) .field textarea{
  background:var(--ms-ui-surface) !important;
  color:var(--ms-ui-text) !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-sm) !important;
  box-shadow:none !important;
  min-height:42px !important;
  padding:10px 14px !important;
  font-weight:400 !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) textarea{ min-height:96px !important; line-height:1.5 !important; }
html:not(#ms) body:not(#ms) input::placeholder,html:not(#ms) body:not(#ms) textarea::placeholder{ color:var(--ms-ui-text-faint) !important; }
html:not(#ms) body:not(#ms) input:focus,html:not(#ms) body:not(#ms) select:focus,html:not(#ms) body:not(#ms) textarea:focus{
  outline:none !important;
  border-color:var(--ms-ui-border-strong) !important;
}
html:not(#ms) body:not(#ms) label{ color:var(--ms-ui-text-2) !important; font-weight:500 !important; }
html:not(#ms) body:not(#ms) :focus-visible{ outline:2px solid var(--ms-ui-text) !important; outline-offset:2px !important; }

/* --- Estados ------------------------------------------------------------- */
html:not(#ms) body:not(#ms) .flash-error,html:not(#ms) body:not(#ms) .form-error,html:not(#ms) body:not(#ms) .is-error,html:not(#ms) body:not(#ms) .error-text,html:not(#ms) body:not(#ms) .contato-banner-erro,html:not(#ms) body:not(#ms) .trends-admin-error,html:not(#ms) body:not(#ms) .radar-source-error{
  background:var(--ms-danger-soft) !important;
  border:1px solid var(--ms-danger-line) !important;
  color:var(--ms-danger-strong) !important;
  border-radius:var(--ms-radius-sm) !important;
  padding:12px 14px !important;
}
html:not(#ms) body:not(#ms) .flash-success,html:not(#ms) body:not(#ms) .is-success,html:not(#ms) body:not(#ms) .success-text{
  background:var(--ms-success-soft) !important;
  border:1px solid var(--ms-success-line) !important;
  color:var(--ms-success-strong) !important;
  border-radius:var(--ms-radius-sm) !important;
  padding:12px 14px !important;
}
html:not(#ms) body:not(#ms) .alert,html:not(#ms) body:not(#ms) .alert-note,html:not(#ms) body:not(#ms) .semantic-alert-panel{
  background:var(--ms-ui-surface) !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
  box-shadow:none !important;
  color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* --- Rodapé e navegação mobile ------------------------------------------- */
html:not(#ms) body:not(#ms) .site-footer{
  background:var(--ms-ui-surface) !important;
  border-top:1px solid var(--ms-ui-border) !important;
  box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .site-footer a{ color:var(--ms-ui-text-3) !important; }
html:not(#ms) body:not(#ms) .site-footer a:hover{ color:var(--ms-ui-text) !important; }
html:not(#ms) body:not(#ms) .mobile-top,html:not(#ms) body:not(#ms) .mobile-top:not(.mobile-top-admin),html:not(#ms) body:not(#ms) .mobile-bottom-nav{
  background:var(--ms-ui-surface) !important;
  border-color:var(--ms-ui-border) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .mobile-bottom-nav a{ color:var(--ms-ui-text-3) !important; }
html:not(#ms) body:not(#ms) .mobile-bottom-nav a.active,html:not(#ms) body:not(#ms) .mobile-bottom-nav a.active svg{ color:var(--ms-ui-text) !important; }

/* --- Diversos ------------------------------------------------------------ */
html:not(#ms) body:not(#ms) hr,html:not(#ms) body:not(#ms) .divider{ border-color:var(--ms-ui-border) !important; background:var(--ms-ui-border) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .toast{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-ui-accent-ink) !important;
  border-radius:var(--ms-radius-sm) !important;
  box-shadow:var(--ms-shadow-lg) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html:not(#ms) body:not(#ms) .feed-stat-value{ color:var(--ms-ui-text) !important; font-weight:700 !important; }
html:not(#ms) body:not(#ms) .feed-stat-unit{ color:var(--ms-ui-text-3) !important; }
html:not(#ms) body:not(#ms) ::selection{ background:var(--ms-ui-accent) !important; color:var(--ms-ui-accent-ink) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html:not(#ms) body:not(#ms) ::-webkit-scrollbar{ width:10px;height:10px; }
html:not(#ms) body:not(#ms) ::-webkit-scrollbar-thumb{ background:var(--ms-300) !important; border-radius:999px;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) ::-webkit-scrollbar-track{ background:transparent !important; }

/* O seletor de tema fica escondido enquanto o site força o modo claro. */
html:not(#ms) body:not(#ms) .ms-theme-toggle,html:not(#ms) body:not(#ms) .ms-account-theme,html:not(#ms) body:not(#ms) [data-ms-theme-toggle],html:not(#ms) body:not(#ms) .ms-story-rail{ display:none !important; }

/* ==========================================================================
   SUPERFÍCIES ESCURAS
   Esta é a lista COMPLETA do que continua preto no site. Só aqui é que o
   texto volta a ser branco — e, por herança de --ms-ui-on, todos os
   descendentes acompanham sem ser preciso repetir a regra.
   Se acrescentares um componente preto novo, junta-o a esta lista.
   ========================================================================== */
html:not(#ms) body:not(#ms) .button-primary,html:not(#ms) body:not(#ms) .btn-primary,html:not(#ms) body:not(#ms) .button-danger-solid,html:not(#ms) body:not(#ms) .ms-composer-send,html:not(#ms) body:not(#ms) .ms-account-cta,html:not(#ms) body:not(#ms) .brand-mark,html:not(#ms) body:not(#ms) .ms-gnav-av,html:not(#ms) body:not(#ms) .ms-account-av,html:not(#ms) body:not(#ms) .busca-av,html:not(#ms) body:not(#ms) .avatar.is-letter,html:not(#ms) body:not(#ms) .ms-person-av.is-letter,html:not(#ms) body:not(#ms) .ms-pcard-av.is-letter,html:not(#ms) body:not(#ms) .ms-gnav-badge,html:not(#ms) body:not(#ms) .counter,html:not(#ms) body:not(#ms) .badge-count,html:not(#ms) body:not(#ms) .cnt-pill,html:not(#ms) body:not(#ms) .dot,html:not(#ms) body:not(#ms) .notify span,html:not(#ms) body:not(#ms) .toast,html:not(#ms) body:not(#ms) .ms-feed-filters .ms-filter.on,html:not(#ms) body:not(#ms) .ms-feed-filters .ms-filter[aria-pressed="true"],html:not(#ms) body:not(#ms) .mobile-menu-drawer .side-link.active{
  --ms-ui-on:     var(--ms-0);
  --ms-ui-on-rgb: var(--ms-0-rgb);
  color:var(--ms-ui-on) !important;
}

/* ==========================================================================
   CORREÇÕES DE COMPONENTES
   ========================================================================== */

/* --- Cartões: nada de faixas de categoria nem de variantes destacadas ----- */
/* Cada tipo de conteúdo tinha a sua cor (verde=vaga, âmbar=evento…). Em
   monocromático isso vira uma barra preta sem significado. A categoria
   lê-se pela etiqueta. */
html:not(#ms) body:not(#ms) [class*="feed-"]:before,html:not(#ms) body:not(#ms) [class*="feed-"]:after,html:not(#ms) body:not(#ms) .post-card:before,html:not(#ms) body:not(#ms) .post-card:after,html:not(#ms) body:not(#ms) .social-card:before,html:not(#ms) body:not(#ms) .content-card:before,html:not(#ms) body:not(#ms) .list-card:before,html:not(#ms) body:not(#ms) .comunidade-card:before,html:not(#ms) body:not(#ms) .right-widget:before{
  display:none !important;
  content:none !important;
  background:none !important;
}

/* O cartão "spotlight" ganhava um fundo escuro e uma faixa no rodapé. */
html:not(#ms) body:not(#ms) .feed-spotlight,html:not(#ms) body:not(#ms) .feed-update-card.feed-spotlight,html:not(#ms) body:not(#ms) .feed-welcome-card,html:not(#ms) body:not(#ms) .feed-card-footer,html:not(#ms) body:not(#ms) .feed-card-footer-actions,html:not(#ms) body:not(#ms) .post-actions,html:not(#ms) body:not(#ms) .ms-icon-row{
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
html:not(#ms) body:not(#ms) .feed-card-footer,html:not(#ms) body:not(#ms) .post-actions{
  border-top:1px solid var(--ms-ui-border-soft) !important;
  border-bottom:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
}
html:not(#ms) body:not(#ms) .post-date,html:not(#ms) body:not(#ms) .post-date-link,html:not(#ms) body:not(#ms) .feed-card-date,html:not(#ms) body:not(#ms) .feed-update-date{
  color:var(--ms-ui-text-3) !important;
  background:transparent !important;
}

/* --- Painéis que ficaram pretos ------------------------------------------ */
/* Heros e blocos "em destaque" que eram gradientes de marca. Em vez de preto
   sólido com texto ilegível, viram cartões claros como os restantes. */
html:not(#ms) body:not(#ms) .hero-card,html:not(#ms) body:not(#ms) .comunidades-hero,html:not(#ms) body:not(#ms) .community-live,html:not(#ms) body:not(#ms) .live-panel,html:not(#ms) body:not(#ms) .radar-live,html:not(#ms) body:not(#ms) .radar-live-panel,html:not(#ms) body:not(#ms) .job-highlight,html:not(#ms) body:not(#ms) .vagas-highlight,html:not(#ms) body:not(#ms) .alltype-card,html:not(#ms) body:not(#ms) .feed-stat-panel,html:not(#ms) body:not(#ms) .explore-hero,html:not(#ms) body:not(#ms) .stat-float,html:not(#ms) body:not(#ms) .promo-card,html:not(#ms) body:not(#ms) .cta-card{
  background:var(--ms-ui-surface) !important;
  background-image:none !important;
  color:var(--ms-ui-text) !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
  box-shadow:none !important;
  --ms-ui-on:     var(--ms-ui-text);
  --ms-ui-on-rgb: var(--ms-1000-rgb);
}
html:not(#ms) body:not(#ms) .hero-card h1,html:not(#ms) body:not(#ms) .hero-card h2,html:not(#ms) body:not(#ms) .hero-card p,html:not(#ms) body:not(#ms) .hero-copy h1,html:not(#ms) body:not(#ms) .hero-copy h2,html:not(#ms) body:not(#ms) .hero-copy p{ color:var(--ms-ui-text) !important; }
html:not(#ms) body:not(#ms) .hero-card p,html:not(#ms) body:not(#ms) .hero-copy p{ color:var(--ms-ui-text-3) !important; }
html:not(#ms) body:not(#ms) .hero-photo:after{ display:none !important; }

/* --- Formas de hover ------------------------------------------------------ */
/* Os botões de ação são redondos; o hover tem de acompanhar o raio, senão
   aparece um quadrado cinza por trás do círculo. */
html:not(#ms) body:not(#ms) .ms-icon-action,html:not(#ms) body:not(#ms) .ms-icon-action:hover,html:not(#ms) body:not(#ms) .ms-icon-action:focus-visible,html:not(#ms) body:not(#ms) .ms-icon-row > *,html:not(#ms) body:not(#ms) .ms-icon-row > *:hover,html:not(#ms) body:not(#ms) .icon-button,html:not(#ms) body:not(#ms) .icon-button:hover,html:not(#ms) body:not(#ms) .profile-share-btn,html:not(#ms) body:not(#ms) .profile-share-btn:hover,html:not(#ms) body:not(#ms) .profile-repost-btn,html:not(#ms) body:not(#ms) .profile-repost-btn:hover,html:not(#ms) body:not(#ms) .feed-card-menu .ms-icon-action{
  border-radius:var(--ms-radius-pill) !important;
  overflow:hidden !important;
}
/* O botão de republicar aparecia ora só ícone, ora ícone + rótulo esticado a
   ocupar o resto da barra. Passa a ter a mesma caixa dos irmãos. */
html:not(#ms) body:not(#ms) .ms-icon-action-count,html:not(#ms) body:not(#ms) .ms-icon-row .ms-icon-action-count,html:not(#ms) body:not(#ms) .ms-icon-row > *[class*="repost"],html:not(#ms) body:not(#ms) .ms-icon-row > *[class*="republic"]{
  width:auto !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  padding:0 12px !important;
  border-radius:var(--ms-radius-pill) !important;
  background:transparent !important;
  gap:6px !important;
}
html:not(#ms) body:not(#ms) .ms-icon-row{
  display:flex !important;
  align-items:center !important;
  gap:4px !important;
}
html:not(#ms) body:not(#ms) .ms-icon-row > *{
  min-height:36px !important;
  padding:0 10px !important;
  border-radius:var(--ms-radius-pill) !important;
}
html:not(#ms) body:not(#ms) .ms-icon-row > *:last-child{ margin-left:auto !important; }
html:not(#ms) body:not(#ms) button:hover,html:not(#ms) body:not(#ms) a:hover,html:not(#ms) body:not(#ms) .button:hover{ transition:background-color .12s ease, color .12s ease; }

/* --- Caixa de busca ------------------------------------------------------- */
/* Estava a encolher para ~150px e cortava o texto a meio. */
html:not(#ms) body:not(#ms) .ms-gnav-search{
  flex:1 1 clamp(220px, 26vw, 420px) !important;
  min-width:220px !important;
  max-width:440px !important;
  height:40px !important;
  padding:0 14px !important;
  gap:8px !important;
}
html:not(#ms) body:not(#ms) .ms-gnav-search input{
  min-width:0 !important;
  width:100% !important;
  text-overflow:ellipsis !important;
}
html:not(#ms) body:not(#ms) .ms-gnav-in{ gap:12px !important; }

/* --- Etiquetas e hashtags -------------------------------------------------- */
html:not(#ms) body:not(#ms) .ms-chips{ display:flex !important; flex-wrap:wrap !important; gap:6px !important; }
html:not(#ms) body:not(#ms) .ms-chips a.c,html:not(#ms) body:not(#ms) .ms-chips .c{
  display:inline-flex !important;
  align-items:center !important;
  min-height:28px !important;
  padding:0 10px !important;
  border-radius:var(--ms-radius-pill) !important;
  background:var(--ms-ui-surface-2) !important;
  color:var(--ms-ui-text-2) !important;
  font-size:12px !important;
  font-weight:500 !important;
  text-decoration:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-chips a.c:hover{
  background:var(--ms-ui-surface-3) !important;
  color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* --- Ponto dos filtros ----------------------------------------------------- */
/* Era um indicador colorido por categoria. Sem cor deixou de dizer nada e
   ficava só uma bola preta encostada ao texto. */
html:not(#ms) body:not(#ms) .ms-filter-dot{ display:none !important; }
html:not(#ms) body:not(#ms) .ms-feed-filters .ms-filter{ gap:0 !important; }

/* --- Bandeiras dos países --------------------------------------------------- */
/* O emoji da bandeira é a única imagem colorida que faz sentido manter; o que
   não pode é ficar preto por cima de fundo preto. */
html:not(#ms) body:not(#ms) .feed-country-badge,html:not(#ms) body:not(#ms) .country-chip{
  background:var(--ms-ui-surface-2) !important;
  color:var(--ms-ui-text-2) !important;
  border:1px solid var(--ms-ui-border) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .feed-country-emoji,html:not(#ms) body:not(#ms) .feed-country-badge .flag,html:not(#ms) body:not(#ms) .country-chip .flag{ color:initial !important; background:transparent !important; }

/* ==========================================================================
   SEGUNDA PASSAGEM — o que a auditoria por página apanhou
   ========================================================================== */

/* --- Menu lateral em mobile ------------------------------------------------ */
/* A gaveta era escura: o item ativo tinha fundo escuro e rótulo branco. Com a
   gaveta clara, o rótulo desaparecia. Passa a seguir o mesmo padrão da barra
   lateral de desktop: pastilha cinza + texto preto. */
html:not(#ms) body:not(#ms) .mobile-menu-overlay{ background:rgb(var(--ms-1000-rgb) / .35) !important; }
html:not(#ms) body:not(#ms) .mobile-menu-drawer{
  background:var(--ms-ui-surface) !important;
  border-right:1px solid var(--ms-ui-border) !important;
  box-shadow:var(--ms-shadow-lg) !important;
  --ms-ui-on:     var(--ms-ui-text);
  --ms-ui-on-rgb: var(--ms-1000-rgb);
}
html:not(#ms) body:not(#ms) .mobile-menu-drawer .side-link,html:not(#ms) body:not(#ms) .mobile-menu-drawer .side-link .side-label,html:not(#ms) body:not(#ms) .mobile-menu-drawer .side-link .side-icon{
  background:transparent !important;
  color:var(--ms-ui-text-2) !important;
}
html:not(#ms) body:not(#ms) .mobile-menu-drawer .side-link.active{
  background:var(--ms-ui-surface-2) !important;
  border-radius:var(--ms-radius-sm) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .mobile-menu-drawer .side-link.active,html:not(#ms) body:not(#ms) .mobile-menu-drawer .side-link.active .side-label,html:not(#ms) body:not(#ms) .mobile-menu-drawer .side-link.active .side-icon{
  color:var(--ms-ui-text) !important;
  font-weight:600 !important;
}
html:not(#ms) body:not(#ms) .mobile-menu-drawer .side-nav-label,html:not(#ms) body:not(#ms) .mobile-menu-drawer .side-group-title{ color:var(--ms-ui-text-3) !important; }

/* --- Navegação inferior em mobile ------------------------------------------ */
html:not(#ms) body:not(#ms) .mobile-bottom-nav a{
  background:transparent !important;
  color:var(--ms-ui-text-3) !important;
}
html:not(#ms) body:not(#ms) .mobile-bottom-nav a.active,html:not(#ms) body:not(#ms) .mobile-bottom-nav a.mobile-feed-link.active,html:not(#ms) body:not(#ms) .mobile-bottom-nav a.active span,html:not(#ms) body:not(#ms) .mobile-bottom-nav a.active svg{
  background:transparent !important;
  color:var(--ms-ui-text) !important;
  font-weight:600 !important;
}
html:not(#ms) body:not(#ms) .mobile-bottom-nav a.mobile-feed-link{
  background:transparent !important;
  color:var(--ms-ui-text-3) !important;
}

/* --- Bandeiras -------------------------------------------------------------- */
/* O contentor do emoji tinha fundo de marca; a preto engolia a bandeira. */
html:not(#ms) body:not(#ms) .feed-country-flag,html:not(#ms) body:not(#ms) .feed-country-emoji,html:not(#ms) body:not(#ms) .flag{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  color:initial !important;
}

/* --- Botões que continuam escuros ------------------------------------------- */
html:not(#ms) body:not(#ms) .ms-feed-refresh,html:not(#ms) body:not(#ms) .mobile-search-go,html:not(#ms) body:not(#ms) .filter-chip.active,html:not(#ms) body:not(#ms) .filters .filter-chip.active,html:not(#ms) body:not(#ms) a.filter-chip.active,html:not(#ms) body:not(#ms) .tab.active,html:not(#ms) body:not(#ms) .chip.active,html:not(#ms) body:not(#ms) .pill.active{
  background:var(--ms-ui-accent) !important;
  border-color:var(--ms-ui-accent) !important;
  --ms-ui-on:     var(--ms-0);
  --ms-ui-on-rgb: var(--ms-0-rgb);
  color:var(--ms-ui-on) !important;
}
html:not(#ms) body:not(#ms) .ms-feed-refresh *,html:not(#ms) body:not(#ms) .mobile-search-go *,html:not(#ms) body:not(#ms) .filter-chip.active *{ color:var(--ms-ui-on) !important; }

html:not(#ms) body:not(#ms) .filter-chip,html:not(#ms) body:not(#ms) .filters .filter-chip{
  background:var(--ms-ui-surface) !important;
  border:1px solid var(--ms-ui-border) !important;
  color:var(--ms-ui-text-2) !important;
  border-radius:var(--ms-radius-pill) !important;
  box-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .filter-chip:hover{ background:var(--ms-ui-surface-2) !important; color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* --- Cartões com fotografia -------------------------------------------------- */
/* Aqui o fundo escuro é intencional: o texto assenta sobre a imagem. Mantém-se
   escuro, mas com o texto explicitamente claro. */
html:not(#ms) body:not(#ms) .image-card,html:not(#ms) body:not(#ms) .photo-strip .image-card,html:not(#ms) body:not(#ms) .hero-photo,html:not(#ms) body:not(#ms) .cover-card{
  --ms-ui-on:     var(--ms-0);
  --ms-ui-on-rgb: var(--ms-0-rgb);
}
html:not(#ms) body:not(#ms) .image-card .image-copy,html:not(#ms) body:not(#ms) .image-card .image-copy h1,html:not(#ms) body:not(#ms) .image-card .image-copy h2,html:not(#ms) body:not(#ms) .image-card .image-copy h3,html:not(#ms) body:not(#ms) .image-card .image-copy p,html:not(#ms) body:not(#ms) .image-card .image-copy span{ color:var(--ms-ui-on) !important; }
html:not(#ms) body:not(#ms) .image-card .image-copy p{ color:rgb(var(--ms-ui-on-rgb) / .8) !important; }

/* --- Painéis de estado / resumo -------------------------------------------- */
/* Eram cartões escuros de destaque. Ficam como os outros: brancos com linha. */
html:not(#ms) body:not(#ms) .live-status-card,html:not(#ms) body:not(#ms) .radar-country-summary,html:not(#ms) body:not(#ms) .status-card,html:not(#ms) body:not(#ms) .summary-card,html:not(#ms) body:not(#ms) .panel,html:not(#ms) body:not(#ms) .radar-hero,html:not(#ms) body:not(#ms) .radar-country-hero,html:not(#ms) body:not(#ms) .stats-hero,html:not(#ms) body:not(#ms) .highlight-panel{
  background:var(--ms-ui-surface) !important;
  background-image:none !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
  box-shadow:none !important;
  --ms-ui-on:     var(--ms-ui-text);
  --ms-ui-on-rgb: var(--ms-1000-rgb);
  color:var(--ms-ui-text) !important;
}
html:not(#ms) body:not(#ms) .live-status-card small,html:not(#ms) body:not(#ms) .radar-stats span,html:not(#ms) body:not(#ms) .panel small{ color:rgb(var(--ms-ui-on-rgb) / .62) !important; }
html:not(#ms) body:not(#ms) .live-dot{
  background:var(--ms-ui-accent) !important;
  color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}


/* --- Últimos casos apanhados pela auditoria página a página ---------------- */
/* O rótulo dentro dos botões da navegação inferior tinha cor própria. */
html:not(#ms) body:not(#ms) .mobile-bottom-nav a span,html:not(#ms) body:not(#ms) .mobile-bottom-nav a svg,html:not(#ms) body:not(#ms) .mobile-bottom-nav a b{ color:inherit !important; }

/* Avatares gerados por letra e pontos de estado: fundo preto, letra branca. */
html:not(#ms) body:not(#ms) .system-avatar,html:not(#ms) body:not(#ms) .live-dot,html:not(#ms) body:not(#ms) .avatar-letter,html:not(#ms) body:not(#ms) [class$="-avatar"].is-letter{
  background:var(--ms-ui-accent) !important;
  --ms-ui-on:     var(--ms-0);
  --ms-ui-on-rgb: var(--ms-0-rgb);
  color:var(--ms-ui-on) !important;
}

/* Cartão de estatística em destaque: preto com o número em branco. */
html:not(#ms) body:not(#ms) .stat-card.featured,html:not(#ms) body:not(#ms) .migration-kpi-card.featured,html:not(#ms) body:not(#ms) .stats-card.featured,html:not(#ms) body:not(#ms) [class*="kpi"].featured{
  --ms-ui-on:     var(--ms-0);
  --ms-ui-on-rgb: var(--ms-0-rgb);
}
html:not(#ms) body:not(#ms) .stat-card.featured *,html:not(#ms) body:not(#ms) .migration-kpi-card.featured *,html:not(#ms) body:not(#ms) [class*="kpi"].featured *{ color:var(--ms-ui-on) !important; }
html:not(#ms) body:not(#ms) .migration-kpi-card.featured small,html:not(#ms) body:not(#ms) [class*="kpi"].featured small{ color:rgb(var(--ms-ui-on-rgb) / .75) !important; }

/* Cartões de "insight": ficaram claros, mas herdavam a cor de contacto de um
   antepassado que era escuro antes do achatamento. Voltam ao normal. */
html:not(#ms) body:not(#ms) .insight-card,html:not(#ms) body:not(#ms) .insight-panel,html:not(#ms) body:not(#ms) [class*="insight"],html:not(#ms) body:not(#ms) .trend-insight-card,html:not(#ms) body:not(#ms) [class^="insight-"],html:not(#ms) body:not(#ms) [class*=" insight-"]{
  --ms-ui-on:     var(--ms-ui-text);
  --ms-ui-on-rgb: var(--ms-1000-rgb);
}

/* Barras de progresso: a calha é cinza-clara, o preenchimento é preto. */
html:not(#ms) body:not(#ms) .mini-progress,html:not(#ms) body:not(#ms) .progress,html:not(#ms) body:not(#ms) .progress-track,html:not(#ms) body:not(#ms) [class*="progress"] > .track,html:not(#ms) body:not(#ms) .bar-track,html:not(#ms) body:not(#ms) .stats-bar-track{ background:var(--ms-ui-surface-3) !important; overflow:hidden !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .mini-progress > span,html:not(#ms) body:not(#ms) .progress > span,html:not(#ms) body:not(#ms) .progress-fill,html:not(#ms) body:not(#ms) .progress-bar,html:not(#ms) body:not(#ms) .bar-fill,html:not(#ms) body:not(#ms) .stats-bar-fill,html:not(#ms) body:not(#ms) [class*="progress"] > i,html:not(#ms) body:not(#ms) [class*="progress"] > b{
  background:var(--ms-ui-accent) !important;
  background-image:none !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}

/* ==========================================================================
   TERCEIRA PASSAGEM
   ========================================================================== */

/* --- Caixa de busca: uma caixa, não duas -------------------------------- */
/* A regra genérica de formulários dava fundo, borda e raio ao <input>, que
   ficava desenhado por dentro da pastilha da busca — daí a caixa dupla. */
html:not(#ms) body:not(#ms) .ms-gnav-search input,html:not(#ms) body:not(#ms) .mobile-search-bar input,html:not(#ms) body:not(#ms) .search-box input,html:not(#ms) body:not(#ms) .topbar-search input,html:not(#ms) body:not(#ms) form[role="search"] input{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none !important;
  min-height:0 !important;
  height:100% !important;
  padding:0 !important;
  font-size:14px !important;
}
html:not(#ms) body:not(#ms) .ms-gnav-search{ align-items:center !important; }
html:not(#ms) body:not(#ms) .ms-gnav-search svg{ flex:0 0 auto !important; width:18px !important; height:18px !important; opacity:.55; }

/* --- Barra de ações das publicações: tudo igual -------------------------- */
/* Estavam com três alturas diferentes (36, 40 e 44 px), um <form> a esticar-se
   por toda a linha, e um rótulo "Republicar" injetado por CSS só neste botão.
   Passa a ser uma fila de botões iguais, só ícone, com a contagem ao lado. */
html:not(#ms) body:not(#ms) .ms-icon-row form,html:not(#ms) body:not(#ms) .ms-icon-row .ms-icon-form,html:not(#ms) body:not(#ms) .ms-icon-row .profile-share-form{
  display:contents !important;   /* o <form> sai do layout; o botão fica irmão */
}
html:not(#ms) body:not(#ms) .ms-icon-row > *,html:not(#ms) body:not(#ms) .ms-icon-row .ms-icon-action,html:not(#ms) body:not(#ms) .ms-icon-row .save-btn,html:not(#ms) body:not(#ms) .ms-icon-row .profile-share-btn,html:not(#ms) body:not(#ms) .ms-icon-row .profile-repost-btn,html:not(#ms) body:not(#ms) .ms-icon-row button,html:not(#ms) body:not(#ms) .ms-icon-row a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  height:38px !important;
  min-height:38px !important;
  min-width:38px !important;
  width:auto !important;
  flex:0 0 auto !important;
  padding:0 10px !important;
  border:0 !important;
  border-radius:var(--ms-radius-pill) !important;
  background:transparent !important;
  color:var(--ms-ui-text-2) !important;
  font-size:13px !important;
  font-weight:500 !important;
}
html:not(#ms) body:not(#ms) .ms-icon-row > *:hover{ background:var(--ms-ui-surface-2) !important; color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-icon-row svg{ width:19px !important; height:19px !important; }
/* O último botão (abrir noutra página) encosta à direita. */
html:not(#ms) body:not(#ms) .ms-icon-row > *:last-child{ margin-left:auto !important; }

/* Nenhum destes botões tem rótulo visível — nem por texto, nem por CSS. */
html:not(#ms) body:not(#ms) .ms-icon-row .sr-only,html:not(#ms) body:not(#ms) .sr-only{
  position:absolute !important;
  width:1px !important; height:1px !important;
  margin:-1px !important; padding:0 !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
}
html:not(#ms) body:not(#ms) .ms-icon-row [aria-label]:after,html:not(#ms) body:not(#ms) .post-card .ms-icon-row [aria-label^="Partilhar no perfil"]:after,html:not(#ms) body:not(#ms) .profile-share-btn:after,html:not(#ms) body:not(#ms) .profile-repost-btn:after{ content:none !important; }

/* --- Cartão de perfil da barra lateral ----------------------------------- */
/* Era um cartão dentro de outro, com as bordas a tocarem-se, e sem qualquer
   contraste. Passa a ser UM cartão: capa, avatar centrado por cima dela,
   nome ao centro e a lista de atalhos separada por um traço. */
html:not(#ms) body:not(#ms) .ms-pcard{
  background:var(--ms-ui-surface) !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-lg) !important;
  overflow:hidden !important;
  box-shadow:none !important;
  padding:0 !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
/* Atenção: `background` é um atalho — pô-lo a `transparent !important` apaga
   também o background-image. A capa vem por style inline, por isso o reset
   tem de deixar de fora o .ms-pcard-cover e usar só background-color. */
html:not(#ms) body:not(#ms) .ms-pcard > *:not(.ms-pcard-cover){
  border:0 !important;
  border-radius:0 !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
html:not(#ms) body:not(#ms) .ms-pcard-cover{
  display:block !important;
  height:76px !important;
  background-color:var(--ms-ui-surface-2) !important;
  background-size:cover !important;
  background-position:center !important;
  border-bottom:1px solid var(--ms-ui-border) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-pcard-top{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  padding:0 16px 14px !important;
  margin-top:-30px !important;   /* o avatar monta sobre a capa */
  gap:2px !important;
}
html:not(#ms) body:not(#ms) .ms-pcard-av{
  width:60px !important; height:60px !important;
  border-radius:50% !important;
  border:3px solid var(--ms-ui-surface) !important;
  object-fit:cover !important;
  display:grid !important;
  place-items:center !important;
  font-size:22px !important;
  margin-bottom:8px !important;
}
html:not(#ms) body:not(#ms) .ms-pcard-name{ font-size:15px !important; font-weight:600 !important; color:var(--ms-ui-text) !important; }
html:not(#ms) body:not(#ms) .ms-pcard-headline{ font-size:12px !important; color:rgb(var(--ms-ui-on-rgb) / .62) !important; line-height:1.4 !important; }
html:not(#ms) body:not(#ms) .ms-pcard-links{
  display:grid !important;
  border-top:1px solid var(--ms-ui-border) !important;
  padding:6px !important;
  gap:0 !important;
}
html:not(#ms) body:not(#ms) .ms-pcard-links a{
  display:block !important;
  padding:9px 10px !important;
  border-radius:var(--ms-radius-xs) !important;
  font-size:13px !important;
  font-weight:500 !important;
  color:var(--ms-ui-text) !important;
}
html:not(#ms) body:not(#ms) .ms-pcard-links a:hover{ background:var(--ms-ui-surface-2) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-pcard-cta{ display:grid !important; gap:8px !important; padding:12px 14px 14px !important; }

/* --- Lista de eventos / agenda -------------------------------------------- */
/* A etiqueta da direita não encolhia, e espremia o título até uma palavra por
   linha. Abaixo de 640 px de contentor a etiqueta passa para baixo. */
html:not(#ms) body:not(#ms) .data-list{ container-type:inline-size; display:grid; gap:8px; }
html:not(#ms) body:not(#ms) .data-row{
  grid-template-columns:46px minmax(0,1fr) minmax(0,auto) !important;
  align-items:center !important;
  gap:12px !important;
}
html:not(#ms) body:not(#ms) .data-row > div{ min-width:0 !important; }
html:not(#ms) body:not(#ms) .data-row strong{ display:block !important; overflow-wrap:anywhere !important; line-height:1.3 !important; }
html:not(#ms) body:not(#ms) .data-row .pill{
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
@container (max-width: 640px){
  html:not(#ms) body:not(#ms) .data-row{ grid-template-columns:46px minmax(0,1fr) !important; row-gap:6px !important; }
  html:not(#ms) body:not(#ms) .data-row .pill{ grid-column:2 !important; justify-self:start !important; }
}
html:not(#ms) body:not(#ms) .data-row .job-logo{
  background:var(--ms-ui-surface-2) !important;
  color:var(--ms-ui-text) !important;
  border-radius:var(--ms-radius-sm) !important;
  font-weight:600 !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

/* --- Capas de perfil ------------------------------------------------------- */
/* Três imagens à escolha (assets/img/covers/). A mesma capa aparece no cartão
   da barra lateral, no perfil público e no cabeçalho de cada publicação. */
html:not(#ms) body:not(#ms) .ms-pcard-cover,html:not(#ms) body:not(#ms) .profile-cover,html:not(#ms) body:not(#ms) .share-publication-cover{
  background-color:var(--ms-ui-surface-2) !important;
  /* A imagem vem de --cover, definido inline pelo PHP com a escolha do
     utilizador. Tem de ser !important porque há regras herdadas, também com
     !important, a pintar estes elementos — e o !important ganha ao inline. */
  background-image:var(--cover, none) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .profile-cover{ height:150px !important; border-radius:0 !important; }
html:not(#ms) body:not(#ms) .share-publication-cover{ height:110px !important; border-radius:0 !important; }
html:not(#ms) body:not(#ms) .profile-cover-orb{ display:none !important; }
/* Quando a capa é escura, o que estiver por cima usa texto claro. */
html:not(#ms) body:not(#ms) .ms-pcard-cover.is-dark,html:not(#ms) body:not(#ms) .profile-cover.is-dark,html:not(#ms) body:not(#ms) .share-publication-cover.is-dark{
  --ms-ui-on:     var(--ms-0);
  --ms-ui-on-rgb: var(--ms-0-rgb);
}

/* Seletor de capa no formulário de edição do perfil. */
html:not(#ms) body:not(#ms) .cover-picker{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
  gap:10px !important;
}
html:not(#ms) body:not(#ms) .cover-option{
  display:block !important;
  cursor:pointer !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
  padding:6px !important;
  background:var(--ms-ui-surface) !important;
  transition:border-color .12s ease, box-shadow .12s ease !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .cover-option input{
  position:absolute !important; opacity:0 !important; width:1px !important; height:1px !important;
}
html:not(#ms) body:not(#ms) .cover-option .cover-thumb{
  display:block !important;
  height:62px !important;
  border-radius:var(--ms-radius-sm) !important;
  background-size:cover !important;
  background-position:center !important;
  border:1px solid var(--ms-ui-border-soft) !important;
}
html:not(#ms) body:not(#ms) .cover-option .cover-name{
  display:block !important;
  margin-top:7px !important;
  text-align:center !important;
  font-size:12px !important;
  font-weight:500 !important;
  color:var(--ms-ui-text-2) !important;
}
html:not(#ms) body:not(#ms) .cover-option:hover{ border-color:var(--ms-ui-border-strong) !important; }
html:not(#ms) body:not(#ms) .cover-option:has(input:checked),html:not(#ms) body:not(#ms) .cover-option.is-selected{
  border-color:var(--ms-ui-accent) !important;
  box-shadow:0 0 0 1px var(--ms-ui-accent) !important;
}
html:not(#ms) body:not(#ms) .cover-option:has(input:checked) .cover-name,html:not(#ms) body:not(#ms) .cover-option.is-selected .cover-name{ color:var(--ms-ui-text) !important; font-weight:600 !important; }
html:not(#ms) body:not(#ms) .cover-option:has(input:focus-visible){ outline:2px solid var(--ms-ui-text) !important; outline-offset:2px !important; }

/* O cartão de perfil não pode ter caixas dentro de caixas: só o contorno
   exterior é que desenha. */
html:not(#ms) body:not(#ms) .ms-pcard *,html:not(#ms) body:not(#ms) .ms-pcard-top,html:not(#ms) body:not(#ms) .ms-pcard-links,html:not(#ms) body:not(#ms) .ms-pcard-cta{ box-shadow:none !important; }
html:not(#ms) body:not(#ms) .ms-pcard-top,html:not(#ms) body:not(#ms) .ms-pcard-cta{ border:0 !important; border-radius:0 !important; background-color:transparent !important; background-image:none !important; }
html:not(#ms) body:not(#ms) .ms-pcard-links{ border:0 !important; border-top:1px solid var(--ms-ui-border) !important; border-radius:0 !important; background-color:transparent !important; background-image:none !important; }
html:not(#ms) body:not(#ms) .ms-pcard-cover{ border-radius:0 !important; border:0 !important; border-bottom:1px solid var(--ms-ui-border) !important; }


/* --- Barra lateral: coluna, não cartão ------------------------------------- */
/* Tinha contorno e raio próprios, o que punha um cartão dentro de outro. E o
   padding era assimétrico (4 px à esquerda, 0 à direita), por isso tudo o que
   está lá dentro aparecia ligeiramente desviado. */
html:not(#ms) body:not(#ms) .sidebar:not(.admin-sidebar){
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:18px 0 !important;
  box-shadow:none !important;
}
html:not(#ms) body:not(#ms) .sidebar:not(.admin-sidebar) > *{ width:100% !important; }
html:not(#ms) body:not(#ms) .side-nav,html:not(#ms) body:not(#ms) .side-footer{ padding-left:0 !important; padding-right:0 !important; }

/* --- Filtros do feed ------------------------------------------------------- */
/* Cartão escondido pelo filtro das etiquetas. */
html:not(#ms) body:not(#ms) .social-feed-column [data-ms-filtered]{ display:none !important; }
html:not(#ms) body:not(#ms) .ms-feed-empty[hidden],html:not(#ms) body:not(#ms) .ms-feed-empty.is-hidden{ display:none !important; }
html:not(#ms) body:not(#ms) .ms-feed-empty{
  order:99 !important;
  margin:0 !important;
  padding:28px 16px !important;
  text-align:center !important;
  color:rgb(var(--ms-ui-on-rgb) / .62) !important;
  border:1px dashed var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
}
html:not(#ms) body:not(#ms) .ms-feed-sentinel.is-quiet{ min-height:1px !important; padding:0 !important; border:0 !important; }
html:not(#ms) body:not(#ms) .ms-feed-end{
  display:block !important;
  padding:22px 0 !important;
  text-align:center !important;
  font-size:13px !important;
  color:rgb(var(--ms-ui-on-rgb) / .62) !important;
}

/* --- Caixa de busca: ícone e texto lado a lado ---------------------------- */
/* O input não encolhia e passava por cima da lupa. Uma grelha de duas colunas
   resolve sem depender do flex-shrink. */
html:not(#ms) body:not(#ms) .ms-gnav-search,html:not(#ms) body:not(#ms) .search-box{
  display:grid !important;
  grid-template-columns:18px minmax(0,1fr) !important;
  align-items:center !important;
  column-gap:10px !important;
  padding:0 16px !important;
}
html:not(#ms) body:not(#ms) .ms-gnav-search > svg,html:not(#ms) body:not(#ms) .search-box > svg{
  /* A lupa estava em position:absolute por uma regra antiga: saía da grelha e
     assentava por cima do texto. Volta ao fluxo, na sua própria coluna. */
  position:static !important;
  inset:auto !important;
  grid-column:1 !important;
  width:18px !important; height:18px !important;
  margin:0 !important;
  flex:0 0 auto !important;
}
html:not(#ms) body:not(#ms) .ms-gnav-search input,html:not(#ms) body:not(#ms) .search-box input{
  grid-column:2 !important;
  min-width:0 !important;
  width:100% !important;
}

/* ==========================================================================
   QUARTA PASSAGEM
   ========================================================================== */

/* --- Selos de verificação -------------------------------------------------- */
/* Os três níveis tinham colapsado para o mesmo cinzento e deixaram de se
   distinguir. Voltam a ter cor própria — é o único sítio, a par dos estados,
   onde a cor carrega informação. */
html:not(#ms) body:not(#ms) .verified-symbol{
  display:inline-grid !important;
  place-items:center !important;
  width:17px !important; height:17px !important;
  margin-left:4px !important;
  border-radius:50% !important;
  vertical-align:-2px !important;
  flex:0 0 auto !important;
}
html:not(#ms) body:not(#ms) .verified-symbol svg{ width:17px !important; height:17px !important; }
html:not(#ms) body:not(#ms) .verified-symbol-silver{ color:var(--ms-badge-silver) !important; }
html:not(#ms) body:not(#ms) .verified-symbol-blue{   color:var(--ms-badge-blue) !important; }
html:not(#ms) body:not(#ms) .verified-symbol-gold{   color:var(--ms-badge-gold) !important; }
/* O "visto" desenhado por cima do disco acompanha a cor do selo. */
html:not(#ms) body:not(#ms) .verified-symbol-silver .verified-symbol-check{ stroke:var(--ms-badge-silver-ink) !important; }
html:not(#ms) body:not(#ms) .verified-symbol-blue   .verified-symbol-check{ stroke:var(--ms-badge-blue-ink) !important; }
html:not(#ms) body:not(#ms) .verified-symbol-gold   .verified-symbol-check{ stroke:var(--ms-badge-gold-ink) !important; }

/* --- Texto dentro de SVG --------------------------------------------------- */
/* Havia uma regra global `svg{stroke:currentColor;stroke-width:2}` pensada para
   ícones de traço. Aplicava-se também aos <text> dos gráficos, que ficavam com
   um contorno de 2 px à volta de cada letra — daí o ar "estourado". */
html:not(#ms) body:not(#ms) svg text,html:not(#ms) body:not(#ms) svg tspan{
  stroke:none !important;
  stroke-width:0 !important;
  paint-order:normal !important;
  font-weight:500 !important;
}

/* --- Página de estatísticas ------------------------------------------------ */
/* Os cartões pretos com texto por cima eram frágeis (bastava um rótulo escapar
   para ficar ilegível) e pesados: oito blocos negros seguidos. Passam todos a
   ser brancos com um traço, e o destaque faz-se pelo número. */
html:not(#ms) body:not(#ms) .stats-page{ --st-card:var(--ms-ui-surface) !important; }
html:not(#ms) body:not(#ms) .stats-kpi-new,html:not(#ms) body:not(#ms) .stats-kpi-new.destaque,html:not(#ms) body:not(#ms) .stats-viz-card,html:not(#ms) body:not(#ms) .stats-line-summary-item,html:not(#ms) body:not(#ms) .stats-hero-new,html:not(#ms) body:not(#ms) .stats-hero-count{
  background:var(--ms-ui-surface) !important;
  background-image:none !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
  box-shadow:none !important;
  --ms-ui-on:     var(--ms-ui-text);
  --ms-ui-on-rgb: var(--ms-1000-rgb);
  color:var(--ms-ui-text) !important;
}
html:not(#ms) body:not(#ms) .stats-kpi-new h3,html:not(#ms) body:not(#ms) .stats-kpi-new.destaque h3{ color:var(--ms-ui-text) !important; font-size:14px !important; font-weight:600 !important; }
html:not(#ms) body:not(#ms) .stats-kpi-new strong,html:not(#ms) body:not(#ms) .stats-hero-count strong{ color:var(--ms-ui-text) !important; letter-spacing:-.03em !important; }
html:not(#ms) body:not(#ms) .stats-kpi-new small,html:not(#ms) body:not(#ms) .stats-source,html:not(#ms) body:not(#ms) .stats-method{ color:rgb(var(--ms-ui-on-rgb) / .62) !important; }
html:not(#ms) body:not(#ms) .stats-kpi-icon,html:not(#ms) body:not(#ms) .stats-kpi-new.destaque .stats-kpi-icon{
  background:var(--ms-ui-surface-2) !important;
  border-radius:var(--ms-radius-sm) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .stats-update-pill,html:not(#ms) body:not(#ms) .stats-kpi-head .pill{
  background:var(--ms-ui-surface-2) !important;
  color:var(--ms-ui-text-2) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
/* Gráficos: linha fina preta, grelha quase invisível, pontos discretos. */
html:not(#ms) body:not(#ms) .stats-line-path{ stroke:var(--ms-ui-accent) !important; stroke-width:2 !important; filter:none !important; }
html:not(#ms) body:not(#ms) .stats-line-grid{ stroke:var(--ms-ui-border) !important; stroke-width:1 !important; }
html:not(#ms) body:not(#ms) .stats-line-dot{ fill:var(--ms-ui-surface) !important; stroke:var(--ms-ui-accent) !important; stroke-width:2 !important; r:4 !important; }
html:not(#ms) body:not(#ms) .stats-line-dot-halo{ display:none !important; }
html:not(#ms) body:not(#ms) .stats-line-axis-label,html:not(#ms) body:not(#ms) .stats-line-label{ fill:var(--ms-ui-text-3) !important; font-size:12px !important; font-weight:500 !important; letter-spacing:0 !important; }
html:not(#ms) body:not(#ms) .stats-bar-fill{ background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html:not(#ms) body:not(#ms) .stats-bar-track{ background:var(--ms-ui-surface-2) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .stats-donut:after{ background:var(--ms-ui-surface) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .stats-empty{ border:1px dashed var(--ms-ui-border) !important; color:rgb(var(--ms-ui-on-rgb) / .62) !important; background:transparent !important; }

/* --- Botões de ação: uma só forma em todo o site ---------------------------- */
/* Apareciam em cinco barras diferentes, umas com rótulo e outras sem, umas
   encostadas à direita e outras espalhadas. Uma regra só, para todas. */
html:not(#ms) body:not(#ms) .ms-icon-row,html:not(#ms) body:not(#ms) .post-actions,html:not(#ms) body:not(#ms) .feed-card-footer-actions,html:not(#ms) body:not(#ms) .share-publication-actions,html:not(#ms) body:not(#ms) .profile-post-actions,html:not(#ms) body:not(#ms) .community-topic-actions,html:not(#ms) body:not(#ms) .stats-kpi-save,html:not(#ms) body:not(#ms) .feed-forum-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;   /* tudo à esquerda */
  gap:2px !important;
  padding:6px 0 0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html:not(#ms) body:not(#ms) .post-actions > *,html:not(#ms) body:not(#ms) .feed-card-footer-actions > *,html:not(#ms) body:not(#ms) .share-publication-actions > *,html:not(#ms) body:not(#ms) .profile-post-actions > *,html:not(#ms) body:not(#ms) .community-topic-actions > *,html:not(#ms) body:not(#ms) .stats-kpi-save > *,html:not(#ms) body:not(#ms) .feed-forum-actions > *,html:not(#ms) body:not(#ms) .stats-kpi-save .save-btn,html:not(#ms) body:not(#ms) .stats-kpi-save .profile-share-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  height:38px !important;
  min-height:38px !important;
  min-width:38px !important;
  width:auto !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 10px !important;
  border:0 !important;
  border-radius:var(--ms-radius-pill) !important;
  background:transparent !important;
  color:var(--ms-ui-text-2) !important;
  font-size:13px !important;
  font-weight:500 !important;
}
html:not(#ms) body:not(#ms) .post-actions > *:hover,html:not(#ms) body:not(#ms) .feed-card-footer-actions > *:hover,html:not(#ms) body:not(#ms) .share-publication-actions > *:hover,html:not(#ms) body:not(#ms) .profile-post-actions > *:hover,html:not(#ms) body:not(#ms) .community-topic-actions > *:hover,html:not(#ms) body:not(#ms) .stats-kpi-save > *:hover{ background:var(--ms-ui-surface-2) !important; color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
/* Nenhum botão de ação mostra o nome. O rótulo continua lá para leitores de
   ecrã, através do aria-label. */
html:not(#ms) body:not(#ms) .save-btn-label,html:not(#ms) body:not(#ms) .share-btn-label,html:not(#ms) body:not(#ms) .action-label,html:not(#ms) body:not(#ms) .ms-icon-label{
  position:absolute !important;
  width:1px !important; height:1px !important;
  margin:-1px !important; padding:0 !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
}
/* O último botão deixa de ser empurrado para a direita. */
html:not(#ms) body:not(#ms) .ms-icon-row > *:last-child{ margin-left:0 !important; }
html:not(#ms) body:not(#ms) .ms-icon-row .ms-icon-action-count,html:not(#ms) body:not(#ms) .post-actions .ms-icon-action-count{ padding:0 12px !important; }

/* --- Ordem e visibilidade dentro da coluna do feed -------------------------- */
/* Existe uma regra herdada `.social-feed-column > * { display:block !important }`
   que obrigava tudo a aparecer: os cartões que o carregamento progressivo
   tinha escondido voltavam, e a mensagem de fim de feed subia para o topo.
   Estas regras têm especificidade suficiente para se impor. */
html:not(#ms) body:not(#ms) .social-feed-column [data-ms-hidden]{ display:none !important; }
html:not(#ms) body:not(#ms) .social-feed-column .ms-feed-sentinel{ order:100 !important; }
html:not(#ms) body:not(#ms) .social-feed-column .ms-feed-empty{ order:99 !important; }
html:not(#ms) body:not(#ms) .social-feed-column{ display:flex !important; flex-direction:column !important; gap:12px !important; }
html:not(#ms) body:not(#ms) .social-feed-column .ms-feed-composer{ order:-1 !important; }

/* O rótulo "Republicar" era injetado por um ::after no <form>, não no botão —
   por isso continuava a aparecer depois de limpar os botões. */
html:not(#ms) body:not(#ms) .profile-share-form:after,html:not(#ms) body:not(#ms) .profile-share-form:before,html:not(#ms) body:not(#ms) .ms-icon-form:after,html:not(#ms) body:not(#ms) .ms-icon-form:before,html:not(#ms) body:not(#ms) .ms-icon-row form:after,html:not(#ms) body:not(#ms) .ms-icon-row form:before,html:not(#ms) body:not(#ms) .post-actions form:after,html:not(#ms) body:not(#ms) .feed-card-footer-actions form:after{
  content:none !important;
  display:none !important;
}

/* ==========================================================================
   QUINTA PASSAGEM
   ========================================================================== */

/* --- Header alinhado com a página ------------------------------------------ */
/* A barra tinha max-width 1240 px e o conteúdo da página 1440 px com 28 px de
   respiro: o logótipo começava 90 px mais à direita do que a coluna lateral.
   E as ferramentas da direita transbordavam 53 px para fora do contentor —
   era isso que se via a "vazar". Agora partilham a mesma medida. */
html:not(#ms) body:not(#ms) .ms-gnav-in{
  max-width:1440px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:0 28px !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-width:0 !important;
}
html:not(#ms) body:not(#ms) .ms-gnav-brand{ flex:0 0 auto !important; }
html:not(#ms) body:not(#ms) .ms-gnav-nav{ flex:1 1 auto !important; min-width:0 !important; justify-content:center !important; }
html:not(#ms) body:not(#ms) .ms-gnav-tools{
  flex:0 0 auto !important;
  margin-left:0 !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
/* Em ecrãs mais apertados, o chip do país recolhe antes de a barra rebentar. */
@media (max-width:1200px){
  html:not(#ms) body:not(#ms) .ms-gnav-tools .country-chip strong{ display:none !important; }
  html:not(#ms) body:not(#ms) .ms-gnav-search{ min-width:150px !important; }
}
@media (max-width:1040px){
  html:not(#ms) body:not(#ms) .ms-gnav-nav .ms-gnav-label{ display:none !important; }
}

/* --- Emoji por tipo de conteúdo --------------------------------------------- */
/* O avatar dos cartões de sistema mostrava a inicial da secção (V, B, E…), o
   que dizia pouco e repetia-se. Passa a mostrar o emoji do tipo, num disco
   cinzento discreto — dá leitura imediata sem trazer cor ao layout. */
html:not(#ms) body:not(#ms) .system-avatar{
  display:grid !important;
  place-items:center !important;
  width:42px !important; height:42px !important;
  flex:0 0 auto !important;
  border-radius:50% !important;
  background:var(--ms-ui-surface-2) !important;
  border:1px solid var(--ms-ui-border) !important;
  color:var(--ms-ui-text) !important;
  font-size:19px !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  /* O emoji tem de manter as suas cores próprias, não herdar o preto. */
  -webkit-text-fill-color:initial !important;
  text-shadow:none !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .system-avatar.publi-avatar{ font-size:15px !important; }

/* --- Vagas em destaque: fila horizontal ------------------------------------- */
/* Formato de "stories" retangulares: uma fila que se arrasta na horizontal,
   com encaixe, para dar visibilidade a algumas vagas sem tomar o feed. */
html:not(#ms) body:not(#ms) .ms-job-rail{
  background:var(--ms-ui-surface) !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
  padding:14px 0 16px !important;
  overflow:hidden !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-job-rail-head{
  display:flex !important;
  align-items:baseline !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:0 16px 12px !important;
}
html:not(#ms) body:not(#ms) .ms-job-rail-head h2{
  margin:0 !important;
  font-size:15px !important;
  font-weight:600 !important;
  letter-spacing:-.01em !important;
  color:var(--ms-ui-text) !important;
}
html:not(#ms) body:not(#ms) .ms-job-rail-all{
  font-size:13px !important;
  font-weight:500 !important;
  color:rgb(var(--ms-ui-on-rgb) / .62) !important;
  white-space:nowrap !important;
}
html:not(#ms) body:not(#ms) .ms-job-rail-all:hover{ color:var(--ms-ui-text) !important; text-decoration:underline !important; }

html:not(#ms) body:not(#ms) .ms-job-rail-track{
  display:flex !important;
  gap:10px !important;
  margin:0 !important;
  padding:2px 16px !important;
  list-style:none !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scrollbar-width:none !important;
  -webkit-overflow-scrolling:touch !important;
}
html:not(#ms) body:not(#ms) .ms-job-rail-track::-webkit-scrollbar{ display:none !important; }

html:not(#ms) body:not(#ms) .ms-job-card{
  flex:0 0 auto !important;
  width:158px !important;
  scroll-snap-align:start !important;
  margin:0 !important;
}
html:not(#ms) body:not(#ms) .ms-job-card > a{
  display:flex !important;
  flex-direction:column !important;
  height:196px !important;
  padding:12px !important;
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
  background:var(--ms-ui-surface) !important;
  transition:border-color .12s ease, background-color .12s ease !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-job-card > a:hover{
  background:var(--ms-ui-surface-2) !important;
  border-color:var(--ms-ui-border-strong) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-job-card-logo{
  display:grid !important;
  place-items:center !important;
  width:36px !important; height:36px !important;
  border-radius:var(--ms-radius-sm) !important;
  background:var(--ms-ui-accent) !important;
  --ms-ui-on:var(--ms-0); --ms-ui-on-rgb:var(--ms-0-rgb);
  color:var(--ms-ui-on) !important;
  font-size:14px !important;
  font-weight:600 !important;
  flex:0 0 auto !important;
}
html:not(#ms) body:not(#ms) .ms-job-card-body{
  display:block !important;
  margin-top:auto !important;   /* o texto assenta no fundo do cartão */
  min-width:0 !important;
}
html:not(#ms) body:not(#ms) .ms-job-card-body strong{
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  font-size:13.5px !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  color:var(--ms-ui-text) !important;
}
html:not(#ms) body:not(#ms) .ms-job-card-body small{
  display:block !important;
  margin-top:4px !important;
  font-size:12px !important;
  color:rgb(var(--ms-ui-on-rgb) / .62) !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
html:not(#ms) body:not(#ms) .ms-job-card-meta{
  display:block !important;
  margin-top:8px !important;
  padding-top:8px !important;
  border-top:1px solid var(--ms-ui-border-soft) !important;
  font-size:11.5px !important;
  color:rgb(var(--ms-ui-on-rgb) / .62) !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
@media (max-width:640px){
  html:not(#ms) body:not(#ms) .ms-job-card{ width:140px !important; }
  html:not(#ms) body:not(#ms) .ms-job-card > a{ height:180px !important; }
}

/* --- Participar numa comunidade --------------------------------------------- */
html:not(#ms) body:not(#ms) .community-card-actions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:8px !important;
  align-items:center !important;
}
html:not(#ms) body:not(#ms) .community-join-form{ display:block !important; margin:0 !important; }
html:not(#ms) body:not(#ms) .community-join-btn{
  width:100% !important;
  min-height:40px !important;
  border-radius:var(--ms-radius-sm) !important;
  font-weight:600 !important;
}
/* Já membro: o botão passa a discreto, para o destaque ficar no "Abrir". */
html:not(#ms) body:not(#ms) .community-join-btn.is-member{
  background:var(--ms-ui-surface-2) !important;
  border:1px solid var(--ms-ui-border) !important;
  color:var(--ms-ui-text-2) !important;
  --ms-ui-on:var(--ms-ui-text); --ms-ui-on-rgb:var(--ms-1000-rgb);
}
html:not(#ms) body:not(#ms) .community-join-btn.is-member:hover{
  background:var(--ms-ui-surface-3) !important;
  color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .community-join-btn.is-member:before{ content:"✓ " !important; }
html:not(#ms) body:not(#ms) .flash-message.flash-ok{
  background:var(--ms-success-soft) !important;
  border:1px solid var(--ms-success-line) !important;
  color:var(--ms-success-strong) !important;
  border-radius:var(--ms-radius-sm) !important;
  padding:12px 14px !important;
}

/* ==========================================================================
   SEXTA PASSAGEM
   ========================================================================== */

/* --- Indicador do item ativo no header ------------------------------------- */
/* Era uma barra de 3 px BRANCA por baixo do item ativo: passava por cima da
   borda do header e lia-se como um risco solto. Passa a ser um traço preto,
   que é o que se espera de um estado ativo. */
html:not(#ms) body:not(#ms) .ms-gnav-link:after,html:not(#ms) body:not(#ms) .ms-gnav-link.is-active:after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  bottom:-1px !important;
  top:auto !important;
  width:22px !important;
  height:2px !important;
  border-radius:2px !important;
  background:transparent !important;
}
html:not(#ms) body:not(#ms) .ms-gnav-link.is-active:after,html:not(#ms) body:not(#ms) .ms-gnav-link[aria-current="page"]:after{ background:var(--ms-ui-accent) !important;--ms-ui-on:var(--ms-0);--ms-ui-on-rgb:var(--ms-0-rgb);}
html:not(#ms) body:not(#ms) .ms-gnav-link{ position:relative !important; }

/* --- Emoji nas etiquetas do feed -------------------------------------------- */
html:not(#ms) body:not(#ms) .ms-filter-emoji{
  display:inline-block !important;
  margin-right:6px !important;
  font-size:14px !important;
  line-height:1 !important;
  -webkit-text-fill-color:initial !important;   /* mantém a cor do emoji */
}
html:not(#ms) body:not(#ms) .ms-feed-filters .ms-filter{ gap:0 !important; padding:0 14px !important; }
/* No estado ativo (fundo preto) o emoji continua a ler-se. */
html:not(#ms) body:not(#ms) .ms-feed-filters .ms-filter.on .ms-filter-emoji{ filter:none !important; }

/* --- Recuo lateral das linhas de um cartão ---------------------------------- */
/* Cada linha de um cartão do feed traz o seu próprio padding, e nem todas
   traziam o mesmo: o cabeçalho, o título e o texto tinham 12px (16px acima
   dos 860px), a linha de etiquetas tinha sempre 16px, e a barra de ações
   — a dos botões de gostar e comentar — tinha ZERO. Era por isso que esses
   botões ficavam encostados à borda esquerda do cartão.

   Aqui iguala-se tudo ao mesmo recuo, para que as linhas fiquem alinhadas
   umas com as outras e nada toque na lateral da caixa. */
html:not(#ms) body:not(#ms) .post-card > .post-actions,html:not(#ms) body:not(#ms) .post-card > .feed-card-footer,html:not(#ms) body:not(#ms) .post-card > .ms-chips,html:not(#ms) body:not(#ms) .post-card > .ms-feed-comments{
  padding-left:12px !important;
  padding-right:12px !important;
  box-sizing:border-box !important;
}
@media (min-width:861px){
  html:not(#ms) body:not(#ms) .post-card > .post-actions,html:not(#ms) body:not(#ms) .post-card > .feed-card-footer,html:not(#ms) body:not(#ms) .post-card > .ms-chips,html:not(#ms) body:not(#ms) .post-card > .ms-feed-comments{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}

/* --- Rodapé do cartão: uma linha, não três ---------------------------------- */
/* A data ficava numa linha própria, com um traço por cima; a fila de ícones
   vinha a seguir, com OUTRO traço por cima. Dois traços seguidos e uma faixa
   vazia pelo meio, só para mostrar uma data. Passa a ser uma linha só: ícones
   à esquerda (é por onde se lê), data à direita, um traço apenas. */
html:not(#ms) body:not(#ms) .post-card > .feed-card-footer{
  display:flex !important;
  flex-direction:row-reverse !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding-top:6px !important;
  padding-bottom:4px !important;
}
html:not(#ms) body:not(#ms) .post-card > .feed-card-footer > small{
  margin:0 !important;
  flex:0 0 auto !important;
  font-size:11.5px !important;
  color:rgb(var(--ms-ui-on-rgb) / .55) !important;
}
html:not(#ms) body:not(#ms) .post-card > .feed-card-footer > .feed-card-footer-actions{
  border-top:0 !important;
  margin:0 !important;
  padding:0 !important;
  flex:1 1 auto !important;
}

/* --- Reações: retiradas ------------------------------------------------------ */
/* As bolinhas pretas com ❤ / 👏 e a contagem ao lado saíram das publicações.
   O markup já não as gera, mas a regra fica como rede de segurança para
   qualquer página antiga que ainda as escreva. */
html:not(#ms) body:not(#ms) .ms-social-proof,html:not(#ms) body:not(#ms) .ms-rx{ display:none !important; }

/* --- Filas de destaque intercaladas ----------------------------------------- */
/* A coluna do feed é uma flexbox. Numa flexbox quem manda na ordem visual é a
   propriedade `order`; a ordem do HTML só desempata dentro do mesmo valor. E o
   CSS antigo do site dá `order:4` às publicações abaixo dos 860px — ou seja,
   no telemóvel. Como as secções estavam em `order:0`, subiam TODAS para cima
   de TODAS as publicações, por muito bem intercaladas que viessem do servidor.
   Era exatamente isto que se via no telemóvel e não se via no computador.

   A correção é pô-las no mesmo grupo: publicações e secções com o mesmo
   `order`, para que volte a valer a ordem em que o PHP as escreveu. */
html:not(#ms) body:not(#ms) .social-feed-column > .post-card:not(.ms-feed-composer),html:not(#ms) body:not(#ms) .social-feed-column > article.post-card:not(.ms-feed-composer),html:not(#ms) body:not(#ms) .social-feed-column > .ms-job-rail{ order:4 !important; }

/* ==========================================================================
   SÉTIMA PASSAGEM
   ========================================================================== */

/* --- Avatar de sistema: respeitar quem está escondido ----------------------- */
/* O markup põe um <img> e, ao lado, um <span class="system-avatar"
   style="display:none"> como reserva para quando a imagem falha. A regra
   anterior forçava display:grid e trazia a reserva de volta — ficavam dois
   avatares e, num contentor em grelha, o texto era empurrado para a linha
   seguinte (uma palavra por linha). */
html:not(#ms) body:not(#ms) .system-avatar[style*="none"]{ display:none !important; }

/* --- Comentários ----------------------------------------------------------- */
/* A grelha tinha duas colunas mas três filhos. Fixando a coluna e a linha de
   cada peça, o layout aguenta qualquer número de filhos. */
html:not(#ms) body:not(#ms) .publication-comment,html:not(#ms) body:not(#ms) .feed-comment{
  display:grid !important;
  grid-template-columns:38px minmax(0,1fr) !important;
  column-gap:10px !important;
  align-items:start !important;
  padding:12px 0 !important;
  border-top:1px solid var(--ms-ui-border-soft) !important;
}
html:not(#ms) body:not(#ms) .publication-comment > img,html:not(#ms) body:not(#ms) .publication-comment > .system-avatar,html:not(#ms) body:not(#ms) .feed-comment > img,html:not(#ms) body:not(#ms) .feed-comment > .system-avatar{
  grid-column:1 !important;
  grid-row:1 !important;
  width:38px !important; height:38px !important;
  min-width:0 !important;
  border-radius:50% !important;
  object-fit:cover !important;
  font-size:15px !important;
}
html:not(#ms) body:not(#ms) .publication-comment-content,html:not(#ms) body:not(#ms) .feed-comment-content{
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  display:block !important;
}
html:not(#ms) body:not(#ms) .publication-comment-box{
  background:var(--ms-ui-surface-2) !important;
  border:0 !important;
  border-radius:var(--ms-radius-md) !important;
  padding:10px 14px !important;
  min-width:0 !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .publication-comment-box strong{
  display:inline-flex !important;
  align-items:center !important;
  gap:4px !important;
  font-size:13.5px !important;
  margin-right:8px !important;
}
html:not(#ms) body:not(#ms) .publication-comment-box time,html:not(#ms) body:not(#ms) .publication-comment-box small{
  font-size:12px !important;
  color:rgb(var(--ms-ui-on-rgb) / .62) !important;
}
html:not(#ms) body:not(#ms) .publication-comment-box p{
  margin:4px 0 0 !important;
  font-size:14px !important;
  line-height:1.45 !important;
  overflow-wrap:anywhere !important;
}
html:not(#ms) body:not(#ms) .publication-comment-actions,html:not(#ms) body:not(#ms) .publication-comment-tools{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:2px !important;
  margin-top:4px !important;
  padding-left:6px !important;
}
html:not(#ms) body:not(#ms) .publication-comment-actions > *,html:not(#ms) body:not(#ms) .publication-comment-tools > *,html:not(#ms) body:not(#ms) .comment-tool{
  min-height:30px !important;
  padding:0 8px !important;
  border:0 !important;
  border-radius:var(--ms-radius-pill) !important;
  background:transparent !important;
  font-size:12.5px !important;
  font-weight:500 !important;
  color:rgb(var(--ms-ui-on-rgb) / .62) !important;
}
html:not(#ms) body:not(#ms) .publication-comment-actions > *:hover,html:not(#ms) body:not(#ms) .comment-tool:hover{ background:var(--ms-ui-surface-2) !important; color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .publication-comment-form{
  display:grid !important;
  grid-template-columns:38px minmax(0,1fr) !important;
  column-gap:10px !important;
  align-items:start !important;
  padding-bottom:8px !important;
}
html:not(#ms) body:not(#ms) .publication-comment-form > img,html:not(#ms) body:not(#ms) .publication-comment-form > .system-avatar{ width:38px !important; height:38px !important; }
html:not(#ms) body:not(#ms) .publication-comment-form textarea{ min-height:44px !important; }

/* --- A barra de ações da publicação é a mesma do feed ----------------------- */
/* Na página do post apareciam ícones diferentes, noutra ordem, e um botão
   preto com a marca. Passa a ser a mesma fila do feed. */
html:not(#ms) body:not(#ms) .share-publication-actions .ms-brand-action,html:not(#ms) body:not(#ms) .share-publication-actions [class*="brand"],html:not(#ms) body:not(#ms) .publication-actions [class*="brand"]{ display:none !important; }
html:not(#ms) body:not(#ms) .share-publication-actions{
  border-top:1px solid var(--ms-ui-border-soft) !important;
  margin-top:10px !important;
  padding-top:8px !important;
}

/* --- Tópicos de comunidade no feed ------------------------------------------ */
/* Ganham uma faixa lateral e uma etiqueta próprias, para se distinguirem das
   publicações de perfil sem sair do monocromático. */
html:not(#ms) body:not(#ms) .feed-update-card.feed-forum-post{
  border-left:3px solid var(--ms-ui-accent) !important;
  padding-left:calc(1rem - 2px) !important;
}
html:not(#ms) body:not(#ms) .feed-update-card.feed-forum-post .post-header .post-tag{
  background:var(--ms-ui-accent) !important;
  --ms-ui-on:var(--ms-0); --ms-ui-on-rgb:var(--ms-0-rgb);
  color:var(--ms-ui-on) !important;
}

/* --- Curtir e comentar no próprio feed -------------------------------------- */
html:not(#ms) body:not(#ms) .ms-like.is-on{ color:var(--ms-ui-text) !important; }
html:not(#ms) body:not(#ms) .ms-like.is-on svg{ fill:currentColor !important; stroke:currentColor !important; }
html:not(#ms) body:not(#ms) .ms-comment-toggle.is-on{ background:var(--ms-ui-surface-2) !important; color:var(--ms-ui-text) !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}

html:not(#ms) body:not(#ms) .ms-feed-comments{
  border-top:1px solid var(--ms-ui-border-soft) !important;
  margin-top:8px !important;
  /* O painel é a última coisa do cartão: sem folga em baixo, a caixa de
     escrever encostava à borda e parecia colada ao cartão seguinte. */
  padding:12px 0 14px !important;
}
html:not(#ms) body:not(#ms) .ms-feed-comment-form{ margin-bottom:0 !important; }
html:not(#ms) body:not(#ms) .ms-feed-comments[hidden]{ display:none !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment-list{
  list-style:none !important;
  margin:0 0 10px !important;
  padding:0 !important;
  display:grid !important;
  gap:8px !important;
}
html:not(#ms) body:not(#ms) .ms-feed-comment{
  display:grid !important;
  grid-template-columns:32px minmax(0,1fr) !important;
  column-gap:10px !important;
  row-gap:2px !important;
  align-items:start !important;
}
/* Avatar. O markup traz um <img> e, ao lado, um <span> com as iniciais como
   reserva, escondido por style="display:none" à espera do onerror. A regra
   que dava display:grid a ".ms-feed-comment-av" apanhava os DOIS e ressuscitava
   a reserva — daí os dois círculos empilhados em cada comentário. O inline
   perde sempre para um !important, por isso a exceção tem de estar aqui. */
html:not(#ms) body:not(#ms) .ms-feed-comment-av{
  grid-column:1 !important;
  grid-row:1 !important;
  display:grid !important;
  place-items:center !important;
  width:32px !important; height:32px !important;
  border-radius:50% !important;
  background:var(--ms-ui-surface-2) !important;
  border:1px solid var(--ms-ui-border) !important;
  font-size:13px !important;
  font-weight:600 !important;
  color:var(--ms-ui-text) !important;
  overflow:hidden !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-feed-comment-av[style*="none"]{ display:none !important; }
html:not(#ms) body:not(#ms) img.ms-feed-comment-av{ object-fit:cover !important; }

html:not(#ms) body:not(#ms) .ms-feed-comment-body{
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  width:fit-content !important;
  max-width:100% !important;
  background:var(--ms-ui-surface-2) !important;
  border-radius:var(--ms-radius-md) !important;
  padding:8px 13px 9px !important;--ms-ui-on:var(--ms-ui-text);--ms-ui-on-rgb:var(--ms-1000-rgb);}
html:not(#ms) body:not(#ms) .ms-feed-comment-body strong{ display:block !important; font-size:13px !important; margin:0 0 1px !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment-body p{ margin:0 !important; font-size:14px !important; line-height:1.45 !important; overflow-wrap:anywhere !important; }

/* Linha de controlos por baixo da bolha: hora e "Responder". */
html:not(#ms) body:not(#ms) .ms-feed-comment-tools{
  grid-column:2 !important;
  grid-row:2 !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:0 0 0 13px !important;
  min-height:0 !important;
}
html:not(#ms) body:not(#ms) .ms-feed-comment-tools:empty{ display:none !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment-tools time{ font-size:11.5px !important; color:rgb(var(--ms-ui-on-rgb) / .55) !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment-reply{
  margin:0 !important; padding:0 !important; border:0 !important; background:none !important;
  font-size:12px !important; font-weight:600 !important; letter-spacing:.01em !important;
  color:rgb(var(--ms-ui-on-rgb) / .55) !important;
  cursor:pointer !important; min-height:0 !important; line-height:1.2 !important;
}
html:not(#ms) body:not(#ms) .ms-feed-comment-reply:hover{ color:var(--ms-ui-text) !important; text-decoration:underline !important; }

/* Respostas: recuadas até ficarem alinhadas com a bolha do comentário-pai, com
   um fio a acompanhar a conversa. Recuo total = 16 (margem) + 24 (padding) +
   2 (fio) = 42px, que é a largura do avatar mais o intervalo. */
html:not(#ms) body:not(#ms) .ms-feed-comment-replies{
  grid-column:1 / -1 !important;
  margin:10px 0 2px 16px !important;
  padding:0 0 0 24px !important;
  border-left:2px solid var(--ms-ui-border) !important;
  gap:12px !important;
}
html:not(#ms) body:not(#ms) .ms-feed-comment.is-reply{ grid-template-columns:26px minmax(0,1fr) !important; column-gap:9px !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment.is-reply > .ms-feed-comment-av{ width:26px !important; height:26px !important; font-size:11.5px !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment.is-reply > .ms-feed-comment-body{ padding:7px 12px 8px !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment.is-reply > .ms-feed-comment-tools{ padding-left:12px !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment.is-removed .ms-feed-comment-body{ opacity:.7 !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment-removed{ font-style:italic !important; }

/* O formulário, quando salta para dentro de um comentário, entra recuado como
   se fosse mais uma resposta daquela conversa — senão aparecia colado à
   margem do cartão e não se percebia a quem estávamos a responder. */
html:not(#ms) body:not(#ms) .ms-feed-comment > .ms-feed-comment-form{
  grid-column:1 / -1 !important;
  margin:10px 0 2px 16px !important;
  padding-left:24px !important;
  border-left:2px solid var(--ms-ui-border) !important;
}
html:not(#ms) body:not(#ms) .ms-feed-comment.is-reply > .ms-feed-comment-form{ margin-left:0 !important; padding-left:0 !important; border-left:0 !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment-form-cancel{
  grid-column:1 / -1 !important;
  justify-self:start !important;
  margin:0 !important; padding:0 !important; border:0 !important; background:none !important;
  font-size:12px !important; color:rgb(var(--ms-ui-on-rgb) / .55) !important; cursor:pointer !important;
  min-height:0 !important;
}
html:not(#ms) body:not(#ms) .ms-feed-comment-form-cancel[hidden]{ display:none !important; }

html:not(#ms) body:not(#ms) .ms-feed-comment-form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:8px !important;
  align-items:end !important;
}
html:not(#ms) body:not(#ms) .ms-feed-comment-form textarea{
  min-height:40px !important;
  padding:9px 12px !important;
  border-radius:var(--ms-radius-md) !important;
  resize:vertical !important;
}
html:not(#ms) body:not(#ms) .ms-feed-comment-form .button{ min-height:40px !important; padding:0 16px !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment-login{ margin:0 !important; font-size:13px !important; color:rgb(var(--ms-ui-on-rgb) / .62) !important; }
html:not(#ms) body:not(#ms) .ms-feed-comment-login a{ text-decoration:underline !important; }

/* O botão primário tem de ter fundo em qualquer contexto: numa página o fundo
   estava a ser anulado e o texto branco ficava sobre branco. */
html:not(#ms) body:not(#ms) button.button-primary,html:not(#ms) body:not(#ms) a.button-primary,html:not(#ms) body:not(#ms) .button.button-primary,html:not(#ms) body:not(#ms) input[type="submit"].button-primary{
  background-color:var(--ms-ui-accent) !important;
  background-image:none !important;
  --ms-ui-on:var(--ms-0); --ms-ui-on-rgb:var(--ms-0-rgb);
  color:var(--ms-ui-on) !important;
}

/* ==========================================================================
   OITAVA PASSAGEM
   ========================================================================== */

/* --- Ícone do feed na navegação inferior (mobile) --------------------------- */
/* O item central estava marcado como "superfície escura" por uma regra antiga:
   herdava --ms-ui-on branco e o SVG, que usa stroke:currentColor, desenhava
   branco sobre branco. Ficava um quadrado vazio. */
html:not(#ms) body:not(#ms) .mobile-bottom-nav a,html:not(#ms) body:not(#ms) .mobile-bottom-nav a.active,html:not(#ms) body:not(#ms) .mobile-bottom-nav a.mobile-feed-link,html:not(#ms) body:not(#ms) .mobile-bottom-nav a.mobile-feed-link.active{
  --ms-ui-on:     var(--ms-ui-text);
  --ms-ui-on-rgb: var(--ms-1000-rgb);
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
html:not(#ms) body:not(#ms) .mobile-bottom-nav a svg,html:not(#ms) body:not(#ms) .mobile-bottom-nav a svg path,html:not(#ms) body:not(#ms) .mobile-bottom-nav a svg circle,html:not(#ms) body:not(#ms) .mobile-bottom-nav a svg rect,html:not(#ms) body:not(#ms) .mobile-bottom-nav a svg line,html:not(#ms) body:not(#ms) .mobile-bottom-nav a svg polyline{
  /* A regra herdada pintava de branco o <path>, não o <svg>: apontar só ao
     elemento de fora não chegava e o ícone ficava branco sobre branco. */
  stroke:currentColor !important;
  fill:none !important;
}
html:not(#ms) body:not(#ms) .mobile-bottom-nav a svg{
  width:22px !important;
  height:22px !important;
}
html:not(#ms) body:not(#ms) .mobile-bottom-nav a,html:not(#ms) body:not(#ms) .mobile-bottom-nav a span{ color:var(--ms-ui-text-3) !important; }
html:not(#ms) body:not(#ms) .mobile-bottom-nav a.active,html:not(#ms) body:not(#ms) .mobile-bottom-nav a.active span,html:not(#ms) body:not(#ms) .mobile-bottom-nav a.active svg{ color:var(--ms-ui-text) !important; font-weight:600 !important; }
/* O botão do meio continua a destacar-se, mas com contorno em vez de vazio. */
html:not(#ms) body:not(#ms) .mobile-bottom-nav a.mobile-feed-link{
  border:1px solid var(--ms-ui-border) !important;
  border-radius:var(--ms-radius-md) !important;
}
html:not(#ms) body:not(#ms) .mobile-bottom-nav a.mobile-feed-link.active{
  background:var(--ms-ui-accent) !important;
  border-color:var(--ms-ui-accent) !important;
  --ms-ui-on:     var(--ms-0);
  --ms-ui-on-rgb: var(--ms-0-rgb);
}
html:not(#ms) body:not(#ms) .mobile-bottom-nav a.mobile-feed-link.active,html:not(#ms) body:not(#ms) .mobile-bottom-nav a.mobile-feed-link.active span,html:not(#ms) body:not(#ms) .mobile-bottom-nav a.mobile-feed-link.active svg{ color:var(--ms-ui-on) !important; }

/* v20260827 — feed mobile: todos os ícones de ação ficam na mesma linha.
   A data deixa de competir por largura com curtir/comentar/partilhar/guardar/
   republicar/abrir, que agora têm uma faixa única e rolável quando necessário. */
@media (max-width:700px){
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:8px !important;
    align-items:center !important;
  }
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer > small{
    order:2 !important;
    justify-self:end !important;
    margin:0 !important;
    font-size:12px !important;
    line-height:1.2 !important;
  }
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer-actions.ms-icon-row,
  html:not(#ms) body:not(#ms) .social-home-main .post-actions.feed-forum-actions.ms-icon-row{
    order:1 !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    gap:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
  }
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer-actions.ms-icon-row::-webkit-scrollbar,
  html:not(#ms) body:not(#ms) .social-home-main .post-actions.feed-forum-actions.ms-icon-row::-webkit-scrollbar{
    display:none !important;
  }
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer-actions.ms-icon-row > *,
  html:not(#ms) body:not(#ms) .social-home-main .post-actions.feed-forum-actions.ms-icon-row > *{
    flex:0 0 auto !important;
    margin-left:0 !important;
  }
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer-actions.ms-icon-row .ms-icon-action,
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer-actions.ms-icon-row .save-btn-icon,
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer-actions.ms-icon-row .profile-share-btn,
  html:not(#ms) body:not(#ms) .social-home-main .post-actions.feed-forum-actions.ms-icon-row .ms-icon-action,
  html:not(#ms) body:not(#ms) .social-home-main .post-actions.feed-forum-actions.ms-icon-row .save-btn-icon,
  html:not(#ms) body:not(#ms) .social-home-main .post-actions.feed-forum-actions.ms-icon-row .profile-share-btn{
    display:inline-flex !important;
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
  }
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer-actions.ms-icon-row .ms-icon-action-count,
  html:not(#ms) body:not(#ms) .social-home-main .post-actions.feed-forum-actions.ms-icon-row .ms-icon-action-count{
    width:auto !important;
    min-width:58px !important;
    padding:0 10px !important;
  }
}

/* v20260827b — reforço final para iPhone: a linha de ações nunca quebra; se
   faltar espaço, desliza na horizontal, mantendo partilhar/guardar/abrir juntos. */
@media (max-width:700px){
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer-actions.ms-icon-row,
  html:not(#ms) body:not(#ms) .social-home-main .post-actions.feed-forum-actions.ms-icon-row{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:6px !important;
  }
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer-actions.ms-icon-row > *,
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer-actions.ms-icon-row > *:last-child,
  html:not(#ms) body:not(#ms) .social-home-main .post-actions.feed-forum-actions.ms-icon-row > *,
  html:not(#ms) body:not(#ms) .social-home-main .post-actions.feed-forum-actions.ms-icon-row > *:last-child{
    flex:0 0 auto !important;
    margin-left:0 !important;
  }
  html:not(#ms) body:not(#ms) .social-home-main .feed-card-footer-actions.ms-icon-row form,
  html:not(#ms) body:not(#ms) .social-home-main .post-actions.feed-forum-actions.ms-icon-row form{
    display:contents !important;
  }
}
